PageSourceSearch

https://wso138wede.com/

html wso138wede.com collected 2026-10-10 00:41:01 UTC 644,409 bytes, 10,840 lines download raw bytes

1
2
3
4<!doctype html>
5 <!--Kang Begal-->
6   <html class="no-js">
7     <head>
8     <meta charset="utf-8">
9     <meta http-equiv="X-UA-Compatible" content="IE=edge">
10     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
11     <meta name="apple-itunes-app" content="app-id=1576832504">
12     <link rel="icon" type="image/x-icon" href="https://mobile.wso138wede-amp.org/favicon.png">
13      <!-- Title and description -->
14     <title>WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya</title>
15     <meta name="description" content="WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.">
16      
17     <link rel="canonical" href="https://wso138wede.com/">
18     <link rel="amphtml" href="https://mobile.wso138wede-amp.org/"/>
19     <link rel="alternate" hreflang="id-id" href="https://mobile.wso138wede-amp.org/"/>
20     <link rel="alternate" href="https://mobile.wso138wede-amp.org/"/>
21     <link rel="alternate" hreflang="id" href="https://mobile.wso138wede-amp.org/"/>
22     <link rel="alternate" hreflang="en" href="https://mobile.wso138wede-amp.org/"/>
23     <link rel="alternate" hreflang="x-default" href="https://mobile.wso138wede-amp.org/"/>
24     <!-- /snippets/social-meta-tags.liquid -->
25     <meta property="og:type" content="WSO138">
26     <meta property="og:title" content="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya">
27     <meta property="og:image" content="https://mobile.wso138wede-amp.org/wso138.webp">
28     <meta property="og:image:secure_url" content="https://mobile.wso138wede-amp.org/wso138.webp">
29     <meta property="og:image" content="https://mobile.wso138wede-amp.org/wso138.webp">
30     <meta property="og:image:secure_url" content="https://mobile.wso138wede-amp.org/wso138.webp">
31     <meta property="og:image" content="https://mobile.wso138wede-amp.org/wso138.webp">
32     <meta property="og:image:secure_url" content="https://mobile.wso138wede-amp.org/wso138.webp">
33     <meta property="og:description" content="WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.">
34     <meta property="og:price:amount" content="5,000-,">
35     <meta property="og:price:currency" content="IDR">
36     <meta property="og:url" content="https://wso138wede.com/">
37     <meta property="og:site_name" content="WSO138">
38     <meta name="twitter:site" content="@WSO138">
39     <meta name="twitter:card" content="summary">
40     <meta name="twitter:title" content="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya">
41     <meta name="twitter:description" content="WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.">
42     <meta name="twitter:image" content="https://mobile.wso138wede-amp.org/wso138.webp">
43     <meta name="twitter:image:width" content="600">
44     <meta name="twitter:image:height" content="600">
45     <link rel="shortcut icon" href="https://mobile.wso138wede-amp.org/favicon.png" type="image/png">
46     <meta name="theme-color" content="#ffffff">
47     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
48     <link href="https://outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
49     <link rel="stylesheet" href="https://outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
49<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
49
50     
50<script
51       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
52       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
53       crossorigin="anonymous"
54       referrerpolicy="no-referrer"
55       defer
56     ></script>
56
57     
57<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
57
58     
58<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
58<!-- Facebook Pixel Code -->
59     
59<script>
vendor: 462 bytes, lines 59-68
59
60       !function(f,b,e,v,n,t,s)
61       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
62       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
63       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
64       n.queue=[];t=b.createElement(e);t.async=!0;
65       t.src=v;s=b.getElementsByTagName(e)[0];
66       s.parentNode.insertBefore(t,s)}(window, document,'script',
67       'https://connect.facebook.net/en_US/fbevents.js');
68       fbq('init', '
68165971065669324
vendor: 42 bytes, lines 68-70
68');
69       fbq('track', 'PageView');
70     
70</script>
70
71     <noscript
72       ><img
73         height="1"
74         width="1"
75         style="display:none"
76         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
77     ></noscript>
78     <!-- End Facebook Pixel Code -->
79 
80     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
81     <!--
82      Global site tag (gtag.js) - Google Analytics -->
vendor: 75 bytes, lines 82-83
82
83           <script async src="https://www.googletagmanager.com/gtag/js?id=
83G-X26HYP4083
vendor: 23 bytes, lines 83-84
83"></script>
84           
84<script>
85             
vendor: 170 bytes, lines 85-89
85window.dataLayer = window.dataLayer || [];
86             function gtag(){dataLayer.push(arguments);}
87             gtag('js', new Date());
88   
89             gtag('config', '
89G-X26HYP4083
vendor: 15 bytes, lines 89-90
89');
90           
90</script>
90
91       <!-- Global site tag (gtag.js) - Google Analytics -->
92     
93     <div class="button-login-daftar">
94                     <a class="login" href="https://mobile.wso138wede-amp.org/" rel="nofollow noreferrer">
95                         LOGIN
96                     </a>
97                     <a class="register" href="https://mobile.wso138wede-amp.org/" rel="nofollow noreferrer">
98                         DAFTAR
99                     </a>
100                 </div>
101   
102     
102<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
102
103   
104     <!-- Bing UET -->
105     
105<script>
106       (function(w,d,t,r,u)
107       {
108           var f,n,i;
109           w[u]=w[u]||[],f=function()
110           {
111               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
112               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
113           },
114           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
115           {
116               var s=this.readyState;
117               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
118           },
119           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
120       })
121       (window,document,"script","//bat.bing.com/bat.js","uetq");
122     </script>
122
123     
123<script>
124       window.uetq = window.uetq || [];
125       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
126     </script>
126
127     <!-- End Bing UET -->
128   
129     <!-- Microsoft Clarity -->
130     
130<script type="text/javascript">
131       (function(c,l,a,r,i,t,y){
132           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
133           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
134           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
135       })(window, document, "clarity", "script", "h7rbxqry9k");
136     </script>
136
137     <!-- End Microsoft Clarity -->
138 
139 
140 <link href="https://outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
141 
142 <link href="https://outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
143 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
144 
145 
145<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
145
146 
146<script src="https://outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
146
147 
147<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
147
148     
148<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
148
149 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
150 <link rel="alternate" type="application/json+oembed" href="https://datatellers.info.oembed">
151 
151<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
151
152 
152<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
152
153 
153<script>var Shopify = Shopify || {};
154 Shopify.shop = "outerbloom1.myshopify.com";
155 Shopify.locale = "en";
156 Shopify.currency = {"active":"IDR","rate":"1.0"};
157 Shopify.country = "ID";
158 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
159 Shopify.theme.handle = "null";
160 Shopify.theme.style = {"id":null,"handle":null};
161 Shopify.cdnHost = "outerbloom.com/cdn";
162 Shopify.routes = Shopify.routes || {};
163 Shopify.routes.root = "/";</script>
163
164 
164<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
164
165 
165<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>
165
166 
166<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
166
167 
167<script defer="defer" async="async" src="https://outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({&quot;fedCMEnabled&quot;:true,&quot;windoidEnabled&quot;:true});
168 "></script>
168
169 
169<script>(function() {
170   var isLoaded = false;
171   function asyncLoad() {
172     if (isLoaded) return;
173     isLoaded = true;
174     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"];
175     for (var i = 0; i < urls.length; i++) {
176       var s = document.createElement('script');
177       s.type = 'text/javascript';
178       s.async = true;
179       s.src = urls[i];
180       var x = document.getElementsByTagName('script')[0];
181       x.parentNode.insertBefore(s, x);
182     }
183   };
184   if(window.attachEvent) {
185     window.attachEvent('onload', asyncLoad);
186   } else {
187     window.addEventListener('load', asyncLoad, false);
188   }
189 })();</script>
189
190 
190<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>
190
191 
191<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
191
192 
192<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>
192
193 
193<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="https://outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js" crossorigin="anonymous"></script>
193
194 
194<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)}};
195 </script>
195
196 
196<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
197   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);
198 </script>
198
199 
199<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})}}));
200 </script>
200
201 
202 
202<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
202
203     <!-- /snippets/oldIE-js.liquid -->
204 
205 
206 <!--[if lt IE 9]>
207 
207<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
207
208 
208<script src="https://outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
208
209 <link href="https://outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
210 <link href="https://outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
211 
211<script src="https://outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
211
212 <![endif]-->
213 
214 
215 
216   
217     
218   <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">
219 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
220 
220<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>
220
221 
221<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":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","url":"\/products\/blossom-shine","type":"WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar aku
221n baru sekarang."},"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\":\"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya\",\"url\":\"\/products\/blossom-shine\",\"type\":\"WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
221<script>
222   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
223   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
224   window.ShopifyAnalytics.meta.currency = 'IDR';
225   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.","variants":[{"id":44083045826775,"price":1000000
226   ,"name":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
227   for (var attr in meta) {
228     window.ShopifyAnalytics.meta[attr] = meta[attr];
229   }
230 </script>
230
231 
231<script class="analytics">
232   (function () {
233     var customDocumentWrite = function(content) {
234       var jquery = null;
235 
236       if (window.jQuery) {
237         jquery = window.jQuery;
238       } else if (window.Checkout && window.Checkout.$) {
239         jquery = window.Checkout.$;
240       }
241 
242       if (jquery) {
243         jquery('body').append(content);
244       }
245     };
246 
247     var hasLoggedConversion = function(token) {
248       if (token) {
249         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
250       }
251       return false;
252     }
253 
254     var setCookieIfConversion = function(token) {
255       if (token) {
256         var twoMonthsFromNow = new Date(Date.now());
257         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
258 
259         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
260       }
261     }
262 
263     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
264     if (trekkie.integrations) {
265       return;
266     }
267     trekkie.methods = [
268       'identify',
269       'page',
270       'ready',
271       'track',
272       'trackForm',
273       'trackLink'
274     ];
275     trekkie.factory = function(method) {
276       return function() {
277         var args = Array.prototype.slice.call(arguments);
278         args.unshift(method);
279         trekkie.push(args);
280         return trekkie;
281       };
282     };
283     for (var i = 0; i < trekkie.methods.length; i++) {
284       var key = trekkie.methods[i];
285       trekkie[key] = trekkie.factory(key);
286     }
287     trekkie.load = function(config) {
288       trekkie.config = config || {};
289       trekkie.config.initialDocumentCookie = document.cookie;
290       var first = document.getElementsByTagName('script')[0];
291       var script = document.createElement('script');
292       script.type = 'text/javascript';
293       script.onerror = function(e) {
294         var scriptFallback = document.createElement('script');
295         scriptFallback.type = 'text/javascript';
296         scriptFallback.onerror = function(error) {
297                 var Monorail = {
298       produce: function produce(monorailDomain, schemaId, payload) {
299         var currentMs = new Date().getTime();
300         var event = {
301           schema_id: schemaId,
302           payload: payload,
303           metadata: {
304             event_created_at_ms: currentMs,
305             event_sent_at_ms: currentMs
306           }
307         };
308         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
309       },
310       sendRequest: function sendRequest(endpointUrl, payload) {
311         // Try the sendBeacon API
312         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
313           var blobData = new window.Blob([payload], {
314             type: 'text/plain'
315           });
316 
317           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
318             return true;
319           } // sendBeacon was not successful
320 
321         } // XHR beacon
322 
323         var xhr = new XMLHttpRequest();
324 
325         try {
326           xhr.open('POST', endpointUrl);
327           xhr.setRequestHeader('Content-Type', 'text/plain');
328           xhr.send(payload);
329         } catch (e) {
330           console.log(e);
331         }
332 
333         return false;
334       },
335       isIos12: function isIos12() {
336         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
337       }
338     };
339     Monorail.produce('monorail-edge.shopifysvc.com',
340       'trekkie_storefront_load_errors/1.1',
341       {shop_id: 15896833,
342       theme_id: 153139282135,
343       app_name: "storefront",
344       context_url: window.location.href,
345       source_url: "https://outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
346 
347         };
348         scriptFallback.async = true;
349         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
350         first.parentNode.insertBefore(scriptFallback, first);
351       };
352       script.async = true;
353       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
354       first.parentNode.insertBefore(script, first);
355     };
356     trekkie.load(
357       {"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}}
358     );
359 
360     var loaded = false;
361     trekkie.ready(function() {
362       if (loaded) return;
363       loaded = true;
364 
365       window.ShopifyAnalytics.lib = window.trekkie;
366 
367       var originalDocumentWrite = document.write;
368       document.write = customDocumentWrite;
369       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
370       document.write = originalDocumentWrite;
371 
372       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
373 
374       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
375       var token = match? match[1]: undefined;
376       if (!hasLoggedConversion(token)) {
377         setCookieIfConversion(token);
378         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
379       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
380       }
381     });
382 
383 
384         var eventsListenerScript = document.createElement('script');
385         eventsListenerScript.async = true;
386         eventsListenerScript.src = "https://outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
387         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
388 
389 })();</script>
389
390   
390<script>
391   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
392     window.ga = function ga() {
393       (window.ga.q = window.ga.q || []).push(arguments);
394       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
395         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
396       }
397       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.");
398     };
399     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
400       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
401     }
402   }
403 </script>
403
404 
404<script
405   defer
406   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
407   data-application="storefront-renderer"
408   data-shop-id="15896833"
409   data-render-region="gcp-asia-southeast1"
410   data-page-type="product"
411   data-theme-instance-id="153139282135"
412   data-theme-name=""
413   data-theme-version=""
414   data-monorail-region="shop_domain"
415   data-resource-timing-sampling-rate="10"
416   data-shs="true"
417   data-shs-beacon="true"
418   data-shs-export-with-fetch="true"
419   data-shs-logs-sample-rate="1"
420 ></script>
420
421 </head><body
422     data-template="product"
423     id="blossom-shine"
424     class="template-product template-product"
425   >
426     <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 426-429
426
427     <noscript
428       ><iframe
429         src="https://www.googletagmanager.com/ns.html?id=
429GTM-MF9VVZX
vendor: 129 bytes, lines 429-435
429"
430         height="0"
431         width="0"
432         style="display:none;visibility:hidden"
433       ></iframe
434     ></noscript>
435     
435<!-- End Google Tag Manager (noscript) -->
436 
437     
438 
439     <div class="header-wrapper">
440       
441       <div id="shopify-section-NotifBar" class="shopify-section m-0">
442 
443 <style>
444   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
445   #notification.promo-up {top: -48px!important;}
446   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
447   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
448   .notification__message p a {text-decoration: underline;color: #00BFFF;}
449   @media (max-width: 991px){
450     .notification__message p {font-size: 14px!important;}
451   }
452 </style>
453 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
454 <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">
455   <div class="page-width notification__inner ">
456     
457     
458     <div class="notification__message text-center">
459       <p><a href="https://wso138wede.com/" title="WSO138">WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya</a></p>
460     </div>
461   </div>
462 </div>
463 
464 
465 
466 
467 </div>
468       <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="https://outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/>
469 
470 
471 <header style="background-image: url(https://assetevos.io/images/2026/06/25/garis-keras-evs.png); background-attachment: fixed;">
472   <div class="container">
473     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
474         <a href="https://wso138wede.com/">
475         <img src="https://mobile.wso138wede-amp.org/logo-wso138.png" alt="logo-WSO138" style="width: 190px;"></a>
476       <link href="https://mobile.wso138wede-amp.org/favicon.png" rel="shortcut icon" type="image/x-icon" />
477         <div id="menu-hamburger" class="d-lg-none">
478           <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="16" height="10" viewBox="0 0 16 10" fill="none">
479   <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"/>
480 </svg>
481 
482         <a href="/"><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" viewBox="0 0 854 78.29">
483   <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>
484 </svg>
485 </a>
486       </div>
487 
488       <div class="header-icon-right header-icons col-3">
489         <div class="icon icon-account-header d-none d-lg-block">
490           <a href="https://wso138wede.com/">
491             <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="20" height="21" viewBox="0 0 20 21" fill="none">
492   <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"/>
493   <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"/>
494 </svg>
495 
496           </a>
497         </div>
498         <div class="icon icon-wishlist-header">
499           <a href="https://wso138wede.com/">
500             <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
501   <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
5016 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"/>
502 </svg>
503 
504             <span class="wishlist-count d-none">0</span>
505           </a>
506         </div>
507         <div class="icon icon-cart-header">
508           <a href="https://wso138wede.com/">
509             <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="22" height="21" viewBox="0 0 22 21" fill="none">
510   <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"/>
511   <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"/>
512 </svg>
513 
514           </a>
515         </div>
516       </div>
517     </div>
518   </div>
519 </header>
520 
521 <nav class="nav-header" style="background-color: #242424;">
522   <div class="nav-account-mobile row m-0 d-lg-none">
523     <div class="col-6 welcome-cust p-0">
524       
525         <h1 class="logo">
526     <a href="https://wso138wede.com/">
527         <img src="https://mobile.wso138wede-amp.org/logo-wso138.png" alt="WSO138" style="max-height:60px;">
528     </a>
529 </h1>
530 
531       
532     </div>
533     
534       <div class="col-6 login-register text-right p-0">
535         <a href="https://mobile.wso138wede-amp.org/">Log In</a> | <a href="https://mobile.wso138wede-amp.org/">Sign Up</a>
536       </div>
537   </div>
538   <ul class="nav-menu container">
539     
540       <li class="nav-menu container">
541         <a href="https://wso138wede.com/">
542           <span style="color: #00BFFF;">WSO138</span>
543         
544     
545       <li class=" nav-menu container">
546         <a href="https://wso138wede.com/">
547           <span style="color: #00BFFF;">WSO138 LINK</span>
548           
549     
550       <li class=" nav-menu container">
551         <a href="https://wso138wede.com/">
552           <span style="color: #00BFFF;">LOGIN WSO138</span>
553     
554       <li class=" nav-menu container">
555         <a href="https://wso138wede.com/">
556           <span style="color: #00BFFF;">PREDIKSI BOLA</span>
557 
558       <li class=" nav-menu container">
559         <a href="https://wso138wede.com/">
560           <span style="color: #00BFFF;">SBOBET</span>
561 
562       <li class=" nav-menu container">
563         <a href="https://wso138wede.com/">
564           <span style="color: #00BFFF;">BOLA ONLINE</span>
565       
566 <div class="overlay-nav">
567   <!-- Mobile Close Button in Overlay -->
568   <button id="nav-close" class="nav-close-btn d-lg-none">
569     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
570       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
571     </svg>
572   </button>
573 </div>
574 
575 
575<script>
576   if ($(window).width() < 992) {
577     // Level 1 menu accordion (main menu items)
578     $(".nav-menu .nav-menu container > a").click(function(e){
579       e.preventDefault()
580       const parentLi = $(this).parent()
581       const isCurrentlyOpen = parentLi.hasClass("menu-open")
582       
583       // Close all other open menus (accordion behavior)
584       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
585       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
586       
587       // Toggle current menu
588       if (isCurrentlyOpen) {
589         parentLi.removeClass("menu-open")
590         $(this).next(".megamenu").slideUp()
591       } else {
592         parentLi.addClass("menu-open")
593         $(this).next(".megamenu").slideDown()
594       }
595     })
596 
597     // Level 2 menu accordion (submenu items with grandchildren)
598     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
599       e.preventDefault()
600       const parentLi = $(this).parent()
601       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
602       const grandchild = $(this).next(".grandchild")
603       
604       // Close all other open submenus in the same dropdown (accordion behavior)
605       parentLi.siblings('.has-submenu').removeClass("submenu-open")
606       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
607       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
608       
609       // Toggle current submenu
610       if (isCurrentlyOpen) {
611         parentLi.removeClass("submenu-open")
612         grandchild.slideUp()
613         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
614       } else {
615         parentLi.addClass("submenu-open")
616         grandchild.slideDown()
617         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
618       }
619     })
620 
621     $("#menu-hamburger").click(function(e){
622       e.preventDefault()
623       $("body").toggleClass("nav_open")
624     })
625     
626     // Handle close button click
627     $("#nav-close").click(function(e){
628       e.preventDefault()
629       $("body").removeClass("nav_open")
630       // Close all open menus when close button is clicked
631       $(".nav-menu .nav-menu container").removeClass("menu-open")
632       $(".nav-menu .megamenu").slideUp()
633       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
634       $(".dropdown-menu .grandchild").slideUp()
635       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
636     })
637   }
638 
639   $(".overlay-nav").click(function(e){
640       e.preventDefault()
641       $("body").removeClass("nav_open")
642       // Close all open menus when overlay is clicked
643       $(".nav-menu .nav-menu container").removeClass("menu-open")
644       $(".nav-menu .megamenu").slideUp()
645       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
646       $(".dropdown-menu .grandchild").slideUp()
647       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
648   })
649 </script>
649
650 
651 
652 </div>
653 
654       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
655   #search-trigger {
656     cursor: pointer;
657   }
658   #search-popup {
659     display: none;
660     position: fixed;
661     left: 0;
662     width: 100%;
663     top: 0;
664     height: 100%;
665     justify-content: center;
666     z-index: 9999;
667     background: rgb(196 196 196 / 30%);
668   }
669   #search-input {
670     align-self: center;
671     width: 100%;
672     height: 80px;
673     position: absolute;
674     top: 0;
675     border-bottom: 0.5px solid #A3A3A3;
676     background-color: #fff;
677   }
678   #search-input * {
679     align-self: center;
680   }
681   #search-type {
682     width: 100%;
683     border: none;
684     padding-right: 20px;
685     padding-left: 20px;
686     font-size: 16px;
687     color: #757575;
688   }
689   #search-btn {
690     font-size: 16px;
691     font-weight: 500;
692   }
693   #search-result {
694     min-height: 490px;
695     width: 100%;
696     padding-top: 80px;
697   }
698   #search-result .container {
699     background-color: #fff;
700     padding: 20px 40px;
701   }
702   body.search-popup-open {
703   /* .search-popup-open */
704     overflow: hidden;
705   }
706   .search-popup-open #loc_delivery {
707     display: none
708   }
709   .search-header svg {
710     display: none;
711     cursor: pointer;
712   }
713   .wrapper-search-popup {
714     max-height: calc(100vh - 150px);
715     overflow-y: auto;
716     overflow-x: hidden;
717   }
718 
719   .group-recommend {
720     padding: 20px 40px;
721   }
722 
723   .resultsearch {
724     display: none;
725   }
726   .results { padding: 20px 40px }
727   .resultsearch label {
728     font-weight: 600;
729     padding-bottom: 20px;
730     display: block;
731     margin-bottom: 20px;
732     border-bottom: 1px solid #AAAAAA;
733   }
734 
735   ul.result_product {
736     max-height: 300px;
737     overflow: auto;
738   }
739 
740   .group-promotion ul {
741     margin: 0;
742   }
743   .group-promotion li {
744     list-style: none;
745     margin-bottom: 12px;
746   }
747   .group-promotion li a {
748     color: inherit;
749   }
750 
751   .group-recent {
752     position: relative;
753     padding: 20px 40px;
754   }
755   .group-recent ul {
756     margin: 0;
757   }
758   .group-recent li {
759     list-style: none;
760     display: inline-block;
761     margin-right: 60px;
762   }
763   .group-recent li a {
764     color: inherit;
765   }
766 
767   .last-search svg {
768     width: 20px;
769     vertical-align: middle;
770   }
771   ul.last-search a {
772     vertical-align: middle;
773     padding: 0 10px;
774   }
775   ul.last-search li span {
776     cursor: pointer;
777   }
778   .delete-all-history {
779     position: absolute;
780     top: 25px;
781     right: 40px;
782     text-decoration: underline;
783     color: #e11d1d;
784     cursor: pointer;
785     font-size: 12px;
786   }
787 
788   form.search.search-modal__form {
789     position: relative;
790   }
791 
792   button.search__button svg {
793     width: 25px;
794     color: #495057;
795     fill: #757582;
796   }
797 
798   button.search__button.field__button {
799     position: absolute;
800     top: 50%;
801     margin-top: -12px;
802   }
803 
804   .close-search {
805     display: none;
806     position: absolute;
807     right: 65px;
808     top: 10px;
809     cursor: pointer;
810   }
811 
812   .site-overlay {
813     position: fixed;
814     top: 0;
815     width: 100vw;
816     height: 100vh;
817     z-index: 1000;
818     background: #0000005c;
819     visibility: hidden;
820     opacity: 0;
821     pointer-events: none;
822     transition: all .3s linear;
823     display: block !important;
824   }
825 
826   .search-popup-open .site-overlay {
827     opacity: 1;
828     visibility: visible;
829     pointer-events: all;
830     z-index: -1;
831     cursor: pointer;
832   }
833 
834   @media (min-width: 991px) {
835     .group-recent ul {
836       column-count: 3;
837     }
838     .group-promotion li a {
839       font-size: 12px;
840       font-weight: 400;
841     }
842     .group-recent li a {
843       font-size: 12px;
844       font-weight: 400;
845     }
846   }
847 
848   .moreresult {
849     padding: 10px 40px;
850     border-top: 1px solid #AAAAAA;
851   }
852   .moreresult * {
853     align-self: center;
854   }
855   .moreresult p {
856     margin: 0;
857     font-size: 12px !important;
858   }
859   .moreresult svg {
860     width: 13px;
861   }
862 
863   @media (max-width: 992px) {
864     .icon-key-mobile {
865         height: auto!important;
866         width: 10px!important;
867     }
868     body.grid-view.search-popup-open .products {
869       -ms-flex: 0 0 100%!important;
870       flex: 0 0 100%!important;
871       max-width: 100%!important;
872     }
873     button.search__button svg {
874       width: 20px;
875     }
876     #search-result {
877       padding-left: 0;
878       padding-right: 0;
879     }
880     #search-result {
881       padding-top: 55px;
882     }
883     #search-input {
884       height: 55px;
885     }
886     .group-recommend {
887       padding: 20px;
888     }
889     #search-input .container {
890       padding: 0 20px;
891     }
892     #search-type {
893       font-size: 14px;
894     }
895     #search-btn {
896       font-size: 12px;
897       text-decoration: underline;
898     }
899     .results {
900       padding: 20px;
901     }
902     .group-recommend h3 {
903       font-size: 16px;
904     }
905     .products .card-body {
906       padding: 8px 0px 10px;
907     }
908     .moreresult {
909       padding: 10px 20px;
910     }
911   }
912 </style>
913  <style type="text/css">
914         div.advertisement-placeholder {
915             text-align: center;
916             padding-bottom: 20px;
917             display: flex;
918             flex-direction: column;
919             justify-content: center;
920         }
921         div.advertisement-text p {
922             margin: 0;
923             font-family: Open Sans;
924             font-style: normal;
925             font-weight: normal;
926             font-size: 10px;
927             line-height: 20px;
928             color: #999999;
929         }
930         div.advertisement-banner {
931             margin: 0px auto;
932         }
933         div#div-gpt-ad-billboard-placeholder {
934             width: 996px;
935             margin: 0 auto;
936             background: #F5F5F5;
937             padding-bottom: unset !important;
938             min-height: 200px;
939         }
940         div#div-gpt-ad-lb-placeholder {
941             background: #F5F5F5;
942             padding-bottom: unset !important;
943             min-height: 280px;
944         }
945         .faq-section{
946             max-width:1200px;
947             margin:50px auto;
948             padding:40px 20px;
949             position:relative;
950             background-color: rgba(0, 0, 0, 0.1);
951             backdrop-filter: blur(25px);
952             border-radius: 20px;
953             }
954         
955         .faq-section::before{
956             content:"";
957             position:absolute;
958             top:0;left:50%;
959             transform:translateX(-50%);
960             width:80%;
961             height:2px;
962             background:linear-gradient(90deg,transparent,#00BFFF,transparent)
963             }
964             
965         .faq-section h2{
966             text-align:center;
967             font-size:34px;font-weight:700;
968             margin-bottom:50px;
969             background: linear-gradient(135deg, #00BFFF, #00BFFF, #00BFFF);
970             -webkit-background-clip:text;
971             -webkit-text-fill-color:transparent;
972             background-clip:text;
973             font-family:"Poppins",sans-serif;letter-spacing:1px
974         }
975         
976         .faq-container{
977             display:flex;
978             flex-direction:column;
979             gap:25px
980         }
981         
982         .faq-item{
983             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
984             border:2px solid #00BFFF;
985             border-radius:20px;overflow:hidden;
986             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
987         }
988         
989         .faq-item:hover{
990             border-color:#00BFFF;
991             transform:translateX(10px);
992             box-shadow:0 12px 35px rgba(0, 191, 255, 0.25)
993         }
994 
995         .faq-question{width:100%;
996             padding:28px 35px;background:transparent;
997             color:#ffffff;
998             font-size:18px;
999             font-weight:600;
1000             text-align:left;
1001             border:none;cursor:pointer;
1002             display:flex;
1003             justify-content:space-between;
1004             align-items:center;
1005             font-family:"Poppins",sans-serif;
1006             transition:all .3s ease
1007         }
1008         
1009         .faq-question:hover{
1010             color:#00BFFF
1011         }
1012         
1013         .faq-question::after{
1014             content:'+';
1015             font-size:32px;
1016             font-weight:300;
1017             transition:all .4s ease;
1018             color:#00BFFF;
1019             width:40px;
1020             height:40px;
1021             display:flex;
1022             align-items:center;
1023             justify-content:center;
1024             border:2px solid #00BFFF;border-radius:50%;
1025             background:rgba(0, 0, 0, 0.1)
1026         }
1027         
1028         .faq-item.active .faq-question::after{
1029             transform:rotate(135deg);
1030             background:linear-gradient(135deg,#00BFFF,#00BFFF);
1031             color:#000;border-color:transparent
1032         }
1033         
1034         .faq-answer{
1035             max-height:0;
1036             overflow:hidden;
1037             transition:max-height .5s ease,padding .5s ease;
1038             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1039             padding:0 35px
1040         }
1041         
1042         .faq-item.active .faq-answer{
1043             max-height:800px;padding:30px 35px;
1044             border-top:1px solid rgba(0, 191, 255, 0.3)
1045         }
1046         
1047         .faq-answer p{
1048             color:#e0e0e0;
1049             font-size:16px;
1050             line-height:2;
1051             margin:0;
1052             font-family:"Poppins",sans-serif
1053         }
1054 
1055         @media
1056             (max-width:768px)
1057         {
1058         
1059         .faq-section
1060             {padding:30px 15px}
1061         
1062         .faq-section h2
1063             {font-size:26px}
1064         
1065         .faq-question
1066             {font-size:16px;
1067             padding:22px 25px}
1068         
1069         .faq-question::after
1070             {width:35px;
1071             height:35px;
1072             font-size:28px}
1073         
1074         .faq-answer
1075             {padding:0 25px}
1076         
1077         .faq-item.active .faq-answer
1078             {padding:25px}
1079         
1080         .faq-item:hover
1081             {transform:translateX(5px)}
1082             }
1083     </style>
1084 <div id="search-popup">
1085   <div id="search-input" class="row">
1086     <div class="container w-100">
1087       <form
1088         action="/search"
1089         method="get"
1090         role="search"
1091         class="search search-modal__form d-flex justify-content-between"
1092       >
1093         <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="20" height="20" viewBox="0 0 20 20" fill="none">
1094   <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"/>
1095 </svg>
1096 
1097         <input type="hidden" name="type" value="product">
1098         <input
1099           type="text"
1100           id="search-type"
1101           name="q"
1102           class="search-popup"
1103           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1104         >
1105         <div class="close-search"><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
1106   <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 
110612.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"/>
1107 </svg>
1108 </div>
1109         <button id="search-btn">Search</button>
1110       </form>
1111     </div>
1112   </div>
1113   <div id="search-result" class="container m-auto">
1114     <div class="container p-0">
1115       <div class="group-promotion">
1116         <div class="resultsearch">
1117           <div class="row results">
1118             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1119               <label>SUGGESTIONS</label>
1120               <ul class="result_collection"></ul>
1121             </div>
1122             <div class="col-12 col-lg-6">
1123               <label>PRODUCTS</label>
1124               <ul class="result_product"></ul>
1125             </div>
1126           </div>
1127           <div class="d-flex justify-content-between moreresult m-0">
1128             <p>Search for<span></span></p>
1129             <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="32" height="32" viewBox="0 0 32 32">
1130 <title>icon-arrow-right</title>
1131 <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>
1132 </svg>
1133           </div>
1134         </div>
1135       </div>
1136       <div class="group-recent hide">
1137         <h3>RECENT SEARCH</h3>
1138         <span class="delete-all-history">Hapus riwayat</span>
1139         <ul class="last-search"></ul>
1140       </div>
1141       <div class="group-recommend">
1142         <h3>YOU MAY ALSO LIKE</h3>
1143         
1144         
1145           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1146             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1147               
1148                 
1149                   <div class="swiper-slide card">
1150                     
1151 
1152 
1153 
1154 <div class="products" data-lazy="false">
1155   <div class="bg-products">
1156     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1157       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1158   <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.
115811233C11.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"/>
1159 </svg>
1160 
1161     </div>
1162     <a href="/products/mid-autumn-of-love-mooncake">
1163       
1164       <div class="product-card-img-container p-0 position-relative">
1165         
1166         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" data-src="https://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">
1167       </div>
1168       <div class="card-body product-card-info">
1169         <h5 class="h5 mb-0">
1170           Mid Autumn of Love Mooncake
1171         </h5>
1172         <div class="product-card-price">
1173           
1174           <div class="product-price-sale">
1175             <s class="product-card-price-before card-money">Rp 588.000</s>
1176             <span class="product-card-discount small">	
1177               (-40%)
1178             </span> 	
1179           </div>
1180           
1181           
1182           
1183           <div class="price-discount">
1184             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1185           </div>
1186           
1187           
1188           
1189           
1190           
1191         </div>
1192         
1193       </div>
1194     </a>
1195   </div>
1196   
1197 </div>
1198 
1199                   </div>
1200                 
1201               
1202                 
1203                   <div class="swiper-slide card">
1204                     
1205 
1206 
1207 
1208 <div class="products" data-lazy="false">
1209   <div class="bg-products">
1210     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1211       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1212   <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.
121211233C11.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"/>
1213 </svg>
1214 
1215     </div>
1216     <a href="/products/mid-autumn-of-joy-mooncake">
1217       
1218       <div class="product-card-img-container p-0 position-relative">
1219         
1220         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" data-src="https://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">
1221       </div>
1222       <div class="card-body product-card-info">
1223         <h5 class="h5 mb-0">
1224           Mid Autumn of Joy Mooncake
1225         </h5>
1226         <div class="product-card-price">
1227           
1228           <div class="product-price-sale">
1229             <s class="product-card-price-before card-money">Rp 888.000</s>
1230             <span class="product-card-discount small">	
1231               (-33%)
1232             </span> 	
1233           </div>
1234           
1235           
1236           
1237           <div class="price-discount">
1238             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1239           </div>
1240           
1241           
1242           
1243           
1244           
1245         </div>
1246         
1247       </div>
1248     </a>
1249   </div>
1250   
1251 </div>
1252 
1253                   </div>
1254                 
1255               
1256                 
1257                   <div class="swiper-slide card">
1258                     
1259 
1260 
1261 
1262 <div class="products" data-lazy="false">
1263   <div class="bg-products">
1264     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1265       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1266   <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.
126611233C11.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"/>
1267 </svg>
1268 
1269     </div>
1270     <a href="/products/mid-autumn-of-fortune-mooncake">
1271       
1272       <div class="product-card-img-container p-0 position-relative">
1273         
1274         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" data-src="https://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">
1275       </div>
1276       <div class="card-body product-card-info">
1277         <h5 class="h5 mb-0">
1278           Mid Autumn of Fortune Mooncake
1279         </h5>
1280         <div class="product-card-price">
1281           
1282           <div class="product-price-sale">
1283             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1284             <span class="product-card-discount small">	
1285               (-33%)
1286             </span> 	
1287           </div>
1288           
1289           
1290           
1291           <div class="price-discount">
1292             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1293           </div>
1294           
1295           
1296           
1297           
1298           
1299         </div>
1300         
1301       </div>
1302     </a>
1303   </div>
1304   
1305 </div>
1306 
1307                   </div>
1308                 
1309               
1310                 
1311                   <div class="swiper-slide card">
1312                     
1313 
1314 
1315 
1316 <div class="products" data-lazy="false">
1317   <div class="bg-products">
1318     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1319       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1320   <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.
132011233C11.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"/>
1321 </svg>
1322 
1323     </div>
1324     <a href="/products/mid-autumn-festival-mooncake">
1325       
1326       <div class="product-card-img-container p-0 position-relative">
1327         
1328         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" data-src="https://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">
1329       </div>
1330       <div class="card-body product-card-info">
1331         <h5 class="h5 mb-0">
1332           Mid Autumn Festival Mooncake
1333         </h5>
1334         <div class="product-card-price">
1335           
1336           <div class="product-price-sale">
1337             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1338             <span class="product-card-discount small">	
1339               (-23%)
1340             </span> 	
1341           </div>
1342           
1343           
1344           
1345           <div class="price-discount">
1346             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1347           </div>
1348           
1349           
1350           
1351           
1352           
1353         </div>
1354         
1355       </div>
1356     </a>
1357   </div>
1358   
1359 </div>
1360 
1361                   </div>
1362                 
1363               
1364                 
1365                   <div class="swiper-slide card">
1366                     
1367 
1368 
1369 
1370 <div class="products" data-lazy="false">
1371   <div class="bg-products">
1372     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1373       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1374   <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.
137411233C11.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"/>
1375 </svg>
1376 
1377     </div>
1378     <a href="/products/the-jade-bouquet">
1379       
1380       <div class="product-card-img-container p-0 position-relative">
1381         
1382         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" data-src="https://outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" alt="The Jade Bouquet" height="200" width="200">
1383       </div>
1384       <div class="card-body product-card-info">
1385         <h5 class="h5 mb-0">
1386           The Jade Bouquet
1387         </h5>
1388         <div class="product-card-price">
1389           
1390           <div class="product-price-sale">
1391             <s class="product-card-price-before card-money">Rp 435.000</s>
1392             <span class="product-card-discount small">	
1393               (-34%)
1394             </span> 	
1395           </div>
1396           
1397           
1398           
1399           <div class="price-discount">
1400             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1401           </div>
1402           
1403           
1404           
1405           
1406           
1407         </div>
1408         
1409       </div>
1410     </a>
1411   </div>
1412   
1413 </div>
1414 
1415                   </div>
1416                 
1417               
1418                 
1419                   <div class="swiper-slide card">
1420                     
1421 
1422 
1423 
1424 <div class="products" data-lazy="false">
1425   <div class="bg-products">
1426     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1427       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1428   <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.
142811233C11.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"/>
1429 </svg>
1430 
1431     </div>
1432     <a href="/products/the-selena-bouquet">
1433       
1434       <div class="product-card-img-container p-0 position-relative">
1435         
1436         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" data-src="https://outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" alt="The Selena Bouquet" height="200" width="200">
1437       </div>
1438       <div class="card-body product-card-info">
1439         <h5 class="h5 mb-0">
1440           The Selena Bouquet
1441         </h5>
1442         <div class="product-card-price">
1443           
1444           <div class="product-price-sale">
1445             <s class="product-card-price-before card-money">Rp 335.000</s>
1446             <span class="product-card-discount small">	
1447               (-29%)
1448             </span> 	
1449           </div>
1450           
1451           
1452           
1453           <div class="price-discount">
1454             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1455           </div>
1456           
1457           
1458           
1459           
1460           
1461         </div>
1462         
1463       </div>
1464     </a>
1465   </div>
1466   
1467 </div>
1468 
1469                   </div>
1470                 
1471               
1472                 
1473                   <div class="swiper-slide card">
1474                     
1475 
1476 
1477 
1478 <div class="products" data-lazy="false">
1479   <div class="bg-products">
1480     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1481       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1482   <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.
148211233C11.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"/>
1483 </svg>
1484 
1485     </div>
1486     <a href="/products/the-viola-bouquet">
1487       
1488       <div class="product-card-img-container p-0 position-relative">
1489         
1490         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" data-src="https://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">
1491       </div>
1492       <div class="card-body product-card-info">
1493         <h5 class="h5 mb-0">
1494           The Viola Bouquet
1495         </h5>
1496         <div class="product-card-price">
1497           
1498           <div class="product-price-sale">
1499             <s class="product-card-price-before card-money">Rp 385.000</s>
1500             <span class="product-card-discount small">	
1501               (-25%)
1502             </span> 	
1503           </div>
1504           
1505           
1506           
1507           <div class="price-discount">
1508             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1509           </div>
1510           
1511           
1512           
1513           
1514           
1515         </div>
1516         
1517       </div>
1518     </a>
1519   </div>
1520   
1521 </div>
1522 
1523                   </div>
1524                 
1525               
1526                 
1527                   <div class="swiper-slide card">
1528                     
1529 
1530 
1531 
1532 <div class="products" data-lazy="false">
1533   <div class="bg-products">
1534     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1535       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1536   <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.
153611233C11.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"/>
1537 </svg>
1538 
1539     </div>
1540     <a href="/products/the-minerva-bouquet">
1541       
1542       <div class="product-card-img-container p-0 position-relative">
1543         
1544         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" data-src="https://outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" alt="The Minerva Bouquet" height="200" width="200">
1545       </div>
1546       <div class="card-body product-card-info">
1547         <h5 class="h5 mb-0">
1548           The Minerva Bouquet
1549         </h5>
1550         <div class="product-card-price">
1551           
1552           <div class="product-price-sale">
1553             <s class="product-card-price-before card-money">Rp 385.000</s>
1554             <span class="product-card-discount small">	
1555               (-25%)
1556             </span> 	
1557           </div>
1558           
1559           
1560           
1561           <div class="price-discount">
1562             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1563           </div>
1564           
1565           
1566           
1567           
1568           
1569         </div>
1570         
1571       </div>
1572     </a>
1573   </div>
1574   
1575 </div>
1576 
1577                   </div>
1578                 
1579               
1580                 
1581                   <div class="swiper-slide card">
1582                     
1583 
1584 
1585 
1586 <div class="products" data-lazy="false">
1587   <div class="bg-products">
1588     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1589       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1590   <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.
159011233C11.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"/>
1591 </svg>
1592 
1593     </div>
1594     <a href="/products/congraduations-bouquet">
1595       
1596       <div class="product-card-img-container p-0 position-relative">
1597         
1598         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" data-src="https://outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" alt="Congraduations Bouquet" height="200" width="200">
1599       </div>
1600       <div class="card-body product-card-info">
1601         <h5 class="h5 mb-0">
1602           Congraduations Bouquet
1603         </h5>
1604         <div class="product-card-price">
1605           
1606           <div class="product-price-sale">
1607             <s class="product-card-price-before card-money">Rp 380.000</s>
1608             <span class="product-card-discount small">	
1609               (-25%)
1610             </span> 	
1611           </div>
1612           
1613           
1614           
1615           <div class="price-discount">
1616             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1617           </div>
1618           
1619           
1620           
1621           
1622           
1623         </div>
1624         
1625       </div>
1626     </a>
1627   </div>
1628   
1629 </div>
1630 
1631                   </div>
1632                 
1633               
1634                 
1635                   <div class="swiper-slide card">
1636                     
1637 
1638 
1639 
1640 <div class="products" data-lazy="false">
1641   <div class="bg-products">
1642     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1643       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="21" viewBox="0 0 24 21" fill="none">
1644   <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.
164411233C11.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"/>
1645 </svg>
1646 
1647     </div>
1648     <a href="/products/grad-gorgeous-bouquet">
1649       
1650       <div class="product-card-img-container p-0 position-relative">
1651         
1652         <img class="product-card-img"  lazy="false" src="https://outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" data-src="https://outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
1653       </div>
1654       <div class="card-body product-card-info">
1655         <h5 class="h5 mb-0">
1656           Grad & Gorgeous Bouquet
1657         </h5>
1658         <div class="product-card-price">
1659           
1660           <div class="product-price-sale">
1661             <s class="product-card-price-before card-money">Rp 380.000</s>
1662             <span class="product-card-discount small">	
1663               (-25%)
1664             </span> 	
1665           </div>
1666           
1667           
1668           
1669           <div class="price-discount">
1670             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1671           </div>
1672           
1673           
1674           
1675           
1676           
1677         </div>
1678         
1679       </div>
1680     </a>
1681   </div>
1682   
1683 </div>
1684 
1685                   </div>
1686                 
1687               
1688             </div>
1689           </div>
1690         
1691       </div>
1692     </div>
1693   </div>
1694 
1695   <div class="site-overlay" style="display: none"></div>
1696 </div>
1697 
1697<script>
1698   
1699   var swiper = new Swiper('.popup-recommend', {
1700       slidesPerView : 4, 
1701       spaceBetween: 30,
1702       lazy: true ,                            
1703       speed: 300,
1704       breakpoints: {
1705         // when window width is <= 576px
1706         576: {
1707             slidesPerView: 2,
1708               spaceBetween: 10,
1709             freeMode: true,
1710             resistance : true,
1711             resistanceRatio : 0,
1712             freeModeMomentumRatio : 0.45,
1713             freeModeMomentumVelocityRatio : 1.5
1714         },
1715         768: {
1716               slidesPerView: 2,
1717               spaceBetween: 10
1718             },
1719         992: {
1720               slidesPerView: 3,
1721               spaceBetween: 20
1722         }
1723       }
1724   });
1725 
1726   const searchContainer = $("#search-popup")
1727   const searchInput = $(".search-popup")
1728   const result_collection = $('.result_collection')
1729   const result_product = $('.result_product')
1730   const resultsearch = $('.resultsearch')
1731   const resultrecommend = $(".group-recommend")
1732   const moreresult = $(".moreresult")
1733 
1734   searchInput.keyup(function(){
1735     const input = $(this).val()
1736     moreresult.find("p span").text(` “${input}”`)
1737     if(input.length > 2) {
1738       $(".close-search").show()
1739       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1740       $.ajax({
1741         type: 'GET',
1742         url,
1743         beforeSend: function() {
1744             // setting a timeout
1745             // $(placeholder).addClass('loading');
1746         },
1747         success: function(response) {
1748             resultsearch.show()
1749             resultrecommend.hide()
1750             result_collection.html("")
1751             result_product.html("")
1752             const collections = response.resources.results.collections
1753             const products = response.resources.results.products
1754             let collection_length = collections.length
1755             let product_length = products.length
1756             // if(collections.length > 5) {
1757             //   collection_length = 5
1758             // }
1759             // if(products.length > 5) {
1760             //   product_length = 5
1761             // }
1762             for(let i=0;i<collection_length;i++){
1763               const title = collections[i].title
1764               const url = collections[i].url
1765               let html_collection
1766               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1767                 html_collection = `
1768                 <li class="item" data-title="${title}">
1769                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1770                 </li>
1771                 `
1772               }
1773               result_collection.append(html_collection)
1774             }
1775             for(let i=0;i<product_length;i++){
1776               const title = products[i].title
1777               const url = products[i].url
1778               const image = products[i].featured_image.url
1779               const vendor = products[i].vendor
1780               let html_product
1781               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1782                 html_product = `
1783                 <li class="item" data-vendor="${vendor}">
1784                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1785                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1786                   </a>
1787                 </li>
1788                 `
1789               }
1790               result_product.append(html_product)
1791             }
1792         },
1793         error: function(xhr) { // if error occured
1794             alert("Error occured.please try again");
1795         },
1796         complete: function(response) {
1797             // $(placeholder).removeClass('loading');
1798         },
1799         dataType: 'JSON'
1800       });
1801     } else {
1802       result_collection.html("")
1803       result_product.html("")
1804       
1805       resultsearch.hide()
1806       resultrecommend.show()
1807     }
1808   })
1809 
1810   moreresult.click(function(){
1811     $("#search-btn").trigger("click");
1812   })
1813 
1814   $(".close-search").click(function(){
1815     $(this).hide()
1816     searchInput.val("")
1817     searchInput.focus()
1818     resultsearch.hide()
1819     resultrecommend.show()
1820   })
1821 
1822   function setCookie(name,value,days) {
1823     var expires = "";
1824     if (days) {
1825       var date = new Date();
1826       date.setTime(date.getTime() + (days*24*60*60*1000));
1827       expires = "; expires=" + date.toUTCString();
1828     }
1829     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1830   }
1831   function getCookie(name) {
1832     var nameEQ = name + "=";
1833     var ca = document.cookie.split(';');
1834     for(var i=0;i < ca.length;i++) {
1835       var c = ca[i];
1836       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1837       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1838     }
1839     return null;
1840   }
1841   let last_search_name = []
1842   let last_search_url = []
1843   $(".group-recent").hide()
1844   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1845     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1846       $(".group-recent").show()
1847       last_search_name = getCookie("last_search_name");
1848       last_search_url = getCookie("last_search_url");
1849       const arrName = last_search_name.substring(1).split(',').reverse()
1850       const arrUrl = last_search_url.substring(1).split(',').reverse()
1851       console.log(arrName, 'Array Name')
1852       console.log(arrUrl, 'Array Url')
1853       let length = arrName.length
1854       if(arrName.length > 5) {
1855         length = 5
1856       }
1857       for(let n=0;n<length;n++){
1858         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1859         $(".group-recent ul").append(html2)
1860       }
1861     }
1862   }
1863   console.log(last_search_name, 'Name')
1864   console.log(last_search_url, 'url')
1865   
1866   resultsearch.delegate(".item a", "click", function(){
1867     let name = [last_search_name]
1868     let url = [last_search_url]
1869     name.push($(this).attr('data-title'))
1870     url.push($(this).attr('data-url'))
1871     setCookie("last_search_name",name,7);
1872     setCookie("last_search_url",url,7);
1873   })
1874   
1875   $(".delete-all-history").click(function() {
1876     setCookie("last_search_name",null,0);
1877     setCookie("last_search_url",null,0);
1878     $(".last-search").hide();
1879     setTimeout(function(){
1880       location.reload();
1881     }, 500);
1882   })
1883   
1884   $("#search-trigger").click(function(){
1885     search_open()
1886   })
1887   $(".icon-search-mobile").click(function(){
1888     search_open()
1889   })
1890   $(".search-header svg").click(function(){
1891     search_close()
1892   })
1893   $(".icon-key-mobile").click(function(){
1894     search_close()
1895   })
1896 
1897   function search_open() {
1898     $("body").addClass("search-popup-open")
1899     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1900     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1901     $(".search-popup").focus()
1902     $('.popup-recommend')[0].swiper.update();
1903   }
1904   function search_close() {
1905     $("body").removeClass("search-popup-open")
1906     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1907     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1908     searchInput.val("")
1909     resultsearch.hide()
1910     resultrecommend.show()
1911   }
1912 
1913   $(".site-overlay").click(function(){
1914     search_close()
1915   })
1916 </script>
1916
1917 
1918 </div>
1919     </div>
1920 
1921     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1922       <main class="main-content pt-0" role="main">
1923         
1924           <div id="breadcrumbProduct" class="d-none d-lg-block">
1925             <style>
1926   #breadcrumbProduct {
1927     padding: 20px 0;
1928   }
1929   #breadcrumbProduct ul {
1930       display: flex;
1931       padding: 0;
1932       list-style: none;
1933       margin: 0;
1934       gap: 12px;
1935   }
1936   #breadcrumbProduct ul li {
1937     text-transform: uppercase;
1938     margin: 0;
1939     font-size: 12px;
1940 }
1941   #breadcrumbProduct ul li a {
1942     color: #757575;
1943   }
1944 
1945   #breadcrumbProduct ul li svg {
1946     width: 10px;
1947     height: 10px;
1948     padding: 0;
1949     color: #757575;
1950     vertical-align: middle;
1951   }
1952 </style>
1953 <div class="container" style="color: #00BFFF;">
1954   <ul role="navigation" aria-label="breadcrumbs">
1955     <li><a href="https://wso138wede.com/" style="color: #00BFFF;">WSO138</a></li>
1956     <li><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="7" height="10" viewBox="0 0 7 10" fill="none">
1957     <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"/>
1958 </svg></li>
1959       <li>WSO138</li>
1960       <li>BOLA ONLINE</li>
1961       <li>PREDIKSI BOLA</li>
1962       <li>LINK SBOBET</li>
1963     
1964   </ul>
1965 </div>
1966 
1967           </div>
1968         
1969 
1969<script type="application/ld+json">
1970 {
1971   "@context": "https://schema.org",
1972   "@type": "Product",
1973   "name": "WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya",
1974   "image": "https://mobile.wso138wede-amp.org/wso138.webp",
1975   "description": "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.",
1976   "brand": {
1977     "@type": "Brand",
1978     "name": "WSO138"
1979   },
1980   "sku": "WSO138",
1981   "mpn": "WSO138",
1982   "url": "https://wso138wede.com/",
1983   "offers": {
1984     "@type": "Offer",
1985     "url": "https://wso138wede.com/",
1986     "priceCurrency": "USD",
1987     "price": "10.00",
1988     "priceValidUntil": "2025-12-25",
1989     "itemCondition": "https://schema.org/NewCondition",
1990     "availability": "https://schema.org/InStock",
1991     "seller": {
1992       "@type": "Organization",
1993       "name": "WSO138"
1994     }
1995   },
1996   "aggregateRating": {
1997     "@type": "AggregateRating",
1998     "ratingValue": "5.0",
1999     "reviewCount": 858
2000   },
2001   "review": [
2002     {
2003       "@type": "Review",
2004       "reviewRating": {
2005         "@type": "Rating",
2006         "ratingValue": "5",
2007         "bestRating": "5"
2008       },
2009       "author": {
2010         "@type": "Person",
2011         "name": "Hanabi"
2012       }
2013     },
2014     {
2015       "@type": "Review",
2016       "reviewRating": {
2017         "@type": "Rating",
2018         "ratingValue": "5",
2019         "bestRating": "5"
2020       },
2021       "author": {
2022         "@type": "Person",
2023         "name": "Hayabusa"
2024       }
2025     }
2026   ]
2027 }
2028 </script>
2028<script type="application/ld+json">
2029 {
2030   "@context": "https://schema.org",
2031   "@type": "BreadcrumbList",
2032   "itemListElement": [
2033     {
2034       "@type": "ListItem",
2035       "position": 1,
2036       "name": "WSO138",
2037       "item": "https://wso138wede.com/"
2038     },
2039     {
2040       "@type": "ListItem",
2041       "position": 2,
2042       "name": "WSO138 LINK",
2043       "item": "https://wso138wede.com/"
2044     },
2045     {
2046       "@type": "ListItem",
2047       "position": 3,
2048       "name": "WSO138 LOGIN",
2049       "item": "https://wso138wede.com/"
2050     },
2051     {
2052       "@type": "ListItem",
2053       "position": 4,
2054       "name": "JUDI BOLA",
2055       "item": "https://wso138wede.com/"
2056     },
2057     {
2058       "@type": "ListItem",
2059       "position": 5,
2060       "name": "BOLA ONLINE",
2061       "item": "https://wso138wede.com/"
2062     },
2063     {
2064       "@type": "ListItem",
2065       "position": 6,
2066       "name": "SBOBET",
2067       "item": "https://wso138wede.com/"
2068     },
2069     {
2070       "@type": "ListItem",
2071       "position": 7,
2072       "name": "LINK BOLA ONLINE",
2073       "item": "https://wso138wede.com/"
2074     },
2075     {
2076       "@type": "ListItem",
2077       "position": 8,
2078       "name": "WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya",
2079       "item": "https://wso138wede.com/"
2080     }
2081   ]
2082 }
2083 </script>
2083
2084
2085 <!--faq-->
2086
2087 
2087<script type="application/ld+json" id="faq-schema">
2088{
2089  "@context": "https://schema.org",
2090  "@type": "FAQPage",
2091  "mainEntity": [
2092    {
2093      "@type": "Question",
2094      "name": "1.  Apa itu WSO138?",
2095      "acceptedAnswer": {
2096        "@type": "Answer",
2097        "text": "WSO138 merupakan link yang menghadirkan layanan login judi bola online dengan pilihan pasar pertandingan yang lengkap serta beragam odds kompetitif. Pemain dapat mengikuti berbagai liga populer dunia melalui tampilan yang mudah digunakan dan proses akses yang praktis."
2098      }
2099    },
2100    {
2101      "@type": "Question",
2102      "name": "2. Mengapa banyak pemain memilih WSO138 untuk taruhan bola online?",
2103      "acceptedAnswer": {
2104        "@type": "Answer",
2105        "text": "WSO138 populer karena menyediakan transaksi yang aman, layanan 24 jam, serta integrasi lancar dengan provider Sport GG yang menjamin keadilan permainan."
2106      }
2107    },
2108    {
2109      "@type": "Question",
2110      "name": "3. Apa keuntungan bermain di WSO138?",
2111      "acceptedAnswer": {
2112        "@type": "Answer",
2113        "text": "Beragam pilihan odds memberikan fleksibilitas kepada pemain dalam menentukan strategi taruhan sesuai analisis pertandingan. Dengan variasi pasar yang tersedia, pengguna memiliki lebih banyak kesempatan memilih opsi yang dianggap paling sesuai."
2114      }
2115    },
2116    {
2117      "@type": "Question",
2118      "name": "4. Apakah WSO138 menyediakan akses selama 24 jam?",
2119      "acceptedAnswer": {
2120        "@type": "Answer",
2121        "text": "Ya, WSO138 menyediakan akses yang dapat digunakan kapan saja sehingga pemain dapat mengikuti jadwal pertandingan dari berbagai liga internasional tanpa terbatas oleh waktu."
2122      }
2123    },
2124    {
2125      "@type": "Question",
2126      "name": "5. Mengapa WSO138 menjadi pilihan bagi pecinta judi bola online?",
2127      "acceptedAnswer": {
2128        "@type": "Answer",
2129        "text": "Karena WSO138 menghadirkan kombinasi akses yang mudah, pilihan pertandingan yang lengkap, beragam odds terbaik, serta pengalaman pemain yang dirancang agar praktis dan nyaman bagi penggemar taruhan sepak bola online."
2130      }
2131    }
2132  ]
2133}
2134</script>
2134
2135 
2135<script type="application/ld+json">
2136 {
2137   "@context": "https://schema.org",
2138   "@type": "Organization",
2139   "name": "WSO138",
2140   "url": "https://wso138wede.com/",
2141   "logo": "https://mobile.wso138wede-amp.org/logo-wso138.png",
2142   "sameAs": [
2143     "https://www.facebook.com/WSO138",
2144     "https://twitter.com/WSO138",
2145     "https://www.instagram.com/WSO138"
2146   ],
2147   "contactPoint": {
2148     "@type": "ContactPoint",
2149     "telephone": "+62-8101-111-1111",
2150     "contactType": "customer support",
2151     "areaServed": "ID",
2152     "availableLanguage": ["Indonesian", "English"]
2153   }
2154 }
2155 </script>
2155
2156 
2157 
2157<script type="application/ld+json">
2158 {
2159   "@context": "https://schema.org",
2160   "@type": "VideoObject",
2161   "name": "WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya",
2162   "description": "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.",
2163   "thumbnailUrl": [
2164     "https://mobile.wso138wede-amp.org/wso138.webp",
2165     "https://mobile.wso138wede-amp.org/wso138.webp"
2166   ],
2167   "uploadDate": "2025-09-28T04:19:10-04:00",
2168   "duration": "PT168",
2169   "contentUrl": "https://wso138wede.com/"
2170 }
2171 </script>
2171
2172 
2173 
2173<script type="application/ld+json">
2174 {
2175   "@context": "https://schema.org",
2176   "@type": "BreadcrumbList",
2177   "itemListElement": [
2178     {
2179       "@type": "ListItem",
2180       "position": 1,
2181       "name": "Home",
2182       "item": "https://wso138wede.com/"
2183     }
2184   ]
2185 }
2186 </script>
2186
2187 
2188 
2188<script type="application/ld+json">
2189 {
2190   "@context": "https://schema.org",
2191   "@graph": [
2192     {
2193       "@type": "Organization",
2194       "@id": "https://wso138wede.com/#org",
2195       "name": "WSO138",
2196       "url": "https://wso138wede.com/",
2197       "logo": "https://mobile.wso138wede-amp.org/wso138.webp"
2198     },
2199     {
2200       "@type": "WebSite",
2201       "@id": "https://wso138wede.com/#website",
2202       "url": "https://wso138wede.com/",
2203       "name": "WSO138",
2204       "publisher": { "@id": "https://wso138wede.com/#org" },
2205       "inLanguage": "id-ID",
2206       "potentialAction": {
2207         "@type": "SearchAction",
2208         "target": "https://wso138wede.com/?s={search_term_string}",
2209         "query-input": "required name=search_term_string"
2210       }
2211     },
2212     {
2213       "@type": "SoftwareApplication",
2214       "@id": "https://wso138wede.com/#app",
2215       "name": "WSO138",
2216       "applicationCategory": "GameApplication",
2217       "operatingSystem": "Android, iOS, Windows",
2218       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2219       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2220     }
2221   ]
2222 }
2223 </script>
2223
2224         
2225 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://tahanpukul.info/outerbloom-global.css" rel="stylesheet" type="text/css" media="all" />
2226 
2227 
2228 <style>
2229     .bg-card {
2230     background-color: #000000;
2231 }
2232     </style>
2233 
2234 <!-- /templates/product.liquid -->
2235 
2236 
2237 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2238 
2239 
2240 <div class="product-standing-flower" data-product-type="flowerBoard">
2241   <meta itemprop="url" content="https://wso138wede.com/">
2242   <meta itemprop="image" content="https://mobile.wso138wede-amp.org/wso138.webp">
2243 
2244   
2245   
2246   <input id="data-sku" type="hidden" value="OBVSTF1086">
2247   <div class="product-single" style="background-image: url(https://assetevos.io/images/2026/06/25/garis-keras-evs.png); background-attachment: fixed;">
2248     <div id="product-top" class="container">
2249       <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;">
2250         <div id="product-image" class="col-lg-7 text-center">
2251           <div class="product-image">
2252             <div class="row no-gutters">
2253   
2254   <div id="product-featured-image" class="row w-100">
2255     
2256       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2257         
2258         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2259           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2260 
2261                   <li class="swiper-slide" data-type="image">
2262                     <a
2263                       href="files/Blossom-Shine-WM.jpg"
2264                       data-standard="https://mobile.wso138wede-amp.org/wso138.webp"
2265                       data-image="files/Blossom-Shine-WM.jpg"
2266                       data-position="1"
2267                       class="product-single__thumbnail"
2268                     >
2269                       <img
2270                         class="lazyload w-100"
2271                         src="https://mobile.wso138wede-amp.org/wso138.webp"
2272                         alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2273                         width=""
2274                         height=""
2275                       >
2276                     </a>
2277                   </li>
2278                 
2279               
2280             
2281 
2282                   <li class="swiper-slide" data-type="image">
2283                     <a
2284                       href="https://mobile.wso138wede-amp.org/wso138.webp"
2285                       data-standard="https://mobile.wso138wede-amp.org/wso138.webp"
2286                       data-image="https://mobile.wso138wede-amp.org/wso138.webp"
2287                       data-position="2"
2288                       class="product-single__thumbnail"
2289                     >
2290                       <img
2291                         class="lazyload w-100"
2292                         src="https://mobile.wso138wede-amp.org/wso138.webp"
2293                         alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2294                         width=""
2295                         height=""
2296                       >
2297                     </a>
2298                   </li>
2299                 
2300               
2301             
2302 
2303                   <li class="swiper-slide" data-type="image">
2304                     <a
2305                       href="files/Blossom-Shine_3-WM.jpg"
2306                       data-standard="https://mobile.wso138wede-amp.org/wso138.webp"
2307                       data-image="files/Blossom-Shine_3-WM.jpg"
2308                       data-position="3"
2309                       class="product-single__thumbnail"
2310                     >
2311                       <img
2312                         class="lazyload w-100"
2313                         src="https://mobile.wso138wede-amp.org/wso138.webp"
2314                         alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2315                         width=""
2316                         height=""
2317                       >
2318                     </a>
2319                   </li>
2320                 
2321               
2322             
2323 
2324                   <li class="swiper-slide" data-type="image">
2325                     <a
2326                       href="files/Blossom-Shine_4.jpg"
2327                       data-standard="https://mobile.wso138wede-amp.org/wso138.webp"
2328                       data-image="files/Blossom-Shine_4.jpg"
2329                       data-position="4"
2330                       class="product-single__thumbnail"
2331                     >
2332                       <img
2333                         class="lazyload w-100"
2334                         src="https://mobile.wso138wede-amp.org/wso138.webp"
2335                         alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2336                         width=""
2337                         height=""
2338                       >
2339                     </a>
2340                   </li>
2341                 
2342               
2343             
2344           </ul>
2345         </div>
2346         
2347       </div>
2348     
2349     <div
2350       id="featured-image-product"
2351       class="col-lg-10 col-12 d-none d-lg-block"
2352     >
2353       <div class="swiper-container gallery-top">
2354         <div class="swiper-slide product-single__image">
2355           
2356 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2357   
2358 
2359   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2360     <a href="https://mobile.wso138wede-amp.org/wso138.webp">
2361       <img
2362         src="https://mobile.wso138wede-amp.org/wso138.webp"
2363         alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2364         id="ProductPhotoImg"
2365         class="lazyload"
2366       >
2367       
2368     </a>
2369   </div>
2370 </div>
2371 
2372         </div>
2373         <div class="swiper-slide product-single__video" style="display: none">
2374           <video
2375             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2376             playsinline
2377             loop
2378             muted
2379           ></video>
2380         </div>
2381       </div>
2382     </div>
2383   </div>
2384 
2385   <div id="featured-image-product2" class="col-12 d-lg-none">
2386     <div class="swiper-container gallery-mobile">
2387       <ul class="swiper-wrapper">
2388 <li class="swiper-slide img">
2389               
2390                 <img
2391                   class="swiper-lazy"
2392                   src="https://mobile.wso138wede-amp.org/wso138.webp"
2393                   data-src="https://mobile.wso138wede-amp.org/wso138.webp"
2394                   alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2395                   width=""
2396                   height=""
2397                 >
2398               
2399             </li>
2400           
2401         
2402 <li class="swiper-slide img">
2403               
2404                 <img
2405                   class="swiper-lazy"
2406                   src="https://mobile.wso138wede-amp.org/wso138.webp"
2407                   data-src="https://mobile.wso138wede-amp.org/wso138.webp"
2408                   alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2409                   width=""
2410                   height=""
2411                 >
2412               
2413             </li>
2414           
2415         
2416 <li class="swiper-slide img">
2417               
2418                 <img
2419                   class="swiper-lazy"
2420                   src="https://mobile.wso138wede-amp.org/wso138.webp"
2421                   data-src="https://mobile.wso138wede-amp.org/wso138.webp"
2422                   alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2423                   width=""
2424                   height=""
2425                 >
2426               
2427             </li>
2428           
2429         
2430 <li class="swiper-slide img">
2431               
2432                 <img
2433                   class="swiper-lazy"
2434                   src="https://mobile.wso138wede-amp.org/wso138.webp"
2435                   data-src="https://mobile.wso138wede-amp.org/wso138.webp"
2436                   alt="WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya"
2437                   width=""
2438                   height=""
2439                 >
2440               
2441             </li>
2442           
2443         
2444       </ul>
2445       
2446         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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>
2447         <div class="swiper-button-next"><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="7" height="10" viewBox="0 0 7 10" fill="none">
2448     <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"/>
2449 </svg></div>
2450 
2451         <!-- Add Pagination -->
2452         <div class="swiper-pagination"></div>
2453       
2454     </div>
2455   </div>
2456 
2457   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2458     <!-- product video -->
2459     <style>
2460       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2461       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2462       .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;}
2463       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2464       .close-video .icon{width:30px;height:30px;}
2465       /*responsive iframe */
2466       .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);}
2467       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2468 
2469       .youtube {
2470         background-color: #000;
2471         margin-bottom: 30px;
2472         position: relative;
2473         padding-top: 56.25%;
2474         overflow: hidden;
2475         cursor: pointer;
2476         width: 100%;
2477       }
2478       .swiper-slide .youtube {
2479         max-width: 480px;
2480       }
2481       .youtube img {
2482         width: 100%;
2483         top: -16.82%;
2484         left: 0;
2485         opacity: 0.7;
2486       }
2487       .youtube .play-button {
2488         width: 90px;
2489         height: 60px;
2490         background-color: #333;
2491         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2492         z-index: 1;
2493         opacity: 0.8;
2494         border-radius: 6px;
2495       }
2496       .youtube .play-button:before {
2497         content: "";
2498         border-style: solid;
2499         border-width: 15px 0 15px 26.0px;
2500         border-color: transparent transparent transparent #fff;
2501       }
2502       .youtube img,
2503       .youtube .play-button {
2504         cursor: pointer;
2505       }
2506       .youtube img,
2507       .youtube iframe,
2508       .youtube .play-button,
2509       .youtube .play-button:before {
2510         position: absolute;
2511       }
2512       .youtube .play-button,
2513       .youtube .play-button:before {
2514         top: 50%;
2515         left: 50%;
2516         transform: translate3d( -50%, -50%, 0 );
2517       }
2518       .youtube iframe {
2519         height: 100%;
2520         width: 100%;
2521         top: 0;
2522         left: 0;
2523       }
2524     </style>
2525 
2526     
2527   </div>
2528 </div>
2529 
2530 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2531 
2532 </div>
2533 
2534 
2534<script>
2535   if ($(window).width() < 991) {
2536     var direction = 'horizontal'
2537   } else {
2538     var direction = 'vertical'
2539     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2540   }
2541   var swiper = new Swiper('.gallery-thumbs', {
2542     
2543     direction,
2544     slidesPerView: 4.5,
2545     spaceBetween: 12,
2546     navigation: {
2547       nextEl: '.swiper-button-next',
2548       prevEl: '.swiper-button-prev',
2549     }
2550   });
2551   
2552   var swiper = new Swiper('.gallery-mobile', {
2553     //loop: true,
2554     lazy: true,
2555     speed: 300,
2556     resistance : true,
2557     resistanceRatio : 0,
2558     freeModeMomentumRatio : 0.45,
2559     freeModeMomentumVelocityRatio : 1.5,
2560     navigation: {
2561       nextEl: '.swiper-button-next',
2562       prevEl: '.swiper-button-prev',
2563     },
2564     pagination: {
2565       el: '.swiper-pagination'
2566     },
2567     useCSS3Transforms: false,
2568     loop: false,
2569     on: {
2570       init: function () {
2571         console.log('swiper initialized');
2572         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2573         currentVideo.trigger('play');
2574       },
2575     },
2576   });
2577 
2578   /* GET ALL VIDEOS */
2579   var sliderVideos = $(".swiper-slide video");
2580   
2581   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2582   swiper.on('slideChange', function () {
2583     console.log('slide changed');
2584     /* stop all videos  */
2585     sliderVideos.each(function( index ) {
2586       this.currentTime = 0;
2587     });
2588   
2589     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2590     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2591     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2592     prevVideo.trigger('stop');
2593     currentVideo.trigger('play');
2594   });
2595   
2596 
2597   $("[data-video]").click(function(){
2598     const file = $(this).data("video")
2599     $(".product-single__video").show()
2600     $(".product-single__image").hide()
2601     $(".product-single__video").find("video").attr("src", file)
2602     $(".product-single__video").find("video")[0].play();
2603   })
2604   $("[data-image]").click(function(){
2605     $(".product-single__video").hide()
2606     $(".product-single__image").show()
2607     $(".product-single__video").find("video")[0].pause();
2608   })
2609 
2610   $("#product-image .swiper-slide").each(function(){
2611     let width = $(this).width()
2612     $(this).height(width)
2613   })
2614 
2615   $(window).resize(function() {
2616     $("#product-image .swiper-slide").each(function(){
2617       let width = $(this).width()
2618       $(this).height(width)
2619     })
2620   })
2621 </script>
2621
2622 
2623           </div>
2624 
2625   
2626     <div class="grid__item_product-info mb-3">
2627       <div class="c-pdp-product-info">
2628         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2629        <!-- artikel -->
2630             <li>
2631                <strong>WSO138</strong> hadir dalam dunia hiburan digital dengan konsep situs slot online yang mengusung desain modern dan interaktif. Tampilan yang dinamis serta navigasi sederhana dapat membantu pengguna menjelajahi berbagai kategori permainan dengan lebih praktis. Elemen visual, menu yang tertata, dan fitur interaktif memberikan pengalaman berbeda bagi pengguna yang menikmati hiburan digital melalui smartphone maupun komputer. Beragam pilihan tema juga membuat aktivitas menjelajah permainan terasa lebih variatif.
2632             </li>
2633             <br>
2634             <li>
2635                Meski istilah “gacor” sering digunakan dalam promosi, hasil permainan slot tetap tidak dapat dipastikan karena dipengaruhi mekanisme acak dan keberuntungan. Pengguna sebaiknya memahami aturan, risiko, serta ketentuan yang berlaku dan menetapkan batas waktu maupun anggaran secara bijak.
2636             </li>
2637         </ul>
2638       </div>
2639     </div>
2640   
2641 
2642 
2643 
2644 
2645 <style>
2646   .c-pdp-product-info__service--active {
2647     font-size: 12px;
2648     padding-left: 10px;
2649     text-align: left;
2650     max-width: 550px;
2651     margin: auto;
2652     color: #fff;
2653   }
2654   .c-pdp-product-info__service--active li {
2655     list-style: disc;
2656   }
2657   .c-pdp-product-info {
2658     background-color: #000000;
2659     padding: 12px;
2660     margin: 0;
2661   }
2662   .freeship em {
2663     font-style: italic;
2664     font-size: 12px !important;
2665   }
2666 
2667 
2668 </style>
2669 
2670 
2670<script>
2671   $(document).ready(function(){
2672     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2673       $(".c-pdp-product-info__service").addClass("no-bullet");
2674       $(".c-pdp-product-info__service li").addClass("no-bullets");
2675     }
2676   });
2677 </script>
2677
2678 
2679   
2680 
2681 
2682 
2683   
2684 
2685   
2686 
2687 
2688             
2689           
2690         </div>
2691         <div id="product-meta" class="col-lg-5 p-0">
2692           <div class="product-meta">
2693             <style>
2694   .product-meta--review {margin-top:10px}
2695   .freeship * {font-size: 14px !important;font-style: normal;}
2696 </style>
2697 <h1 itemprop="name" class="mb-2" style="color: rgb(0, 191, 255); font-weight: bold;">WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya</h1>
2698 
2699 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2700   <meta itemprop="priceCurrency" content="IDR">
2701 
2702   <link itemprop="availability" href="https://schema.org/InStock">
2703   
2703<script
2704     type="text/javascript"
2705     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2706     async="async"
2707   ></script>
2707
2708   
2709 
2710   
2711 
2712   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2713   
2714     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2715   
2716   <div class="row no-gutters mb-3">
2717     <span
2718       id="ProductPrice"
2719       class="h2 ProductPrice"
2720       itemprop="price"
2721       content="835000" style="color: #ffffff;"
2722     >
2723       Rp 5.000
2724     </span>
2725     <div class="discount-product-detail">
2726       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
2727         Rp 10.000
2728       </p>
2729       <span class=" tag-discount">
2730         
2731           
2732           <span id="newDiscount" class="product-tag persentase-discount hide"> 
2733       (90%)
2734       </span><br>
2735         
2736       </span>
2737     </div>
2738   </div>
2739 
2740   <div class="row no-gutters meta-sds">
2741     <div class="col-12 mb-2 mb-lg-0 stock-info">
2742       
2743       
2744       <span
2745         id="ProductStock-Product"
2746         class="product-single__stock mb-2 hide"
2747       >
2748         
2749           
2750             
2751               
2752               Barang dikirim pada 
2753             
2754           
2755         
2756       </span>
2757 
2758       <style>
2759     .short-desc-desktop {
2760         margin-bottom: 2rem;
2761         color: white;
2762     }
2763     .short-desc ul li:nth-child(n + 4) {
2764         display: none;
2765     }
2766     .short-desc ul li.showList:nth-child(n + 4) {
2767         display: list-item;
2768     }
2769     label.more {
2770         display: none;
2771     }
2772     label.more.showMe {
2773         display: block;
2774         font-size: 12px;
2775         text-transform: uppercase;
2776         font-weight: 700;
2777         cursor: pointer;
2778     }
2779 </style>
2780 
2781     <div class="short-desc-desktop d-none d-lg-block">
2782         <div class="short-desc">
2783            
2784 <p>WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.</p>
2785         </div>
2786         <label class="more">Show More →</label>
2787     </div><br>
2788 
2789 
2790 
2790<script>
2791     var liCount;
2792     $(document).ready(function () {
2793         $(".short-desc ul").each(function() {
2794             liCount = $(this).children("li").length;
2795             if (liCount > 3) {
2796                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2797             }
2798         });
2799 
2800         $(".more").click(function () {
2801             //$(".short-desc").find("li").addClass("showList");
2802             // $(this).hide();
2803             $("#product-desc").find("ul").show()
2804             $('html, body').animate({
2805                 scrollTop: $("#product-desc").offset().top - 250
2806             }, 2000);
2807             $("#product-desc").css("height","auto");
2808             $("#more_content").remove();
2809             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
2810         });
2811     });
2812 </script>
2812
2813 
2814       
2815     </div>
2816   </div>
2817 
2818   <div id="purchaseProduct">
2819   
2820   
2821 
2822 
2823 <style>
2824   .variant-metafield {
2825     display: block!important;
2826     width: 1px;
2827     padding: 0;
2828     border-color: #fff;
2829   }
2830   .select2-results__option[aria-disabled] {
2831     display: none;
2832   }
2833 
2834   .towel-bordir {
2835     width: 100%;
2836     display: flex;
2837     align-items: center;
2838     justify-content: space-around;
2839   }
2840 </style>
2841 
2842 
2843 
2844 
2845 
2845<script>
2846   
2847   
2848 </script>
2848
2849 
2850 
2851 
2852 
2853 
2854 
2855 <select
2856   name="id[]"
2857   id="productSelect"
2858   class="product-single__variants ignore hide hide"
2859 >
2860   
2861     
2862       
2863       <option
2864         
2865           selected="selected"
2866         
2867         data-sku="OBVSTF1086"
2868         value="44083045826775"
2869       >
2870         Default Title
2871       </option>
2872 
2873     
2874   
2875 </select>
2876 
2877 
2877<script src="https://outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2877
2878 
2879 
2879<script>
2880   $('.size-chart-open-popup').magnificPopup({
2881     type:'inline',
2882     midClick: true
2883   });
2884 </script>
2884
2885 
2886   
2887   
2888   
2889   <div class="upload-image-preview">
2890     
2891     
2892     
2893     
2894     
2895     <style>
2896   .file-dnd * {
2897     margin: 0;
2898     padding: 0;
2899     box-sizing: border-box;
2900   }
2901   .file-dnd {
2902     width: 100%;
2903     height: 250px;
2904     border: 1px solid #ddd;
2905     border-radius: 10px;
2906     padding: 15px;
2907     display: flex;
2908     flex-direction: column;
2909     gap: 10px;
2910     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
2911     margin: auto;
2912   }
2913   .file-dnd input {
2914     display: none;
2915   }
2916   .file-dnd .before-upload {
2917     border: 1px dashed #888;
2918     flex: 1;
2919     border-radius: 5px;
2920     display: flex;
2921     justify-content: center;
2922     align-items: center;
2923     text-align: center;
2924     cursor: pointer;
2925   }
2926   .file-dnd .before-upload > div {
2927     display: flex;
2928     flex-direction: column;
2929     align-items: center;
2930     gap: 8px;
2931   }
2932   .file-dnd .before-upload > div h4 {
2933     width: 150px;
2934   }
2935   .file-dnd .before-upload > div p {
2936     font-size: 12px !important;
2937     color: #555;
2938   }
2939   .file-dnd.active .before-upload {
2940     border: 1px solid #5750d9;
2941     background-color: #f5f5ff;
2942   }
2943   .file-dnd .after-upload {
2944     position: relative;
2945     display: none;
2946   }
2947   .file-dnd .after-upload img {
2948     width: 100%;
2949     border-radius: 5px;
2950     max-height: 180px;
2951     object-fit: contain;
2952     display: block;
2953   }
2954   .file-dnd .after-upload .clear-btn {
2955     position: absolute;
2956     top: 10px;
2957     right: 10px;
2958     background: rgba(255, 255, 255, 0.5);
2959     width: 15px;
2960     height: 15px;
2961     text-align: center;
2962     line-height: 15px;
2963     border-radius: 50%;
2964     color: #fff;
2965     cursor: pointer;
2966     font-size: 14px;
2967   }
2968 </style>
2969 
2970 <div
2971   class="file-dnd mb-3"
2972   
2973     style="display: none"
2974   
2975 >
2976   <label for="upload-photo">Upload your Photo:</label>
2977   <input type="file" id="upload-photo" accept="image/*">
2978   <input type="hidden" data-properties="Photo">
2979   <div class="before-upload">
2980     <div>
2981       <svg id="surface1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
2982   <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>
2983   <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>
2984   <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>
2985 </svg>
2986 
2987       <h4>Drag & Drop Photo file or Browse</h4>
2988       <p>Supports: JPEG, PNG, GIF, TIFF</p>
2989     </div>
2990   </div>
2991   <div class="after-upload">
2992     <div class="clear-btn">&times;</div>
2993     <img src="" width="" height="">
2994   </div>
2995 </div>
2996 
2996<script>
2997   function applyDndFile(el) {
2998     const parent = document.querySelector(".file-dnd")
2999     const beforeUploadEl = el.querySelector(".before-upload")
3000     const afterUploadEl = el.querySelector(".after-upload")
3001     const inputFile = el.querySelector("input[type=file]")
3002     const imagePreview = el.querySelector(".after-upload img")
3003     const clearBtn = el.querySelector(".after-upload .clear-btn")
3004     const inputProps = parent.querySelector("[data-properties]");
3005 
3006     async function upload(name, uri, type) {
3007       try {
3008         const filename = name.split('.')[0]
3009         let formData = new FormData(); 
3010         formData.append("file", uri);
3011         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3012           method: "POST", 
3013           body: formData
3014         })
3015         if(response) {
3016           const res = await response.json()
3017           return res
3018         }
3019       } catch(err){
3020         console.log(err)
3021       }
3022     }
3023 
3024     function showImagePreview(img) {
3025       if(img){
3026         const blobUrl = URL.createObjectURL(img)
3027         imagePreview.src = blobUrl
3028         afterUploadEl.style.display = "block"
3029         beforeUploadEl.style.display = "none"
3030       }
3031     }
3032 
3033     beforeUploadEl.addEventListener("click", (e) => {
3034       e.preventDefault()
3035       inputFile.click()
3036     })
3037 
3038     inputFile.addEventListener("change", async (e) => {
3039       e.preventDefault()
3040       showImagePreview(e.target.files[0])
3041       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3042       inputProps.value = uploadData?.url
3043     })
3044 
3045     clearBtn.addEventListener("click", (e) => {
3046       afterUploadEl.style.display = "none"
3047       beforeUploadEl.style.display = "flex"
3048       inputProps.value = ""
3049     })
3050 
3051     beforeUploadEl.addEventListener("dragover", (e) => {
3052       e.preventDefault()
3053       el.classList.add("active")
3054     })
3055 
3056     beforeUploadEl.addEventListener("dragleave", (e) => {
3057       e.preventDefault()
3058       el.classList.remove("active")
3059     })
3060 
3061     beforeUploadEl.addEventListener("drop", async (e) => {
3062       e.preventDefault()
3063       el.classList.remove("active")
3064       showImagePreview(e.dataTransfer.files[0])
3065       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3066       console.log(uploadData)
3067       inputProps.value = uploadData?.url
3068     })
3069   }
3070 
3071   applyDndFile(document.querySelector(".file-dnd"))
3072 
3073   $(document).ready(function(){
3074     $(".variant-swatch").change(function(){
3075       const v = $(this).val().toLowerCase()
3076       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3077       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3078       $(".file-dnd").hide()
3079       $(".file-dnd").find("[data-properties]").val("")
3080       $(".after-upload").hide()
3081       $(".before-upload").css("display", "flex")
3082     })
3083   })
3084 </script>
3084
3085 
3086   </div>
3087   
3088     
3089     <div class="delivery-city mb-4">
3090         <a href="https://mobile.wso138wede-amp.org/">
3091        <center><img src="https://mobile.wso138wede-amp.org/logo-wso138.png" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3092   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(0, 191, 255);">AKSES LINK RESMI WSO138 !</h4>
3093   <div class="row justify-content-between m-0">
3094     <select id="cities" class="form-control select-search" required>
3095       <option value="">Gabung Sekarang Di WSO138 Nikmati Akses Tercepat Bersama Bandar SBOBET</option>
3096     </select>
3097   </div>
3098 </div>
3099 
3100 <style>
3101   @media (max-width: 768px) {
3102     .select2-search__field {
3103       pointer-events: none !important;
3104     }
3105     
3106     .select2-search {
3107       display: none !important;
3108     }
3109   }
3110 </style>
3111 
3112 
3112<script>
3113   $(document).ready(function() {
3114     // Check if mobile
3115     if (window.innerWidth <= 768) {
3116       // When cities select2 opens on mobile, remove focus from search
3117       $('#cities').on('select2:open', function() {
3118         setTimeout(function() {
3119           $('.select2-search__field').blur();
3120           $('.select2-search__field').prop('readonly', true);
3121         }, 100);
3122       });
3123     }
3124   });
3125 </script>
3125
3126 
3127  <style>
3128 .icon-img-footer {
3129     width: 80px; 
3130     padding: 0px 5px;
3131 }
3132 @media (min-width: 768px) {
3133     .icon-img-footer {
3134         width: 120px; 
3135     }
3136 }
3137 @media (min-width: 992px) {
3138     .icon-img-footer {
3139         width: 120px; 
3140     }
3141 }
3142 
3143 
3144 </style>
3145   <div id="row-delivery-date" class="row m-0 mb-3">
3146     <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(0, 191, 255);">Nikmati Akses Bermain SBOBET Bersama WSO138</h4>
3147     <div id="deliveryDate" class="m-0"></div>
3148     <div id="deliveryDateFull">
3149       <div class="">
3150         <input
3151           type="text"
3152           id="full-date"
3153           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
3154           value="Full Calendar"
3155         >
3156         <label for="full-date"><svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="32" height="32" viewBox="0 0 32 32">
3157 <title>icon-arrow-right</title>
3158 <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>
3159 </svg></label>
3160       </div>
3161       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
3162     </div>
3163     <div class="form-group p-0">
3164       <input type="text" id="propDeliveryDate" required class="hide">
3165     </div>
3166   </div>
3167   
3168   
3169     <div id="row-delivery-time" class="row m-0 mb-3">
3170       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
3171     SEO SON 
3172 </h4>
3173       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3174       <div class="form-group p-0">
3175         <input type="text" id="propDeliveryTime" class="hide" required>
3176       </div>
3177     </div>
3178   
3179 
3180 
3181   
3182   
3183   <div id="personalizeBtn">
3184     
3185     
3186     
3187     
3188     <button
3189       class="btn text-uppercase w-100 fw-400"
3190       
3191       
3192       
3193     >
3194       
3195         customize your flower board
3196       
3197     </button>
3198     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3199       <div class="button-share text-center">
3200         <p id="shareButton" class="d-flex gap-2"><span>WSO138</span><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="15" height="13" viewBox="0 0 15 13" fill="none">
3201   <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"/>
3202 </svg>
3203 </p>
3204       </div>
3205       <div class="button-wishlist text-center">
3206         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="16" height="15" viewBox="0 0 16 15" fill="none">
3207   <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"/>
3208 </svg>
3209 <!--
3210   <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="34" height="30" viewBox="0 0 34 30" fill="none">
3211   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 
321118.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"/>
3212   </svg>
3213 -->
3214 </p>
3215       </div>
3216     </div>
3217   </div>
3218 </div>
3219 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3220   <div class="purchaseArea">
3221     <div class="sectionPurchase sectionPurchaseSpotify">
3222       <div class="wrapperPurchase">
3223         <div class="headerPurchase">
3224           <h3>personalize spotify photo print</h3>
3225           <a class="close-purchase-popup">
3226             <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3227               <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>
3228             </svg>
3229           </a>
3230         </div>
3231         <div class="contentPurchase">
3232           <div class="spotifyAddons"></div>
3233         </div>
3234 
3235         <div class="purchase-button btn-addon row m-0" style="display: none;">
3236           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3237             <button class="back-purchase-button back-addon text-uppercase">
3238               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
3239                 <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>
3240               </svg>
3241               <span>Back</span>
3242             </button>
3243           </div>
3244           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3245             <button class="btn next-purchase-button next-addon text-uppercase">
3246               <span>continue without add-ons</span>
3247             </button>
3248           </div>
3249         </div>
3250       </div>
3251     </div>
3252   </div>
3253 </div>
3254 
3255 <style>
3256   #PBarNextFrameWrapper {
3257     display: none;
3258   }
3259   #backgroundPopup {
3260     display: none;
3261     position: fixed;
3262     _position: absolute;
3263     height: 100%;
3264     width: 100%;
3265     top: 0;
3266     left: 0;
3267     background: rgb(117 117 117 / 24%);
3268     z-index: 1;
3269   }
3270   .sectionPurchase {
3271     height: 100%;
3272     position: relative;
3273     max-width: 1344px;
3274     background-color: #fff;
3275     padding: 0;
3276     overflow: hidden; /* Changed from auto to hidden */
3277     display: flex;
3278     flex-direction: column;
3279   }
3280   .sectionPurchase.purchaseAddonSpotify {
3281     max-width: 1070px!important;
3282     max-height: 765px!important;
3283   }
3284   .sectionPurchaseBoard {
3285     max-width: 872px!important;
3286     max-height: 821px!important;
3287   }
3288   .purchaseAddonSpotify .btn-action {
3289     position: absolute;
3290     bottom: 0;
3291     left: 0;
3292     width: 100%;
3293     display: flex;
3294     gap: 10px;
3295   }
3296   .wrapperPurchase {
3297     position: relative;
3298     height: 100%;
3299     display: flex;
3300     flex-direction: column;
3301   }
3302   
3303   /* New styles for scrollable content and sticky button */
3304   .purchase-content {
3305     flex: 1;
3306     overflow-y: auto;
3307     overflow-x: hidden;
3308     padding: 20px;
3309   }
3310   
3311   .purchase-button-wrapper {
3312     position: sticky;
3313     bottom: 0;
3314     background-color: #fff;
3315     border-top: 1px solid #e0e0e0;
3316     padding: 15px 0;
3317     margin-top: auto;
3318     z-index: 10;
3319   }
3320   
3321   .purchasePopup {
3322     display: none;
3323     position: fixed;
3324     background: rgb(117 117 117 / 24%);
3325     z-index: 999;
3326     padding: 40px;
3327     font-size: 13px;
3328     top: 0;
3329     left: 0;
3330     width: 100%;
3331     height: 100%;
3332   }
3333   .popupPurchaseClose{
3334     font-size:14px;
3335     line-height:14px;
3336     right:45px;
3337     top:45px;
3338     position:absolute;
3339     color:#6fa5fd;
3340     font-weight:700;
3341     display:block;
3342     cursor: pointer;
3343   }
3344 
3345   .headerPurchase {
3346     margin-bottom: 30px;
3347     display: flex;
3348     justify-content: space-between;
3349   }
3350 
3351   .headerPurchase h3 {
3352     font-size: 16px;
3353     text-transform: uppercase;
3354   }
3355 
3356   .sectionPurchaseBoard .headerPurchase {
3357     margin-bottom: 15px;
3358   }
3359 
3360   .sectionPurchaseBoard .formAddressPurchase {
3361     padding-top: 0;
3362   }
3363 
3364   .purchaseArea {
3365     position: relative;
3366     height: 100%;
3367   }
3368 
3369   .purchaseArea h4 {
3370     width: 100%;
3371     font-size: 12px;
3372     font-weight: 600;
3373     margin-bottom: 10px;
3374     text-transform: uppercase;
3375   }
3376 
3377   .menuPurchase {
3378     margin-bottom: 30px;
3379   }
3380 
3381   .menuPurchase ul {
3382     list-style-type: none;
3383     margin: 0;
3384   }
3385 
3386   .menuPurchase ul li {
3387     display: inline-block;
3388     border: 1px solid #ffffff;
3389     padding: 5px 20px;
3390     margin-right: 5px;
3391     margin-bottom: 10px;
3392     font-size: 12px;
3393     font-weight: 400;
3394   }
3395 
3396   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3397     background-color: #ffffff;
3398     color: #ffffff;
3399   }
3400 
3401   .contentPurchase h5 {
3402       font-size: 12px;
3403       margin-bottom: 10px;
3404       font-weight: 400;
3405       overflow: hidden;
3406   }
3407 
3408   /* Card */
3409 
3410   #itemCards {
3411     max-height: 430px;
3412     overflow: auto;
3413   }
3414 
3415   .item-cards {
3416       width: 100%;
3417   }
3418   .item-card.selected {
3419       border: 1px solid #ffffff;
3420   }
3421   .item-card:hover {
3422       border: 1px solid #C4C4C4;
3423   }
3424   .item-cards .item-card {
3425     position: relative;
3426     width: calc(33% - 10px);
3427     max-width: calc(33% - 10px);
3428     flex: 0 0 calc(33% - 10px);
3429     margin-bottom: 20px;
3430   }
3431   .item-cards .item-card label,
3432   .item-addons .item-addon label {
3433       position: absolute;
3434       left: 0;
3435       width: 100%;
3436       height: 100%;
3437   }
3438   .item-cards .item-card .card-image img,
3439   .item-addons .item-addon .card-image img {
3440       display: block;
3441       width: 100%;
3442   }
3443   .item-card .card-meta,
3444   .item-addon .card-meta {
3445       padding: 10px 5px 5px;
3446   }
3447   .item-card.selected .card-meta,
3448   .item-addon.selected .card-meta,
3449   .item-card.selected .card-qty {
3450       background-color: #ffffff;
3451       color: #fff;
3452       visibility: visible!important;
3453   }
3454   .item-card:hover .card-meta,
3455   .item-addon:hover .card-meta,
3456   .item-card:hover .card-qty {
3457       background-color: #C4C4C4;
3458       color: #fff;
3459       visibility: visible!important;
3460   }
3461   .item-cards .item-card p,
3462   .item-addons .item-addon p {
3463     font-size: 12px !important;
3464     margin: 0;
3465     font-weight: 600;
3466   }
3467   .item-card .card-meta input,
3468   .item-addon .card-meta input {
3469       display: none;
3470   }
3471   .item-cards .item-card h5,
3472   .item-addons .item-addon h5 {
3473     text-transform: uppercase;
3474     max-height: 35px;
3475   }
3476 
3477   @media (max-width: 768px) {
3478     .item-cards .item-card {
3479         width: calc(50% - 10px);
3480         max-width: calc(50% - 10px);
3481         flex: 0 0 calc(50% - 10px);
3482         margin-bottom: 0;
3483     }
3484   }
3485 
3486   .card-qty {
3487     display: flex;
3488     padding: 5px;
3489     visibility: hidden;
3490     background-color: #fff !important;
3491     z-index: 999;
3492   }
3493   .card-qty a {
3494     border-width: 1px;
3495     width: 30%;
3496     cursor: pointer;
3497     text-align: center;
3498     align-self: center;
3499     height: 28px;
3500     display: block;
3501     position: relative;
3502   }
3503   .card-qty a svg {
3504     position: absolute;
3505     top: 50%;
3506     left: 50%;
3507     transform: translate(-50%, -50%);
3508     text-align: center;
3509   }
3510   input.btn-qty {
3511     border-width: 0px;
3512     border-radius: 0;
3513     background-color: #fff;
3514     -webkit-appearance: none;
3515     box-shadow: none !important;
3516     -webkit-box-shadow: none !important;
3517     -moz-box-shadow: none!important;
3518     width: 40%;
3519     border-left: 1px solid #c4c4c4;
3520     border-right: 1px solid #c4c4c4;
3521     padding: 0;
3522   }
3523 
3524   .sectionPurchaseBoard #itemAddons .item-card {
3525     width: calc(20% - 15px);
3526     max-width: calc(20% - 15px);
3527     flex: 0 0 calc(20% - 15px);
3528   }
3529 
3530   .purchase-button {
3531     width: 100%;
3532     padding: 0; /* Reset padding as it's now handled by wrapper */
3533     margin: 0;
3534   }
3535 
3536   .sectionPurchaseBoard .purchase-button {
3537     margin-top: 0 !important; /* Reset margin */
3538   }
3539 
3540   .back-purchase-button, .back-spotify {
3541       width: 139px;
3542       border: 1px solid;
3543       height: 43px;
3544   }
3545   .purchase-button .btn {
3546     width: 297px;
3547     height: 43px;
3548     background-color: #ffffff;
3549     color: #ffffff;
3550   }
3551   .purchase-button .btn[disabled] {
3552     background-color: #EEEEEE;
3553   }
3554   .back-purchase-button svg, .back-spotify svg {
3555     align-self: center;
3556     vertical-align: middle;
3557     margin-right: 10px;
3558   }
3559 
3560   #purchaseProduct .row .error {
3561     font-size: 12px !important;
3562     color: orange;
3563     margin-top: 5px;
3564   }
3565 
3566   .reviewCardPurchase {
3567     max-width: 448px;
3568     float: right;
3569   }
3570 
3571   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3572   .addon-item * {align-self: center;font-size: 12px;}
3573   .addon-itm-title {width: 360px;}
3574   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3575 
3576   .propsAddonSpotify p {
3577     margin: 0;
3578     display: flex;
3579     font-size: 12px !important;
3580     margin-bottom: 5px;
3581   }
3582   .propsAddonSpotify p span:first-child {
3583     text-transform: uppercase;
3584     font-weight: 600;
3585     -ms-flex: 0 0 150px;
3586     flex: 0 0 150px;
3587     max-width: 150px;
3588   }
3589 
3590   .addonsPurchase .addons {
3591     max-height: 250px;
3592     overflow: auto;
3593   }
3594 
3595   .btn .loading:after {
3596     content: "";
3597     display: inline-block;
3598     width: 20px;
3599     height: 20px;
3600     padding: 3px;
3601     aspect-ratio: 1;
3602     border-radius: 50%;
3603     background: #FFFFFF;
3604     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3605     -webkit-mask: var(--_m);
3606     mask: var(--_m);
3607     -webkit-mask-composite: source-out;
3608     mask-composite: subtract;
3609     animation: l3 1s infinite linear;
3610     margin: auto;
3611     vertical-align: middle;
3612     margin-left: 10px;
3613   }
3614 
3615   #qrcode img, #qrcode canvas {
3616     width: 50px;
3617     position: absolute;
3618     top: 12px;
3619     left: 16px;
3620   }
3621 
3622   .t-preview {
3623     position: absolute;
3624     top: 17px;
3625     left: 75px;
3626   }
3627   .t-preview p {
3628     margin: 0;
3629     font-size: 12px !important;
3630   }
3631   .t-preview .h3 {
3632     font-size: 16px !important;
3633     margin-bottom: 5px;
3634     font-weight: 600;
3635   }
3636   .scanCard {
3637     width: 100%;
3638     border: 1px solid;
3639     height: 76px;
3640     background-color: #fff;
3641   }
3642   .scanCard > div > img {
3643     position: absolute;
3644     right: 0;
3645     width: 55px;
3646   }
3647 
3648   @keyframes l3 {
3649     100% {
3650       transform: rotate(1turn);
3651     }
3652   }
3653 
3654   @media (min-width: 991px) {
3655     .sectionPurchase {
3656       height: 100%;
3657       position: relative;
3658       max-width: 1344px;
3659       background-color: #fff;
3660       top: 50%;
3661       left: 50%;
3662       transform: translate(-50%, -50%);
3663     }
3664     .headerPurchase h3 {
3665       font-size: 20px;
3666     }
3667     .purchaseArea h4 {
3668       font-size: 16px;
3669     }
3670 
3671     .menuPurchase ul li {
3672         font-size: 16px;
3673     }
3674     
3675     .contentPurchase {
3676       margin-bottom: 30px;
3677     }
3678     .contentPurchase h5 {
3679       font-size: 16px;
3680     }
3681 
3682     .item-cards .item-card p,
3683     .item-addons .item-addon p {
3684       font-size: 16px !important;
3685     }
3686 
3687     .cards {
3688       float: right;
3689       width: 400px;
3690     }
3691 
3692     .item-cards .item-card {
3693       width: calc(25% - 30px);
3694       max-width: calc(25% - 30px);
3695       flex: 0 0 calc(25% - 30px);
3696     }
3697 
3698       #itemAddons .item-card {
3699         position: relative;
3700         width: calc(16% - 40px);
3701         max-width: calc(16% - 40px);
3702         flex: 0 0 calc(16% - 40px);
3703       }
3704       
3705     .purchase-button-wrapper {
3706         padding: 10px 20px;
3707     }
3708   }
3709 
3710   @media (max-width: 1200px) {
3711     .item-cards .item-card {
3712       width: calc(33% - 30px);
3713       max-width: calc(33% - 30px);
3714       flex: 0 0 calc(33% - 30px);
3715     }
3716   }
3717 
3718   @media (max-width: 992px) {
3719     .purchasePopup {
3720       padding: 0;
3721     }
3722     .item-cards .item-card h5,
3723     .item-addons .item-addon h5 {
3724       max-height: 30px;
3725     }
3726 
3727     .back-purchase-button, .back-spotify, .next-purchase-button {
3728         width: 100%;
3729     }
3730     .addon-itm-title {
3731       width: 300px;
3732     }
3733     .addon-itm-line-price {
3734       margin-right: 10px;
3735     }
3736     .t-preview {
3737       top: 10px;
3738     }
3739 
3740     .card-qty a {
3741       height: 15px;
3742     }
3743     
3744     .purchase-button-wrapper {
3745       padding: 15px;
3746     }
3747   }
3748 
3749   @media (max-width: 576px) {
3750     .purchase-button .btn {
3751         width: 100%!important;
3752     }
3753     .purchase-button > .col-12 {
3754       padding-left: 0;
3755       padding-right: 0;
3756     }
3757   }
3758 </style>
3759 
3760 
3761 <div class="purchasePopup">
3762   <div class="purchaseArea">
3763     
3764       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3765         <div class="wrapperPurchase">
3766           <div class="purchase-content">
3767             <div class="headerPurchase">
3768   <h3 class="text-uppercase">
3769     
3770       customize your flower board
3771     
3772   </h3>
3773   <a class="close-purchase-popup">
3774   <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3775     <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"/>
3776   </svg>
3777 </a>
3778 
3779 </div>
3780 <div class="contentPurchase">
3781   <div class="row">
3782     
3783       <div class="col-12">
3784         
3785 
3786 <style>
3787   
3788   
3789   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3790   .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;}
3791   
3792   .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;}
3793   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3794   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3795   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3796   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
3797   .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;}
3798   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3799   #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;}
3800   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3801   .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;}
3802   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3803 
3804   @media (min-width: 991px) {
3805     .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);}
3806     .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);}
3807   }
3808 </style>
3809 
3810 <input type="hidden" data-properties="penerima" value="-">
3811 <div class="customize-papan">
3812   <div class="container">
3813     <div class="field-papan group-field-1 form-group">
3814       <div class="input-field">
3815         <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.
3816 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3817         <p class="limit">0/100</p>
3818         <div id="suggest-messages">
3819           <a id="show_note_papan1" href="#">
3820             <div class="suggest-message" id="note_btn_div1">
3821               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3822             </div>
3823           </a>
3824           <a id="show_note_papan2" href="#">
3825             <div class="suggest-message" id="note_btn_div2">
3826               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3827             </div>
3828           </a>
3829           <a id="show_note_papan3" href="#">
3830             <div class="suggest-message" id="note_btn_div3">
3831               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
3832             </div>
3833           </a>
3834         </div>
3835       </div>
3836     </div>
3837     <div class="hide">
3838       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
3839       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
3840     </div>
3841     <div class="hide">
3842       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
3843       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
3844     </div>
3845     <div class="hide">
3846       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
3847       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
3848     </div>
3849     <div class="field-papan group-field-2 form-group">
3850       
3851       <label for="logoPapan" onclick="" class="input-field field-logo">
3852         
3853         
3854         
3855         <div class="btn-upload-papan w-100">
3856           <?xml version="1.0" encoding="UTF-8"?>
3857           <img src="" style="display:none">
3858           <div class="svgLogoPapan">
3859             <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="22" height="26" viewBox="0 0 22 26" fill="none">
3860               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
3861             </svg>
3862             <p>Upload Logo <span>*optional</span></p>
3863           </div>
3864         </div>
3865         
3866       </label>
3867       
3868       <input
3869         type="hidden"
3870         data-properties="papan-logo"
3871         value=""
3872       >
3873       <input
3874         type="file"
3875         id="logoPapan"
3876         accept="image/*"
3877         style="position: absolute;width: 1px;height: 1px;padding: 0"
3878       >
3879       
3880       <div class="input-field">
3881         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
3882         <p class="limit">0/35</p>
3883       </div>
3884       
3885     </div>
3886     
3887   </div>
3888 </div>
3889       </div>
3890     
3891   </div>
3892 </div>
3893 
3894           </div>
3895           <div class="purchase-button-wrapper">
3896             <div class="purchase-button btn-card row m-0">
3897   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3898     
3899   </div>
3900   <div class="btn-next-card col-12 col-lg-10 text-right">
3901     
3902     
3903     <button
3904       
3905         
3906       
3907       class="btn next-purchase-button text-uppercase"
3908       
3909         disabled
3910       
3911     >
3912       <span>save your flower board</span>
3913     </button>
3914   </div>
3915 </div>
3916 
3917           </div>
3918         </div>
3919       </div>
3920     
3921     
3922     
3923       <div
3924         class="sectionPurchase sectionPurchaseBoard hide"
3925         data-section="address"
3926       >
3927         <div class="wrapperPurchase">
3928           <div class="purchase-content">
3929             <div class="headerPurchase">
3930   <h3>
3931     Complete Your Order
3932   </h3>
3933   <a class="close-purchase-popup">
3934   <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
3935     <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"/>
3936   </svg>
3937 </a>
3938 
3939 </div>
3940 <div class="contentPurchase">
3941   <div class="row">
3942     <div class="col-12 position-relative">
3943       <div class="addressPurchase">
3944         
3945           <h4 class="text-uppercase">recipient delivery address</h4>
3946           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
3947         
3948         <div class="formAddressPurchase row">
3949           <div class="col-12">
3950             <form>
3951               <div class="form-group row mb-2 mb-lg-4">
3952                 <div class="col-6 position-relative">
3953                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
3954                   <label for="first_name" class="input__label">First Name<span>*</span></label>
3955                 </div>
3956                 <div class="col-6 position-relative">
3957                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
3958                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
3959                 </div>
3960                 <input type="hidden" data-properties="nama-penerima">
3961               </div>
3962               
3963                 <h4 class="text-uppercase">how you want to input your address</h4>
3964                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
3965                   <div class="col-6 position-relative">
3966                     <label class="address-manualy">
3967                       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="18" height="17" viewBox="0 0 18 17" fill="none">
3968   <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
39681216 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
39685 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"/>
3969 </svg>
3970 <span>Input Address Manually</span>
3971                     </label>
3972                   </div>
3973                   <div class="col-6 position-relative">
3974                     <label for="address-upload" class="address-upload">
3975                       <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
3976   <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"/>
3977 </svg>
3978 <span>Upload Address Picture</span>
3979                     </label>
3980                     <input
3981                       id="address-upload"
3982                       type="file"
3983                       accept="image/png, image/jpeg"
3984                       style="position: absolute; padding: 0;width: 1px;height: 1px"
3985                     >
3986                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
3987                   </div>
3988                 </div>
3989                 <img width="150" height="" src="" class="photo-address" style="display: none;">
3990               
3991               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
3992                 <div class="col-12">
3993                   <textarea
3994                     id="delivery_address"
3995                     data-properties="alamat-penerima"
3996                     class="form-control input__field col-12"
3997                     placeholder=""
3998                     required
3999                   ></textarea>
4000                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
4001                   
4002                 </div>
4003               </div>
4004               <div class="form-group row mb-2 mb-lg-4 form-address">
4005                 <div class="col-6 position-relative">
4006                   <input
4007                     id="recipient_number"
4008                     type="text"
4009                     data-properties="telepon-penerima"
4010                     class="form-control input__field"
4011                     placeholder=""
4012                     required
4013                   >
4014                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4015                 </div>
4016                 <div class="col-6 position-relative">
4017                   <input
4018                     id="company"
4019                     type="text"
4020                     data-properties="company"
4021                     class="form-control input__field"
4022                     placeholder=""
4023                   >
4024                   <label for="company" class="input__label">Company (Optional)</label>
4025                 </div>
4026               </div>
4027               <div class="form-group row mb-2 mb-lg-4 form-address">
4028                 <div class="col-6 position-relative">
4029                   <input
4030                     id="province"
4031                     type="text"
4032                     class="form-control input__field"
4033                     placeholder=""
4034                     value="Jakarta"
4035                     data-properties="province"
4036                   >
4037                   <label for="province" class="input__label">Province</label>
4038                 </div>
4039                 <div class="col-6 position-relative">
4040                   <select id="zip" class="form-control select-search" required></select>
4041                 </div>
4042               </div>
4043             </form>
4044           </div>
4045         </div>
4046       </div>
4047       <div class="addonsPurchase">
4048         <h4 class="text-uppercase">add-ons</h4>
4049         <div class="addons">
4050           <p>No Add-Ons</p>
4051           <!--
4052             <button class="add-addon">
4053               <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="12" height="12" viewBox="0 0 12 12" fill="none">
4054                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4055               </svg>
4056               <span>Enhance my moment with Add-ons</span>
4057             </button>
4058           -->
4059         </div>
4060       </div>
4061     </div>
4062     
4063   </div>
4064 </div>
4065 
4066 
4066<script>
4067 document.addEventListener('DOMContentLoaded', function() {
4068   // Detect iOS
4069   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4070   
4071   if (isIOS) {
4072     document.querySelector('.formAddressPurchase').classList.add('ios');
4073     
4074     // iOS specific fixes
4075     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4076     
4077     inputs.forEach(function(input) {
4078       // Force enable touch events on iOS
4079       input.style.webkitUserSelect = 'text';
4080       input.style.webkitTouchCallout = 'default';
4081       input.style.pointerEvents = 'auto';
4082       input.style.touchAction = 'manipulation';
4083       
4084       // Add explicit touch event listeners for iOS
4085       input.addEventListener('touchstart', function(e) {
4086         e.stopPropagation();
4087         this.focus();
4088       }, { passive: false });
4089       
4090       input.addEventListener('touchend', function(e) {
4091         e.preventDefault();
4092         e.stopPropagation();
4093         this.focus();
4094         this.click();
4095       }, { passive: false });
4096       
4097       // Force focus on tap for iOS
4098       input.addEventListener('click', function(e) {
4099         e.stopPropagation();
4100         if (document.activeElement !== this) {
4101           this.focus();
4102         }
4103       });
4104     });
4105     
4106     // Fix for label overlapping on iOS
4107     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4108     labels.forEach(function(label) {
4109       label.style.pointerEvents = 'none';
4110       label.addEventListener('touchstart', function(e) {
4111         e.preventDefault();
4112         var input = this.parentNode.querySelector('.input__field');
4113         if (input) {
4114           input.focus();
4115         }
4116       });
4117     });
4118   }
4119   
4120   // Handle input state for all browsers, especially iOS
4121   var inputs = document.querySelectorAll('.input__field');
4122   
4123   inputs.forEach(function(input) {
4124     // Handle input events
4125     input.addEventListener('input', function() {
4126       if (this.value.trim() !== '') {
4127         this.classList.add('has-value');
4128       } else {
4129         this.classList.remove('has-value');
4130       }
4131     });
4132     
4133     // Handle focus
4134     input.addEventListener('focus', function() {
4135       this.classList.add('focused');
4136       // iOS specific: ensure input is visible
4137       if (isIOS) {
4138         setTimeout(function() {
4139           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4140         }, 300);
4141       }
4142     });
4143     
4144     // Handle blur
4145     input.addEventListener('blur', function() {
4146       this.classList.remove('focused');
4147       if (this.value.trim() !== '') {
4148         this.classList.add('has-value');
4149       } else {
4150         this.classList.remove('has-value');
4151       }
4152     });
4153     
4154     // Initial check for pre-filled values
4155     if (input.value.trim() !== '') {
4156       input.classList.add('has-value');
4157     }
4158   });
4159   
4160   // Additional iOS fixes
4161   if (isIOS) {
4162     // Prevent iOS Safari from adding default styling
4163     document.addEventListener('touchstart', function() {}, { passive: true });
4164     
4165     // Fix viewport issues on iOS
4166     var viewport = document.querySelector('meta[name=viewport]');
4167     if (viewport) {
4168       viewport.setAttribute('content', 
4169         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4170       );
4171     }
4172   }
4173 });
4174 </script>
4174
4175           </div>
4176           <div class="purchase-button-wrapper">
4177             <div class="purchase-button btn-address row m-0">
4178   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4179     
4180       <button class="back-purchase-button back-address text-uppercase">
4181         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
4182           <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"/>
4183         </svg>
4184         <span>Back</span>
4185       </button>
4186     
4187   </div>
4188   <div class="btn-next-card col-12 col-lg-10 text-right">
4189     
4190       <!--
4191         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4192           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
4193             <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"/>
4194           </svg>
4195           <span>Back</span>
4196         </button>
4197       -->
4198     
4199     
4200     <button
4201       
4202         id="addtocart-card"
4203       
4204       class="btn  next-address text-uppercase"
4205       
4206     >
4207       <span>add to cart</span>
4208     </button>
4209   </div>
4210 </div>
4211 
4212           </div>
4213         </div>
4214       </div>
4215     
4216   </div>
4217 </div>
4218 <div id="backgroundPopup"></div>
4219 
4220 
4221 
4222 <input
4223   data-index="1"
4224   type="hidden"
4225   id="properties-delivery-date"
4226   name="properties[Delivery Date]"
4227   value="-"
4228 >
4229 <input
4230   data-index="2"
4231   type="hidden"
4232   id="properties-delivery-time"
4233   name="properties[Delivery Time]"
4234   value="-"
4235 >
4236 <input
4237   data-index="4"
4238   type="hidden"
4239   id="properties-nama-penerima"
4240   name="properties[Nama Penerima]"
4241   value="-"
4242 >
4243 <input
4244   data-index="5"
4245   type="hidden"
4246   id="properties-alamat-penerima"
4247   name="properties[Alamat Penerima]"
4248   value="-"
4249 >
4250 <input
4251   data-index="6"
4252   type="hidden"
4253   id="properties-kodepos"
4254   name="properties[Kodepos]"
4255   value="-"
4256 >
4257 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4258 
4259   
4260     <input
4261       data-index="8"
4262       type="hidden"
4263       id="properties-kartu-nama-penerima"
4264       name="properties[Kartu Nama Penerima]"
4265       value="-"
4266     >
4267   
4268   <textarea
4269     data-index="9"
4270     type="hidden"
4271     id="properties-kartu-pesan"
4272     name="properties[Kartu Pesan]"
4273     style="display: none"
4274   >-</textarea>
4275 
4276 
4277 
4278   <input
4279     data-index="10"
4280     type="hidden"
4281     id="properties-kartu-nama-pengirim"
4282     name="properties[Kartu Nama Pengirim]"
4283     value="-"
4284   >
4285
4286 <!-- Additional Shipping -->
4287 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4288 <input
4289   type="hidden"
4290   id="properties-kota-pengiriman-country"
4291   name="properties[Country]"
4292   value="Indonesia"
4293 >
4294 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4295 
4296 <input type="hidden" id="properties-time" name="properties[Time]">
4297 <input type="hidden" id="properties-card" name="properties[Card]">
4298 <input type="hidden" id="properties-addons" name="properties[Addons]">
4299 
4300 <input
4301   type="hidden"
4302   id="properties-company"
4303   name="properties[Company]"
4304   value=""
4305 >
4306 
4306<script>
4307   
4308   $(document).ready(function(){
4309     
4310     var text_max_papan1=150;
4311     var msg_text_papan1="";
4312     $('#kartu-ucapan-ucapan').keyup(function(){
4313       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4314       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4315     });
4316 
4317     var notes_papan1 = [
4318       
4319       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4320       
4321     ];
4322     $('#show_note_papan1').click(function(event){
4323       event.preventDefault();
4324       var idx_papan1=parseInt($('#note_id_papan1').val());
4325       if(isNaN(idx_papan1)){
4326         idx_papan1=0;
4327       }else{
4328         idx_papan1++;
4329         idx_papan1=idx_papan1%notes_papan1.length;
4330       }
4331       var note_papan1=notes_papan1[idx_papan1][1];
4332       $('#note_id_papan1').val(idx_papan1);
4333       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4334       $('#msgDelivery').val(note_papan1);
4335 
4336       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4337       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4338       if(isNaN(idx_2_papan1)){
4339         idx_2_papan1=0;
4340       }else{
4341         idx_2_papan1++;
4342         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4343       }
4344       $('#note_btn_id_papan1').val(idx_2_papan1);
4345       //var note_btn=note_btn_text[idx_2][1];
4346       //$('#note_btn').text(note_btn);
4347     });
4348 
4349     var text_max_papan2=150;
4350     var msg_text_papan2="";
4351     $('#kartu-ucapan-ucapan').keyup(function(){
4352       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4353       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4354     });
4355 
4356     var notes_papan2 = [
4357       
4358       [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)."]
4359       
4360     ];
4361     $('#show_note_papan2').click(function(event){
4362       event.preventDefault();
4363       var idx_papan2=parseInt($('#note_id_papan2').val());
4364       if(isNaN(idx_papan2)){
4365         idx_papan2=0;
4366       }else{
4367         idx_papan2++;
4368         idx_papan2=idx_papan2%notes_papan2.length;
4369       }
4370       var note_papan2=notes_papan2[idx_papan2][1];
4371       $('#note_id_papan2').val(idx_papan2);
4372       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4373       $('#msgDelivery').val(note_papan2);
4374       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4375       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4376       if(isNaN(idx_2_papan2)){
4377         idx_2_papan2=0;
4378       }else{
4379         idx_2_papan2++;
4380         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4381       }
4382       $('#note_btn_id_papan2').val(idx_2_papan2);
4383       //var note_btn=note_btn_text[idx_2][1];
4384       //$('#note_btn').text(note_btn);
4385     });
4386 
4387     var text_max_papan3=150;
4388     var msg_text_papan3="";
4389     $('#kartu-ucapan-ucapan').keyup(function(){
4390       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4391       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4392     });
4393 
4394     var notes_papan3 = [
4395       
4396       [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)."]
4397       
4398     ];
4399     $('#show_note_papan3').click(function(event){
4400       event.preventDefault();
4401       var idx_papan3=parseInt($('#note_id_papan3').val());
4402       if(isNaN(idx_papan3)){
4403         idx_papan3=0;
4404       }else{
4405         idx_papan3++;
4406         idx_papan3=idx_papan3%notes_papan3.length;
4407       }
4408       var note_papan3=notes_papan3[idx_papan3][1];
4409       $('#note_id_papan3').val(idx_papan3);
4410       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4411       $('#msgDelivery').val(note_papan3);
4412       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4413       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4414       if(isNaN(idx_2_papan3)){
4415         idx_2_papan3=0;
4416       }else{
4417         idx_2_papan3++;
4418         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4419       }
4420       $('#note_btn_id_papan3').val(idx_2_papan3);
4421       //var note_btn=note_btn_text[idx_2][1];
4422       //$('#note_btn').text(note_btn);
4423     });
4424 
4425     var text_max_papan4=150;
4426     var msg_text_papan4="";
4427     $('#kartu-ucapan-ucapan').keyup(function(){
4428       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4429       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4430     });
4431 
4432     $('#show_note_papan4').click(function(event){
4433       var notes_papan4 = [
4434         [0,"Here’s to you—steadier, stronger and better every day."],
4435         [1,"Warmest wishes for a speedy recovery!"],
4436         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4437         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4438       ];
4439       event.preventDefault();
4440       var idx_papan4=parseInt($('#note_id_papan4').val());
4441       console.log(idx_papan4, 'idx_papan4')
4442       if(isNaN(idx_papan4)){
4443         idx_papan4=0;
4444       }else{
4445         idx_papan4++;
4446         idx_papan4=idx_papan4%notes_papan4.length;
4447       }
4448       var note_papan4=notes_papan4[idx_papan4][1];
4449       $('#note_id_papan4').val(idx_papan4);
4450       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4451       console.log(note_papan4, 'note_papan4')
4452       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4453       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4454       if(isNaN(idx_2_papan4)){
4455         idx_2_papan4=0;
4456       }else{
4457         idx_2_papan4++;
4458         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4459       }
4460       $('#note_btn_id_papan4').val(idx_2_papan4);
4461     });
4462 
4463     /*
4464     $("#jenisPapan").change(function(){
4465       $( "select option:selected").each(function(){
4466         if($(this).attr("value")=="Happy Wedding"){
4467           $("#suggest-messages a").hide();
4468           $("#show_note_papan1").show();
4469           $("#kartu-ucapan-papan").val("");
4470         }
4471         if($(this).attr("value")=="Congratulations"){
4472           $("#suggest-messages a").hide();
4473           $("#show_note_papan2").show();
4474           $("#kartu-ucapan-papan").val("");
4475         }
4476         if($(this).attr("value")=="Duka Cita"){
4477           $("#suggest-messages a").hide();
4478           $("#show_note_papan3").show();
4479           $("#kartu-ucapan-papan").val("");
4480         }
4481       });
4482     }).change();
4483     */
4484 
4485     
4486 
4487     
4488 
4489     $(".variant-metafield").each(function(){
4490       const t = $(this)
4491       const id = t.attr("id")
4492       const target = $(`[data-select=${id}]`)
4493       t.on('select2:selecting', function(e) {
4494         const data = e.params.args.data
4495         target.val(data.text)
4496       });
4497     })
4498   })
4499 </script>
4499
4500 
4501 <div id="popupCart">
4502   <div class="container">
4503     <div class="wrapperPopupCart">
4504       <div class="headerPopupCart">
4505         <div class="d-flex pl-5 pr-5 p-4">
4506           <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="16" height="12" viewBox="0 0 16 12" fill="none">
4507             <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"/>
4508           </svg>
4509           <span>item added to your cart</span>
4510         </div>
4511         <a class="close-purchase-popup">
4512   <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="18" height="18" viewBox="0 0 18 18" fill="none">
4513     <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"/>
4514   </svg>
4515 </a>
4516 
4517       </div>
4518       <div class="contentPopupCart">
4519         <div class="pl-5 pr-5 p-4">
4520           <div class="itemContent row m-0 justify-content-between">
4521             <div class="col-2 align-self-center">
4522               
4523               <img
4524                 class="d-block"
4525                 width="80"
4526                 src="https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4527               >
4528             </div>
4529             <div class="col-10 align-self-center">
4530               <div class="row pl-3">
4531                 <div class="col-12 col-lg-7">
4532                   <span class="titleCartPopup text-uppercase">WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya</span>
4533                 </div>
4534                 <div class="d-flex justify-content-end col-12 col-lg-5">
4535                   <span class="deleteCartPopup hide">Delete</span>
4536                   <span class="lineCartPrice align-self-center">Rp 5.000</span>
4537                 </div>
4538               </div>
4539             </div>
4540           </div>
4541           <div class="itemProperties">
4542             
4543               <div class="propDeliver">
4544                 <h4>delivery option detail</h4>
4545                 <p>
4546                   <span>delivery city</span>
4547                   <span class="propDeliveryCity">jakarta</span>
4548                 </p>
4549                 <p>
4550                   <span>delivery date</span>
4551                   <span class="propDeliveryDate">24/03/2025</span>
4552                 </p>
4553                 <p>
4554                   <span>delivery time</span>
4555                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4556                 </p>
4557               </div>
4558               <div class="propAddress">
4559                 <h4>delivery option detail</h4>
4560                 <p>
4561                   <span>RECIPIENT NAME</span>
4562                   <span class="propDeliveryName">jane doe</span>
4563                 </p>
4564                 <p>
4565                   <span>delivery address</span>
4566                   <span class="propDeliveryAddress"
4567                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4568                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4569                   >
4570                 </p>
4571                 <p>
4572                   <span>recipient phone number</span>
4573                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4574                 </p>
4575                 <p>
4576                   <span>PROVINCE</span>
4577                   <span class="propDeliveryProv">Jakarta</span>
4578                 </p>
4579                 <p>
4580                   <span>postal code</span>
4581                   <span class="propDeliveryZip">12710</span>
4582                 </p>
4583                 
4584                 
4585               </div>
4586             
4587           </div>
4588           <div class="itemAddonCart">
4589             <div class="toggleAddonCart d-flex justify-content-between">
4590               <h4>add-ons (0)</h4>
4591               <svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="5" height="9" viewBox="0 0 5 9" fill="none">
4592                 <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"/>
4593               </svg>
4594             </div>
4595             <div class="wrapperItemAddonCart"></div>
4596           </div>
4597           
4598         </div>
4599       </div>
4600       <div class="footerPopupCart">
4601         <div class="row m-0 pl-5 pr-5 p-4">
4602           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4603           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4604           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4605         </div>
4606       </div>
4607     </div>
4608   </div>
4609 </div>
4610 
4611 
4612 
4612<script>
4613   const shareButton = document.getElementById('shareButton');
4614 
4615   shareButton.addEventListener('click', () => {
4616     if (navigator.share) {
4617       navigator.share({
4618         title: "WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya",
4619         url: "/products/blossom-shine",
4620         text: 'Check out this page!'
4621       })
4622       .then(() => console.log('Successful share'))
4623       .catch((error) => console.log('Error sharing', error));
4624     } else {
4625       alert('Web Share API is not supported in this browser.');
4626     }
4627   });
4628 
4629   // Inventory validation function
4630   function checkInventoryStatus() {
4631     const productSelect = document.getElementById('productSelect');
4632     const purchaseButton = document.querySelector('#personalizeBtn button');
4633     
4634     if (!productSelect || !purchaseButton) return;
4635 
4636     const selectedVariantId = productSelect.value;
4637     
4638     // Get variant data from Shopify
4639     fetch(`/products/blossom-shine.js`)
4640       .then(response => response.json())
4641       .then(product => {
4642         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4643         
4644         if (selectedVariant) {
4645           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4646                                selectedVariant.inventory_management === 'shopify' && 
4647                                selectedVariant.inventory_policy !== 'continue';
4648           
4649           if (isOutOfStock) {
4650             purchaseButton.disabled = true;
4651             purchaseButton.textContent = 'Out of Stock';
4652             purchaseButton.setAttribute('data-out-of-stock', 'true');
4653             purchaseButton.style.backgroundColor = '#cccccc';
4654             purchaseButton.style.cursor = 'not-allowed';
4655           } else {
4656             // Check if button was disabled due to other conditions
4657             
4658             
4659             
4660             
4661             
4662             
4663             
4664             
4665             const isOtherDisabled = false || true || false;
4666             
4667             if (!isOtherDisabled) {
4668               purchaseButton.disabled = false;
4669               purchaseButton.textContent = 'customize your flower board';
4670               purchaseButton.removeAttribute('data-out-of-stock');
4671               purchaseButton.style.backgroundColor = '';
4672               purchaseButton.style.cursor = '';
4673             }
4674           }
4675         }
4676       })
4677       .catch(error => {
4678         console.error('Error checking inventory:', error);
4679       });
4680   }
4681 
4682   // Check inventory on page load
4683   document.addEventListener('DOMContentLoaded', function() {
4684     checkInventoryStatus();
4685     
4686     // Listen for variant changes
4687     const productSelect = document.getElementById('productSelect');
4688     if (productSelect) {
4689       productSelect.addEventListener('change', checkInventoryStatus);
4690     }
4691   });
4692 
4693   // Prevent form submission if out of stock
4694   document.addEventListener('click', function(e) {
4695     if (e.target.matches('button[data-out-of-stock="true"]')) {
4696       e.preventDefault();
4697       e.stopPropagation();
4698       alert('This product is currently out of stock and cannot be purchased.');
4699       return false;
4700     }
4701   });
4702 </script>
4702
4703 
4704 
4705   
4706 </div>
4707 
4708           </div>
4709         </div>
4710       </div>
4711     </div>
4712     <div id="product-bottom">
4713       
4714         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4715           <div class="container">
4716             
4717 
4718 
4719 
4720 
4721     <div class="short-desc-mobile d-block d-lg-none mb-3">
4722         <div class="short-desc">
4723             <ul>
4724 <li><strong>WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.</strong></li>
4725         </div>
4726         <label class="more-mobile">Show More →</label>
4727     </div>
4728 
4729 <style>
4730 .animated-title {
4731     text-align: center;
4732     font-weight: bold;
4733     color: #079c02;
4734     font-size: 28px;
4735     position: relative;
4736     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4737 }
4738 
4739 /* Efek glow / bercahaya hijau */
4740 @keyframes glow {
4741     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4742     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4743     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4744 }
4745 
4746 /* Efek gerakan naik turun */
4747 @keyframes moveUpDown {
4748     0% { transform: translateY(0px); }
4749     50% { transform: translateY(-5px); }
4750     100% { transform: translateY(0px); }
4751 }
4752 </style>
4753 
4754 
4754<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4754
4755 
4755<script>
4756   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});
4757 
4758   const productType = $("[data-product-type]").data("product-type")
4759   const productDate = Date.parse(new Date())
4760   
4761   const shop = 'outerbloom1.myshopify.com'
4762   const host = 'https://app.asmaraku.com'
4763   // const host = 'http://localhost:5001'
4764 
4765   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4766   
4767   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4768 
4769   $("#properties-time").val(new Date().getTime())
4770 
4771   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4772 
4773   if(!isIOS) {
4774     $("#full-date").attr("type", "button")
4775   }
4776 
4777   let dateTime = new Date();
4778   let today = dateTime.getDate();
4779   let day = dateTime.getDay();
4780   let hour = dateTime.getHours();
4781   let min = dateTime.getMinutes();
4782   let timeOfDay = hour + (min / 100);
4783 
4784   async function getFetch(url) {
4785     const response = await fetch(url);
4786     let status = false
4787     let result
4788     if(response.ok) {
4789       status = true
4790       result = await response.json();
4791     }
4792     return {
4793       status,
4794       data: result
4795     }
4796   }
4797 
4798   
4799 
4800   function setCookie(cname, cvalue, exMins) {
4801     var d = new Date();
4802     d.setTime(d.getTime() + (exMins*60*1000));
4803     var expires = "expires="+d.toUTCString();  
4804     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4805   }
4806 
4807   function getCookie(cname) {
4808     let name = cname + "=";
4809     let decodedCookie = decodeURIComponent(document.cookie);
4810     let ca = decodedCookie.split(';');
4811     for(let i = 0; i <ca.length; i++) {
4812       let c = ca[i];
4813       while (c.charAt(0) == ' ') {
4814         c = c.substring(1);
4815       }
4816       if (c.indexOf(name) == 0) {
4817         return c.substring(name.length, c.length);
4818       }
4819     }
4820     return "";
4821   }
4822 
4823   async function renderDate() {
4824     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
4825     console.log(dataDate, 'renderDate')
4826     const data = dataDate?.data
4827     const date = data.date
4828     const time = data.time
4829 
4830     console.log(date, 'DATE')
4831 
4832     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4833     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4834     const htmlDate = []
4835     for(let i = 0;i < date.length;i++) {
4836       const full = date[i].date
4837       const d = new Date(date[i].date);
4838       const day = weekday[d.getDay()];
4839       const dt = d.getDate();
4840       const mt = monthly[d.getMonth()];
4841       const yr = d.getFullYear();
4842       const isDate = Boolean(date[i].isEnabled)
4843       const cutoffpagi = date[i].cutoff?.pagi
4844       const cutoffsiang = date[i].cutoff?.siang
4845       const cutoffMalam = date[i].cutoff?.Malam
4846       var html = `
4847         <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'}>
4848           ${dt === today ?
4849             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4850             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4851           }
4852         </button>
4853       `
4854       htmlDate.push(html)
4855     }
4856     const htmlTime = []
4857     for(var i = 0;i < time.length;i++) {
4858       const timeText = time[i].text
4859       const timeTime = time[i].time
4860       const timeEnabled = time[i].isEnabled
4861       var html = `
4862           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4863         `
4864       htmlTime.push(html)
4865     }
4866     const deliveryDate = document.getElementById("deliveryDate");
4867     if(deliveryDate) {
4868       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4869       $("#deliveryTime").html(htmlTime)
4870       if(productType !== '') {
4871         console.log("clarity event " + productType + ' calendaring')
4872         window.clarity("event", `${productType} calendaringSchedule`)
4873         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4874       }
4875     }
4876   }
4877 
4878   async function getProvince(city) {
4879     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4880     console.log(province, 'province')
4881     $("#province").val(province)
4882   }
4883 
4884   async function renderAddress() {
4885     let current
4886     if(getCookie("location_delivery")){
4887       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4888     }
4889     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
4890     console.log(address)
4891     const data = address?.data?.city
4892     const htmlAddress = []
4893     const grouping = []
4894     for(let i = 0;i < data?.length;i++) {
4895       if(data[i]){
4896         if(data[i]?.group) {
4897           grouping.push(data[i].group)
4898         }
4899         const price = rupiah.format(data[i]?.rate)
4900         let promo = '(Promo Free Delivery)'
4901         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4902           promo = '(at SCBD, Ashta)'
4903         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4904           promo = '(at Kuningan, ITC Kuningan)'
4905         } else if(data[i]?.name === 'BSD - PickUp'){
4906           promo = '(at Goldfinch Gading Serpong)'
4907         } else if(data[i]?.name === 'Kota Lainnya'){
4908           promo = ''
4909         }
4910         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>`)
4911       }
4912     }
4913     
4914     const deliveryCity = document.getElementById("cities");
4915     if(deliveryCity) {
4916       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4917       if(!isIOS) {
4918         $(deliveryCity).select2();
4919       }
4920     }
4921   }
4922 
4923   async function renderZip(v, v2, v3) {
4924     const deliveryZip = document.getElementById("zip");
4925     if(v === '') {
4926       return
4927     }
4928     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
4929     let zip = dataZip?.data?.zip
4930     console.log(zip)
4931     let htmlZip = []
4932     for(let i = 0; i < zip?.length;i++) {
4933       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
4934     }
4935     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
4936   }
4937 
4938   renderDate()
4939   renderAddress()
4940 
4941   let rupiah = new Intl.NumberFormat('id-ID', {
4942     style: 'currency',
4943     currency: 'IDR',
4944     maximumFractionDigits: 0, 
4945     minimumFractionDigits: 0
4946   });
4947 
4948   async function insertCard(data) {
4949     const response = await fetch(`${host}/api/card/new`, {
4950         method: "POST",
4951         headers: {
4952           'Content-Type': 'application/json',
4953         },
4954         body: data
4955     })
4956     const result = await response.json()
4957     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
4958     $("#greetingCard").attr("data-index", rowIndex)
4959     return result
4960   }
4961     
4962   async function updateCard(data){
4963     const rowIndex = $("#greetingCard").data("index")
4964     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
4965         method: "PUT",
4966         headers: {
4967           'Content-Type': 'application/json',
4968         },
4969         body: data
4970     })
4971     return response
4972   }
4973     
4974   function bytesToSize(bytes) {
4975     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
4976     for (var i = 0; i < sizes.length; i++) {
4977       if (bytes <= 1024) {
4978         return bytes + ' ' + sizes[i];
4979       } else {
4980         bytes = parseFloat(bytes / 1024).toFixed(2)
4981       }
4982     }
4983     return bytes + ' P';
4984   }
4985 
4986   async function uploadMedia(uri, type) {
4987     nameq = $("#properties-nama-penerima").val()
4988     dear = $("#properties-kartu-nama-penerima").val()
4989     card = $("[data-properties=ucapan]").val()
4990     sender = $("#properties-kartu-nama-pengirim").val()
4991     photo = $("#properties-photo").val()
4992     video = $("#properties-video").val()
4993     status = "Product"
4994         
4995     const name = qrID
4996     let formData = new FormData(); 
4997     formData.append("file", uri);
4998     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
4999       method: "POST", 
5000       body: formData
5001     })
5002     const result = await response.json();
5003     if(result) {
5004       const url = result.url
5005       if(type === 'image/jpeg') {
5006         $("#properties-photo").val(url)
5007         $(".preview-image").show()
5008         $(".remove-image").show()
5009         photo = url
5010       } else {
5011         $("#properties-video").val(url)
5012         $("#label-input-video span").text("Change File")
5013         $(".case-qrcode-preview p").text("Scan here for a secret message")
5014         $(".remove-media").show()
5015         $("#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>`)
5016         $("[for=input-video]").hide()
5017         video = url
5018       }
5019       $(".case-video-preview").show()
5020       $(".steps-card-preview").removeClass("loading")
5021       // updateCard(nameq, dear, card, sender, photo, video, status)
5022 
5023       $(".nextBtn").attr("disabled", false)
5024     }
5025   }
5026 
5027   function randomString(length, chars) {
5028     var result = '';
5029     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5030     return result;
5031   }
5032 
5033   function getNoteCity(fulldate) {
5034     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5035     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5036     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5037     const d = new Date(h_1);
5038     const day = weekday[d.getDay()];
5039     const dt = d.getDate();
5040     const mt = monthly[d.getMonth()];
5041     const yr = d.getFullYear();
5042     const p = $("#cities").parent(".form-group")
5043   }
5044 
5045   function disabledSameDay() {
5046     let btnFirst = $("#deliveryDate").find("button:first-child")
5047     let getDay = new Date().getDay();
5048 
5049     
5050       
5051       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5052         if(hour >= 14.00){
5053           btnFirst.attr("disabled", true)
5054         }
5055       } else if(getDay == 6){
5056         if(hour >= 16.00){
5057           btnFirst.attr("disabled", true)
5058         }
5059       } else if(getDay == 0){
5060         if(hour >= 16.00){
5061           btnFirst.attr("disabled", true)
5062         }
5063       }
5064       
5065     
5066   }
5067 
5068   function disabledays(date) {
5069     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5070     //if u have to disable a list of day
5071     let removeDays
5072     
5073     
5074     
5075         removeDays = ["2025-2-13", "2025-2-14"];
5076     
5077     if ($.inArray(ymd, removeDays) >= 0) {
5078       return [false];
5079     } else {
5080       let day = date.getDay();
5081       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5082           return [(day == 0),  ''];
5083       }
5084       
5085       if(day == 0){
5086         return [(day == 0),  ''];
5087       }
5088       
5089       
5090       return [(day != 0),  ''];
5091     }
5092   }
5093 
5094   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5095   /* Written by Deden Fathurahman ([email protected]). */
5096   ( function( factory ) {
5097     if ( typeof define === "function" && define.amd ) {
5098 
5099       // AMD. Register as an anonymous module.
5100       define( [ "../widgets/datepicker" ], factory );
5101     } else {
5102 
5103       // Browser globals
5104       factory( jQuery.datepicker );
5105     }
5106   }( function( datepicker ) {
5107 
5108   datepicker.regional.id = {
5109     closeText: "Tutup",
5110     prevText: "&#x3C;mundur",
5111     nextText: "maju&#x3E;",
5112     currentText: "Today",
5113     monthNames: [ "January","February","March","April","May","Juny",
5114                   "July","August","September","October","November","December" ],
5115     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5116                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5117     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5118     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5119     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5120     weekHeader: "Mg",
5121     dateFormat: "D, dd M",
5122     firstDay: 0,
5123     isRTL: false,
5124     showMonthAfterYear: false,
5125     yearSuffix: "" };
5126   datepicker.setDefaults( datepicker.regional.id );
5127 
5128   return datepicker.regional.id;
5129 
5130 } ) );
5131 
5132   function loadPopup() {
5133     $("#backgroundPopup").fadeIn("slow");
5134     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5135     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5136     if(firstSection.hasClass("purchasePersonalize")) {
5137       if(productType !== '') {
5138         console.log("clarity event " + productType + ' personalize')
5139         window.clarity("event", `${productType} cardPersonalization`)
5140         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5141       }
5142     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5143         console.log("clarity event " + productType + ' personalizeBoard')
5144         window.clarity("event", `${productType} personalizeBoard`)
5145         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5146     }
5147     firstSection.removeClass("hide")
5148     
5149     // Auto-trigger addon loading when addon section becomes visible
5150     setTimeout(function() {
5151       const addonSection = $(".purchaseAddon")
5152       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5153         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5154           $("[data-addon=upsell-all]").trigger("click")
5155         }
5156       }
5157     }, 200)
5158   }
5159 
5160   function disablePopup() {
5161     $("#backgroundPopup").fadeOut("slow");
5162     $(".purchasePopup").fadeOut("slow");
5163     $("#popupCart").fadeOut("slow");
5164   }
5165 
5166     function scrollTo(parent, div, dur) {
5167       $(parent).animate({
5168         scrollTop: $(div).offset().top
5169       }, dur);
5170     }
5171 
5172   function loadPopupPersonalize() {
5173     const div = "#purchaseProduct"
5174     const p = "html, body, .product-meta"
5175     $("p.error").remove()
5176     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5177     const isCity = $("#cities[required]")
5178     const isDate = $("#propDeliveryDate[required]")
5179     const isTime = $("#propDeliveryTime[required]")
5180     // loadPopup()
5181     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5182       loadPopup()
5183     }
5184     if(isCity.val() == '') {
5185       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5186       scrollTo(p, div, 500)
5187     }
5188     if(isDate.val() == '') {
5189       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5190       scrollTo(p, div, 500)
5191     }
5192     if(isTime.val() == '') {
5193       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5194       scrollTo(p, div, 500)
5195     }
5196   }
5197 
5198   function quantityCounter() {
5199     $(document).on("click", ".item-card.selected .q_up", function () {
5200       var C = $(this).attr("data-id"),
5201           S =
5202               parseInt(
5203                   $(this)
5204                       .siblings(".quantity-cart-" + C)
5205                       .val()
5206               ) + 1;
5207       $(this).attr("data-quantity", S),
5208           $(this)
5209               .siblings(".quantity-cart-" + C)
5210               .val(S);
5211     }),
5212     $(document).on("click", ".item-card.selected .q_down", function () {
5213         var C = $(this).attr("data-id"),
5214             S = parseInt(
5215                 $(this)
5216                     .siblings(".quantity-cart-" + C)
5217                     .val()
5218             );
5219         0 < S && $(this).attr("data-quantity", S - 1),
5220             0 < S &&
5221                 $(this)
5222                     .siblings(".quantity-cart-" + C)
5223                     .val(S - 1);
5224     });
5225   }
5226 
5227   quantityCounter()
5228 
5229   const itemAddon = $(".item-card").length
5230   const nofree = $(".nofree").length
5231 
5232   const upsell = ''
5233   
5234   if(nofree === itemAddon) {
5235       // $("#itemAddons").html("<p>No Items available</p>")
5236   }
5237 
5238   $("#itemAddons .item-card").each(function(e){
5239       $("#itemAddons").attr("data-length", e)
5240   })
5241 
5242   $("[data-addon]").click(function(){
5243       
5244       
5245       
5246       const t = $(this)
5247       
5248       const data = t.data("addon")
5249       
5250       $("[data-addon]").removeClass("selected")
5251       t.addClass("selected")
5252       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5253           const products = data.products
5254           const html = []
5255           for(let i = 0; i < products.length; i++) {
5256               const id = products[i].id
5257               const variantId = products[i].variants[0].id
5258               const img = products[i].images[0].src
5259               let img2 = img.split('.jpg')[0]
5260               const title = products[i].title
5261               const price = products[i].variants[0].price
5262               const tags = products[i].tags
5263               const qty = products[i].variants[0].available
5264               let type_upsell = ''
5265               if(tags.includes('upsell-item-standing')) {
5266                   type_upsell = 'standing'
5267               }
5268               console.log(type_upsell)
5269               if(type_upsell !== '') {
5270                   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}">
5271                       
5272                           <div class="card-image">
5273                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5274                           </div>
5275                           <div class="card-meta">
5276                               <h5>${title}</h5>
5277                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5278                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5279                           </div>
5280                           <div class="card-qty">
5281                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5282                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5282" value="0" data-price=${price} name="quantity">
5283                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
5284 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5285 </svg></a>   
5286                           </div>
5287                       </div>`
5288                   html.push(body)
5289               }
5290           }
5291           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5292           $("#itemAddons").attr("data-length", products.length)
5293           // $('#itemAddons')[0].swiper.update();
5294       });
5295   })
5296 
5297   async function isAddon(){
5298     let ids = []
5299     $("#itemAddons .item-card.selected").each(function(i, e){
5300       const id = $(this).data("id")
5301       ids.push(id)
5302     })
5303     console.log(ids)
5304     return ids
5305   }
5306   
5307   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5308     const t = $(this).parent()
5309     const id = t.data("id")
5310     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5311     t.toggleClass("selected");
5312     //$(this).next("input").toggleAttr('name', 'id[]');
5313     if (t.hasClass('selected')) {
5314         t.find("input").val(1)
5315         t.find("input").attr('name', 'id[]');
5316     } else {
5317         t.find("input").val(0)
5318         t.find("input").removeAttr('name');
5319     }
5320     $("#properties-addons").val(addons)
5321     const is = await isAddon()
5322     if(is.length === 0) {
5323       btn.text("continue without add-ons")
5324       return
5325     }
5326     if(is.includes(8835692069079)) {
5327       btn.text("personalize acrylic frame")
5328     } else {
5329       btn.text("Continue")
5330     }
5331       
5332   })
5333 
5334   async function myAddon(data) {
5335     const c = $(".addonsPurchase .addons")
5336     let items = []
5337     
5338     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5339     // if(spotifyAddons.length > 0) {
5340     //   $(spotifyAddons).each(function(i, e){
5341     //     const spotifyLink = $(this).find(".spotifyLink").val()
5342     //     const spotifySong = $(this).find(".spotifySong").val()
5343     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5344     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5345     //     if(spotifyLink !== '') {
5346     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5347     //         <div class="addon-itm-img">
5348     //           <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"/>
5349     //         </div>
5350     //         <div class="addon-itm-title">
5351     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5352     //         </div>
5353     //         <div class="addon-itm-line-total">
5354     //           <span>Rp 99.000</span>
5355     //         </div>
5356     //       </div>
5357     //       <div class="propsAddonSpotify row m-0">
5358     //         <div class="col-12 col-lg-2"></div>
5359     //           <div class="col-12 col-lg-10">
5360     //             <p>
5361     //               <span>spotify link</span>
5362     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5363     //             </p>
5364     //             <p>
5365     //               <span>uploaded photo</span>
5366     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5367     //             </p>
5368     //             <p>
5369     //               <span>song / playlist name</span>
5370     //               <span class="spotifySongAddon">${spotifySong}</span>
5371     //             </p>
5372     //             <p>
5373     //               <span>artist name</span>
5374     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5375     //             </p>
5376     //           </div>
5377     //       </div>`
5378     //       items.push(spotifyAddon)
5379     //     }
5380     //   })
5381     // }
5382     for(let i = 0; i < data.length; i++) {
5383       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5384         const img = data[i].image
5385         const title = data[i].title
5386         const qty = data[i].qty
5387         const price = data[i].price
5388         const total = Number(qty) * Number(price)
5389         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5390               <div class="addon-itm-img">
5391                 <img src="${img}" alt="" width="70"/>
5392               </div>
5393               <div class="addon-itm-title">
5394                 <span>${title}</span>
5395               </div>
5396               <div class="addon-itm-line-price">
5397                 <span>${rupiah.format(price)}</span>
5398                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5399               </div>
5400               <div class="addon-itm-line-total">
5401                 <span>${rupiah.format(total)}</span>
5402               </div>
5403             </div>`
5404           items.push(addons)
5405       }
5406     }
5407     c.html(items)
5408     const parent = $(".purchaseAddon")
5409     const next = parent.next(".sectionPurchase")
5410     parent.addClass("hide")
5411     next.removeClass("hide")
5412     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5413     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5414   }
5415 
5416   async function listAddon() {
5417     const data = $("#itemAddons").find(".selected")
5418     let ids = []
5419     $(data).each(function(){
5420       const id = $(this).data("variant")
5421       const image = $(this).find(".card-image img").attr("src")
5422       const title = $(this).find(".card-meta h5").text()
5423       const qty = $(this).find(".card-qty input").val()
5424       const price = $(this).find(".card-qty input").data("price")
5425       ids.push({
5426         id: Number(id),
5427         image,
5428         title,
5429         qty,
5430         price
5431       })
5432     })
5433     myAddon(ids)
5434   }
5435 
5436   async function customSpotify(idx, length, type){
5437     let isCard = false
5438     
5439     let p = $(".purchasePopupSpotify")
5440     const preLink = $(".spotifyLinkFirst").val()
5441     $("[data-index]").hide()
5442     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5443     p.find(".regulerAddons, .purchase-button").hide()
5444     p.find(".spotifyAddons").show()
5445     
5446     const data = await trackUrl(preLink)
5447     
5448     const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="13" height="11" viewB
5448ox="0 0 13 11" fill="none">
5449 <path d="M0.875 10.6378H12.375C12.4413 10.6378 12.5049 10.6115 12.5518 10.5646C12.5987 10.5177 12.625 10.4541 12.625 10.3878V0.387817C12.625 0.321513 12.5987 0.257925 12.5518 0.211041C12.5049 0.164157 12.4413 0.137817 12.375 0.137817H0.875C0.808696 0.137817 0.745107 0.164157 0.698223 0.211041C0.651339 0.257925 0.625 0.321513 0.625 0.387817V10.3878C0.625 10.4541 0.651339 10.5177 0.698223 10.5646C0.745107 10.6115 0.808696 10.6378 0.875 10.6378ZM1.125 10.1378V7.31882C1.136 7.31082 1.1485 7.30632 1.1585 7.29632L3.7165 4.73832C3.78198 4.67584 3.869 4.64098 3.9595 4.64098C4.05 4.64098 4.13702 4.67584 4.2025 4.73832L7.963 8.49882C8.00919 8.54501 8.07162 8.5713 8.13694 8.57204C8.20225 8.57279 8.26527 8.54794 8.3125 8.50282L10.2455 6.66682C10.3084 6.60323 10.3938 6.56684 10.4832 6.56543C10.5727 6.56403 10.6591 6.59774 10.724 6.65932L12.125 8.18532L12.1255 8.18582V10.1378H1.125ZM12.125 0.637817V7.44682L11.0845 6.31382C11.0066 6.23514 10.9138 6.17275 10.8116 6.13026C10.7094 6.08777 10.5997 6.06603 10.489 6.06632H10.4885C10.3786 6.06584 10.2697 6.08706 10.168 6.12876C10.0664 6.17046 9.97391 6.23182 9.896 6.30932L8.144 7.97332L4.556 4.38482C4.2365 4.06582 3.6815 4.06632 3.363 4.38482L1.125 6.62332V0.637817H12.125Z" fill="black"/>
5450 </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://mobile.wso138wede-amp.org/logo-wso138.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="13" height="11" viewB
5450ox="0 0 13 11" fill="none">
5451 <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"/>
5452 </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="https://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>`
5453     // console.log(html)
5454     
5455     $(".spotifyAddons").append(html)
5456     
5457     $(`[data-index=${idx}]`).show()
5458     
5459     if (preLink !== '') {
5460       $(".btn-action .btn").attr("disabled", false)
5461     } else {
5462       $(".btn-action .btn").attr("disabled", true)
5463     }
5464 
5465     return html
5466     
5467   }
5468 
5469   $(".spotifyLinkFirst").keyup(async function(){
5470     const v = $(this).val()
5471     if(v.includes('spotify:user:spotify')) {
5472       const correct = v.split('user:spotify:')[1]
5473       console.log(correct, 'BNER')
5474       $(this).val(correct)
5475       return
5476     }
5477     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5478       const data = await trackUrl(v)
5479       if(!data || !data.status) {
5480         $(this).parent().addClass("error")
5481         // $(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>`)
5482         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5483         return
5484       }
5485       $(this).parent().removeClass("error")
5486       // $(this).parent().remove("txt-error")
5487       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5488     } else {
5489       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5490     }
5491   })
5492 
5493   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5494     const parent = $(this).parents(".purchaseAddon")
5495     const next = parent.next(".sectionPurchase")
5496     if(next.hasClass("purchaseAddress")) {
5497       if(productType !== '') {
5498         console.log("clarity event " + productType + ' purchaseDelivery')
5499         window.clarity("event", `${productType} purchaseDelivery`)
5500         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5501       }
5502     }
5503     const data = $("#itemAddons").find(".selected")
5504     const length = $(".quantity-cart-46067682607319").val()
5505     const checked = data.length;
5506     if(checked > 0) {
5507       if(length > 0) {
5508         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5509         customSpotify(1, length, 'addon')
5510       } else {
5511         listAddon()
5512       }
5513     } else {
5514       parent.addClass("hide")
5515       next.removeClass("hide")
5516     }
5517   })
5518 
5519   $("#personalizeBtnSpotify .btn").click(async function(){
5520     const isCity = $("#cities[required]")
5521     const isDate = $("#propDeliveryDate[required]")
5522     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5523       alert('Please choose Delivery City & Delivery Date')
5524       return
5525     }
5526     const data = await customSpotify(1, 1, 'product')
5527     if(data) {
5528       $("#backgroundPopup").fadeIn("slow");
5529       $(".purchasePopupSpotify").fadeIn("slow");
5530 
5531       if(productType !== '') {
5532         console.log("clarity event " + productType + ' spotify')
5533         window.clarity("event", `${productType} spotify`)
5534         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5535       }
5536     }
5537   })
5538 
5539   function formatBytes(bytes, decimals = 2) {
5540     if (!+bytes) return '0 Bytes'
5541 
5542     const k = 1024
5543     const dm = decimals < 0 ? 0 : decimals
5544     const sizes = ['B', 'KB', 'MB']
5545 
5546     const i = Math.floor(Math.log(bytes) / Math.log(k))
5547 
5548     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5549   }
5550 
5551   async function trackUrl(link){
5552     try {
5553       let trackId = link.split('/').pop().split('?')[0];
5554       let type = ''
5555       if(link.includes("spotify:")) {
5556         const uri = link.split('spotify:')[1]
5557         trackId = uri.split(':')[1]
5558         type = uri.split(':')[0] + 's'
5559       } else {
5560         if(link.match('track')){
5561           type = 'tracks'
5562         } else if(link.match('playlist')) {
5563           type = 'playlists'
5564         } else if(link.match('artist')) {
5565           type = 'artists'
5566         } else if(link.match('album')) {
5567           type = 'albums'
5568         }
5569       }
5570       console.log(`${host}/api/spotify/${type}/${trackId}`)
5571       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5572       console.log(data, 'DATA')
5573       const song = data?.data?.name
5574       const artist = data?.data?.artist
5575       return {
5576         song, artist, type, trackId, status: data.status
5577       }
5578     } catch(err) {
5579       console.log(err)
5580     }
5581   }
5582 
5583   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5584     const parent = $(this).parents("[data-index]")
5585     const preview = parent.find(".previewImage")
5586     const file = $(this)[0].files[0];
5587     if (file) {
5588         const reader = new FileReader();
5589         reader.onload = async function(e) {
5590           parent.find(".uploadResult label").hide()
5591           parent.find(".uploadedResult").remove()
5592           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5593           <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>
5594           <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;">
5594<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
5595   <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 />
5596 </svg>
5597 </span></div></div>`)
5598           parent.find(".frameImageUploaded svg").hide()
5599           parent.find(".frameImage").addClass("uploaded")
5600           preview.attr("src", e.target.result);
5601           preview.show();
5602           let formData = new FormData(); 
5603           formData.append("file", file);
5604           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5605             method: "POST", 
5606             body: formData
5607           })
5608           const result = await response.json();
5609           if(result){
5610             parent.find(".resultPhotoSpotify").val(result.url)
5611           }
5612         }
5613         
5614         reader.readAsDataURL(file);
5615     } else {
5616         preview.hide();
5617     }
5618   });
5619 
5620   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5621     $(this).next("input[type=file]").trigger("click")
5622   })
5623 
5624   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5625     $(this).parents("input[type=file]").trigger("click")
5626   })
5627 
5628   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5629     const parent = $(this).parents("[data-index]")
5630     parent.find(".uploadPhotoSpotify").val("")
5631     parent.find(".uploadResult label").show()
5632     parent.find(".uploadedResult").remove()
5633     parent.find(".frameImageUploaded svg").show()
5634     parent.find(".previewImage").hide()
5635     parent.find(".frameImage").removeClass("uploaded")
5636   })
5637 
5638   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5639     const parent = $(this).parents("[data-index]")
5640     parent.toggleClass("checked")
5641   })
5642 
5643   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5644     const parent = $(this).parents("[data-index]")
5645     const link = $(this).val()
5646     const data = await trackUrl(link)
5647 
5648     console.log(data)
5649 
5650     if(data.song) {
5651       parent.find(".spotifySong").val(data.song)
5652       parent.find(".spotifyData").find("h3").text(data.song)
5653     }
5654     if(data.artist) {
5655       parent.find(".spotifyArtist").val(data.artist)
5656       parent.find(".spotifyData").find("p").text(data.artist)
5657     }
5658     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5659     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5660     if (data.status === true) {
5661       parent.find(".btn-action .btn").attr("disabled", false)
5662     } else {
5663       parent.find(".btn-action .btn").attr("disabled", true)
5664     }
5665   })
5666   
5667   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5668     const parent = $(this).parents("[data-index]")
5669     const v = $(this).val()
5670     parent.find(".spotifyData h3").text(v)
5671   })
5672 
5673   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5674     const parent = $(this).parents("[data-index]")
5675     const v = $(this).val()
5676     parent.find(".spotifyData p").text(v)
5677   })
5678 
5679   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5680     const parent = $(this).parents("[data-index]")
5681     const length = parent.data("length")
5682     const index = parent.data("index")
5683     const indexNext = Number(index) + 1
5684     customSpotify(indexNext, length, 'addon')
5685   })
5686 
5687   
5688   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5689     const parent = $(this).parents(".purchaseAddon")
5690     const next = parent.next(".sectionPurchase")
5691     parent.addClass("hide")
5692     next.removeClass("hide")
5693     next.find(".purchase-button").show()
5694     listAddon()
5695   })
5696 
5697   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5698     const t = $(this).parents("[data-index]")
5699     const parent = $(this).parents(".sectionPurchase")
5700     const current = t.data("index")
5701     const prevCurrent = Number(current) - 1
5702     if(current == 1) {
5703       parent.removeClass("purchaseAddonSpotify")
5704       parent.find(".purchase-button").show()
5705       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5706       $(".spotifyAddons").empty()
5707       $(".regulerAddons").show()
5708       return
5709     }
5710     t.hide()
5711     t.prev("[data-index]").show()
5712     t.remove()
5713     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5714   })
5715 
5716   $("#personalizeBtn .btn").click(async function() {
5717     loadPopupPersonalize()
5718   });
5719 
5720   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5721     $(".sectionPurchaseSpotify").hide()
5722     loadPopupPersonalize()
5723   })
5724 
5725   $(".close-purchase-popup").click(function() {
5726       disablePopup();
5727   });
5728   $("#backgroundPopup").click(function() {
5729       // disablePopup();
5730   });
5731 
5732   $("#popupCart .close-purchase-popup").click(function() {
5733       location.reload()
5734   });
5735 
5736   $('#popupCart').on('hide.bs.modal', function (e) {
5737     location.reload()
5738   })
5739 
5740   $(".next-card").click(function(){
5741     const parent = $(this).parents(".sectionPurchase")
5742     const next = parent.next(".sectionPurchase")
5743     parent.addClass("hide")
5744     next.removeClass("hide")
5745   })
5746 
5747   $(".back-purchase-button").click(function(){
5748     const parent = $(this).parents(".sectionPurchase")
5749     const prev = parent.prev(".sectionPurchase")
5750     parent.addClass("hide")
5751     prev.removeClass("hide")
5752   })
5753   
5754   $(document).keypress(function(e) {
5755       if (e.keyCode == 27 && popupStatus == 1) {
5756           disablePopup();
5757       }
5758   });
5759   
5760   const parentImg = $(".case-img-preview")
5761   const parentVid = $(".case-video-preview")
5762   
5763   function readURL(input) {
5764     if (input.files && input.files[0]) {
5765       let reader = new FileReader();
5766 
5767       let type = 'image/jpeg'
5768       const size = input.files[0].size
5769       if(input.files[0].type.match('video/')){
5770         type = 'video/mp4'
5771         if(size > 15728640) {
5772           alert('File size exceeds maximum limit 15 MB')
5773           return
5774         }
5775       } else {
5776         if(size > 5242880) {
5777           alert('File size exceeds maximum limit 5 MB')
5778           return
5779         }
5780       }
5781 
5782       reader.onload = function (e) {
5783         $(".nextBtn").attr("disabled", true)
5784         if(type === 'image/jpeg') {
5785           
5786             $('.placeholder-image').hide();
5787             $('.preview-image').show()
5788             $('.preview-image').attr('src', e.target.result);
5789           
5790         } else {
5791           // parentVid.find(".ajax-loader").show();
5792           $(".steps-card-preview").addClass("loading")
5793         }
5794       }
5795 
5796       
5797 
5798       reader.readAsDataURL(input.files[0]);
5799     }
5800   }
5801 
5802   async function readURLPapan(input) {
5803     if (input.files && input.files[0]) {
5804       let reader = new FileReader();
5805 
5806       reader.onload = function (e) {
5807         $('.btn-upload-papan').siblings('label').hide();
5808         $('.btn-upload-papan img').attr('src', e.target.result);
5809         $('.btn-upload-papan img').show();
5810         $('.svgLogoPapan').hide();
5811       }
5812       
5813       const type = 'image/jpeg'
5814       const name = `logo-8144957800663-${Date.parse(new Date())}`
5815 
5816       let formData = new FormData(); 
5817       formData.append("file", input.files[0]);
5818       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5819         method: "POST", 
5820         body: formData
5821       })
5822       const result = await response.json();
5823       if(result) {
5824         const url = result.url
5825         $("[data-properties=papan-logo]").val(url)
5826       }
5827 
5828       reader.readAsDataURL(input.files[0]);
5829     }
5830   }
5831 
5832   async function readURLAddress(input) {
5833     console.log(input, 'readURLAddress')
5834     if (input.files && input.files[0]) {
5835       let reader = new FileReader();
5836 
5837       reader.onload = function (e) {
5838         $('.photo-address').attr('src', e.target.result);
5839         $('.photo-address').show();
5840       }
5841       
5842       const type = 'image/jpeg'
5843       const name = input.files[0].name?.split('.')[0]
5844 
5845       let formData = new FormData(); 
5846       formData.append("file", input.files[0]);
5847       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5848         method: "POST", 
5849         body: formData
5850       })
5851       const result = await response.json();
5852 
5853       reader.readAsDataURL(input.files[0]);
5854 
5855       return result
5856     }
5857   }
5858 
5859   
5860 
5861   
5862   async function addToCartUang() {
5863     var productAddOnId1 = 42122101162199;
5864     var productAddOnId2 = 42122101194967;
5865     var product_id = 8144957800663
5866     const data = {
5867       items: [
5868           {
5869               quantity: $("#Quantity-" + productAddOnId1).val(),
5870               id: productAddOnId1,
5871               "properties": { "Time": $("#properties-time").val() }
5872           },
5873           {
5874               quantity: $("#Quantity-" + productAddOnId2).val(),
5875               id: productAddOnId2,
5876               "properties": { "Time": $("#properties-time").val() }
5877           }
5878       ]
5879     }
5880     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5881       method: 'POST',
5882       headers: {
5883         'Content-Type': 'application/json'
5884       },
5885       body: JSON.stringify(data)
5886     })
5887     .then(response => {
5888       console.error('Sukses Buket Uang:', response);
5889       $(".form-flower").submit()
5890     })
5891     .catch((error) => {
5892       console.error('Error Buket Uang:', error);
5893       $(".form-flower").submit()
5894     });
5895   }
5896   
5897   async function saveCard(){
5898     let isCard = true
5899     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5900     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5901     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5902     const foto = $("#properties-photo").val()
5903     const video = $("#properties-video").val()
5904     const data = JSON.stringify({
5905       "id": qrID, 
5906       "penerima": $("#properties-nama-penerima").val(), 
5907       "kartu_penerima": kartu_penerima, 
5908       "kartu_ucapan": kartu_ucapan, 
5909       "kartu_pengirim": kartu_pengirim, 
5910       "foto": foto,
5911       "video": video, 
5912       "productId": "8144957800663", 
5913       "order_name": "", 
5914       "status": "Cart"
5915     })
5916 
5917     
5918   }
5919 
5920   async function additem(items){
5921     try {
5922       let formData = items
5923       if(items?.length) {
5924         formData = {
5925            'items': items
5926         };
5927       }
5928   
5929       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
5930         method: 'POST',
5931         headers: {
5932           'Content-Type': 'application/json',
5933           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
5934         },
5935         body: JSON.stringify(formData)
5936       })
5937   
5938       const data = await add.json();
5939       return data
5940     } catch(err){
5941       console.log('Error additem', err)
5942     }
5943   }
5944 
5945   async function addons(){
5946     let items = []
5947     $(".addon-item").each(function(){
5948       const p = $(this)
5949       const props = p.next(".propsAddonSpotify")
5950       const id = $(this).data("id")
5951       const quantity = $(this).data("qty")
5952       const propId = $("#properties-time").val()
5953       let properties = {}
5954       if(id === 46067682607319) {
5955         const link = props.find(".spotifyLinkAddon").text()
5956         const photo = props.find(".spotifyFotoAddon").text()
5957         const song = props.find(".spotifySongAddon").text()
5958         const artist = props.find(".spotifyArtistAddon").text()
5959         properties = {
5960           id: propId,
5961           "Spotify Link": link !== '' ? link : '-',
5962           "Spotify Photo": photo !== '' ? photo : '-',
5963           "Spotify Song": song !== '' ? song : '-',
5964           "Spotify Artist": artist !== '' ? artist : '-',
5965           type: 'addon'
5966         }
5967       } else {
5968         properties = { 
5969           "id": propId, 
5970           "type": "addon"
5971         }
5972       }
5973       items.push({
5974         id, 
5975         quantity, 
5976         properties
5977       })
5978     })
5979     return items
5980   }
5981 
5982   async function propItems() {
5983     let props = {}
5984     $("[data-properties]").each(function(e){
5985       let elementType = this.tagName;
5986       const k = $(this).data("properties")
5987       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') {
5988         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
5989         if(v !== '') {
5990           props[k] = v?.replace(/[\s\n]/g, '');
5991         }
5992       }
5993     })
5994     return props
5995   }
5996 
5997   async function showPopupCart(items){
5998     if(productType !== '') {
5999       console.log("clarity event " + productType + ' completeOrder')
6000       window.clarity("event", `${productType} completeOrder`)
6001       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6002     }
6003     $("#popupCart").show()
6004     
6005       $(".propDeliveryCity").text($("#cities").val())
6006       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6007       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6008       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6009       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6010       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6011       $(".propDeliveryProv").text($("#province").val())
6012       $(".propDeliveryZip").text($("#zip").val())
6013       
6014     
6015 
6016     const addons = []
6017     if(items && items.length > 0) {
6018       for(let i = 1; i < items.length; i++) {
6019         const spotifyLink = items[i].properties['Spotify Link']
6020         const spotifyPhoto = items[i].properties['Spotify Photo']
6021         const spotifySong = items[i].properties['Spotify Song']
6022         const spotifyArtist = items[i].properties['Spotify Artist']
6023         const price = items[i].price / 100
6024         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6025                   <div class="col-12 col-lg-2"></div>
6026                   <div class="col-12 col-lg-10">
6027                     <p>
6028                       <span>spotify link</span>
6029                       <span>${spotifyLink}</span>
6030                     </p>
6031                     <p>
6032                       <span>Upload Photo</span>
6033                       <span>${spotifyPhoto}</span>
6034                     </p>
6035                     <p>
6036                       <span>song / playlist name</span>
6037                       <span>${spotifySong}</span>
6038                     </p>
6039                     <p>
6040                       <span>artist name</span>
6041                       <span>${spotifyArtist}</span>
6042                     </p>
6043                   </div>
6044                 </div>` : '';
6045         addons.push(`<div class="row m-0">
6046                   <div class="imgAddonCart col-2">
6047                     <img
6048                       width="43"
6049                       src="${items[i].image}"
6050                       alt=""
6051                     >
6052                   </div>
6053                   <div class="imgAddonTitlePrice col-10 align-self-center">
6054                     <div class="row justify-content-between m-0">
6055                       <div class="col-12 col-lg-8">
6056                         <h5>${items[i].title}</h5>
6057                       </div>
6058                       <div class="col-12 col-lg-4 text-lg-right">
6059                         <span>${rupiah.format(price)}</span>
6060                       </div>
6061                     </div>
6062                   </div>
6063                 </div>${props}`)
6064       }
6065     }
6066     // console.log(addons)
6067     if(addons.length === 0) {
6068       $(".itemAddonCart").hide()
6069       return
6070     }
6071     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6072     $(".wrapperItemAddonCart").html(addons)
6073   }
6074 
6075   const money = (money) => {
6076       return new Intl.NumberFormat('id-ID',
6077           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6078       ).format(money);
6079   }
6080 
6081   async function showNoteMoney() {
6082     let qty50k = $("[data-properties='Uang 50k']").val()
6083     let qty100k = $("[data-properties='Uang 100k']").val()
6084     const total50k = Number(qty50k) * 50000
6085     const total100k = Number(qty100k) * 100000
6086     const total_all = total50k + total100k
6087     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6088     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6089     $(".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://mobile.wso138wede-amp.org/" target="_blank" style="text-decoration: underline;
6089 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6090   }
6091 
6092   async function removeImage() {
6093     const data = JSON.stringify({
6094       "ID": $("#properties-properties-qrId").val(), 
6095       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6096       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6097       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6098       "Nama Penerima": $("#properties-nama-penerima").val(), 
6099       "Order Number":"",
6100       "Status":"Product", 
6101       "Foto": "", 
6102       "Media": $("#properties-video").val(), 
6103       "Image": "8144957800663"
6104     })
6105     const remove = updateCard(data)
6106     if(remove) {
6107       $(this).hide()
6108       $("#properties-photo").val("-")
6109       $(".placeholder-image").show()
6110       $(".preview-image").attr("src", "")
6111     }
6112   }
6113 
6114   async function removeVideo() {
6115     const data = JSON.stringify({
6116       "ID": $("#properties-properties-qrId").val(), 
6117       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6118       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6119       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6120       "Nama Penerima": $("#properties-nama-penerima").val(), 
6121       "Order Number":"",
6122       "Status":"Product", 
6123       "Foto": $("#properties-photo").val(), 
6124       "Media": "", 
6125       "Image": "8144957800663"
6126     })
6127     const remove = updateCard(data)
6128     if(remove) {
6129       $("#properties-video").val("-")
6130       $(this).find("img").hide()
6131       $(this).hide()
6132       $(this).prev("p").text("Add video to make it more special (optional)")
6133       $("#label-input-video").show()
6134       $("#label-input-video span").text("Upload Video")
6135       $(".case-video-preview p span").remove()
6136     }
6137   }
6138 
6139   async function loadItemOccasion(t, occasion) {
6140     const name = occasion?.replace('greeting-card-', '')
6141     $("#kartu-ucapan").val("")
6142     $("[data-occassion]").removeClass("selected")
6143     $("[data-properties=ucapan]").val("")
6144     $("#save-card").attr("disabled", true)
6145     t.addClass("selected")
6146     $("#show_note").attr("data-card-occassion", name)
6147     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6148         const products = data.products
6149         const html = []
6150         for(let i = 0; i < products.length; i++) {
6151             const id = products[i].id
6152             const variantId = products[i].variants[0].id
6153             const img = products[i].images[0].src
6154             const title = products[i].title
6155             const price = products[i].variants[0].price
6156             const qty = products[i].variants[0].inventory_quantity
6157             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6158                 <label for="card-${variantId}"></label>
6159                     <div class="card-image">
6160                         <img src="${img}" alt="${title}" width="" height="" />
6161                     </div>
6162                     <div class="card-meta text-center">
6163                         <h5>${title}</h5>
6164                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6165                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6166                     </div>
6167                 </div>`
6168             html.push(body)
6169         }
6170         const withoutCard = `<div class="item-card item-without-card">
6171                 <label for="card-0"></label>
6172                     <div class="card-image">
6173                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6174                     </div>
6175                     <div class="card-meta text-center">
6176                         <h5>
6176Send without a greeting card</h5>
6177                         <input id="card-0" type="radio" name="id" value="" data-price="">
6178                     </div>
6179                 </div>`
6180         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6181     });
6182   }
6183         
6184   $(document).ready(function(){
6185 
6186     // Observer to auto-trigger addon loading when addon section becomes visible
6187     const addonObserver = new MutationObserver(function(mutations) {
6188       mutations.forEach(function(mutation) {
6189         const target = $(mutation.target)
6190         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6191           if(!target.hasClass('hide')) {
6192             // Addon section just became visible, ensure items are loaded
6193             setTimeout(function() {
6194               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6195                 console.log("Auto-triggering addon load...")
6196                 $("[data-addon=upsell-all]").trigger("click")
6197               }
6198             }, 150)
6199           }
6200         }
6201       })
6202     })
6203     
6204     // Start observing addon section
6205     const addonSection = document.querySelector('.purchaseAddon')
6206     if(addonSection) {
6207       addonObserver.observe(addonSection, { 
6208         attributes: true, 
6209         attributeFilter: ['class'] 
6210       })
6211     }
6212 
6213     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6214     
6215     $(this).find("span").addClass("loading")
6216     let isValid = true
6217     $(".formAddressPurchase [required]").each(function(){
6218       const t = $(this)
6219       const input = t.val()
6220       const p = t.parent()
6221       if(input === '') {
6222         p.addClass("error")
6223         isValid = false
6224       }
6225     })
6226 
6227     if(!isValid) {
6228       $(this).find("span").removeClass("loading")
6229       return
6230     }
6231     
6232     let items = []
6233     const mainProps = {
6234       
6235         "Delivery Date": $("#propDeliveryDate").val(),
6236         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6237         "Kota Pengiriman": $("#cities").val(),
6238         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6239         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6240         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6241         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6242       
6243       
6244         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6245         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6246         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6247         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6248         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6249       
6250       
6251       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6252       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6253       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6254       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6255       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6256       "type": 'product'
6257     }
6258     const props = await propItems()
6259     properties = {...mainProps, ...props };
6260     const id = $("#productSelect").find('option:selected').val()
6261     console.log(id, 'main ID')
6262     const mainItem = {
6263       id: Number(id),
6264       quantity: 1,
6265       properties
6266     }
6267     items.push(mainItem)
6268     const cardId = $("#itemCards").find(".selected input").val()
6269     const cardItem = {
6270       id: Number(cardId),
6271       quantity: 1,
6272       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6273     }
6274     console.log(cardId, 'cardId')
6275     if(cardId) {
6276       items.push(cardItem)
6277     }
6278     const addon = await addons()
6279     if(addon) {
6280       for(let i = 0;
6280 i < addon.length; i++){
6281         items.push({
6282           id: addon[i].id,
6283           quantity: addon[i].quantity,
6284           properties: addon[i].properties
6285         })
6286       }
6287     }
6288     const addItems = await additem(items)
6289     console.log(addItems.items, 'add items')
6290     if(addItems) {
6291       $(this).find("span").removeClass("loading")
6292       disablePopup()
6293       showPopupCart(addItems.items)
6294       
6295       localStorage.setItem("items", JSON.stringify(addItems.items))
6296     }
6297   })
6298   
6299   $("#addtocart-cart .btn").click(async function(){
6300     const id = $("#productSelect").find('option:selected').val()
6301     const mainProps = {
6302       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6303       type: 'product'
6304     }
6305     const props = await propItems()
6306     const properties = { ...mainProps, ...props };
6307     const items = {
6308       id: Number(id),
6309       quantity: 1,
6310       properties
6311     }
6312     const addItems = await additem(items)
6313     if(addItems) {
6314       showPopupCart(addItems.items)
6315       localStorage.setItem("items", JSON.stringify(addItems))
6316     }
6317   })
6318 
6319   $(".formAddressPurchase [required]").change(function(){
6320     const t = $(this)
6321     const p = t.parent()
6322     const v = t.val()
6323     if(v !== '') {
6324       p.removeClass("error")
6325     }
6326   })
6327 
6328   $("#save-card").click(async function(){
6329     const parent = $(this).parents(".sectionPurchase")
6330     const next = parent.next(".sectionPurchase")
6331     $(this).find("span").addClass("loading")
6332     const card = await saveCard()
6333     console.log(card, 'ssaveCCC')
6334     if(card?.status === 200 || card?.status === 201) {
6335       $(".scanCard").removeClass("hide")
6336       $(this).find("span").removeClass("loading")
6337       parent.addClass("hide")
6338       next.removeClass("hide")
6339       if(next.hasClass("purchaseAddon")) {
6340         $("[data-addon=upsell-all]").click()
6341         console.log("clarity event addons")
6342         window.clarity("event", `${productType} add-ons`)
6343         // Ensure addon items are loaded when entering addon popup
6344         setTimeout(function() {
6345           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6346             $("[data-addon=upsell-all]").trigger("click")
6347           }
6348         }, 100)
6349       }
6350       if(next.hasClass("purchaseAddress")) {
6351         $("#zip").select2()
6352       }
6353     }
6354   })
6355 
6356   $("#skip-card").click(async function(){
6357     $("#greetingCard [data-properties]").val("")
6358     $("#properties-photo").val("")
6359     $("#properties-video").val("")
6360     const parent = $(this).parents(".sectionPurchase")
6361     const next = parent.next(".sectionPurchase")
6362     parent.addClass("hide")
6363     next.removeClass("hide")
6364     // $("#itemCards").html("")
6365     removeImage()
6366     removeVideo()
6367     if(next.hasClass("purchaseAddon")) {
6368       $("[data-addon='upsell-all']").click()
6369       console.log("clarity event addons")
6370       window.clarity("event", `${productType} add-ons`)
6371       // Ensure addon items are loaded when entering addon popup
6372       setTimeout(function() {
6373         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6374           $("[data-addon='upsell-all']").trigger("click")
6375         }
6376       }, 100)
6377     }
6378     if(next.hasClass("purchaseAddress")) {
6379       $("#zip").select2()
6380     }
6381   })
6382 
6383   $("#msgCard").click(async function(){
6384       $(this).parent().addClass("loading")
6385       let occasion = $(".selected[data-occassion]").data("occassion")
6386       occasion = occasion?.replace("greeting-card-", "")
6387       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6388       const d = data?.data
6389       for(let i = 0; i < d.length; i++) {
6390         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6391         const greeting = d[num]?.Greeting
6392         $(".greetingCard textarea").val(greeting)
6393         $(this).parent().removeClass("loading")
6394       }
6395       $("#save-card").attr("disabled", false)
6396     })
6397 
6398   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6399     const parent = $(this).parents(".sectionPurchase")
6400     const next = parent.next(".sectionPurchase")
6401     parent.addClass("hide")
6402     next.removeClass("hide")
6403   })
6404 
6405   $("#editCard").click(function(){
6406     $(".custom-card").show()
6407     $(".preview-card").hide()
6408   })
6409 
6410   $("#first_name, #last_name").change(function(){
6411     const v = $(this).val()
6412     const first_name = $("#first_name").val()
6413     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6414     $("[data-properties=nama-penerima]").val(first_name+last_name)
6415   })
6416 
6417   $("[data-occassion]").click(function(){
6418       const t = $(this)
6419       const p = t.parents(".sectionPurchase")
6420       // $(".greetingCard").addClass("disabled")
6421       const occasion = t.data("occassion")
6422       loadItemOccasion(t, occasion)
6423   })
6424 
6425   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6426       const id = $(this).parent(".item-card").data("id")
6427       const t = $(this).parent(".item-card")
6428       const target = t.find("input")
6429       const v = $('.item-card input[type="radio"]:checked').val();
6430       $("#itemCards .item-card").removeClass("selected")
6431       t.addClass("selected")
6432       $("#itemCards .item-card").find("input").attr("name", "")
6433       if(target.length > 0) {
6434           target.attr("name", "id[]")
6435           $("#properties-card").val(id)
6436           $(".greetingCard").removeClass("disabled")
6437           $("#skip-card").attr("disabled", false)
6438       } else {
6439           $("#properties-card").val("")
6440       }
6441   })
6442 
6443   $("#itemCards").delegate(".item-without-card label", "click", function(){
6444     const parent = $(this).parents(".sectionPurchase")
6445     const next = parent.next(".sectionPurchase")
6446     $(".greetingCard").addClass("disabled")
6447     parent.addClass("hide")
6448     next.removeClass("hide")
6449     $("[data-addon=upsell-all]").click()
6450     $("#zip").select2()
6451   })
6452 
6453   $("[data-properties=ucapan]").keyup(function(){
6454     const v = $(this).val()
6455     const p = $(this).parents(".sectionPurchase")
6456     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6457     if(v.length > 3) {
6458       p.find(".next-purchase-button").attr("disabled", false)
6459     } else {
6460       p.find(".next-purchase-button").attr("disabled", true)
6461     }
6462   })
6463 
6464   $("[data-properties=penerima]").keyup(function(){
6465     const v = $(this).val()
6466     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6467   })
6468 
6469   $("[data-properties=pengirim]").keyup(function(){
6470     const v = $(this).val()
6471     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6472   })
6473 
6474   $(document).click(function(e){
6475 
6476      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6477      // $('#popupCart').fadeOut('slow');
6478     // location.reload()
6479   });
6480 
6481   $(".toggleAddonCart").click(function(){
6482     const p = $(this).parent(".itemAddonCart")
6483     p.toggleClass("open")
6484   })
6485 
6486   $(".btnViewCart").click(function(){
6487     window.location.href = "https://outerbloom.com/cart";
6488   })
6489 
6490   $(".btnViewCheckout").click(async function(){
6491     $(this).find("span").addClass("loading")
6492     let zip = $("#zip").val()
6493     const first_name = $("#first_name").val()
6494     const last_name = $("#last_name").val()
6495     const company = $("#company").val() !== '' ? $("#company").val() : ''
6496     const address1 = $("#delivery_address").val()
6497     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6498     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6499     const phone = $("#recipient_number").val()
6500     const city = $("#cities").val()
6501     const province = $("#province").val()
6502     const country = 'Indonesia'
6503     const ver = Date.parse(new Date())
6504     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}`
6505 
6506     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6507     if(clear.status === 200) {
6508       const savedItem = window.localStorage.getItem("items");
6509       const items = JSON.parse(savedItem)
6510       const addItems = await additem(items)
6511       console.log(addItems, 'new addItems')
6512       if(addItems) {
6513         window.location.href = `https://outerbloom.com/checkout?${params}`;
6514       }
6515     }
6516   })
6517 
6518   $(".btnContinueShopping").click(function(){
6519     window.location.href = "https://outerbloom.com/";
6520   })
6521 
6522     if (isIOS) {
6523       $(".empty-state-card").click(function(){
6524         $("#input-foto").trigger("click")
6525       })
6526       $(".btn-upload-image").click(function(){
6527         $("#input-foto").trigger("click")
6528       })
6529       $("[for=input-video]").click(function(){
6530         $("#input-video").trigger("click")
6531       })
6532       $(".btn-upload-papan").click(function(){
6533         $("#logoPapan").trigger("click")
6534       })
6535     }
6536   
6537     $("[data-properties]").each(function(){
6538       const select = $(this).parents(".form-group").find("select")
6539       $(this).change(function(){
6540         const name = $(this).data("properties")
6541         const v = $(this).val()
6542         if (name == 'telepon-penerima') {
6543           let phone = v.replace(/[^0-9]/g, '')
6544           $(this).val(phone);
6545           $("#properties-telepon-penerima").val(phone)
6546           $('.iti__search-input').val('-') 
6547         } else {
6548           $("#properties-" + name).val(v)
6549         }
6550       })
6551       select.on("change", function(){
6552         const name = $(this).data("properties")
6553         const v = $(this).val()
6554         $("#properties-" + name).val(v)
6555       })
6556     })
6557 
6558     $("#show_note").click(function(){
6559       nameq = $("#properties-nama-penerima").val()
6560       dear = $("#properties-kartu-nama-penerima").val()
6561       card = $("[data-properties=ucapan]").val()
6562       sender = $("#properties-kartu-nama-pengirim").val()
6563       photo = $("#properties-photo").val()
6564       video = $("#properties-video").val()
6565       updateCard(nameq, dear, card, sender, photo, video, status)
6566     })
6567 
6568     $(".remove-image").click(function(e){
6569       e.preventDefault()
6570       $(this).find("img").show()
6571       removeImage()
6572     })
6573 
6574     $(".remove-media").click(function(e){
6575       e.preventDefault()
6576       $(this).find("img").show()
6577       removeVideo()
6578     })
6579 
6580     
6581 
6582     $("[data-delivery_method]").click(function(e){
6583       e.preventDefault()
6584       const t = $(this)
6585       const data = t.data("delivery_method")
6586       $("[data-delivery_method]").removeClass("selected")
6587       t.addClass("selected")
6588       $("#cities").val("")
6589       $("#properties-delivery-date").val("-")
6590       $("#deliveryDate button").removeClass("selected")
6591       $("#full-date").val("Full Calendar →")
6592       $("#propDeliveryDate").val("")
6593       const step3 = $("#step-3")
6594       if(data.match('PickUp')) {
6595         $(".selfpickup-point").show()
6596         step3.find("[data-finished=false]").hide()
6597         $("#panel-4").hide()
6598         step3.find("[data-finished=true]").show()
6599         $("#cities").attr("required", false)
6600         $("#form-group-city").hide()
6601         $("#row-delivery-time").hide()
6602         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6603         $("#propDeliveryTime").attr("required", false)
6604         // $("#deliveryDate").find("button:first-child").addClass("stop")
6605         $(".form-selfpickup").show()
6606         $(".form-delivery").hide()
6607         $(".form-delivery").find("input, textarea, select").val("")
6608         $(".form-delivery").find("input, textarea, select").attr("required", false)
6609         $("#properties-shipping").val("0")
6610         $("#noteDeliveryDate").hide()
6611         $(".form-delivery .form-control").attr("required", false)
6612         $("#stepNav4").hide()
6613         
6614         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6615         
6616         
6617         
6618         if(timeOfDay >= 16.01){
6619           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6620         }
6621       } else {
6622         
6623         
6624         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6625         step3.find("[data-finished=false]").show()
6626         $("#panel-4").show()
6627         step3.find("[data-finished=true]").hide()
6628         $("#cities").attr("required", true)
6629         $(".selfpickup-point").hide()
6630         $("#form-group-city").show()
6631         $("#cities").val('').trigger('change');
6632         $("#properties-kota-pengiriman").val("-")
6633         
6634         $("#row-delivery-date, #row-delivery-time").show()
6635         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6636         $("#deliveryDate").find("button").removeClass("stop")
6637         $(".form-selfpickup").hide()
6638         $(".form-delivery").show()
6639         $(".form-delivery").find("input, textarea, select").attr("required", true)
6640         $(".form-delivery [data-properties]").attr("readonly", false)
6641         $("#properties-kodepos").val("-")
6642         $("#properties-alamat-penerima").val("-")
6643         $(".form-delivery .form-control").attr("required", true)
6644         $(this).parents(".setup-content").attr("id", "step-1")
6645         
6646         $("#stepNav4").show()
6647       }
6648     })
6649 
6650     $("[name=selfpickup]").click(function(){
6651         const p = $(this).parents(".row-pickup")
6652         const pickupCity = $("input[name='selfpickup']:checked").val();
6653         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6654         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6655 
6656         $(".row-pickup").removeClass("selected")
6657         p.addClass("selected")
6658         
6659         $("#properties-kota-pengiriman").val(pickupCity)
6660         $("#province").val("Jakarta")
6661         $("#properties-alamat-penerima").val(pickupAddress)
6662         $("#properties-kodepos").val(pickupZip)
6663     })
6664 
6665     $("#cities").change(function(e){
6666       e.preventDefault()
6667       $(this).parent(".row").find("p.error").remove()
6668       $("#full-date").val("Full Calendar")
6669       $("#deliveryDate, #deliveryDateFull label ").show()
6670       $("#deliveryDateFull").removeClass("filled")
6671       $(".btnChangeDeliveryDate").addClass("hide")
6672       $("#full-date").prop('disabled', false);
6673       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6674       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6675       const step3 = $("#step-3")
6676       $("#cityNote").remove()
6677       $("#noteDeliveryDate").hide()
6678       $("#noteDeliveryDate").empty()
6679       let v = $(this).val()
6680       let v2 = $('option:selected', this).attr('data-city');
6681       let v3 = $('option:selected', this).attr('data-province');
6682       let price = $('option:selected', this).attr('data-price');
6683       $("#country").val(v)
6684       $("#properties-kota-pengiriman").val(v)
6685       $("#properties-shipping").val(price)
6686       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6687       $("#properties-delivery-date, #properties-delivery-time").val("-")
6688       $("#propDeliveryDate, #propDeliveryTime").val("")
6689       let note = $('option:selected', this).attr('data-note');
6690       if(v === 'Kota Lainnya') {
6691         $("#noteDeliveryDate").show()
6692         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6693         $("#zip").attr("required", false)
6694         $("#zip").hide()
6695         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6696         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6697         $("#row-delivery-date, #row-delivery-time").hide()
6698         $("#properties-shipping").val("")
6699         // $(this).parents(".setup-content").attr("id", "step-2")
6700         
6701       } else {
6702         $("#noteDeliveryDate").hide()
6703         $("#zip").attr("required", true)
6704         $("#zip").show()
6705         $("#row-delivery-date, #row-delivery-time").show()
6706         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6707         $("#deliveryDate").find("button").removeClass("stop")
6708         // $(this).parents(".setup-content").attr("id", "step-1")
6709         
6710       }
6711       
6712       
6713       
6714       // if(v !== 'Jakarta') {
6715       //   $("[data-type=upsell]").hide()
6716       // } else {
6717       //   $("[data-type=upsell]").show()
6718       // }
6719       // $('.collection-addons')[0].swiper.update();
6720       
6721       
6722       getProvince(v)
6723       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6724       renderZip(v, v2, v3)
6725       
6726       disabledSameDay()
6727       
6728 
6729       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6730         
6731         $("#cardOccasion, #navAddon, .collection-addons").hide()
6732         
6733         $("[data-addon=giftcard]").show()
6734         $("[data-addon=giftcard]").click()
6735         $("#itemAddons").show()
6736         $("#flower-step").addClass("nonjadetabek")
6737       } else {
6738         $("#cardOccasion, #navAddon, .collection-addons").show()
6739         $("[data-addon=all]").click()
6740         $("#flower-step").removeClass("nonjadetabek")
6741       }
6742       
6743         if(v !== '') {
6744           $("#personalizeBtn .btn").attr("disabled", false)
6745         } else {
6746           $("#personalizeBtn .btn").attr("disabled", true)
6747         }
6748       
6749     })
6750 
6751     $("#zip").change(function(e){
6752       let v = $(this).val()
6753       var city = $("#cities").find('option:selected');
6754       $("#properties-kodepos").val(v)
6755       if(city === 'Kota Lainnya') {
6756         $(this).attr("required", true)
6757         $("#recipient-address").val("")
6758       }
6759     })
6760 
6761     
6762       var minDate = +7
6763       
6764     
6765 
6766     $("#full-date").datepicker({
6767       minDate,
6768       dateFormat: 'Mdd_yy', //Nop22_2021,
6769       
6770       beforeShowDay: disabledays,
6771       
6772       onSelect: function (date) {
6773         $("#deliveryDate, #deliveryDateFull label ").hide()
6774         $("#deliveryDateFull").addClass("filled")
6775         $(".btnChangeDeliveryDate").removeClass("hide")
6776         $("#full-date").prop('disabled', true);
6777         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6778         $(".date-full").addClass("selected")
6779         $(".date-single, .calendar-group").removeClass("selected")
6780         $("#propDeliveryTime").val('')
6781         $("#properties-delivery-time").val('-')
6782         $(".time-single").removeClass("selected")
6783         
6784         
6785       }
6786     });
6787 
6788     $(".btnChangeDeliveryDate").click(function(){
6789         $("#deliveryDate, #deliveryDateFull label ").show()
6790         $("#deliveryDateFull").removeClass("filled")
6791         $(".btnChangeDeliveryDate").addClass("hide")
6792         $("#full-date").prop('disabled', false);
6793     })
6794   
6795     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6796       e.preventDefault()
6797       $(this).parents("#row-delivery-date").find("p.error").remove()
6798       const fulldate = $(this).data("fulldate")
6799       const day = $(this).data("day")
6800       const date = $(this).data("date")
6801       const month = $(this).data("month")
6802       const year = $(this).data("year")
6803       const off_pagi = $(this).data("offpagi")
6804       const off_siang = $(this).data("offsiang")
6805       const off_Malam = $(this).data("offMalam")
6806       $(".calendarbutton").removeClass("selected")
6807       $(this).addClass("selected")
6808       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6809       $("#propDeliveryTime").val('')
6810       $("#properties-delivery-time").val('-')
6811       $(".calendarbutton2").removeClass("selected")
6812       $("#full-date").val("Full Calendar")
6813 
6814       
6815       if(off_pagi && timeOfDay > off_pagi) {
6816         $("[data-time=Morning]").attr("disabled", true)
6817       } else {
6818         $("[data-time=Morning]").attr("disabled", false)
6819       }
6820       if(off_siang && timeOfDay > off_siang) {
6821         $("[data-time=Afternoon]").attr("disabled", true)
6822       } else {
6823         $("[data-time=Afternoon]").attr("disabled", false)
6824       }
6825       
6826 
6827       
6828     })
6829     
6830     if(today === 14 && timeOfDay > 17.00) {
6831       $("#deliveryDate button:first-child").attr("disabled", true)
6832     }
6833   
6834     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6835       e.preventDefault()
6836       const time = $(this).data("time")
6837       const date = $("#propDeliveryDate").val()
6838       if(date == '') {
6839         return alert('Silakan pilih tanggal terlebih dahulu')
6840       }
6841       $(".calendarbutton2").removeClass("selected")
6842       $(this).addClass("selected")
6843       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6844     })
6845       
6846     $('textarea.has-limit, input.has-limit').keyup(function () {
6847       max = this.getAttribute("maxlength");
6848       let len = $(this).val().length;
6849       let limit = $(this).siblings(".limit");
6850       if (len > max) {
6851         alert('you have reached the limit');
6852       } else {
6853         limit.text(`${len}/${max}`);
6854       }
6855     });
6856     
6857     $("#button-action-step .btn").click(function(){
6858       $(this).find("span").text("Processing...");
6859     });
6860 
6861     $(".finishBtn").on('click', function() {
6862       $(this).addClass("is-adding");
6863       // $(this).click();
6864     });
6865 
6866     $('.setup-panel .nav-item a.btn-success').trigger('click');
6867 
6868     $("#button-action .btn").click(function(){
6869       $("#flower-step").addClass("block");
6870       $("#button-action").hide();
6871     });
6872         
6873     $(".close-how-order").click(function(){
6874       $("#flower-step").removeClass("block");
6875       $("#button-action").show();
6876     });
6877 
6878     $("#input-foto, #input-video").change(function(e){
6879       readURL(this);
6880     });
6881 
6882     $("#logoPapan").change(function(){
6883       readURLPapan(this);
6884     });
6885 
6886     $("#address-upload").change(async function(){
6887       const upload_address = await readURLAddress(this)
6888       if(upload_address) {
6889         const url = upload_address.url
6890         $(".props-address-upload").val(url)
6891         $(".form-address").addClass("address-uploaded")
6892         $(".form-address-upload").addClass("uploaded")
6893 
6894         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6895       }
6896     })
6897 
6898     $(".address-manualy").click(function(){
6899       $(".form-address-upload").removeClass("uploaded");
6900       $(".photo-address").hide();
6901       $(".form-address").removeClass("address-uploaded")
6902       $("#formAddressPurchase").find(".form-control").attr("required", true)
6903     });
6904 
6905     $(".case-video-preview").delegate(".replace-video", "click", function(){
6906       $("#input-video").trigger("click")
6907     })
6908 
6909     $('.date-single').click(function(e) {
6910       e.preventDefault();
6911       $('.date-single').removeClass('selected');
6912       $('#full-date').removeClass('selected');
6913       $(this).addClass('selected');
6914       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6915     });
6916     $('#full-date').click(function(e){
6917       e.preventDefault();
6918       $('.date-single').removeClass('selected');
6919       $(this).addClass('selected');
6920     });
6921     
6922     // $("tr").each(function(){
6923     //   if($(this).text().match('SKU')) {
6924     //     $(".sku-product").html($(this).parents("table").html())
6925     //   }
6926     // })
6927     
6928     $("#product-image").scroll(function(){
6929       $(".desc-add").each(function(){
6930         const img = $(this).find("img")
6931         const src = img.data("src")
6932         img.attr("src", src)
6933       })
6934     })
6935 
6936     $(".product-fixed").hide()
6937     
6938     let target = $("#personalizeBtn")
6939     
6940 
6941     $(".product-meta").scroll(function() {
6942         if ($(window).scrollTop() >= target.offset().top ) {
6943             $(".product-fixed").addClass("show")
6944         } else {
6945           $(".product-fixed").removeClass("show")
6946         }
6947     });
6948 
6949     $(window).scroll(function() {
6950         if ($(window).scrollTop() >= target.offset().top ) {
6951             $(".product-fixed").addClass("show")
6952         } else {
6953           $(".product-fixed").removeClass("show")
6954         }
6955     });
6956   });
6957 </script>
6957
6958 
6959   
6959<script>
6960     //
6961   </script>
6961
6962 
6963 
6963<script>
6964   $(document).ready(function(){
6965     $('table tr td').each(function(){
6966       var texto = $(this).text();
6967       var nextto = $(this).next("td");
6968       var sku = $("#data-sku").val()
6969       if(texto == 'SKU'){
6970         nextto.text(sku)
6971       }
6972     });
6973     
6974     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
6975     $(".stamped-summary-actions-newreview").text("Tulis Review");
6976     $("#tab-questions").text("Pertanyaan");
6977     
6978     $(".freeship .icon").click(function(){
6979       $(".fs-content").slideToggle();
6980       $(this).parents(".freeship").toggleClass("expand");
6981     });
6982     
6983     var $easyzoom = $('.easyzoom').easyZoom();
6984     // Setup thumbnails example
6985     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
6986     $('.thumbnails').on('click', 'a', function(e) {
6987       var $this = $(this);
6988       e.preventDefault();
6989       // Use EasyZoom's `swap` method
6990       api1.swap($this.data('standard'), $this.attr('href'));
6991     });
6992 
6993     $('#playerID').click(function(){
6994       var videoURL = $('#VdoID').attr('src'),
6995           dataplay = $('#VdoID').attr('data-play');
6996 
6997       //for check autoplay
6998       //if not set autoplay=1
6999       if(dataplay == 0 ){
7000         $('#VdoID').attr('src',videoURL+'?autoplay=1');
7001         $('#VdoID').attr('data-play',1);
7002       }
7003       else{
7004         var videoURL = $('#VdoID').attr('src');
7005         videoURL = videoURL.replace("?autoplay=1", "");
7006         $('#VdoID').prop('src','');
7007         $('#VdoID').prop('src',videoURL);
7008 
7009         $('#VdoID').attr('data-play',0);
7010       }
7011 
7012     });
7013     
7014     $(".product-photo-thumb-video").click(function(e){
7015       e.preventDefault();
7016 
7017       var newEmbed = $(this).attr('href');
7018       $("#featured-image-product").addClass("img-video");
7019       $("#ProductPhotoImg").hide();
7020       $("#featured-image-product .video").show();
7021       $("#featured-image-product iframe").attr('src', newEmbed);
7022       $("#VdoID")[0].src += "&autoplay=1";
7023     });
7024     $(".product-single__thumbnail").click(function(evt){
7025       evt.preventDefault();
7026       $("#featured-image-product").removeClass("img-video");
7027       $("#ProductPhotoImg").show();
7028       $("#featured-image-product .video").hide();
7029       $("#featured-image-product iframe").attr('src', '');
7030     });
7031     
7032     if($('#product-meta .short-desc > div').length >= 1){
7033       //console.log('div detected')
7034       var replacer = $('#product-meta .short-desc > div').contents();
7035       $('#product-meta .short-desc > div').replaceWith(replacer);
7036 
7037       var cAssured =  $('.c-assured').detach();
7038       cAssured.insertAfter('.meta-sds .stock-info');
7039     }
7040 
7041     
7042     
7043     $(".heading-toggle").click(function(){
7044       $(this).parent().toggleClass("open")
7045       
7046     });
7047   });
7048 </script>
7048
7049 
7050 
7051   
7051<script type="application/json" id="ProductJson-Product">
7052         
7053         {"id":8144957800663,"title":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang."}
7054   </script>
7054
7055   
7056     
7056<script type="application/json" id="VariantJson-Product">
7057       [
7058         
7059           {
7060              "incoming": false,
7061              "next_incoming_date": null
7062           }
7063         
7064       ]
7065     </script>
7065
7066   
7067 
7068 
7069 
7070 </div>
7071 
7072 
7073 
7073<script src="https://outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7073
7074 <style>
7075     .stamped-review-header-title,
7076     .stamped-review-header .author,
7077     .stamped-review-content-body,
7078     .stamped-sort-select,
7079     .stamped-review-header .verified-badge[data-type=buyer]:after,
7080     .stamped-review-header-byline,
7081     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7082     .stamped-review {margin-bottom: 0;}
7083     .stamped-review-body {padding-left: 65px;}
7084     .stamped-review:first-child {padding-top: 25px;}
7085     .stamped-review-content {clear: none;}
7086     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7087     .stamped-review-reply-body {padding-left: 65px;}
7088     .stamped-review-header .author {text-transform: capitalize;}
7089     .stamped-questions .stamped-review-content {padding-left: 65px;}
7090 
7091     .stamped-pagination {margin: 20px 0 0;}
7092     .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;}
7093     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7094     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7095     .stamped-pagination li:hover a {background: #ddd;}
7096     .stamped-pagination .next {border-right: 1px solid #ccc;}
7097     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7098     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7099 
7100     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7101     #stamped-pagination-question span {font-size: 14px;}
7102     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7103     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7104     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7105     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7106     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7107 
7108     @media (max-width: 480px){
7109       .stamped-review-reply {margin-left: 0!important;}
7110       select.stamped-sort-select {font-size: 13px!important;}
7111     }
7112 
7113   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7114       display: block !important;
7115   }
7116 </style>
7117 
7117<script>
7118     var selectCallback = function(variant, selector) {
7119       timber.productPage({
7120         money_format: "Rp {{amount_no_decimals}}",
7121         variant: variant,
7122         selector: selector
7123       });
7124     };
7125 
7126     jQuery(function($) {
7127       new Shopify.OptionSelectors('productSelect', {
7128         product:
7129 
7130 
7131 
7132 
7133 
7134 
7135 
7136 {"id":8144957800663,"title":"WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang."},
7137         onVariantSelected: selectCallback,
7138         enableHistoryState: true
7139       });
7140 
7141       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7142       
7143 
7144       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7145       
7146         $('.selector-wrapper').hide();
7147       
7148     });
7149 </script>
7149
7150 
7151 
7152 
7153   
7153<script type="application/ld+json">
7154     {
7155     "@context": "http://schema.org",
7156     "@type": "Product",
7157 "offers": {
7158 "@type": "Offer",
7159 "availability":"https://schema.org/InStock",
7160 "price": 835000,
7161 "priceValidUntil": "05-10-2025",
7162 "priceCurrency": "IDR",
7163 "url": "https://wso138wede.com/"
7164 },
7165 "brand": {
7166 "@type": "Brand",
7167 "name": "Outerbloom Florist"
7168 },
7169 "sku": "8144957800663",
7170 "gtin13": "Jawa",
7171 "name": "WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya",
7172 "description": "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.",
7173 "category": "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang.",
7174 "url": "https://wso138wede.com/",
7175 "image": {
7176 "@type": "ImageObject",
7177 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7178 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7179 "name": "WSO138: Link Resmi Situs Slotgacor Gampang Wede Terpercaya",
7180 "width": 1024,
7181 "height": 1024
7182 }
7183     }
7184   </script>
7184
7185 
7186 
7187 
7188 
7189         
7190 
7190<script id="bss-ltap-hide-price" type="text/javascript" >
7191 !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)}))}
7191)),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)}
7191)),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()}
7191if("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)}
7191if(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");
7191c&&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
7191-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");
7191i&&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
7191--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
7191opify.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");
7191e.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=
7191o.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");
7191if(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();
7191let 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()}]);
7192 </script>
7192
7193 
7194       </main>
7195       
7196       <div id="shopify-section-newsletter" class="shopify-section"><br>
7197   <style>
7198     #shopify-section-newsletter {
7199       background: url('https://assetevos.io/images/2026/06/25/garis-keras-evs.png');
7200       background-attachment: fixed;
7201       margin-bottom: 0;
7202     }
7203     input:-webkit-autofill,
7204     input:-webkit-autofill:hover,
7205     input:-webkit-autofill:active,
7206     input:-webkit-autofill:focus {
7207       -webkit-box-shadow:0 0 0 50px white inset;
7208       -webkit-text-fill-color: #ffffff;
7209     }
7210     .section-newsletter {
7211       max-width: 800px;
7212       margin: auto;
7213       padding: 50px 0;
7214     }
7215     .section-newsletter h2 {
7216       font-weight: 700;
7217       font-size: 24px;
7218     }
7219     .section-newsletter input[type="email"] {
7220       width: 100%;
7221       text-align: center;
7222       border: none;
7223       border-bottom: 1px solid #ffffff;
7224       font-size: 16px;
7225       color: #757575;
7226       background-color: #eeeeee;
7227     }
7228     .section-newsletter .row label {
7229       font-size: 14px;
7230       cursor: pointer;
7231     }
7232     .section-newsletter .radio-inline input {
7233       width: auto;
7234     }
7235     .section-newsletter .btn {
7236       width: 130px;
7237       border: 1px solid #ffffff;
7238       box-shadow: none;
7239       font-size: 16px;
7240       font-weight: 500;
7241       text-transform: uppercase;
7242     }
7243     .section-newsletter form {
7244       margin: 30px 0 60px;
7245     }
7246     .section-newsletter input[type="radio"] {
7247       position: absolute;
7248       width: 1px;
7249       height: 1px;
7250     }
7251     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7252       position: relative;
7253       padding-left: 28px;
7254       cursor: pointer;
7255       line-height: 20px;
7256       display: inline-block;
7257       color: #666;
7258     }
7259     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7260       content: '';
7261       position: absolute;
7262       left: 0;
7263       top: 0;
7264       width: 18px;
7265       height: 18px;
7266       border: 1px solid #ddd;
7267       border-radius: 100%;
7268       background: #fff;
7269     }
7270     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7271       content: '';
7272       width: 12px;
7273       height: 12px;
7274       background: #ffffff;
7275       position: absolute;
7276       top: 3px;
7277       left: 3px;
7278       border-radius: 100%;
7279       -webkit-transition: all 0.2s ease;
7280       transition: all 0.2s ease;
7281     }
7282     .section-newsletter [type="radio"]:not(:checked) + label:after {
7283       opacity: 0;
7284       -webkit-transform: scale(0);
7285       transform: scale(0);
7286     }
7287     .opt-newsletter {display:none;}
7288     .footer-newsletter p, .footer-newsletter p a {
7289       color: #757575;
7290     }
7291     @media (max-width:991px){
7292       .section-newsletter h2 {
7293         font-size: 32px;
7294       }
7295       .section-newsletter input {
7296         width: 300px;
7297         font-size: 14px;
7298       }
7299       .section-newsletter {
7300         padding: 50px 20px;
7301       }
7302     }
7303     @media (max-width: 480px){
7304       .section-newsletter input[type="email"] {font-size: 16px;}
7305     }
7306   </style>
7307  <style>
7308 .icon-img-footer {
7309     width: 80px; 
7310     padding: 0px 5px;
7311 }
7312 @media (min-width: 768px) {
7313     .icon-img-footer {
7314         width: 120px; 
7315     }
7316 }
7317 @media (min-width: 992px) {
7318     .icon-img-footer {
7319         width: 120px; 
7320     }
7321 }
7322 
7323   .button-login-daftar {
7324                         display: grid;
7325                         grid-template-columns: repeat(2, 1fr);
7326                         font-weight: 700;
7327                     }
7328                     .button-login-daftar a {
7329                         text-align: center;
7330                     }
7331                     .login,
7332                     .register {
7333                         color: #00BFFF;
7334                         padding: 15px 10px;
7335                         font-size: 23px;
7336                     }
7337                     .login,
7338                     .login-button {
7339                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7340                         border: 2px solid #00BFFF;
7341                     }
7342                     .register,
7343                     .register-button {
7344                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7345                         border: 2px solid #00BFFF;
7346                     }
7347 
7348 
7349 
7350 </style>
7351 
7352 <!-- wp:html -->
7353  
7353<script>
7354         document.addEventListener('DOMContentLoaded',
7355             function(){const faqItems=document.querySelectorAll('.faq-item');
7356             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7357             question.addEventListener('click',
7358             ()=>{const isActive=item.classList.contains('active');
7359             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7360             if(!isActive){item.classList.add('active')}})})});
7361         </script>
7361
7362 
7363 
7364             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7365             </div>
7366 <div class="faq-section">
7367         <h2>FAQ TERBAIK WSO138</h2>
7368             <div class="faq-container">
7369                 <div class="faq-item">
7370                     <button class="faq-question">1.  Apa itu WSO138?<span></span></button>
7371                     <div class="faq-answer"><p>WSO138 merupakan link yang menghadirkan layanan login judi bola online dengan pilihan pasar pertandingan yang lengkap serta beragam odds kompetitif. Pemain dapat mengikuti berbagai liga populer dunia melalui tampilan yang mudah digunakan dan proses akses yang praktis.</p></div>
7372                 </div>
7373                 <div class="faq-item">
7374                     <button class="faq-question">2. Mengapa banyak pemain memilih WSO138 untuk taruhan bola online?<span></span></button>
7375                     <div class="faq-answer"><p>Banyak pemain memilih WSO138 karena menawarkan variasi odds yang kompetitif, pilihan pertandingan yang lengkap, proses login yang cepat, serta pengalaman bermain yang nyaman melalui perangkat desktop maupun smartphone.<p></div>
7376                 </div>
7377                 <div class="faq-item">
7378                     <button class="faq-question">3. Apa keuntungan bermain di WSO138?<span></span></button>
7379                     <div class="faq-answer"><p>Beragam pilihan odds memberikan fleksibilitas kepada pemain dalam menentukan strategi taruhan sesuai analisis pertandingan. Dengan variasi pasar yang tersedia, pengguna memiliki lebih banyak kesempatan memilih opsi yang dianggap paling sesuai.</p></div>
7380                 </div>
7381                  <div class="faq-item">
7382                     <button class="faq-question">4. Apakah WSO138 menyediakan akses selama 24 jam?<span></span></button>
7383                     <div class="faq-answer"><p>Ya, WSO138 menyediakan akses yang dapat digunakan kapan saja sehingga pemain dapat mengikuti jadwal pertandingan dari berbagai liga internasional tanpa terbatas oleh waktu.</p></div>
7384                 </div>
7385                  <div class="faq-item">
7386                     <button class="faq-question">5. Mengapa WSO138 menjadi pilihan bagi pecinta judi bola online?<span></span></button>
7387                     <div class="faq-answer"><p>Karena WSO138 menghadirkan kombinasi akses yang mudah, pilihan pertandingan yang lengkap, beragam odds terbaik, serta pengalaman pemain yang dirancang agar praktis dan nyaman bagi penggemar taruhan sepak bola online.</p></div>
7388                 </div>
7389 
7390             </div>
7391 
7392         </div>
7393 
7394     </div>
7395 
7396 
7397 <div class="overlay overlay-cart"></div>
7398 <div id="CartDrawer" class="drawer drawer--right">
7399   <div class="drawer__header pl-2 pr-2">
7400     <div class="drawer__icon-cart display-table-cell">
7401       <a href="/cart" class="">
7402         <svg class="icon icon-cart" version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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.
7402005-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>
7403       </a>
7404     </div>
7405     <div class="drawer__title h4">Keranjang Belanja</div>
7406     <div class="drawer__close js-drawer-close">
7407       <button type="button">
7408         <svg class="icon icon-close" version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="32" height="32" viewBox="0 0 32 32">
7409 <title>icon-close</title>
7410 <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>
7411 </svg>
7412       </button>
7413     </div>
7414   </div>
7415   <div id="CartContainer" class="p-2"></div>
7416 </div>
7417 
7418 
7418<script>
7419       
7420     </script>
7420
7421       
7421<script src="https://outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7421
7422       <!-- /snippets/ajax-cart-template.liquid -->
7423 
7424   
7424<script id="CartTemplate" type="text/template">
7425   
7426     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7427       <div class="ajaxcart__inner" {{ cart.item_count }}>
7428         {{#items}}
7429         <div class="ajaxcart__product">
7430           <div class="ajaxcart__row" data-line="{{line}}">
7431             <div class="grid">
7432               <div class="grid__item one-quarter">
7433                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7434               </div>
7435               <div class="grid__item three-quarters">
7436                 <p class="d-block mb-3">
7437                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7438                   {{#if variation}}
7439                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7440                   {{/if}}
7441                   {{#properties}}
7442                     {{#each this}}
7443                       {{#if this}}
7444                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7445                       {{/if}}
7446                     {{/each}}
7447                   {{/properties}}
7448                   
7449                 </p>
7450                 <div class="grid--full display-table">
7451                   <div class="grid__item display-table-cell one-half">
7452                     <div class="ajaxcart__qty">
7453                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7454                         <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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>
7455                         <span class="visually-hidden">Kurangi jumlah barang</span>
7456                       </button>
7457                       <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]*">
7458                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7459                         <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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>
7460                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7461                       </button>
7462                     </div>
7463                   </div>
7464                   <div class="grid__item display-table-cell one-half text-right">
7465                     {{#if discountsApplied}}
7466                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7467                       <br><span class="h4">{{{linePrice}}}</span>
7468                     {{else}}
7469                       <span class="h4">{{{linePrice}}}</span>
7470                     {{/if}}
7471                     </div>
7472                   </div>
7473                   {{#if discountsApplied}}
7474                     <div class="grid--full display-table">
7475                       <div class="grid__item text-right">
7476                         {{#each discounts}}
7477                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7478                         {{/each}}
7479                       </div>
7480                     </div>
7481                   {{/if}}
7482                   </div>
7483                 </div>
7484               </div>
7485             </div>
7486           </div>
7487         </div>
7488         {{/items}}
7489       </div>
7490       <div class="ajaxcart__footer">
7491         <div class="grid--full cart-subtotal py-2">
7492             <p>Subtotal</p>
7493             <h3 class="primary">{{{totalPrice}}}</h3>
7494           {{#if totalCartDiscount}}
7495             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7496           {{/if}}
7497         </div>
7498         
7499         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7500         
7501         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.10.000 <a href="/pages/pengiriman">detail</a></p>
7502       </div>
7503     </form>
7504   
7505   </script>
7505
7506   
7506<script id="AjaxQty" type="text/template">
7507   
7508     <div class="ajaxcart__qty">
7509       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7510         <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="24" viewBox="0 0 32 32">
7511             <title>icon-minus</title>
7512             <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>
7513         </svg>
7514         <span class="visually-hidden">Kurangi jumlah barang</span>
7515           </button>
7516               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7517           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7518         <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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>
7519         <span class="visually-hidden">Tambahkan jumlah barang</span>
7520       </button>
7521     </div>
7522   
7523   </script>
7523
7524   
7524<script id="JsQty" type="text/template">
7525   
7526     <div class="js-qty mx-auto mt-2">
7527       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7528         <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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>
7529         <span class="visually-hidden">Kurangi jumlah barang</span>
7530       </button>
7531       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7532       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7533         <svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" 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>
7534         <span class="visually-hidden">Tambahkan jumlah barang</span>
7535       </button>
7536     </div>
7537   
7538   </script>
7538
7539 
7540 <style>
7541   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7542   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7543   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7544   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7545   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7546   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7547   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7548   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7549   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7550 </style>
7551       
7551<script src="https://outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7551
7552       
7552<script>
7553         jQuery(function($) {
7554           ajaxCart.init({
7555             formSelector: '#AddToCartForm',
7556             cartContainer: '#CartContainer',
7557             addToCartSelector: '#AddToCartXX',
7558             cartCountSelector: '#CartCount, #CartCount2',
7559             cartCostSelector: '#CartCost',
7560             moneyFormat: "Rp {{amount_no_decimals}}"
7561           });
7562           });
7563 
7564           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7565             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7566             timber.RightDrawer.open();
7567           });
7568       </script>
7568
7569     
7570 
7571 
7572 
7573 <style>
7574   /** Search AutoComplete **/
7575   .resultsearch .ui-menu-item[data-cat="Collection"],
7576   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7577   .resultsearch .ui-widget.ui-widget-content {
7578     width: 100%;
7579     top: 48px;
7580     border: none;
7581     box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3);
7582   }
7583   .resultsearch .ui-menu-item {text-align: left;}
7584   .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;}
7585   .ui-state-active {
7586     border: none!important;
7587     background-color: #fafafa!important;
7588     color: #000!important;
7589   }
7590   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7591   .ui-menu .ui-menu-item {line-height: normal;}
7592 </style>
7593 
7593<script>
7594 $(window).load(function(){
7595 
7596   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;}
7597 
7598   $.widget("custom.catcomplete", $.ui.autocomplete, {
7599     _renderMenu: function (ul, items) {
7600       // have search reults split up in categories
7601       var that = this,
7602           currentCategory = "";
7603       $.each(items, function (index, item) {
7604         if (item.category != currentCategory) {
7605           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7606           currentCategory = item.category;
7607         }
7608         that._renderItemData(ul, item);
7609       });
7610     }
7611   });
7612 
7613   // higlight searched for term
7614   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7615     var term = this.element.val(),
7616         html = item.label.replace( term, "<b>$&</b>" );
7617     return $( "<li>" )
7618     .append(format(item))
7619     .appendTo( ul );
7620   };
7621 
7622 
7623   var data = [
7624       { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius ♒️ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries ♈️ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft Sweetbox Newborn", category: "Co
7624llection", 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: " " }
7624,{ 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: " " }
7624,{ 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: " " }
7624,{ 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
7624dal", images: " ", price: " " },{ label: "Karangan Bunga Kendari", category: "Collection", url: "/collections/karangan-bunga-kendari", images: " ", price: " " },{ label: "Karangan Bunga Ketapang", category: "Collection", url: "/collections/karangan-bunga-ketapang", images: " ", price: " " },{ label: "Karangan Bunga Klaten", category: "Collection", url: "/collections/karangan-bunga-klaten", images: " ", price: " " },{ label: "Karangan Bunga Kota Batu", category: "Collection", url: "/collections/karangan-bunga-kota-batu", images: " ", price: " " },{ label: "Karangan Bunga Kudus", category: "Collection", url: "/collections/karangan-bunga-kudus", images: " ", price: " " },{ label: "Karangan Bunga Kupang", category: "Collection", url: "/collections/karangan-bunga-kupang", images: " ", price: " " },{ label: "Karangan Bunga Lamongan", category: "Collection", url: "/collections/karangan-bunga-lamongan", images: " ", price: " " },{ label: "Karangan Bunga Lampung", category: "Collection", url: "/collections/karangan-bunga-lampung", images: " ", price: " " },{ label: "Karangan Bunga Langkat", category: "Collection", url: "/collections/karangan-bunga-langkat", images: " ", price: " " },{ label: "Karangan Bunga Lembang", category: "Collection", url: "/collections/karangan-bunga-lembang", images: " ", price: " " },{ label: "Karangan Bunga Lombok", category: "Collection", url: "/collections/karangan-bunga-lombok", images: " ", price: " " },{ label: "Karangan Bunga Lubuk Pakam", category: "Collection", url: "/collections/karangan-bunga-lubuk-pakam", images: " ", price: " " },{ label: "Karangan Bunga Lumajang", category: "Collection", url: "/collections/karangan-bunga-lumajang", images: " ", price: " " },{ label: "Karangan Bunga Madiun", category: "Collection", url: "/collections/karangan-bunga-madiun", images: " ", price: " " },{ label: "Karangan Bunga Magelang", category: "Collection", url: "/collections/karangan-bunga-magelang", images: " ", price: " " },{ label: "Karangan Bunga Majalengka", category: "Collection", url: "/collections/karangan-bunga-majalengka", images: " ", price: " " },{ label: "Karangan Bunga Makassar", category: "Collection", url: "/collections/karangan-bunga-makassar", images: " ", price: " " },{ label: "Karangan Bunga Malang", category: "Collection", url: "/collections/karangan-bunga-malang", images: " ", price: " " },{ label: "Karangan Bunga Mamuju", category: "Collection", url: "/collections/karangan-bunga-mamuju", images: " ", price: " " },{ label: "Karangan Bunga Manado", category: "Collection", url: "/collections/karangan-bunga-manado", images: " ", price: " " },{ label: "Karangan Bunga Manokwari", category: "Collection", url: "/collections/karangan-bunga-manokwari", images: " ", price: " " },{ label: "Karangan Bunga Maros", category: "Collection", url: "/collections/karangan-bunga-maros", images: " ", price: " " },{ label: "Karangan Bunga Mataram", category: "Collection", url: "/collections/karangan-bunga-mataram", images: " ", price: " " },{ label: "Karangan Bunga Mojokerto", category: "Collection", url: "/collections/karangan-bunga-mojokerto", images: " ", price: " " },{ label: "Karangan Bunga Nganjuk", category: "Collection", url: "/collections/karangan-bunga-nganjuk", images: " ", price: " " },{ label: "Karangan Bunga Nias", category: "Collection", url: "/collections/karangan-bunga-nias", images: " ", price: " " },{ label: "Karangan Bunga Padang", category: "Collection", url: "/collections/karangan-bunga-padang", images: " ", price: " " },{ label: "Karangan Bunga Palangkaraya", category: "Collection", url: "/collections/karangan-bunga-palangkaraya", images: " ", price: " " },{ label: "Karangan Bunga Palu", category: "Collection", url: "/collections/karangan-bunga-palu", images: " ", price: " " },{ label: "Karangan Bunga Pangkal Pinang", category: "Collection", url: "/collections/karangan-bunga-pangkal-pinang", images: " ", price: " " },{ label: "Karangan Bunga Papan", category: "Collection", url: "/collections/karangan-bunga", images: " ", price: " " },{ label: "Karangan Bunga Papan Bandar Lampung", category: "Collection", url: "/collections/karangan-bunga-bandar-lampung", images: " ", price: " " },{ label: "Karangan Bunga Papan Bekasi", category: "Collection", url: "/collections/karangan-bunga-bekasi", images: " ", price: " " },{ label: "Karangan Bunga Papan Binjai", category: "Collection", url: "/collections/karangan-bunga-binjai", images: " ", price: " " },{ label: "Karangan Bunga Papan Blitar", category: "Collection", url: "/collections/karangan-bunga-blitar", images: " ", price: " " },{ label: "Karangan Bunga Papan Buleleng", category: "Collection", url: "/collections/karangan-bunga-buleleng", images: " ", price: " " },{ label: "Karangan Bunga Papan Cibubur", category: "Collection", url: "/collections/karangan-bunga-cibubur", images: " ", price: " " },{ label: "Karangan Bunga Papan Deli Serdang", category: "Collection", url: "/collections/karangan-bunga-deli-serdang", images: " ", price: " " },{ label: "Karangan Bunga Papan Jakarta Timur", category: "Collection", url: "/collections/karangan-bunga-jakarta-timur", images: " ", price: " " },{ label: "Karangan Bunga Papan Karo", category: "Collection", url: "/collections/karangan-bunga-karo", images: " ", price: " " },{ label: "Karangan Bunga Papan Medan", category: "Collection", url: "/collections/karangan-bunga-medan", images: " ", price: " " },{ label: "Karangan Bunga Papan Ngawi", category: "Collection", url: "/collections/karangan-bunga-ngawi", images: " ", price: " " },{ label: "Karangan Bunga Papan Palembang", category: "Collection", url: "/collections/karangan-bunga-palembang", images: " ", price: " " },{ label: "Karangan Bunga Papan Pemalang", category: "Collection", url: "/collections/karangan-bunga-pemalang", images: " ", price: " " },{ label: "Karangan Bunga Papan Rembang", category: "Collection", url: "/collections/karangan-bunga-rembang", images: " ", price: " " },{ label: "Karangan Bunga Papan Sragen", category: "Collection", url: "/collections/karangan-bunga-sragen", images: " ", price: " " },{ label: "Karangan Bunga Papan Tegal", category: "Collection", url: "/collections/karangan-bunga-tegal", images: " ", price: " " },{ label: "Karangan Bunga Papan Temanggung", category: "Collection", url: "/collections/karangan-bunga-temanggung", images: " ", price: " " },{ label: "Karangan Bunga Parepare", category: "Collection", url: "/collections/karangan-bunga-parepare", images: " ", price: " " },{ label: "Karangan Bunga Pasuruan", category: "Collection", url: "/collections/karangan-bunga-pasuruan", images: " ", price: " " },{ label: "Karangan Bunga Pati", category: "Collection", url: "/collections/karangan-bunga-pati", images: " ", price: " " },{ label: "Karangan Bunga Pekalongan", category: "Collection", url: "/collections/karangan-bunga-pekalongan", images: " ", price: " " },{ label: "Karangan Bunga Pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pekanbaru", images: " ", price: " " },{ label: "Karangan Bunga Pematangsiantar", category: "Collection", url: "/collections/karangan-bunga-pematangsiantar", images: " ", price: " " },{ label: "Karangan Bunga Ponorogo", category: "Collection", url: "/collections/karangan-bunga-ponorogo", images: " ", price: " " },{ label: "Karangan Bunga Pontianak", category: "Collection", url: "/collections/karangan-bunga-pontianak", images: " ", price: " " },{ label: "Karangan Bunga Probolinggo", category: "Collection", url: "/collections/karangan-bunga-probolinggo", images: " ", price: " " },{ label: "Karangan Bunga Purbalingga", category: "Collection", url: "/collections/karangan-bunga-purbalingga", images: " ", price: " " },{ label: "Karangan Bunga Purwokerto", category: "Collection", url: "/collections/karangan-bunga-purwokerto", images: " ", price: " " },{ label: "Karangan Bunga Purworejo", category: "Collection", url: "/collections/karangan-bunga-purworejo", images: " ", price: " " },{ label: "Karangan Bunga Riau", category: "Collection", url: "/collections/karangan-bunga-riau", images: " ", price: " " },{ label: "Karangan Bunga Salatiga", category: "Collection", url: "/collections/karangan-bunga-salatiga", images: " ", price: " " },{ label: "Karangan Bunga Samarinda", category: "Collection", url: "/collections/karangan-bunga-samarinda", images: " ", price: " " },{ label: "Karangan Bunga Semarang", category: "Collection", url: "/collections/karangan-bunga-semarang", images: " ", price: " " },{ label: "Karangan Bunga Serang", category: "Collection", url: "/collections/karangan-bunga-serang", images: " ", price: " " },{ label: "Karangan Bunga Sibolga", category: "Collection", url: "/collections/karangan-bunga-sibolga", images: " ", price: " " },{ label: "Karangan Bunga Sidoarjo", category: "Collection", url: "/collections/karangan-bunga-sidoarjo", images: " ", price: " " },{ label: "Karangan Bunga Singkawang", category: "Collection", url: "/collections/karangan-bunga-singkawang", images: " ", price: " " },{ label: "Karangan Bunga Solo", category: "Collection", url: "/collections/karangan-bunga-solo", images: " ", price: " " },{ label: "Karangan Bunga Sorong", category: "Collection", url: "/collections/karangan-bunga-sorong", images: " ", price: " " },{ label: "Karangan Bunga Subang", category: "Collection", url: "/collections/karangan-bunga-subang", images: " ", price: " " },{ label: "Karangan Bunga Sukabumi", category: "Collection", url: "/collections/karangan-bunga-sukabumi", images: " ", price: " " },{ label: "Karangan Bunga Sumbawa", category: "Collection", url: "/collections/karangan-bunga-sumbawa", images: " ", price: " " },{ label: "Karangan Bunga Surabaya", category: "Collection", url: "/collections/karangan-bunga-surabaya", images: " ", price: " " },{ label: "Karangan Bunga Surakarta", category: "Collection", url: "/collections/karangan-bunga-surakarta", images: " ", price: " " },{ label: "Karangan Bunga Tangerang", category: "Collection", url: "/collections/karangan-bunga-tangerang", images: " ", price: " " },{ label: "Karangan Bunga Tasikmalaya", category: "Collection", url: "/collections/karangan-bunga-tasikmalaya", images: " ", price: " " },{ label: "Karangan Bunga Ternate", category: "Collection", url: "/collections/karangan-bunga-ternate", images: " ", price: " " },{ label: "Karangan Bunga Tolitoli", category: "Collection", url: "/collections/karangan-bunga-tolitoli", images: " ", price: " " },{ label: "Karangan Bunga Toraja", category: "Collection", url: "/collections/karangan-bunga-toraja", images: " ", price: " " },{ label: "Karangan Bunga Tuban", category: "Collection", url: "/collections/karangan-bunga-tuban", images: " ", price: " " },{ label: "Karangan Bunga Tulungagung", category: "Collection", url: "/collections/karangan-bunga-tulungagung", images: " ", price: " " },{ label: "Karangan Bunga Wakatobi", category: "Collection", url: "/collections/karangan-bunga-wakatobi", images: " ", price: " " },{ label: "Karangan Bunga Wiyung", category: "Collection", url: "/collections/karangan-bunga-wiyung", images: " ", price: " " },{ label: "Karangan Bunga Wonogiri", category: "Collection", url: "/collections/karangan-bunga-wonogiri", images: " ", price: " " },{ label: "Karangan Bunga Wonokromo", category: "Collection", url: "/collections/karangan-bunga-wonokromo", images: " ", price: " " },{ label: "Karangan Bunga Wonosobo", category: "Collection", url: "/collections/karangan-bunga-wonosobo", images: " ", price: " " },{ label: "Karangan Bunga Yogyakarta", category: "Collection", url: "/collections/karangan-bunga-yogyakarta", images: " ", price: " " },{ label: "Kartu Ucapan", category: "Collection", url: "/collections/kartu-ucapan", images: " ", price: " " },{ label: "Kue Anniversary", category: "Collection", url: "/collections/kue-anniversary", images: " ", price: " " },{ label: "Kue Bachelorette", category: "Collection", url: "/collections/kue-bachelorette", images: " ", price: " " },{ label: "Kue Bandung", category: "Collection", url: "/collections/kue-bandung", images: " ", price: " " },{ label: "Kue Bulan", category: "Collection", url: "/collections/kue-bulan", images: " ", price: " " },{ label: "Kue Imlek", category: "Collection", url: "/collections/kue-imlek", images: " ", price: " " },{ label: "Kue Kering", category: "Collection", url: "/collections/kue-kering", images: " ", price: " " },{ label: "Kue Natal", category: "Collection", url: "/collections/kue-natal", images: " ", price: " " },{ label: "Kue Pernikahan", category: "Collection", url: "/collections/kue-pernikahan", images: " ", price: " " },{ label: "Kue Tart", category: "Collection", url: "/collections/kue-tart", images: " ", price: " " },{ label: "Kue Tart Oma Elly", category: "Collection", url: "/collections/kue-tart-oma-elly", images: " ", price: " " },{ label: "Kue Ulang Tahun", category: "Collection", url: "/collections/kue-ulang-tahun", images: " ", price: " " },{ label: "Lalique", category: "Collection", url: "/collections/lalique", images: " ", price: " " },{ label: "Le Sucre Du Patisserie", category: "Collection", url: "/collections/le-sucre-du-patisserie", images: " ", price: " " },{ label: "Leo ♌️ 23July - 22Augst", category: "Collection", url: "/collections/kado-untuk-zodiak-leo", images: " ", price: " " },{ label: "Letter Box", category: "Collection", url: "/collections/letter-box", images: " ", price: " " },{ label: "Libra ♎️ 23Sept - 23Oct", category: "Collection", url: "/collections/kado-untuk-zodiak-libra", images: " ", price: " " },{ label: "Lilin Aromaterapi", category: "Collection", url: "/collections/lilin-aromaterapi", images: " ", price: " " },{ label: "Lily", category: "Collection", url: "/collections/bunga-lily", images: " ", price: " " },{ label: "Lindt", category: "Collection", url: "/collections/lindt", images: " ", price: " " },{ label: "Locations", category: "Collection", url: "/collections/locations", images: " ", price: " " },{ label: "Love & Romance", category: "Collection", url: "/collections/rangkaian-bunga-i-love-you", images: " ", price: " " },{ label: "Love Bag Collection", category: "Collection", url: "/collections/love-bag-collection", images: " ", price: " " },{ label: "Love Bundle", category: "Collection", url: "/collections/paket-promo-spesial-valentine", images: " ", price: " " },{ label: "Love Bundle Nusantara", category: "Collection", url: "/collections/love-bundle-nusantara", images: " ", price: " " },{ label: "Luxury Chinese New Year Hampers", category: "Collection", url: "/collections/luxury-chinese-new-year-hampers", images: " ", price: " " },{ label: "Luxury Christmas Hampers", category: "Collection", url: "/collections/luxury-christmas-hampers", images: " ", price: " " },{ label: "Luxury Hampers", category: "Collection", url: "/collections/luxury-hampers", images: " ", price: " " },{ label: "Luxury Hampers Luar Jadetabek", category: "Collection", url: "/collections/luxury-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Luxury Newborn Hampers Collection", category: "Collection", url: "/collections/luxury-newborn-hampers-collection", images: " ", price: " " },{ label: "Luxury Ramadan Hampers", category: "Collection", url: "/collections/luxury-ramadan-hampers", images: " ", price: " " },{ label: "Luxury Set", category: "Collection", url: "/collections/luxury", images: " ", price: " " },{ label: "Manual", category: "Collection", url: "/collections/manual", images: " ", price: " " },{ label: "Massimo Gelato", category: "Collection", url: "/collections/massimo-gelato", images: " ", price: " " },{ label: "Men's Collection", category: "Collection", url: "/collections/mens-collection", images: " ", price: " " },{ label: "Mercedes Benz", category: "Collection", url: "/collections/mercedes-benz", images: " ", price: " " },{ label: "Mercy Hampers", category: "Collection", url: "/collections/mercy-
7624hampers", images: " ", price: " " },{ label: "Merry Hampers", category: "Collection", url: "/collections/merry-hampers", images: " ", price: " " },{ label: "Merry Hampers Luar Jabodetabek", category: "Collection", url: "/collections/merry-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Mini Bouquet", category: "Collection", url: "/collections/mini-bouquet", images: " ", price: " " },{ label: "Miss Mondial", category: "Collection", url: "/collections/miss-mondial", images: " ", price: " " },{ label: "Modern & Chic Chinese New Year", category: "Collection", url: "/collections/modern-chic-chinese-new-year", images: " ", price: " " },{ label: "Modern & Chic Christmas Hampers", category: "Collection", url: "/collections/modern-chic-christmas", images: " ", price: " " },{ label: "Modern & Chic Hampers", category: "Collection", url: "/collections/modern-chic-hampers", images: " ", price: " " },{ label: "Modern & Chic Hampers Luar Jadetabek", category: "Collection", url: "/collections/modern-chic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Modern & Chic Ramadan Hampers", category: "Collection", url: "/collections/modern-chic-ramadan-hampers", images: " ", price: " " },{ label: "Modern & Classy Hampers", category: "Collection", url: "/collections/parcel-unik", images: " ", price: " " },{ label: "Modern 3D Cake", category: "Collection", url: "/collections/custom-3d-cake", images: " ", price: " " },{ label: "Modern Style Flowers", category: "Collection", url: "/collections/modern-style-flowers", images: " ", price: " " },{ label: "Monochrome Hampers", category: "Collection", url: "/collections/monochrome-hampers", images: " ", price: " " },{ label: "Monochrome Hampers Luar Jadetabek", category: "Collection", url: "/collections/monochrome-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Mooncake", category: "Collection", url: "/collections/kue-bulan-mooncake-2025-mid-autumn-festival", images: " ", price: " " },{ label: "Mooncake Assorted Selection", category: "Collection", url: "/collections/mooncake-assorted-selection", images: " ", price: " " },{ label: "Mother's Day", category: "Collection", url: "/collections/rangkaian-bunga-hari-ibu", images: " ", price: " " },{ label: "Mother's Day Special", category: "Collection", url: "/collections/kado-untuk-ibu", images: " ", price: " " },{ label: "Necklace", category: "Collection", url: "/collections/kalung", images: " ", price: " " },{ label: "NestBloom Bird Nest Hampers", category: "Collection", url: "/collections/nestbloom-birds-nest", images: " ", price: " " },{ label: "NestBloom Gift Set", category: "Collection", url: "/collections/nestbloom-gift-set", images: " ", price: " " },{ label: "Nestbloom Ritual Kit", category: "Collection", url: "/collections/nestbloom-ritual-kit", images: " ", price: " " },{ label: "NestBloom Single Bloom", category: "Collection", url: "/collections/nestbloom-single-bloom", images: " ", price: " " },{ label: "New Collection", category: "Collection", url: "/collections/produk-baru", images: " ", price: " " },{ label: "New Product", category: "Collection", url: "/collections/new-product", images: " ", price: " " },{ label: "Newborn", category: "Collection", url: "/collections/rangkaian-bunga-newborn-baby", images: " ", price: " " },{ label: "Newborn Hampers", category: "Collection", url: "/collections/parcel-newborn", images: " ", price: " " },{ label: "Occasions", category: "Collection", url: "/collections/occasions", images: " ", price: " " },{ label: "Oma Elly", category: "Collection", url: "/collections/oma-elly", images: " ", price: " " },{ label: "Oma Elly Gelato", category: "Collection", url: "/collections/oma-elly-gelato", images: " ", price: " " },{ label: "Orchid", category: "Collection", url: "/collections/bunga-anggrek", images: " ", price: " " },{ label: "Orori", category: "Collection", url: "/collections/orori", images: " ", price: " " },{ label: "Outerbloom", category: "Collection", url: "/collections/outerbloom", images: " ", price: " " },{ label: "Outerbloom Cake", category: "Collection", url: "/collections/outerbloom-cake", images: " ", price: " " },{ label: "Outerbloom Florist", category: "Collection", url: "/collections/outerbloom-florist", images: " ", price: " " },{ label: "Outerbloom Gift", category: "Collection", url: "/collections/outerbloom-gift", images: " ", price: " " },{ label: "Outerbloom Hampers", category: "Collection", url: "/collections/outerbloom-hampers", images: " ", price: " " },{ label: "Outerbloom Indonesia", category: "Collection", url: "/collections/indonesia", images: " ", price: " " },{ label: "Outerbloom x Boho Panna", category: "Collection", url: "/collections/outerbloom-x-boh
7624o-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: " " }
7624,{ 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: " " }
7624,{ 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: " " }
7624,{ 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: " " }
7624,{ 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: " " }
7624,{ 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: " " }
7624,{ 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: " " }
7624,{ 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: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar aku
7624n baru sekarang.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "WSO138 memberikan link resmi situs slotgacor gampang wede terpercaya untuk semua pemain Indonesia yang akses login alternatif dan daftar akun baru sekarang. 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: " " }
7624,{ 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: " " }
7624,{ 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
7624dal", 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: " " },
7625       { label: "grand salutation jabodetabek", category: "Produk", url: "/products/grand-salutation", images: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://outerbloom.com/cdn/shop/files/Belleza-Jabodetabek-LED_aecb756a-0737-45cc-8bfb-008515ca0a37_thumb.gif?v=1759229680", price: "Rp 435.000" }
7625,{ label: "majestic pink roses with baby breath bouquet", category: "Produk", url: "/products/majestic-pink-roses-with-baby-breath-bouquet", images: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://outerbloom.com/cdn/shop/products/Classic-white-Orchid-Majesty-in-Vase---white---4-Tangkai_thumb.jpg?v=1644205542", price: "Rp 435.000" }
7625,{ label: "majestic blue romance bouquet", category: "Produk", url: "/products/majestic-blue-romance-bouquet", images: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://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: "https://outerbloom.com/cdn/shop/files/OBVBUN1783_Bellarosa-Bloom-Box_c0000424-411c-48ed-abf4-0de7d925ea53_thumb.jpg?v=1757316757", price: "Rp 785.000" }
7626   ];
7627 
7628              
7629         $( ".header-input-search" ).catcomplete({
7630          appendTo: ".searchResult",source: function(request, response) {
7631             var results = $.ui.autocomplete.filter(data, request.term);
7632             var predicate = function () {
7633                 var counter = { Collection: 0, Produk: 0 };
7634             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7635             return fn
7636             }();
7637             response(results.filter(predicate));
7638           },
7639           minLength:1,
7640            //results are clickable
7641           select: function( event, ui ) {window.location = ui.item.url;}
7642 });
7643 $( ".header-input-search2" ).catcomplete({
7644         appendTo: ".searchResult2",
7645                    source: function(request, response) {
7646                     var results = $.ui.autocomplete.filter(data, request.term);
7647                     var predicate = function () {
7648                         var counter = { Collection: 0, Produk: 0 };
7649               var fn = function(item) {
7650               counter[item.category] += 1;
7651   return (counter[item.category] <= 5);
7652 }
7653                return fn
7654                }();
7655 response(results.filter(predicate));
7656 },
7657   minLength:1,
7658         //results are clickable
7659         select: function( event, ui ) {
7660           window.location = ui.item.url;
7661         }
7662 });
7663 });
7664 </script>
7664
7665 
7666     
7666<script src="https://outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7666
7667 
7667<script src="https://outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7667
7668 
7669 
7669<script>
7670   ( function() {
7671     var youtube = document.querySelectorAll( ".youtube" );
7672     for (var i = 0; i < youtube.length; i++) {
7673       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7674       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7675       var image = new Image();
7676       image.src = source;
7677       image.setAttribute("data-src", datasource);
7678       image.classList.add("swiper-lazy");
7679       image.addEventListener( "load", function() {
7680         youtube[ i ].appendChild( image );
7681       }( i ) );
7682       youtube[i].addEventListener( "click", function() {
7683         var iframe = document.createElement( "iframe" );
7684         iframe.setAttribute( "width", "480" );
7685         iframe.setAttribute( "height", "480" );
7686         iframe.setAttribute( "frameborder", "0" );
7687         iframe.setAttribute( "allowfullscreen", "" );
7688         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7689         this.innerHTML = "";
7690         this.appendChild( iframe );
7691       } );
7692     };
7693 
7694   } )();
7695 
7696   /* Lazy Load */
7697   const mainLazyLoad = new LazyLoad({threshold:400});
7698   $(document).ready(function(){
7699 
7700     $("selectxxx").addClass("needsclick");
7701     FastClick.attach(document.body);
7702     
7703     var $customSelects = $('.select-search');
7704     $customSelects.select2({
7705       templateResult: function(result, container) {
7706         if (!result.id) {
7707           return result.text;
7708         }
7709         container.className += ' needsclick';
7710         return result.text;
7711       }
7712     });
7713     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7714     $(document).on('select2:open', () => {
7715       document.querySelector('.select2-search__field').focus();
7716     });
7717     
7718 
7719     $(".overlay").click(function(){
7720       $(".js-drawer-close").click();
7721     });
7722     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7723       $("html").toggleClass("nav_open");
7724     });
7725     
7726     $('.swatch-element label').on('click', function(){
7727       var srcImg = $(this).data('src');
7728       $('#thumb-image-product .product-single__thumbnail').each(function(){
7729         if ($(this).attr("href") == srcImg) {
7730           $(this).trigger('click');
7731         }
7732       });
7733     });
7734     var defaultValue = $(".swatch input:checked").val()
7735     
7736     $('#purchaseProduct .swatch [type=radio]').change(function() {
7737       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7738       var optionValue = $(this).val();
7739       console.log(optionIndex, optionValue)
7740       var value = parseInt(optionValue.split(' ')[0])
7741       $(this)
7742       .closest('#purchaseProduct')
7743       .find('.single-option-selector')
7744       .eq(optionIndex)
7745       .val(optionValue)
7746       .trigger('change');
7747       
7748     });
7749     
7750   });
7751   $(document).ready(function(){
7752     $(".nav-search a").click(function(e){
7753       e.preventDefault();
7754       $(".icon-navsearch").toggle();
7755       $(".icon-navclose").toggle();
7756       $(".site-nav__item > .site-nav__link").toggle();
7757       $(".open-search").toggle();
7758       $(".open-search input").focus();
7759     });
7760     $(".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'>");
7761     if ($(window).width() < 768) {
7762       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7763       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7764       $(".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'>");
7765     } else {
7766       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7767       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7768       $(".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'>");
7769     }
7770     $(".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'>");
7771     $(".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'>");
7772   });
7773 </script>
7773
7774 
7775 
7776     
7777 
7778     
7778<script type="text/javascript">
7779       var wishlistpage = 0;
7780        
7781        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7782     </script>
7782
7783     
7784       <!-- Remove duplicate wishlist.js reference -->
7785       <style>
7786   .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)}}
7787 </style>
7788 
7789 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7790   <div class="modal-dialog" role="document">
7791     <div class="modal-content">        
7792       <div class="modal-body">Your Wishlist is empty!</div>
7793       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7794     </div>
7795   </div>
7796 </div> 
7797 
7798 <div class="wishlist-model">
7799   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7800     <div class="modal-dialog white-modal">
7801       <div class="modal-content">
7802         <div class="modal-header">
7803           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7804             <svg class="icon icon-close" version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="32" height="32" viewBox="0 0 32 32">
7805 <title>icon-close</title>
7806 <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>
7807 </svg>
7808           </button>
7809         </div>
7810         <div class="modal-body">
7811           <div class="wishlist-left">
7812             <div class="wishlist-note">
7813               <span class="cirle"><svg version="1.1" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="32" height="32" viewBox="0 0 32 32">
7814 <title>icon-check</title>
7815 <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>
7816 </svg></span>
7817               Product added to <a href="/pages/wish-list">Wishlist</a>
7818             </div>
7819             <div class="wishlist-product">
7820               <div class="product-left">
7821                 <div class="wishlist-image"></div>
7822               </div>
7823               <div class="product-right">
7824                 <div class="wishlist-name"></div>
7825                 <div class="wishlist-price"></div>
7826               </div>
7827             </div>
7828           </div>
7829           <div class="wishlist-right">
7830             <div class="wishlist-cart">
7831               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
7832                 <div class="others-bottom">
7833                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
7834                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
7835                     <span id="AddToCartText" class="">Beli Sekarang</span>
7836                   </button>
7837                 </div>
7838                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
7839                 <div class="quantity-content">
7840                   <label>QTY</label>
7841                   <input type="number" size="5" class="" name="quantity" value="1" />
7842                 </div>
7843               </form> 
7844             </div>
7845           </div>
7846         </div>
7847       </div>
7848     </div>
7849   </div>
7850 </div>
7851 
7852     
7853     <style>
7854        .stamped-badge[data-rating="0.0"]{display: none !Important;}
7855        
7856         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
7857           border-radius: 0px;
7858       }
7859           .stamped-review-body {
7860           padding-left: 0px !important;
7861       }
7862           #product-reviews .stamped-header:after {
7863             display:none !Important;
7864           }
7865       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
7866           font-family:inherit !important;
7867       }
7868     </style>
7869 
7870     
7871 
7872 <div id='stamped-rewards-init' class='stamped-rewards-init'
7873   data-key-public=''
7874 
7875 ></div>
7876 
7877     
7877<script src="https://outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7877
7878     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
7879     
7879<script src="https://outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7879
7880 
7881     
7881<script>
7882       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
7883     </script>
7883
7884     
7884<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7884<style>
7885   .jss59 {
7886     background-color: rgba(0, 0, 0, 0.6);
7887   }
7888   .MuiBackdrop-root {
7889     top: 0;
7890     left: 0;
7891     right: 0;
7892     bottom: 0;
7893     display: flex;
7894     z-index: -1;
7895     position: fixed;
7896     align-items: center;
7897     justify-content: center;
7898     background-color: rgba(0, 0, 0, 0.5);
7899     -webkit-tap-highlight-color: transparent;
7900   }
7901   .MuiDialog-scrollPaper {
7902     display: flex;
7903     align-items: center;
7904     justify-content: center;
7905   }
7906   .MuiDialog-container {
7907     height: 100%;
7908     outline: 0;
7909   }
7910   .MuiPaper-elevation24 {
7911     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);
7912   }
7913   .MuiDialog-paper {
7914     margin: 32px;
7915     position: relative;
7916     overflow-y: auto;
7917   }
7918   .MuiDialog-paperScrollPaper {
7919     display: flex;
7920     max-height: calc(100% - 64px);
7921     flex-direction: column;
7922   }
7923   .MuiDialog-paperWidthSm {
7924     max-width: 600px;
7925   }
7926   #location-lock-dialog {
7927     top: 20%;
7928     left: 0;
7929     right: 0;
7930     width: 30%;
7931     margin: 0px auto;
7932     display: block;
7933     padding: 30px;
7934     z-index: 99999;
7935     position: fixed;
7936     font-size: 14px;
7937     background: rgb(0, 0, 0);
7938     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
7939     text-align: center;
7940     font-family: Roboto, Arial, sans-serif;
7941     line-height: 1;
7942     border-radius: 8px;
7943     -webkit-font-smoothing: subpixel-antialiased;
7944   }
7945   .MuiButtonBase-root {
7946     color: inherit;
7947     border: 0;
7948     cursor: pointer;
7949     margin: 0;
7950     display: inline-flex;
7951     outline: 0;
7952     padding: 0;
7953     position: relative;
7954     align-items: center;
7955     user-select: none;
7956     border-radius: 0;
7957     vertical-align: middle;
7958     -moz-appearance: none;
7959     justify-content: center;
7960     text-decoration: none;
7961     background-color: transparent;
7962     -webkit-appearance: none;
7963     -webkit-tap-highlight-color: transparent;
7964   }
7965   .MuiIconButton-root {
7966     flex: 0 0 auto;
7967     color: rgba(0, 0, 0, 0.54);
7968     padding: 12px;
7969     overflow: visible;
7970     font-size: 1.5rem;
7971     text-align: center;
7972     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7973     border-radius: 50%;
7974   }
7975   .MuiIconButton-label {
7976     width: 100%;
7977     display: flex;
7978     align-items: inherit;
7979     justify-content: inherit;
7980   }
7981   .MuiSvgIcon-root {
7982     fill: currentColor;
7983     width: 1em;
7984     height: 1em;
7985     display: inline-block;
7986     font-size: 1.5rem;
7987     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7988     flex-shrink: 0;
7989     user-select: none;
7990   }
7991   .MuiTouchRipple-root {
7992     top: 0;
7993     left: 0;
7994     right: 0;
7995     bottom: 0;
7996     z-index: 0;
7997     overflow: hidden;
7998     position: absolute;
7999     border-radius: inherit;
8000     pointer-events: none;
8001   }
8002   .jss36 {
8003     color: #222222;
8004     font-size: 24px;
8005     font-family: Roboto, Arial, sans-serif;
8006     font-weight: 500;
8007   }
8008   .jss37 {
8009     color: #555555;
8010     padding: 10px 0px 0px;
8011     font-size: 14px;
8012   }
8013   .MuiFormGroup-root {
8014     display: flex;
8015     flex-wrap: wrap;
8016     flex-direction: column;
8017   }
8018   .MuiFormGroup-row {
8019     flex-direction: row;
8020   }
8021   .jss63 {
8022     width: 85%;
8023     margin: 15px auto;
8024     display: flex;
8025     padding: 11px 0px 0px;
8026     justify-content: space-evenly;
8027   }
8028   .MuiFormControlLabel-root {
8029     cursor: pointer;
8030     display: inline-flex;
8031     align-items: center;
8032     margin-left: -11px;
8033     margin-right: 16px;
8034     vertical-align: middle;
8035     -webkit-tap-highlight-color: transparent;
8036   }
8037   .jss70 {
8038     margin: 0;
8039   }
8040   .MuiButtonBase-root {
8041     color: inherit;
8042     border: 0;
8043     cursor: pointer;
8044     margin: 0;
8045     display: inline-flex;
8046     outline: 0;
8047     padding: 0;
8048     position: relative;
8049     align-items: center;
8050     user-select: none;
8051     border-radius: 0;
8052     vertical-align: middle;
8053     -moz-appearance: none;
8054     justify-content: center;
8055     text-decoration: none;
8056     background-color: transparent;
8057     -webkit-appearance: none;
8058     -webkit-tap-highlight-color: transparent;
8059   }
8060   .MuiIconButton-root {
8061     flex: 0 0 auto;
8062     color: rgba(0, 0, 0, 0.54);
8063     padding: 12px;
8064     overflow: visible;
8065     font-size: 1.5rem;
8066     text-align: center;
8067     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8068     border-radius: 50%;
8069   }
8070   .MuiIconButton-colorSecondary {
8071     color: #f50057;
8072   }
8073   .jss71 {
8074     padding: 9px;
8075   }
8076   .MuiRadio-root {
8077     color: rgba(0, 0, 0, 0.54);
8078   }
8079   .jss64 {
8080     padding: 2px;
8081   }
8082   .MuiRadio-colorSecondary.Mui-checked {
8083     color: #f50057;
8084   }
8085   .MuiIconButton-label {
8086     width: 100%;
8087     display: flex;
8088     align-items: inherit;
8089     justify-content: inherit;
8090   }
8091   .MuiTypography-root {
8092     margin: 0;
8093   }
8094   .MuiTypography-body1 {
8095     font-size: 18px;
8096     font-family: Roboto,sans-serif;
8097     font-weight: 400;
8098     line-height: 1.5;
8099   }
8100   .location-popup_area-block__sp9Ws {
8101     display: -moz-box;
8102     display: flex;
8103     -moz-box-orient: vertical;
8104     -moz-box-direction: normal;
8105     flex-direction: column;
8106     -moz-box-pack: center;
8107     justify-content: center;
8108     position: relative;
8109     margin: 10px 10% 0;
8110   }
8111   .location-popup_pin-search-box__3l5mJ {
8112     width: 100%;
8113     display: -moz-box;
8114     display: flex;
8115     -moz-box-align: center;
8116     align-items: center;
8117   }
8118   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8119     position: absolute;
8120     z-index: 999;
8121   }
8122   .location-popup_place-icon__jSG0Q {
8123     color: #ffffff;
8124     padding-left: 8px;
8125   }
8126   .location-popup_place-icon__jSG0Q svg {
8127     width: 18px;
8128     height: 18px;
8129   }
8130   .location-popup_cancel-icon__FHujU {
8131     color: #fff;
8132     right: 10px;
8133     width: 16px;
8134     cursor: pointer;
8135     height: 16px;
8136     display: none;
8137     padding: 5px;
8138     position: absolute;
8139     background: #999;
8140     text-align: center;
8141     border-radius: 50%;
8142   }
8143   .location-popup_pin-search-box__3l5mJ>div>select {
8144 /*     -webkit-box-shadow: 0 0 10px #ffffff;
8145     box-shadow: 0 0 10px #ffffff; */
8146     text-transform: capitalize;
8147     border: 1px solid #ffffff;
8148     color: #ffffff;
8149     width: 100%;
8150     margin: 0;
8151     display: -moz-box;
8152     display: flex;
8153     padding: 0 30px;
8154     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8155     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8156     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8157     font-size: 16px;
8158     border-radius: 4px;
8159     height: 44px;
8160     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8161     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8162   }
8163   .MuiButtonBase-root {
8164     color: inherit;
8165     border: 0;
8166     cursor: pointer;
8167     margin: 0;
8168     display: inline-flex;
8169     outline: 0;
8170     padding: 0;
8171     position: relative;
8172     align-items: center;
8173     user-select: none;
8174     border-radius: 0;
8175     vertical-align: middle;
8176     -moz-appearance: none;
8177     justify-content: center;
8178     text-decoration: none;
8179     background-color: transparent;
8180     -webkit-appearance: none;
8181     -webkit-tap-highlight-color: transparent;
8182   }
8183   .MuiButton-root {
8184     color: rgba(0, 0, 0, 0.87);
8185     padding: 6px 16px;
8186     font-size: 0.875rem;
8187     min-width: 64px;
8188     box-sizing: border-box;
8189     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;
8190     font-family: Roboto,sans-serif;
8191     font-weight: 500;
8192     line-height: 1.75;
8193     border-radius: 4px;
8194     text-transform: uppercase;
8195   }
8196   .MuiButton-contained {
8197     color: rgba(0, 0, 0, 0.87);
8198     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);
8199     background-color: #e0e0e0;
8200   }
8201   .MuiButtonBase-root.Mui-disabled {
8202     cursor: default;
8203     pointer-events: none;
8204   }
8205   .MuiButton-label {
8206     width: 100%;
8207     display: inherit;
8208     align-items: inherit;
8209     justify-content: inherit;
8210   }
8211   .cartButton_login_content__2j1f7 {
8212     display: -moz-box;
8213     display: flex;
8214     text-align: center;
8215     z-index: 9;
8216     font-size: 18px;
8217     font-weight: 500;
8218     color: #fff;
8219   }
8220   
8221   .jss35 {
8222     top: 5px;
8223     right: 5px;
8224     padding: 4px;
8225     position: absolute;
8226     border-radius: 50%;
8227   }
8228   .jss67 {
8229     cursor: pointer;
8230     font-size: 15px;
8231     line-height: 1.3;
8232     padding-left: 5px;
8233   }
8234   .jss69 {
8235     color: #222222;
8236   }
8237   .jss80 {
8238     color: #fff;
8239     width: 100%;
8240     height: 52px;
8241     padding: 11px 16px;
8242     font-size: 18px;
8243     min-width: 88px;
8244     min-height: 36px;
8245     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;
8246     font-weight: 500;
8247     line-weight: 1em;
8248     border-radius: 4px;
8249     text-transform: uppercase;
8250     background-color: #ff6600;
8251   }
8252   @media (min-width: 991px){
8253     .cartButton_login_content__2j1f7 {
8254         font-weight: 500;
8255     }
8256   }
8257 
8258   @media (max-width: 992px) {
8259     #location-lock-dialog {
8260       width: 100%;
8261       top: auto;
8262       bottom: 0;
8263       padding-left: 0;
8264       padding-right: 0;
8265     }
8266     .MuiFormGroup-row {
8267       display: block
8268     }
8269     .MuiIconButton-label input {
8270       margin: 0;
8271     }
8272   }
8273 </style>
8274 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8275   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8276   <div tabindex="0" data-test="sentinelStart"></div>
8277   <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;">
8278     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8279       <div class="jss31 undefined" id="location-lock-dialog">
8280         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8281           <span class="MuiIconButton-label">
8282             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8283               <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>
8284             </svg>
8285           </span>
8286           <span class="MuiTouchRipple-root"></span>
8287         </button>
8288         <div>
8289           <div class="jss36">Select Delivery Location</div>
8290           <div class="jss37">Select a delivery location to see product availability</div>
8291         </div>
8292         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8293           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8294             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8295               <span class="MuiIconButton-label">
8296                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8297                 <span class="jss41"></span>
8298               </span>
8299               <span class="MuiTouchRipple-root"></span>
8300             </span>
8301             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8302               <span class="jss67 jss69">Jabodetabek</span>
8303             </span>
8304           </label>
8305           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8306             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8307               <span class="MuiIconButton-label">
8308                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8309                 <span class="jss40"></span>
8310               </span>
8311               <span class="MuiTouchRipple-root"></span>
8312             </span>
8313             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8314               <span class="jss67 jss68">Outside Jabodetabek</span>
8315             </span>
8316           </label>
8317         </div>
8318         <div>
8319           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8320             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8321               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8322                 <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>
8323               </div>
8324               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8325                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8326               </div>
8327               <div style="width: 100%;">
8328                 <select id="choose-location" class="form-control">
8329                   <option value="">Choose Location</option>
8330                   <option value="jakarta">Jakarta</option>
8331                   <option value="bogor">Bogor</option>
8332                   <option value="depok">Depok</option>
8333                   <option value="tangerang">Tangerang</option>
8334                   <option value="bekasi">Bekasi</option>
8335                 </select>
8336               </div>
8337             </div>
8338           </div>
8339         </div>
8340         <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="">
8341           <span class="MuiButton-label">
8342             <span class=""></span>
8343             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8344           </span>
8345         </button>
8346       </div>
8347     </div>
8348   </div>
8349   <div tabindex="0" data-test="sentinelEnd"></div>
8350 </div>
8351 
8352 
8352<script>
8353   const jabodetabek = [
8354     {
8355       "code": "jakarta",
8356       "city": "jakarta",
8357       "zip": []
8358     },
8359     {
8360       "code": "bogor",
8361       "city": "bogor",
8362       "zip": []
8363     },
8364     {
8365       "code": "depok",
8366       "city": "depok",
8367       "zip": []
8368     },
8369     {
8370       "code": "tangerang",
8371       "city": "tangerang",
8372       "zip": []
8373     },
8374     {
8375       "code": "bekasi",
8376       "city": "bekasi",
8377       "zip": []
8378     }
8379   ]
8380   let cityNonJabodetabek = [
8381     
8382
8383     
8384     
8385     "pengiriman_aceh",
8386     
8387     
8388     
8389     
8390     
8391     "pengiriman_ambon",
8392     
8393     
8394     
8395     
8396     
8397     "pengiriman_atambua",
8398     
8399     
8400     
8401     
8402     
8403     "pengiriman_badung",
8404     
8405     
8406     
8407     
8408     
8409     "pengiriman_bali",
8410     
8411     
8412     
8413     
8414     
8415     "pengiriman_balikpapan",
8416     
8417     
8418     
8419     
8420     
8421     "pengiriman_bandar lampung",
8422     
8423     
8424     
8425     
8426     
8427     "pengiriman_bandung",
8428     
8429     
8430     
8431     
8432     
8433     "pengiriman_bandung barat",
8434     
8435     
8436     
8437     
8438     
8439     "pengiriman_banjarmasin",
8440     
8441     
8442     
8443     
8444     
8445     "pengiriman_banyumas",
8446     
8447     
8448     
8449     
8450     
8451     "pengiriman_banyuwangi",
8452     
8453     
8454     
8455     
8456     
8457     "pengiriman_batam",
8458     
8459     
8460     
8461     
8462     
8463     
8464     
8465     
8466     
8467     "pengiriman_biak",
8468     
8469     
8470     
8471     
8472     
8473     "pengiriman_binjai",
8474     
8475     
8476     
8477     
8478     
8479     "pengiriman_blitar",
8480     
8481     
8482     
8483     
8484     
8485     "pengiriman_blora",
8486     
8487     
8488     
8489     
8490     
8491     
8492     
8493     
8494     
8495     "pengiriman_bojonegoro",
8496     
8497     
8498     
8499     
8500     
8501     "pengiriman_boyolali",
8502     
8503     
8504     
8505     
8506     
8507     "pengiriman_bukittinggi",
8508     
8509     
8510     
8511     
8512     
8513     "pengiriman_buleleng",
8514     
8515     
8516     
8517     
8518     
8519     "pengiriman_ciamis",
8520     
8521     
8522     
8523     
8524     
8525     "pengiriman_cianjur",
8526     
8527     
8528     
8529     
8530     
8531     "pengiriman_cibinong",
8532     
8533     
8534     
8535     
8536     
8537     "pengiriman_cikarang",
8538     
8539     
8540     
8541     
8542     
8543     "pengiriman_cikupa",
8544     
8545     
8546     
8547     
8548     
8549     "pengiriman_cilacap",
8550     
8551     
8552     
8553     
8554     
8555     "pengiriman_cileunyi",
8556     
8557     
8558     
8559     
8560     
8561     "pengiriman_cimahi",
8562     
8563     
8564     
8565     
8566     
8567     "pengiriman_cirebon",
8568     
8569     
8570     
8571     
8572     
8573     "pengiriman_ciwidey",
8574     
8575     
8576     
8577     
8578     
8579     "pengiriman_deli serdang",
8580     
8581     
8582     
8583     
8584     
8585     "pengiriman_demak",
8586     
8587     
8588     
8589     
8590     
8591     "pengiriman_denpasar",
8592     
8593     
8594     
8595
8596     
8597     
8598     "pengiriman_garut",
8599     
8600     
8601     
8602     
8603     
8604     "pengiriman_gianyar",
8605     
8606     
8607     
8608     
8609     
8610     "pengiriman_gresik",
8611     
8612     
8613     
8614     
8615     
8616     "pengiriman_gunung kidul",
8617     
8618     
8619     
8620
8621     
8622     
8623     "pengiriman_jambi",
8624     
8625     
8626     
8627     
8628     
8629     "pengiriman_jayapura",
8630     
8631     
8632     
8633     
8634     
8635     "pengiriman_jember",
8636     
8637     
8638     
8639     
8640     
8641     "pengiriman_jepara",
8642     
8643     
8644     
8645     
8646     
8647     "pengiriman_jombang",
8648     
8649     
8650     
8651     
8652     
8653     "pengiriman_karanganyar",
8654     
8655     
8656     
8657     
8658     
8659     "pengiriman_karawang",
8660     
8661     
8662     
8663     
8664     
8665     "pengiriman_karo",
8666     
8667     
8668     
8669     
8670     
8671     "pengiriman_kebumen",
8672     
8673     
8674     
8675     
8676     
8677     "pengiriman_kediri",
8678     
8679     
8680     
8681     
8682     
8683     "pengiriman_keerom",
8684     
8685     
8686     
8687     
8688     
8689     "pengiriman_kendal",
8690     
8691     
8692     
8693     
8694     
8695     "pengiriman_klaten",
8696     
8697     
8698     
8699     
8700     
8701     "pengiriman_kudus",
8702     
8703     
8704     
8705     
8706     
8707     "pengiriman_kupang",
8708     
8709     
8710     
8711     
8712     
8713     "pengiriman_lainnya",
8714     
8715     
8716     
8717     
8718     
8719     "pengiriman_lamongan",
8720     
8721     
8722     
8723     
8724     
8725     "pengiriman_lampung",
8726     
8727     
8728     
8729     
8730     
8731     "pengiriman_lampung barat",
8732     
8733     
8734     
8735     
8736     
8737     "pengiriman_lembang",
8738     
8739     
8740     
8741     
8742     
8743     "pengiriman_lombok",
8744     
8745     
8746     
8747     
8748     
8749     "pengiriman_lumajang",
8750     
8751     
8752     
8753     
8754     
8755     "pengiriman_madiun",
8756     
8757     
8758     
8759     
8760     
8761     "pengiriman_magelang",
8762     
8763     
8764     
8765     
8766     
8767     "pengiriman_majalengka",
8768     
8769     
8770     
8771     
8772     
8773     "pengiriman_makassar",
8774     
8775     
8776     
8777     
8778     
8779     "pengiriman_malang",
8780     
8781     
8782     
8783     
8784     
8785     "pengiriman_manado",
8786     
8787     
8788     
8789     
8790     
8791     "pengiriman_medan",
8792     
8793     
8794     
8795     
8796     
8797     "pengiriman_mengwi",
8798     
8799     
8800     
8801     
8802     
8803     "pengiriman_mojokerto",
8804     
8805     
8806     
8807     
8808     
8809     "pengiriman_nganjuk",
8810     
8811     
8812     
8813     
8814     
8815     "pengiriman_ngawi",
8816     
8817     
8818     
8819     
8820     
8821     "pengiriman_padang",
8822     
8823     
8824     
8825     
8826     
8827     "pengiriman_palembang",
8828     
8829     
8830     
8831     
8832     
8833     "pengiriman_pasuruan",
8834     
8835     
8836     
8837     
8838     
8839     "pengiriman_pati",
8840     
8841     
8842     
8843     
8844     
8845     "pengiriman_pekalongan",
8846     
8847     
8848     
8849     
8850     
8851     "pengiriman_pekanbaru",
8852     
8853     
8854     
8855     
8856     
8857     "pengiriman_pemalang",
8858     
8859     
8860     
8861     
8862     
8863     "pengiriman_ponorogo",
8864     
8865     
8866     
8867     
8868     
8869     "pengiriman_pontianak",
8870     
8871     
8872     
8873     
8874     
8875     "pengiriman_probolinggo",
8876     
8877     
8878     
8879     
8880     
8881     "pengiriman_purbalingga",
8882     
8883     
8884     
8885     
8886     
8887     "pengiriman_purwakarta",
8888     
8889     
8890     
8891     
8892     
8893     "pengiriman_purwokerto",
8894     
8895     
8896     
8897     
8898     
8899     "pengiriman_rembang",
8900     
8901     
8902     
8903     
8904     
8905     "pengiriman_riau",
8906     
8907     
8908     
8909     
8910     
8911     "pengiriman_salatiga",
8912     
8913     
8914     
8915     
8916     
8917     "pengiriman_samarinda",
8918     
8919     
8920     
8921     
8922     
8923     "pengiriman_semarang",
8924     
8925     
8926     
8927     
8928     
8929     "pengiriman_sentani",
8930     
8931     
8932     
8933     
8934     
8935     "pengiriman_serang",
8936     
8937     
8938     
8939     
8940     
8941     "pengiriman_sidoarjo",
8942     
8943     
8944     
8945     
8946     
8947     "pengiriman_singkawang",
8948     
8949     
8950     
8951     
8952     
8953     "pengiriman_sragen",
8954     
8955     
8956     
8957     
8958     
8959     "pengiriman_subang",
8960     
8961     
8962     
8963     
8964     
8965     "pengiriman_sukabumi",
8966     
8967     
8968     
8969     
8970     
8971     "pengiriman_sumbawa",
8972     
8973     
8974     
8975     
8976     
8977     "pengiriman_surabaya",
8978     
8979     
8980     
8981     
8982     
8983     "pengiriman_surakarta solo",
8984     
8985     
8986
8987     
8988     "pengiriman_tasikmalaya",
8989     
8990     
8991     
8992     
8993     
8994     "pengiriman_tegal",
8995     
8996     
8997     
8998     
8999     
9000     "pengiriman_timika",
9001     
9002     
9003     
9004     
9005     
9006     "pengiriman_wamena",
9007     
9008     
9009     
9010     
9011     
9012     "pengiriman_wiyung",
9013     
9014     
9015     
9016     
9017     
9018     "pengiriman_wonokromo",
9019     
9020     
9021     
9022     
9023     
9024     "pengiriman_yogyakarta",
9025 
9026   ]
9027   console.log(cityNonJabodetabek)
9028   let non_jabodetabek = []
9029   for(var i=0;i<cityNonJabodetabek.length;i++) {
9030     const obj = {
9031       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
9032       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
9033       "zip": []
9034     }
9035     non_jabodetabek.push(obj)
9036   }
9037   let current_location = getCookie("location_delivery")
9038   $("[name=location]").change(function(){
9039     let v = $(this).val()
9040     let option = []
9041     if(v == 'Jabodetabek') {
9042       for(var i=0;i<jabodetabek.length;i++) {
9043         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
9044         option.push(jabodetabekHtml)
9045       }
9046       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9047     } else {
9048       for(var i=0;i<non_jabodetabek.length;i++) {
9049         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
9050         option.push(nonjabodetabekHtml)
9051       }
9052       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9053     }
9054   })
9055 
9056   $("#location-lock-submit").click(function(e){
9057     let select = $("#choose-location")
9058     let value = select.val().toLowerCase()
9059     console.log(value)
9060     if(select.val() == "") {
9061       return alert("Choose Your Location")
9062       e.preventDefault()
9063     }
9064     setCookie("location_delivery",value,1000000);
9065     
9066     location.reload();
9067     
9068   })
9069 
9070   $("#close-popup-delivery").click(function(){
9071     $(".MuiDialog-root").hide()
9072     if(!current_location){
9073       setCookie("location_delivery","jakarta",1000000);
9074       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
9075     }
9076   })
9077   $("#loc_delivery, #loc_delivery_mobile").click(function(){
9078     $(".MuiDialog-root").show()
9079   })
9080 
9081   
9082   if(!current_location){
9083     
9084   } else {
9085     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
9086     console.log(current_location)
9087     $("#choose-location").each(function(){
9088       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
9089         $("#jabodetabek").trigger("click")
9090       } else {
9091         $("#non-jabodetabek").trigger("click")
9092       }
9093       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
9094     })
9095   }
9096 
9097   // 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'){
9098   //   $("#timeMalam").attr("disabled", false)
9099   // } else {
9100   //   $("#timeMalam").attr("disabled", true)
9101   // }
9102 
9103   if(current_location && current_location != 'jakarta') {
9104     $("#self-pickup").attr("disabled", true)
9105   }
9106 
9107   function setCookie(name,value,days) {
9108     var expires = "";
9109     if (days) {
9110       var date = new Date();
9111       date.setTime(date.getTime() + (days*24*60*60*1000));
9112       expires = "; expires=" + date.toUTCString();
9113     }
9114     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
9115   }
9116   function getCookie(name) {
9117     var nameEQ = name + "=";
9118     var ca = document.cookie.split(';');
9119     for(var i=0;i < ca.length;i++) {
9120       var c = ca[i];
9121       while (c.charAt(0)==' ') c = c.substring(1,c.length);
9122       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
9123     }
9124     return null;
9125   }
9126 </script>
9126
9127 <!-- One Tap -->
9128     
9128<script>
9129       console.log("Outerbloom...");
9130     </script>
9130
9131   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
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 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
9179 
9179<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9179
9180 
9180<script>
9181   const widgetConfig = {
9182     id: "clz7897za002cz7otleaz0d3d",
9183     showQuickResponse: false,
9184     quickResponsesData: [],
9185     themeColor: "#ffffff",
9186     widgetText: "",
9187     radiusType: "circle",
9188     widgetIconType: "whatsapp",
9189     position: "right",
9190     storeLogo: "",
9191     storeName: "Outerbloom",
9192     storeDescription: "",
9193     size: "small",
9194     showCard: false,
9195     widgetColorType: "solid",
9196     widgetColor1: "#008069",
9197     widgetColor2: "#008069",
9198     social: {
9199       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
9200       values: {
9201         instagram: {
9202           enabled: false,
9203           value: "",
9204         },
9205         facebook: {
9206           enabled: false,
9207           value: "",
9208         },
9209         email: {
9210           enabled: false,
9211           value: "",
9212         },
9213         x: {
9214           enabled: false,
9215           value: "",
9216         },
9217         tiktok: {
9218           enabled: false,
9219           value: "",
9220         },
9221         linkedin: {
9222           enabled: false,
9223           value: "",
9224         },
9225         youtube: {
9226           enabled: false,
9227           value: "",
9228         },
9229       },
9230     },
9231   };
9232 
9233   function initializeWidget() {
9234     if (typeof BBBWidget !== 'undefined') {
9235       BBBWidget.init(widgetConfig);
9236     } else {
9237       setTimeout(initializeWidget, 100);
9238     }
9239   }
9240 
9241   initializeWidget();</script>
9241
9242 
9243 
9244 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
9245 
9246 
9247 <div style="position: fixed; bottom: 0; right: 0"></div>
9248 
9249 
9249<script>
9250 console.info("bitlogin extension version: v2.5.7");
9251 
9252 const googleScript = document.createElement("script");
9253 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
9254 document.head.append(googleScript);
9255 
9256 const bitLoginBaseUrl = "https://api.bitbybit.studio";
9257 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
9258 
9259 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"}};
9260 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
9260n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
9261 const redirectUrl = appearance.redirectLink;
9262 
9263 let locationCacheSet = false;
9264 let errorLocation = false;
9265 let oneTapSet = false;
9266 
9267 let bitloginCache = {
9268   appearance: appearance,
9269   config: config
9270 };
9271 
9272 let isInitializing = false;
9273 const queue = [];
9274 
9275 // Add CSS for the popup
9276 const popupStyles = document.createElement('style');
9277 popupStyles.textContent = `
9278   /* Styles for login popup */
9279   .bitlogin-popup-overlay {
9280     position: fixed;
9281     top: 0;
9282     left: 0;
9283     width: 100%;
9284     height: 100%;
9285     background: rgba(0, 0, 0, 0.45);
9286     backdrop-filter: blur(4px);
9287     display: flex;
9288     align-items: center;
9289     justify-content: center;
9290     opacity: 0;
9291     transition: opacity 0.3s ease-in-out;
9292     z-index: 999999;
9293   }
9294   
9295   .bitlogin-popup-overlay.visible {
9296     opacity: 1;
9297   }
9298   
9299   .bitlogin-popup {
9300     background: #FFFFFF;
9301     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
9302     border-radius: 16px;
9303     width: 100%;
9304     max-width: 560px;
9305     display: flex;
9306     overflow: hidden;
9307     position: relative;
9308     opacity: 0;
9309     transform: translateY(20px) scale(0.98);
9310     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
9311   }
9312   
9313   .bitlogin-popup.visible {
9314     opacity: 1;
9315     transform: translateY(0) scale(1);
9316   }
9317   
9318   .bitlogin-popup-with-image {
9319     max-width: 640px;
9320   }
9321   
9322   .bitlogin-popup-right-image {
9323     flex-direction: row-reverse;
9324   }
9325   
9326   .bitlogin-popup-image {
9327     object-fit: cover;
9328     width: 50%;
9329     height: auto;
9330   }
9331   
9332   .bitlogin-popup-content {
9333     padding: 32px;
9334     position: relative;
9335     width: 50%;
9336   }
9337   
9338   .bitlogin-popup-close {
9339     position: absolute;
9340     top: 16px;
9341     right: 16px;
9342     background: white;
9343     border: none;
9344     width: 30px;
9345     height: 30px;
9346     display: flex;
9347     align-items: center;
9348     justify-content: center;
9349     cursor: pointer;
9350     transition: background-color 0.2s;
9351     color: inherit;
9352     padding: 0;
9353   }
9354   
9355   .bitlogin-popup-close:hover {
9356     background-color: #e5e5e5;
9357   }
9358   
9359   .bitlogin-popup-buttons {
9360     display: flex;
9361     flex-direction: column;
9362     gap: 12px;
9363     margin-top: 24px;
9364   }
9365   
9366   /* Button styles within popup - override width for popup buttons */
9367   .bitlogin-popup-buttons #google-login,
9368   .bitlogin-popup-buttons #facebook-login,
9369   .bitlogin-popup-buttons #apple-login,
9370   .bitlogin-popup-buttons #whatsapp-login,
9371   .bitlogin-popup-buttons #microsoft-login,
9372   .bitlogin-popup-buttons #twitter-login,
9373   .bitlogin-popup-buttons #amazon-login,
9374   .bitlogin-popup-buttons #instagram-login,
9375   .bitlogin-popup-buttons #magic-link-login,
9376   .bitlogin-popup-buttons #mobile-app-login {
9377     width: 100% !important;
9378     font-family: inherit !important;
9379   }
9380   
9381   .bitlogin-popup-footer {
9382     margin-top: 32px;
9383     text-align: center;
9384     font-size: 14px;
9385     opacity: 0.6;
9386   }
9387   
9388   /* Modern Typography */
9389   .bitlogin-popup h2 {
9390     margin-top: 12px;
9391     font-size: 21px !important;
9392     line-height: 1.2 !important;
9393     font-weight: 700 !important;
9394     letter-spacing: -0.02em !important;
9395     margin-bottom: 16px !important;
9396   }
9397   
9398   .bitlogin-popup-header {
9399     position: relative;
9400     margin-bottom: 24px;
9401   }
9402   
9403   /* Modern gradient accent */
9404   .bitlogin-popup-content > div {
9405     font-size: 16px !important;
9406     line-height: 1.2 !important;
9407     opacity: 0.85 !important;
9408   }
9409   
9410   /* Enhanced button interactions */
9411   .bitlogin-popup-buttons button {
9412     position: relative;
9413     overflow: hidden;
9414   }
9415   
9416   @keyframes ripple {
9417     0% {
9418       transform: scale(0, 0);
9419       opacity: 0.5;
9420     }
9421     100% {
9422       transform: scale(100, 100);
9423       opacity: 0;
9424     }
9425   }
9426   
9427   /* Responsive adjustments */
9428   @media (max-width: 640px) {
9429     .bitlogin-popup {
9430       max-width: 90%;
9431       width: 90%;
9432       margin: 0 16px;
9433     }
9434     
9435     .bitlogin-popup-with-image {
9436       flex-direction: column !important;
9437     }
9438     
9439     .bitlogin-popup-image {
9440       width: 100%;
9441       height: 180px;
9442     }
9443     
9444     .bitlogin-popup-content {
9445       padding: 24px;
9446     }
9447     
9448     .bitlogin-popup h2 {
9449       font-size: 24px !important;
9450     }
9451   }
9452 `;
9453 
9454 document.head.appendChild(popupStyles);
9455 
9456 // Add fonts link for different font options
9457 const fontsLink = document.createElement('link');
9458 fontsLink.rel = 'stylesheet';
9459 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';
9460 document.head.appendChild(fontsLink);
9461 
9462 (async () => {
9463   try {
9464     let host = window.location.host;
9465     if (host === "admin.shopify.com") {
9466       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9467     }
9468 
9469     const urlSearchParams = new URLSearchParams(window.location.search);
9470     const checkoutUrl = urlSearchParams.get("checkout_url");
9471 
9472     async function init({ inputRef, index }) {
9473       if (isInitializing) {
9474         queue.push(() => init({ inputRef, index }));
9475         return;
9476       }
9477 
9478       isInitializing = true;
9479 
9480       try {
9481         let bitLoginSectionRoot = document.querySelector(
9482           `.bitlogin-root[data-index="${index}"]`
9483         );
9484 
9485         const formRef = inputRef?.closest(
9486           "form:not([action='/account/recover'])"
9487         );
9488 
9489         if (formRef && !bitLoginSectionRoot) {
9490           await getLocation();
9491 
9492           bitLoginSectionRoot = document.createElement(`div`);
9493 
9494           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9495           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9496 
9497           updateAppearance({
9498             formRef,
9499             rootRef: bitLoginSectionRoot,
9500             host,
9501           });
9502         }
9503       } catch (err) {
9504         console.error(`error while initiating bitlogin extensions`, err);
9505       } finally {
9506         // Release the lock
9507         isInitializing = false;
9508 
9509         // Check if there are pending items in the queue
9510         if (queue.length > 0) {
9511           // Process the next function in the queue
9512           const nextFunction = queue.shift();
9513           nextFunction();
9514         }
9515       }
9516     }
9517 
9518     function initAll() {
9519       return new Promise((resolve, reject) => {
9520         setTimeout(async () => {
9521           const inputRefs = document.querySelectorAll(
9522             'input[name="customer[email]"]'
9523           );
9524 
9525           for (let i = 0; i < inputRefs.length; i++) {
9526             const currentInputRef = inputRefs[i];
9527             const isVisible = isElementVisible(currentInputRef);
9528 
9529             if (isVisible) {
9530               await init({ inputRef: currentInputRef, index: i });
9531             }
9532           }
9533 
9534           resolve("ok");
9535         }, 100);
9536       });
9537     }
9538 
9539     const observer = new MutationObserver((mutationsList) => {
9540       for (let mutation of mutationsList) {
9541         initAll();
9542       }
9543     });
9544 
9545     observer.observe(document.body, {
9546       childList: true,
9547       subtree: true,
9548       attributes: true,
9549     });
9550 
9551     initAll();
9552 
9553     if (appearance.googleOneTap) {
9554       setupOneTap({ host, checkoutUrl });
9555     }
9556 
9557     // Initialize popup
9558     await initPopup(host);
9559   } catch (error) {
9560     console.error("Error initializing BitLogin:", error);
9561   }
9562 })();
9563 
9564 async function initPopup(host) {
9565   // Check if user is already logged in using Liquid checks properly
9566   const isLoggedIn = false || 
9567                     document.querySelector('.customer-logout-link') || 
9568                     document.querySelector('.account-link') || 
9569                     window.location.pathname.includes('/account');
9570   
9571   if (isLoggedIn) {
9572     return; // User is logged in, don't show popup
9573   }
9574 
9575   try {
9576     // Fetch the popup configuration
9577     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9578       .then(res => res.json())
9579       .catch(err => {
9580         console.error('Error fetching popup configuration:', err);
9581         return null;
9582       });
9583 
9584     if (!popupConfig || !popupConfig.enabled) {
9585       return;
9585 // Don't show popup if disabled or config not found
9586     }
9587 
9588     // Create popup after 10 seconds
9589     setTimeout(() => {
9590       // Check if user is still on the page and still not logged in
9591       if (document.visibilityState === 'visible') {
9592         // Additional check in case user logged in during the 10 second wait
9593         const currentlyLoggedIn = false || 
9594                               document.querySelector('.customer-logout-link') || 
9595                               document.querySelector('.account-link');
9596         
9597         if (!currentlyLoggedIn) {
9598           createLoginPopup(popupConfig, host);
9599         }
9600       }
9601     }, 10000);
9602   } catch (error) {
9603     console.error('Error initializing popup:', error);
9604   }
9605 }
9606 
9607 function createLoginPopup(popupConfig, host) {
9608   // Font mapping
9609   const fontFamilyMap = {
9610     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9611     montserrat: 'Montserrat, sans-serif',
9612     roboto: 'Roboto, sans-serif',
9613     open_sans: 'Open Sans, sans-serif',
9614     noto_sans: 'Noto Sans, sans-serif',
9615     lato: 'Lato, sans-serif',
9616     poppins: 'Poppins, sans-serif',
9617     quicksand: 'Quicksand, sans-serif',
9618     raleway: 'Raleway, sans-serif',
9619     pt_sans: 'PT Sans, sans-serif',
9620     oswald: 'Oswald, sans-serif',
9621   };
9622 
9623   // Create overlay
9624   const overlay = document.createElement('div');
9625   overlay.className = 'bitlogin-popup-overlay';
9626   
9627   // Create popup container with appropriate styling
9628   const popup = document.createElement('div');
9629   popup.className = 'bitlogin-popup';
9630 
9631   if (popupConfig.layout === 'default') {
9632     popup.style.maxWidth = '400px';
9633   }
9634   
9635   // Function to close the popup
9636   const closePopup = () => {
9637     overlay.classList.remove('visible');
9638     popup.classList.remove('visible');
9639     setTimeout(() => {
9640       if (document.body.contains(overlay)) {
9641         document.body.removeChild(overlay);
9642       }
9643     }, 300);
9644   };
9645   
9646   // Add click handler to the overlay to close when clicking outside
9647   overlay.addEventListener('click', (event) => {
9648     // Close only if clicking directly on the overlay, not its children
9649     if (event.target === overlay) {
9650       closePopup();
9651     }
9652   });
9653   
9654   // Add escape key handler to close popup
9655   document.addEventListener('keydown', (event) => {
9656     if (event.key === 'Escape' && document.body.contains(overlay)) {
9657       closePopup();
9658     }
9659   });
9660 
9661   // Create layout with image if specified
9662   let contentWrapper;
9663   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9664     popup.classList.add('bitlogin-popup-with-image');
9665     
9666     if (popupConfig.layout === 'right') {
9667       popup.classList.add('bitlogin-popup-right-image');
9668     }
9669     
9670     // Add image
9671     const image = document.createElement('img');
9672     image.className = 'bitlogin-popup-image';
9673     image.src = popupConfig.popupImage;
9674     image.alt = 'Login';
9675     image.loading = 'lazy';
9676     popup.appendChild(image);
9677     
9678     // Create content container
9679     contentWrapper = document.createElement('div');
9680     contentWrapper.className = 'bitlogin-popup-content';
9681 
9682     if (popupConfig.layout === 'right') {
9683       const closeButton = document.createElement('button');
9684       closeButton.className = 'bitlogin-popup-close';
9685       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
9686         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9687       </svg>`;
9688       closeButton.setAttribute('aria-label', 'Close');
9689       closeButton.onclick = closePopup;
9690   
9691       popup.appendChild(closeButton);
9692     }
9693   } else {
9694     contentWrapper = document.createElement('div');
9695     contentWrapper.className = 'bitlogin-popup-content';
9696     contentWrapper.style.width = '100%';
9697   }
9698 
9699   // Set background style
9700   if (popupConfig.backgroundTheme === 'gradient') {
9701     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9702   } else {
9703     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9704   }
9705 
9706   // Apply font family
9707   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9708 
9709   if (popupConfig.layout !== 'right') {
9710     const closeButton = document.createElement('button');
9711     closeButton.className = 'bitlogin-popup-close';
9712     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
9713       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9714     </svg>`;
9715     closeButton.setAttribute('aria-label', 'Close');
9716     closeButton.onclick = closePopup;
9717   
9718     contentWrapper.appendChild(closeButton);
9719   }
9720 
9721   // Add heading with subtle animation effect
9722   const header = document.createElement('div');
9723   header.className = 'bitlogin-popup-header';
9724   
9725   const heading = document.createElement('h2');
9726   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9726its';
9727   heading.style.color = popupConfig.fontColor;
9728   header.appendChild(heading);
9729 
9730   // Add body text with improved formatting
9731   const bodyText = document.createElement('div');
9732   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9733   bodyText.style.color = popupConfig.fontColor;
9734   header.appendChild(bodyText);
9735   
9736   contentWrapper.appendChild(header);
9737 
9738   // Create buttons container with modern styling
9739   const buttonsContainer = document.createElement('div');
9740   buttonsContainer.className = 'bitlogin-popup-buttons';
9741   
9742   // Add social buttons
9743   const providerLabels = {
9744     'GOOGLE': 'Continue with Google',
9745     'FACEBOOK': 'Continue with Facebook',
9746     'APPLE': 'Continue with Apple',
9747     'WHATSAPP': 'Continue with WhatsApp',
9748     'MAGIC_LINK': 'Continue with Email',
9749   };
9750 
9751   // Add first login provider button
9752   if (popupConfig.loginProvider1 !== 'NONE') {
9753     const buttonConfig = {
9754       theme: popupConfig.colorScheme || 'match',
9755       customColor: popupConfig.textColor,
9756       format: 'contentFlex',
9757       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9758       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9759       style: popupConfig.style || 'rounded',
9760       size: popupConfig.size || 'medium',
9761       colorScheme: popupConfig.colorScheme || 'match',
9762       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9763       textColor: popupConfig.textColor || '#FFFFFF',
9764       outlineColor: popupConfig.outlineColor || '#3B82F6',
9765       host: host
9766     };
9767     
9768     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9769     
9770     // Handle click event - this overrides the default click handler in createSocialLoginButton
9771     button1.onclick = () => {
9772       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9773       closePopup();
9774     };
9775     
9776     buttonsContainer.appendChild(button1);
9777   }
9778 
9779   // Add second login provider button if enabled
9780   if (popupConfig.loginProvider2 !== 'NONE') {
9781     const buttonConfig = {
9782       theme: popupConfig.colorScheme || 'match',
9783       customColor: popupConfig.textColor,
9784       format: 'contentFlex',
9785       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9786       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9787       style: popupConfig.style || 'rounded',
9788       size: popupConfig.size || 'medium',
9789       colorScheme: popupConfig.colorScheme || 'match',
9790       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9791       textColor: popupConfig.textColor || '#FFFFFF',
9792       outlineColor: popupConfig.outlineColor || '#3B82F6',
9793       host: host
9794     };
9795     
9796     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9797     
9798     // Handle click event - this overrides the default click handler in createSocialLoginButton
9799     button2.onclick = () => {
9800       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9801       closePopup();
9802     };
9803     
9804     buttonsContainer.appendChild(button2);
9805   }
9806 
9807   contentWrapper.appendChild(buttonsContainer);
9808 
9809   // Append content to popup
9810   popup.appendChild(contentWrapper);
9811   
9812   // Append popup to overlay
9813   overlay.appendChild(popup);
9814   
9815   // Append overlay to body
9816   document.body.appendChild(overlay);
9817   
9818   // Trigger animation with slight delay for better perceived performance
9819   setTimeout(() => {
9820     overlay.classList.add('visible');
9821     setTimeout(() => {
9822       popup.classList.add('visible');
9823     }, 50);
9824   }, 10);
9825 }
9826 
9827 window.addEventListener("load", () => {
9828   window.addEventListener("message", (event) => {
9829     const receivedData = event.data;
9830 
9831     if (receivedData.type === "authorize") {
9832       post(
9833         JSON.parse(
9834           JSON.stringify({
9835             "customer[email]": receivedData.email,
9836             "customer[password]": receivedData.password,
9837             form_type: "customer_login",
9838             utf8: "✓",
9839             return_url: redirectUrl,
9840           })
9841         )
9842       );
9843     } else if (receivedData.type === "rejected") {
9844       if (receivedData.reason === "customer_account_disabled") {
9845         showAlert(
9846           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9847         );
9848       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9849         showAlert(
9850           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9851         );
9852       } else if (receivedData.reason === "customer_exist_email_not_set") {
9853         showAlert(
9854           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9855         );
9856       }
9857     }
9858 
9859     if (receivedData.type === "customer_authenticated") {
9860       // Dispatch a custom event that merchants can listen for to implement their custom logic
9861       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9862         detail: {
9863           provider: receivedData.provider,
9864           customer: receivedData.customer,
9865           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9866         }
9867       });
9868       
9869       // Dispatch the event on the window object so merchants can listen for it
9870       window.dispatchEvent(customerAuthEvent);
9871       
9872     }
9873   });
9874 });
9875 
9876 // Reusable functions for social login buttons
9877 function createSocialLoginButton(provider, config = {}) {
9878   const {
9879     theme = 'match',
9880     customColor = null,
9881     format = 'contentFlex',
9882     buttonText = null,
9883     hasShadow = true,
9884     style = 'rounded',
9885     size = 'medium',
9886     colorScheme = 'match',
9887     backgroundColor = '#3B82F6',
9888     textColor = '#FFFFFF',
9889     outlineColor = '#3B82F6',
9890     rootRef = null,
9891     host = null
9892   } = config;
9893   
9894   // Create button element with appropriate ID and attributes
9895   const button = document.createElement('button');
9896   button.id = `${provider.toLowerCase()}-login`;
9897   button.type = 'button';
9898   
9899   // Set the inner SVG based on provider
9900   switch (provider.toUpperCase()) {
9901     case 'GOOGLE':
9902       button.innerHTML = googleLoginIcon(theme, customColor);
9903       break;
9904     case 'FACEBOOK':
9905       button.innerHTML = facebookLoginIcon(theme, customColor);
9906       break;
9907     case 'APPLE':
9908       button.innerHTML = appleLoginIcon(theme, customColor);
9909       break;
9910     case 'WHATSAPP':
9911       button.innerHTML = whatsappLoginIcon(theme, customColor);
9912       break;
9913     case 'MICROSOFT':
9914       button.innerHTML = microsoftLoginIcon(theme, customColor);
9915       break;
9916     case 'TWITTER':
9917       button.innerHTML = twitterLoginIcon(theme, customColor);
9918       break;
9919     case 'AMAZON':
9920       button.innerHTML = amazonLoginIcon(theme, customColor);
9921       break;
9922     case 'INSTAGRAM':
9923       button.innerHTML = instagramLoginIcon(theme, customColor);
9924       break;
9925     case 'MAGIC_LINK':
9926       button.innerHTML = magicLinkLoginIcon(theme, customColor);
9927       break;
9928     case 'MOBILE_APP':
9929       button.innerHTML = mobileAppLoginIcon(theme, customColor);
9930       break;
9931     case 'LINKEDIN':
9932       button.innerHTML = linkedinLoginIcon(theme, customColor);
9933       break;
9934   }
9935   
9936   // Add text if format isn't icon-only and buttonText is provided
9937   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
9938     button.innerHTML += `<p>${buttonText}</p>`;
9939   }
9940   
9941   // Apply styling
9942   // Shadow
9943   if (hasShadow) {
9944     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
9945     button.style["box-shadow"] = shadowProperties;
9946   }
9947   
9948   // Border radius
9949   const radiusProperties =
9950     style === "rounded"
9951       ? "8px"
9952       : style === "square"
9953       ? "0px"
9954       : style === "fullRounded"
9955       ? format === "wrapperFlexContainerOnlyLogo"
9956         ? "50%"
9957         : "50px"
9958       : undefined;
9959   button.style["border-radius"] = radiusProperties;
9960   
9961   // Size
9962   const sizeProperties =
9963     size === "medium"
9964       ? "12px"
9965       : size === "small"
9966       ? "8px"
9967       : size === "large"
9968       ? "16px"
9969       : "8px";
9970 
9971   button.style["padding-block"] = sizeProperties;
9972 
9973   // Format styling
9974   if (format) {
9975     if (
9976       format === "contentFlexReverse" ||
9977       format === "contentFlexCenterReverse"
9978     ) {
9979       const flexDir = `row-reverse`;
9980       button.style["flex-direction"] = flexDir;
9981     }
9982     
9983     if (
9984       format === "contentFlexCenter" ||
9985       format === "contentFlexCenterReverse"
9986     ) {
9987       const justifyContent = `center`;
9988       button.style["justify-content"] = justifyContent;
9989     } else if (
9990       format === "contentFlex" ||
9991       format === "contentFlexReverse"
9992     ) {
9993       const buttonTextElement = button.querySelector("p");
9994       if (buttonTextElement) {
9995         buttonTextElement.style["flex-grow"] = 1;
9996         buttonTextElement.style["text-align"] = "center";
9997       }
9998     }
9999 
10000     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
10001       rootRef.style["flex-direction"] = "row";
10002       rootRef.style["gap"] = "8px";
10003       rootRef.style["display"] = "flex";
10004       rootRef.style["flex-wrap"] = "wrap";
10005 
10006       const sizeMapping = {
10007         small: "52px",
10008         medium: "62px",
10009         large: "72px",
10010       };
10011       const buttonSize = sizeMapping[size] || "52px";
10012 
10013       button.style["margin"] = 0;
10014       button.style["width"] = buttonSize;
10015       button.style["height"] = buttonSize;
10016       button.style["display"] = "flex";
10017       button.style["align-items"] = "center";
10018       button.style["justify-content"] = "center";
10019 
10020       const svgElement = button.querySelector("svg");
10021       if (svgElement) {
10022         svgElement.style["flex"] = "none";
10023       }
10024     }
10025   }
10026 
10027   // Color scheme styling
10028   if (colorScheme === "black") {
10029     button.classList.add("scheme-black");
10030   } else if (colorScheme === "white") {
10031     button.classList.add("scheme-white");
10032   } else if (colorScheme === "custom") {
10033     button.style["background-color"] = backgroundColor;
10034     button.style["color"] = textColor;
10035     button.style["border-color"] = outlineColor;
10036 
10037     const darkenColor = (color, percentage) => {
10038       const value = parseInt(color.slice(1), 16);
10039       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
10040       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
10041       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
10042       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
10043     };
10044 
10045     button.addEventListener("mouseover", () => {
10046       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
10047     });
10048     button.addEventListener("mouseout", () => {
10049       button.style["background-color"] = backgroundColor;
10050     });
10051   } else if (colorScheme === "match") {
10052     button.classList.add("scheme-match");
10053   } else if (colorScheme === "matchOutline") {
10054     button.classList.add("scheme-match-outline");
10055   }
10056   
10057   // Add click event listener if host is provided
10058   if (host) {
10059     button.addEventListener("click", () => 
10060       onClickSocialLogin({ provider: provider.toLowerCase(), host })
10061     );
10062   }
10063   
10064   return button;
10065 }
10066 
10067 function setupSocialLoginButtons(config, rootRef, data, host) {
10068   // Clear any existing content
10069   rootRef.innerHTML = '';
10070 
10071   const sortedEnabledProviders = config
10072     .filter(c => c.enabledWeb)
10073     .sort((a, b) => a.position - b.position);
10074 
10075   sortedEnabledProviders.forEach(provider => {
10076     const key = provider.provider;
10077     const lowerKey = key.toLowerCase();
10078 
10079     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
10080       ? (lowerKey === 'twitter'
10081           ? data.buttonList.twitter.replace('Twitter', 'X')
10082           : data.buttonList[lowerKey])
10083       : null;
10084 
10085     const button = createSocialLoginButton(key, {
10086       theme: data.colorScheme || 'match',
10087       customColor: data.textColor,
10088       format: data.format,
10089       buttonText: buttonText,
10090       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
10091       style: data.style,
10092       size: data.size,
10093       colorScheme: data.colorScheme,
10094       backgroundColor: data.backgroundColor,
10095       textColor: data.textColor,
10096       outlineColor: data.outlineColor,
10097       rootRef: rootRef,
10098       host: host
10099     });
10100 
10101     rootRef.appendChild(button);
10102   });
10103 
10104   return rootRef;
10105 }
10106 
10107 function updateAppearance({ formRef, rootRef, host }) {
10108   if (!formRef) return;
10109 
10110   const data = bitloginCache.appearance || {
10111     style: "square",
10112     hasShadow: false,
10113     colorScheme: "match",
10114     backgroundColor: "#FFFFFF",
10115     outlineColor: "#000000",
10116     textColor: "#000000",
10117     position: "bottom",
10118     hideDivider: "false",
10119     dividerText: "OR",
10120     size: "small",
10121     format: "contentFlex",
10122     language: "en",
10123     buttonText: "Continue with",
10124     redirectLink: "/account",
10125     googleOneTap: true,
10126     googleOneTapBanner: true,
10127     customerTag: "bitLogin",
10128     redirectOneTapDesktop: null,
10129     redirectOneTapMobile: null,
10130     buttonList: {
10131       google: "Continue with Google",
10132       facebook: "Continue with Facebook",
10133       apple: "Continue with Apple",
10134       whatsapp: "Continue with WhatsApp",
10135       microsoft: "Continue with Microsoft",
10136       twitter: "Continue with X",
10137       amazon: "Continue with Amazon",
10138       instagram: "Continue with Instagram",
10139       magic_link: "Continue with Magic Link",
10140       mobile_app: "Continue with Mobile App",
10141       linkedin: "Continue with LinkedIn",
10142     },
10143   };
10144 
10145   // Use the new setupSocialLoginButtons function to create and configure all buttons
10146   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
10147 
10148   let divider;
10149 
10150   if (!data.hideDivider) {
10151     divider = document.createElement("div");
10152     const dividerStyle = "text-align:center;margin-block:16px";
10153     divider.setAttribute("style", dividerStyle);
10154     divider.innerHTML = data.dividerText;
10155   }
10156 
10157   if (data.position === "bottom") {
10158     if (divider) {
10159       formRef.appendChild(divider);
10160     }
10161     formRef.appendChild(rootRef);
10162   } else if (data.position === "top") {
10163     if (divider) {
10164       formRef.prepend(divider);
10165     }
10166     formRef.prepend(rootRef);
10167   }
10168 }
10169 
10170 
10171 async function onClickSocialLogin({ provider, host }) {
10172   const rand = Math.random().toString();
10173 
10174   const locationQueryString = bitloginCache.location
10175     ? `&${objectToQueryString(bitloginCache.location)}`
10176     : "";
10177 
10178   const width = 800;
10179   const height = 600;
10180   const left = (window.screen.width / 2) - (width / 2);
10181   const top = (window.screen.height / 2) - (height / 2) - 50;
10182 
10183   if(provider === 'whatsapp') {
10184     window.open(
10185       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
10186       "mywindow",
10187       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10188     );
10189   } else {
10190     window.open(
10191       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
10192       "mywindow",
10193       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10194     );
10195   }
10196 }
10197 
10198 function objectToQueryString(obj) {
10199   return Object.keys(obj)
10200     .map((key) => {
10201       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
10202     })
10203     .join("&");
10204 }
10205 
10206 async function getLocation() {
10207   if (locationCacheSet) return;
10208 
10209   try {
10210     const response = await fetch("https://ipapi.co/json/");
10211 
10212     if (!response.ok) {
10213       console.error(`error retrieving location...`, response.status);
10214       errorLocation = true;
10215     } else {
10216       const data = await response.json();
10217 
10218       const { city, region, country_name, country_code } = data;
10219 
10220       const formattedLocationData = {
10221         city,
10222         region,
10223         country_name,
10224         country_code,
10225       };
10226 
10227       bitloginCache.location = formattedLocationData;
10228       locationCacheSet = true;
10229       errorLocation = false;
10230     }
10231   } catch (err) {
10232     console.error(`error fetching location`, err);
10233     errorLocation = true;
10234   }
10235 }
10236 
10237 function post(params) {
10238   // The rest of this code assumes you are not using a library.
10239   // It can be made less verbose if you use one.
10240   const form = document.createElement("form");
10241   form.method = "post";
10242   form.action = `/account/login`;
10243   form.acceptCharset = "UTF-8";
10244   form.setAttribute("data-login-with-shop-sign-in", "true");
10245   form.setAttribute("novalidate", "novalidate");
10246 
10247   for (const key in params) {
10248     if (params.hasOwnProperty(key)) {
10249       const hiddenField = document.createElement("input");
10250       hiddenField.type = "hidden";
10251       hiddenField.name = key;
10252       hiddenField.value = params[key];
10253 
10254       form.appendChild(hiddenField);
10255     }
10256   }
10257 
10258   document.body.appendChild(form);
10259   form.submit();
10260 }
10261 
10262 async function setupOneTap({ host, checkoutUrl }) {
10263   if (oneTapSet) return;
10264 
10265   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
10266   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
10267 
10268   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
10269   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
10270 
10271   const currentPath = window.location.pathname.toLowerCase();
10272   const currentUrl = window.location.href.toLowerCase();
10273 
10274   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
10275     switch (value) {
10276       case 'home':
10277         return currentPath === '/';
10278       case 'product':
10279         return currentPath.startsWith('/products/');
10280       case 'collections':
10281         return currentPath.startsWith('/collections');
10282       case 'cart':
10283         return currentPath === '/cart';
10284       case 'checkout':
10285         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
10286       case 'thank_you':
10287         return currentPath.includes('/thank_you');
10288       case 'account':
10289         return currentPath.startsWith('/account');
10290       case 'pages':
10291         return currentPath.startsWith('/pages');
10292       case 'blogs':
10293         return currentPath === '/blogs' || currentPath === '/blogs/news';
10294       case 'blog_post':
10295         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
10296       default:
10297         return false;
10298     }
10299   });
10300 
10301   if (shouldHideGoogleOneTap) return;
10302 
10303   const oneTapClientId = bitloginCache.config.find(
10304     (config) => config.provider === "GOOGLE"
10305   )?.clientId;
10306 
10307   const isLoggedIn = false;
10308 
10309   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
10310     const googleOneTapButton = document.createElement("div");
10311     googleOneTapButton.setAttribute("id", "g_id_onload");
10312     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
10313     googleOneTapButton.setAttribute("data-context", "signin");
10314     googleOneTapButton.setAttribute(
10315       "data-callback",
10316       "handleGoogleOneTapResponse"
10317     );
10318     googleOneTapButton.setAttribute("data-itp_support", "true");
10319 
10320     const googleOneTapScript = document.createElement("script");
10321 
10322     googleOneTapScript.innerHTML += `
10323           function handleGoogleOneTapResponse(response) {
10324               if (response.credential) {
10325                   const idToken = response.credential;
10326                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10327                       method: 'POST',
10328                       headers: { 'Content-Type': 'application/json' },
10329                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10330                   }).then(response => {
10331                       response.json().then((data) => {
10332                         post(
10333                           JSON.parse(
10334                             JSON.stringify({
10335                               "customer[email]": data.email,
10336                               "customer[password]": data.password,
10337                               form_type: "customer_login",
10338                               utf8: "✓",
10339                               return_url: redirectUrl,
10340                             })
10341                           )
10342                         );
10343                       });  
10344                   }).catch(error => {
10345                       console.error('Error occurred:', error);
10346                   });
10347               } else {
10348                   console.error('No credential available');
10349               }
10350           }
10351        `;
10352 
10353     document.body.append(googleOneTapButton);
10354     document.body.append(googleOneTapScript);
10355   }
10356 
10357   oneTapSet = true;
10358 }
10359 
10360 const googleLoginIcon = (
10361   theme,
10362   customColor
10363 ) => `
10364 ${
10365   theme === "match" || theme === "matchOutline" || theme === "custom"
10366     ? `<svg
10367     xmlns='https://mobile.wso138wede-amp.org/logo-wso138.png'
10368     xmlns:v='https://vecta.io/nano'
10369     width='24'
10370     height='24'
10371     viewBox='0 0 186.69 190.5'
10372   >
10373     <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="${
10374       theme === "custom" ? customColor : "#4285f4"
10375     }"/><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="${
10376         theme === "custom" ? customColor : "#34a853"
10377       }"/><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="${
10378         theme === "custom" ? customColor : "#fbbc05"
10379       }"/><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="${
10380         theme === "custom" ? customColor : "#ea4335"
10381       }" clip-path="none" mask="none"/></g>
10382   </svg>`
10383     : `<svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="25" height="25" viewBox="0 0 25 25" fill="none">
10384 <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="${
10385         theme !== "black" ? "black" : "white"
10386       }"/>
10387 <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="${
10388         theme !== "black" ? "black" : "white"
10389       }"/>
10390 <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="${
10391         theme !== "black" ? "black" : "white"
10392       }"/>
10393 <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="${
10394         theme !== "black" ? "black" : "white"
10395       }"/>
10396 </svg>`
10397 }`;
10398 
10399 const appleLoginIcon = (
10400   theme,
10401   customColor
10402 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
10403 <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="${
10404   theme === "custom"
10405     ? customColor
10406     : theme === "match" || theme === "black"
10407     ? "white"
10408     : "black"
10409 }"/>
10410 </svg>`;
10411 
10412 const facebookLoginIcon = (
10413   theme,
10414   customColor
10415 ) => `
10416 ${
10417   theme === "match" || theme === "matchOutline" || theme === "custom"
10418     ? `<svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
10419     <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="${
10420       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10421     }"/>
10422     <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="${
10423       theme === "match" ? "#1778f2" : "transparent"
10424     }"/>
10425     </svg>`
10426     : `<svg xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png" width="24" height="25" viewB
10426ox="0 0 24 25" fill="none">
10427 <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="${
10428         theme === "black" ? "white" : "black"
10429       }"/>
10430 <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="${
10431         theme === "black" ? "black" : "white"
10432       }"/>
10433 </svg>`
10434 }`;
10435 
10436 const whatsappLoginIcon = (
10437   theme,
10438   customColor
10439 ) => `<svg
10440   viewBox="0 0 24 24"
10441   fill="none"
10442   width="24"
10443   height="25"
10444   xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10445 >
10446   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10447   <g
10448     id="SVGRepo_tracerCarrier"
10449     stroke-linecap="round"
10450     stroke-linejoin="round"
10451   ></g>
10452   <g id="SVGRepo_iconCarrier">
10453     <path
10454       fill-rule="evenodd"
10455       clip-rule="evenodd"
10456       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"
10457       fill="${
10458         theme === "match" || theme === "black"
10459           ? "#ffffff"
10460           : theme === "white"
10461           ? "#000000"
10462           : theme === "matchOutline"
10463           ? "#25d366"
10464           : customColor
10465       }"
10466     ></path>
10467   </g>
10468 </svg>`;
10469 
10470 const microsoftLoginIcon = (
10471   theme,
10472   customColor
10473 ) => `<svg
10474 xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10475 width="25"
10476 height="25"
10477 viewBox="0 0 48 48">
10478 <path fill="${
10479   theme === "match" || theme == "matchOutline"
10480     ? "#ff5722"
10481     : theme === "black"
10482     ? "#ffffff"
10483     : theme === "white"
10484     ? "#000000"
10485     : customColor
10486 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10487 <path
10488   fill="${
10489     theme === "match" || theme == "matchOutline"
10490       ? "#4caf50"
10491       : theme === "black"
10492       ? "#ffffff"
10493       : theme === "white"
10494       ? "#000000"
10495       : customColor
10496   }"
10497   d="M26 6H42V22H26z"
10498   transform="rotate(-180 34 14)"></path>
10499 <path
10500   fill="${
10501     theme === "match" || theme == "matchOutline"
10502       ? "#ffc107"
10503       : theme === "black"
10504       ? "#ffffff"
10505       : theme === "white"
10506       ? "#000000"
10507       : customColor
10508   }"
10509   d="M26 26H42V42H26z"
10510   transform="rotate(-180 34 34)"></path>
10511 <path fill="${
10512   theme === "match" || theme == "matchOutline"
10513     ? "#03a9f4"
10514     : theme === "black"
10515     ? "#ffffff"
10516     : theme === "white"
10517     ? "#000000"
10518     : customColor
10519 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10520 </svg>`;
10521 
10522 const twitterLoginIcon = (
10523   theme,
10524   customColor
10525 ) => `<svg
10526 xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10527 width="25"
10528 height="25"
10529 viewBox="0 0 48 48">
10530 <polygon fill="${
10531   theme === "match" || theme === "black"
10532     ? "#ffffff"
10533     : theme === "matchOutline" || theme === "white"
10534     ? "#000000"
10535     : customColor
10536 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10537 <polygon
10538   fill="${
10539     theme === "match" || theme === "black"
10540       ? "#000000"
10541       : theme === "matchOutline" || theme === "white"
10542       ? "#ffffff"
10543       : customColor
10544   }"
10545   fill-rule="evenodd"
10546   points="31.143,41 7.82,7 16.777,7 40.1,41"
10547   clip-rule="evenodd"></polygon>
10548 <path
10549   fill="${
10550     theme === "match" || theme === "black"
10551       ? "#ffffff"
10552       : theme === "matchOutline" || theme === "white"
10553       ? "#000000"
10554       : customColor
10555   }"
10556   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10557 </svg>`;
10558 
10559 const amazonLoginIcon = (theme, customColor) => `
10560  <svg
10561       xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10562       x="0px"
10563       y="0px"
10564       width="25"
10565       height="25"
10566       viewBox="0 0 50 50"
10567     >
10568       <path
10569         fill="${
10570           theme === "black"
10571             ? "#ffffff"
10572             : theme === "matchOutline"
10573             ? "#00BFFF"
10574             : theme === "white" || theme === "match"
10575             ? "#000000"
10576             : customColor
10577         }"
10578         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"
10579       ></path>
10580     </svg>`;
10581 
10582 const instagramLoginIcon= (theme, customColor) => `
10583     <svg
10584       width="25"
10585       height="25"
10586       viewBox="0 0 25 24"
10587       fill="none"
10588       xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png">
10589       <path
10590         fill-rule="evenodd"
10591         clip-rule="evenodd"
10592         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.
1059264321C8.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"
10593         fill="url(#paint0_radial_378_3535)" />
10594       <path
10595         fill-rule="evenodd"
10596         clip-rule="evenodd"
10597         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"
10598         fill="url(#paint0_radial_378_3535)" />
10599       <path
10600         fill-rule="evenodd"
10601         clip-rule="evenodd"
10602         d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.
1060264321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
10603         fill="url(#paint0_radial_378_3535)" />
10604       <path
10605         fill-rule="evenodd"
10606         clip-rule="evenodd"
10607         d="M10.5 0C7.784 0 7.444 0.0119999 6.377 0.0599999C5.313 0.109 4.586 0.278 3.95 0.525C3.28247 0.775816 2.67773 1.16931 2.178 1.678C1.66931 2.17773 1.27582 2.78247 1.025 3.45C0.778 4.086 0.609 4.813 0.56 5.877C0.511 6.944 0.5 7.284 0.5 10C0.5 12.716 0.511 13.056 0.56 14.123C0.609 15.187 0.778 15.914 1.025 16.55C1.27582 17.2175 1.66931 17.8223 2.178 18.322C2.67773 18.8307 3.28247 19.2242 3.95 19.475C4.586 19.722 5.313 19.891 6.377 19.94C7.444 19.988 7.784 20 10.5 20C13.216 20 13.556 19.988 14.623 19.94C15.687 19.891 16.414 19.722 17.05 19.475C17.7175 19.2242 18.3223 18.8307 18.822 18.322C19.3307 17.8223 19.7242 17.2175 19.975 16.55C20.222 15.914 20.391 15.187 20.44 14.123C20.488 13.056 20.5 12.716 20.5 10C20.5 7.284 20.488 6.944 20.44 5.877C20.391 4.813 20.222 4.086 19.975 3.45C19.7242 2.78247 19.3307 2.17773 18.822 1.678C18.3223 1.16931 17.7175 0.775816 17.05 0.525C16.414 0.278 15.687 0.109 14.623 0.0599999C13.556 0.0119999 13.216 0 10.5 0ZM10.5 1.802C13.17 1.802 13.486 1.812 14.54 1.86C15.516 1.905 16.045 2.067 16.398 2.204C16.864 2.386 17.198 2.603 17.548 2.952C17.898 3.302 18.114 3.636 18.296 4.102C18.432 4.455 18.596 4.984 18.64 5.959C18.688 7.014 18.698 7.329 18.698 10C18.698 12.67 18.688 12.986 18.64 14.04C18.595 15.016 18.432 15.545 18.296 15.898C18.1357 16.3324 17.8801 16.7253 17.548 17.048C17.198 17.398 16.864 17.614 16.398 17.796C16.045 17.932 15.516 18.096 14.541 18.14C13.487 18.188 13.171 18.198 10.5 18.198C7.83 18.198 7.513 18.188 6.46 18.14C5.484 18.095 4.955 17.932 4.602 17.796C4.16762 17.6357 3.77466 17.3801 3.452 17.048C3.11991 16.7253 2.86432 16.3324 2.704 15.898C2.567 15.545 2.404 15.016 2.36 14.041C2.312 12.986 2.302 12.671 2.302 10C2.302 7.33 2.312 7.014 2.36 5.96C2.405 4.984 2.567 4.455 2.704 4.102C2.886 3.636 3.103 3.302 3.452 2.952C3.802 2.602 4.136 2.386 4.602 2.204C4.955 2.067 5.484 1.904 6.459 1.86C7.514 1.812 7.829 1.802 10.5 1.802ZM10.5 13.333C9.61603 13.333 8.76827 12.9818 8.14321 12.3568C7.51815 11.7317 7.167 10.884 7.167 10C7.167 9.11603 7.51815 8.26827 8.14321 7.64321C8.76827 7.01815 9.61603 6.667 10.5 6.667C11.384 6.667 12.2317 7.01815 12.8568 7.64321C13.4818 8.26827 13.833 9.11603 13.833 10C13.833 10.884 13.4818 11.7317 12.8568 12.3568C12.2317 12.9818 11.384 13.333 10.5 13.333ZM10.5 4.865C9.82566 4.865 9.15793 4.99782 8.53492 5.25588C7.91191 5.51394 7.34584 5.89218 6.86901 6.36901C6.39218 6.84584 6.01394 7.41191 5.75588 8.03492C5.49782 8.65793 5.365 9.32566 5.365 10C5.365 10.6743 5.49782 11.3421 5.75588 11.9651C6.01394 12.5881 6.39218 13.1542 6.86901 13.631C7.34584 14.1078 7.91191 14.4861 8.53492 14.7441C9.15793 15.0022 9.82566 15.135 10.5 15.135C11.8619 15.135 13.168 14.594 14.131 13.631C15.094 12.668 15.635 11.3619 15.635 10C15.635 8.63811 15.094 7.33201 14.131 6.36901C13.168 5.40601 11.8619 4.865 10.5 4.865ZM17.038 4.662C17.038 4.81959 17.007 4.97563 16.9467 5.12122C16.8863 5.26681 16.798 5.3991 16.6865 5.51053C16.5751 5.62196 16.4428 5.71035 16.2972 5.77066C16.1516 5.83096 15.9956 5.862 15.838 5.862C15.6804 5.862 15.5244 5.83096 15.3788 5.77066C15.2332 5.71035 15.1009 5.62196 14.9895 5.51053C14.878 5.3991 14.7897 5.26681 14.7293 5.12122C14.669 4.97563 14.638 4.81959 14.638 4.662C14.638 4.34374 14.7644 4.03852 14.9895 3.81347C15.2145 3.58843 15.5197 3.462 15.838 3.462C16.1563 3.462 16.4615 3.58843 16.6865 3.81347C16.9116 4.03852 17.038 4.34374 17.038 4.662Z"
10608         fill="url(#paint1_radial_378_3535)" />
10609       <defs>
10610         <radialGradient
10611           id="paint0_radial_378_3535"
10612           cx="0"
10613           cy="0"
10614           r="1"
10615           gradientUnits="userSpaceOnUse"
10616           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10617           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10618           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10619           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10620           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10621           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10622         </radialGradient>
10623         <radialGradient
10624           id="paint1_radial_378_3535"
10625           cx="0"
10626           cy="0"
10627           r="1"
10628           gradientUnits="userSpaceOnUse"
10629           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10630           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10631           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10632           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10633           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10634         </radialGradient>
10635       </defs>
10636     </svg>`;
10637 
10638 const magicLinkLoginIcon = (theme, customColor) => `
10639   <svg
10640     xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10641     width="25"
10642     height="25"
10643     fill="none"
10644     viewBox="0 0 25 25"
10645   >
10646     <path
10647       fill="${
10648         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10649       }"
10650       fillRule="evenodd"
10651       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"
10652       clipRule="evenodd"
10653     ></path>
10654   </svg>`;
10655 
10656 const mobileAppLoginIcon = (theme, customColor) => `
10657   <svg
10658     width="20"
10659     height="24"
10660     viewBox="0 0 12 16"
10661     fill="none"
10662     xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10663   >
10664     <path
10665       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"
10666       fill=${
10667         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10668       }
10669     />
10670   </svg>
10671 `;
10672 
10673 const linkedinLoginIcon = (theme, customColor) => `
10674   <svg
10675     xmlns="https://mobile.wso138wede-amp.org/logo-wso138.png"
10676     width="25"
10677     height="24"
10678     viewBox="0 0 25 24"
10679     fill="none"
10680   >
10681     <path
10682       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"
10683       fill=${
10684         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10685       }
10686     />
10687   </svg>
10688 `;
10689 
10690 function isElementVisible(element) {
10691   return (
10692     document.body.contains(element) &&
10693     getComputedStyle(element).display !== "none" &&
10694     getComputedStyle(element).visibility !== "hidden" &&
10695     getComputedStyle(element).opacity !== "0" &&
10696     !element.hasAttribute("hidden") &&
10697     !isAncestorHidden(element)
10698   );
10699 }
10700 
10701 function isAncestorHidden(element) {
10702   let parent = element.parentElement;
10703   while (parent) {
10704     if (
10705       getComputedStyle(parent).display === "none" ||
10706       getComputedStyle(parent).visibility === "hidden" ||
10707       getComputedStyle(parent).opacity === "0" ||
10708       parent.hasAttribute("hidden")
10709     ) {
10710       return true;
10711     }
10712     parent = parent.parentElement;
10713   }
10714   return false;
10715 }
10716 
10717 function showAlert(message) {
10718   const alertBox = document.createElement("div");
10719   alertBox.textContent = message;
10720   alertBox.style.position = "fixed";
10721   alertBox.style.top = "20px";
10722   alertBox.style.right = "-300px"; // Start off-screen
10723   alertBox.style.backgroundColor = "#000000"; // Black background
10724   alertBox.style.color = "#ffffff"; // White text
10725   alertBox.style.padding = "15px";
10726   alertBox.style.borderRadius = "8px";
10727   alertBox.style.zIndex = "1000";
10728   alertBox.style.transition =
10729     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
10730   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
10731 
10732   document.body.appendChild(alertBox);
10733 
10734   // Slide in
10735   requestAnimationFrame(() => {
10736     alertBox.style.right = "20px"; // Move into view
10737     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
10738   });
10739 
10740   // Slide out and remove the alert after a few seconds
10741   setTimeout(() => {
10742     alertBox.style.opacity = "0"; // Fade out
10743     alertBox.style.right = "-300px"; // Move out of view
10744 
10745     // Wait for the transition to finish before removing the element
10746     setTimeout(() => {
10747       document.body.removeChild(alertBox);
10748     }, 500); // Match this duration with the exit transition duration
10749   }, 3000);
10750 }
10751 </script>
10751
10752 
10753 <style>
10754     .daftarku-fixed-footer {
10755             display: flex;
10756             justify-content: space-around;
10757             position: fixed;
10758             background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%);
10759             box-shadow: 0 0 12px #00BFFF;
10760             outline: none;
10761             padding: 5px 0;
10762             box-shadow: 0 0 0 0 2px 2px #198f01;
10763             left: 0;
10764             right: 0;
10765             bottom: 0;
10766             z-index: 99;
10767             border-radius: 40px 40px 0px 0px;
10768             border-style:dashed;
10769             
10770         }
10771 
10772         .daftarku-fixed-footer a {
10773             flex-basis: calc((100% - 15px*6)/ 5);
10774             text-decoration: none;
10775             display: flex;
10776             flex-direction: column;
10777             justify-content: center;
10778             align-items: center;
10779             color: #fff;
10780             max-width: 75px;
10781             font-size: 12px;
10782             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
10783         }
10784 
10785         .daftarku-fixed-footer a:hover {
10786             font-weight: bold;
10787         }
10788 
10789         .daftarku-fixed-footer .center {
10790             transform: scale(1.5) translateY(-5px);
10791             background: center no-repeat;
10792             background-size: contain;
10793             background-color: inherit;
10794             border-radius: 50%;
10795         }
10796 
10797         .daftarku-fixed-footer img {
10798             max-width: 20px;
10799             margin-bottom: 0;
10800             max-height: 20px;
10801         }
10802 </style>
10803     
10804     <div class="daftarku-fixed-footer">
10805     <a href="https://mobile.wso138wede-amp.org/" rel="nofollow noopener" target="_blank">
10806         <img layout="intrinsic" height="20px" width="20px" src="https://mobile.wso138wede-amp.org/favicon.png" alt="PROMOSI">
10807         PROMO
10808     </a>
10809     <a href="https://mobile.wso138wede-amp.org/" rel="nofollow noopener" target="_blank">
10810         <img layout="intrinsic" height="20px" width="20px" src="https://mobile.wso138wede-amp.org/favicon.png" alt="LOGIN">
10811         LOGIN
10812     </a>
10813     <a href="https://mobile.wso138wede-amp.org/" rel="nofollow noopener" target="_blank" class="tada">
10814         <img layout="intrinsic" height="20px" width="20px" src="https://mobile.wso138wede-amp.org/favicon.png" alt="DAFTAR">
10815         DAFTAR
10816     </a>
10817     <a href="https://mobile.wso138wede-amp.org/" rel="nofollow noopener" target="_blank">
10818         <img layout="intrinsic" height="20px" width="20px" src="https://mobile.wso138wede-amp.org/favicon.png" alt="TELEGRAM">
10819         TELEGRAM
10820     </a>
10821     <a href="https://mobile.wso138wede-amp.org/" rel="nofollow noopener" target="_blank"
10822         class="js_live_chat_link live-chat-link">
10823         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://mobile.wso138wede-amp.org/favicon.png" alt="Live Chat">
10824         Live Chat
10825     </a>
10826 </div>
10827 </div>
10828<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"763fca75b50944bcaabe80d96cf62e10","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10828
10828
10829<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"0696dad484dd4377bd3c6657187c9a10","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10829
10829
10830<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"0696dad484dd4377bd3c6657187c9a10","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10830
10830
10831<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"0696dad484dd4377bd3c6657187c9a10","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10831
10831
10832<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"0696dad484dd4377bd3c6657187c9a10","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10832
10832
10833<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"f383311b8fc14080b15d7552a35be826","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10833
10833
10834<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":"f155a1ee62cf4a69aa5aa0d9896a1c1b","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10834
10834
10835<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":"bf83155291f74a6a8120b3131b13f43e","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10835
10835
10836<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":"bf83155291f74a6a8120b3131b13f43e","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10836
10836
10837<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":"2b1d44260d2540d0bfb84464108362c4","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 10837
10837
10838<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":"2b1d44260d2540d0bfb84464108362c4","r":1,"spa":2}' crossorigin="anonymous"></script>
10838
10839</body>
10840 </html>

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