PageSourceSearch

https://levquinon.com/

html levquinon.com collected 2026-09-30 19:18:20 UTC 655,004 bytes, 10,836 lines download raw bytes

1
2<!doctype html>
3   <html class="no-js">
4     <head>
5     <meta charset="utf-8">
6     <meta http-equiv="X-UA-Compatible" content="IE=edge">
7     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
8     <meta name="apple-itunes-app" content="app-id=1576832504">
9     <link rel="icon" type="image/x-icon" href="https://myassets.space/fear/icon-juragan404.png">
10      <!-- Title and description -->
11     <title>JURAGAN404 | Portal Game Terpercaya & Terlengkap</title>
12     <meta name="google-site-verification" content="geoIuhIf1u4DYbaxmjWUOr5pCpILclbENwcr-PKgw0M" />
13     <meta name="description" content="JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.">
14     <link rel="canonical" href="https://travelsportcanarias.com/">
15     <link rel="amphtml" href="https://tempat-cozy.travelsportcanarias-com.app/"/>
16     <link rel="alternate" hreflang="id-id" href="https://tempat-cozy.travelsportcanarias-com.app/"/>
17     <link rel="alternate" href="https://tempat-cozy.travelsportcanarias-com.app/"/>
18     <link rel="alternate" hreflang="id" href="https://tempat-cozy.travelsportcanarias-com.app/"/>
19     <link rel="alternate" hreflang="en" href="https://tempat-cozy.travelsportcanarias-com.app/"/>
20     <link rel="alternate" hreflang="x-default" href="https://tempat-cozy.travelsportcanarias-com.app/"/>
21     <!-- /snippets/social-meta-tags.liquid -->
22     <meta property="og:type" content="PERMAINAN ONLINE">
23     <meta property="og:title" content="JURAGAN404 | Portal Game Terpercaya & Terlengkap">
24     <meta property="og:image" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
25     <meta property="og:image:secure_url" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
26     <meta property="og:image" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
27     <meta property="og:image:secure_url" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
28     <meta property="og:image" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
29     <meta property="og:image:secure_url" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
30     <meta property="og:description" content="JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.">
31     <meta property="og:price:amount" content="5,000-,">
32     <meta property="og:price:currency" content="IDR">
33     <meta property="og:url" content="https://travelsportcanarias.com/">
34     <meta property="og:site_name" content="JURAGAN404">
35     <meta name="twitter:site" content="@JURAGAN404">
36     <meta name="twitter:card" content="summary">
37     <meta name="twitter:title" content="JURAGAN404 | Portal Game Terpercaya & Terlengkap">
38     <meta name="twitter:description" content="JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.">
39     <meta name="twitter:image" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
40     <meta name="twitter:image:width" content="600">
41     <meta name="twitter:image:height" content="600">
42     <link rel="shortcut icon" href="https://myassets.space/fear/icon-juragan404.png" type="image/png">
43     <meta name="theme-color" content="#ffffff">
44     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
45     <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
46     <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
46<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
46
47     
47<script
48       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
49       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
50       crossorigin="anonymous"
51       referrerpolicy="no-referrer"
52       defer
53     ></script>
53
54     
54<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
54
55     
55<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
55<!-- Facebook Pixel Code -->
56     
56<script>
vendor: 471 bytes, lines 56-65
56
57       !function(f,b,e,v,n,t,s)
58       {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
59       n.callMethod.apply(n,arguments):n.queue.push(arguments)};
60       if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
61       n.queue=[];t=b.createElement(e);t.async=!0;
62       t.src=v;s=b.getElementsByTagName(e)[0];
63       s.parentNode.insertBefore(t,s)}(window, document,'script',
64       'https://connect.facebook.net/en_US/fbevents.js');
65       fbq('init', '
65165971065669324
vendor: 44 bytes, lines 65-67
65');
66       fbq('track', 'PageView');
67     
67</script>
67
68     <noscript
69       ><img
70         height="1"
71         width="1"
72         style="display:none"
73         src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"
74     ></noscript>
75     <!-- End Facebook Pixel Code -->
76 
77     <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
78     <!--
79      Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 79-80
79
80           <script async src="https://www.googletagmanager.com/gtag/js?id=
80G-X26HYP4083
vendor: 24 bytes, lines 80-81
80"></script>
81           
81<script>
82             
vendor: 174 bytes, lines 82-86
82window.dataLayer = window.dataLayer || [];
83             function gtag(){dataLayer.push(arguments);}
84             gtag('js', new Date());
85   
86             gtag('config', '
86G-X26HYP4083
vendor: 16 bytes, lines 86-87
86');
87           
87</script>
87
88       <!-- Global site tag (gtag.js) - Google Analytics -->
89     
90     <div class="button-login-daftar">
91                     <a class="login" href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noreferrer">
92                         LOGIN
93                     </a>
94                     <a class="register" href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noreferrer">
95                         DAFTAR
96                     </a>
97                 </div>
98   
99     
99<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
99
100   
101     <!-- Bing UET -->
102     
102<script>
103       (function(w,d,t,r,u)
104       {
105           var f,n,i;
106           w[u]=w[u]||[],f=function()
107           {
108               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
109               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
110           },
111           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
112           {
113               var s=this.readyState;
114               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
115           },
116           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
117       })
118       (window,document,"script","//bat.bing.com/bat.js","uetq");
119     </script>
119
120     
120<script>
121       window.uetq = window.uetq || [];
122       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
123     </script>
123
124     <!-- End Bing UET -->
125   
126     <!-- Microsoft Clarity -->
127     
127<script type="text/javascript">
128       (function(c,l,a,r,i,t,y){
129           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
130           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
131           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
132       })(window, document, "clarity", "script", "h7rbxqry9k");
133     </script>
133
134     <!-- End Microsoft Clarity -->
135 
136 
137 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
138 
139 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
140 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
141 
142 
142<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
142
143 
143<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
143
144 
144<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
144
145     
145<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
145
146 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
147 <link rel="alternate" type="application/json+oembed" href="https://datatellers.info.oembed">
148 
148<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
148
149 
149<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
149
150 
150<script>var Shopify = Shopify || {};
151 Shopify.shop = "outerbloom1.myshopify.com";
152 Shopify.locale = "en";
153 Shopify.currency = {"active":"IDR","rate":"1.0"};
154 Shopify.country = "ID";
155 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
156 Shopify.theme.handle = "null";
157 Shopify.theme.style = {"id":null,"handle":null};
158 Shopify.cdnHost = "outerbloom.com/cdn";
159 Shopify.routes = Shopify.routes || {};
160 Shopify.routes.root = "/";</script>
160
161 
161<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
161
162 
162<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>
162
163 
163<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
163
164 
164<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({&quot;fedCMEnabled&quot;:true,&quot;windoidEnabled&quot;:true});
165 "></script>
165
166 
166<script>(function() {
167   var isLoaded = false;
168   function asyncLoad() {
169     if (isLoaded) return;
170     isLoaded = true;
171     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"];
172     for (var i = 0; i < urls.length; i++) {
173       var s = document.createElement('script');
174       s.type = 'text/javascript';
175       s.async = true;
176       s.src = urls[i];
177       var x = document.getElementsByTagName('script')[0];
178       x.parentNode.insertBefore(s, x);
179     }
180   };
181   if(window.attachEvent) {
182     window.attachEvent('onload', asyncLoad);
183   } else {
184     window.addEventListener('load', asyncLoad, false);
185   }
186 })();</script>
186
187 
187<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>
187
188 
188<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
188
189 
189<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>
189
190 
190<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js" crossorigin="anonymous"></script>
190
191 
191<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)}};
192 </script>
192
193 
193<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
194   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);
195 </script>
195
196 
196<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})}}));
197 </script>
197
198 
199 
199<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
199
200     <!-- /snippets/oldIE-js.liquid -->
201 
202 
203 <!--[if lt IE 9]>
204 
204<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
204
205 
205<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
205
206 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
207 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
208 
208<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
208
209 <![endif]-->
210 
211 
212 
213   
214     
215   <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">
216 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
217 
217<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>
217
218 
218<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":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","url":"\/products\/blossom-shine","type":"JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥."},"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\":\"JURAGAN404 | Portal Game Terpercaya & Terlengkap\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"JURAGAN404 | Portal Game Terpercaya & Terlengkap\",\"url\":\"\/products\/blossom-shine\",\"type\":\"JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
218<script>
219   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
220   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
221   window.ShopifyAnalytics.meta.currency = 'IDR';
222   var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.","variants":[{"id":44083045826775,"price":1000000
223   ,"name":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}};
224   for (var attr in meta) {
225     window.ShopifyAnalytics.meta[attr] = meta[attr];
226   }
227 </script>
227
228 
228<script class="analytics">
229   (function () {
230     var customDocumentWrite = function(content) {
231       var jquery = null;
232 
233       if (window.jQuery) {
234         jquery = window.jQuery;
235       } else if (window.Checkout && window.Checkout.$) {
236         jquery = window.Checkout.$;
237       }
238 
239       if (jquery) {
240         jquery('body').append(content);
241       }
242     };
243 
244     var hasLoggedConversion = function(token) {
245       if (token) {
246         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
247       }
248       return false;
249     }
250 
251     var setCookieIfConversion = function(token) {
252       if (token) {
253         var twoMonthsFromNow = new Date(Date.now());
254         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
255 
256         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
257       }
258     }
259 
260     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
261     if (trekkie.integrations) {
262       return;
263     }
264     trekkie.methods = [
265       'identify',
266       'page',
267       'ready',
268       'track',
269       'trackForm',
270       'trackLink'
271     ];
272     trekkie.factory = function(method) {
273       return function() {
274         var args = Array.prototype.slice.call(arguments);
275         args.unshift(method);
276         trekkie.push(args);
277         return trekkie;
278       };
279     };
280     for (var i = 0; i < trekkie.methods.length; i++) {
281       var key = trekkie.methods[i];
282       trekkie[key] = trekkie.factory(key);
283     }
284     trekkie.load = function(config) {
285       trekkie.config = config || {};
286       trekkie.config.initialDocumentCookie = document.cookie;
287       var first = document.getElementsByTagName('script')[0];
288       var script = document.createElement('script');
289       script.type = 'text/javascript';
290       script.onerror = function(e) {
291         var scriptFallback = document.createElement('script');
292         scriptFallback.type = 'text/javascript';
293         scriptFallback.onerror = function(error) {
294                 var Monorail = {
295       produce: function produce(monorailDomain, schemaId, payload) {
296         var currentMs = new Date().getTime();
297         var event = {
298           schema_id: schemaId,
299           payload: payload,
300           metadata: {
301             event_created_at_ms: currentMs,
302             event_sent_at_ms: currentMs
303           }
304         };
305         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
306       },
307       sendRequest: function sendRequest(endpointUrl, payload) {
308         // Try the sendBeacon API
309         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
310           var blobData = new window.Blob([payload], {
311             type: 'text/plain'
312           });
313 
314           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
315             return true;
316           } // sendBeacon was not successful
317 
318         } // XHR beacon
319 
320         var xhr = new XMLHttpRequest();
321 
322         try {
323           xhr.open('POST', endpointUrl);
324           xhr.setRequestHeader('Content-Type', 'text/plain');
325           xhr.send(payload);
326         } catch (e) {
327           console.log(e);
328         }
329 
330         return false;
331       },
332       isIos12: function isIos12() {
333         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
334       }
335     };
336     Monorail.produce('monorail-edge.shopifysvc.com',
337       'trekkie_storefront_load_errors/1.1',
338       {shop_id: 15896833,
339       theme_id: 153139282135,
340       app_name: "storefront",
341       context_url: window.location.href,
342       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
343 
344         };
345         scriptFallback.async = true;
346         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
347         first.parentNode.insertBefore(scriptFallback, first);
348       };
349       script.async = true;
350       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
351       first.parentNode.insertBefore(script, first);
352     };
353     trekkie.load(
354       {"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}}
355     );
356 
357     var loaded = false;
358     trekkie.ready(function() {
359       if (loaded) return;
360       loaded = true;
361 
362       window.ShopifyAnalytics.lib = window.trekkie;
363 
364       var originalDocumentWrite = document.write;
365       document.write = customDocumentWrite;
366       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
367       document.write = originalDocumentWrite;
368 
369       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true});
370 
371       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
372       var token = match? match[1]: undefined;
373       if (!hasLoggedConversion(token)) {
374         setCookieIfConversion(token);
375         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
376       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
377       }
378     });
379 
380 
381         var eventsListenerScript = document.createElement('script');
382         eventsListenerScript.async = true;
383         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
384         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
385 
386 })();</script>
386
387   
387<script>
388   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
389     window.ga = function ga() {
390       (window.ga.q = window.ga.q || []).push(arguments);
391       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
392         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
393       }
394       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.");
395     };
396     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
397       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
398     }
399   }
400 </script>
400
401 
401<script
402   defer
403   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
404   data-application="storefront-renderer"
405   data-shop-id="15896833"
406   data-render-region="gcp-asia-southeast1"
407   data-page-type="product"
408   data-theme-instance-id="153139282135"
409   data-theme-name=""
410   data-theme-version=""
411   data-monorail-region="shop_domain"
412   data-resource-timing-sampling-rate="10"
413   data-shs="true"
414   data-shs-beacon="true"
415   data-shs-export-with-fetch="true"
416   data-shs-logs-sample-rate="1"
417 ></script>
417
418 </head><body
419     data-template="product"
420     id="blossom-shine"
421     class="template-product template-product"
422   >
423     <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 423-426
423
424     <noscript
425       ><iframe
426         src="https://www.googletagmanager.com/ns.html?id=
426GTM-MF9VVZX
vendor: 135 bytes, lines 426-432
426"
427         height="0"
428         width="0"
429         style="display:none;visibility:hidden"
430       ></iframe
431     ></noscript>
432     
432<!-- End Google Tag Manager (noscript) -->
433 
434     
435 
436     <div class="header-wrapper">
437       
438       <div id="shopify-section-NotifBar" class="shopify-section m-0">
439 
440 <style>
441   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
442   #notification.promo-up {top: -48px!important;}
443   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
444   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
445   .notification__message p a {text-decoration: underline;color: #fffb00;}
446   @media (max-width: 991px){
447     .notification__message p {font-size: 14px!important;}
448   }
449 </style>
450 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
451 <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">
452   <div class="page-width notification__inner ">
453     
454     
455     <div class="notification__message text-center">
456       <p><a href="https://travelsportcanarias.com/" title="JURAGAN404">JURAGAN404 | Portal Game Terpercaya & Terlengkap</a></p>
457     </div>
458   </div>
459 </div>
460 
461 
462 
463 
464 </div>
465       <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="//outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/>
466 
467 
468 <header style="background-image: url(https://myassets.space/crow/JURAGAN404RESMI.webp); background-attachment: fixed;">
469   <div class="container">
470     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
471         <a href="https://travelsportcanarias.com/">
472         <img src="https://myassets.space/crow/brand-juragan404.gif" alt="logo-JURAGAN404" style="width: 190px;"></a>
473       <link href="https://myassets.space/fear/icon-juragan404.png" rel="shortcut icon" type="image/x-icon" />
474         <div id="menu-hamburger" class="d-lg-none">
475           <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="16" height="10" viewBox="0 0 16 10" fill="none">
476   <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"/>
477 </svg>
478 
479         <a href="/"><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" viewBox="0 0 854 78.29">
480   <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>
481 </svg>
482 </a>
483       </div>
484 
485       <div class="header-icon-right header-icons col-3">
486         <div class="icon icon-account-header d-none d-lg-block">
487           <a href="https://travelsportcanarias.com/">
488             <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="20" height="21" viewBox="0 0 20 21" fill="none">
489   <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"/>
490   <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"/>
491 </svg>
492 
493           </a>
494         </div>
495         <div class="icon icon-wishlist-header">
496           <a href="https://travelsportcanarias.com/">
497             <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
498   <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.
49811233C11.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"/>
499 </svg>
500 
501             <span class="wishlist-count d-none">0</span>
502           </a>
503         </div>
504         <div class="icon icon-cart-header">
505           <a href="https://travelsportcanarias.com/">
506             <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="22" height="21" viewBox="0 0 22 21" fill="none">
507   <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"/>
508   <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"/>
509 </svg>
510 
511           </a>
512         </div>
513       </div>
514     </div>
515   </div>
516 </header>
517 
518 <nav class="nav-header" style="background-color: #242424;">
519   <div class="nav-account-mobile row m-0 d-lg-none">
520     <div class="col-6 welcome-cust p-0">
521       
522         <h1 class="logo">
523     <a href="https://travelsportcanarias.com/">
524         <img src="https://myassets.space/crow/brand-juragan404.gif" alt="JURAGAN404" style="max-height:60px;">
525     </a>
526 </h1>
527 
528       
529     </div>
530     
531       <div class="col-6 login-register text-right p-0">
532         <a href="https://tempat-cozy.travelsportcanarias-com.app/">Log In</a> | <a href="https://tempat-cozy.travelsportcanarias-com.app/">Sign Up</a>
533       </div>
534   </div>
535   <ul class="nav-menu container">
536     
537       <li class="nav-menu container">
538         <a href="https://travelsportcanarias.com/">
539           <span style="color: #fffb00;">JURAGAN404</span>
540         
541     
542       <li class=" nav-menu container">
543         <a href="https://travelsportcanarias.com/">
544           <span style="color: #fffb00;">JURAGAN 404</span>
545           
546     
547       <li class=" nav-menu container">
548         <a href="https://travelsportcanarias.com/">
549           <span style="color: #fffb00;">JURAGAN404 LOGIN</span>
550     
551       <li class=" nav-menu container">
552         <a href="https://travelsportcanarias.com/">
553           <span style="color: #fffb00;">JURAGAN404 DAFTAR</span>
554 
555       <li class=" nav-menu container">
556         <a href="https://travelsportcanarias.com/">
557           <span style="color: #fffb00;">JURAGAN404 RESMI</span>
558 
559       <li class=" nav-menu container">
560         <a href="https://travelsportcanarias.com/">
561           <span style="color: #fffb00;">JURAGAN404 ONLINE</span>
562       
563 <div class="overlay-nav">
564   <!-- Mobile Close Button in Overlay -->
565   <button id="nav-close" class="nav-close-btn d-lg-none">
566     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
567       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
568     </svg>
569   </button>
570 </div>
571 
572 
572<script>
573   if ($(window).width() < 992) {
574     // Level 1 menu accordion (main menu items)
575     $(".nav-menu .nav-menu container > a").click(function(e){
576       e.preventDefault()
577       const parentLi = $(this).parent()
578       const isCurrentlyOpen = parentLi.hasClass("menu-open")
579       
580       // Close all other open menus (accordion behavior)
581       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
582       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
583       
584       // Toggle current menu
585       if (isCurrentlyOpen) {
586         parentLi.removeClass("menu-open")
587         $(this).next(".megamenu").slideUp()
588       } else {
589         parentLi.addClass("menu-open")
590         $(this).next(".megamenu").slideDown()
591       }
592     })
593 
594     // Level 2 menu accordion (submenu items with grandchildren)
595     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
596       e.preventDefault()
597       const parentLi = $(this).parent()
598       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
599       const grandchild = $(this).next(".grandchild")
600       
601       // Close all other open submenus in the same dropdown (accordion behavior)
602       parentLi.siblings('.has-submenu').removeClass("submenu-open")
603       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
604       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
605       
606       // Toggle current submenu
607       if (isCurrentlyOpen) {
608         parentLi.removeClass("submenu-open")
609         grandchild.slideUp()
610         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
611       } else {
612         parentLi.addClass("submenu-open")
613         grandchild.slideDown()
614         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
615       }
616     })
617 
618     $("#menu-hamburger").click(function(e){
619       e.preventDefault()
620       $("body").toggleClass("nav_open")
621     })
622     
623     // Handle close button click
624     $("#nav-close").click(function(e){
625       e.preventDefault()
626       $("body").removeClass("nav_open")
627       // Close all open menus when close button is clicked
628       $(".nav-menu .nav-menu container").removeClass("menu-open")
629       $(".nav-menu .megamenu").slideUp()
630       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
631       $(".dropdown-menu .grandchild").slideUp()
632       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
633     })
634   }
635 
636   $(".overlay-nav").click(function(e){
637       e.preventDefault()
638       $("body").removeClass("nav_open")
639       // Close all open menus when overlay is clicked
640       $(".nav-menu .nav-menu container").removeClass("menu-open")
641       $(".nav-menu .megamenu").slideUp()
642       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
643       $(".dropdown-menu .grandchild").slideUp()
644       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
645   })
646 </script>
646
647 
648 
649 </div>
650 
651       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
652   #search-trigger {
653     cursor: pointer;
654   }
655   #search-popup {
656     display: none;
657     position: fixed;
658     left: 0;
659     width: 100%;
660     top: 0;
661     height: 100%;
662     justify-content: center;
663     z-index: 9999;
664     background: rgb(196 196 196 / 30%);
665   }
666   #search-input {
667     align-self: center;
668     width: 100%;
669     height: 80px;
670     position: absolute;
671     top: 0;
672     border-bottom: 0.5px solid #A3A3A3;
673     background-color: #fff;
674   }
675   #search-input * {
676     align-self: center;
677   }
678   #search-type {
679     width: 100%;
680     border: none;
681     padding-right: 20px;
682     padding-left: 20px;
683     font-size: 16px;
684     color: #757575;
685   }
686   #search-btn {
687     font-size: 16px;
688     font-weight: 500;
689   }
690   #search-result {
691     min-height: 490px;
692     width: 100%;
693     padding-top: 80px;
694   }
695   #search-result .container {
696     background-color: #fff;
697     padding: 20px 40px;
698   }
699   body.search-popup-open {
700   /* .search-popup-open */
701     overflow: hidden;
702   }
703   .search-popup-open #loc_delivery {
704     display: none
705   }
706   .search-header svg {
707     display: none;
708     cursor: pointer;
709   }
710   .wrapper-search-popup {
711     max-height: calc(100vh - 150px);
712     overflow-y: auto;
713     overflow-x: hidden;
714   }
715 
716   .group-recommend {
717     padding: 20px 40px;
718   }
719 
720   .resultsearch {
721     display: none;
722   }
723   .results { padding: 20px 40px }
724   .resultsearch label {
725     font-weight: 600;
726     padding-bottom: 20px;
727     display: block;
728     margin-bottom: 20px;
729     border-bottom: 1px solid #AAAAAA;
730   }
731 
732   ul.result_product {
733     max-height: 300px;
734     overflow: auto;
735   }
736 
737   .group-promotion ul {
738     margin: 0;
739   }
740   .group-promotion li {
741     list-style: none;
742     margin-bottom: 12px;
743   }
744   .group-promotion li a {
745     color: inherit;
746   }
747 
748   .group-recent {
749     position: relative;
750     padding: 20px 40px;
751   }
752   .group-recent ul {
753     margin: 0;
754   }
755   .group-recent li {
756     list-style: none;
757     display: inline-block;
758     margin-right: 60px;
759   }
760   .group-recent li a {
761     color: inherit;
762   }
763 
764   .last-search svg {
765     width: 20px;
766     vertical-align: middle;
767   }
768   ul.last-search a {
769     vertical-align: middle;
770     padding: 0 10px;
771   }
772   ul.last-search li span {
773     cursor: pointer;
774   }
775   .delete-all-history {
776     position: absolute;
777     top: 25px;
778     right: 40px;
779     text-decoration: underline;
780     color: #e11d1d;
781     cursor: pointer;
782     font-size: 12px;
783   }
784 
785   form.search.search-modal__form {
786     position: relative;
787   }
788 
789   button.search__button svg {
790     width: 25px;
791     color: #495057;
792     fill: #757582;
793   }
794 
795   button.search__button.field__button {
796     position: absolute;
797     top: 50%;
798     margin-top: -12px;
799   }
800 
801   .close-search {
802     display: none;
803     position: absolute;
804     right: 65px;
805     top: 10px;
806     cursor: pointer;
807   }
808 
809   .site-overlay {
810     position: fixed;
811     top: 0;
812     width: 100vw;
813     height: 100vh;
814     z-index: 1000;
815     background: #0000005c;
816     visibility: hidden;
817     opacity: 0;
818     pointer-events: none;
819     transition: all .3s linear;
820     display: block !important;
821   }
822 
823   .search-popup-open .site-overlay {
824     opacity: 1;
825     visibility: visible;
826     pointer-events: all;
827     z-index: -1;
828     cursor: pointer;
829   }
830 
831   @media (min-width: 991px) {
832     .group-recent ul {
833       column-count: 3;
834     }
835     .group-promotion li a {
836       font-size: 12px;
837       font-weight: 400;
838     }
839     .group-recent li a {
840       font-size: 12px;
841       font-weight: 400;
842     }
843   }
844 
845   .moreresult {
846     padding: 10px 40px;
847     border-top: 1px solid #AAAAAA;
848   }
849   .moreresult * {
850     align-self: center;
851   }
852   .moreresult p {
853     margin: 0;
854     font-size: 12px !important;
855   }
856   .moreresult svg {
857     width: 13px;
858   }
859 
860   @media (max-width: 992px) {
861     .icon-key-mobile {
862         height: auto!important;
863         width: 10px!important;
864     }
865     body.grid-view.search-popup-open .products {
866       -ms-flex: 0 0 100%!important;
867       flex: 0 0 100%!important;
868       max-width: 100%!important;
869     }
870     button.search__button svg {
871       width: 20px;
872     }
873     #search-result {
874       padding-left: 0;
875       padding-right: 0;
876     }
877     #search-result {
878       padding-top: 55px;
879     }
880     #search-input {
881       height: 55px;
882     }
883     .group-recommend {
884       padding: 20px;
885     }
886     #search-input .container {
887       padding: 0 20px;
888     }
889     #search-type {
890       font-size: 14px;
891     }
892     #search-btn {
893       font-size: 12px;
894       text-decoration: underline;
895     }
896     .results {
897       padding: 20px;
898     }
899     .group-recommend h3 {
900       font-size: 16px;
901     }
902     .products .card-body {
903       padding: 8px 0px 10px;
904     }
905     .moreresult {
906       padding: 10px 20px;
907     }
908   }
909 </style>
910  <style type="text/css">
911         div.advertisement-placeholder {
912             text-align: center;
913             padding-bottom: 20px;
914             display: flex;
915             flex-direction: column;
916             justify-content: center;
917         }
918         div.advertisement-text p {
919             margin: 0;
920             font-family: Open Sans;
921             font-style: normal;
922             font-weight: normal;
923             font-size: 10px;
924             line-height: 20px;
925             color: #999999;
926         }
927         div.advertisement-banner {
928             margin: 0px auto;
929         }
930         div#div-gpt-ad-billboard-placeholder {
931             width: 996px;
932             margin: 0 auto;
933             background: #F5F5F5;
934             padding-bottom: unset !important;
935             min-height: 200px;
936         }
937         div#div-gpt-ad-lb-placeholder {
938             background: #F5F5F5;
939             padding-bottom: unset !important;
940             min-height: 280px;
941         }
942         .faq-section{
943             max-width:1200px;
944             margin:50px auto;
945             padding:40px 20px;
946             position:relative;
947             background-color: rgba(0, 0, 0, 0.1);
948             backdrop-filter: blur(25px);
949             border-radius: 20px;
950             }
951         
952         .faq-section::before{
953             content:"";
954             position:absolute;
955             top:0;left:50%;
956             transform:translateX(-50%);
957             width:80%;
958             height:2px;
959             background:linear-gradient(90deg,transparent,#fffb00,transparent)
960             }
961             
962         .faq-section h2{
963             text-align:center;
964             font-size:34px;font-weight:700;
965             margin-bottom:50px;
966             background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00);
967             -webkit-background-clip:text;
968             -webkit-text-fill-color:transparent;
969             background-clip:text;
970             font-family:"Poppins",sans-serif;letter-spacing:1px
971         }
972         
973         .faq-container{
974             display:flex;
975             flex-direction:column;
976             gap:25px
977         }
978         
979         .faq-item{
980             background:linear-gradient(145deg,#0a0a0a,#1a1a1a);
981             border:2px solid #fffb00;
982             border-radius:20px;overflow:hidden;
983             transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5)
984         }
985         
986         .faq-item:hover{
987             border-color:#fffb00;
988             transform:translateX(10px);
989             box-shadow:0 12px 35px rgba(0, 255, 255, 0.25)
990         }
991 
992         .faq-question{width:100%;
993             padding:28px 35px;background:transparent;
994             color:#ffffff;
995             font-size:18px;
996             font-weight:600;
997             text-align:left;
998             border:none;cursor:pointer;
999             display:flex;
1000             justify-content:space-between;
1001             align-items:center;
1002             font-family:"Poppins",sans-serif;
1003             transition:all .3s ease
1004         }
1005         
1006         .faq-question:hover{
1007             color:#fffb00
1008         }
1009         
1010         .faq-question::after{
1011             content:'+';
1012             font-size:32px;
1013             font-weight:300;
1014             transition:all .4s ease;
1015             color:#fffb00;
1016             width:40px;
1017             height:40px;
1018             display:flex;
1019             align-items:center;
1020             justify-content:center;
1021             border:2px solid #fffb00;border-radius:50%;
1022             background:rgba(0, 0, 0, 0.1)
1023         }
1024         
1025         .faq-item.active .faq-question::after{
1026             transform:rotate(135deg);
1027             background:linear-gradient(135deg,#fffb00,#fffb00);
1028             color:#000;border-color:transparent
1029         }
1030         
1031         .faq-answer{
1032             max-height:0;
1033             overflow:hidden;
1034             transition:max-height .5s ease,padding .5s ease;
1035             background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent);
1036             padding:0 35px
1037         }
1038         
1039         .faq-item.active .faq-answer{
1040             max-height:800px;padding:30px 35px;
1041             border-top:1px solid rgba(0, 255, 255, 0.3)
1042         }
1043         
1044         .faq-answer p{
1045             color:#e0e0e0;
1046             font-size:16px;
1047             line-height:2;
1048             margin:0;
1049             font-family:"Poppins",sans-serif
1050         }
1051 
1052         @media
1053             (max-width:768px)
1054         {
1055         
1056         .faq-section
1057             {padding:30px 15px}
1058         
1059         .faq-section h2
1060             {font-size:26px}
1061         
1062         .faq-question
1063             {font-size:16px;
1064             padding:22px 25px}
1065         
1066         .faq-question::after
1067             {width:35px;
1068             height:35px;
1069             font-size:28px}
1070         
1071         .faq-answer
1072             {padding:0 25px}
1073         
1074         .faq-item.active .faq-answer
1075             {padding:25px}
1076         
1077         .faq-item:hover
1078             {transform:translateX(5px)}
1079             }
1080     </style>
1081 <div id="search-popup">
1082   <div id="search-input" class="row">
1083     <div class="container w-100">
1084       <form
1085         action="/search"
1086         method="get"
1087         role="search"
1088         class="search search-modal__form d-flex justify-content-between"
1089       >
1090         <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="20" height="20" viewBox="0 0 20 20" fill="none">
1091   <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"/>
1092 </svg>
1093 
1094         <input type="hidden" name="type" value="product">
1095         <input
1096           type="text"
1097           id="search-type"
1098           name="q"
1099           class="search-popup"
1100           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1101         >
1102         <div class="close-search"><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
1103   <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/>
1104 </svg>
1105 </div>
1106         <button id="search-btn">Search</button>
1107       </form>
1108     </div>
1109   </div>
1110   <div id="search-result" class="container m-auto">
1111     <div class="container p-0">
1112       <div class="group-promotion">
1113         <div class="resultsearch">
1114           <div class="row results">
1115             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1116               <label>SUGGESTIONS</label>
1117               <ul class="result_collection"></ul>
1118             </div>
1119             <div class="col-12 col-lg-6">
1120               <label>PRODUCTS</label>
1121               <ul class="result_product"></ul>
1122             </div>
1123           </div>
1124           <div class="d-flex justify-content-between moreresult m-0">
1125             <p>Search for<span></span></p>
1126             <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="32" height="32" viewBox="0 0 32 32">
1127 <title>icon-arrow-right</title>
1128 <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>
1129 </svg>
1130           </div>
1131         </div>
1132       </div>
1133       <div class="group-recent hide">
1134         <h3>RECENT SEARCH</h3>
1135         <span class="delete-all-history">Hapus riwayat</span>
1136         <ul class="last-search"></ul>
1137       </div>
1138       <div class="group-recommend">
1139         <h3>YOU MAY ALSO LIKE</h3>
1140         
1141         
1142           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1143             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1144               
1145                 
1146                   <div class="swiper-slide card">
1147                     
1148 
1149 
1150 
1151 <div class="products" data-lazy="false">
1152   <div class="bg-products">
1153     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1154       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1155   <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
11556 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"/>
1156 </svg>
1157 
1158     </div>
1159     <a href="/products/mid-autumn-of-love-mooncake">
1160       
1161       <div class="product-card-img-container p-0 position-relative">
1162         
1163         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" alt="Mid Autumn of Love Mooncake" height="200" width="200">
1164       </div>
1165       <div class="card-body product-card-info">
1166         <h5 class="h5 mb-0">
1167           Mid Autumn of Love Mooncake
1168         </h5>
1169         <div class="product-card-price">
1170           
1171           <div class="product-price-sale">
1172             <s class="product-card-price-before card-money">Rp 588.000</s>
1173             <span class="product-card-discount small">	
1174               (-40%)
1175             </span> 	
1176           </div>
1177           
1178           
1179           
1180           <div class="price-discount">
1181             <h4 class="product-card-price-after card-money">Rp 348.000</h4>
1182           </div>
1183           
1184           
1185           
1186           
1187           
1188         </div>
1189         
1190       </div>
1191     </a>
1192   </div>
1193   
1194 </div>
1195 
1196                   </div>
1197                 
1198               
1199                 
1200                   <div class="swiper-slide card">
1201                     
1202 
1203 
1204 
1205 <div class="products" data-lazy="false">
1206   <div class="bg-products">
1207     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1208       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1209   <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.
120911233C11.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"/>
1210 </svg>
1211 
1212     </div>
1213     <a href="/products/mid-autumn-of-joy-mooncake">
1214       
1215       <div class="product-card-img-container p-0 position-relative">
1216         
1217         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" alt="Mid Autumn of Joy Mooncake" height="200" width="200">
1218       </div>
1219       <div class="card-body product-card-info">
1220         <h5 class="h5 mb-0">
1221           Mid Autumn of Joy Mooncake
1222         </h5>
1223         <div class="product-card-price">
1224           
1225           <div class="product-price-sale">
1226             <s class="product-card-price-before card-money">Rp 888.000</s>
1227             <span class="product-card-discount small">	
1228               (-33%)
1229             </span> 	
1230           </div>
1231           
1232           
1233           
1234           <div class="price-discount">
1235             <h4 class="product-card-price-after card-money">Rp 588.000</h4>
1236           </div>
1237           
1238           
1239           
1240           
1241           
1242         </div>
1243         
1244       </div>
1245     </a>
1246   </div>
1247   
1248 </div>
1249 
1250                   </div>
1251                 
1252               
1253                 
1254                   <div class="swiper-slide card">
1255                     
1256 
1257 
1258 
1259 <div class="products" data-lazy="false">
1260   <div class="bg-products">
1261     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1262       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1263   <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.
126311233C11.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"/>
1264 </svg>
1265 
1266     </div>
1267     <a href="/products/mid-autumn-of-fortune-mooncake">
1268       
1269       <div class="product-card-img-container p-0 position-relative">
1270         
1271         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" alt="Mid Autumn of Fortune Mooncake" height="200" width="200">
1272       </div>
1273       <div class="card-body product-card-info">
1274         <h5 class="h5 mb-0">
1275           Mid Autumn of Fortune Mooncake
1276         </h5>
1277         <div class="product-card-price">
1278           
1279           <div class="product-price-sale">
1280             <s class="product-card-price-before card-money">Rp 1.188.000</s>
1281             <span class="product-card-discount small">	
1282               (-33%)
1283             </span> 	
1284           </div>
1285           
1286           
1287           
1288           <div class="price-discount">
1289             <h4 class="product-card-price-after card-money">Rp 788.000</h4>
1290           </div>
1291           
1292           
1293           
1294           
1295           
1296         </div>
1297         
1298       </div>
1299     </a>
1300   </div>
1301   
1302 </div>
1303 
1304                   </div>
1305                 
1306               
1307                 
1308                   <div class="swiper-slide card">
1309                     
1310 
1311 
1312 
1313 <div class="products" data-lazy="false">
1314   <div class="bg-products">
1315     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1316       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1317   <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.
131711233C11.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"/>
1318 </svg>
1319 
1320     </div>
1321     <a href="/products/mid-autumn-festival-mooncake">
1322       
1323       <div class="product-card-img-container p-0 position-relative">
1324         
1325         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" alt="Mid Autumn Festival Mooncake" height="200" width="200">
1326       </div>
1327       <div class="card-body product-card-info">
1328         <h5 class="h5 mb-0">
1329           Mid Autumn Festival Mooncake
1330         </h5>
1331         <div class="product-card-price">
1332           
1333           <div class="product-price-sale">
1334             <s class="product-card-price-before card-money">Rp 1.288.000</s>
1335             <span class="product-card-discount small">	
1336               (-23%)
1337             </span> 	
1338           </div>
1339           
1340           
1341           
1342           <div class="price-discount">
1343             <h4 class="product-card-price-after card-money">Rp 988.000</h4>
1344           </div>
1345           
1346           
1347           
1348           
1349           
1350         </div>
1351         
1352       </div>
1353     </a>
1354   </div>
1355   
1356 </div>
1357 
1358                   </div>
1359                 
1360               
1361                 
1362                   <div class="swiper-slide card">
1363                     
1364 
1365 
1366 
1367 <div class="products" data-lazy="false">
1368   <div class="bg-products">
1369     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1370       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1371   <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.
137111233C11.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"/>
1372 </svg>
1373 
1374     </div>
1375     <a href="/products/the-jade-bouquet">
1376       
1377       <div class="product-card-img-container p-0 position-relative">
1378         
1379         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" alt="The Jade Bouquet" height="200" width="200">
1380       </div>
1381       <div class="card-body product-card-info">
1382         <h5 class="h5 mb-0">
1383           The Jade Bouquet
1384         </h5>
1385         <div class="product-card-price">
1386           
1387           <div class="product-price-sale">
1388             <s class="product-card-price-before card-money">Rp 785.000</s>
1389             <span class="product-card-discount small">	
1390               (-34%)
1391             </span> 	
1392           </div>
1393           
1394           
1395           
1396           <div class="price-discount">
1397             <h4 class="product-card-price-after card-money">Rp 369.000</h4>
1398           </div>
1399           
1400           
1401           
1402           
1403           
1404         </div>
1405         
1406       </div>
1407     </a>
1408   </div>
1409   
1410 </div>
1411 
1412                   </div>
1413                 
1414               
1415                 
1416                   <div class="swiper-slide card">
1417                     
1418 
1419 
1420 
1421 <div class="products" data-lazy="false">
1422   <div class="bg-products">
1423     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1424       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1425   <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.
142511233C11.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"/>
1426 </svg>
1427 
1428     </div>
1429     <a href="/products/the-selena-bouquet">
1430       
1431       <div class="product-card-img-container p-0 position-relative">
1432         
1433         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" alt="The Selena Bouquet" height="200" width="200">
1434       </div>
1435       <div class="card-body product-card-info">
1436         <h5 class="h5 mb-0">
1437           The Selena Bouquet
1438         </h5>
1439         <div class="product-card-price">
1440           
1441           <div class="product-price-sale">
1442             <s class="product-card-price-before card-money">Rp 335.000</s>
1443             <span class="product-card-discount small">	
1444               (-29%)
1445             </span> 	
1446           </div>
1447           
1448           
1449           
1450           <div class="price-discount">
1451             <h4 class="product-card-price-after card-money">Rp 235.000</h4>
1452           </div>
1453           
1454           
1455           
1456           
1457           
1458         </div>
1459         
1460       </div>
1461     </a>
1462   </div>
1463   
1464 </div>
1465 
1466                   </div>
1467                 
1468               
1469                 
1470                   <div class="swiper-slide card">
1471                     
1472 
1473 
1474 
1475 <div class="products" data-lazy="false">
1476   <div class="bg-products">
1477     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1478       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1479   <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.
147911233C11.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"/>
1480 </svg>
1481 
1482     </div>
1483     <a href="/products/the-viola-bouquet">
1484       
1485       <div class="product-card-img-container p-0 position-relative">
1486         
1487         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" alt="A striking bouquet featuring full pink chrysanthemums and delicate purple asters. It is elegantly wrapped in deep purple paper with a modern black and white striped accent at the base. The arrangement is tied with a pink ribbon bow, creating a full, rounded shape. This sophisticated bouquet is perfect for birthdays, anniversaries, or as a thoughtful thank-you gesture." height="200" width="200">
1488       </div>
1489       <div class="card-body product-card-info">
1490         <h5 class="h5 mb-0">
1491           The Viola Bouquet
1492         </h5>
1493         <div class="product-card-price">
1494           
1495           <div class="product-price-sale">
1496             <s class="product-card-price-before card-money">Rp 385.000</s>
1497             <span class="product-card-discount small">	
1498               (-25%)
1499             </span> 	
1500           </div>
1501           
1502           
1503           
1504           <div class="price-discount">
1505             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1506           </div>
1507           
1508           
1509           
1510           
1511           
1512         </div>
1513         
1514       </div>
1515     </a>
1516   </div>
1517   
1518 </div>
1519 
1520                   </div>
1521                 
1522               
1523                 
1524                   <div class="swiper-slide card">
1525                     
1526 
1527 
1528 
1529 <div class="products" data-lazy="false">
1530   <div class="bg-products">
1531     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1532       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1533   <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.
153311233C11.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"/>
1534 </svg>
1535 
1536     </div>
1537     <a href="/products/the-minerva-bouquet">
1538       
1539       <div class="product-card-img-container p-0 position-relative">
1540         
1541         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" alt="The Minerva Bouquet" height="200" width="200">
1542       </div>
1543       <div class="card-body product-card-info">
1544         <h5 class="h5 mb-0">
1545           The Minerva Bouquet
1546         </h5>
1547         <div class="product-card-price">
1548           
1549           <div class="product-price-sale">
1550             <s class="product-card-price-before card-money">Rp 385.000</s>
1551             <span class="product-card-discount small">	
1552               (-25%)
1553             </span> 	
1554           </div>
1555           
1556           
1557           
1558           <div class="price-discount">
1559             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1560           </div>
1561           
1562           
1563           
1564           
1565           
1566         </div>
1567         
1568       </div>
1569     </a>
1570   </div>
1571   
1572 </div>
1573 
1574                   </div>
1575                 
1576               
1577                 
1578                   <div class="swiper-slide card">
1579                     
1580 
1581 
1582 
1583 <div class="products" data-lazy="false">
1584   <div class="bg-products">
1585     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1586       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1587   <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.
158711233C11.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"/>
1588 </svg>
1589 
1590     </div>
1591     <a href="/products/congraduations-bouquet">
1592       
1593       <div class="product-card-img-container p-0 position-relative">
1594         
1595         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" alt="Congraduations Bouquet" height="200" width="200">
1596       </div>
1597       <div class="card-body product-card-info">
1598         <h5 class="h5 mb-0">
1599           Congraduations Bouquet
1600         </h5>
1601         <div class="product-card-price">
1602           
1603           <div class="product-price-sale">
1604             <s class="product-card-price-before card-money">Rp 380.000</s>
1605             <span class="product-card-discount small">	
1606               (-25%)
1607             </span> 	
1608           </div>
1609           
1610           
1611           
1612           <div class="price-discount">
1613             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1614           </div>
1615           
1616           
1617           
1618           
1619           
1620         </div>
1621         
1622       </div>
1623     </a>
1624   </div>
1625   
1626 </div>
1627 
1628                   </div>
1629                 
1630               
1631                 
1632                   <div class="swiper-slide card">
1633                     
1634 
1635 
1636 
1637 <div class="products" data-lazy="false">
1638   <div class="bg-products">
1639     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1640       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1641   <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.
164111233C11.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"/>
1642 </svg>
1643 
1644     </div>
1645     <a href="/products/grad-gorgeous-bouquet">
1646       
1647       <div class="product-card-img-container p-0 position-relative">
1648         
1649         <img class="product-card-img"  lazy="false" src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
1650       </div>
1651       <div class="card-body product-card-info">
1652         <h5 class="h5 mb-0">
1653           Grad & Gorgeous Bouquet
1654         </h5>
1655         <div class="product-card-price">
1656           
1657           <div class="product-price-sale">
1658             <s class="product-card-price-before card-money">Rp 380.000</s>
1659             <span class="product-card-discount small">	
1660               (-25%)
1661             </span> 	
1662           </div>
1663           
1664           
1665           
1666           <div class="price-discount">
1667             <h4 class="product-card-price-after card-money">Rp 285.000</h4>
1668           </div>
1669           
1670           
1671           
1672           
1673           
1674         </div>
1675         
1676       </div>
1677     </a>
1678   </div>
1679   
1680 </div>
1681 
1682                   </div>
1683                 
1684               
1685             </div>
1686           </div>
1687         
1688       </div>
1689     </div>
1690   </div>
1691 
1692   <div class="site-overlay" style="display: none"></div>
1693 </div>
1694 
1694<script>
1695   
1696   var swiper = new Swiper('.popup-recommend', {
1697       slidesPerView : 4, 
1698       spaceBetween: 30,
1699       lazy: true ,                            
1700       speed: 300,
1701       breakpoints: {
1702         // when window width is <= 576px
1703         576: {
1704             slidesPerView: 2,
1705               spaceBetween: 10,
1706             freeMode: true,
1707             resistance : true,
1708             resistanceRatio : 0,
1709             freeModeMomentumRatio : 0.45,
1710             freeModeMomentumVelocityRatio : 1.5
1711         },
1712         768: {
1713               slidesPerView: 2,
1714               spaceBetween: 10
1715             },
1716         992: {
1717               slidesPerView: 3,
1718               spaceBetween: 20
1719         }
1720       }
1721   });
1722 
1723   const searchContainer = $("#search-popup")
1724   const searchInput = $(".search-popup")
1725   const result_collection = $('.result_collection')
1726   const result_product = $('.result_product')
1727   const resultsearch = $('.resultsearch')
1728   const resultrecommend = $(".group-recommend")
1729   const moreresult = $(".moreresult")
1730 
1731   searchInput.keyup(function(){
1732     const input = $(this).val()
1733     moreresult.find("p span").text(` “${input}”`)
1734     if(input.length > 2) {
1735       $(".close-search").show()
1736       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
1737       $.ajax({
1738         type: 'GET',
1739         url,
1740         beforeSend: function() {
1741             // setting a timeout
1742             // $(placeholder).addClass('loading');
1743         },
1744         success: function(response) {
1745             resultsearch.show()
1746             resultrecommend.hide()
1747             result_collection.html("")
1748             result_product.html("")
1749             const collections = response.resources.results.collections
1750             const products = response.resources.results.products
1751             let collection_length = collections.length
1752             let product_length = products.length
1753             // if(collections.length > 5) {
1754             //   collection_length = 5
1755             // }
1756             // if(products.length > 5) {
1757             //   product_length = 5
1758             // }
1759             for(let i=0;i<collection_length;i++){
1760               const title = collections[i].title
1761               const url = collections[i].url
1762               let html_collection
1763               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
1764                 html_collection = `
1765                 <li class="item" data-title="${title}">
1766                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
1767                 </li>
1768                 `
1769               }
1770               result_collection.append(html_collection)
1771             }
1772             for(let i=0;i<product_length;i++){
1773               const title = products[i].title
1774               const url = products[i].url
1775               const image = products[i].featured_image.url
1776               const vendor = products[i].vendor
1777               let html_product
1778               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
1779                 html_product = `
1780                 <li class="item" data-vendor="${vendor}">
1781                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
1782                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
1783                   </a>
1784                 </li>
1785                 `
1786               }
1787               result_product.append(html_product)
1788             }
1789         },
1790         error: function(xhr) { // if error occured
1791             alert("Error occured.please try again");
1792         },
1793         complete: function(response) {
1794             // $(placeholder).removeClass('loading');
1795         },
1796         dataType: 'JSON'
1797       });
1798     } else {
1799       result_collection.html("")
1800       result_product.html("")
1801       
1802       resultsearch.hide()
1803       resultrecommend.show()
1804     }
1805   })
1806 
1807   moreresult.click(function(){
1808     $("#search-btn").trigger("click");
1809   })
1810 
1811   $(".close-search").click(function(){
1812     $(this).hide()
1813     searchInput.val("")
1814     searchInput.focus()
1815     resultsearch.hide()
1816     resultrecommend.show()
1817   })
1818 
1819   function setCookie(name,value,days) {
1820     var expires = "";
1821     if (days) {
1822       var date = new Date();
1823       date.setTime(date.getTime() + (days*24*60*60*1000));
1824       expires = "; expires=" + date.toUTCString();
1825     }
1826     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
1827   }
1828   function getCookie(name) {
1829     var nameEQ = name + "=";
1830     var ca = document.cookie.split(';');
1831     for(var i=0;i < ca.length;i++) {
1832       var c = ca[i];
1833       while (c.charAt(0)==' ') c = c.substring(1,c.length);
1834       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
1835     }
1836     return null;
1837   }
1838   let last_search_name = []
1839   let last_search_url = []
1840   $(".group-recent").hide()
1841   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
1842     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
1843       $(".group-recent").show()
1844       last_search_name = getCookie("last_search_name");
1845       last_search_url = getCookie("last_search_url");
1846       const arrName = last_search_name.substring(1).split(',').reverse()
1847       const arrUrl = last_search_url.substring(1).split(',').reverse()
1848       console.log(arrName, 'Array Name')
1849       console.log(arrUrl, 'Array Url')
1850       let length = arrName.length
1851       if(arrName.length > 5) {
1852         length = 5
1853       }
1854       for(let n=0;n<length;n++){
1855         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://myassets.space/crow/brand-juragan404.gif"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">
1855${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
1856         $(".group-recent ul").append(html2)
1857       }
1858     }
1859   }
1860   console.log(last_search_name, 'Name')
1861   console.log(last_search_url, 'url')
1862   
1863   resultsearch.delegate(".item a", "click", function(){
1864     let name = [last_search_name]
1865     let url = [last_search_url]
1866     name.push($(this).attr('data-title'))
1867     url.push($(this).attr('data-url'))
1868     setCookie("last_search_name",name,7);
1869     setCookie("last_search_url",url,7);
1870   })
1871   
1872   $(".delete-all-history").click(function() {
1873     setCookie("last_search_name",null,0);
1874     setCookie("last_search_url",null,0);
1875     $(".last-search").hide();
1876     setTimeout(function(){
1877       location.reload();
1878     }, 500);
1879   })
1880   
1881   $("#search-trigger").click(function(){
1882     search_open()
1883   })
1884   $(".icon-search-mobile").click(function(){
1885     search_open()
1886   })
1887   $(".search-header svg").click(function(){
1888     search_close()
1889   })
1890   $(".icon-key-mobile").click(function(){
1891     search_close()
1892   })
1893 
1894   function search_open() {
1895     $("body").addClass("search-popup-open")
1896     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
1897     $("#search-popup, .search-header svg, .icon-key-mobile").show()
1898     $(".search-popup").focus()
1899     $('.popup-recommend')[0].swiper.update();
1900   }
1901   function search_close() {
1902     $("body").removeClass("search-popup-open")
1903     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
1904     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
1905     searchInput.val("")
1906     resultsearch.hide()
1907     resultrecommend.show()
1908   }
1909 
1910   $(".site-overlay").click(function(){
1911     search_close()
1912   })
1913 </script>
1913
1914 
1915 </div>
1916     </div>
1917 
1918     <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
1919       <main class="main-content pt-0" role="main">
1920         
1921           <div id="breadcrumbProduct" class="d-none d-lg-block">
1922             <style>
1923   #breadcrumbProduct {
1924     padding: 20px 0;
1925   }
1926   #breadcrumbProduct ul {
1927       display: flex;
1928       padding: 0;
1929       list-style: none;
1930       margin: 0;
1931       gap: 12px;
1932   }
1933   #breadcrumbProduct ul li {
1934     text-transform: uppercase;
1935     margin: 0;
1936     font-size: 12px;
1937 }
1938   #breadcrumbProduct ul li a {
1939     color: #757575;
1940   }
1941 
1942   #breadcrumbProduct ul li svg {
1943     width: 10px;
1944     height: 10px;
1945     padding: 0;
1946     color: #757575;
1947     vertical-align: middle;
1948   }
1949 </style>
1950 <div class="container" style="color: #fffb00;">
1951   <ul role="navigation" aria-label="breadcrumbs">
1952     <li><a href="https://travelsportcanarias.com/" style="color: #fffb00;">JURAGAN404</a></li>
1953     <li><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="7" height="10" viewBox="0 0 7 10" fill="none">
1954     <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"/>
1955 </svg></li>
1956       <li>JURAGAN404 LOGIN</li>
1957       <li>SITUS JURAGAN404</li>
1958       <li>SOLO TOTO</li>
1959       <li>PERMAINAN ONLINE</li>
1960     
1961   </ul>
1962 </div>
1963 
1964           </div>
1965         
1966 
1966<script type="application/ld+json">
1967 {
1968   "@context": "https://schema.org",
1969   "@type": "Product",
1970   "name": "JURAGAN404 | Portal Game Terpercaya & Terlengkap",
1971   "image": "https://myassets.space/crow/JURAGAN404RESMI.webp",
1972   "description": "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.",
1973   "brand": {
1974     "@type": "Brand",
1975     "name": "JURAGAN404"
1976   },
1977   "sku": "JURAGAN404",
1978   "mpn": "JURAGAN404",
1979   "url": "https://travelsportcanarias.com/",
1980   "offers": {
1981     "@type": "Offer",
1982     "url": "https://travelsportcanarias.com/",
1983     "priceCurrency": "USD",
1984     "price": "10.00",
1985     "priceValidUntil": "2025-12-25",
1986     "itemCondition": "https://schema.org/NewCondition",
1987     "availability": "https://schema.org/InStock",
1988     "seller": {
1989       "@type": "Organization",
1990       "name": "JURAGAN404"
1991     }
1992   },
1993   "aggregateRating": {
1994     "@type": "AggregateRating",
1995     "ratingValue": "5.0",
1996     "reviewCount": 858
1997   },
1998   "review": [
1999     {
2000       "@type": "Review",
2001       "reviewRating": {
2002         "@type": "Rating",
2003         "ratingValue": "5",
2004         "bestRating": "5"
2005       },
2006       "author": {
2007         "@type": "Person",
2008         "name": "Hanabi"
2009       }
2010     },
2011     {
2012       "@type": "Review",
2013       "reviewRating": {
2014         "@type": "Rating",
2015         "ratingValue": "5",
2016         "bestRating": "5"
2017       },
2018       "author": {
2019         "@type": "Person",
2020         "name": "Hayabusa"
2021       }
2022     }
2023   ]
2024 }
2025 </script>
2025<script type="application/ld+json">
2026 {
2027   "@context": "https://schema.org",
2028   "@type": "BreadcrumbList",
2029   "itemListElement": [
2030     {
2031       "@type": "ListItem",
2032       "position": 1,
2033       "name": "JURAGAN404",
2034       "item": "https://travelsportcanarias.com/"
2035     },
2036     {
2037       "@type": "ListItem",
2038       "position": 2,
2039       "name": "SOLO TOTO",
2040       "item": "https://travelsportcanarias.com/"
2041     },
2042     {
2043       "@type": "ListItem",
2044       "position": 3,
2045       "name": "JURAGAN404 LOGIN",
2046       "item": "https://travelsportcanarias.com/"
2047     },
2048     {
2049       "@type": "ListItem",
2050       "position": 4,
2051       "name": "JURAGAN404 ONLINE",
2052       "item": "https://travelsportcanarias.com/"
2053     },
2054     {
2055       "@type": "ListItem",
2056       "position": 5,
2057       "name": "SITUS JURAGAN404",
2058       "item": "https://travelsportcanarias.com/"
2059     },
2060     {
2061       "@type": "ListItem",
2062       "position": 6,
2063       "name": "LINK ALTERNATIF JURAGAN404",
2064       "item": "https://travelsportcanarias.com/"
2065     },
2066     {
2067       "@type": "ListItem",
2068       "position": 7,
2069       "name": "PERMAINAN ONLINE",
2070       "item": "https://travelsportcanarias.com/"
2071     },
2072     {
2073       "@type": "ListItem",
2074       "position": 8,
2075       "name": "JURAGAN404 | Portal Game Terpercaya & Terlengkap",
2076       "item": "https://travelsportcanarias.com/"
2077     }
2078   ]
2079 }
2080 </script>
2080
2081
2082 <!--faq-->
2083
2084 
2084<script type="application/ld+json" id="faq-schema">
2085{
2086  "@context": "https://schema.org",
2087  "@type": "FAQPage",
2088  "mainEntity": [
2089    {
2090      "@type": "Question",
2091      "name": "1. Apa itu JURAGAN404?",
2092      "acceptedAnswer": {
2093        "@type": "Answer",
2094        "text": "JURAGAN404 adalah platform Toto Macau online yang menyediakan berbagai pilihan pasaran dengan tampilan website yang mudah digunakan, sistem yang stabil, dan layanan pelanggan yang siap membantu pengguna."
2095      }
2096    },
2097    {
2098      "@type": "Question",
2099      "name": "2. Bagaimana cara mendaftar di JURAGAN404?",
2100      "acceptedAnswer": {
2101        "@type": "Answer",
2102        "text": "Pendaftaran di JURAGAN404 sangat mudah. Pengguna hanya perlu mengisi formulir registrasi dengan data yang diperlukan, kemudian mengikuti petunjuk yang tersedia hingga akun berhasil dibuat."
2103      }
2104    },
2105    {
2106      "@type": "Question",
2107      "name": "3. Apakah JURAGAN404 dapat diakses melalui smartphone?",
2108      "acceptedAnswer": {
2109        "@type": "Answer",
2110        "text": "Ya. JURAGAN404 dapat diakses melalui perangkat Android, iPhone, tablet, maupun komputer tanpa perlu mengunduh aplikasi tambahan."
2111      }
2112    },
2113    {
2114      "@type": "Question",
2115      "name": "4. Apa keunggulan JURAGAN404?",
2116      "acceptedAnswer": {
2117        "@type": "Answer",
2118        "text": "JURAGAN404 menawarkan website yang responsif, sistem yang stabil, tampilan yang mudah digunakan, serta pelayanan yang profesional untuk memberikan pengalaman yang nyaman bagi setiap pengguna."
2119      }
2120    },
2121    {
2122      "@type": "Question",
2123      "name": "5. Apa saja fitur yang tersedia di JURAGAN404?",
2124      "acceptedAnswer": {
2125        "@type": "Answer",
2126        "text": "Ya, tim customer service JURAGAN404 tersedia 24/7 untuk membantu proses pendaftaran, login, transaksi, dan menjawab semua kendala pemain."
2127      }
2128    }
2129  ]
2130}
2131</script>
2131
2132 
2132<script type="application/ld+json">
2133 {
2134   "@context": "https://schema.org",
2135   "@type": "Organization",
2136   "name": "JURAGAN404",
2137   "url": "https://travelsportcanarias.com/",
2138   "logo": "https://myassets.space/crow/brand-juragan404.gif",
2139   "sameAs": [
2140     "https://www.facebook.com/solototo",
2141     "https://twitter.com/solototo",
2142     "https://www.instagram.com/evsolototostoto"
2143   ],
2144   "contactPoint": {
2145     "@type": "ContactPoint",
2146     "telephone": "+62-8946-113-4615",
2147     "contactType": "customer support",
2148     "areaServed": "ID",
2149     "availableLanguage": ["Indonesian", "English"]
2150   }
2151 }
2152 </script>
2152
2153 
2154 
2154<script type="application/ld+json">
2155 {
2156   "@context": "https://schema.org",
2157   "@type": "VideoObject",
2158   "name": "JURAGAN404 | Portal Game Terpercaya & Terlengkap",
2159   "description": "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.",
2160   "thumbnailUrl": [
2161     "https://myassets.space/crow/JURAGAN404RESMI.webp",
2162     "https://myassets.space/crow/JURAGAN404RESMI.webp"
2163   ],
2164   "uploadDate": "2025-09-28T04:19:10-04:00",
2165   "duration": "PT168",
2166   "contentUrl": "https://travelsportcanarias.com/"
2167 }
2168 </script>
2168
2169 
2170 
2170<script type="application/ld+json">
2171 {
2172   "@context": "https://schema.org",
2173   "@type": "BreadcrumbList",
2174   "itemListElement": [
2175     {
2176       "@type": "ListItem",
2177       "position": 1,
2178       "name": "Home",
2179       "item": "https://travelsportcanarias.com/"
2180     }
2181   ]
2182 }
2183 </script>
2183
2184 
2185 
2185<script type="application/ld+json">
2186 {
2187   "@context": "https://schema.org",
2188   "@graph": [
2189     {
2190       "@type": "Organization",
2191       "@id": "https://travelsportcanarias.com/#org",
2192       "name": "JURAGAN404",
2193       "url": "https://travelsportcanarias.com/",
2194       "logo": "https://myassets.space/crow/JURAGAN404RESMI.webp"
2195     },
2196     {
2197       "@type": "WebSite",
2198       "@id": "https://travelsportcanarias.com/#website",
2199       "url": "https://travelsportcanarias.com/",
2200       "name": "JURAGAN404",
2201       "publisher": { "@id": "https://travelsportcanarias.com/#org" },
2202       "inLanguage": "id-ID",
2203       "potentialAction": {
2204         "@type": "SearchAction",
2205         "target": "https://travelsportcanarias.com/?s={search_term_string}",
2206         "query-input": "required name=search_term_string"
2207       }
2208     },
2209     {
2210       "@type": "SoftwareApplication",
2211       "@id": "https://travelsportcanarias.com/#app",
2212       "name": "JURAGAN404",
2213       "applicationCategory": "GameApplication",
2214       "operatingSystem": "Android, iOS, Windows",
2215       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
2216       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
2217     }
2218   ]
2219 }
2220 </script>
2220
2221         
2222 <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" />
2223 
2224 
2225 <style>
2226     .bg-card {
2227     background-color: #000000;
2228 }
2229     </style>
2230 
2231 <!-- /templates/product.liquid -->
2232 
2233 
2234 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2235 
2236 
2237 <div class="product-standing-flower" data-product-type="flowerBoard">
2238   <meta itemprop="url" content="https://travelsportcanarias.com/">
2239   <meta itemprop="image" content="https://myassets.space/crow/JURAGAN404RESMI.webp">
2240 
2241   
2242   
2243   <input id="data-sku" type="hidden" value="OBVSTF1086">
2244   <div class="product-single" style="background-image: url(https://myassets.space/crow/JURAGAN404RESMI.webp); background-attachment: fixed;">
2245     <div id="product-top" class="container">
2246       <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;">
2247         <div id="product-image" class="col-lg-7 text-center">
2248           <div class="product-image">
2249             <div class="row no-gutters">
2250   
2251   <div id="product-featured-image" class="row w-100">
2252     
2253       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2254         
2255         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2256           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2257 
2258                   <li class="swiper-slide" data-type="image">
2259                     <a
2260                       href="files/Blossom-Shine-WM.jpg"
2261                       data-standard="https://myassets.space/crow/JURAGAN404RESMI.webp"
2262                       data-image="files/Blossom-Shine-WM.jpg"
2263                       data-position="1"
2264                       class="product-single__thumbnail"
2265                     >
2266                       <img
2267                         class="lazyload w-100"
2268                         src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2269                         alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2270                         width=""
2271                         height=""
2272                       >
2273                     </a>
2274                   </li>
2275                 
2276               
2277             
2278 
2279                   <li class="swiper-slide" data-type="image">
2280                     <a
2281                       href="https://myassets.space/crow/JURAGAN404RESMI.webp"
2282                       data-standard="https://myassets.space/crow/JURAGAN404RESMI.webp"
2283                       data-image="https://myassets.space/crow/JURAGAN404RESMI.webp"
2284                       data-position="2"
2285                       class="product-single__thumbnail"
2286                     >
2287                       <img
2288                         class="lazyload w-100"
2289                         src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2290                         alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2291                         width=""
2292                         height=""
2293                       >
2294                     </a>
2295                   </li>
2296                 
2297               
2298             
2299 
2300                   <li class="swiper-slide" data-type="image">
2301                     <a
2302                       href="files/Blossom-Shine_3-WM.jpg"
2303                       data-standard="https://myassets.space/crow/JURAGAN404RESMI.webp"
2304                       data-image="files/Blossom-Shine_3-WM.jpg"
2305                       data-position="3"
2306                       class="product-single__thumbnail"
2307                     >
2308                       <img
2309                         class="lazyload w-100"
2310                         src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2311                         alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2312                         width=""
2313                         height=""
2314                       >
2315                     </a>
2316                   </li>
2317                 
2318               
2319             
2320 
2321                   <li class="swiper-slide" data-type="image">
2322                     <a
2323                       href="files/Blossom-Shine_4.jpg"
2324                       data-standard="https://myassets.space/crow/JURAGAN404RESMI.webp"
2325                       data-image="files/Blossom-Shine_4.jpg"
2326                       data-position="4"
2327                       class="product-single__thumbnail"
2328                     >
2329                       <img
2330                         class="lazyload w-100"
2331                         src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2332                         alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2333                         width=""
2334                         height=""
2335                       >
2336                     </a>
2337                   </li>
2338                 
2339               
2340             
2341           </ul>
2342         </div>
2343         
2344       </div>
2345     
2346     <div
2347       id="featured-image-product"
2348       class="col-lg-10 col-12 d-none d-lg-block"
2349     >
2350       <div class="swiper-container gallery-top">
2351         <div class="swiper-slide product-single__image">
2352           
2353 <div class="product-single__photos slider slider-for" id="ProductPhoto">
2354   
2355 
2356   <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2357     <a href="https://myassets.space/crow/JURAGAN404RESMI.webp">
2358       <img
2359         src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2360         alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2361         id="ProductPhotoImg"
2362         class="lazyload"
2363       >
2364       
2365     </a>
2366   </div>
2367 </div>
2368 
2369         </div>
2370         <div class="swiper-slide product-single__video" style="display: none">
2371           <video
2372             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2373             playsinline
2374             loop
2375             muted
2376           ></video>
2377         </div>
2378       </div>
2379     </div>
2380   </div>
2381 
2382   <div id="featured-image-product2" class="col-12 d-lg-none">
2383     <div class="swiper-container gallery-mobile">
2384       <ul class="swiper-wrapper">
2385 <li class="swiper-slide img">
2386               
2387                 <img
2388                   class="swiper-lazy"
2389                   src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2390                   data-src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2391                   alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2392                   width=""
2393                   height=""
2394                 >
2395               
2396             </li>
2397           
2398         
2399 <li class="swiper-slide img">
2400               
2401                 <img
2402                   class="swiper-lazy"
2403                   src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2404                   data-src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2405                   alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2406                   width=""
2407                   height=""
2408                 >
2409               
2410             </li>
2411           
2412         
2413 <li class="swiper-slide img">
2414               
2415                 <img
2416                   class="swiper-lazy"
2417                   src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2418                   data-src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2419                   alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2420                   width=""
2421                   height=""
2422                 >
2423               
2424             </li>
2425           
2426         
2427 <li class="swiper-slide img">
2428               
2429                 <img
2430                   class="swiper-lazy"
2431                   src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2432                   data-src="https://myassets.space/crow/JURAGAN404RESMI.webp"
2433                   alt="JURAGAN404 | Portal Game Terpercaya & Terlengkap"
2434                   width=""
2435                   height=""
2436                 >
2437               
2438             </li>
2439           
2440         
2441       </ul>
2442       
2443         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div>
2444         <div class="swiper-button-next"><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="7" height="10" viewB
2444ox="0 0 7 10" fill="none">
2445     <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"/>
2446 </svg></div>
2447 
2448         <!-- Add Pagination -->
2449         <div class="swiper-pagination"></div>
2450       
2451     </div>
2452   </div>
2453 
2454   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2455     <!-- product video -->
2456     <style>
2457       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
2458       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
2459       .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;}
2460       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
2461       .close-video .icon{width:30px;height:30px;}
2462       /*responsive iframe */
2463       .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);}
2464       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
2465 
2466       .youtube {
2467         background-color: #000;
2468         margin-bottom: 30px;
2469         position: relative;
2470         padding-top: 56.25%;
2471         overflow: hidden;
2472         cursor: pointer;
2473         width: 100%;
2474       }
2475       .swiper-slide .youtube {
2476         max-width: 480px;
2477       }
2478       .youtube img {
2479         width: 100%;
2480         top: -16.82%;
2481         left: 0;
2482         opacity: 0.7;
2483       }
2484       .youtube .play-button {
2485         width: 90px;
2486         height: 60px;
2487         background-color: #333;
2488         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
2489         z-index: 1;
2490         opacity: 0.8;
2491         border-radius: 6px;
2492       }
2493       .youtube .play-button:before {
2494         content: "";
2495         border-style: solid;
2496         border-width: 15px 0 15px 26.0px;
2497         border-color: transparent transparent transparent #fff;
2498       }
2499       .youtube img,
2500       .youtube .play-button {
2501         cursor: pointer;
2502       }
2503       .youtube img,
2504       .youtube iframe,
2505       .youtube .play-button,
2506       .youtube .play-button:before {
2507         position: absolute;
2508       }
2509       .youtube .play-button,
2510       .youtube .play-button:before {
2511         top: 50%;
2512         left: 50%;
2513         transform: translate3d( -50%, -50%, 0 );
2514       }
2515       .youtube iframe {
2516         height: 100%;
2517         width: 100%;
2518         top: 0;
2519         left: 0;
2520       }
2521     </style>
2522 
2523     
2524   </div>
2525 </div>
2526 
2527 <div class="product-desc-add position-relative d-none d-lg-block m-0">
2528 
2529 </div>
2530 
2531 
2531<script>
2532   if ($(window).width() < 991) {
2533     var direction = 'horizontal'
2534   } else {
2535     var direction = 'vertical'
2536     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2537   }
2538   var swiper = new Swiper('.gallery-thumbs', {
2539     
2540     direction,
2541     slidesPerView: 4.5,
2542     spaceBetween: 12,
2543     navigation: {
2544       nextEl: '.swiper-button-next',
2545       prevEl: '.swiper-button-prev',
2546     }
2547   });
2548   
2549   var swiper = new Swiper('.gallery-mobile', {
2550     //loop: true,
2551     lazy: true,
2552     speed: 300,
2553     resistance : true,
2554     resistanceRatio : 0,
2555     freeModeMomentumRatio : 0.45,
2556     freeModeMomentumVelocityRatio : 1.5,
2557     navigation: {
2558       nextEl: '.swiper-button-next',
2559       prevEl: '.swiper-button-prev',
2560     },
2561     pagination: {
2562       el: '.swiper-pagination'
2563     },
2564     useCSS3Transforms: false,
2565     loop: false,
2566     on: {
2567       init: function () {
2568         console.log('swiper initialized');
2569         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2570         currentVideo.trigger('play');
2571       },
2572     },
2573   });
2574 
2575   /* GET ALL VIDEOS */
2576   var sliderVideos = $(".swiper-slide video");
2577   
2578   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2579   swiper.on('slideChange', function () {
2580     console.log('slide changed');
2581     /* stop all videos  */
2582     sliderVideos.each(function( index ) {
2583       this.currentTime = 0;
2584     });
2585   
2586     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2587     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2588     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2589     prevVideo.trigger('stop');
2590     currentVideo.trigger('play');
2591   });
2592   
2593 
2594   $("[data-video]").click(function(){
2595     const file = $(this).data("video")
2596     $(".product-single__video").show()
2597     $(".product-single__image").hide()
2598     $(".product-single__video").find("video").attr("src", file)
2599     $(".product-single__video").find("video")[0].play();
2600   })
2601   $("[data-image]").click(function(){
2602     $(".product-single__video").hide()
2603     $(".product-single__image").show()
2604     $(".product-single__video").find("video")[0].pause();
2605   })
2606 
2607   $("#product-image .swiper-slide").each(function(){
2608     let width = $(this).width()
2609     $(this).height(width)
2610   })
2611 
2612   $(window).resize(function() {
2613     $("#product-image .swiper-slide").each(function(){
2614       let width = $(this).width()
2615       $(this).height(width)
2616     })
2617   })
2618 </script>
2618
2619 
2620           </div>
2621 
2622   
2623     <div class="grid__item_product-info mb-3">
2624       <div class="c-pdp-product-info">
2625         <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
2626        <!-- artikel -->
2627             <li>
2628                <strong>JURAGAN404</strong> hadir sebagai pilihan tempat bermain game online yang mengutamakan kenyamanan, keseruan, dan suasana yang cozy. Di tengah banyaknya pilihan platform game online, JURAGAN404 mencoba memberikan pengalaman bermain yang lebih santai dan menyenangkan bagi siapa saja yang ingin mengisi waktu luang.
2629             </li>
2630             <br>
2631             <li>
2632                bukan sekadar tempat untuk bermain game, tetapi juga bisa menjadi pilihan hiburan ketika sedang merasa bosan atau ingin sejenak melepas penat dari rutinitas sehari-hari. Dengan suasana yang nyaman dan konsep yang santai, aktivitas bermain game terasa semakin seru untuk dinikmati.
2633             </li>           
2634         </ul>
2635       </div>
2636     </div>
2637   
2638 
2639 
2640 
2641 
2642 <style>
2643   .c-pdp-product-info__service--active {
2644     font-size: 12px;
2645     padding-left: 10px;
2646     text-align: left;
2647     max-width: 550px;
2648     margin: auto;
2649     color: #fff;
2650   }
2651   .c-pdp-product-info__service--active li {
2652     list-style: disc;
2653   }
2654   .c-pdp-product-info {
2655     background-color: #000000;
2656     padding: 12px;
2657     margin: 0;
2658   }
2659   .freeship em {
2660     font-style: italic;
2661     font-size: 12px !important;
2662   }
2663 
2664 
2665 </style>
2666 
2667 
2667<script>
2668   $(document).ready(function(){
2669     if ( $(".c-pdp-product-info__service li").length == 1 ) {
2670       $(".c-pdp-product-info__service").addClass("no-bullet");
2671       $(".c-pdp-product-info__service li").addClass("no-bullets");
2672     }
2673   });
2674 </script>
2674
2675 
2676   
2677 
2678 
2679 
2680   
2681 
2682   
2683 
2684 
2685             
2686           
2687         </div>
2688         <div id="product-meta" class="col-lg-5 p-0">
2689           <div class="product-meta">
2690             <style>
2691   .product-meta--review {margin-top:10px}
2692   .freeship * {font-size: 14px !important;font-style: normal;}
2693 </style>
2694 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">JURAGAN404 | Portal Game Terpercaya & Terlengkap</h1>
2695 
2696 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
2697   <meta itemprop="priceCurrency" content="IDR">
2698 
2699   <link itemprop="availability" href="https://schema.org/InStock">
2700   
2700<script
2701     type="text/javascript"
2702     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
2703     async="async"
2704   ></script>
2704
2705   
2706 
2707   
2708 
2709   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
2710   
2711     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
2712   
2713   <div class="row no-gutters mb-3">
2714     <span
2715       id="ProductPrice"
2716       class="h2 ProductPrice"
2717       itemprop="price"
2718       content="835000" style="color: #ffffff;"
2719     >
2720       Rp 7.000
2721     </span>
2722     <div class="discount-product-detail">
2723       <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
2724         Rp 17.000
2725       </p>
2726       <span class=" tag-discount">
2727         
2728           
2729           <span id="newDiscount" class="product-tag persentase-discount hide"> 
2730       (90%)
2731       </span><br>
2732         
2733       </span>
2734     </div>
2735   </div>
2736 
2737   <div class="row no-gutters meta-sds">
2738     <div class="col-12 mb-2 mb-lg-0 stock-info">
2739       
2740       
2741       <span
2742         id="ProductStock-Product"
2743         class="product-single__stock mb-2 hide"
2744       >
2745         
2746           
2747             
2748               
2749               Barang dikirim pada 
2750             
2751           
2752         
2753       </span>
2754 
2755       <style>
2756     .short-desc-desktop {
2757         margin-bottom: 2rem;
2758         color: white;
2759     }
2760     .short-desc ul li:nth-child(n + 4) {
2761         display: none;
2762     }
2763     .short-desc ul li.showList:nth-child(n + 4) {
2764         display: list-item;
2765     }
2766     label.more {
2767         display: none;
2768     }
2769     label.more.showMe {
2770         display: block;
2771         font-size: 12px;
2772         text-transform: uppercase;
2773         font-weight: 700;
2774         cursor: pointer;
2775     }
2776 </style>
2777 
2778     <div class="short-desc-desktop d-none d-lg-block">
2779         <div class="short-desc">
2780            
2781 <p>JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.</p>
2782         </div>
2783         <label class="more">Show More →</label>
2784     </div><br>
2785 
2786 
2787 
2787<script>
2788     var liCount;
2789     $(document).ready(function () {
2790         $(".short-desc ul").each(function() {
2791             liCount = $(this).children("li").length;
2792             if (liCount > 3) {
2793                 $(this).parent(".short-desc").next(".more").addClass("showMe");
2794             }
2795         });
2796 
2797         $(".more").click(function () {
2798             //$(".short-desc").find("li").addClass("showList");
2799             // $(this).hide();
2800             $("#product-desc").find("ul").show()
2801             $('html, body').animate({
2802                 scrollTop: $("#product-desc").offset().top - 250
2803             }, 2000);
2804             $("#product-desc").css("height","auto");
2805             $("#more_content").remove();
2806             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
2807         });
2808     });
2809 </script>
2809
2810 
2811       
2812     </div>
2813   </div>
2814 
2815   <div id="purchaseProduct">
2816   
2817   
2818 
2819 
2820 <style>
2821   .variant-metafield {
2822     display: block!important;
2823     width: 1px;
2824     padding: 0;
2825     border-color: #fff;
2826   }
2827   .select2-results__option[aria-disabled] {
2828     display: none;
2829   }
2830 
2831   .towel-bordir {
2832     width: 100%;
2833     display: flex;
2834     align-items: center;
2835     justify-content: space-around;
2836   }
2837 </style>
2838 
2839 
2840 
2841 
2842 
2842<script>
2843   
2844   
2845 </script>
2845
2846 
2847 
2848 
2849 
2850 
2851 
2852 <select
2853   name="id[]"
2854   id="productSelect"
2855   class="product-single__variants ignore hide hide"
2856 >
2857   
2858     
2859       
2860       <option
2861         
2862           selected="selected"
2863         
2864         data-sku="OBVSTF1086"
2865         value="44083045826775"
2866       >
2867         Default Title
2868       </option>
2869 
2870     
2871   
2872 </select>
2873 
2874 
2874<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2874
2875 
2876 
2876<script>
2877   $('.size-chart-open-popup').magnificPopup({
2878     type:'inline',
2879     midClick: true
2880   });
2881 </script>
2881
2882 
2883   
2884   
2885   
2886   <div class="upload-image-preview">
2887     
2888     
2889     
2890     
2891     
2892     <style>
2893   .file-dnd * {
2894     margin: 0;
2895     padding: 0;
2896     box-sizing: border-box;
2897   }
2898   .file-dnd {
2899     width: 100%;
2900     height: 250px;
2901     border: 1px solid #ddd;
2902     border-radius: 10px;
2903     padding: 15px;
2904     display: flex;
2905     flex-direction: column;
2906     gap: 10px;
2907     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
2908     margin: auto;
2909   }
2910   .file-dnd input {
2911     display: none;
2912   }
2913   .file-dnd .before-upload {
2914     border: 1px dashed #888;
2915     flex: 1;
2916     border-radius: 5px;
2917     display: flex;
2918     justify-content: center;
2919     align-items: center;
2920     text-align: center;
2921     cursor: pointer;
2922   }
2923   .file-dnd .before-upload > div {
2924     display: flex;
2925     flex-direction: column;
2926     align-items: center;
2927     gap: 8px;
2928   }
2929   .file-dnd .before-upload > div h4 {
2930     width: 150px;
2931   }
2932   .file-dnd .before-upload > div p {
2933     font-size: 12px !important;
2934     color: #555;
2935   }
2936   .file-dnd.active .before-upload {
2937     border: 1px solid #5750d9;
2938     background-color: #f5f5ff;
2939   }
2940   .file-dnd .after-upload {
2941     position: relative;
2942     display: none;
2943   }
2944   .file-dnd .after-upload img {
2945     width: 100%;
2946     border-radius: 5px;
2947     max-height: 180px;
2948     object-fit: contain;
2949     display: block;
2950   }
2951   .file-dnd .after-upload .clear-btn {
2952     position: absolute;
2953     top: 10px;
2954     right: 10px;
2955     background: rgba(255, 255, 255, 0.5);
2956     width: 15px;
2957     height: 15px;
2958     text-align: center;
2959     line-height: 15px;
2960     border-radius: 50%;
2961     color: #fff;
2962     cursor: pointer;
2963     font-size: 14px;
2964   }
2965 </style>
2966 
2967 <div
2968   class="file-dnd mb-3"
2969   
2970     style="display: none"
2971   
2972 >
2973   <label for="upload-photo">Upload your Photo:</label>
2974   <input type="file" id="upload-photo" accept="image/*">
2975   <input type="hidden" data-properties="Photo">
2976   <div class="before-upload">
2977     <div>
2978       <svg id="surface1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
2979   <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>
2980   <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>
2981   <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>
2982 </svg>
2983 
2984       <h4>Drag & Drop Photo file or Browse</h4>
2985       <p>Supports: JPEG, PNG, GIF, TIFF</p>
2986     </div>
2987   </div>
2988   <div class="after-upload">
2989     <div class="clear-btn">&times;</div>
2990     <img src="" width="" height="">
2991   </div>
2992 </div>
2993 
2993<script>
2994   function applyDndFile(el) {
2995     const parent = document.querySelector(".file-dnd")
2996     const beforeUploadEl = el.querySelector(".before-upload")
2997     const afterUploadEl = el.querySelector(".after-upload")
2998     const inputFile = el.querySelector("input[type=file]")
2999     const imagePreview = el.querySelector(".after-upload img")
3000     const clearBtn = el.querySelector(".after-upload .clear-btn")
3001     const inputProps = parent.querySelector("[data-properties]");
3002 
3003     async function upload(name, uri, type) {
3004       try {
3005         const filename = name.split('.')[0]
3006         let formData = new FormData(); 
3007         formData.append("file", uri);
3008         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3009           method: "POST", 
3010           body: formData
3011         })
3012         if(response) {
3013           const res = await response.json()
3014           return res
3015         }
3016       } catch(err){
3017         console.log(err)
3018       }
3019     }
3020 
3021     function showImagePreview(img) {
3022       if(img){
3023         const blobUrl = URL.createObjectURL(img)
3024         imagePreview.src = blobUrl
3025         afterUploadEl.style.display = "block"
3026         beforeUploadEl.style.display = "none"
3027       }
3028     }
3029 
3030     beforeUploadEl.addEventListener("click", (e) => {
3031       e.preventDefault()
3032       inputFile.click()
3033     })
3034 
3035     inputFile.addEventListener("change", async (e) => {
3036       e.preventDefault()
3037       showImagePreview(e.target.files[0])
3038       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3039       inputProps.value = uploadData?.url
3040     })
3041 
3042     clearBtn.addEventListener("click", (e) => {
3043       afterUploadEl.style.display = "none"
3044       beforeUploadEl.style.display = "flex"
3045       inputProps.value = ""
3046     })
3047 
3048     beforeUploadEl.addEventListener("dragover", (e) => {
3049       e.preventDefault()
3050       el.classList.add("active")
3051     })
3052 
3053     beforeUploadEl.addEventListener("dragleave", (e) => {
3054       e.preventDefault()
3055       el.classList.remove("active")
3056     })
3057 
3058     beforeUploadEl.addEventListener("drop", async (e) => {
3059       e.preventDefault()
3060       el.classList.remove("active")
3061       showImagePreview(e.dataTransfer.files[0])
3062       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3063       console.log(uploadData)
3064       inputProps.value = uploadData?.url
3065     })
3066   }
3067 
3068   applyDndFile(document.querySelector(".file-dnd"))
3069 
3070   $(document).ready(function(){
3071     $(".variant-swatch").change(function(){
3072       const v = $(this).val().toLowerCase()
3073       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3074       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3075       $(".file-dnd").hide()
3076       $(".file-dnd").find("[data-properties]").val("")
3077       $(".after-upload").hide()
3078       $(".before-upload").css("display", "flex")
3079     })
3080   })
3081 </script>
3081
3082 
3083   </div>
3084   
3085     
3086     <div class="delivery-city mb-4">
3087         <a href="https://tempat-cozy.travelsportcanarias-com.app/">
3088        <center><img src="https://myassets.space/crow/DRAGON-2blood.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br>
3089   <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(208, 255, 0);">AGEN PALING RESMI JURAGAN404!</h4>
3090   <div class="row justify-content-between m-0">
3091     <select id="cities" class="form-control select-search" required>
3092       <option value="">AGEN RESMI JURAGAN404</option>
3093     </select>
3094   </div>
3095 </div>
3096 
3097 <style>
3098   @media (max-width: 768px) {
3099     .select2-search__field {
3100       pointer-events: none !important;
3101     }
3102     
3103     .select2-search {
3104       display: none !important;
3105     }
3106   }
3107 </style>
3108 
3109 
3109<script>
3110   $(document).ready(function() {
3111     // Check if mobile
3112     if (window.innerWidth <= 768) {
3113       // When cities select2 opens on mobile, remove focus from search
3114       $('#cities').on('select2:open', function() {
3115         setTimeout(function() {
3116           $('.select2-search__field').blur();
3117           $('.select2-search__field').prop('readonly', true);
3118         }, 100);
3119       });
3120     }
3121   });
3122 </script>
3122
3123 
3124  <style>
3125 .icon-img-footer {
3126     width: 80px; 
3127     padding: 0px 5px;
3128 }
3129 @media (min-width: 768px) {
3130     .icon-img-footer {
3131         width: 120px; 
3132     }
3133 }
3134 @media (min-width: 992px) {
3135     .icon-img-footer {
3136         width: 120px; 
3137     }
3138 }
3139 
3140 
3141 </style>
3142   <div id="row-delivery-date" class="row m-0 mb-3">
3143     <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(0, 191, 255);">Nikmati akses nyaman dan cozy bermain game di JURAGAN404</h4>
3144     <div id="deliveryDate" class="m-0"></div>
3145     <div id="deliveryDateFull">
3146       <div class="">
3147         <input
3148           type="text"
3149           id="full-date"
3150           class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
3151           value="Full Calendar"
3152         >
3153         <label for="full-date"><svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="32" height="32" viewBox="0 0 32 32">
3154 <title>icon-arrow-right</title>
3155 <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>
3156 </svg></label>
3157       </div>
3158       <button class="btnChangeDeliveryDate hide">Change Delivery Date</button>
3159     </div>
3160     <div class="form-group p-0">
3161       <input type="text" id="propDeliveryDate" required class="hide">
3162     </div>
3163   </div>
3164   
3165   
3166     <div id="row-delivery-time" class="row m-0 mb-3">
3167       <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
3168     SEO 2-BLOOD 
3169 </h4>
3170       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
3171       <div class="form-group p-0">
3172         <input type="text" id="propDeliveryTime" class="hide" required>
3173       </div>
3174     </div>
3175   
3176 
3177 
3178   
3179   
3180   <div id="personalizeBtn">
3181     
3182     
3183     
3184     
3185     <button
3186       class="btn text-uppercase w-100 fw-400"
3187       
3188       
3189       
3190     >
3191       
3192         customize your flower board
3193       
3194     </button>
3195     <div class="button-share-wishlist d-flex justify-content-around mt-3">
3196       <div class="button-share text-center">
3197         <p id="shareButton" class="d-flex gap-2"><span>JURAGAN404</span><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="15" height="13" viewBox="0 0 15 13" fill="none">
3198   <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"/>
3199 </svg>
3200 </p>
3201       </div>
3202       <div class="button-wishlist text-center">
3203         <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="16" height="15" viewBox="0 0 16 15" fill="none">
3204   <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"/>
3205 </svg>
3206 <!--
3207   <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="34" height="30" viewBox="0 0 34 30" fill="none">
3208   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 
320818.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"/>
3209   </svg>
3210 -->
3211 </p>
3212       </div>
3213     </div>
3214   </div>
3215 </div>
3216 <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3217   <div class="purchaseArea">
3218     <div class="sectionPurchase sectionPurchaseSpotify">
3219       <div class="wrapperPurchase">
3220         <div class="headerPurchase">
3221           <h3>personalize spotify photo print</h3>
3222           <a class="close-purchase-popup">
3223             <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
3224               <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>
3225             </svg>
3226           </a>
3227         </div>
3228         <div class="contentPurchase">
3229           <div class="spotifyAddons"></div>
3230         </div>
3231 
3232         <div class="purchase-button btn-addon row m-0" style="display: none;">
3233           <div class="col-12 col-lg-2 text-left mb-2 p-0">
3234             <button class="back-purchase-button back-addon text-uppercase">
3235               <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
3236                 <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>
3237               </svg>
3238               <span>Back</span>
3239             </button>
3240           </div>
3241           <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;">
3242             <button class="btn next-purchase-button next-addon text-uppercase">
3243               <span>continue without add-ons</span>
3244             </button>
3245           </div>
3246         </div>
3247       </div>
3248     </div>
3249   </div>
3250 </div>
3251 
3252 <style>
3253   #PBarNextFrameWrapper {
3254     display: none;
3255   }
3256   #backgroundPopup {
3257     display: none;
3258     position: fixed;
3259     _position: absolute;
3260     height: 100%;
3261     width: 100%;
3262     top: 0;
3263     left: 0;
3264     background: rgb(117 117 117 / 24%);
3265     z-index: 1;
3266   }
3267   .sectionPurchase {
3268     height: 100%;
3269     position: relative;
3270     max-width: 1344px;
3271     background-color: #fff;
3272     padding: 0;
3273     overflow: hidden; /* Changed from auto to hidden */
3274     display: flex;
3275     flex-direction: column;
3276   }
3277   .sectionPurchase.purchaseAddonSpotify {
3278     max-width: 1070px!important;
3279     max-height: 765px!important;
3280   }
3281   .sectionPurchaseBoard {
3282     max-width: 872px!important;
3283     max-height: 821px!important;
3284   }
3285   .purchaseAddonSpotify .btn-action {
3286     position: absolute;
3287     bottom: 0;
3288     left: 0;
3289     width: 100%;
3290     display: flex;
3291     gap: 10px;
3292   }
3293   .wrapperPurchase {
3294     position: relative;
3295     height: 100%;
3296     display: flex;
3297     flex-direction: column;
3298   }
3299   
3300   /* New styles for scrollable content and sticky button */
3301   .purchase-content {
3302     flex: 1;
3303     overflow-y: auto;
3304     overflow-x: hidden;
3305     padding: 20px;
3306   }
3307   
3308   .purchase-button-wrapper {
3309     position: sticky;
3310     bottom: 0;
3311     background-color: #fff;
3312     border-top: 1px solid #e0e0e0;
3313     padding: 15px 0;
3314     margin-top: auto;
3315     z-index: 10;
3316   }
3317   
3318   .purchasePopup {
3319     display: none;
3320     position: fixed;
3321     background: rgb(117 117 117 / 24%);
3322     z-index: 999;
3323     padding: 40px;
3324     font-size: 13px;
3325     top: 0;
3326     left: 0;
3327     width: 100%;
3328     height: 100%;
3329   }
3330   .popupPurchaseClose{
3331     font-size:14px;
3332     line-height:14px;
3333     right:45px;
3334     top:45px;
3335     position:absolute;
3336     color:#6fa5fd;
3337     font-weight:700;
3338     display:block;
3339     cursor: pointer;
3340   }
3341 
3342   .headerPurchase {
3343     margin-bottom: 30px;
3344     display: flex;
3345     justify-content: space-between;
3346   }
3347 
3348   .headerPurchase h3 {
3349     font-size: 16px;
3350     text-transform: uppercase;
3351   }
3352 
3353   .sectionPurchaseBoard .headerPurchase {
3354     margin-bottom: 15px;
3355   }
3356 
3357   .sectionPurchaseBoard .formAddressPurchase {
3358     padding-top: 0;
3359   }
3360 
3361   .purchaseArea {
3362     position: relative;
3363     height: 100%;
3364   }
3365 
3366   .purchaseArea h4 {
3367     width: 100%;
3368     font-size: 12px;
3369     font-weight: 600;
3370     margin-bottom: 10px;
3371     text-transform: uppercase;
3372   }
3373 
3374   .menuPurchase {
3375     margin-bottom: 30px;
3376   }
3377 
3378   .menuPurchase ul {
3379     list-style-type: none;
3380     margin: 0;
3381   }
3382 
3383   .menuPurchase ul li {
3384     display: inline-block;
3385     border: 1px solid #ffffff;
3386     padding: 5px 20px;
3387     margin-right: 5px;
3388     margin-bottom: 10px;
3389     font-size: 12px;
3390     font-weight: 400;
3391   }
3392 
3393   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
3394     background-color: #ffffff;
3395     color: #ffffff;
3396   }
3397 
3398   .contentPurchase h5 {
3399       font-size: 12px;
3400       margin-bottom: 10px;
3401       font-weight: 400;
3402       overflow: hidden;
3403   }
3404 
3405   /* Card */
3406 
3407   #itemCards {
3408     max-height: 430px;
3409     overflow: auto;
3410   }
3411 
3412   .item-cards {
3413       width: 100%;
3414   }
3415   .item-card.selected {
3416       border: 1px solid #ffffff;
3417   }
3418   .item-card:hover {
3419       border: 1px solid #C4C4C4;
3420   }
3421   .item-cards .item-card {
3422     position: relative;
3423     width: calc(33% - 10px);
3424     max-width: calc(33% - 10px);
3425     flex: 0 0 calc(33% - 10px);
3426     margin-bottom: 20px;
3427   }
3428   .item-cards .item-card label,
3429   .item-addons .item-addon label {
3430       position: absolute;
3431       left: 0;
3432       width: 100%;
3433       height: 100%;
3434   }
3435   .item-cards .item-card .card-image img,
3436   .item-addons .item-addon .card-image img {
3437       display: block;
3438       width: 100%;
3439   }
3440   .item-card .card-meta,
3441   .item-addon .card-meta {
3442       padding: 10px 5px 5px;
3443   }
3444   .item-card.selected .card-meta,
3445   .item-addon.selected .card-meta,
3446   .item-card.selected .card-qty {
3447       background-color: #ffffff;
3448       color: #fff;
3449       visibility: visible!important;
3450   }
3451   .item-card:hover .card-meta,
3452   .item-addon:hover .card-meta,
3453   .item-card:hover .card-qty {
3454       background-color: #C4C4C4;
3455       color: #fff;
3456       visibility: visible!important;
3457   }
3458   .item-cards .item-card p,
3459   .item-addons .item-addon p {
3460     font-size: 12px !important;
3461     margin: 0;
3462     font-weight: 600;
3463   }
3464   .item-card .card-meta input,
3465   .item-addon .card-meta input {
3466       display: none;
3467   }
3468   .item-cards .item-card h5,
3469   .item-addons .item-addon h5 {
3470     text-transform: uppercase;
3471     max-height: 35px;
3472   }
3473 
3474   @media (max-width: 768px) {
3475     .item-cards .item-card {
3476         width: calc(50% - 10px);
3477         max-width: calc(50% - 10px);
3478         flex: 0 0 calc(50% - 10px);
3479         margin-bottom: 0;
3480     }
3481   }
3482 
3483   .card-qty {
3484     display: flex;
3485     padding: 5px;
3486     visibility: hidden;
3487     background-color: #fff !important;
3488     z-index: 999;
3489   }
3490   .card-qty a {
3491     border-width: 1px;
3492     width: 30%;
3493     cursor: pointer;
3494     text-align: center;
3495     align-self: center;
3496     height: 28px;
3497     display: block;
3498     position: relative;
3499   }
3500   .card-qty a svg {
3501     position: absolute;
3502     top: 50%;
3503     left: 50%;
3504     transform: translate(-50%, -50%);
3505     text-align: center;
3506   }
3507   input.btn-qty {
3508     border-width: 0px;
3509     border-radius: 0;
3510     background-color: #fff;
3511     -webkit-appearance: none;
3512     box-shadow: none !important;
3513     -webkit-box-shadow: none !important;
3514     -moz-box-shadow: none!important;
3515     width: 40%;
3516     border-left: 1px solid #c4c4c4;
3517     border-right: 1px solid #c4c4c4;
3518     padding: 0;
3519   }
3520 
3521   .sectionPurchaseBoard #itemAddons .item-card {
3522     width: calc(20% - 15px);
3523     max-width: calc(20% - 15px);
3524     flex: 0 0 calc(20% - 15px);
3525   }
3526 
3527   .purchase-button {
3528     width: 100%;
3529     padding: 0; /* Reset padding as it's now handled by wrapper */
3530     margin: 0;
3531   }
3532 
3533   .sectionPurchaseBoard .purchase-button {
3534     margin-top: 0 !important; /* Reset margin */
3535   }
3536 
3537   .back-purchase-button, .back-spotify {
3538       width: 139px;
3539       border: 1px solid;
3540       height: 43px;
3541   }
3542   .purchase-button .btn {
3543     width: 297px;
3544     height: 43px;
3545     background-color: #ffffff;
3546     color: #ffffff;
3547   }
3548   .purchase-button .btn[disabled] {
3549     background-color: #EEEEEE;
3550   }
3551   .back-purchase-button svg, .back-spotify svg {
3552     align-self: center;
3553     vertical-align: middle;
3554     margin-right: 10px;
3555   }
3556 
3557   #purchaseProduct .row .error {
3558     font-size: 12px !important;
3559     color: orange;
3560     margin-top: 5px;
3561   }
3562 
3563   .reviewCardPurchase {
3564     max-width: 448px;
3565     float: right;
3566   }
3567 
3568   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
3569   .addon-item * {align-self: center;font-size: 12px;}
3570   .addon-itm-title {width: 360px;}
3571   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
3572 
3573   .propsAddonSpotify p {
3574     margin: 0;
3575     display: flex;
3576     font-size: 12px !important;
3577     margin-bottom: 5px;
3578   }
3579   .propsAddonSpotify p span:first-child {
3580     text-transform: uppercase;
3581     font-weight: 600;
3582     -ms-flex: 0 0 150px;
3583     flex: 0 0 150px;
3584     max-width: 150px;
3585   }
3586 
3587   .addonsPurchase .addons {
3588     max-height: 250px;
3589     overflow: auto;
3590   }
3591 
3592   .btn .loading:after {
3593     content: "";
3594     display: inline-block;
3595     width: 20px;
3596     height: 20px;
3597     padding: 3px;
3598     aspect-ratio: 1;
3599     border-radius: 50%;
3600     background: #FFFFFF;
3601     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
3602     -webkit-mask: var(--_m);
3603     mask: var(--_m);
3604     -webkit-mask-composite: source-out;
3605     mask-composite: subtract;
3606     animation: l3 1s infinite linear;
3607     margin: auto;
3608     vertical-align: middle;
3609     margin-left: 10px;
3610   }
3611 
3612   #qrcode img, #qrcode canvas {
3613     width: 50px;
3614     position: absolute;
3615     top: 12px;
3616     left: 16px;
3617   }
3618 
3619   .t-preview {
3620     position: absolute;
3621     top: 17px;
3622     left: 75px;
3623   }
3624   .t-preview p {
3625     margin: 0;
3626     font-size: 12px !important;
3627   }
3628   .t-preview .h3 {
3629     font-size: 16px !important;
3630     margin-bottom: 5px;
3631     font-weight: 600;
3632   }
3633   .scanCard {
3634     width: 100%;
3635     border: 1px solid;
3636     height: 76px;
3637     background-color: #fff;
3638   }
3639   .scanCard > div > img {
3640     position: absolute;
3641     right: 0;
3642     width: 55px;
3643   }
3644 
3645   @keyframes l3 {
3646     100% {
3647       transform: rotate(1turn);
3648     }
3649   }
3650 
3651   @media (min-width: 991px) {
3652     .sectionPurchase {
3653       height: 100%;
3654       position: relative;
3655       max-width: 1344px;
3656       background-color: #fff;
3657       top: 50%;
3658       left: 50%;
3659       transform: translate(-50%, -50%);
3660     }
3661     .headerPurchase h3 {
3662       font-size: 20px;
3663     }
3664     .purchaseArea h4 {
3665       font-size: 16px;
3666     }
3667 
3668     .menuPurchase ul li {
3669         font-size: 16px;
3670     }
3671     
3672     .contentPurchase {
3673       margin-bottom: 30px;
3674     }
3675     .contentPurchase h5 {
3676       font-size: 16px;
3677     }
3678 
3679     .item-cards .item-card p,
3680     .item-addons .item-addon p {
3681       font-size: 16px !important;
3682     }
3683 
3684     .cards {
3685       float: right;
3686       width: 400px;
3687     }
3688 
3689     .item-cards .item-card {
3690       width: calc(25% - 30px);
3691       max-width: calc(25% - 30px);
3692       flex: 0 0 calc(25% - 30px);
3693     }
3694 
3695       #itemAddons .item-card {
3696         position: relative;
3697         width: calc(16% - 40px);
3698         max-width: calc(16% - 40px);
3699         flex: 0 0 calc(16% - 40px);
3700       }
3701       
3702     .purchase-button-wrapper {
3703         padding: 10px 20px;
3704     }
3705   }
3706 
3707   @media (max-width: 1200px) {
3708     .item-cards .item-card {
3709       width: calc(33% - 30px);
3710       max-width: calc(33% - 30px);
3711       flex: 0 0 calc(33% - 30px);
3712     }
3713   }
3714 
3715   @media (max-width: 992px) {
3716     .purchasePopup {
3717       padding: 0;
3718     }
3719     .item-cards .item-card h5,
3720     .item-addons .item-addon h5 {
3721       max-height: 30px;
3722     }
3723 
3724     .back-purchase-button, .back-spotify, .next-purchase-button {
3725         width: 100%;
3726     }
3727     .addon-itm-title {
3728       width: 300px;
3729     }
3730     .addon-itm-line-price {
3731       margin-right: 10px;
3732     }
3733     .t-preview {
3734       top: 10px;
3735     }
3736 
3737     .card-qty a {
3738       height: 15px;
3739     }
3740     
3741     .purchase-button-wrapper {
3742       padding: 15px;
3743     }
3744   }
3745 
3746   @media (max-width: 576px) {
3747     .purchase-button .btn {
3748         width: 100%!important;
3749     }
3750     .purchase-button > .col-12 {
3751       padding-left: 0;
3752       padding-right: 0;
3753     }
3754   }
3755 </style>
3756 
3757 
3758 <div class="purchasePopup">
3759   <div class="purchaseArea">
3760     
3761       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
3762         <div class="wrapperPurchase">
3763           <div class="purchase-content">
3764             <div class="headerPurchase">
3765   <h3 class="text-uppercase">
3766     
3767       customize your flower board
3768     
3769   </h3>
3770   <a class="close-purchase-popup">
3771   <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
3772     <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"/>
3773   </svg>
3774 </a>
3775 
3776 </div>
3777 <div class="contentPurchase">
3778   <div class="row">
3779     
3780       <div class="col-12">
3781         
3782 
3783 <style>
3784   
3785   
3786   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
3787   .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;}
3788   
3789   .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;}
3790   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
3791   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
3792   .svgLogoPapan p {color: #8E8E93; margin: 0;}
3793   .svgLogoPapan p span {font-size: 12px;color: #fbff00;}
3794   .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;}
3795   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
3796   #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;}
3797   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
3798   .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;}
3799   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
3800 
3801   @media (min-width: 991px) {
3802     .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);}
3803     .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);}
3804   }
3805 </style>
3806 
3807 <input type="hidden" data-properties="penerima" value="-">
3808 <div class="customize-papan">
3809   <div class="container">
3810     <div class="field-papan group-field-1 form-group">
3811       <div class="input-field">
3812         <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.
3813 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
3814         <p class="limit">0/100</p>
3815         <div id="suggest-messages">
3816           <a id="show_note_papan1" href="#">
3817             <div class="suggest-message" id="note_btn_div1">
3818               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
3819             </div>
3820           </a>
3821           <a id="show_note_papan2" href="#">
3822             <div class="suggest-message" id="note_btn_div2">
3823               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
3824             </div>
3825           </a>
3826           <a id="show_note_papan3" href="#">
3827             <div class="suggest-message" id="note_btn_div3">
3828               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
3829             </div>
3830           </a>
3831         </div>
3832       </div>
3833     </div>
3834     <div class="hide">
3835       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
3836       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
3837     </div>
3838     <div class="hide">
3839       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
3840       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
3841     </div>
3842     <div class="hide">
3843       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
3844       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
3845     </div>
3846     <div class="field-papan group-field-2 form-group">
3847       
3848       <label for="logoPapan" onclick="" class="input-field field-logo">
3849         
3850         
3851         
3852         <div class="btn-upload-papan w-100">
3853           <?xml version="1.0" encoding="UTF-8"?>
3854           <img src="" style="display:none">
3855           <div class="svgLogoPapan">
3856             <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="22" height="26" viewBox="0 0 22 26" fill="none">
3857               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
3858             </svg>
3859             <p>Upload Logo <span>*optional</span></p>
3860           </div>
3861         </div>
3862         
3863       </label>
3864       
3865       <input
3866         type="hidden"
3867         data-properties="papan-logo"
3868         value=""
3869       >
3870       <input
3871         type="file"
3872         id="logoPapan"
3873         accept="image/*"
3874         style="position: absolute;width: 1px;height: 1px;padding: 0"
3875       >
3876       
3877       <div class="input-field">
3878         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
3879         <p class="limit">0/35</p>
3880       </div>
3881       
3882     </div>
3883     
3884   </div>
3885 </div>
3886       </div>
3887     
3888   </div>
3889 </div>
3890 
3891           </div>
3892           <div class="purchase-button-wrapper">
3893             <div class="purchase-button btn-card row m-0">
3894   <div class="col-12 col-lg-2 text-left mb-2 p-0">
3895     
3896   </div>
3897   <div class="btn-next-card col-12 col-lg-10 text-right">
3898     
3899     
3900     <button
3901       
3902         
3903       
3904       class="btn next-purchase-button text-uppercase"
3905       
3906         disabled
3907       
3908     >
3909       <span>save your flower board</span>
3910     </button>
3911   </div>
3912 </div>
3913 
3914           </div>
3915         </div>
3916       </div>
3917     
3918     
3919     
3920       <div
3921         class="sectionPurchase sectionPurchaseBoard hide"
3922         data-section="address"
3923       >
3924         <div class="wrapperPurchase">
3925           <div class="purchase-content">
3926             <div class="headerPurchase">
3927   <h3>
3928     Complete Your Order
3929   </h3>
3930   <a class="close-purchase-popup">
3931   <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
3932     <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"/>
3933   </svg>
3934 </a>
3935 
3936 </div>
3937 <div class="contentPurchase">
3938   <div class="row">
3939     <div class="col-12 position-relative">
3940       <div class="addressPurchase">
3941         
3942           <h4 class="text-uppercase">recipient delivery address</h4>
3943           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
3944         
3945         <div class="formAddressPurchase row">
3946           <div class="col-12">
3947             <form>
3948               <div class="form-group row mb-2 mb-lg-4">
3949                 <div class="col-6 position-relative">
3950                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
3951                   <label for="first_name" class="input__label">First Name<span>*</span></label>
3952                 </div>
3953                 <div class="col-6 position-relative">
3954                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
3955                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
3956                 </div>
3957                 <input type="hidden" data-properties="nama-penerima">
3958               </div>
3959               
3960                 <h4 class="text-uppercase">how you want to input your address</h4>
3961                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
3962                   <div class="col-6 position-relative">
3963                     <label class="address-manualy">
3964                       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="18" height="17" viewBox="0 0 18 17" fill="none">
3965   <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
39651216 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
39655 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"/>
3966 </svg>
3967 <span>Input Address Manually</span>
3968                     </label>
3969                   </div>
3970                   <div class="col-6 position-relative">
3971                     <label for="address-upload" class="address-upload">
3972                       <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="12" height="13" viewBox="0 0 12 13" fill="none">
3973   <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"/>
3974 </svg>
3975 <span>Upload Address Picture</span>
3976                     </label>
3977                     <input
3978                       id="address-upload"
3979                       type="file"
3980                       accept="image/png, image/jpeg"
3981                       style="position: absolute; padding: 0;width: 1px;height: 1px"
3982                     >
3983                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
3984                   </div>
3985                 </div>
3986                 <img width="150" height="" src="" class="photo-address" style="display: none;">
3987               
3988               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
3989                 <div class="col-12">
3990                   <textarea
3991                     id="delivery_address"
3992                     data-properties="alamat-penerima"
3993                     class="form-control input__field col-12"
3994                     placeholder=""
3995                     required
3996                   ></textarea>
3997                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
3998                   
3999                 </div>
4000               </div>
4001               <div class="form-group row mb-2 mb-lg-4 form-address">
4002                 <div class="col-6 position-relative">
4003                   <input
4004                     id="recipient_number"
4005                     type="text"
4006                     data-properties="telepon-penerima"
4007                     class="form-control input__field"
4008                     placeholder=""
4009                     required
4010                   >
4011                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4012                 </div>
4013                 <div class="col-6 position-relative">
4014                   <input
4015                     id="company"
4016                     type="text"
4017                     data-properties="company"
4018                     class="form-control input__field"
4019                     placeholder=""
4020                   >
4021                   <label for="company" class="input__label">Company (Optional)</label>
4022                 </div>
4023               </div>
4024               <div class="form-group row mb-2 mb-lg-4 form-address">
4025                 <div class="col-6 position-relative">
4026                   <input
4027                     id="province"
4028                     type="text"
4029                     class="form-control input__field"
4030                     placeholder=""
4031                     value="Jakarta"
4032                     data-properties="province"
4033                   >
4034                   <label for="province" class="input__label">Province</label>
4035                 </div>
4036                 <div class="col-6 position-relative">
4037                   <select id="zip" class="form-control select-search" required></select>
4038                 </div>
4039               </div>
4040             </form>
4041           </div>
4042         </div>
4043       </div>
4044       <div class="addonsPurchase">
4045         <h4 class="text-uppercase">add-ons</h4>
4046         <div class="addons">
4047           <p>No Add-Ons</p>
4048           <!--
4049             <button class="add-addon">
4050               <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="12" height="12" viewBox="0 0 12 12" fill="none">
4051                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4052               </svg>
4053               <span>Enhance my moment with Add-ons</span>
4054             </button>
4055           -->
4056         </div>
4057       </div>
4058     </div>
4059     
4060   </div>
4061 </div>
4062 
4063 
4063<script>
4064 document.addEventListener('DOMContentLoaded', function() {
4065   // Detect iOS
4066   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4067   
4068   if (isIOS) {
4069     document.querySelector('.formAddressPurchase').classList.add('ios');
4070     
4071     // iOS specific fixes
4072     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4073     
4074     inputs.forEach(function(input) {
4075       // Force enable touch events on iOS
4076       input.style.webkitUserSelect = 'text';
4077       input.style.webkitTouchCallout = 'default';
4078       input.style.pointerEvents = 'auto';
4079       input.style.touchAction = 'manipulation';
4080       
4081       // Add explicit touch event listeners for iOS
4082       input.addEventListener('touchstart', function(e) {
4083         e.stopPropagation();
4084         this.focus();
4085       }, { passive: false });
4086       
4087       input.addEventListener('touchend', function(e) {
4088         e.preventDefault();
4089         e.stopPropagation();
4090         this.focus();
4091         this.click();
4092       }, { passive: false });
4093       
4094       // Force focus on tap for iOS
4095       input.addEventListener('click', function(e) {
4096         e.stopPropagation();
4097         if (document.activeElement !== this) {
4098           this.focus();
4099         }
4100       });
4101     });
4102     
4103     // Fix for label overlapping on iOS
4104     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4105     labels.forEach(function(label) {
4106       label.style.pointerEvents = 'none';
4107       label.addEventListener('touchstart', function(e) {
4108         e.preventDefault();
4109         var input = this.parentNode.querySelector('.input__field');
4110         if (input) {
4111           input.focus();
4112         }
4113       });
4114     });
4115   }
4116   
4117   // Handle input state for all browsers, especially iOS
4118   var inputs = document.querySelectorAll('.input__field');
4119   
4120   inputs.forEach(function(input) {
4121     // Handle input events
4122     input.addEventListener('input', function() {
4123       if (this.value.trim() !== '') {
4124         this.classList.add('has-value');
4125       } else {
4126         this.classList.remove('has-value');
4127       }
4128     });
4129     
4130     // Handle focus
4131     input.addEventListener('focus', function() {
4132       this.classList.add('focused');
4133       // iOS specific: ensure input is visible
4134       if (isIOS) {
4135         setTimeout(function() {
4136           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4137         }, 300);
4138       }
4139     });
4140     
4141     // Handle blur
4142     input.addEventListener('blur', function() {
4143       this.classList.remove('focused');
4144       if (this.value.trim() !== '') {
4145         this.classList.add('has-value');
4146       } else {
4147         this.classList.remove('has-value');
4148       }
4149     });
4150     
4151     // Initial check for pre-filled values
4152     if (input.value.trim() !== '') {
4153       input.classList.add('has-value');
4154     }
4155   });
4156   
4157   // Additional iOS fixes
4158   if (isIOS) {
4159     // Prevent iOS Safari from adding default styling
4160     document.addEventListener('touchstart', function() {}, { passive: true });
4161     
4162     // Fix viewport issues on iOS
4163     var viewport = document.querySelector('meta[name=viewport]');
4164     if (viewport) {
4165       viewport.setAttribute('content', 
4166         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4167       );
4168     }
4169   }
4170 });
4171 </script>
4171
4172           </div>
4173           <div class="purchase-button-wrapper">
4174             <div class="purchase-button btn-address row m-0">
4175   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4176     
4177       <button class="back-purchase-button back-address text-uppercase">
4178         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
4179           <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"/>
4180         </svg>
4181         <span>Back</span>
4182       </button>
4183     
4184   </div>
4185   <div class="btn-next-card col-12 col-lg-10 text-right">
4186     
4187       <!--
4188         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4189           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
4190             <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"/>
4191           </svg>
4192           <span>Back</span>
4193         </button>
4194       -->
4195     
4196     
4197     <button
4198       
4199         id="addtocart-card"
4200       
4201       class="btn  next-address text-uppercase"
4202       
4203     >
4204       <span>add to cart</span>
4205     </button>
4206   </div>
4207 </div>
4208 
4209           </div>
4210         </div>
4211       </div>
4212     
4213   </div>
4214 </div>
4215 <div id="backgroundPopup"></div>
4216 
4217 
4218 
4219 <input
4220   data-index="1"
4221   type="hidden"
4222   id="properties-delivery-date"
4223   name="properties[Delivery Date]"
4224   value="-"
4225 >
4226 <input
4227   data-index="2"
4228   type="hidden"
4229   id="properties-delivery-time"
4230   name="properties[Delivery Time]"
4231   value="-"
4232 >
4233 <input
4234   data-index="4"
4235   type="hidden"
4236   id="properties-nama-penerima"
4237   name="properties[Nama Penerima]"
4238   value="-"
4239 >
4240 <input
4241   data-index="5"
4242   type="hidden"
4243   id="properties-alamat-penerima"
4244   name="properties[Alamat Penerima]"
4245   value="-"
4246 >
4247 <input
4248   data-index="6"
4249   type="hidden"
4250   id="properties-kodepos"
4251   name="properties[Kodepos]"
4252   value="-"
4253 >
4254 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
4255 
4256   
4257     <input
4258       data-index="8"
4259       type="hidden"
4260       id="properties-kartu-nama-penerima"
4261       name="properties[Kartu Nama Penerima]"
4262       value="-"
4263     >
4264   
4265   <textarea
4266     data-index="9"
4267     type="hidden"
4268     id="properties-kartu-pesan"
4269     name="properties[Kartu Pesan]"
4270     style="display: none"
4271   >-</textarea>
4272 
4273 
4274 
4275   <input
4276     data-index="10"
4277     type="hidden"
4278     id="properties-kartu-nama-pengirim"
4279     name="properties[Kartu Nama Pengirim]"
4280     value="-"
4281   >
4282
4283 <!-- Additional Shipping -->
4284 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
4285 <input
4286   type="hidden"
4287   id="properties-kota-pengiriman-country"
4288   name="properties[Country]"
4289   value="Indonesia"
4290 >
4291 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
4292 
4293 <input type="hidden" id="properties-time" name="properties[Time]">
4294 <input type="hidden" id="properties-card" name="properties[Card]">
4295 <input type="hidden" id="properties-addons" name="properties[Addons]">
4296 
4297 <input
4298   type="hidden"
4299   id="properties-company"
4300   name="properties[Company]"
4301   value=""
4302 >
4303 
4303<script>
4304   
4305   $(document).ready(function(){
4306     
4307     var text_max_papan1=150;
4308     var msg_text_papan1="";
4309     $('#kartu-ucapan-ucapan').keyup(function(){
4310       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
4311       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
4312     });
4313 
4314     var notes_papan1 = [
4315       
4316       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
4317       
4318     ];
4319     $('#show_note_papan1').click(function(event){
4320       event.preventDefault();
4321       var idx_papan1=parseInt($('#note_id_papan1').val());
4322       if(isNaN(idx_papan1)){
4323         idx_papan1=0;
4324       }else{
4325         idx_papan1++;
4326         idx_papan1=idx_papan1%notes_papan1.length;
4327       }
4328       var note_papan1=notes_papan1[idx_papan1][1];
4329       $('#note_id_papan1').val(idx_papan1);
4330       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
4331       $('#msgDelivery').val(note_papan1);
4332 
4333       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
4334       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
4335       if(isNaN(idx_2_papan1)){
4336         idx_2_papan1=0;
4337       }else{
4338         idx_2_papan1++;
4339         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4340       }
4341       $('#note_btn_id_papan1').val(idx_2_papan1);
4342       //var note_btn=note_btn_text[idx_2][1];
4343       //$('#note_btn').text(note_btn);
4344     });
4345 
4346     var text_max_papan2=150;
4347     var msg_text_papan2="";
4348     $('#kartu-ucapan-ucapan').keyup(function(){
4349       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
4350       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
4351     });
4352 
4353     var notes_papan2 = [
4354       
4355       [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)."]
4356       
4357     ];
4358     $('#show_note_papan2').click(function(event){
4359       event.preventDefault();
4360       var idx_papan2=parseInt($('#note_id_papan2').val());
4361       if(isNaN(idx_papan2)){
4362         idx_papan2=0;
4363       }else{
4364         idx_papan2++;
4365         idx_papan2=idx_papan2%notes_papan2.length;
4366       }
4367       var note_papan2=notes_papan2[idx_papan2][1];
4368       $('#note_id_papan2').val(idx_papan2);
4369       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
4370       $('#msgDelivery').val(note_papan2);
4371       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
4372       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
4373       if(isNaN(idx_2_papan2)){
4374         idx_2_papan2=0;
4375       }else{
4376         idx_2_papan2++;
4377         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4378       }
4379       $('#note_btn_id_papan2').val(idx_2_papan2);
4380       //var note_btn=note_btn_text[idx_2][1];
4381       //$('#note_btn').text(note_btn);
4382     });
4383 
4384     var text_max_papan3=150;
4385     var msg_text_papan3="";
4386     $('#kartu-ucapan-ucapan').keyup(function(){
4387       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
4388       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
4389     });
4390 
4391     var notes_papan3 = [
4392       
4393       [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)."]
4394       
4395     ];
4396     $('#show_note_papan3').click(function(event){
4397       event.preventDefault();
4398       var idx_papan3=parseInt($('#note_id_papan3').val());
4399       if(isNaN(idx_papan3)){
4400         idx_papan3=0;
4401       }else{
4402         idx_papan3++;
4403         idx_papan3=idx_papan3%notes_papan3.length;
4404       }
4405       var note_papan3=notes_papan3[idx_papan3][1];
4406       $('#note_id_papan3').val(idx_papan3);
4407       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
4408       $('#msgDelivery').val(note_papan3);
4409       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
4410       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
4411       if(isNaN(idx_2_papan3)){
4412         idx_2_papan3=0;
4413       }else{
4414         idx_2_papan3++;
4415         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4416       }
4417       $('#note_btn_id_papan3').val(idx_2_papan3);
4418       //var note_btn=note_btn_text[idx_2][1];
4419       //$('#note_btn').text(note_btn);
4420     });
4421 
4422     var text_max_papan4=150;
4423     var msg_text_papan4="";
4424     $('#kartu-ucapan-ucapan').keyup(function(){
4425       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
4426       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
4427     });
4428 
4429     $('#show_note_papan4').click(function(event){
4430       var notes_papan4 = [
4431         [0,"Here’s to you—steadier, stronger and better every day."],
4432         [1,"Warmest wishes for a speedy recovery!"],
4433         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
4434         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
4435       ];
4436       event.preventDefault();
4437       var idx_papan4=parseInt($('#note_id_papan4').val());
4438       console.log(idx_papan4, 'idx_papan4')
4439       if(isNaN(idx_papan4)){
4440         idx_papan4=0;
4441       }else{
4442         idx_papan4++;
4443         idx_papan4=idx_papan4%notes_papan4.length;
4444       }
4445       var note_papan4=notes_papan4[idx_papan4][1];
4446       $('#note_id_papan4').val(idx_papan4);
4447       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
4448       console.log(note_papan4, 'note_papan4')
4449       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
4450       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
4451       if(isNaN(idx_2_papan4)){
4452         idx_2_papan4=0;
4453       }else{
4454         idx_2_papan4++;
4455         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
4456       }
4457       $('#note_btn_id_papan4').val(idx_2_papan4);
4458     });
4459 
4460     /*
4461     $("#jenisPapan").change(function(){
4462       $( "select option:selected").each(function(){
4463         if($(this).attr("value")=="Happy Wedding"){
4464           $("#suggest-messages a").hide();
4465           $("#show_note_papan1").show();
4466           $("#kartu-ucapan-papan").val("");
4467         }
4468         if($(this).attr("value")=="Congratulations"){
4469           $("#suggest-messages a").hide();
4470           $("#show_note_papan2").show();
4471           $("#kartu-ucapan-papan").val("");
4472         }
4473         if($(this).attr("value")=="Duka Cita"){
4474           $("#suggest-messages a").hide();
4475           $("#show_note_papan3").show();
4476           $("#kartu-ucapan-papan").val("");
4477         }
4478       });
4479     }).change();
4480     */
4481 
4482     
4483 
4484     
4485 
4486     $(".variant-metafield").each(function(){
4487       const t = $(this)
4488       const id = t.attr("id")
4489       const target = $(`[data-select=${id}]`)
4490       t.on('select2:selecting', function(e) {
4491         const data = e.params.args.data
4492         target.val(data.text)
4493       });
4494     })
4495   })
4496 </script>
4496
4497 
4498 <div id="popupCart">
4499   <div class="container">
4500     <div class="wrapperPopupCart">
4501       <div class="headerPopupCart">
4502         <div class="d-flex pl-5 pr-5 p-4">
4503           <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="16" height="12" viewBox="0 0 16 12" fill="none">
4504             <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"/>
4505           </svg>
4506           <span>item added to your cart</span>
4507         </div>
4508         <a class="close-purchase-popup">
4509   <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
4510     <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"/>
4511   </svg>
4512 </a>
4513 
4514       </div>
4515       <div class="contentPopupCart">
4516         <div class="pl-5 pr-5 p-4">
4517           <div class="itemContent row m-0 justify-content-between">
4518             <div class="col-2 align-self-center">
4519               
4520               <img
4521                 class="d-block"
4522                 width="80"
4523                 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426"
4524               >
4525             </div>
4526             <div class="col-10 align-self-center">
4527               <div class="row pl-3">
4528                 <div class="col-12 col-lg-7">
4529                   <span class="titleCartPopup text-uppercase">JURAGAN404 | Portal Game Terpercaya & Terlengkap</span>
4530                 </div>
4531                 <div class="d-flex justify-content-end col-12 col-lg-5">
4532                   <span class="deleteCartPopup hide">Delete</span>
4533                   <span class="lineCartPrice align-self-center">Rp 5.000</span>
4534                 </div>
4535               </div>
4536             </div>
4537           </div>
4538           <div class="itemProperties">
4539             
4540               <div class="propDeliver">
4541                 <h4>delivery option detail</h4>
4542                 <p>
4543                   <span>delivery city</span>
4544                   <span class="propDeliveryCity">jakarta</span>
4545                 </p>
4546                 <p>
4547                   <span>delivery date</span>
4548                   <span class="propDeliveryDate">24/03/2025</span>
4549                 </p>
4550                 <p>
4551                   <span>delivery time</span>
4552                   <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span>
4553                 </p>
4554               </div>
4555               <div class="propAddress">
4556                 <h4>delivery option detail</h4>
4557                 <p>
4558                   <span>RECIPIENT NAME</span>
4559                   <span class="propDeliveryName">jane doe</span>
4560                 </p>
4561                 <p>
4562                   <span>delivery address</span>
4563                   <span class="propDeliveryAddress"
4564                     >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta
4565                     Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span
4566                   >
4567                 </p>
4568                 <p>
4569                   <span>recipient phone number</span>
4570                   <span class="propDeliveryPhone">(+62) 812-3456-7890</span>
4571                 </p>
4572                 <p>
4573                   <span>PROVINCE</span>
4574                   <span class="propDeliveryProv">Jakarta</span>
4575                 </p>
4576                 <p>
4577                   <span>postal code</span>
4578                   <span class="propDeliveryZip">12710</span>
4579                 </p>
4580                 
4581                 
4582               </div>
4583             
4584           </div>
4585           <div class="itemAddonCart">
4586             <div class="toggleAddonCart d-flex justify-content-between">
4587               <h4>add-ons (0)</h4>
4588               <svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="5" height="9" viewBox="0 0 5 9" fill="none">
4589                 <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"/>
4590               </svg>
4591             </div>
4592             <div class="wrapperItemAddonCart"></div>
4593           </div>
4594           
4595         </div>
4596       </div>
4597       <div class="footerPopupCart">
4598         <div class="row m-0 pl-5 pr-5 p-4">
4599           <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a>
4600           <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a>
4601           <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a>
4602         </div>
4603       </div>
4604     </div>
4605   </div>
4606 </div>
4607 
4608 
4609 
4609<script>
4610   const shareButton = document.getElementById('shareButton');
4611 
4612   shareButton.addEventListener('click', () => {
4613     if (navigator.share) {
4614       navigator.share({
4615         title: "JURAGAN404 | Portal Game Terpercaya & Terlengkap",
4616         url: "/products/blossom-shine",
4617         text: 'Check out this page!'
4618       })
4619       .then(() => console.log('Successful share'))
4620       .catch((error) => console.log('Error sharing', error));
4621     } else {
4622       alert('Web Share API is not supported in this browser.');
4623     }
4624   });
4625 
4626   // Inventory validation function
4627   function checkInventoryStatus() {
4628     const productSelect = document.getElementById('productSelect');
4629     const purchaseButton = document.querySelector('#personalizeBtn button');
4630     
4631     if (!productSelect || !purchaseButton) return;
4632 
4633     const selectedVariantId = productSelect.value;
4634     
4635     // Get variant data from Shopify
4636     fetch(`/products/blossom-shine.js`)
4637       .then(response => response.json())
4638       .then(product => {
4639         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
4640         
4641         if (selectedVariant) {
4642           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
4643                                selectedVariant.inventory_management === 'shopify' && 
4644                                selectedVariant.inventory_policy !== 'continue';
4645           
4646           if (isOutOfStock) {
4647             purchaseButton.disabled = true;
4648             purchaseButton.textContent = 'Out of Stock';
4649             purchaseButton.setAttribute('data-out-of-stock', 'true');
4650             purchaseButton.style.backgroundColor = '#cccccc';
4651             purchaseButton.style.cursor = 'not-allowed';
4652           } else {
4653             // Check if button was disabled due to other conditions
4654             
4655             
4656             
4657             
4658             
4659             
4660             
4661             
4662             const isOtherDisabled = false || true || false;
4663             
4664             if (!isOtherDisabled) {
4665               purchaseButton.disabled = false;
4666               purchaseButton.textContent = 'customize your flower board';
4667               purchaseButton.removeAttribute('data-out-of-stock');
4668               purchaseButton.style.backgroundColor = '';
4669               purchaseButton.style.cursor = '';
4670             }
4671           }
4672         }
4673       })
4674       .catch(error => {
4675         console.error('Error checking inventory:', error);
4676       });
4677   }
4678 
4679   // Check inventory on page load
4680   document.addEventListener('DOMContentLoaded', function() {
4681     checkInventoryStatus();
4682     
4683     // Listen for variant changes
4684     const productSelect = document.getElementById('productSelect');
4685     if (productSelect) {
4686       productSelect.addEventListener('change', checkInventoryStatus);
4687     }
4688   });
4689 
4690   // Prevent form submission if out of stock
4691   document.addEventListener('click', function(e) {
4692     if (e.target.matches('button[data-out-of-stock="true"]')) {
4693       e.preventDefault();
4694       e.stopPropagation();
4695       alert('This product is currently out of stock and cannot be purchased.');
4696       return false;
4697     }
4698   });
4699 </script>
4699
4700 
4701 
4702   
4703 </div>
4704 
4705           </div>
4706         </div>
4707       </div>
4708     </div>
4709     <div id="product-bottom">
4710       
4711         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
4712           <div class="container">
4713             
4714 
4715 
4716 
4717 
4718     <div class="short-desc-mobile d-block d-lg-none mb-3">
4719         <div class="short-desc">
4720             <ul>
4721 <li><strong>JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.</strong></li>
4722         </div>
4723         <label class="more-mobile">Show More →</label>
4724     </div>
4725 
4726 <style>
4727 .animated-title {
4728     text-align: center;
4729     font-weight: bold;
4730     color: #079c02;
4731     font-size: 28px;
4732     position: relative;
4733     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
4734 }
4735 
4736 /* Efek glow / bercahaya hijau */
4737 @keyframes glow {
4738     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
4739     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
4740     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
4741 }
4742 
4743 /* Efek gerakan naik turun */
4744 @keyframes moveUpDown {
4745     0% { transform: translateY(0px); }
4746     50% { transform: translateY(-5px); }
4747     100% { transform: translateY(0px); }
4748 }
4749 </style>
4750 
4751 
4751<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4751
4752 
4752<script>
4753   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});
4754 
4755   const productType = $("[data-product-type]").data("product-type")
4756   const productDate = Date.parse(new Date())
4757   
4758   const shop = 'outerbloom1.myshopify.com'
4759   const host = 'https://app.asmaraku.com'
4760   // const host = 'http://localhost:5001'
4761 
4762   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
4763   
4764   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
4765 
4766   $("#properties-time").val(new Date().getTime())
4767 
4768   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
4769 
4770   if(!isIOS) {
4771     $("#full-date").attr("type", "button")
4772   }
4773 
4774   let dateTime = new Date();
4775   let today = dateTime.getDate();
4776   let day = dateTime.getDay();
4777   let hour = dateTime.getHours();
4778   let min = dateTime.getMinutes();
4779   let timeOfDay = hour + (min / 100);
4780 
4781   async function getFetch(url) {
4782     const response = await fetch(url);
4783     let status = false
4784     let result
4785     if(response.ok) {
4786       status = true
4787       result = await response.json();
4788     }
4789     return {
4790       status,
4791       data: result
4792     }
4793   }
4794 
4795   
4796 
4797   function setCookie(cname, cvalue, exMins) {
4798     var d = new Date();
4799     d.setTime(d.getTime() + (exMins*60*1000));
4800     var expires = "expires="+d.toUTCString();  
4801     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
4802   }
4803 
4804   function getCookie(cname) {
4805     let name = cname + "=";
4806     let decodedCookie = decodeURIComponent(document.cookie);
4807     let ca = decodedCookie.split(';');
4808     for(let i = 0; i <ca.length; i++) {
4809       let c = ca[i];
4810       while (c.charAt(0) == ' ') {
4811         c = c.substring(1);
4812       }
4813       if (c.indexOf(name) == 0) {
4814         return c.substring(name.length, c.length);
4815       }
4816     }
4817     return "";
4818   }
4819 
4820   async function renderDate() {
4821     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
4822     console.log(dataDate, 'renderDate')
4823     const data = dataDate?.data
4824     const date = data.date
4825     const time = data.time
4826 
4827     console.log(date, 'DATE')
4828 
4829     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
4830     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
4831     const htmlDate = []
4832     for(let i = 0;i < date.length;i++) {
4833       const full = date[i].date
4834       const d = new Date(date[i].date);
4835       const day = weekday[d.getDay()];
4836       const dt = d.getDate();
4837       const mt = monthly[d.getMonth()];
4838       const yr = d.getFullYear();
4839       const isDate = Boolean(date[i].isEnabled)
4840       const cutoffpagi = date[i].cutoff?.pagi
4841       const cutoffsiang = date[i].cutoff?.siang
4842       const cutoffMalam = date[i].cutoff?.Malam
4843       var html = `
4844         <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'}>
4845           ${dt === today ?
4846             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
4847             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
4848           }
4849         </button>
4850       `
4851       htmlDate.push(html)
4852     }
4853     const htmlTime = []
4854     for(var i = 0;i < time.length;i++) {
4855       const timeText = time[i].text
4856       const timeTime = time[i].time
4857       const timeEnabled = time[i].isEnabled
4858       var html = `
4859           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
4860         `
4861       htmlTime.push(html)
4862     }
4863     const deliveryDate = document.getElementById("deliveryDate");
4864     if(deliveryDate) {
4865       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
4866       $("#deliveryTime").html(htmlTime)
4867       if(productType !== '') {
4868         console.log("clarity event " + productType + ' calendaring')
4869         window.clarity("event", `${productType} calendaringSchedule`)
4870         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
4871       }
4872     }
4873   }
4874 
4875   async function getProvince(city) {
4876     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
4877     console.log(province, 'province')
4878     $("#province").val(province)
4879   }
4880 
4881   async function renderAddress() {
4882     let current
4883     if(getCookie("location_delivery")){
4884       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
4885     }
4886     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
4887     console.log(address)
4888     const data = address?.data?.city
4889     const htmlAddress = []
4890     const grouping = []
4891     for(let i = 0;i < data?.length;i++) {
4892       if(data[i]){
4893         if(data[i]?.group) {
4894           grouping.push(data[i].group)
4895         }
4896         const price = rupiah.format(data[i]?.rate)
4897         let promo = '(Promo Free Delivery)'
4898         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
4899           promo = '(at SCBD, Ashta)'
4900         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
4901           promo = '(at Kuningan, ITC Kuningan)'
4902         } else if(data[i]?.name === 'BSD - PickUp'){
4903           promo = '(at Goldfinch Gading Serpong)'
4904         } else if(data[i]?.name === 'Kota Lainnya'){
4905           promo = ''
4906         }
4907         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>`)
4908       }
4909     }
4910     
4911     const deliveryCity = document.getElementById("cities");
4912     if(deliveryCity) {
4913       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
4914       if(!isIOS) {
4915         $(deliveryCity).select2();
4916       }
4917     }
4918   }
4919 
4920   async function renderZip(v, v2, v3) {
4921     const deliveryZip = document.getElementById("zip");
4922     if(v === '') {
4923       return
4924     }
4925     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
4926     let zip = dataZip?.data?.zip
4927     console.log(zip)
4928     let htmlZip = []
4929     for(let i = 0; i < zip?.length;i++) {
4930       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
4931     }
4932     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
4933   }
4934 
4935   renderDate()
4936   renderAddress()
4937 
4938   let rupiah = new Intl.NumberFormat('id-ID', {
4939     style: 'currency',
4940     currency: 'IDR',
4941     maximumFractionDigits: 0, 
4942     minimumFractionDigits: 0
4943   });
4944 
4945   async function insertCard(data) {
4946     const response = await fetch(`${host}/api/card/new`, {
4947         method: "POST",
4948         headers: {
4949           'Content-Type': 'application/json',
4950         },
4951         body: data
4952     })
4953     const result = await response.json()
4954     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
4955     $("#greetingCard").attr("data-index", rowIndex)
4956     return result
4957   }
4958     
4959   async function updateCard(data){
4960     const rowIndex = $("#greetingCard").data("index")
4961     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
4962         method: "PUT",
4963         headers: {
4964           'Content-Type': 'application/json',
4965         },
4966         body: data
4967     })
4968     return response
4969   }
4970     
4971   function bytesToSize(bytes) {
4972     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
4973     for (var i = 0; i < sizes.length; i++) {
4974       if (bytes <= 1024) {
4975         return bytes + ' ' + sizes[i];
4976       } else {
4977         bytes = parseFloat(bytes / 1024).toFixed(2)
4978       }
4979     }
4980     return bytes + ' P';
4981   }
4982 
4983   async function uploadMedia(uri, type) {
4984     nameq = $("#properties-nama-penerima").val()
4985     dear = $("#properties-kartu-nama-penerima").val()
4986     card = $("[data-properties=ucapan]").val()
4987     sender = $("#properties-kartu-nama-pengirim").val()
4988     photo = $("#properties-photo").val()
4989     video = $("#properties-video").val()
4990     status = "Product"
4991         
4992     const name = qrID
4993     let formData = new FormData(); 
4994     formData.append("file", uri);
4995     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
4996       method: "POST", 
4997       body: formData
4998     })
4999     const result = await response.json();
5000     if(result) {
5001       const url = result.url
5002       if(type === 'image/jpeg') {
5003         $("#properties-photo").val(url)
5004         $(".preview-image").show()
5005         $(".remove-image").show()
5006         photo = url
5007       } else {
5008         $("#properties-video").val(url)
5009         $("#label-input-video span").text("Change File")
5010         $(".case-qrcode-preview p").text("Scan here for a secret message")
5011         $(".remove-media").show()
5012         $("#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>`)
5013         $("[for=input-video]").hide()
5014         video = url
5015       }
5016       $(".case-video-preview").show()
5017       $(".steps-card-preview").removeClass("loading")
5018       // updateCard(nameq, dear, card, sender, photo, video, status)
5019 
5020       $(".nextBtn").attr("disabled", false)
5021     }
5022   }
5023 
5024   function randomString(length, chars) {
5025     var result = '';
5026     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5027     return result;
5028   }
5029 
5030   function getNoteCity(fulldate) {
5031     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5032     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5033     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5034     const d = new Date(h_1);
5035     const day = weekday[d.getDay()];
5036     const dt = d.getDate();
5037     const mt = monthly[d.getMonth()];
5038     const yr = d.getFullYear();
5039     const p = $("#cities").parent(".form-group")
5040   }
5041 
5042   function disabledSameDay() {
5043     let btnFirst = $("#deliveryDate").find("button:first-child")
5044     let getDay = new Date().getDay();
5045 
5046     
5047       
5048       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5049         if(hour >= 14.00){
5050           btnFirst.attr("disabled", true)
5051         }
5052       } else if(getDay == 6){
5053         if(hour >= 16.00){
5054           btnFirst.attr("disabled", true)
5055         }
5056       } else if(getDay == 0){
5057         if(hour >= 16.00){
5058           btnFirst.attr("disabled", true)
5059         }
5060       }
5061       
5062     
5063   }
5064 
5065   function disabledays(date) {
5066     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5067     //if u have to disable a list of day
5068     let removeDays
5069     
5070     
5071     
5072         removeDays = ["2025-2-13", "2025-2-14"];
5073     
5074     if ($.inArray(ymd, removeDays) >= 0) {
5075       return [false];
5076     } else {
5077       let day = date.getDay();
5078       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5079           return [(day == 0),  ''];
5080       }
5081       
5082       if(day == 0){
5083         return [(day == 0),  ''];
5084       }
5085       
5086       
5087       return [(day != 0),  ''];
5088     }
5089   }
5090 
5091   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5092   /* Written by Deden Fathurahman ([email protected]). */
5093   ( function( factory ) {
5094     if ( typeof define === "function" && define.amd ) {
5095 
5096       // AMD. Register as an anonymous module.
5097       define( [ "../widgets/datepicker" ], factory );
5098     } else {
5099 
5100       // Browser globals
5101       factory( jQuery.datepicker );
5102     }
5103   }( function( datepicker ) {
5104 
5105   datepicker.regional.id = {
5106     closeText: "Tutup",
5107     prevText: "&#x3C;mundur",
5108     nextText: "maju&#x3E;",
5109     currentText: "Today",
5110     monthNames: [ "January","February","March","April","May","Juny",
5111                   "July","August","September","October","November","December" ],
5112     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5113                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5114     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5115     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5116     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5117     weekHeader: "Mg",
5118     dateFormat: "D, dd M",
5119     firstDay: 0,
5120     isRTL: false,
5121     showMonthAfterYear: false,
5122     yearSuffix: "" };
5123   datepicker.setDefaults( datepicker.regional.id );
5124 
5125   return datepicker.regional.id;
5126 
5127 } ) );
5128 
5129   function loadPopup() {
5130     $("#backgroundPopup").fadeIn("slow");
5131     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5132     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5133     if(firstSection.hasClass("purchasePersonalize")) {
5134       if(productType !== '') {
5135         console.log("clarity event " + productType + ' personalize')
5136         window.clarity("event", `${productType} cardPersonalization`)
5137         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5138       }
5139     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5140         console.log("clarity event " + productType + ' personalizeBoard')
5141         window.clarity("event", `${productType} personalizeBoard`)
5142         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5143     }
5144     firstSection.removeClass("hide")
5145     
5146     // Auto-trigger addon loading when addon section becomes visible
5147     setTimeout(function() {
5148       const addonSection = $(".purchaseAddon")
5149       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5150         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5151           $("[data-addon=upsell-all]").trigger("click")
5152         }
5153       }
5154     }, 200)
5155   }
5156 
5157   function disablePopup() {
5158     $("#backgroundPopup").fadeOut("slow");
5159     $(".purchasePopup").fadeOut("slow");
5160     $("#popupCart").fadeOut("slow");
5161   }
5162 
5163     function scrollTo(parent, div, dur) {
5164       $(parent).animate({
5165         scrollTop: $(div).offset().top
5166       }, dur);
5167     }
5168 
5169   function loadPopupPersonalize() {
5170     const div = "#purchaseProduct"
5171     const p = "html, body, .product-meta"
5172     $("p.error").remove()
5173     loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
5174     const isCity = $("#cities[required]")
5175     const isDate = $("#propDeliveryDate[required]")
5176     const isTime = $("#propDeliveryTime[required]")
5177     // loadPopup()
5178     if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
5179       loadPopup()
5180     }
5181     if(isCity.val() == '') {
5182       isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
5183       scrollTo(p, div, 500)
5184     }
5185     if(isDate.val() == '') {
5186       isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
5187       scrollTo(p, div, 500)
5188     }
5189     if(isTime.val() == '') {
5190       isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
5191       scrollTo(p, div, 500)
5192     }
5193   }
5194 
5195   function quantityCounter() {
5196     $(document).on("click", ".item-card.selected .q_up", function () {
5197       var C = $(this).attr("data-id"),
5198           S =
5199               parseInt(
5200                   $(this)
5201                       .siblings(".quantity-cart-" + C)
5202                       .val()
5203               ) + 1;
5204       $(this).attr("data-quantity", S),
5205           $(this)
5206               .siblings(".quantity-cart-" + C)
5207               .val(S);
5208     }),
5209     $(document).on("click", ".item-card.selected .q_down", function () {
5210         var C = $(this).attr("data-id"),
5211             S = parseInt(
5212                 $(this)
5213                     .siblings(".quantity-cart-" + C)
5214                     .val()
5215             );
5216         0 < S && $(this).attr("data-quantity", S - 1),
5217             0 < S &&
5218                 $(this)
5219                     .siblings(".quantity-cart-" + C)
5220                     .val(S - 1);
5221     });
5222   }
5223 
5224   quantityCounter()
5225 
5226   const itemAddon = $(".item-card").length
5227   const nofree = $(".nofree").length
5228 
5229   const upsell = ''
5230   
5231   if(nofree === itemAddon) {
5232       // $("#itemAddons").html("<p>No Items available</p>")
5233   }
5234 
5235   $("#itemAddons .item-card").each(function(e){
5236       $("#itemAddons").attr("data-length", e)
5237   })
5238 
5239   $("[data-addon]").click(function(){
5240       
5241       
5242       
5243       const t = $(this)
5244       
5245       const data = t.data("addon")
5246       
5247       $("[data-addon]").removeClass("selected")
5248       t.addClass("selected")
5249       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5250           const products = data.products
5251           const html = []
5252           for(let i = 0; i < products.length; i++) {
5253               const id = products[i].id
5254               const variantId = products[i].variants[0].id
5255               const img = products[i].images[0].src
5256               let img2 = img.split('.jpg')[0]
5257               const title = products[i].title
5258               const price = products[i].variants[0].price
5259               const tags = products[i].tags
5260               const qty = products[i].variants[0].available
5261               let type_upsell = ''
5262               if(tags.includes('upsell-item-standing')) {
5263                   type_upsell = 'standing'
5264               }
5265               console.log(type_upsell)
5266               if(type_upsell !== '') {
5267                   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}">
5268                       
5269                           <div class="card-image">
5270                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5271                           </div>
5272                           <div class="card-meta">
5273                               <h5>${title}</h5>
5274                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5275                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5276                           </div>
5277                           <div class="card-qty">
5278                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5279                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5279" value="0" data-price=${price} name="quantity">
5280                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="12" height="13" viewBox="0 0 12 13" fill="none">
5281 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5282 </svg></a>   
5283                           </div>
5284                       </div>`
5285                   html.push(body)
5286               }
5287           }
5288           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
5289           $("#itemAddons").attr("data-length", products.length)
5290           // $('#itemAddons')[0].swiper.update();
5291       });
5292   })
5293 
5294   async function isAddon(){
5295     let ids = []
5296     $("#itemAddons .item-card.selected").each(function(i, e){
5297       const id = $(this).data("id")
5298       ids.push(id)
5299     })
5300     console.log(ids)
5301     return ids
5302   }
5303   
5304   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
5305     const t = $(this).parent()
5306     const id = t.data("id")
5307     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
5308     t.toggleClass("selected");
5309     //$(this).next("input").toggleAttr('name', 'id[]');
5310     if (t.hasClass('selected')) {
5311         t.find("input").val(1)
5312         t.find("input").attr('name', 'id[]');
5313     } else {
5314         t.find("input").val(0)
5315         t.find("input").removeAttr('name');
5316     }
5317     $("#properties-addons").val(addons)
5318     const is = await isAddon()
5319     if(is.length === 0) {
5320       btn.text("continue without add-ons")
5321       return
5322     }
5323     if(is.includes(8835692069079)) {
5324       btn.text("personalize acrylic frame")
5325     } else {
5326       btn.text("Continue")
5327     }
5328       
5329   })
5330 
5331   async function myAddon(data) {
5332     const c = $(".addonsPurchase .addons")
5333     let items = []
5334     
5335     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
5336     // if(spotifyAddons.length > 0) {
5337     //   $(spotifyAddons).each(function(i, e){
5338     //     const spotifyLink = $(this).find(".spotifyLink").val()
5339     //     const spotifySong = $(this).find(".spotifySong").val()
5340     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
5341     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
5342     //     if(spotifyLink !== '') {
5343     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
5344     //         <div class="addon-itm-img">
5345     //           <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"/>
5346     //         </div>
5347     //         <div class="addon-itm-title">
5348     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
5349     //         </div>
5350     //         <div class="addon-itm-line-total">
5351     //           <span>Rp 99.000</span>
5352     //         </div>
5353     //       </div>
5354     //       <div class="propsAddonSpotify row m-0">
5355     //         <div class="col-12 col-lg-2"></div>
5356     //           <div class="col-12 col-lg-10">
5357     //             <p>
5358     //               <span>spotify link</span>
5359     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
5360     //             </p>
5361     //             <p>
5362     //               <span>uploaded photo</span>
5363     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
5364     //             </p>
5365     //             <p>
5366     //               <span>song / playlist name</span>
5367     //               <span class="spotifySongAddon">${spotifySong}</span>
5368     //             </p>
5369     //             <p>
5370     //               <span>artist name</span>
5371     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
5372     //             </p>
5373     //           </div>
5374     //       </div>`
5375     //       items.push(spotifyAddon)
5376     //     }
5377     //   })
5378     // }
5379     for(let i = 0; i < data.length; i++) {
5380       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
5381         const img = data[i].image
5382         const title = data[i].title
5383         const qty = data[i].qty
5384         const price = data[i].price
5385         const total = Number(qty) * Number(price)
5386         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
5387               <div class="addon-itm-img">
5388                 <img src="${img}" alt="" width="70"/>
5389               </div>
5390               <div class="addon-itm-title">
5391                 <span>${title}</span>
5392               </div>
5393               <div class="addon-itm-line-price">
5394                 <span>${rupiah.format(price)}</span>
5395                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
5396               </div>
5397               <div class="addon-itm-line-total">
5398                 <span>${rupiah.format(total)}</span>
5399               </div>
5400             </div>`
5401           items.push(addons)
5402       }
5403     }
5404     c.html(items)
5405     const parent = $(".purchaseAddon")
5406     const next = parent.next(".sectionPurchase")
5407     parent.addClass("hide")
5408     next.removeClass("hide")
5409     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
5410     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
5411   }
5412 
5413   async function listAddon() {
5414     const data = $("#itemAddons").find(".selected")
5415     let ids = []
5416     $(data).each(function(){
5417       const id = $(this).data("variant")
5418       const image = $(this).find(".card-image img").attr("src")
5419       const title = $(this).find(".card-meta h5").text()
5420       const qty = $(this).find(".card-qty input").val()
5421       const price = $(this).find(".card-qty input").data("price")
5422       ids.push({
5423         id: Number(id),
5424         image,
5425         title,
5426         qty,
5427         price
5428       })
5429     })
5430     myAddon(ids)
5431   }
5432 
5433   async function customSpotify(idx, length, type){
5434     let isCard = false
5435     
5436     let p = $(".purchasePopupSpotify")
5437     const preLink = $(".spotifyLinkFirst").val()
5438     $("[data-index]").hide()
5439     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
5440     p.find(".regulerAddons, .purchase-button").hide()
5441     p.find(".spotifyAddons").show()
5442     
5443     const data = await trackUrl(preLink)
5444     
5445     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://myassets.space/crow/brand-juragan404.gif" width="13" height="11" viewB
5445ox="0 0 13 11" fill="none">
5446 <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"/>
5447 </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://myassets.space/crow/brand-juragan404.gif><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="13" height="11" viewB
5447ox="0 0 13 11" fill="none">
5448 <path d="M0.875 10.6378H12.375C12.4413 10.6378 12.5049 10.6115 12.5518 10.5646C12.5987 10.5177 12.625 10.4541 12.625 10.3878V0.387817C12.625 0.321513 12.5987 0.257925 12.5518 0.211041C12.5049 0.164157 12.4413 0.137817 12.375 0.137817H0.875C0.808696 0.137817 0.745107 0.164157 0.698223 0.211041C0.651339 0.257925 0.625 0.321513 0.625 0.387817V10.3878C0.625 10.4541 0.651339 10.5177 0.698223 10.5646C0.745107 10.6115 0.808696 10.6378 0.875 10.6378ZM1.125 10.1378V7.31882C1.136 7.31082 1.1485 7.30632 1.1585 7.29632L3.7165 4.73832C3.78198 4.67584 3.869 4.64098 3.9595 4.64098C4.05 4.64098 4.13702 4.67584 4.2025 4.73832L7.963 8.49882C8.00919 8.54501 8.07162 8.5713 8.13694 8.57204C8.20225 8.57279 8.26527 8.54794 8.3125 8.50282L10.2455 6.66682C10.3084 6.60323 10.3938 6.56684 10.4832 6.56543C10.5727 6.56403 10.6591 6.59774 10.724 6.65932L12.125 8.18532L12.1255 8.18582V10.1378H1.125ZM12.125 0.637817V7.44682L11.0845 6.31382C11.0066 6.23514 10.9138 6.17275 10.8116 6.13026C10.7094 6.08777 10.5997 6.06603 10.489 6.06632H10.4885C10.3786 6.06584 10.2697 6.08706 10.168 6.12876C10.0664 6.17046 9.97391 6.23182 9.896 6.30932L8.144 7.97332L4.556 4.38482C4.2365 4.06582 3.6815 4.06632 3.363 4.38482L1.125 6.62332V0.637817H12.125Z" fill="black"/>
5449 </svg> <img src="" class=previewImage style=display:none></div></div><div class=frameControl><div class=spotifyData>${data?.song ? `<h3>${data?.song}</h3>` : '<h3><h3>'}${data?.artist ? `<p>${data?.artist}</p>` : '<p></p>'}</div><img src="//outerbloom.com/cdn/shop/t/138/assets/frame-spotify.png?v=138221849636560654691752652420"alt="spotify outerbloom" height=""width=100%><div class=spotifyCode><img src="https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data?.type.slice(0, -1)}:${data?.trackId}"alt=""></div></div></div></div></div>`
5450     // console.log(html)
5451     
5452     $(".spotifyAddons").append(html)
5453     
5454     $(`[data-index=${idx}]`).show()
5455     
5456     if (preLink !== '') {
5457       $(".btn-action .btn").attr("disabled", false)
5458     } else {
5459       $(".btn-action .btn").attr("disabled", true)
5460     }
5461 
5462     return html
5463     
5464   }
5465 
5466   $(".spotifyLinkFirst").keyup(async function(){
5467     const v = $(this).val()
5468     if(v.includes('spotify:user:spotify')) {
5469       const correct = v.split('user:spotify:')[1]
5470       console.log(correct, 'BNER')
5471       $(this).val(correct)
5472       return
5473     }
5474     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
5475       const data = await trackUrl(v)
5476       if(!data || !data.status) {
5477         $(this).parent().addClass("error")
5478         // $(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>`)
5479         $("#personalizeBtnSpotify .btn").attr("disabled", true)
5480         return
5481       }
5482       $(this).parent().removeClass("error")
5483       // $(this).parent().remove("txt-error")
5484       $("#personalizeBtnSpotify .btn").attr("disabled", false)
5485     } else {
5486       $("#personalizeBtnSpotify .btn").attr("disabled", true)
5487     }
5488   })
5489 
5490   $(".purchaseAddon").delegate(".next-addon", "click", function(){
5491     const parent = $(this).parents(".purchaseAddon")
5492     const next = parent.next(".sectionPurchase")
5493     if(next.hasClass("purchaseAddress")) {
5494       if(productType !== '') {
5495         console.log("clarity event " + productType + ' purchaseDelivery')
5496         window.clarity("event", `${productType} purchaseDelivery`)
5497         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5498       }
5499     }
5500     const data = $("#itemAddons").find(".selected")
5501     const length = $(".quantity-cart-46067682607319").val()
5502     const checked = data.length;
5503     if(checked > 0) {
5504       if(length > 0) {
5505         $(".purchaseAddon").addClass("purchaseAddonSpotify")
5506         customSpotify(1, length, 'addon')
5507       } else {
5508         listAddon()
5509       }
5510     } else {
5511       parent.addClass("hide")
5512       next.removeClass("hide")
5513     }
5514   })
5515 
5516   $("#personalizeBtnSpotify .btn").click(async function(){
5517     const isCity = $("#cities[required]")
5518     const isDate = $("#propDeliveryDate[required]")
5519     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
5520       alert('Please choose Delivery City & Delivery Date')
5521       return
5522     }
5523     const data = await customSpotify(1, 1, 'product')
5524     if(data) {
5525       $("#backgroundPopup").fadeIn("slow");
5526       $(".purchasePopupSpotify").fadeIn("slow");
5527 
5528       if(productType !== '') {
5529         console.log("clarity event " + productType + ' spotify')
5530         window.clarity("event", `${productType} spotify`)
5531         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
5532       }
5533     }
5534   })
5535 
5536   function formatBytes(bytes, decimals = 2) {
5537     if (!+bytes) return '0 Bytes'
5538 
5539     const k = 1024
5540     const dm = decimals < 0 ? 0 : decimals
5541     const sizes = ['B', 'KB', 'MB']
5542 
5543     const i = Math.floor(Math.log(bytes) / Math.log(k))
5544 
5545     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
5546   }
5547 
5548   async function trackUrl(link){
5549     try {
5550       let trackId = link.split('/').pop().split('?')[0];
5551       let type = ''
5552       if(link.includes("spotify:")) {
5553         const uri = link.split('spotify:')[1]
5554         trackId = uri.split(':')[1]
5555         type = uri.split(':')[0] + 's'
5556       } else {
5557         if(link.match('track')){
5558           type = 'tracks'
5559         } else if(link.match('playlist')) {
5560           type = 'playlists'
5561         } else if(link.match('artist')) {
5562           type = 'artists'
5563         } else if(link.match('album')) {
5564           type = 'albums'
5565         }
5566       }
5567       console.log(`${host}/api/spotify/${type}/${trackId}`)
5568       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
5569       console.log(data, 'DATA')
5570       const song = data?.data?.name
5571       const artist = data?.data?.artist
5572       return {
5573         song, artist, type, trackId, status: data.status
5574       }
5575     } catch(err) {
5576       console.log(err)
5577     }
5578   }
5579 
5580   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
5581     const parent = $(this).parents("[data-index]")
5582     const preview = parent.find(".previewImage")
5583     const file = $(this)[0].files[0];
5584     if (file) {
5585         const reader = new FileReader();
5586         reader.onload = async function(e) {
5587           parent.find(".uploadResult label").hide()
5588           parent.find(".uploadedResult").remove()
5589           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
5590           <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>
5591           <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;">
5591<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://myassets.space/crow/brand-juragan404.gif">
5592   <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 />
5593 </svg>
5594 </span></div></div>`)
5595           parent.find(".frameImageUploaded svg").hide()
5596           parent.find(".frameImage").addClass("uploaded")
5597           preview.attr("src", e.target.result);
5598           preview.show();
5599           let formData = new FormData(); 
5600           formData.append("file", file);
5601           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
5602             method: "POST", 
5603             body: formData
5604           })
5605           const result = await response.json();
5606           if(result){
5607             parent.find(".resultPhotoSpotify").val(result.url)
5608           }
5609         }
5610         
5611         reader.readAsDataURL(file);
5612     } else {
5613         preview.hide();
5614     }
5615   });
5616 
5617   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
5618     $(this).next("input[type=file]").trigger("click")
5619   })
5620 
5621   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
5622     $(this).parents("input[type=file]").trigger("click")
5623   })
5624 
5625   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
5626     const parent = $(this).parents("[data-index]")
5627     parent.find(".uploadPhotoSpotify").val("")
5628     parent.find(".uploadResult label").show()
5629     parent.find(".uploadedResult").remove()
5630     parent.find(".frameImageUploaded svg").show()
5631     parent.find(".previewImage").hide()
5632     parent.find(".frameImage").removeClass("uploaded")
5633   })
5634 
5635   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
5636     const parent = $(this).parents("[data-index]")
5637     parent.toggleClass("checked")
5638   })
5639 
5640   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
5641     const parent = $(this).parents("[data-index]")
5642     const link = $(this).val()
5643     const data = await trackUrl(link)
5644 
5645     console.log(data)
5646 
5647     if(data.song) {
5648       parent.find(".spotifySong").val(data.song)
5649       parent.find(".spotifyData").find("h3").text(data.song)
5650     }
5651     if(data.artist) {
5652       parent.find(".spotifyArtist").val(data.artist)
5653       parent.find(".spotifyData").find("p").text(data.artist)
5654     }
5655     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
5656     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
5657     if (data.status === true) {
5658       parent.find(".btn-action .btn").attr("disabled", false)
5659     } else {
5660       parent.find(".btn-action .btn").attr("disabled", true)
5661     }
5662   })
5663   
5664   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
5665     const parent = $(this).parents("[data-index]")
5666     const v = $(this).val()
5667     parent.find(".spotifyData h3").text(v)
5668   })
5669 
5670   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
5671     const parent = $(this).parents("[data-index]")
5672     const v = $(this).val()
5673     parent.find(".spotifyData p").text(v)
5674   })
5675 
5676   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
5677     const parent = $(this).parents("[data-index]")
5678     const length = parent.data("length")
5679     const index = parent.data("index")
5680     const indexNext = Number(index) + 1
5681     customSpotify(indexNext, length, 'addon')
5682   })
5683 
5684   
5685   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
5686     const parent = $(this).parents(".purchaseAddon")
5687     const next = parent.next(".sectionPurchase")
5688     parent.addClass("hide")
5689     next.removeClass("hide")
5690     next.find(".purchase-button").show()
5691     listAddon()
5692   })
5693 
5694   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
5695     const t = $(this).parents("[data-index]")
5696     const parent = $(this).parents(".sectionPurchase")
5697     const current = t.data("index")
5698     const prevCurrent = Number(current) - 1
5699     if(current == 1) {
5700       parent.removeClass("purchaseAddonSpotify")
5701       parent.find(".purchase-button").show()
5702       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
5703       $(".spotifyAddons").empty()
5704       $(".regulerAddons").show()
5705       return
5706     }
5707     t.hide()
5708     t.prev("[data-index]").show()
5709     t.remove()
5710     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
5711   })
5712 
5713   $("#personalizeBtn .btn").click(async function() {
5714     loadPopupPersonalize()
5715   });
5716 
5717   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
5718     $(".sectionPurchaseSpotify").hide()
5719     loadPopupPersonalize()
5720   })
5721 
5722   $(".close-purchase-popup").click(function() {
5723       disablePopup();
5724   });
5725   $("#backgroundPopup").click(function() {
5726       // disablePopup();
5727   });
5728 
5729   $("#popupCart .close-purchase-popup").click(function() {
5730       location.reload()
5731   });
5732 
5733   $('#popupCart').on('hide.bs.modal', function (e) {
5734     location.reload()
5735   })
5736 
5737   $(".next-card").click(function(){
5738     const parent = $(this).parents(".sectionPurchase")
5739     const next = parent.next(".sectionPurchase")
5740     parent.addClass("hide")
5741     next.removeClass("hide")
5742   })
5743 
5744   $(".back-purchase-button").click(function(){
5745     const parent = $(this).parents(".sectionPurchase")
5746     const prev = parent.prev(".sectionPurchase")
5747     parent.addClass("hide")
5748     prev.removeClass("hide")
5749   })
5750   
5751   $(document).keypress(function(e) {
5752       if (e.keyCode == 27 && popupStatus == 1) {
5753           disablePopup();
5754       }
5755   });
5756   
5757   const parentImg = $(".case-img-preview")
5758   const parentVid = $(".case-video-preview")
5759   
5760   function readURL(input) {
5761     if (input.files && input.files[0]) {
5762       let reader = new FileReader();
5763 
5764       let type = 'image/jpeg'
5765       const size = input.files[0].size
5766       if(input.files[0].type.match('video/')){
5767         type = 'video/mp4'
5768         if(size > 15728640) {
5769           alert('File size exceeds maximum limit 15 MB')
5770           return
5771         }
5772       } else {
5773         if(size > 5242880) {
5774           alert('File size exceeds maximum limit 5 MB')
5775           return
5776         }
5777       }
5778 
5779       reader.onload = function (e) {
5780         $(".nextBtn").attr("disabled", true)
5781         if(type === 'image/jpeg') {
5782           
5783             $('.placeholder-image').hide();
5784             $('.preview-image').show()
5785             $('.preview-image').attr('src', e.target.result);
5786           
5787         } else {
5788           // parentVid.find(".ajax-loader").show();
5789           $(".steps-card-preview").addClass("loading")
5790         }
5791       }
5792 
5793       
5794 
5795       reader.readAsDataURL(input.files[0]);
5796     }
5797   }
5798 
5799   async function readURLPapan(input) {
5800     if (input.files && input.files[0]) {
5801       let reader = new FileReader();
5802 
5803       reader.onload = function (e) {
5804         $('.btn-upload-papan').siblings('label').hide();
5805         $('.btn-upload-papan img').attr('src', e.target.result);
5806         $('.btn-upload-papan img').show();
5807         $('.svgLogoPapan').hide();
5808       }
5809       
5810       const type = 'image/jpeg'
5811       const name = `logo-8144957800663-${Date.parse(new Date())}`
5812 
5813       let formData = new FormData(); 
5814       formData.append("file", input.files[0]);
5815       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5816         method: "POST", 
5817         body: formData
5818       })
5819       const result = await response.json();
5820       if(result) {
5821         const url = result.url
5822         $("[data-properties=papan-logo]").val(url)
5823       }
5824 
5825       reader.readAsDataURL(input.files[0]);
5826     }
5827   }
5828 
5829   async function readURLAddress(input) {
5830     console.log(input, 'readURLAddress')
5831     if (input.files && input.files[0]) {
5832       let reader = new FileReader();
5833 
5834       reader.onload = function (e) {
5835         $('.photo-address').attr('src', e.target.result);
5836         $('.photo-address').show();
5837       }
5838       
5839       const type = 'image/jpeg'
5840       const name = input.files[0].name?.split('.')[0]
5841 
5842       let formData = new FormData(); 
5843       formData.append("file", input.files[0]);
5844       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5845         method: "POST", 
5846         body: formData
5847       })
5848       const result = await response.json();
5849 
5850       reader.readAsDataURL(input.files[0]);
5851 
5852       return result
5853     }
5854   }
5855 
5856   
5857 
5858   
5859   async function addToCartUang() {
5860     var productAddOnId1 = 42122101162199;
5861     var productAddOnId2 = 42122101194967;
5862     var product_id = 8144957800663
5863     const data = {
5864       items: [
5865           {
5866               quantity: $("#Quantity-" + productAddOnId1).val(),
5867               id: productAddOnId1,
5868               "properties": { "Time": $("#properties-time").val() }
5869           },
5870           {
5871               quantity: $("#Quantity-" + productAddOnId2).val(),
5872               id: productAddOnId2,
5873               "properties": { "Time": $("#properties-time").val() }
5874           }
5875       ]
5876     }
5877     await fetch(window.Shopify.routes.root + 'cart/add.js', {
5878       method: 'POST',
5879       headers: {
5880         'Content-Type': 'application/json'
5881       },
5882       body: JSON.stringify(data)
5883     })
5884     .then(response => {
5885       console.error('Sukses Buket Uang:', response);
5886       $(".form-flower").submit()
5887     })
5888     .catch((error) => {
5889       console.error('Error Buket Uang:', error);
5890       $(".form-flower").submit()
5891     });
5892   }
5893   
5894   async function saveCard(){
5895     let isCard = true
5896     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
5897     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
5898     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
5899     const foto = $("#properties-photo").val()
5900     const video = $("#properties-video").val()
5901     const data = JSON.stringify({
5902       "id": qrID, 
5903       "penerima": $("#properties-nama-penerima").val(), 
5904       "kartu_penerima": kartu_penerima, 
5905       "kartu_ucapan": kartu_ucapan, 
5906       "kartu_pengirim": kartu_pengirim, 
5907       "foto": foto,
5908       "video": video, 
5909       "productId": "8144957800663", 
5910       "order_name": "", 
5911       "status": "Cart"
5912     })
5913 
5914     
5915   }
5916 
5917   async function additem(items){
5918     try {
5919       let formData = items
5920       if(items?.length) {
5921         formData = {
5922            'items': items
5923         };
5924       }
5925   
5926       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
5927         method: 'POST',
5928         headers: {
5929           'Content-Type': 'application/json',
5930           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
5931         },
5932         body: JSON.stringify(formData)
5933       })
5934   
5935       const data = await add.json();
5936       return data
5937     } catch(err){
5938       console.log('Error additem', err)
5939     }
5940   }
5941 
5942   async function addons(){
5943     let items = []
5944     $(".addon-item").each(function(){
5945       const p = $(this)
5946       const props = p.next(".propsAddonSpotify")
5947       const id = $(this).data("id")
5948       const quantity = $(this).data("qty")
5949       const propId = $("#properties-time").val()
5950       let properties = {}
5951       if(id === 46067682607319) {
5952         const link = props.find(".spotifyLinkAddon").text()
5953         const photo = props.find(".spotifyFotoAddon").text()
5954         const song = props.find(".spotifySongAddon").text()
5955         const artist = props.find(".spotifyArtistAddon").text()
5956         properties = {
5957           id: propId,
5958           "Spotify Link": link !== '' ? link : '-',
5959           "Spotify Photo": photo !== '' ? photo : '-',
5960           "Spotify Song": song !== '' ? song : '-',
5961           "Spotify Artist": artist !== '' ? artist : '-',
5962           type: 'addon'
5963         }
5964       } else {
5965         properties = { 
5966           "id": propId, 
5967           "type": "addon"
5968         }
5969       }
5970       items.push({
5971         id, 
5972         quantity, 
5973         properties
5974       })
5975     })
5976     return items
5977   }
5978 
5979   async function propItems() {
5980     let props = {}
5981     $("[data-properties]").each(function(e){
5982       let elementType = this.tagName;
5983       const k = $(this).data("properties")
5984       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') {
5985         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
5986         if(v !== '') {
5987           props[k] = v?.replace(/[\s\n]/g, '');
5988         }
5989       }
5990     })
5991     return props
5992   }
5993 
5994   async function showPopupCart(items){
5995     if(productType !== '') {
5996       console.log("clarity event " + productType + ' completeOrder')
5997       window.clarity("event", `${productType} completeOrder`)
5998       // window.clarity("set", productType, `completeOrder - ${productDate}`)
5999     }
6000     $("#popupCart").show()
6001     
6002       $(".propDeliveryCity").text($("#cities").val())
6003       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6004       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6005       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6006       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6007       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6008       $(".propDeliveryProv").text($("#province").val())
6009       $(".propDeliveryZip").text($("#zip").val())
6010       
6011     
6012 
6013     const addons = []
6014     if(items && items.length > 0) {
6015       for(let i = 1; i < items.length; i++) {
6016         const spotifyLink = items[i].properties['Spotify Link']
6017         const spotifyPhoto = items[i].properties['Spotify Photo']
6018         const spotifySong = items[i].properties['Spotify Song']
6019         const spotifyArtist = items[i].properties['Spotify Artist']
6020         const price = items[i].price / 100
6021         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6022                   <div class="col-12 col-lg-2"></div>
6023                   <div class="col-12 col-lg-10">
6024                     <p>
6025                       <span>spotify link</span>
6026                       <span>${spotifyLink}</span>
6027                     </p>
6028                     <p>
6029                       <span>Upload Photo</span>
6030                       <span>${spotifyPhoto}</span>
6031                     </p>
6032                     <p>
6033                       <span>song / playlist name</span>
6034                       <span>${spotifySong}</span>
6035                     </p>
6036                     <p>
6037                       <span>artist name</span>
6038                       <span>${spotifyArtist}</span>
6039                     </p>
6040                   </div>
6041                 </div>` : '';
6042         addons.push(`<div class="row m-0">
6043                   <div class="imgAddonCart col-2">
6044                     <img
6045                       width="43"
6046                       src="${items[i].image}"
6047                       alt=""
6048                     >
6049                   </div>
6050                   <div class="imgAddonTitlePrice col-10 align-self-center">
6051                     <div class="row justify-content-between m-0">
6052                       <div class="col-12 col-lg-8">
6053                         <h5>${items[i].title}</h5>
6054                       </div>
6055                       <div class="col-12 col-lg-4 text-lg-right">
6056                         <span>${rupiah.format(price)}</span>
6057                       </div>
6058                     </div>
6059                   </div>
6060                 </div>${props}`)
6061       }
6062     }
6063     // console.log(addons)
6064     if(addons.length === 0) {
6065       $(".itemAddonCart").hide()
6066       return
6067     }
6068     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6069     $(".wrapperItemAddonCart").html(addons)
6070   }
6071 
6072   const money = (money) => {
6073       return new Intl.NumberFormat('id-ID',
6074           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6075       ).format(money);
6076   }
6077 
6078   async function showNoteMoney() {
6079     let qty50k = $("[data-properties='Uang 50k']").val()
6080     let qty100k = $("[data-properties='Uang 100k']").val()
6081     const total50k = Number(qty50k) * 50000
6082     const total100k = Number(qty100k) * 100000
6083     const total_all = total50k + total100k
6084     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6085     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6086     $(".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://tempat-cozy.travelsportcanarias-com.app/" target="_blank" style="text-decoration: underline;
6086 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6087   }
6088 
6089   async function removeImage() {
6090     const data = JSON.stringify({
6091       "ID": $("#properties-properties-qrId").val(), 
6092       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6093       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6094       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6095       "Nama Penerima": $("#properties-nama-penerima").val(), 
6096       "Order Number":"",
6097       "Status":"Product", 
6098       "Foto": "", 
6099       "Media": $("#properties-video").val(), 
6100       "Image": "8144957800663"
6101     })
6102     const remove = updateCard(data)
6103     if(remove) {
6104       $(this).hide()
6105       $("#properties-photo").val("-")
6106       $(".placeholder-image").show()
6107       $(".preview-image").attr("src", "")
6108     }
6109   }
6110 
6111   async function removeVideo() {
6112     const data = JSON.stringify({
6113       "ID": $("#properties-properties-qrId").val(), 
6114       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6115       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6116       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6117       "Nama Penerima": $("#properties-nama-penerima").val(), 
6118       "Order Number":"",
6119       "Status":"Product", 
6120       "Foto": $("#properties-photo").val(), 
6121       "Media": "", 
6122       "Image": "8144957800663"
6123     })
6124     const remove = updateCard(data)
6125     if(remove) {
6126       $("#properties-video").val("-")
6127       $(this).find("img").hide()
6128       $(this).hide()
6129       $(this).prev("p").text("Add video to make it more special (optional)")
6130       $("#label-input-video").show()
6131       $("#label-input-video span").text("Upload Video")
6132       $(".case-video-preview p span").remove()
6133     }
6134   }
6135 
6136   async function loadItemOccasion(t, occasion) {
6137     const name = occasion?.replace('greeting-card-', '')
6138     $("#kartu-ucapan").val("")
6139     $("[data-occassion]").removeClass("selected")
6140     $("[data-properties=ucapan]").val("")
6141     $("#save-card").attr("disabled", true)
6142     t.addClass("selected")
6143     $("#show_note").attr("data-card-occassion", name)
6144     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6145         const products = data.products
6146         const html = []
6147         for(let i = 0; i < products.length; i++) {
6148             const id = products[i].id
6149             const variantId = products[i].variants[0].id
6150             const img = products[i].images[0].src
6151             const title = products[i].title
6152             const price = products[i].variants[0].price
6153             const qty = products[i].variants[0].inventory_quantity
6154             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6155                 <label for="card-${variantId}"></label>
6156                     <div class="card-image">
6157                         <img src="${img}" alt="${title}" width="" height="" />
6158                     </div>
6159                     <div class="card-meta text-center">
6160                         <h5>${title}</h5>
6161                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6162                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6163                     </div>
6164                 </div>`
6165             html.push(body)
6166         }
6167         const withoutCard = `<div class="item-card item-without-card">
6168                 <label for="card-0"></label>
6169                     <div class="card-image">
6170                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6171                     </div>
6172                     <div class="card-meta text-center">
6173                         <h5>
6173Send without a greeting card</h5>
6174                         <input id="card-0" type="radio" name="id" value="" data-price="">
6175                     </div>
6176                 </div>`
6177         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6178     });
6179   }
6180         
6181   $(document).ready(function(){
6182 
6183     // Observer to auto-trigger addon loading when addon section becomes visible
6184     const addonObserver = new MutationObserver(function(mutations) {
6185       mutations.forEach(function(mutation) {
6186         const target = $(mutation.target)
6187         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6188           if(!target.hasClass('hide')) {
6189             // Addon section just became visible, ensure items are loaded
6190             setTimeout(function() {
6191               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6192                 console.log("Auto-triggering addon load...")
6193                 $("[data-addon=upsell-all]").trigger("click")
6194               }
6195             }, 150)
6196           }
6197         }
6198       })
6199     })
6200     
6201     // Start observing addon section
6202     const addonSection = document.querySelector('.purchaseAddon')
6203     if(addonSection) {
6204       addonObserver.observe(addonSection, { 
6205         attributes: true, 
6206         attributeFilter: ['class'] 
6207       })
6208     }
6209 
6210     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6211     
6212     $(this).find("span").addClass("loading")
6213     let isValid = true
6214     $(".formAddressPurchase [required]").each(function(){
6215       const t = $(this)
6216       const input = t.val()
6217       const p = t.parent()
6218       if(input === '') {
6219         p.addClass("error")
6220         isValid = false
6221       }
6222     })
6223 
6224     if(!isValid) {
6225       $(this).find("span").removeClass("loading")
6226       return
6227     }
6228     
6229     let items = []
6230     const mainProps = {
6231       
6232         "Delivery Date": $("#propDeliveryDate").val(),
6233         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6234         "Kota Pengiriman": $("#cities").val(),
6235         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6236         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6237         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6238         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6239       
6240       
6241         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6242         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6243         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6244         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6245         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6246       
6247       
6248       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6249       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6250       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6251       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6252       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6253       "type": 'product'
6254     }
6255     const props = await propItems()
6256     properties = {...mainProps, ...props };
6257     const id = $("#productSelect").find('option:selected').val()
6258     console.log(id, 'main ID')
6259     const mainItem = {
6260       id: Number(id),
6261       quantity: 1,
6262       properties
6263     }
6264     items.push(mainItem)
6265     const cardId = $("#itemCards").find(".selected input").val()
6266     const cardItem = {
6267       id: Number(cardId),
6268       quantity: 1,
6269       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6270     }
6271     console.log(cardId, 'cardId')
6272     if(cardId) {
6273       items.push(cardItem)
6274     }
6275     const addon = await addons()
6276     if(addon) {
6277       for(let i = 0;
6277 i < addon.length; i++){
6278         items.push({
6279           id: addon[i].id,
6280           quantity: addon[i].quantity,
6281           properties: addon[i].properties
6282         })
6283       }
6284     }
6285     const addItems = await additem(items)
6286     console.log(addItems.items, 'add items')
6287     if(addItems) {
6288       $(this).find("span").removeClass("loading")
6289       disablePopup()
6290       showPopupCart(addItems.items)
6291       
6292       localStorage.setItem("items", JSON.stringify(addItems.items))
6293     }
6294   })
6295   
6296   $("#addtocart-cart .btn").click(async function(){
6297     const id = $("#productSelect").find('option:selected').val()
6298     const mainProps = {
6299       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
6300       type: 'product'
6301     }
6302     const props = await propItems()
6303     const properties = { ...mainProps, ...props };
6304     const items = {
6305       id: Number(id),
6306       quantity: 1,
6307       properties
6308     }
6309     const addItems = await additem(items)
6310     if(addItems) {
6311       showPopupCart(addItems.items)
6312       localStorage.setItem("items", JSON.stringify(addItems))
6313     }
6314   })
6315 
6316   $(".formAddressPurchase [required]").change(function(){
6317     const t = $(this)
6318     const p = t.parent()
6319     const v = t.val()
6320     if(v !== '') {
6321       p.removeClass("error")
6322     }
6323   })
6324 
6325   $("#save-card").click(async function(){
6326     const parent = $(this).parents(".sectionPurchase")
6327     const next = parent.next(".sectionPurchase")
6328     $(this).find("span").addClass("loading")
6329     const card = await saveCard()
6330     console.log(card, 'ssaveCCC')
6331     if(card?.status === 200 || card?.status === 201) {
6332       $(".scanCard").removeClass("hide")
6333       $(this).find("span").removeClass("loading")
6334       parent.addClass("hide")
6335       next.removeClass("hide")
6336       if(next.hasClass("purchaseAddon")) {
6337         $("[data-addon=upsell-all]").click()
6338         console.log("clarity event addons")
6339         window.clarity("event", `${productType} add-ons`)
6340         // Ensure addon items are loaded when entering addon popup
6341         setTimeout(function() {
6342           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6343             $("[data-addon=upsell-all]").trigger("click")
6344           }
6345         }, 100)
6346       }
6347       if(next.hasClass("purchaseAddress")) {
6348         $("#zip").select2()
6349       }
6350     }
6351   })
6352 
6353   $("#skip-card").click(async function(){
6354     $("#greetingCard [data-properties]").val("")
6355     $("#properties-photo").val("")
6356     $("#properties-video").val("")
6357     const parent = $(this).parents(".sectionPurchase")
6358     const next = parent.next(".sectionPurchase")
6359     parent.addClass("hide")
6360     next.removeClass("hide")
6361     // $("#itemCards").html("")
6362     removeImage()
6363     removeVideo()
6364     if(next.hasClass("purchaseAddon")) {
6365       $("[data-addon='upsell-all']").click()
6366       console.log("clarity event addons")
6367       window.clarity("event", `${productType} add-ons`)
6368       // Ensure addon items are loaded when entering addon popup
6369       setTimeout(function() {
6370         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6371           $("[data-addon='upsell-all']").trigger("click")
6372         }
6373       }, 100)
6374     }
6375     if(next.hasClass("purchaseAddress")) {
6376       $("#zip").select2()
6377     }
6378   })
6379 
6380   $("#msgCard").click(async function(){
6381       $(this).parent().addClass("loading")
6382       let occasion = $(".selected[data-occassion]").data("occassion")
6383       occasion = occasion?.replace("greeting-card-", "")
6384       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
6385       const d = data?.data
6386       for(let i = 0; i < d.length; i++) {
6387         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
6388         const greeting = d[num]?.Greeting
6389         $(".greetingCard textarea").val(greeting)
6390         $(this).parent().removeClass("loading")
6391       }
6392       $("#save-card").attr("disabled", false)
6393     })
6394 
6395   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
6396     const parent = $(this).parents(".sectionPurchase")
6397     const next = parent.next(".sectionPurchase")
6398     parent.addClass("hide")
6399     next.removeClass("hide")
6400   })
6401 
6402   $("#editCard").click(function(){
6403     $(".custom-card").show()
6404     $(".preview-card").hide()
6405   })
6406 
6407   $("#first_name, #last_name").change(function(){
6408     const v = $(this).val()
6409     const first_name = $("#first_name").val()
6410     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
6411     $("[data-properties=nama-penerima]").val(first_name+last_name)
6412   })
6413 
6414   $("[data-occassion]").click(function(){
6415       const t = $(this)
6416       const p = t.parents(".sectionPurchase")
6417       // $(".greetingCard").addClass("disabled")
6418       const occasion = t.data("occassion")
6419       loadItemOccasion(t, occasion)
6420   })
6421 
6422   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
6423       const id = $(this).parent(".item-card").data("id")
6424       const t = $(this).parent(".item-card")
6425       const target = t.find("input")
6426       const v = $('.item-card input[type="radio"]:checked').val();
6427       $("#itemCards .item-card").removeClass("selected")
6428       t.addClass("selected")
6429       $("#itemCards .item-card").find("input").attr("name", "")
6430       if(target.length > 0) {
6431           target.attr("name", "id[]")
6432           $("#properties-card").val(id)
6433           $(".greetingCard").removeClass("disabled")
6434           $("#skip-card").attr("disabled", false)
6435       } else {
6436           $("#properties-card").val("")
6437       }
6438   })
6439 
6440   $("#itemCards").delegate(".item-without-card label", "click", function(){
6441     const parent = $(this).parents(".sectionPurchase")
6442     const next = parent.next(".sectionPurchase")
6443     $(".greetingCard").addClass("disabled")
6444     parent.addClass("hide")
6445     next.removeClass("hide")
6446     $("[data-addon=upsell-all]").click()
6447     $("#zip").select2()
6448   })
6449 
6450   $("[data-properties=ucapan]").keyup(function(){
6451     const v = $(this).val()
6452     const p = $(this).parents(".sectionPurchase")
6453     $(".purchaseAddress").find(".greetingCard textarea").val(v)
6454     if(v.length > 3) {
6455       p.find(".next-purchase-button").attr("disabled", false)
6456     } else {
6457       p.find(".next-purchase-button").attr("disabled", true)
6458     }
6459   })
6460 
6461   $("[data-properties=penerima]").keyup(function(){
6462     const v = $(this).val()
6463     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
6464   })
6465 
6466   $("[data-properties=pengirim]").keyup(function(){
6467     const v = $(this).val()
6468     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
6469   })
6470 
6471   $(document).click(function(e){
6472 
6473      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6474      // $('#popupCart').fadeOut('slow');
6475     // location.reload()
6476   });
6477 
6478   $(".toggleAddonCart").click(function(){
6479     const p = $(this).parent(".itemAddonCart")
6480     p.toggleClass("open")
6481   })
6482 
6483   $(".btnViewCart").click(function(){
6484     window.location.href = "https://outerbloom.com/cart";
6485   })
6486 
6487   $(".btnViewCheckout").click(async function(){
6488     $(this).find("span").addClass("loading")
6489     let zip = $("#zip").val()
6490     const first_name = $("#first_name").val()
6491     const last_name = $("#last_name").val()
6492     const company = $("#company").val() !== '' ? $("#company").val() : ''
6493     const address1 = $("#delivery_address").val()
6494     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
6495     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
6496     const phone = $("#recipient_number").val()
6497     const city = $("#cities").val()
6498     const province = $("#province").val()
6499     const country = 'Indonesia'
6500     const ver = Date.parse(new Date())
6501     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}`
6502 
6503     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
6504     if(clear.status === 200) {
6505       const savedItem = window.localStorage.getItem("items");
6506       const items = JSON.parse(savedItem)
6507       const addItems = await additem(items)
6508       console.log(addItems, 'new addItems')
6509       if(addItems) {
6510         window.location.href = `https://outerbloom.com/checkout?${params}`;
6511       }
6512     }
6513   })
6514 
6515   $(".btnContinueShopping").click(function(){
6516     window.location.href = "https://outerbloom.com/";
6517   })
6518 
6519     if (isIOS) {
6520       $(".empty-state-card").click(function(){
6521         $("#input-foto").trigger("click")
6522       })
6523       $(".btn-upload-image").click(function(){
6524         $("#input-foto").trigger("click")
6525       })
6526       $("[for=input-video]").click(function(){
6527         $("#input-video").trigger("click")
6528       })
6529       $(".btn-upload-papan").click(function(){
6530         $("#logoPapan").trigger("click")
6531       })
6532     }
6533   
6534     $("[data-properties]").each(function(){
6535       const select = $(this).parents(".form-group").find("select")
6536       $(this).change(function(){
6537         const name = $(this).data("properties")
6538         const v = $(this).val()
6539         if (name == 'telepon-penerima') {
6540           let phone = v.replace(/[^0-9]/g, '')
6541           $(this).val(phone);
6542           $("#properties-telepon-penerima").val(phone)
6543           $('.iti__search-input').val('-') 
6544         } else {
6545           $("#properties-" + name).val(v)
6546         }
6547       })
6548       select.on("change", function(){
6549         const name = $(this).data("properties")
6550         const v = $(this).val()
6551         $("#properties-" + name).val(v)
6552       })
6553     })
6554 
6555     $("#show_note").click(function(){
6556       nameq = $("#properties-nama-penerima").val()
6557       dear = $("#properties-kartu-nama-penerima").val()
6558       card = $("[data-properties=ucapan]").val()
6559       sender = $("#properties-kartu-nama-pengirim").val()
6560       photo = $("#properties-photo").val()
6561       video = $("#properties-video").val()
6562       updateCard(nameq, dear, card, sender, photo, video, status)
6563     })
6564 
6565     $(".remove-image").click(function(e){
6566       e.preventDefault()
6567       $(this).find("img").show()
6568       removeImage()
6569     })
6570 
6571     $(".remove-media").click(function(e){
6572       e.preventDefault()
6573       $(this).find("img").show()
6574       removeVideo()
6575     })
6576 
6577     
6578 
6579     $("[data-delivery_method]").click(function(e){
6580       e.preventDefault()
6581       const t = $(this)
6582       const data = t.data("delivery_method")
6583       $("[data-delivery_method]").removeClass("selected")
6584       t.addClass("selected")
6585       $("#cities").val("")
6586       $("#properties-delivery-date").val("-")
6587       $("#deliveryDate button").removeClass("selected")
6588       $("#full-date").val("Full Calendar →")
6589       $("#propDeliveryDate").val("")
6590       const step3 = $("#step-3")
6591       if(data.match('PickUp')) {
6592         $(".selfpickup-point").show()
6593         step3.find("[data-finished=false]").hide()
6594         $("#panel-4").hide()
6595         step3.find("[data-finished=true]").show()
6596         $("#cities").attr("required", false)
6597         $("#form-group-city").hide()
6598         $("#row-delivery-time").hide()
6599         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
6600         $("#propDeliveryTime").attr("required", false)
6601         // $("#deliveryDate").find("button:first-child").addClass("stop")
6602         $(".form-selfpickup").show()
6603         $(".form-delivery").hide()
6604         $(".form-delivery").find("input, textarea, select").val("")
6605         $(".form-delivery").find("input, textarea, select").attr("required", false)
6606         $("#properties-shipping").val("0")
6607         $("#noteDeliveryDate").hide()
6608         $(".form-delivery .form-control").attr("required", false)
6609         $("#stepNav4").hide()
6610         
6611         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
6612         
6613         
6614         
6615         if(timeOfDay >= 16.01){
6616           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
6617         }
6618       } else {
6619         
6620         
6621         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
6622         step3.find("[data-finished=false]").show()
6623         $("#panel-4").show()
6624         step3.find("[data-finished=true]").hide()
6625         $("#cities").attr("required", true)
6626         $(".selfpickup-point").hide()
6627         $("#form-group-city").show()
6628         $("#cities").val('').trigger('change');
6629         $("#properties-kota-pengiriman").val("-")
6630         
6631         $("#row-delivery-date, #row-delivery-time").show()
6632         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6633         $("#deliveryDate").find("button").removeClass("stop")
6634         $(".form-selfpickup").hide()
6635         $(".form-delivery").show()
6636         $(".form-delivery").find("input, textarea, select").attr("required", true)
6637         $(".form-delivery [data-properties]").attr("readonly", false)
6638         $("#properties-kodepos").val("-")
6639         $("#properties-alamat-penerima").val("-")
6640         $(".form-delivery .form-control").attr("required", true)
6641         $(this).parents(".setup-content").attr("id", "step-1")
6642         
6643         $("#stepNav4").show()
6644       }
6645     })
6646 
6647     $("[name=selfpickup]").click(function(){
6648         const p = $(this).parents(".row-pickup")
6649         const pickupCity = $("input[name='selfpickup']:checked").val();
6650         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
6651         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
6652 
6653         $(".row-pickup").removeClass("selected")
6654         p.addClass("selected")
6655         
6656         $("#properties-kota-pengiriman").val(pickupCity)
6657         $("#province").val("Jakarta")
6658         $("#properties-alamat-penerima").val(pickupAddress)
6659         $("#properties-kodepos").val(pickupZip)
6660     })
6661 
6662     $("#cities").change(function(e){
6663       e.preventDefault()
6664       $(this).parent(".row").find("p.error").remove()
6665       $("#full-date").val("Full Calendar")
6666       $("#deliveryDate, #deliveryDateFull label ").show()
6667       $("#deliveryDateFull").removeClass("filled")
6668       $(".btnChangeDeliveryDate").addClass("hide")
6669       $("#full-date").prop('disabled', false);
6670       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
6671       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
6672       const step3 = $("#step-3")
6673       $("#cityNote").remove()
6674       $("#noteDeliveryDate").hide()
6675       $("#noteDeliveryDate").empty()
6676       let v = $(this).val()
6677       let v2 = $('option:selected', this).attr('data-city');
6678       let v3 = $('option:selected', this).attr('data-province');
6679       let price = $('option:selected', this).attr('data-price');
6680       $("#country").val(v)
6681       $("#properties-kota-pengiriman").val(v)
6682       $("#properties-shipping").val(price)
6683       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
6684       $("#properties-delivery-date, #properties-delivery-time").val("-")
6685       $("#propDeliveryDate, #propDeliveryTime").val("")
6686       let note = $('option:selected', this).attr('data-note');
6687       if(v === 'Kota Lainnya') {
6688         $("#noteDeliveryDate").show()
6689         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
6690         $("#zip").attr("required", false)
6691         $("#zip").hide()
6692         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
6693         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
6694         $("#row-delivery-date, #row-delivery-time").hide()
6695         $("#properties-shipping").val("")
6696         // $(this).parents(".setup-content").attr("id", "step-2")
6697         
6698       } else {
6699         $("#noteDeliveryDate").hide()
6700         $("#zip").attr("required", true)
6701         $("#zip").show()
6702         $("#row-delivery-date, #row-delivery-time").show()
6703         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
6704         $("#deliveryDate").find("button").removeClass("stop")
6705         // $(this).parents(".setup-content").attr("id", "step-1")
6706         
6707       }
6708       
6709       
6710       
6711       // if(v !== 'Jakarta') {
6712       //   $("[data-type=upsell]").hide()
6713       // } else {
6714       //   $("[data-type=upsell]").show()
6715       // }
6716       // $('.collection-addons')[0].swiper.update();
6717       
6718       
6719       getProvince(v)
6720       $("#zip").html(`<option value="">Choose Postal Code</option>`)
6721       renderZip(v, v2, v3)
6722       
6723       disabledSameDay()
6724       
6725 
6726       if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
6727         
6728         $("#cardOccasion, #navAddon, .collection-addons").hide()
6729         
6730         $("[data-addon=giftcard]").show()
6731         $("[data-addon=giftcard]").click()
6732         $("#itemAddons").show()
6733         $("#flower-step").addClass("nonjadetabek")
6734       } else {
6735         $("#cardOccasion, #navAddon, .collection-addons").show()
6736         $("[data-addon=all]").click()
6737         $("#flower-step").removeClass("nonjadetabek")
6738       }
6739       
6740         if(v !== '') {
6741           $("#personalizeBtn .btn").attr("disabled", false)
6742         } else {
6743           $("#personalizeBtn .btn").attr("disabled", true)
6744         }
6745       
6746     })
6747 
6748     $("#zip").change(function(e){
6749       let v = $(this).val()
6750       var city = $("#cities").find('option:selected');
6751       $("#properties-kodepos").val(v)
6752       if(city === 'Kota Lainnya') {
6753         $(this).attr("required", true)
6754         $("#recipient-address").val("")
6755       }
6756     })
6757 
6758     
6759       var minDate = +7
6760       
6761     
6762 
6763     $("#full-date").datepicker({
6764       minDate,
6765       dateFormat: 'Mdd_yy', //Nop22_2021,
6766       
6767       beforeShowDay: disabledays,
6768       
6769       onSelect: function (date) {
6770         $("#deliveryDate, #deliveryDateFull label ").hide()
6771         $("#deliveryDateFull").addClass("filled")
6772         $(".btnChangeDeliveryDate").removeClass("hide")
6773         $("#full-date").prop('disabled', true);
6774         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
6775         $(".date-full").addClass("selected")
6776         $(".date-single, .calendar-group").removeClass("selected")
6777         $("#propDeliveryTime").val('')
6778         $("#properties-delivery-time").val('-')
6779         $(".time-single").removeClass("selected")
6780         
6781         
6782       }
6783     });
6784 
6785     $(".btnChangeDeliveryDate").click(function(){
6786         $("#deliveryDate, #deliveryDateFull label ").show()
6787         $("#deliveryDateFull").removeClass("filled")
6788         $(".btnChangeDeliveryDate").addClass("hide")
6789         $("#full-date").prop('disabled', false);
6790     })
6791   
6792     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
6793       e.preventDefault()
6794       $(this).parents("#row-delivery-date").find("p.error").remove()
6795       const fulldate = $(this).data("fulldate")
6796       const day = $(this).data("day")
6797       const date = $(this).data("date")
6798       const month = $(this).data("month")
6799       const year = $(this).data("year")
6800       const off_pagi = $(this).data("offpagi")
6801       const off_siang = $(this).data("offsiang")
6802       const off_Malam = $(this).data("offMalam")
6803       $(".calendarbutton").removeClass("selected")
6804       $(this).addClass("selected")
6805       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
6806       $("#propDeliveryTime").val('')
6807       $("#properties-delivery-time").val('-')
6808       $(".calendarbutton2").removeClass("selected")
6809       $("#full-date").val("Full Calendar")
6810 
6811       
6812       if(off_pagi && timeOfDay > off_pagi) {
6813         $("[data-time=Morning]").attr("disabled", true)
6814       } else {
6815         $("[data-time=Morning]").attr("disabled", false)
6816       }
6817       if(off_siang && timeOfDay > off_siang) {
6818         $("[data-time=Afternoon]").attr("disabled", true)
6819       } else {
6820         $("[data-time=Afternoon]").attr("disabled", false)
6821       }
6822       
6823 
6824       
6825     })
6826     
6827     if(today === 14 && timeOfDay > 17.00) {
6828       $("#deliveryDate button:first-child").attr("disabled", true)
6829     }
6830   
6831     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
6832       e.preventDefault()
6833       const time = $(this).data("time")
6834       const date = $("#propDeliveryDate").val()
6835       if(date == '') {
6836         return alert('Silakan pilih tanggal terlebih dahulu')
6837       }
6838       $(".calendarbutton2").removeClass("selected")
6839       $(this).addClass("selected")
6840       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
6841     })
6842       
6843     $('textarea.has-limit, input.has-limit').keyup(function () {
6844       max = this.getAttribute("maxlength");
6845       let len = $(this).val().length;
6846       let limit = $(this).siblings(".limit");
6847       if (len > max) {
6848         alert('you have reached the limit');
6849       } else {
6850         limit.text(`${len}/${max}`);
6851       }
6852     });
6853     
6854     $("#button-action-step .btn").click(function(){
6855       $(this).find("span").text("Processing...");
6856     });
6857 
6858     $(".finishBtn").on('click', function() {
6859       $(this).addClass("is-adding");
6860       // $(this).click();
6861     });
6862 
6863     $('.setup-panel .nav-item a.btn-success').trigger('click');
6864 
6865     $("#button-action .btn").click(function(){
6866       $("#flower-step").addClass("block");
6867       $("#button-action").hide();
6868     });
6869         
6870     $(".close-how-order").click(function(){
6871       $("#flower-step").removeClass("block");
6872       $("#button-action").show();
6873     });
6874 
6875     $("#input-foto, #input-video").change(function(e){
6876       readURL(this);
6877     });
6878 
6879     $("#logoPapan").change(function(){
6880       readURLPapan(this);
6881     });
6882 
6883     $("#address-upload").change(async function(){
6884       const upload_address = await readURLAddress(this)
6885       if(upload_address) {
6886         const url = upload_address.url
6887         $(".props-address-upload").val(url)
6888         $(".form-address").addClass("address-uploaded")
6889         $(".form-address-upload").addClass("uploaded")
6890 
6891         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
6892       }
6893     })
6894 
6895     $(".address-manualy").click(function(){
6896       $(".form-address-upload").removeClass("uploaded");
6897       $(".photo-address").hide();
6898       $(".form-address").removeClass("address-uploaded")
6899       $("#formAddressPurchase").find(".form-control").attr("required", true)
6900     });
6901 
6902     $(".case-video-preview").delegate(".replace-video", "click", function(){
6903       $("#input-video").trigger("click")
6904     })
6905 
6906     $('.date-single').click(function(e) {
6907       e.preventDefault();
6908       $('.date-single').removeClass('selected');
6909       $('#full-date').removeClass('selected');
6910       $(this).addClass('selected');
6911       $('#full-date').html('Full' + '<br/>' + 'Calendar');
6912     });
6913     $('#full-date').click(function(e){
6914       e.preventDefault();
6915       $('.date-single').removeClass('selected');
6916       $(this).addClass('selected');
6917     });
6918     
6919     // $("tr").each(function(){
6920     //   if($(this).text().match('SKU')) {
6921     //     $(".sku-product").html($(this).parents("table").html())
6922     //   }
6923     // })
6924     
6925     $("#product-image").scroll(function(){
6926       $(".desc-add").each(function(){
6927         const img = $(this).find("img")
6928         const src = img.data("src")
6929         img.attr("src", src)
6930       })
6931     })
6932 
6933     $(".product-fixed").hide()
6934     
6935     let target = $("#personalizeBtn")
6936     
6937 
6938     $(".product-meta").scroll(function() {
6939         if ($(window).scrollTop() >= target.offset().top ) {
6940             $(".product-fixed").addClass("show")
6941         } else {
6942           $(".product-fixed").removeClass("show")
6943         }
6944     });
6945 
6946     $(window).scroll(function() {
6947         if ($(window).scrollTop() >= target.offset().top ) {
6948             $(".product-fixed").addClass("show")
6949         } else {
6950           $(".product-fixed").removeClass("show")
6951         }
6952     });
6953   });
6954 </script>
6954
6955 
6956   
6956<script>
6957     //
6958   </script>
6958
6959 
6960 
6960<script>
6961   $(document).ready(function(){
6962     $('table tr td').each(function(){
6963       var texto = $(this).text();
6964       var nextto = $(this).next("td");
6965       var sku = $("#data-sku").val()
6966       if(texto == 'SKU'){
6967         nextto.text(sku)
6968       }
6969     });
6970     
6971     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
6972     $(".stamped-summary-actions-newreview").text("Tulis Review");
6973     $("#tab-questions").text("Pertanyaan");
6974     
6975     $(".freeship .icon").click(function(){
6976       $(".fs-content").slideToggle();
6977       $(this).parents(".freeship").toggleClass("expand");
6978     });
6979     
6980     var $easyzoom = $('.easyzoom').easyZoom();
6981     // Setup thumbnails example
6982     var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
6983     $('.thumbnails').on('click', 'a', function(e) {
6984       var $this = $(this);
6985       e.preventDefault();
6986       // Use EasyZoom's `swap` method
6987       api1.swap($this.data('standard'), $this.attr('href'));
6988     });
6989 
6990     $('#playerID').click(function(){
6991       var videoURL = $('#VdoID').attr('src'),
6992           dataplay = $('#VdoID').attr('data-play');
6993 
6994       //for check autoplay
6995       //if not set autoplay=1
6996       if(dataplay == 0 ){
6997         $('#VdoID').attr('src',videoURL+'?autoplay=1');
6998         $('#VdoID').attr('data-play',1);
6999       }
7000       else{
7001         var videoURL = $('#VdoID').attr('src');
7002         videoURL = videoURL.replace("?autoplay=1", "");
7003         $('#VdoID').prop('src','');
7004         $('#VdoID').prop('src',videoURL);
7005 
7006         $('#VdoID').attr('data-play',0);
7007       }
7008 
7009     });
7010     
7011     $(".product-photo-thumb-video").click(function(e){
7012       e.preventDefault();
7013 
7014       var newEmbed = $(this).attr('href');
7015       $("#featured-image-product").addClass("img-video");
7016       $("#ProductPhotoImg").hide();
7017       $("#featured-image-product .video").show();
7018       $("#featured-image-product iframe").attr('src', newEmbed);
7019       $("#VdoID")[0].src += "&autoplay=1";
7020     });
7021     $(".product-single__thumbnail").click(function(evt){
7022       evt.preventDefault();
7023       $("#featured-image-product").removeClass("img-video");
7024       $("#ProductPhotoImg").show();
7025       $("#featured-image-product .video").hide();
7026       $("#featured-image-product iframe").attr('src', '');
7027     });
7028     
7029     if($('#product-meta .short-desc > div').length >= 1){
7030       //console.log('div detected')
7031       var replacer = $('#product-meta .short-desc > div').contents();
7032       $('#product-meta .short-desc > div').replaceWith(replacer);
7033 
7034       var cAssured =  $('.c-assured').detach();
7035       cAssured.insertAfter('.meta-sds .stock-info');
7036     }
7037 
7038     
7039     
7040     $(".heading-toggle").click(function(){
7041       $(this).parent().toggleClass("open")
7042       
7043     });
7044   });
7045 </script>
7045
7046 
7047 
7048   
7048<script type="application/json" id="ProductJson-Product">
7049         
7050         {"id":8144957800663,"title":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eJURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥."}
7051   </script>
7051
7052   
7053     
7053<script type="application/json" id="VariantJson-Product">
7054       [
7055         
7056           {
7057              "incoming": false,
7058              "next_incoming_date": null
7059           }
7060         
7061       ]
7062     </script>
7062
7063   
7064 
7065 
7066 
7067 </div>
7068 
7069 
7070 
7070<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7070
7071 <style>
7072     .stamped-review-header-title,
7073     .stamped-review-header .author,
7074     .stamped-review-content-body,
7075     .stamped-sort-select,
7076     .stamped-review-header .verified-badge[data-type=buyer]:after,
7077     .stamped-review-header-byline,
7078     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7079     .stamped-review {margin-bottom: 0;}
7080     .stamped-review-body {padding-left: 65px;}
7081     .stamped-review:first-child {padding-top: 25px;}
7082     .stamped-review-content {clear: none;}
7083     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7084     .stamped-review-reply-body {padding-left: 65px;}
7085     .stamped-review-header .author {text-transform: capitalize;}
7086     .stamped-questions .stamped-review-content {padding-left: 65px;}
7087 
7088     .stamped-pagination {margin: 20px 0 0;}
7089     .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;}
7090     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7091     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7092     .stamped-pagination li:hover a {background: #ddd;}
7093     .stamped-pagination .next {border-right: 1px solid #ccc;}
7094     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7095     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7096 
7097     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7098     #stamped-pagination-question span {font-size: 14px;}
7099     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7100     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7101     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7102     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7103     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7104 
7105     @media (max-width: 480px){
7106       .stamped-review-reply {margin-left: 0!important;}
7107       select.stamped-sort-select {font-size: 13px!important;}
7108     }
7109 
7110   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7111       display: block !important;
7112   }
7113 </style>
7114 
7114<script>
7115     var selectCallback = function(variant, selector) {
7116       timber.productPage({
7117         money_format: "Rp {{amount_no_decimals}}",
7118         variant: variant,
7119         selector: selector
7120       });
7121     };
7122 
7123     jQuery(function($) {
7124       new Shopify.OptionSelectors('productSelect', {
7125         product:
7126 
7127 
7128 
7129 
7130 
7131 {"id":8144957800663,"title":"JURAGAN404 | Portal Game Terpercaya & Terlengkap","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eJURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥."},
7132         onVariantSelected: selectCallback,
7133         enableHistoryState: true
7134       });
7135 
7136       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7137       
7138 
7139       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7140       
7141         $('.selector-wrapper').hide();
7142       
7143     });
7144 </script>
7144
7145 
7146 
7147 
7148   
7148<script type="application/ld+json">
7149     {
7150     "@context": "http://schema.org",
7151     "@type": "Product",
7152 "offers": {
7153 "@type": "Offer",
7154 "availability":"https://schema.org/InStock",
7155 "price": 835000,
7156 "priceValidUntil": "05-10-2025",
7157 "priceCurrency": "IDR",
7158 "url": "https://travelsportcanarias.com/"
7159 },
7160 "brand": {
7161 "@type": "Brand",
7162 "name": "Outerbloom Florist"
7163 },
7164 "sku": "8144957800663",
7165 "gtin13": "Jawa",
7166 "name": "JURAGAN404 | Portal Game Terpercaya & Terlengkap",
7167 "description": "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.",
7168 "category": "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.",
7169 "url": "https://travelsportcanarias.com/",
7170 "image": {
7171 "@type": "ImageObject",
7172 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7173 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7174 "name": "JURAGAN404 | Portal Game Terpercaya & Terlengkap",
7175 "width": 1024,
7176 "height": 1024
7177 }
7178     }
7179   </script>
7179
7180 
7181 
7182 
7183 
7184         
7185 
7185<script id="bss-ltap-hide-price" type="text/javascript" >
7186 !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)}))}
7186)),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)}
7186)),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()}
7186if("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)}
7186if(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");
7186c&&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
7186-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");
7186i&&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
7186--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
7186opify.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");
7186e.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=
7186o.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");
7186if(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();
7186let 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()}]);
7187 </script>
7187
7188 
7189       </main>
7190       
7191       <div id="shopify-section-newsletter" class="shopify-section"><br>
7192   <style>
7193     #shopify-section-newsletter {
7194       background: url('https://myassets.space/crow/JURAGAN404RESMI.webp');
7195       background-attachment: fixed;
7196       margin-bottom: 0;
7197     }
7198     input:-webkit-autofill,
7199     input:-webkit-autofill:hover,
7200     input:-webkit-autofill:active,
7201     input:-webkit-autofill:focus {
7202       -webkit-box-shadow:0 0 0 50px white inset;
7203       -webkit-text-fill-color: #ffffff;
7204     }
7205     .section-newsletter {
7206       max-width: 800px;
7207       margin: auto;
7208       padding: 50px 0;
7209     }
7210     .section-newsletter h2 {
7211       font-weight: 700;
7212       font-size: 24px;
7213     }
7214     .section-newsletter input[type="email"] {
7215       width: 100%;
7216       text-align: center;
7217       border: none;
7218       border-bottom: 1px solid #ffffff;
7219       font-size: 16px;
7220       color: #757575;
7221       background-color: #eeeeee;
7222     }
7223     .section-newsletter .row label {
7224       font-size: 14px;
7225       cursor: pointer;
7226     }
7227     .section-newsletter .radio-inline input {
7228       width: auto;
7229     }
7230     .section-newsletter .btn {
7231       width: 130px;
7232       border: 1px solid #ffffff;
7233       box-shadow: none;
7234       font-size: 16px;
7235       font-weight: 500;
7236       text-transform: uppercase;
7237     }
7238     .section-newsletter form {
7239       margin: 30px 0 60px;
7240     }
7241     .section-newsletter input[type="radio"] {
7242       position: absolute;
7243       width: 1px;
7244       height: 1px;
7245     }
7246     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7247       position: relative;
7248       padding-left: 28px;
7249       cursor: pointer;
7250       line-height: 20px;
7251       display: inline-block;
7252       color: #666;
7253     }
7254     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7255       content: '';
7256       position: absolute;
7257       left: 0;
7258       top: 0;
7259       width: 18px;
7260       height: 18px;
7261       border: 1px solid #ddd;
7262       border-radius: 100%;
7263       background: #fff;
7264     }
7265     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7266       content: '';
7267       width: 12px;
7268       height: 12px;
7269       background: #ffffff;
7270       position: absolute;
7271       top: 3px;
7272       left: 3px;
7273       border-radius: 100%;
7274       -webkit-transition: all 0.2s ease;
7275       transition: all 0.2s ease;
7276     }
7277     .section-newsletter [type="radio"]:not(:checked) + label:after {
7278       opacity: 0;
7279       -webkit-transform: scale(0);
7280       transform: scale(0);
7281     }
7282     .opt-newsletter {display:none;}
7283     .footer-newsletter p, .footer-newsletter p a {
7284       color: #757575;
7285     }
7286     @media (max-width:991px){
7287       .section-newsletter h2 {
7288         font-size: 32px;
7289       }
7290       .section-newsletter input {
7291         width: 300px;
7292         font-size: 14px;
7293       }
7294       .section-newsletter {
7295         padding: 50px 20px;
7296       }
7297     }
7298     @media (max-width: 480px){
7299       .section-newsletter input[type="email"] {font-size: 16px;}
7300     }
7301   </style>
7302  <style>
7303 .icon-img-footer {
7304     width: 80px; 
7305     padding: 0px 5px;
7306 }
7307 @media (min-width: 768px) {
7308     .icon-img-footer {
7309         width: 120px; 
7310     }
7311 }
7312 @media (min-width: 992px) {
7313     .icon-img-footer {
7314         width: 120px; 
7315     }
7316 }
7317 
7318   .button-login-daftar {
7319                         display: grid;
7320                         grid-template-columns: repeat(2, 1fr);
7321                         font-weight: 700;
7322                     }
7323                     .button-login-daftar a {
7324                         text-align: center;
7325                     }
7326                     .login,
7327                     .register {
7328                         color: #fffb00;
7329                         padding: 15px 10px;
7330                         font-size: 23px;
7331                     }
7332                     .login,
7333                     .login-button {
7334                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7335                         border: 2px solid #fffb00;
7336                     }
7337                     .register,
7338                     .register-button {
7339                         background: linear-gradient(to bottom,#000000 0,#000000 100%);
7340                         border: 2px solid #fffb00;
7341                     }
7342 
7343 
7344 
7345 </style>
7346 
7347 <!-- wp:html -->
7348  
7348<script>
7349         document.addEventListener('DOMContentLoaded',
7350             function(){const faqItems=document.querySelectorAll('.faq-item');
7351             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
7352             question.addEventListener('click',
7353             ()=>{const isActive=item.classList.contains('active');
7354             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
7355             if(!isActive){item.classList.add('active')}})})});
7356         </script>
7356
7357 
7358 
7359             <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
7360             </div>
7361 <div class="faq-section">
7362         <h2>FAQ</h2>
7363             <div class="faq-container">
7364                 <div class="faq-item">
7365                     <button class="faq-question">1. Apa itu JURAGAN404?<span></span></button>
7366                     <div class="faq-answer"><p>JURAGAN404 adalah tempat bermain game online yang asyik, nyaman, dan cozy untuk menemani waktu luang kamu.</p></div>
7367                 </div>
7368                 <div class="faq-item">
7369                     <button class="faq-question">2. Kenapa harus main di JURAGAN404?<span></span></button>
7370                     <div class="faq-answer"><p>Karena di sini kamu bisa menikmati pengalaman bermain yang seru, santai, dan bikin betah. 🎮🔥.</p></div>
7371                 </div>
7372                 <div class="faq-item">
7373                     <button class="faq-question">3. JURAGAN404 cocok untuk siapa?<span></span></button>
7374                     <div class="faq-answer"><p>Buat siapa saja yang ingin mencari hiburan, mengisi waktu luang, atau sekadar melepas rasa bosan.</p></div>
7375                 </div>
7376                  <div class="faq-item">
7377                     <button class="faq-question">4. Main di JURAGAN404 aman nggak?<span></span></button>
7378                     <div class="faq-answer"><p>Tentu! JURAGAN404 mengutamakan kenyamanan dan pengalaman bermain yang menyenangkan bagi para pemain.</p></div>
7379                 </div>
7380                  <div class="faq-item">
7381                     <button class="faq-question">5. Masih ragu buat coba?<span></span></button>
7382                     <div class="faq-answer"><p>Daripada penasaran, langsung rasakan sendiri keseruannya di JURAGAN404.</p></div>
7383                 </div>
7384 
7385             </div>
7386 
7387         </div>
7388 
7389     </div>
7390 
7391 
7392 <div class="overlay overlay-cart"></div>
7393 <div id="CartDrawer" class="drawer drawer--right">
7394   <div class="drawer__header pl-2 pr-2">
7395     <div class="drawer__icon-cart display-table-cell">
7396       <a href="/cart" class="">
7397         <svg class="icon icon-cart" version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7397005-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>
7398       </a>
7399     </div>
7400     <div class="drawer__title h4">Keranjang Belanja</div>
7401     <div class="drawer__close js-drawer-close">
7402       <button type="button">
7403         <svg class="icon icon-close" version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="32" height="32" viewBox="0 0 32 32">
7404 <title>icon-close</title>
7405 <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>
7406 </svg>
7407       </button>
7408     </div>
7409   </div>
7410   <div id="CartContainer" class="p-2"></div>
7411 </div>
7412 
7413 
7413<script>
7414       
7415     </script>
7415
7416       
7416<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7416
7417       <!-- /snippets/ajax-cart-template.liquid -->
7418 
7419   
7419<script id="CartTemplate" type="text/template">
7420   
7421     <form action="/cart" method="post" novalidate class="cart ajaxcart">
7422       <div class="ajaxcart__inner" {{ cart.item_count }}>
7423         {{#items}}
7424         <div class="ajaxcart__product">
7425           <div class="ajaxcart__row" data-line="{{line}}">
7426             <div class="grid">
7427               <div class="grid__item one-quarter">
7428                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
7429               </div>
7430               <div class="grid__item three-quarters">
7431                 <p class="d-block mb-3">
7432                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
7433                   {{#if variation}}
7434                     <span class="ajaxcart__product-meta p">{{variation}}</span>
7435                   {{/if}}
7436                   {{#properties}}
7437                     {{#each this}}
7438                       {{#if this}}
7439                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
7440                       {{/if}}
7441                     {{/each}}
7442                   {{/properties}}
7443                   
7444                 </p>
7445                 <div class="grid--full display-table">
7446                   <div class="grid__item display-table-cell one-half">
7447                     <div class="ajaxcart__qty">
7448                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
7449                         <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7450                         <span class="visually-hidden">Kurangi jumlah barang</span>
7451                       </button>
7452                       <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]*">
7453                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
7454                         <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7455                         <span class="visually-hidden">Tambahkan jumlah barang</span>
7456                       </button>
7457                     </div>
7458                   </div>
7459                   <div class="grid__item display-table-cell one-half text-right">
7460                     {{#if discountsApplied}}
7461                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
7462                       <br><span class="h4">{{{linePrice}}}</span>
7463                     {{else}}
7464                       <span class="h4">{{{linePrice}}}</span>
7465                     {{/if}}
7466                     </div>
7467                   </div>
7468                   {{#if discountsApplied}}
7469                     <div class="grid--full display-table">
7470                       <div class="grid__item text-right">
7471                         {{#each discounts}}
7472                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
7473                         {{/each}}
7474                       </div>
7475                     </div>
7476                   {{/if}}
7477                   </div>
7478                 </div>
7479               </div>
7480             </div>
7481           </div>
7482         </div>
7483         {{/items}}
7484       </div>
7485       <div class="ajaxcart__footer">
7486         <div class="grid--full cart-subtotal py-2">
7487             <p>Subtotal</p>
7488             <h3 class="primary">{{{totalPrice}}}</h3>
7489           {{#if totalCartDiscount}}
7490             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
7491           {{/if}}
7492         </div>
7493         
7494         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
7495         
7496         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.20.000 <a href="/pages/pengiriman">detail</a></p>
7497       </div>
7498     </form>
7499   
7500   </script>
7500
7501   
7501<script id="AjaxQty" type="text/template">
7502   
7503     <div class="ajaxcart__qty">
7504       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7505         <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="24" viewBox="0 0 32 32">
7506             <title>icon-minus</title>
7507             <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>
7508         </svg>
7509         <span class="visually-hidden">Kurangi jumlah barang</span>
7510           </button>
7511               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
7512           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7513         <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7514         <span class="visually-hidden">Tambahkan jumlah barang</span>
7515       </button>
7516     </div>
7517   
7518   </script>
7518
7519   
7519<script id="JsQty" type="text/template">
7520   
7521     <div class="js-qty mx-auto mt-2">
7522       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
7523         <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
7524         <span class="visually-hidden">Kurangi jumlah barang</span>
7525       </button>
7526       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
7527       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
7528         <svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
7529         <span class="visually-hidden">Tambahkan jumlah barang</span>
7530       </button>
7531     </div>
7532   
7533   </script>
7533
7534 
7535 <style>
7536   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
7537   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
7538   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
7539   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7540   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7541   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
7542   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
7543   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
7544   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
7545 </style>
7546       
7546<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7546
7547       
7547<script>
7548         jQuery(function($) {
7549           ajaxCart.init({
7550             formSelector: '#AddToCartForm',
7551             cartContainer: '#CartContainer',
7552             addToCartSelector: '#AddToCartXX',
7553             cartCountSelector: '#CartCount, #CartCount2',
7554             cartCostSelector: '#CartCost',
7555             moneyFormat: "Rp {{amount_no_decimals}}"
7556           });
7557           });
7558 
7559           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
7560             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
7561             timber.RightDrawer.open();
7562           });
7563       </script>
7563
7564     
7565 
7566 
7567 
7568 <style>
7569   /** Search AutoComplete **/
7570   .resultsearch .ui-menu-item[data-cat="Collection"],
7571   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
7572   .resultsearch .ui-widget.ui-widget-content {
7573     width: 100%;
7574     top: 48px;
7575     border: none;
7576     box-shadow: 0 4px 8px rgba(255, 255, 255, 0.3);
7577   }
7578   .resultsearch .ui-menu-item {text-align: left;}
7579   .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;}
7580   .ui-state-active {
7581     border: none!important;
7582     background-color: #fafafa!important;
7583     color: #000!important;
7584   }
7585   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
7586   .ui-menu .ui-menu-item {line-height: normal;}
7587 </style>
7588 
7588<script>
7589 $(window).load(function(){
7590 
7591   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;}
7592 
7593   $.widget("custom.catcomplete", $.ui.autocomplete, {
7594     _renderMenu: function (ul, items) {
7595       // have search reults split up in categories
7596       var that = this,
7597           currentCategory = "";
7598       $.each(items, function (index, item) {
7599         if (item.category != currentCategory) {
7600           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
7601           currentCategory = item.category;
7602         }
7603         that._renderItemData(ul, item);
7604       });
7605     }
7606   });
7607 
7608   // higlight searched for term
7609   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
7610     var term = this.element.val(),
7611         html = item.label.replace( term, "<b>$&</b>" );
7612     return $( "<li>" )
7613     .append(format(item))
7614     .appendTo( ul );
7615   };
7616 
7617 
7618   var data = [
7619       { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius ♒️ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries ♈️ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft S
7619weetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
7619,{ 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: " " }
7619,{ 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: " " }
7619,{ 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
7619dal", 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-
7619hampers", 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
7619o-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: " " }
7619,{ 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: " " }
7619,{ 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: " " }
7619,{ 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: " " }
7619,{ 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: " " }
7619,{ 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: " " }
7619,{ 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: " " }
7619,{ 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: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "JURAGAN404 hadir sebagai tempat bermain game online yang asyik, cozy, dan nyaman untuk menemani waktu luang dan mengusir rasa bosan. 🎮🔥. 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", cat
7619egory: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " },{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " }
7619,{ 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
7619dal", 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: " " },
7620       { label: "grand salutation jabodetabek", category: "Produk", url: "/products/grand-salutation", images: "//outerbloom.com/cdn/shop/files/JKTCON1005_Grand-Salutation-Jabodetabek-WM_thumb.jpg?v=1703241523", price: "Rp 435.000" },{ label: "consolantibus jabodetabek", category: "Produk", url: "/products/consolantibus", images: "//outerbloom.com/cdn/shop/files/JKTDUK1011_Consolantibus-Jabodetabek-WM_thumb.jpg?v=1703239823", price: "Rp 435.000" },{ label: "classic midnight hand bouquet fiery red", category: "Produk", url: "/products/the-classic-midnight-hand-bouquet-fiery-red", images: "//outerbloom.com/cdn/shop/files/OBVBUN1422_Classic-Midnight-Hand-Bouquet---Fiery-Red-large_thumb.jpg?v=1757302521", price: "Rp 385.000" },{ label: "enchanted dome passionate red", category: "Produk", url: "/products/enchanted-dome-passionate-red", images: "//outerbloom.com/cdn/shop/files/Enchanted-dome-red-new-box_3_2_26c081bf-f2a5-42b4-9ce4-3c0304c498e5_thumb.jpg?v=1712639476", price: "Rp 1.435.000" },{ label: "endearing ruby", category: "Produk", url: "/products/endearing-ruby", images: "//outerbloom.com/cdn/shop/products/OUTSTF1003_Endearing-Ruby_thumb.jpg?v=1631296611", price: "Rp 585.000" },{ label: "gentle soul jabodetabek", category: "Produk", url: "/products/gentle-soul-jabodetabek", images: "//outerbloom.com/cdn/shop/files/JKTDUK1030_Gentle-Soul-Jabodetabek-WM_thumb.jpg?v=1703239894", price: "Rp 435.000" },{ label: "belleza jabodetabek", category: "Produk", url: "/products/belleza", images: "//outerbloom.com/cdn/shop/files/Belleza-Jabodetabek-LED_aecb756a-0737-45cc-8bfb-008515ca0a37_thumb.gif?v=1759229680", price: "Rp 435.000" }
7620,{ label: "majestic pink roses with baby breath bouquet", category: "Produk", url: "/products/majestic-pink-roses-with-baby-breath-bouquet", images: "//outerbloom.com/cdn/shop/products/ef4a3be9-c938-4c70-98ac-4873e7da82bf_90820a66-923a-463d-a464-81bcbe6e6644_thumb.jpg?v=1581413440", price: "Rp 485.000" },{ label: "sentiments jabodetabek", category: "Produk", url: "/products/sentiments", images: "//outerbloom.com/cdn/shop/files/Sentiments-Jabodetabek-WM_thumb.jpg?v=1759224099", price: "Rp 485.000" },{ label: "rose poetry bouquet", category: "Produk", url: "/products/rose-poetry-bouquet", images: "//outerbloom.com/cdn/shop/products/Rose-Poetry-Bouquet-20-tangkai_thumb.jpg?v=1675151039", price: "Rp 385.000" },{ label: "genuine feeling", category: "Produk", url: "/products/genuine-feeling", images: "//outerbloom.com/cdn/shop/products/OUTSTF1004Genuine-Feeling_981ade89-af27-433e-81aa-8d76175a0e4d_thumb.jpg?v=1612352389", price: "Rp 585.000" },{ label: "eternal fidelity jabodetabek", category: "Produk", url: "/products/eternal-fidelity-jabodetabek", images: "//outerbloom.com/cdn/shop/products/0b89df45-dcc1-4876-820e-61b2243a1945_964e211d-2972-46c9-8593-976210929089_thumb.jpg?v=1590491458", price: "Rp 435.000" },{ label: "rosabelle hand bouquet", category: "Produk", url: "/products/rosabelle-hand-bouquet", images: "//outerbloom.com/cdn/shop/files/OBVBUN1429_Rosabelle-Hand-Bouquet-Medium_thumb.jpg?v=1756971848", price: "Rp 385.000" },{ label: "dreaming in pink luxury in vase", category: "Produk", url: "/products/dreaming-in-pink-luxury-in-vase", images: "//outerbloom.com/cdn/shop/products/OBVBUN1051_Dreaming-In-Pink-Luxury-In-Vase_3_thumb.jpg?v=1614594504", price: "Rp 735.000" },{ label: "excito jabodetabek", category: "Produk", url: "/products/excito", images: "//outerbloom.com/cdn/shop/files/JKTCON1010_Excito-Jabodetabek-2023_thumb.gif?v=1717494677", price: "Rp 485.000" },{ label: "golden toast jabodetabek", category: "Produk", url: "/products/golden-toast", images: "//outerbloom.com/cdn/shop/products/LED-GoldenToast_thumb.gif?v=1579249585", price: "Rp 485.000" },{ label: "spirit of eminance jabodetabek", category: "Produk", url: "/products/spirit-of-eminance-jabodetabek", images: "//outerbloom.com/cdn/shop/files/JKTCON1026_Spirit-of-Eminance-Jabodetabek-newest-WM_thumb.jpg?v=1693297526", price: "Rp 485.000" },{ label: "white elysian bloom box", category: "Produk", url: "/products/white-elysian-bloom-box", images: "//outerbloom.com/cdn/shop/files/OBVBUN1704_White-Elysian-Bloom-Box_thumb.jpg?v=1757328247", price: "Rp 685.000" },{ label: "charming forevermore jabodetabek", category: "Produk", url: "/products/charming-forevermore-jabodetabek", images: "//outerbloom.com/cdn/shop/files/JKTWED1036_Charming-Forevermore-Jabodetabek-WM_thumb.jpg?v=1703239534", price: "Rp 485.000" },{ label: "moment of glory jabodetabek", category: "Produk", url: "/products/moment-of-glory-jabodetabek", images: "//outerbloom.com/cdn/shop/products/JKTCON1051_Moment-of-Glory-Jabodetabek_2_thumb.jpg?v=1596614663", price: "Rp 385.000" },{ label: "sweet romance jabodetabek", category: "Produk", url: "/products/sweet-romance", images: "//outerbloom.com/cdn/shop/products/JKTWED1005_Sweet-Romance-Jabodetabek_thumb.gif?v=1677134791", price: "Rp 635.000" },{ label: "with love bouquet", category: "Produk", url: "/products/with-love-bouquet", images: "//outerbloom.com/cdn/shop/products/c5d6fed6-8ada-4c38-ae0f-36d395aacb19_613f78f0-d52c-443b-9e13-63a151cd8ec5_thumb.jpg?v=1590748429", price: "Rp 535.000" },{ label: "sunflower yellow and with white daisies in vase", category: "Produk", url: "/products/sunflower-yellow-roses-with-white-and-yellow-daisies-in-a-glass-vase", images: "//outerbloom.com/cdn/shop/files/OBVBUN1132_Sunflower-Yellow-And-With-White-Daisies-in-Vase_thumb.jpg?v=1757930628", price: "Rp 435.000" },{ label: "everlasting peace jabodetabek", category: "Produk", url: "/products/everlasting-peace-jabodetabek", images: "//outerbloom.com/cdn/shop/products/JKTDUK1034_Everlasting-Peace-Jabodetabek_2_thumb.jpg?v=1596614613", price: "Rp 385.000" },{ label: "astoria passionate red", category: "Produk", url: "/products/astoria-passionate-red", images: "//outerbloom.com/cdn/shop/products/Astoria-passionate-red_b59b26f6-c39d-46d3-adcb-262c675bb16f_thumb.jpg?v=1633502742", price: "Rp 685.000" },{ label: "classic purple orchid majesty in vase", category: "Produk", url: "/products/classic-purple-orchid-majesty-in-vase", images: "//outerbloom.com/cdn/shop/products/Classic-Purple-Orchid-Majesty-in-Vase---White---4-Tangkai_40a5e337-283f-40f5-911c-5df9b506b9da_thumb.jpg?v=1639981404", price: "Rp 435.000" },{ label: "passion rouge bloom box", category: "Produk", url: "/products/passion-rouge-bloom-box", images: "//outerbloom.com/cdn/shop/files/OBVBUN1725_Passion-Rouge-Bloom-Box_thumb.jpg?v=1756972410", price: "Rp 385.000" },{ label: "classic white orchid majesty in vase", category: "Produk", url: "/products/classic-white-orchid-majesty-in-vase", images: "//outerbloom.com/cdn/shop/products/Classic-white-Orchid-Majesty-in-Vase---white---4-Tangkai_thumb.jpg?v=1644205542", price: "Rp 435.000" }
7620,{ label: "majestic blue romance bouquet", category: "Produk", url: "/products/majestic-blue-romance-bouquet", images: "//outerbloom.com/cdn/shop/files/OBVBUN1357_Majestic-Blue-Romance-Bouquet_99b8ba96-0e67-4eef-a00e-b2daedcddb6a_thumb.jpg?v=1757390540", price: "Rp 435.000" },{ label: "sincerely", category: "Produk", url: "/products/sincerely", images: "//outerbloom.com/cdn/shop/files/Sincerely-WM_thumb.jpg?v=1688354677", price: "Rp 585.000" },{ label: "happy days jabodetabek", category: "Produk", url: "/products/happy-days-jabodetabek", images: "//outerbloom.com/cdn/shop/files/Happy-Days-Jabodetabek_WM_thumb.jpg?v=1759224026", price: "Rp 485.000" },{ label: "solemn comfort jabodetabek", category: "Produk", url: "/products/solemn-comfort-jabodetabek", images: "//outerbloom.com/cdn/shop/products/7fe123d8-6bb2-4c0d-bd4c-f8c3032823f2_6b9c33b6-4a23-41cb-8709-fc9223fe096a_thumb.png?v=1590662086", price: "Rp 635.000" },{ label: "big dreams jabodetabek", category: "Produk", url: "/products/big-dreams", images: "//outerbloom.com/cdn/shop/files/JKTCON1002_Big-Dreams-Jabodetabek_thumb.gif?v=1717494603", price: "Rp 485.000" },{ label: "signature ramadan deluxe hampers", category: "Produk", url: "/products/outerbloom-signature-ramadhan-deluxe-hampers", images: "//outerbloom.com/cdn/shop/files/Signature-Deluxe-Hampers_thumb.jpg?v=1739242254", price: "Rp 985.000" },{ label: "amorous amos jabodetabek", category: "Produk", url: "/products/amorous-amos-jabodetabek", images: "//outerbloom.com/cdn/shop/files/Amorous-Amos-Jabodetabek-WM_thumb.jpg?v=1759224071", price: "Rp 485.000" },{ label: "pink darling bouquet", category: "Produk", url: "/products/pink-darling-bouquet", images: "//outerbloom.com/cdn/shop/products/Pink-Darling-Bouquet_thumb.jpg?v=1669969725", price: "Rp 485.000" },{ label: "black pink bouquet", category: "Produk", url: "/products/black-pink-bouquet", images: "//outerbloom.com/cdn/shop/files/Black-Pink-Bouquet_thumb.jpg?v=1756434063", price: "Rp 485.000" },{ label: "profound happiness jabodetabek", category: "Produk", url: "/products/profound-happiness-jabodetabek", images: "//outerbloom.com/cdn/shop/files/profound-happiness_thumb.gif?v=1689940309", price: "Rp 635.000" },{ label: "healing trove", category: "Produk", url: "/products/healing-trove", images: "//outerbloom.com/cdn/shop/products/2ef5379f-27a6-41ba-85c7-c65cf3ec3f08_thumb.jpg?v=1571471845", price: "Rp 485.000" },{ label: "sincerity solace", category: "Produk", url: "/products/sincerity-solace", images: "//outerbloom.com/cdn/shop/products/OUTSTF1038_sincerity-solace-WM_thumb.jpg?v=1612352477", price: "Rp 485.000" },{ label: "bellarosa bloom box", category: "Produk", url: "/products/bellarosa-bloom-box", images: "//outerbloom.com/cdn/shop/files/OBVBUN1783_Bellarosa-Bloom-Box_c0000424-411c-48ed-abf4-0de7d925ea53_thumb.jpg?v=1757316757", price: "Rp 785.000" }
7621   ];
7622 
7623              
7624         $( ".header-input-search" ).catcomplete({
7625          appendTo: ".searchResult",source: function(request, response) {
7626             var results = $.ui.autocomplete.filter(data, request.term);
7627             var predicate = function () {
7628                 var counter = { Collection: 0, Produk: 0 };
7629             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
7630             return fn
7631             }();
7632             response(results.filter(predicate));
7633           },
7634           minLength:1,
7635            //results are clickable
7636           select: function( event, ui ) {window.location = ui.item.url;}
7637 });
7638 $( ".header-input-search2" ).catcomplete({
7639         appendTo: ".searchResult2",
7640                    source: function(request, response) {
7641                     var results = $.ui.autocomplete.filter(data, request.term);
7642                     var predicate = function () {
7643                         var counter = { Collection: 0, Produk: 0 };
7644               var fn = function(item) {
7645               counter[item.category] += 1;
7646   return (counter[item.category] <= 5);
7647 }
7648                return fn
7649                }();
7650 response(results.filter(predicate));
7651 },
7652   minLength:1,
7653         //results are clickable
7654         select: function( event, ui ) {
7655           window.location = ui.item.url;
7656         }
7657 });
7658 });
7659 </script>
7659
7660 
7661     
7661<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7661
7662 
7662<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7662
7663 
7664 
7664<script>
7665   ( function() {
7666     var youtube = document.querySelectorAll( ".youtube" );
7667     for (var i = 0; i < youtube.length; i++) {
7668       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
7669       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
7670       var image = new Image();
7671       image.src = source;
7672       image.setAttribute("data-src", datasource);
7673       image.classList.add("swiper-lazy");
7674       image.addEventListener( "load", function() {
7675         youtube[ i ].appendChild( image );
7676       }( i ) );
7677       youtube[i].addEventListener( "click", function() {
7678         var iframe = document.createElement( "iframe" );
7679         iframe.setAttribute( "width", "480" );
7680         iframe.setAttribute( "height", "480" );
7681         iframe.setAttribute( "frameborder", "0" );
7682         iframe.setAttribute( "allowfullscreen", "" );
7683         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
7684         this.innerHTML = "";
7685         this.appendChild( iframe );
7686       } );
7687     };
7688 
7689   } )();
7690 
7691   /* Lazy Load */
7692   const mainLazyLoad = new LazyLoad({threshold:400});
7693   $(document).ready(function(){
7694 
7695     $("selectxxx").addClass("needsclick");
7696     FastClick.attach(document.body);
7697     
7698     var $customSelects = $('.select-search');
7699     $customSelects.select2({
7700       templateResult: function(result, container) {
7701         if (!result.id) {
7702           return result.text;
7703         }
7704         container.className += ' needsclick';
7705         return result.text;
7706       }
7707     });
7708     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
7709     $(document).on('select2:open', () => {
7710       document.querySelector('.select2-search__field').focus();
7711     });
7712     
7713 
7714     $(".overlay").click(function(){
7715       $(".js-drawer-close").click();
7716     });
7717     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
7718       $("html").toggleClass("nav_open");
7719     });
7720     
7721     $('.swatch-element label').on('click', function(){
7722       var srcImg = $(this).data('src');
7723       $('#thumb-image-product .product-single__thumbnail').each(function(){
7724         if ($(this).attr("href") == srcImg) {
7725           $(this).trigger('click');
7726         }
7727       });
7728     });
7729     var defaultValue = $(".swatch input:checked").val()
7730     
7731     $('#purchaseProduct .swatch [type=radio]').change(function() {
7732       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
7733       var optionValue = $(this).val();
7734       console.log(optionIndex, optionValue)
7735       var value = parseInt(optionValue.split(' ')[0])
7736       $(this)
7737       .closest('#purchaseProduct')
7738       .find('.single-option-selector')
7739       .eq(optionIndex)
7740       .val(optionValue)
7741       .trigger('change');
7742       
7743     });
7744     
7745   });
7746   $(document).ready(function(){
7747     $(".nav-search a").click(function(e){
7748       e.preventDefault();
7749       $(".icon-navsearch").toggle();
7750       $(".icon-navclose").toggle();
7751       $(".site-nav__item > .site-nav__link").toggle();
7752       $(".open-search").toggle();
7753       $(".open-search input").focus();
7754     });
7755     $(".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'>");
7756     if ($(window).width() < 768) {
7757       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7758       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7759       $(".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'>");
7760     } else {
7761       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
7762       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
7763       $(".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'>");
7764     }
7765     $(".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'>");
7766     $(".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'>");
7767   });
7768 </script>
7768
7769 
7770 
7771     
7772 
7773     
7773<script type="text/javascript">
7774       var wishlistpage = 0;
7775        
7776        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
7777     </script>
7777
7778     
7779       <!-- Remove duplicate wishlist.js reference -->
7780       <style>
7781   .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)}}
7782 </style>
7783 
7784 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
7785   <div class="modal-dialog" role="document">
7786     <div class="modal-content">        
7787       <div class="modal-body">Your Wishlist is empty!</div>
7788       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
7789     </div>
7790   </div>
7791 </div> 
7792 
7793 <div class="wishlist-model">
7794   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
7795     <div class="modal-dialog white-modal">
7796       <div class="modal-content">
7797         <div class="modal-header">
7798           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
7799             <svg class="icon icon-close" version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="32" height="32" viewBox="0 0 32 32">
7800 <title>icon-close</title>
7801 <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>
7802 </svg>
7803           </button>
7804         </div>
7805         <div class="modal-body">
7806           <div class="wishlist-left">
7807             <div class="wishlist-note">
7808               <span class="cirle"><svg version="1.1" xmlns="https://myassets.space/crow/brand-juragan404.gif" width="32" height="32" viewBox="0 0 32 32">
7809 <title>icon-check</title>
7810 <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>
7811 </svg></span>
7812               Product added to <a href="/pages/wish-list">Wishlist</a>
7813             </div>
7814             <div class="wishlist-product">
7815               <div class="product-left">
7816                 <div class="wishlist-image"></div>
7817               </div>
7818               <div class="product-right">
7819                 <div class="wishlist-name"></div>
7820                 <div class="wishlist-price"></div>
7821               </div>
7822             </div>
7823           </div>
7824           <div class="wishlist-right">
7825             <div class="wishlist-cart">
7826               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
7827                 <div class="others-bottom">
7828                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
7829                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
7830                     <span id="AddToCartText" class="">Beli Sekarang</span>
7831                   </button>
7832                 </div>
7833                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
7834                 <div class="quantity-content">
7835                   <label>QTY</label>
7836                   <input type="number" size="5" class="" name="quantity" value="1" />
7837                 </div>
7838               </form> 
7839             </div>
7840           </div>
7841         </div>
7842       </div>
7843     </div>
7844   </div>
7845 </div>
7846 
7847     
7848     <style>
7849        .stamped-badge[data-rating="0.0"]{display: none !Important;}
7850        
7851         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
7852           border-radius: 0px;
7853       }
7854           .stamped-review-body {
7855           padding-left: 0px !important;
7856       }
7857           #product-reviews .stamped-header:after {
7858             display:none !Important;
7859           }
7860       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
7861           font-family:inherit !important;
7862       }
7863     </style>
7864 
7865     
7866 
7867 <div id='stamped-rewards-init' class='stamped-rewards-init'
7868   data-key-public=''
7869 
7870 ></div>
7871 
7872     
7872<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7872
7873     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
7874     
7874<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7874
7875 
7876     
7876<script>
7877       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
7878     </script>
7878
7879     
7879<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7879<style>
7880   .jss59 {
7881     background-color: rgba(0, 0, 0, 0.6);
7882   }
7883   .MuiBackdrop-root {
7884     top: 0;
7885     left: 0;
7886     right: 0;
7887     bottom: 0;
7888     display: flex;
7889     z-index: -1;
7890     position: fixed;
7891     align-items: center;
7892     justify-content: center;
7893     background-color: rgba(0, 0, 0, 0.5);
7894     -webkit-tap-highlight-color: transparent;
7895   }
7896   .MuiDialog-scrollPaper {
7897     display: flex;
7898     align-items: center;
7899     justify-content: center;
7900   }
7901   .MuiDialog-container {
7902     height: 100%;
7903     outline: 0;
7904   }
7905   .MuiPaper-elevation24 {
7906     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);
7907   }
7908   .MuiDialog-paper {
7909     margin: 32px;
7910     position: relative;
7911     overflow-y: auto;
7912   }
7913   .MuiDialog-paperScrollPaper {
7914     display: flex;
7915     max-height: calc(100% - 64px);
7916     flex-direction: column;
7917   }
7918   .MuiDialog-paperWidthSm {
7919     max-width: 600px;
7920   }
7921   #location-lock-dialog {
7922     top: 20%;
7923     left: 0;
7924     right: 0;
7925     width: 30%;
7926     margin: 0px auto;
7927     display: block;
7928     padding: 30px;
7929     z-index: 99999;
7930     position: fixed;
7931     font-size: 14px;
7932     background: rgb(0, 0, 0);
7933     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
7934     text-align: center;
7935     font-family: Roboto, Arial, sans-serif;
7936     line-height: 1;
7937     border-radius: 8px;
7938     -webkit-font-smoothing: subpixel-antialiased;
7939   }
7940   .MuiButtonBase-root {
7941     color: inherit;
7942     border: 0;
7943     cursor: pointer;
7944     margin: 0;
7945     display: inline-flex;
7946     outline: 0;
7947     padding: 0;
7948     position: relative;
7949     align-items: center;
7950     user-select: none;
7951     border-radius: 0;
7952     vertical-align: middle;
7953     -moz-appearance: none;
7954     justify-content: center;
7955     text-decoration: none;
7956     background-color: transparent;
7957     -webkit-appearance: none;
7958     -webkit-tap-highlight-color: transparent;
7959   }
7960   .MuiIconButton-root {
7961     flex: 0 0 auto;
7962     color: rgba(0, 0, 0, 0.54);
7963     padding: 12px;
7964     overflow: visible;
7965     font-size: 1.5rem;
7966     text-align: center;
7967     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7968     border-radius: 50%;
7969   }
7970   .MuiIconButton-label {
7971     width: 100%;
7972     display: flex;
7973     align-items: inherit;
7974     justify-content: inherit;
7975   }
7976   .MuiSvgIcon-root {
7977     fill: currentColor;
7978     width: 1em;
7979     height: 1em;
7980     display: inline-block;
7981     font-size: 1.5rem;
7982     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
7983     flex-shrink: 0;
7984     user-select: none;
7985   }
7986   .MuiTouchRipple-root {
7987     top: 0;
7988     left: 0;
7989     right: 0;
7990     bottom: 0;
7991     z-index: 0;
7992     overflow: hidden;
7993     position: absolute;
7994     border-radius: inherit;
7995     pointer-events: none;
7996   }
7997   .jss36 {
7998     color: #222222;
7999     font-size: 24px;
8000     font-family: Roboto, Arial, sans-serif;
8001     font-weight: 500;
8002   }
8003   .jss37 {
8004     color: #555555;
8005     padding: 10px 0px 0px;
8006     font-size: 14px;
8007   }
8008   .MuiFormGroup-root {
8009     display: flex;
8010     flex-wrap: wrap;
8011     flex-direction: column;
8012   }
8013   .MuiFormGroup-row {
8014     flex-direction: row;
8015   }
8016   .jss63 {
8017     width: 85%;
8018     margin: 15px auto;
8019     display: flex;
8020     padding: 11px 0px 0px;
8021     justify-content: space-evenly;
8022   }
8023   .MuiFormControlLabel-root {
8024     cursor: pointer;
8025     display: inline-flex;
8026     align-items: center;
8027     margin-left: -11px;
8028     margin-right: 16px;
8029     vertical-align: middle;
8030     -webkit-tap-highlight-color: transparent;
8031   }
8032   .jss70 {
8033     margin: 0;
8034   }
8035   .MuiButtonBase-root {
8036     color: inherit;
8037     border: 0;
8038     cursor: pointer;
8039     margin: 0;
8040     display: inline-flex;
8041     outline: 0;
8042     padding: 0;
8043     position: relative;
8044     align-items: center;
8045     user-select: none;
8046     border-radius: 0;
8047     vertical-align: middle;
8048     -moz-appearance: none;
8049     justify-content: center;
8050     text-decoration: none;
8051     background-color: transparent;
8052     -webkit-appearance: none;
8053     -webkit-tap-highlight-color: transparent;
8054   }
8055   .MuiIconButton-root {
8056     flex: 0 0 auto;
8057     color: rgba(0, 0, 0, 0.54);
8058     padding: 12px;
8059     overflow: visible;
8060     font-size: 1.5rem;
8061     text-align: center;
8062     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
8063     border-radius: 50%;
8064   }
8065   .MuiIconButton-colorSecondary {
8066     color: #f50057;
8067   }
8068   .jss71 {
8069     padding: 9px;
8070   }
8071   .MuiRadio-root {
8072     color: rgba(0, 0, 0, 0.54);
8073   }
8074   .jss64 {
8075     padding: 2px;
8076   }
8077   .MuiRadio-colorSecondary.Mui-checked {
8078     color: #f50057;
8079   }
8080   .MuiIconButton-label {
8081     width: 100%;
8082     display: flex;
8083     align-items: inherit;
8084     justify-content: inherit;
8085   }
8086   .MuiTypography-root {
8087     margin: 0;
8088   }
8089   .MuiTypography-body1 {
8090     font-size: 18px;
8091     font-family: Roboto,sans-serif;
8092     font-weight: 400;
8093     line-height: 1.5;
8094   }
8095   .location-popup_area-block__sp9Ws {
8096     display: -moz-box;
8097     display: flex;
8098     -moz-box-orient: vertical;
8099     -moz-box-direction: normal;
8100     flex-direction: column;
8101     -moz-box-pack: center;
8102     justify-content: center;
8103     position: relative;
8104     margin: 10px 10% 0;
8105   }
8106   .location-popup_pin-search-box__3l5mJ {
8107     width: 100%;
8108     display: -moz-box;
8109     display: flex;
8110     -moz-box-align: center;
8111     align-items: center;
8112   }
8113   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
8114     position: absolute;
8115     z-index: 999;
8116   }
8117   .location-popup_place-icon__jSG0Q {
8118     color: #ffffff;
8119     padding-left: 8px;
8120   }
8121   .location-popup_place-icon__jSG0Q svg {
8122     width: 18px;
8123     height: 18px;
8124   }
8125   .location-popup_cancel-icon__FHujU {
8126     color: #fff;
8127     right: 10px;
8128     width: 16px;
8129     cursor: pointer;
8130     height: 16px;
8131     display: none;
8132     padding: 5px;
8133     position: absolute;
8134     background: #999;
8135     text-align: center;
8136     border-radius: 50%;
8137   }
8138   .location-popup_pin-search-box__3l5mJ>div>select {
8139 /*     -webkit-box-shadow: 0 0 10px #ffffff;
8140     box-shadow: 0 0 10px #ffffff; */
8141     text-transform: capitalize;
8142     border: 1px solid #ffffff;
8143     color: #ffffff;
8144     width: 100%;
8145     margin: 0;
8146     display: -moz-box;
8147     display: flex;
8148     padding: 0 30px;
8149     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8150     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8151     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
8152     font-size: 16px;
8153     border-radius: 4px;
8154     height: 44px;
8155     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8156     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
8157   }
8158   .MuiButtonBase-root {
8159     color: inherit;
8160     border: 0;
8161     cursor: pointer;
8162     margin: 0;
8163     display: inline-flex;
8164     outline: 0;
8165     padding: 0;
8166     position: relative;
8167     align-items: center;
8168     user-select: none;
8169     border-radius: 0;
8170     vertical-align: middle;
8171     -moz-appearance: none;
8172     justify-content: center;
8173     text-decoration: none;
8174     background-color: transparent;
8175     -webkit-appearance: none;
8176     -webkit-tap-highlight-color: transparent;
8177   }
8178   .MuiButton-root {
8179     color: rgba(0, 0, 0, 0.87);
8180     padding: 6px 16px;
8181     font-size: 0.875rem;
8182     min-width: 64px;
8183     box-sizing: border-box;
8184     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;
8185     font-family: Roboto,sans-serif;
8186     font-weight: 500;
8187     line-height: 1.75;
8188     border-radius: 4px;
8189     text-transform: uppercase;
8190   }
8191   .MuiButton-contained {
8192     color: rgba(0, 0, 0, 0.87);
8193     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);
8194     background-color: #e0e0e0;
8195   }
8196   .MuiButtonBase-root.Mui-disabled {
8197     cursor: default;
8198     pointer-events: none;
8199   }
8200   .MuiButton-label {
8201     width: 100%;
8202     display: inherit;
8203     align-items: inherit;
8204     justify-content: inherit;
8205   }
8206   .cartButton_login_content__2j1f7 {
8207     display: -moz-box;
8208     display: flex;
8209     text-align: center;
8210     z-index: 9;
8211     font-size: 18px;
8212     font-weight: 500;
8213     color: #fff;
8214   }
8215   
8216   .jss35 {
8217     top: 5px;
8218     right: 5px;
8219     padding: 4px;
8220     position: absolute;
8221     border-radius: 50%;
8222   }
8223   .jss67 {
8224     cursor: pointer;
8225     font-size: 15px;
8226     line-height: 1.3;
8227     padding-left: 5px;
8228   }
8229   .jss69 {
8230     color: #222222;
8231   }
8232   .jss80 {
8233     color: #fff;
8234     width: 100%;
8235     height: 52px;
8236     padding: 11px 16px;
8237     font-size: 18px;
8238     min-width: 88px;
8239     min-height: 36px;
8240     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;
8241     font-weight: 500;
8242     line-weight: 1em;
8243     border-radius: 4px;
8244     text-transform: uppercase;
8245     background-color: #ff6600;
8246   }
8247   @media (min-width: 991px){
8248     .cartButton_login_content__2j1f7 {
8249         font-weight: 500;
8250     }
8251   }
8252 
8253   @media (max-width: 992px) {
8254     #location-lock-dialog {
8255       width: 100%;
8256       top: auto;
8257       bottom: 0;
8258       padding-left: 0;
8259       padding-right: 0;
8260     }
8261     .MuiFormGroup-row {
8262       display: block
8263     }
8264     .MuiIconButton-label input {
8265       margin: 0;
8266     }
8267   }
8268 </style>
8269 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
8270   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
8271   <div tabindex="0" data-test="sentinelStart"></div>
8272   <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;">
8273     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
8274       <div class="jss31 undefined" id="location-lock-dialog">
8275         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8276           <span class="MuiIconButton-label">
8277             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
8278               <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>
8279             </svg>
8280           </span>
8281           <span class="MuiTouchRipple-root"></span>
8282         </button>
8283         <div>
8284           <div class="jss36">Select Delivery Location</div>
8285           <div class="jss37">Select a delivery location to see product availability</div>
8286         </div>
8287         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
8288           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
8289             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
8290               <span class="MuiIconButton-label">
8291                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
8292                 <span class="jss41"></span>
8293               </span>
8294               <span class="MuiTouchRipple-root"></span>
8295             </span>
8296             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8297               <span class="jss67 jss69">Jabodetabek</span>
8298             </span>
8299           </label>
8300           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
8301             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
8302               <span class="MuiIconButton-label">
8303                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
8304                 <span class="jss40"></span>
8305               </span>
8306               <span class="MuiTouchRipple-root"></span>
8307             </span>
8308             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
8309               <span class="jss67 jss68">Outside Jabodetabek</span>
8310             </span>
8311           </label>
8312         </div>
8313         <div>
8314           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
8315             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
8316               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
8317                 <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>
8318               </div>
8319               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
8320                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
8321               </div>
8322               <div style="width: 100%;">
8323                 <select id="choose-location" class="form-control">
8324                   <option value="">Choose Location</option>
8325                   <option value="jakarta">Jakarta</option>
8326                   <option value="bogor">Bogor</option>
8327                   <option value="depok">Depok</option>
8328                   <option value="tangerang">Tangerang</option>
8329                   <option value="bekasi">Bekasi</option>
8330                 </select>
8331               </div>
8332             </div>
8333           </div>
8334         </div>
8335         <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="">
8336           <span class="MuiButton-label">
8337             <span class=""></span>
8338             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
8339           </span>
8340         </button>
8341       </div>
8342     </div>
8343   </div>
8344   <div tabindex="0" data-test="sentinelEnd"></div>
8345 </div>
8346 
8347 
8347<script>
8348   const jabodetabek = [
8349     {
8350       "code": "jakarta",
8351       "city": "jakarta",
8352       "zip": []
8353     },
8354     {
8355       "code": "bogor",
8356       "city": "bogor",
8357       "zip": []
8358     },
8359     {
8360       "code": "depok",
8361       "city": "depok",
8362       "zip": []
8363     },
8364     {
8365       "code": "tangerang",
8366       "city": "tangerang",
8367       "zip": []
8368     },
8369     {
8370       "code": "bekasi",
8371       "city": "bekasi",
8372       "zip": []
8373     }
8374   ]
8375   let cityNonJabodetabek = [
8376     
8377
8378     
8379     
8380     "pengiriman_aceh",
8381     
8382     
8383     
8384     
8385     
8386     "pengiriman_ambon",
8387     
8388     
8389     
8390     
8391     
8392     "pengiriman_atambua",
8393     
8394     
8395     
8396     
8397     
8398     "pengiriman_badung",
8399     
8400     
8401     
8402     
8403     
8404     "pengiriman_bali",
8405     
8406     
8407     
8408     
8409     
8410     "pengiriman_balikpapan",
8411     
8412     
8413     
8414     
8415     
8416     "pengiriman_bandar lampung",
8417     
8418     
8419     
8420     
8421     
8422     "pengiriman_bandung",
8423     
8424     
8425     
8426     
8427     
8428     "pengiriman_bandung barat",
8429     
8430     
8431     
8432     
8433     
8434     "pengiriman_banjarmasin",
8435     
8436     
8437     
8438     
8439     
8440     "pengiriman_banyumas",
8441     
8442     
8443     
8444     
8445     
8446     "pengiriman_banyuwangi",
8447     
8448     
8449     
8450     
8451     
8452     "pengiriman_batam",
8453     
8454     
8455     
8456     
8457     
8458     
8459     
8460     
8461     
8462     "pengiriman_biak",
8463     
8464     
8465     
8466     
8467     
8468     "pengiriman_binjai",
8469     
8470     
8471     
8472     
8473     
8474     "pengiriman_blitar",
8475     
8476     
8477     
8478     
8479     
8480     "pengiriman_blora",
8481     
8482     
8483     
8484     
8485     
8486     
8487     
8488     
8489     
8490     "pengiriman_bojonegoro",
8491     
8492     
8493     
8494     
8495     
8496     "pengiriman_boyolali",
8497     
8498     
8499     
8500     
8501     
8502     "pengiriman_bukittinggi",
8503     
8504     
8505     
8506     
8507     
8508     "pengiriman_buleleng",
8509     
8510     
8511     
8512     
8513     
8514     "pengiriman_ciamis",
8515     
8516     
8517     
8518     
8519     
8520     "pengiriman_cianjur",
8521     
8522     
8523     
8524     
8525     
8526     "pengiriman_cibinong",
8527     
8528     
8529     
8530     
8531     
8532     "pengiriman_cikarang",
8533     
8534     
8535     
8536     
8537     
8538     "pengiriman_cikupa",
8539     
8540     
8541     
8542     
8543     
8544     "pengiriman_cilacap",
8545     
8546     
8547     
8548     
8549     
8550     "pengiriman_cileunyi",
8551     
8552     
8553     
8554     
8555     
8556     "pengiriman_cimahi",
8557     
8558     
8559     
8560     
8561     
8562     "pengiriman_cirebon",
8563     
8564     
8565     
8566     
8567     
8568     "pengiriman_ciwidey",
8569     
8570     
8571     
8572     
8573     
8574     "pengiriman_deli serdang",
8575     
8576     
8577     
8578     
8579     
8580     "pengiriman_demak",
8581     
8582     
8583     
8584     
8585     
8586     "pengiriman_denpasar",
8587     
8588     
8589     
8590
8591     
8592     
8593     "pengiriman_garut",
8594     
8595     
8596     
8597     
8598     
8599     "pengiriman_gianyar",
8600     
8601     
8602     
8603     
8604     
8605     "pengiriman_gresik",
8606     
8607     
8608     
8609     
8610     
8611     "pengiriman_gunung kidul",
8612     
8613     
8614     
8615
8616     
8617     
8618     "pengiriman_jambi",
8619     
8620     
8621     
8622     
8623     
8624     "pengiriman_jayapura",
8625     
8626     
8627     
8628     
8629     
8630     "pengiriman_jember",
8631     
8632     
8633     
8634     
8635     
8636     "pengiriman_jepara",
8637     
8638     
8639     
8640     
8641     
8642     "pengiriman_jombang",
8643     
8644     
8645     
8646     
8647     
8648     "pengiriman_karanganyar",
8649     
8650     
8651     
8652     
8653     
8654     "pengiriman_karawang",
8655     
8656     
8657     
8658     
8659     
8660     "pengiriman_karo",
8661     
8662     
8663     
8664     
8665     
8666     "pengiriman_kebumen",
8667     
8668     
8669     
8670     
8671     
8672     "pengiriman_kediri",
8673     
8674     
8675     
8676     
8677     
8678     "pengiriman_keerom",
8679     
8680     
8681     
8682     
8683     
8684     "pengiriman_kendal",
8685     
8686     
8687     
8688     
8689     
8690     "pengiriman_klaten",
8691     
8692     
8693     
8694     
8695     
8696     "pengiriman_kudus",
8697     
8698     
8699     
8700     
8701     
8702     "pengiriman_kupang",
8703     
8704     
8705     
8706     
8707     
8708     "pengiriman_lainnya",
8709     
8710     
8711     
8712     
8713     
8714     "pengiriman_lamongan",
8715     
8716     
8717     
8718     
8719     
8720     "pengiriman_lampung",
8721     
8722     
8723     
8724     
8725     
8726     "pengiriman_lampung barat",
8727     
8728     
8729     
8730     
8731     
8732     "pengiriman_lembang",
8733     
8734     
8735     
8736     
8737     
8738     "pengiriman_lombok",
8739     
8740     
8741     
8742     
8743     
8744     "pengiriman_lumajang",
8745     
8746     
8747     
8748     
8749     
8750     "pengiriman_madiun",
8751     
8752     
8753     
8754     
8755     
8756     "pengiriman_magelang",
8757     
8758     
8759     
8760     
8761     
8762     "pengiriman_majalengka",
8763     
8764     
8765     
8766     
8767     
8768     "pengiriman_makassar",
8769     
8770     
8771     
8772     
8773     
8774     "pengiriman_malang",
8775     
8776     
8777     
8778     
8779     
8780     "pengiriman_manado",
8781     
8782     
8783     
8784     
8785     
8786     "pengiriman_medan",
8787     
8788     
8789     
8790     
8791     
8792     "pengiriman_mengwi",
8793     
8794     
8795     
8796     
8797     
8798     "pengiriman_mojokerto",
8799     
8800     
8801     
8802     
8803     
8804     "pengiriman_nganjuk",
8805     
8806     
8807     
8808     
8809     
8810     "pengiriman_ngawi",
8811     
8812     
8813     
8814     
8815     
8816     "pengiriman_padang",
8817     
8818     
8819     
8820     
8821     
8822     "pengiriman_palembang",
8823     
8824     
8825     
8826     
8827     
8828     "pengiriman_pasuruan",
8829     
8830     
8831     
8832     
8833     
8834     "pengiriman_pati",
8835     
8836     
8837     
8838     
8839     
8840     "pengiriman_pekalongan",
8841     
8842     
8843     
8844     
8845     
8846     "pengiriman_pekanbaru",
8847     
8848     
8849     
8850     
8851     
8852     "pengiriman_pemalang",
8853     
8854     
8855     
8856     
8857     
8858     "pengiriman_ponorogo",
8859     
8860     
8861     
8862     
8863     
8864     "pengiriman_pontianak",
8865     
8866     
8867     
8868     
8869     
8870     "pengiriman_probolinggo",
8871     
8872     
8873     
8874     
8875     
8876     "pengiriman_purbalingga",
8877     
8878     
8879     
8880     
8881     
8882     "pengiriman_purwakarta",
8883     
8884     
8885     
8886     
8887     
8888     "pengiriman_purwokerto",
8889     
8890     
8891     
8892     
8893     
8894     "pengiriman_rembang",
8895     
8896     
8897     
8898     
8899     
8900     "pengiriman_riau",
8901     
8902     
8903     
8904     
8905     
8906     "pengiriman_salatiga",
8907     
8908     
8909     
8910     
8911     
8912     "pengiriman_samarinda",
8913     
8914     
8915     
8916     
8917     
8918     "pengiriman_semarang",
8919     
8920     
8921     
8922     
8923     
8924     "pengiriman_sentani",
8925     
8926     
8927     
8928     
8929     
8930     "pengiriman_serang",
8931     
8932     
8933     
8934     
8935     
8936     "pengiriman_sidoarjo",
8937     
8938     
8939     
8940     
8941     
8942     "pengiriman_singkawang",
8943     
8944     
8945     
8946     
8947     
8948     "pengiriman_sragen",
8949     
8950     
8951     
8952     
8953     
8954     "pengiriman_subang",
8955     
8956     
8957     
8958     
8959     
8960     "pengiriman_sukabumi",
8961     
8962     
8963     
8964     
8965     
8966     "pengiriman_sumbawa",
8967     
8968     
8969     
8970     
8971     
8972     "pengiriman_surabaya",
8973     
8974     
8975     
8976     
8977     
8978     "pengiriman_surakarta solo",
8979     
8980     
8981
8982     
8983     "pengiriman_tasikmalaya",
8984     
8985     
8986     
8987     
8988     
8989     "pengiriman_tegal",
8990     
8991     
8992     
8993     
8994     
8995     "pengiriman_timika",
8996     
8997     
8998     
8999     
9000     
9001     "pengiriman_wamena",
9002     
9003     
9004     
9005     
9006     
9007     "pengiriman_wiyung",
9008     
9009     
9010     
9011     
9012     
9013     "pengiriman_wonokromo",
9014     
9015     
9016     
9017     
9018     
9019     "pengiriman_yogyakarta",
9020 
9021   ]
9022   console.log(cityNonJabodetabek)
9023   let non_jabodetabek = []
9024   for(var i=0;i<cityNonJabodetabek.length;i++) {
9025     const obj = {
9026       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
9027       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
9028       "zip": []
9029     }
9030     non_jabodetabek.push(obj)
9031   }
9032   let current_location = getCookie("location_delivery")
9033   $("[name=location]").change(function(){
9034     let v = $(this).val()
9035     let option = []
9036     if(v == 'Jabodetabek') {
9037       for(var i=0;i<jabodetabek.length;i++) {
9038         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
9039         option.push(jabodetabekHtml)
9040       }
9041       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9042     } else {
9043       for(var i=0;i<non_jabodetabek.length;i++) {
9044         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
9045         option.push(nonjabodetabekHtml)
9046       }
9047       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
9048     }
9049   })
9050 
9051   $("#location-lock-submit").click(function(e){
9052     let select = $("#choose-location")
9053     let value = select.val().toLowerCase()
9054     console.log(value)
9055     if(select.val() == "") {
9056       return alert("Choose Your Location")
9057       e.preventDefault()
9058     }
9059     setCookie("location_delivery",value,1000000);
9060     
9061     location.reload();
9062     
9063   })
9064 
9065   $("#close-popup-delivery").click(function(){
9066     $(".MuiDialog-root").hide()
9067     if(!current_location){
9068       setCookie("location_delivery","jakarta",1000000);
9069       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
9070     }
9071   })
9072   $("#loc_delivery, #loc_delivery_mobile").click(function(){
9073     $(".MuiDialog-root").show()
9074   })
9075 
9076   
9077   if(!current_location){
9078     
9079   } else {
9080     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
9081     console.log(current_location)
9082     $("#choose-location").each(function(){
9083       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
9084         $("#jabodetabek").trigger("click")
9085       } else {
9086         $("#non-jabodetabek").trigger("click")
9087       }
9088       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
9089     })
9090   }
9091 
9092   // 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'){
9093   //   $("#timeMalam").attr("disabled", false)
9094   // } else {
9095   //   $("#timeMalam").attr("disabled", true)
9096   // }
9097 
9098   if(current_location && current_location != 'jakarta') {
9099     $("#self-pickup").attr("disabled", true)
9100   }
9101 
9102   function setCookie(name,value,days) {
9103     var expires = "";
9104     if (days) {
9105       var date = new Date();
9106       date.setTime(date.getTime() + (days*24*60*60*1000));
9107       expires = "; expires=" + date.toUTCString();
9108     }
9109     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
9110   }
9111   function getCookie(name) {
9112     var nameEQ = name + "=";
9113     var ca = document.cookie.split(';');
9114     for(var i=0;i < ca.length;i++) {
9115       var c = ca[i];
9116       while (c.charAt(0)==' ') c = c.substring(1,c.length);
9117       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
9118     }
9119     return null;
9120   }
9121 </script>
9121
9122 <!-- One Tap -->
9123     
9123<script>
9124       console.log("Outerbloom...");
9125     </script>
9125
9126   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
9127 
9128 
9129 
9130 
9131 
9132 
9133 
9134 
9135 
9136 
9137 
9138 
9139 
9140 
9141 
9142 
9143 
9144 
9145 
9146 
9147 
9148 
9149 
9150 
9151 
9152 
9153 
9154 
9155 
9156 
9157 
9158 
9159 
9160 
9161 
9162 
9163 
9164 
9165 
9166 
9167 
9168 
9169 
9170 
9171 
9172 
9173 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
9174 
9174<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9174
9175 
9175<script>
9176   const widgetConfig = {
9177     id: "clz7897za002cz7otleaz0d3d",
9178     showQuickResponse: false,
9179     quickResponsesData: [],
9180     themeColor: "#ffffff",
9181     widgetText: "",
9182     radiusType: "circle",
9183     widgetIconType: "whatsapp",
9184     position: "right",
9185     storeLogo: "",
9186     storeName: "Outerbloom",
9187     storeDescription: "",
9188     size: "small",
9189     showCard: false,
9190     widgetColorType: "solid",
9191     widgetColor1: "#008069",
9192     widgetColor2: "#008069",
9193     social: {
9194       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
9195       values: {
9196         instagram: {
9197           enabled: false,
9198           value: "",
9199         },
9200         facebook: {
9201           enabled: false,
9202           value: "",
9203         },
9204         email: {
9205           enabled: false,
9206           value: "",
9207         },
9208         x: {
9209           enabled: false,
9210           value: "",
9211         },
9212         tiktok: {
9213           enabled: false,
9214           value: "",
9215         },
9216         linkedin: {
9217           enabled: false,
9218           value: "",
9219         },
9220         youtube: {
9221           enabled: false,
9222           value: "",
9223         },
9224       },
9225     },
9226   };
9227 
9228   function initializeWidget() {
9229     if (typeof BBBWidget !== 'undefined') {
9230       BBBWidget.init(widgetConfig);
9231     } else {
9232       setTimeout(initializeWidget, 100);
9233     }
9234   }
9235 
9236   initializeWidget();</script>
9236
9237 
9238 
9239 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
9240 
9241 
9242 <div style="position: fixed; bottom: 0; right: 0"></div>
9243 
9244 
9244<script>
9245 console.info("bitlogin extension version: v2.5.7");
9246 
9247 const googleScript = document.createElement("script");
9248 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
9249 document.head.append(googleScript);
9250 
9251 const bitLoginBaseUrl = "https://api.bitbybit.studio";
9252 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
9253 
9254 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"}};
9255 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
9255n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
9256 const redirectUrl = appearance.redirectLink;
9257 
9258 let locationCacheSet = false;
9259 let errorLocation = false;
9260 let oneTapSet = false;
9261 
9262 let bitloginCache = {
9263   appearance: appearance,
9264   config: config
9265 };
9266 
9267 let isInitializing = false;
9268 const queue = [];
9269 
9270 // Add CSS for the popup
9271 const popupStyles = document.createElement('style');
9272 popupStyles.textContent = `
9273   /* Styles for login popup */
9274   .bitlogin-popup-overlay {
9275     position: fixed;
9276     top: 0;
9277     left: 0;
9278     width: 100%;
9279     height: 100%;
9280     background: rgba(0, 0, 0, 0.45);
9281     backdrop-filter: blur(4px);
9282     display: flex;
9283     align-items: center;
9284     justify-content: center;
9285     opacity: 0;
9286     transition: opacity 0.3s ease-in-out;
9287     z-index: 999999;
9288   }
9289   
9290   .bitlogin-popup-overlay.visible {
9291     opacity: 1;
9292   }
9293   
9294   .bitlogin-popup {
9295     background: #FFFFFF;
9296     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
9297     border-radius: 16px;
9298     width: 100%;
9299     max-width: 560px;
9300     display: flex;
9301     overflow: hidden;
9302     position: relative;
9303     opacity: 0;
9304     transform: translateY(20px) scale(0.98);
9305     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
9306   }
9307   
9308   .bitlogin-popup.visible {
9309     opacity: 1;
9310     transform: translateY(0) scale(1);
9311   }
9312   
9313   .bitlogin-popup-with-image {
9314     max-width: 640px;
9315   }
9316   
9317   .bitlogin-popup-right-image {
9318     flex-direction: row-reverse;
9319   }
9320   
9321   .bitlogin-popup-image {
9322     object-fit: cover;
9323     width: 50%;
9324     height: auto;
9325   }
9326   
9327   .bitlogin-popup-content {
9328     padding: 32px;
9329     position: relative;
9330     width: 50%;
9331   }
9332   
9333   .bitlogin-popup-close {
9334     position: absolute;
9335     top: 16px;
9336     right: 16px;
9337     background: white;
9338     border: none;
9339     width: 30px;
9340     height: 30px;
9341     display: flex;
9342     align-items: center;
9343     justify-content: center;
9344     cursor: pointer;
9345     transition: background-color 0.2s;
9346     color: inherit;
9347     padding: 0;
9348   }
9349   
9350   .bitlogin-popup-close:hover {
9351     background-color: #e5e5e5;
9352   }
9353   
9354   .bitlogin-popup-buttons {
9355     display: flex;
9356     flex-direction: column;
9357     gap: 12px;
9358     margin-top: 24px;
9359   }
9360   
9361   /* Button styles within popup - override width for popup buttons */
9362   .bitlogin-popup-buttons #google-login,
9363   .bitlogin-popup-buttons #facebook-login,
9364   .bitlogin-popup-buttons #apple-login,
9365   .bitlogin-popup-buttons #whatsapp-login,
9366   .bitlogin-popup-buttons #microsoft-login,
9367   .bitlogin-popup-buttons #twitter-login,
9368   .bitlogin-popup-buttons #amazon-login,
9369   .bitlogin-popup-buttons #instagram-login,
9370   .bitlogin-popup-buttons #magic-link-login,
9371   .bitlogin-popup-buttons #mobile-app-login {
9372     width: 100% !important;
9373     font-family: inherit !important;
9374   }
9375   
9376   .bitlogin-popup-footer {
9377     margin-top: 32px;
9378     text-align: center;
9379     font-size: 14px;
9380     opacity: 0.6;
9381   }
9382   
9383   /* Modern Typography */
9384   .bitlogin-popup h2 {
9385     margin-top: 12px;
9386     font-size: 21px !important;
9387     line-height: 1.2 !important;
9388     font-weight: 700 !important;
9389     letter-spacing: -0.02em !important;
9390     margin-bottom: 16px !important;
9391   }
9392   
9393   .bitlogin-popup-header {
9394     position: relative;
9395     margin-bottom: 24px;
9396   }
9397   
9398   /* Modern gradient accent */
9399   .bitlogin-popup-content > div {
9400     font-size: 16px !important;
9401     line-height: 1.2 !important;
9402     opacity: 0.85 !important;
9403   }
9404   
9405   /* Enhanced button interactions */
9406   .bitlogin-popup-buttons button {
9407     position: relative;
9408     overflow: hidden;
9409   }
9410   
9411   @keyframes ripple {
9412     0% {
9413       transform: scale(0, 0);
9414       opacity: 0.5;
9415     }
9416     100% {
9417       transform: scale(100, 100);
9418       opacity: 0;
9419     }
9420   }
9421   
9422   /* Responsive adjustments */
9423   @media (max-width: 640px) {
9424     .bitlogin-popup {
9425       max-width: 90%;
9426       width: 90%;
9427       margin: 0 16px;
9428     }
9429     
9430     .bitlogin-popup-with-image {
9431       flex-direction: column !important;
9432     }
9433     
9434     .bitlogin-popup-image {
9435       width: 100%;
9436       height: 180px;
9437     }
9438     
9439     .bitlogin-popup-content {
9440       padding: 24px;
9441     }
9442     
9443     .bitlogin-popup h2 {
9444       font-size: 24px !important;
9445     }
9446   }
9447 `;
9448 
9449 document.head.appendChild(popupStyles);
9450 
9451 // Add fonts link for different font options
9452 const fontsLink = document.createElement('link');
9453 fontsLink.rel = 'stylesheet';
9454 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';
9455 document.head.appendChild(fontsLink);
9456 
9457 (async () => {
9458   try {
9459     let host = window.location.host;
9460     if (host === "admin.shopify.com") {
9461       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
9462     }
9463 
9464     const urlSearchParams = new URLSearchParams(window.location.search);
9465     const checkoutUrl = urlSearchParams.get("checkout_url");
9466 
9467     async function init({ inputRef, index }) {
9468       if (isInitializing) {
9469         queue.push(() => init({ inputRef, index }));
9470         return;
9471       }
9472 
9473       isInitializing = true;
9474 
9475       try {
9476         let bitLoginSectionRoot = document.querySelector(
9477           `.bitlogin-root[data-index="${index}"]`
9478         );
9479 
9480         const formRef = inputRef?.closest(
9481           "form:not([action='/account/recover'])"
9482         );
9483 
9484         if (formRef && !bitLoginSectionRoot) {
9485           await getLocation();
9486 
9487           bitLoginSectionRoot = document.createElement(`div`);
9488 
9489           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
9490           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
9491 
9492           updateAppearance({
9493             formRef,
9494             rootRef: bitLoginSectionRoot,
9495             host,
9496           });
9497         }
9498       } catch (err) {
9499         console.error(`error while initiating bitlogin extensions`, err);
9500       } finally {
9501         // Release the lock
9502         isInitializing = false;
9503 
9504         // Check if there are pending items in the queue
9505         if (queue.length > 0) {
9506           // Process the next function in the queue
9507           const nextFunction = queue.shift();
9508           nextFunction();
9509         }
9510       }
9511     }
9512 
9513     function initAll() {
9514       return new Promise((resolve, reject) => {
9515         setTimeout(async () => {
9516           const inputRefs = document.querySelectorAll(
9517             'input[name="customer[email]"]'
9518           );
9519 
9520           for (let i = 0; i < inputRefs.length; i++) {
9521             const currentInputRef = inputRefs[i];
9522             const isVisible = isElementVisible(currentInputRef);
9523 
9524             if (isVisible) {
9525               await init({ inputRef: currentInputRef, index: i });
9526             }
9527           }
9528 
9529           resolve("ok");
9530         }, 100);
9531       });
9532     }
9533 
9534     const observer = new MutationObserver((mutationsList) => {
9535       for (let mutation of mutationsList) {
9536         initAll();
9537       }
9538     });
9539 
9540     observer.observe(document.body, {
9541       childList: true,
9542       subtree: true,
9543       attributes: true,
9544     });
9545 
9546     initAll();
9547 
9548     if (appearance.googleOneTap) {
9549       setupOneTap({ host, checkoutUrl });
9550     }
9551 
9552     // Initialize popup
9553     await initPopup(host);
9554   } catch (error) {
9555     console.error("Error initializing BitLogin:", error);
9556   }
9557 })();
9558 
9559 async function initPopup(host) {
9560   // Check if user is already logged in using Liquid checks properly
9561   const isLoggedIn = false || 
9562                     document.querySelector('.customer-logout-link') || 
9563                     document.querySelector('.account-link') || 
9564                     window.location.pathname.includes('/account');
9565   
9566   if (isLoggedIn) {
9567     return; // User is logged in, don't show popup
9568   }
9569 
9570   try {
9571     // Fetch the popup configuration
9572     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
9573       .then(res => res.json())
9574       .catch(err => {
9575         console.error('Error fetching popup configuration:', err);
9576         return null;
9577       });
9578 
9579     if (!popupConfig || !popupConfig.enabled) {
9580       return;
9580 // Don't show popup if disabled or config not found
9581     }
9582 
9583     // Create popup after 10 seconds
9584     setTimeout(() => {
9585       // Check if user is still on the page and still not logged in
9586       if (document.visibilityState === 'visible') {
9587         // Additional check in case user logged in during the 10 second wait
9588         const currentlyLoggedIn = false || 
9589                               document.querySelector('.customer-logout-link') || 
9590                               document.querySelector('.account-link');
9591         
9592         if (!currentlyLoggedIn) {
9593           createLoginPopup(popupConfig, host);
9594         }
9595       }
9596     }, 10000);
9597   } catch (error) {
9598     console.error('Error initializing popup:', error);
9599   }
9600 }
9601 
9602 function createLoginPopup(popupConfig, host) {
9603   // Font mapping
9604   const fontFamilyMap = {
9605     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
9606     montserrat: 'Montserrat, sans-serif',
9607     roboto: 'Roboto, sans-serif',
9608     open_sans: 'Open Sans, sans-serif',
9609     noto_sans: 'Noto Sans, sans-serif',
9610     lato: 'Lato, sans-serif',
9611     poppins: 'Poppins, sans-serif',
9612     quicksand: 'Quicksand, sans-serif',
9613     raleway: 'Raleway, sans-serif',
9614     pt_sans: 'PT Sans, sans-serif',
9615     oswald: 'Oswald, sans-serif',
9616   };
9617 
9618   // Create overlay
9619   const overlay = document.createElement('div');
9620   overlay.className = 'bitlogin-popup-overlay';
9621   
9622   // Create popup container with appropriate styling
9623   const popup = document.createElement('div');
9624   popup.className = 'bitlogin-popup';
9625 
9626   if (popupConfig.layout === 'default') {
9627     popup.style.maxWidth = '400px';
9628   }
9629   
9630   // Function to close the popup
9631   const closePopup = () => {
9632     overlay.classList.remove('visible');
9633     popup.classList.remove('visible');
9634     setTimeout(() => {
9635       if (document.body.contains(overlay)) {
9636         document.body.removeChild(overlay);
9637       }
9638     }, 300);
9639   };
9640   
9641   // Add click handler to the overlay to close when clicking outside
9642   overlay.addEventListener('click', (event) => {
9643     // Close only if clicking directly on the overlay, not its children
9644     if (event.target === overlay) {
9645       closePopup();
9646     }
9647   });
9648   
9649   // Add escape key handler to close popup
9650   document.addEventListener('keydown', (event) => {
9651     if (event.key === 'Escape' && document.body.contains(overlay)) {
9652       closePopup();
9653     }
9654   });
9655 
9656   // Create layout with image if specified
9657   let contentWrapper;
9658   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
9659     popup.classList.add('bitlogin-popup-with-image');
9660     
9661     if (popupConfig.layout === 'right') {
9662       popup.classList.add('bitlogin-popup-right-image');
9663     }
9664     
9665     // Add image
9666     const image = document.createElement('img');
9667     image.className = 'bitlogin-popup-image';
9668     image.src = popupConfig.popupImage;
9669     image.alt = 'Login';
9670     image.loading = 'lazy';
9671     popup.appendChild(image);
9672     
9673     // Create content container
9674     contentWrapper = document.createElement('div');
9675     contentWrapper.className = 'bitlogin-popup-content';
9676 
9677     if (popupConfig.layout === 'right') {
9678       const closeButton = document.createElement('button');
9679       closeButton.className = 'bitlogin-popup-close';
9680       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
9681         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9682       </svg>`;
9683       closeButton.setAttribute('aria-label', 'Close');
9684       closeButton.onclick = closePopup;
9685   
9686       popup.appendChild(closeButton);
9687     }
9688   } else {
9689     contentWrapper = document.createElement('div');
9690     contentWrapper.className = 'bitlogin-popup-content';
9691     contentWrapper.style.width = '100%';
9692   }
9693 
9694   // Set background style
9695   if (popupConfig.backgroundTheme === 'gradient') {
9696     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
9697   } else {
9698     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
9699   }
9700 
9701   // Apply font family
9702   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
9703 
9704   if (popupConfig.layout !== 'right') {
9705     const closeButton = document.createElement('button');
9706     closeButton.className = 'bitlogin-popup-close';
9707     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
9708       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
9709     </svg>`;
9710     closeButton.setAttribute('aria-label', 'Close');
9711     closeButton.onclick = closePopup;
9712   
9713     contentWrapper.appendChild(closeButton);
9714   }
9715 
9716   // Add heading with subtle animation effect
9717   const header = document.createElement('div');
9718   header.className = 'bitlogin-popup-header';
9719   
9720   const heading = document.createElement('h2');
9721   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9721its';
9722   heading.style.color = popupConfig.fontColor;
9723   header.appendChild(heading);
9724 
9725   // Add body text with improved formatting
9726   const bodyText = document.createElement('div');
9727   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
9728   bodyText.style.color = popupConfig.fontColor;
9729   header.appendChild(bodyText);
9730   
9731   contentWrapper.appendChild(header);
9732 
9733   // Create buttons container with modern styling
9734   const buttonsContainer = document.createElement('div');
9735   buttonsContainer.className = 'bitlogin-popup-buttons';
9736   
9737   // Add social buttons
9738   const providerLabels = {
9739     'GOOGLE': 'Continue with Google',
9740     'FACEBOOK': 'Continue with Facebook',
9741     'APPLE': 'Continue with Apple',
9742     'WHATSAPP': 'Continue with WhatsApp',
9743     'MAGIC_LINK': 'Continue with Email',
9744   };
9745 
9746   // Add first login provider button
9747   if (popupConfig.loginProvider1 !== 'NONE') {
9748     const buttonConfig = {
9749       theme: popupConfig.colorScheme || 'match',
9750       customColor: popupConfig.textColor,
9751       format: 'contentFlex',
9752       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
9753       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9754       style: popupConfig.style || 'rounded',
9755       size: popupConfig.size || 'medium',
9756       colorScheme: popupConfig.colorScheme || 'match',
9757       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9758       textColor: popupConfig.textColor || '#FFFFFF',
9759       outlineColor: popupConfig.outlineColor || '#3B82F6',
9760       host: host
9761     };
9762     
9763     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
9764     
9765     // Handle click event - this overrides the default click handler in createSocialLoginButton
9766     button1.onclick = () => {
9767       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
9768       closePopup();
9769     };
9770     
9771     buttonsContainer.appendChild(button1);
9772   }
9773 
9774   // Add second login provider button if enabled
9775   if (popupConfig.loginProvider2 !== 'NONE') {
9776     const buttonConfig = {
9777       theme: popupConfig.colorScheme || 'match',
9778       customColor: popupConfig.textColor,
9779       format: 'contentFlex',
9780       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
9781       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
9782       style: popupConfig.style || 'rounded',
9783       size: popupConfig.size || 'medium',
9784       colorScheme: popupConfig.colorScheme || 'match',
9785       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
9786       textColor: popupConfig.textColor || '#FFFFFF',
9787       outlineColor: popupConfig.outlineColor || '#3B82F6',
9788       host: host
9789     };
9790     
9791     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
9792     
9793     // Handle click event - this overrides the default click handler in createSocialLoginButton
9794     button2.onclick = () => {
9795       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
9796       closePopup();
9797     };
9798     
9799     buttonsContainer.appendChild(button2);
9800   }
9801 
9802   contentWrapper.appendChild(buttonsContainer);
9803 
9804   // Append content to popup
9805   popup.appendChild(contentWrapper);
9806   
9807   // Append popup to overlay
9808   overlay.appendChild(popup);
9809   
9810   // Append overlay to body
9811   document.body.appendChild(overlay);
9812   
9813   // Trigger animation with slight delay for better perceived performance
9814   setTimeout(() => {
9815     overlay.classList.add('visible');
9816     setTimeout(() => {
9817       popup.classList.add('visible');
9818     }, 50);
9819   }, 10);
9820 }
9821 
9822 window.addEventListener("load", () => {
9823   window.addEventListener("message", (event) => {
9824     const receivedData = event.data;
9825 
9826     if (receivedData.type === "authorize") {
9827       post(
9828         JSON.parse(
9829           JSON.stringify({
9830             "customer[email]": receivedData.email,
9831             "customer[password]": receivedData.password,
9832             form_type: "customer_login",
9833             utf8: "✓",
9834             return_url: redirectUrl,
9835           })
9836         )
9837       );
9838     } else if (receivedData.type === "rejected") {
9839       if (receivedData.reason === "customer_account_disabled") {
9840         showAlert(
9841           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
9842         );
9843       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
9844         showAlert(
9845           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
9846         );
9847       } else if (receivedData.reason === "customer_exist_email_not_set") {
9848         showAlert(
9849           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
9850         );
9851       }
9852     }
9853 
9854     if (receivedData.type === "customer_authenticated") {
9855       // Dispatch a custom event that merchants can listen for to implement their custom logic
9856       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
9857         detail: {
9858           provider: receivedData.provider,
9859           customer: receivedData.customer,
9860           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
9861         }
9862       });
9863       
9864       // Dispatch the event on the window object so merchants can listen for it
9865       window.dispatchEvent(customerAuthEvent);
9866       
9867     }
9868   });
9869 });
9870 
9871 // Reusable functions for social login buttons
9872 function createSocialLoginButton(provider, config = {}) {
9873   const {
9874     theme = 'match',
9875     customColor = null,
9876     format = 'contentFlex',
9877     buttonText = null,
9878     hasShadow = true,
9879     style = 'rounded',
9880     size = 'medium',
9881     colorScheme = 'match',
9882     backgroundColor = '#3B82F6',
9883     textColor = '#FFFFFF',
9884     outlineColor = '#3B82F6',
9885     rootRef = null,
9886     host = null
9887   } = config;
9888   
9889   // Create button element with appropriate ID and attributes
9890   const button = document.createElement('button');
9891   button.id = `${provider.toLowerCase()}-login`;
9892   button.type = 'button';
9893   
9894   // Set the inner SVG based on provider
9895   switch (provider.toUpperCase()) {
9896     case 'GOOGLE':
9897       button.innerHTML = googleLoginIcon(theme, customColor);
9898       break;
9899     case 'FACEBOOK':
9900       button.innerHTML = facebookLoginIcon(theme, customColor);
9901       break;
9902     case 'APPLE':
9903       button.innerHTML = appleLoginIcon(theme, customColor);
9904       break;
9905     case 'WHATSAPP':
9906       button.innerHTML = whatsappLoginIcon(theme, customColor);
9907       break;
9908     case 'MICROSOFT':
9909       button.innerHTML = microsoftLoginIcon(theme, customColor);
9910       break;
9911     case 'TWITTER':
9912       button.innerHTML = twitterLoginIcon(theme, customColor);
9913       break;
9914     case 'AMAZON':
9915       button.innerHTML = amazonLoginIcon(theme, customColor);
9916       break;
9917     case 'INSTAGRAM':
9918       button.innerHTML = instagramLoginIcon(theme, customColor);
9919       break;
9920     case 'MAGIC_LINK':
9921       button.innerHTML = magicLinkLoginIcon(theme, customColor);
9922       break;
9923     case 'MOBILE_APP':
9924       button.innerHTML = mobileAppLoginIcon(theme, customColor);
9925       break;
9926     case 'LINKEDIN':
9927       button.innerHTML = linkedinLoginIcon(theme, customColor);
9928       break;
9929   }
9930   
9931   // Add text if format isn't icon-only and buttonText is provided
9932   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
9933     button.innerHTML += `<p>${buttonText}</p>`;
9934   }
9935   
9936   // Apply styling
9937   // Shadow
9938   if (hasShadow) {
9939     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
9940     button.style["box-shadow"] = shadowProperties;
9941   }
9942   
9943   // Border radius
9944   const radiusProperties =
9945     style === "rounded"
9946       ? "8px"
9947       : style === "square"
9948       ? "0px"
9949       : style === "fullRounded"
9950       ? format === "wrapperFlexContainerOnlyLogo"
9951         ? "50%"
9952         : "50px"
9953       : undefined;
9954   button.style["border-radius"] = radiusProperties;
9955   
9956   // Size
9957   const sizeProperties =
9958     size === "medium"
9959       ? "12px"
9960       : size === "small"
9961       ? "8px"
9962       : size === "large"
9963       ? "16px"
9964       : "8px";
9965 
9966   button.style["padding-block"] = sizeProperties;
9967 
9968   // Format styling
9969   if (format) {
9970     if (
9971       format === "contentFlexReverse" ||
9972       format === "contentFlexCenterReverse"
9973     ) {
9974       const flexDir = `row-reverse`;
9975       button.style["flex-direction"] = flexDir;
9976     }
9977     
9978     if (
9979       format === "contentFlexCenter" ||
9980       format === "contentFlexCenterReverse"
9981     ) {
9982       const justifyContent = `center`;
9983       button.style["justify-content"] = justifyContent;
9984     } else if (
9985       format === "contentFlex" ||
9986       format === "contentFlexReverse"
9987     ) {
9988       const buttonTextElement = button.querySelector("p");
9989       if (buttonTextElement) {
9990         buttonTextElement.style["flex-grow"] = 1;
9991         buttonTextElement.style["text-align"] = "center";
9992       }
9993     }
9994 
9995     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
9996       rootRef.style["flex-direction"] = "row";
9997       rootRef.style["gap"] = "8px";
9998       rootRef.style["display"] = "flex";
9999       rootRef.style["flex-wrap"] = "wrap";
10000 
10001       const sizeMapping = {
10002         small: "52px",
10003         medium: "62px",
10004         large: "72px",
10005       };
10006       const buttonSize = sizeMapping[size] || "52px";
10007 
10008       button.style["margin"] = 0;
10009       button.style["width"] = buttonSize;
10010       button.style["height"] = buttonSize;
10011       button.style["display"] = "flex";
10012       button.style["align-items"] = "center";
10013       button.style["justify-content"] = "center";
10014 
10015       const svgElement = button.querySelector("svg");
10016       if (svgElement) {
10017         svgElement.style["flex"] = "none";
10018       }
10019     }
10020   }
10021 
10022   // Color scheme styling
10023   if (colorScheme === "black") {
10024     button.classList.add("scheme-black");
10025   } else if (colorScheme === "white") {
10026     button.classList.add("scheme-white");
10027   } else if (colorScheme === "custom") {
10028     button.style["background-color"] = backgroundColor;
10029     button.style["color"] = textColor;
10030     button.style["border-color"] = outlineColor;
10031 
10032     const darkenColor = (color, percentage) => {
10033       const value = parseInt(color.slice(1), 16);
10034       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
10035       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
10036       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
10037       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
10038     };
10039 
10040     button.addEventListener("mouseover", () => {
10041       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
10042     });
10043     button.addEventListener("mouseout", () => {
10044       button.style["background-color"] = backgroundColor;
10045     });
10046   } else if (colorScheme === "match") {
10047     button.classList.add("scheme-match");
10048   } else if (colorScheme === "matchOutline") {
10049     button.classList.add("scheme-match-outline");
10050   }
10051   
10052   // Add click event listener if host is provided
10053   if (host) {
10054     button.addEventListener("click", () => 
10055       onClickSocialLogin({ provider: provider.toLowerCase(), host })
10056     );
10057   }
10058   
10059   return button;
10060 }
10061 
10062 function setupSocialLoginButtons(config, rootRef, data, host) {
10063   // Clear any existing content
10064   rootRef.innerHTML = '';
10065 
10066   const sortedEnabledProviders = config
10067     .filter(c => c.enabledWeb)
10068     .sort((a, b) => a.position - b.position);
10069 
10070   sortedEnabledProviders.forEach(provider => {
10071     const key = provider.provider;
10072     const lowerKey = key.toLowerCase();
10073 
10074     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
10075       ? (lowerKey === 'twitter'
10076           ? data.buttonList.twitter.replace('Twitter', 'X')
10077           : data.buttonList[lowerKey])
10078       : null;
10079 
10080     const button = createSocialLoginButton(key, {
10081       theme: data.colorScheme || 'match',
10082       customColor: data.textColor,
10083       format: data.format,
10084       buttonText: buttonText,
10085       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
10086       style: data.style,
10087       size: data.size,
10088       colorScheme: data.colorScheme,
10089       backgroundColor: data.backgroundColor,
10090       textColor: data.textColor,
10091       outlineColor: data.outlineColor,
10092       rootRef: rootRef,
10093       host: host
10094     });
10095 
10096     rootRef.appendChild(button);
10097   });
10098 
10099   return rootRef;
10100 }
10101 
10102 function updateAppearance({ formRef, rootRef, host }) {
10103   if (!formRef) return;
10104 
10105   const data = bitloginCache.appearance || {
10106     style: "square",
10107     hasShadow: false,
10108     colorScheme: "match",
10109     backgroundColor: "#FFFFFF",
10110     outlineColor: "#000000",
10111     textColor: "#000000",
10112     position: "bottom",
10113     hideDivider: "false",
10114     dividerText: "OR",
10115     size: "small",
10116     format: "contentFlex",
10117     language: "en",
10118     buttonText: "Continue with",
10119     redirectLink: "/account",
10120     googleOneTap: true,
10121     googleOneTapBanner: true,
10122     customerTag: "bitLogin",
10123     redirectOneTapDesktop: null,
10124     redirectOneTapMobile: null,
10125     buttonList: {
10126       google: "Continue with Google",
10127       facebook: "Continue with Facebook",
10128       apple: "Continue with Apple",
10129       whatsapp: "Continue with WhatsApp",
10130       microsoft: "Continue with Microsoft",
10131       twitter: "Continue with X",
10132       amazon: "Continue with Amazon",
10133       instagram: "Continue with Instagram",
10134       magic_link: "Continue with Magic Link",
10135       mobile_app: "Continue with Mobile App",
10136       linkedin: "Continue with LinkedIn",
10137     },
10138   };
10139 
10140   // Use the new setupSocialLoginButtons function to create and configure all buttons
10141   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
10142 
10143   let divider;
10144 
10145   if (!data.hideDivider) {
10146     divider = document.createElement("div");
10147     const dividerStyle = "text-align:center;margin-block:16px";
10148     divider.setAttribute("style", dividerStyle);
10149     divider.innerHTML = data.dividerText;
10150   }
10151 
10152   if (data.position === "bottom") {
10153     if (divider) {
10154       formRef.appendChild(divider);
10155     }
10156     formRef.appendChild(rootRef);
10157   } else if (data.position === "top") {
10158     if (divider) {
10159       formRef.prepend(divider);
10160     }
10161     formRef.prepend(rootRef);
10162   }
10163 }
10164 
10165 
10166 async function onClickSocialLogin({ provider, host }) {
10167   const rand = Math.random().toString();
10168 
10169   const locationQueryString = bitloginCache.location
10170     ? `&${objectToQueryString(bitloginCache.location)}`
10171     : "";
10172 
10173   const width = 800;
10174   const height = 600;
10175   const left = (window.screen.width / 2) - (width / 2);
10176   const top = (window.screen.height / 2) - (height / 2) - 50;
10177 
10178   if(provider === 'whatsapp') {
10179     window.open(
10180       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
10181       "mywindow",
10182       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10183     );
10184   } else {
10185     window.open(
10186       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
10187       "mywindow",
10188       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
10189     );
10190   }
10191 }
10192 
10193 function objectToQueryString(obj) {
10194   return Object.keys(obj)
10195     .map((key) => {
10196       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
10197     })
10198     .join("&");
10199 }
10200 
10201 async function getLocation() {
10202   if (locationCacheSet) return;
10203 
10204   try {
10205     const response = await fetch("https://ipapi.co/json/");
10206 
10207     if (!response.ok) {
10208       console.error(`error retrieving location...`, response.status);
10209       errorLocation = true;
10210     } else {
10211       const data = await response.json();
10212 
10213       const { city, region, country_name, country_code } = data;
10214 
10215       const formattedLocationData = {
10216         city,
10217         region,
10218         country_name,
10219         country_code,
10220       };
10221 
10222       bitloginCache.location = formattedLocationData;
10223       locationCacheSet = true;
10224       errorLocation = false;
10225     }
10226   } catch (err) {
10227     console.error(`error fetching location`, err);
10228     errorLocation = true;
10229   }
10230 }
10231 
10232 function post(params) {
10233   // The rest of this code assumes you are not using a library.
10234   // It can be made less verbose if you use one.
10235   const form = document.createElement("form");
10236   form.method = "post";
10237   form.action = `/account/login`;
10238   form.acceptCharset = "UTF-8";
10239   form.setAttribute("data-login-with-shop-sign-in", "true");
10240   form.setAttribute("novalidate", "novalidate");
10241 
10242   for (const key in params) {
10243     if (params.hasOwnProperty(key)) {
10244       const hiddenField = document.createElement("input");
10245       hiddenField.type = "hidden";
10246       hiddenField.name = key;
10247       hiddenField.value = params[key];
10248 
10249       form.appendChild(hiddenField);
10250     }
10251   }
10252 
10253   document.body.appendChild(form);
10254   form.submit();
10255 }
10256 
10257 async function setupOneTap({ host, checkoutUrl }) {
10258   if (oneTapSet) return;
10259 
10260   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
10261   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
10262 
10263   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
10264   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
10265 
10266   const currentPath = window.location.pathname.toLowerCase();
10267   const currentUrl = window.location.href.toLowerCase();
10268 
10269   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
10270     switch (value) {
10271       case 'home':
10272         return currentPath === '/';
10273       case 'product':
10274         return currentPath.startsWith('/products/');
10275       case 'collections':
10276         return currentPath.startsWith('/collections');
10277       case 'cart':
10278         return currentPath === '/cart';
10279       case 'checkout':
10280         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
10281       case 'thank_you':
10282         return currentPath.includes('/thank_you');
10283       case 'account':
10284         return currentPath.startsWith('/account');
10285       case 'pages':
10286         return currentPath.startsWith('/pages');
10287       case 'blogs':
10288         return currentPath === '/blogs' || currentPath === '/blogs/news';
10289       case 'blog_post':
10290         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
10291       default:
10292         return false;
10293     }
10294   });
10295 
10296   if (shouldHideGoogleOneTap) return;
10297 
10298   const oneTapClientId = bitloginCache.config.find(
10299     (config) => config.provider === "GOOGLE"
10300   )?.clientId;
10301 
10302   const isLoggedIn = false;
10303 
10304   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
10305     const googleOneTapButton = document.createElement("div");
10306     googleOneTapButton.setAttribute("id", "g_id_onload");
10307     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
10308     googleOneTapButton.setAttribute("data-context", "signin");
10309     googleOneTapButton.setAttribute(
10310       "data-callback",
10311       "handleGoogleOneTapResponse"
10312     );
10313     googleOneTapButton.setAttribute("data-itp_support", "true");
10314 
10315     const googleOneTapScript = document.createElement("script");
10316 
10317     googleOneTapScript.innerHTML += `
10318           function handleGoogleOneTapResponse(response) {
10319               if (response.credential) {
10320                   const idToken = response.credential;
10321                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
10322                       method: 'POST',
10323                       headers: { 'Content-Type': 'application/json' },
10324                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
10325                   }).then(response => {
10326                       response.json().then((data) => {
10327                         post(
10328                           JSON.parse(
10329                             JSON.stringify({
10330                               "customer[email]": data.email,
10331                               "customer[password]": data.password,
10332                               form_type: "customer_login",
10333                               utf8: "✓",
10334                               return_url: redirectUrl,
10335                             })
10336                           )
10337                         );
10338                       });  
10339                   }).catch(error => {
10340                       console.error('Error occurred:', error);
10341                   });
10342               } else {
10343                   console.error('No credential available');
10344               }
10345           }
10346        `;
10347 
10348     document.body.append(googleOneTapButton);
10349     document.body.append(googleOneTapScript);
10350   }
10351 
10352   oneTapSet = true;
10353 }
10354 
10355 const googleLoginIcon = (
10356   theme,
10357   customColor
10358 ) => `
10359 ${
10360   theme === "match" || theme === "matchOutline" || theme === "custom"
10361     ? `<svg
10362     xmlns='https://myassets.space/crow/brand-juragan404.gif'
10363     xmlns:v='https://vecta.io/nano'
10364     width='24'
10365     height='24'
10366     viewBox='0 0 186.69 190.5'
10367   >
10368     <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="${
10369       theme === "custom" ? customColor : "#4285f4"
10370     }"/><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="${
10371         theme === "custom" ? customColor : "#34a853"
10372       }"/><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="${
10373         theme === "custom" ? customColor : "#fbbc05"
10374       }"/><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="${
10375         theme === "custom" ? customColor : "#ea4335"
10376       }" clip-path="none" mask="none"/></g>
10377   </svg>`
10378     : `<svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="25" height="25" viewBox="0 0 25 25" fill="none">
10379 <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="${
10380         theme !== "black" ? "black" : "white"
10381       }"/>
10382 <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="${
10383         theme !== "black" ? "black" : "white"
10384       }"/>
10385 <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="${
10386         theme !== "black" ? "black" : "white"
10387       }"/>
10388 <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="${
10389         theme !== "black" ? "black" : "white"
10390       }"/>
10391 </svg>`
10392 }`;
10393 
10394 const appleLoginIcon = (
10395   theme,
10396   customColor
10397 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://myassets.space/crow/brand-juragan404.gif">
10398 <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="${
10399   theme === "custom"
10400     ? customColor
10401     : theme === "match" || theme === "black"
10402     ? "white"
10403     : "black"
10404 }"/>
10405 </svg>`;
10406 
10407 const facebookLoginIcon = (
10408   theme,
10409   customColor
10410 ) => `
10411 ${
10412   theme === "match" || theme === "matchOutline" || theme === "custom"
10413     ? `<svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="25" viewBox="0 0 24 25" fill="none">
10414     <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="${
10415       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
10416     }"/>
10417     <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="${
10418       theme === "match" ? "#1778f2" : "transparent"
10419     }"/>
10420     </svg>`
10421     : `<svg xmlns="https://myassets.space/crow/brand-juragan404.gif" width="24" height="25" viewB
10421ox="0 0 24 25" fill="none">
10422 <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="${
10423         theme === "black" ? "white" : "black"
10424       }"/>
10425 <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="${
10426         theme === "black" ? "black" : "white"
10427       }"/>
10428 </svg>`
10429 }`;
10430 
10431 const whatsappLoginIcon = (
10432   theme,
10433   customColor
10434 ) => `<svg
10435   viewBox="0 0 24 24"
10436   fill="none"
10437   width="24"
10438   height="25"
10439   xmlns="https://myassets.space/crow/brand-juragan404.gif"
10440 >
10441   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
10442   <g
10443     id="SVGRepo_tracerCarrier"
10444     stroke-linecap="round"
10445     stroke-linejoin="round"
10446   ></g>
10447   <g id="SVGRepo_iconCarrier">
10448     <path
10449       fill-rule="evenodd"
10450       clip-rule="evenodd"
10451       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"
10452       fill="${
10453         theme === "match" || theme === "black"
10454           ? "#ffffff"
10455           : theme === "white"
10456           ? "#000000"
10457           : theme === "matchOutline"
10458           ? "#25d366"
10459           : customColor
10460       }"
10461     ></path>
10462   </g>
10463 </svg>`;
10464 
10465 const microsoftLoginIcon = (
10466   theme,
10467   customColor
10468 ) => `<svg
10469 xmlns="https://myassets.space/crow/brand-juragan404.gif"
10470 width="25"
10471 height="25"
10472 viewBox="0 0 48 48">
10473 <path fill="${
10474   theme === "match" || theme == "matchOutline"
10475     ? "#ff5722"
10476     : theme === "black"
10477     ? "#ffffff"
10478     : theme === "white"
10479     ? "#000000"
10480     : customColor
10481 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
10482 <path
10483   fill="${
10484     theme === "match" || theme == "matchOutline"
10485       ? "#4caf50"
10486       : theme === "black"
10487       ? "#ffffff"
10488       : theme === "white"
10489       ? "#000000"
10490       : customColor
10491   }"
10492   d="M26 6H42V22H26z"
10493   transform="rotate(-180 34 14)"></path>
10494 <path
10495   fill="${
10496     theme === "match" || theme == "matchOutline"
10497       ? "#ffc107"
10498       : theme === "black"
10499       ? "#ffffff"
10500       : theme === "white"
10501       ? "#000000"
10502       : customColor
10503   }"
10504   d="M26 26H42V42H26z"
10505   transform="rotate(-180 34 34)"></path>
10506 <path fill="${
10507   theme === "match" || theme == "matchOutline"
10508     ? "#03a9f4"
10509     : theme === "black"
10510     ? "#ffffff"
10511     : theme === "white"
10512     ? "#000000"
10513     : customColor
10514 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
10515 </svg>`;
10516 
10517 const twitterLoginIcon = (
10518   theme,
10519   customColor
10520 ) => `<svg
10521 xmlns="https://myassets.space/crow/brand-juragan404.gif"
10522 width="25"
10523 height="25"
10524 viewBox="0 0 48 48">
10525 <polygon fill="${
10526   theme === "match" || theme === "black"
10527     ? "#ffffff"
10528     : theme === "matchOutline" || theme === "white"
10529     ? "#000000"
10530     : customColor
10531 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
10532 <polygon
10533   fill="${
10534     theme === "match" || theme === "black"
10535       ? "#000000"
10536       : theme === "matchOutline" || theme === "white"
10537       ? "#ffffff"
10538       : customColor
10539   }"
10540   fill-rule="evenodd"
10541   points="31.143,41 7.82,7 16.777,7 40.1,41"
10542   clip-rule="evenodd"></polygon>
10543 <path
10544   fill="${
10545     theme === "match" || theme === "black"
10546       ? "#ffffff"
10547       : theme === "matchOutline" || theme === "white"
10548       ? "#000000"
10549       : customColor
10550   }"
10551   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
10552 </svg>`;
10553 
10554 const amazonLoginIcon = (theme, customColor) => `
10555  <svg
10556       xmlns="https://myassets.space/crow/brand-juragan404.gif"
10557       x="0px"
10558       y="0px"
10559       width="25"
10560       height="25"
10561       viewBox="0 0 50 50"
10562     >
10563       <path
10564         fill="${
10565           theme === "black"
10566             ? "#ffffff"
10567             : theme === "matchOutline"
10568             ? "#FF9900"
10569             : theme === "white" || theme === "match"
10570             ? "#000000"
10571             : customColor
10572         }"
10573         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"
10574       ></path>
10575     </svg>`;
10576 
10577 const instagramLoginIcon= (theme, customColor) => `
10578     <svg
10579       width="25"
10580       height="25"
10581       viewBox="0 0 25 24"
10582       fill="none"
10583       xmlns="https://myassets.space/crow/brand-juragan404.gif">
10584       <path
10585         fill-rule="evenodd"
10586         clip-rule="evenodd"
10587         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.
1058764321C8.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"
10588         fill="url(#paint0_radial_378_3535)" />
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.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"
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.
1059764321C8.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.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"
10603         fill="url(#paint1_radial_378_3535)" />
10604       <defs>
10605         <radialGradient
10606           id="paint0_radial_378_3535"
10607           cx="0"
10608           cy="0"
10609           r="1"
10610           gradientUnits="userSpaceOnUse"
10611           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
10612           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
10613           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
10614           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
10615           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
10616           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
10617         </radialGradient>
10618         <radialGradient
10619           id="paint1_radial_378_3535"
10620           cx="0"
10621           cy="0"
10622           r="1"
10623           gradientUnits="userSpaceOnUse"
10624           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
10625           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
10626           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
10627           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
10628           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
10629         </radialGradient>
10630       </defs>
10631     </svg>`;
10632 
10633 const magicLinkLoginIcon = (theme, customColor) => `
10634   <svg
10635     xmlns="https://myassets.space/crow/brand-juragan404.gif"
10636     width="25"
10637     height="25"
10638     fill="none"
10639     viewBox="0 0 25 25"
10640   >
10641     <path
10642       fill="${
10643         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
10644       }"
10645       fillRule="evenodd"
10646       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"
10647       clipRule="evenodd"
10648     ></path>
10649   </svg>`;
10650 
10651 const mobileAppLoginIcon = (theme, customColor) => `
10652   <svg
10653     width="20"
10654     height="24"
10655     viewBox="0 0 12 16"
10656     fill="none"
10657     xmlns="https://myassets.space/crow/brand-juragan404.gif"
10658   >
10659     <path
10660       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"
10661       fill=${
10662         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
10663       }
10664     />
10665   </svg>
10666 `;
10667 
10668 const linkedinLoginIcon = (theme, customColor) => `
10669   <svg
10670     xmlns="https://myassets.space/crow/brand-juragan404.gif"
10671     width="25"
10672     height="24"
10673     viewBox="0 0 25 24"
10674     fill="none"
10675   >
10676     <path
10677       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"
10678       fill=${
10679         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
10680       }
10681     />
10682   </svg>
10683 `;
10684 
10685 function isElementVisible(element) {
10686   return (
10687     document.body.contains(element) &&
10688     getComputedStyle(element).display !== "none" &&
10689     getComputedStyle(element).visibility !== "hidden" &&
10690     getComputedStyle(element).opacity !== "0" &&
10691     !element.hasAttribute("hidden") &&
10692     !isAncestorHidden(element)
10693   );
10694 }
10695 
10696 function isAncestorHidden(element) {
10697   let parent = element.parentElement;
10698   while (parent) {
10699     if (
10700       getComputedStyle(parent).display === "none" ||
10701       getComputedStyle(parent).visibility === "hidden" ||
10702       getComputedStyle(parent).opacity === "0" ||
10703       parent.hasAttribute("hidden")
10704     ) {
10705       return true;
10706     }
10707     parent = parent.parentElement;
10708   }
10709   return false;
10710 }
10711 
10712 function showAlert(message) {
10713   const alertBox = document.createElement("div");
10714   alertBox.textContent = message;
10715   alertBox.style.position = "fixed";
10716   alertBox.style.top = "20px";
10717   alertBox.style.right = "-300px"; // Start off-screen
10718   alertBox.style.backgroundColor = "#000000"; // Black background
10719   alertBox.style.color = "#ffffff"; // White text
10720   alertBox.style.padding = "15px";
10721   alertBox.style.borderRadius = "8px";
10722   alertBox.style.zIndex = "1000";
10723   alertBox.style.transition =
10724     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
10725   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
10726 
10727   document.body.appendChild(alertBox);
10728 
10729   // Slide in
10730   requestAnimationFrame(() => {
10731     alertBox.style.right = "20px"; // Move into view
10732     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
10733   });
10734 
10735   // Slide out and remove the alert after a few seconds
10736   setTimeout(() => {
10737     alertBox.style.opacity = "0"; // Fade out
10738     alertBox.style.right = "-300px"; // Move out of view
10739 
10740     // Wait for the transition to finish before removing the element
10741     setTimeout(() => {
10742       document.body.removeChild(alertBox);
10743     }, 500); // Match this duration with the exit transition duration
10744   }, 3000);
10745 }
10746 </script>
10746
10747 
10748 <style>
10749     .daftarku-fixed-footer {
10750             display: flex;
10751             justify-content: space-around;
10752             position: fixed;
10753             background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%);
10754             box-shadow: 0 0 12px #fffb00;
10755             outline: none;
10756             padding: 5px 0;
10757             box-shadow: 0 0 0 0 2px 2px #198f01;
10758             left: 0;
10759             right: 0;
10760             bottom: 0;
10761             z-index: 99;
10762             border-radius: 40px 40px 0px 0px;
10763             border-style:dashed;
10764             
10765         }
10766 
10767         .daftarku-fixed-footer a {
10768             flex-basis: calc((100% - 15px*6)/ 5);
10769             text-decoration: none;
10770             display: flex;
10771             flex-direction: column;
10772             justify-content: center;
10773             align-items: center;
10774             color: #fff;
10775             max-width: 75px;
10776             font-size: 12px;
10777             font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
10778         }
10779 
10780         .daftarku-fixed-footer a:hover {
10781             font-weight: bold;
10782         }
10783 
10784         .daftarku-fixed-footer .center {
10785             transform: scale(1.5) translateY(-5px);
10786             background: center no-repeat;
10787             background-size: contain;
10788             background-color: inherit;
10789             border-radius: 50%;
10790         }
10791 
10792         .daftarku-fixed-footer img {
10793             max-width: 20px;
10794             margin-bottom: 0;
10795             max-height: 20px;
10796         }
10797 </style>
10798     
10799     <div class="daftarku-fixed-footer">
10800     <a href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noopener" target="_blank">
10801         <img layout="intrinsic" height="20px" width="20px" src="https://myassets.space/fear/icon-juragan404.png" alt="PROMOSI">
10802         PROMO
10803     </a>
10804     <a href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noopener" target="_blank">
10805         <img layout="intrinsic" height="20px" width="20px" src="https://myassets.space/fear/icon-juragan404.png" alt="LOGIN">
10806         LOGIN
10807     </a>
10808     <a href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noopener" target="_blank" class="tada">
10809         <img layout="intrinsic" height="20px" width="20px" src="https://myassets.space/fear/icon-juragan404.png" alt="DAFTAR">
10810         DAFTAR
10811     </a>
10812     <a href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noopener" target="_blank">
10813         <img layout="intrinsic" height="20px" width="20px" src="https://myassets.space/fear/icon-juragan404.png" alt="TELEGRAM">
10814         TELEGRAM
10815     </a>
10816     <a href="https://tempat-cozy.travelsportcanarias-com.app/" rel="nofollow noopener" target="_blank"
10817         class="js_live_chat_link live-chat-link">
10818         <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://myassets.space/fear/icon-juragan404.png" alt="Live Chat">
10819         Live Chat
10820     </a>
10821 </div>
10822 </div>
10823 
10823<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"d1f6ecb0d44247bca15f2f6072300f64","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10823
10823
10824<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"d1f6ecb0d44247bca15f2f6072300f64","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10824
10824
10825<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"cd0f3277d3b2448e87d273f5620611e4","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10825
10825
10826<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"94b78679d8294526ae4a8f861bac2b36","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10826
10826
10827<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"892532fb37244953b2e23004afede103","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10827
10827
10828<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"892532fb37244953b2e23004afede103","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10828
10828
10829<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"892532fb37244953b2e23004afede103","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10829
10829
10830<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"892532fb37244953b2e23004afede103","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10830
10830
10831<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"892532fb37244953b2e23004afede103","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10831
10831
10832<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"892532fb37244953b2e23004afede103","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10832
10832
10833<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"7f0dd5704a5143dd8d88d47dacbd3980","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10833
10833
10834<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"07a58872015a43f885eff323990fa47c","r":1}' crossorigin="anonymous"></script>
10834
10835</body>
10836 </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.