1<!doctype html> 2 <!--Brumm Brumm--> 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://ik.imagekit.io/nj9w1owsw/bxT5iMzr1aK7DYiqdrki.png"> 10 <!-- Title and description --> 11 <title>SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.</title> 12 <meta name="description" content="SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!"> 13 <meta name="keywords" content="SLOT200, link SLOT200, situs SLOT200, SLOT200 DAFTAR, SLOT200 LOGIN, SLOT200 ALTERNATIF, SLOT GACOR, TOTO TOGEL, slot gacor hari ini, link slot gacor, bocoran slot gacor, slot online Indonesia, situs slot terpercaya, daftar slot resmi, slot gampang menang, slot maxwin, situs slot JP, rtp slot, situs slot, agen slot, judi slot online,SLOT200 link slot gacor hari ini, situs slot online terpercaya 2025." /> 14 <link rel="canonical" href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 15 <link rel="amphtml" href="https://slot200thumuaphelieuhanoibang.pages.dev/"/> 16 <!-- /snippets/social-meta-tags.liquid --> 17 <meta property="og:type" content="SITUS SLOT ONLINE"> 18 <meta property="og:title" content="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1."> 19 <meta property="og:image" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 20 <meta property="og:image:secure_url" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 21 <meta property="og:image" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 22 <meta property="og:image:secure_url" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 23 <meta property="og:image" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 24 <meta property="og:image:secure_url" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 25 <meta property="og:description" content="SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!"> 26 <meta property="og:price:amount" content="10,000-,"> 27 <meta property="og:price:currency" content="IDR"> 28 <meta property="og:url" content="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 29 <meta property="og:site_name" content="SLOT200"> 30 <meta name="twitter:site" content="@SLOT200"> 31 <meta name="twitter:card" content="summary"> 32 <meta name="twitter:title" content="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1."> 33 <meta name="twitter:description" content="SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!"> 34 <meta name="twitter:image" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 35 <meta name="twitter:image:width" content="600"> 36 <meta name="twitter:image:height" content="600"> 37 <meta name="google-site-verification" content="IA_MLfXjOoc7UD3FBhKWT1wizoMJkoeW2RyosQu-wOM" /> 38 <link rel="shortcut icon" href="https://ik.imagekit.io/nj9w1owsw/bxT5iMzr1aK7DYiqdrki.png" type="image/png"> 39 <meta name="theme-color" content="#ffffff"> 40 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 41 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 42 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
42<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
42 43
43<script 44 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 45 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 46 crossorigin="anonymous" 47 referrerpolicy="no-referrer" 48 defer 49 ></script>
49 50
50<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
50 51
51<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
51<!-- Facebook Pixel Code --> 52
52<script>
vendor: 462 bytes, lines 52-61
52 53 !function(f,b,e,v,n,t,s) 54 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 55 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 56 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 57 n.queue=[];t=b.createElement(e);t.async=!0; 58 t.src=v;s=b.getElementsByTagName(e)[0]; 59 s.parentNode.insertBefore(t,s)}(window, document,'script', 60 'https://connect.facebook.net/en_US/fbevents.js'); 61 fbq('init', '
61165971065669324
vendor: 42 bytes, lines 61-63
61'); 62 fbq('track', 'PageView'); 63
63</script>
63 64 <noscript 65 ><img 66 height="1" 67 width="1" 68 style="display:none" 69 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 70 ></noscript> 71 <!-- End Facebook Pixel Code --> 72 73 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 74 <!-- 75 Global site tag (gtag.js) - Google Analytics -->
vendor: 75 bytes, lines 75-76
75 76 <script async src="https://www.googletagmanager.com/gtag/js?id=
76G-X26HYP4083
vendor: 23 bytes, lines 76-77
76"></script> 77
77<script> 78
vendor: 170 bytes, lines 78-82
78window.dataLayer = window.dataLayer || []; 79 function gtag(){dataLayer.push(arguments);} 80 gtag('js', new Date()); 81 82 gtag('config', '
82G-X26HYP4083
vendor: 15 bytes, lines 82-83
82'); 83
83</script>
83 84 <!-- Global site tag (gtag.js) - Google Analytics --> 85 86 <div class="button-login-daftar"> 87 <a class="login" href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noreferrer" style="color: white;"> 88 LOGIN 89 </a> 90 <a class="register" href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noreferrer" style="color: white;"> 91 DAFTAR 92 </a> 93 </div> 94 95
95<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
95 96 97 <!-- Bing UET --> 98
98<script> 99 (function(w,d,t,r,u) 100 { 101 var f,n,i; 102 w[u]=w[u]||[],f=function() 103 { 104 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 105 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 106 }, 107 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 108 { 109 var s=this.readyState; 110 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 111 }, 112 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 113 }) 114 (window,document,"script","//bat.bing.com/bat.js","uetq"); 115 </script>
115 116
116<script> 117 window.uetq = window.uetq || []; 118 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 119 </script>
119 120 <!-- End Bing UET --> 121 122 <!-- Microsoft Clarity --> 123
123<script type="text/javascript"> 124 (function(c,l,a,r,i,t,y){ 125 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 126 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 127 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 128 })(window, document, "clarity", "script", "h7rbxqry9k"); 129 </script>
129 130 <!-- End Microsoft Clarity --> 131 132 133 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 134 135 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 136 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 137 138
138<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
138 139
139<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
139 140
140<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
140 141
141<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
141 142 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 143 <link rel="alternate" type="application/json+oembed" href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/.oembed"> 144
144<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
144 145
145<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
145 146
146<script>var Shopify = Shopify || {}; 147 Shopify.shop = "outerbloom1.myshopify.com"; 148 Shopify.locale = "en"; 149 Shopify.currency = {"active":"IDR","rate":"1.0"}; 150 Shopify.country = "ID"; 151 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 152 Shopify.theme.handle = "null"; 153 Shopify.theme.style = {"id":null,"handle":null}; 154 Shopify.cdnHost = "outerbloom.com/cdn"; 155 Shopify.routes = Shopify.routes || {}; 156 Shopify.routes.root = "/";</script>
156 157
157<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
157 158
158<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>
158 159
159<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
159 160
160<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 161 "></script>
161 162
162<script>(function() { 163 var isLoaded = false; 164 function asyncLoad() { 165 if (isLoaded) return; 166 isLoaded = true; 167 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"]; 168 for (var i = 0; i < urls.length; i++) { 169 var s = document.createElement('script'); 170 s.type = 'text/javascript'; 171 s.async = true; 172 s.src = urls[i]; 173 var x = document.getElementsByTagName('script')[0]; 174 x.parentNode.insertBefore(s, x); 175 } 176 }; 177 if(window.attachEvent) { 178 window.attachEvent('onload', asyncLoad); 179 } else { 180 window.addEventListener('load', asyncLoad, false); 181 } 182 })();</script>
182 183
183<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>
183 184
184<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
184 185
185<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>
185 186
186<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>
186 187
187<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)}}; 188 </script>
188 189
189<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 190 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); 191 </script>
191 192
192<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})}})); 193 </script>
193 194 195
195<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
195 196 <!-- /snippets/oldIE-js.liquid --> 197 198 199 <!--[if lt IE 9]> 200
200<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
200 201
201<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
201 202 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 203 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 204
204<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
204 205 <![endif]--> 206 207 208 209 210 211 <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"> 212 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 213
213<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>
213 214
214<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":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","url":"\/products\/blossom-shine","type":"SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!"},"id":"44083045826775","image":{"src":"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"OBVSTF1086","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},"https://outerbloom.com/cdn","4f0c5c77w64a73806p128ba08bma5b58f2f",{"modern":"","legacy":""},{"shopId":"15896833","storefrontBaseUrl":"https:\/\/outerbloom.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"4f0c5c77w64a73806p128ba08bma5b58f2f","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.\",\"url\":\"\/products\/blossom-shine\",\"type\":\"SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
214<script> 215 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 216 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 217 window.ShopifyAnalytics.meta.currency = 'IDR'; 218 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!","variants":[{"id":44083045826775,"price":1000000 219 ,"name":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 220 for (var attr in meta) { 221 window.ShopifyAnalytics.meta[attr] = meta[attr]; 222 } 223 </script>
223 224
224<script class="analytics"> 225 (function () { 226 var customDocumentWrite = function(content) { 227 var jquery = null; 228 229 if (window.jQuery) { 230 jquery = window.jQuery; 231 } else if (window.Checkout && window.Checkout.$) { 232 jquery = window.Checkout.$; 233 } 234 235 if (jquery) { 236 jquery('body').append(content); 237 } 238 }; 239 240 var hasLoggedConversion = function(token) { 241 if (token) { 242 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 243 } 244 return false; 245 } 246 247 var setCookieIfConversion = function(token) { 248 if (token) { 249 var twoMonthsFromNow = new Date(Date.now()); 250 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 251 252 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 253 } 254 } 255 256 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 257 if (trekkie.integrations) { 258 return; 259 } 260 trekkie.methods = [ 261 'identify', 262 'page', 263 'ready', 264 'track', 265 'trackForm', 266 'trackLink' 267 ]; 268 trekkie.factory = function(method) { 269 return function() { 270 var args = Array.prototype.slice.call(arguments); 271 args.unshift(method); 272 trekkie.push(args); 273 return trekkie; 274 }; 275 }; 276 for (var i = 0; i < trekkie.methods.length; i++) { 277 var key = trekkie.methods[i]; 278 trekkie[key] = trekkie.factory(key); 279 } 280 trekkie.load = function(config) { 281 trekkie.config = config || {}; 282 trekkie.config.initialDocumentCookie = document.cookie; 283 var first = document.getElementsByTagName('script')[0]; 284 var script = document.createElement('script'); 285 script.type = 'text/javascript'; 286 script.onerror = function(e) { 287 var scriptFallback = document.createElement('script'); 288 scriptFallback.type = 'text/javascript'; 289 scriptFallback.onerror = function(error) { 290 var Monorail = { 291 produce: function produce(monorailDomain, schemaId, payload) { 292 var currentMs = new Date().getTime(); 293 var event = { 294 schema_id: schemaId, 295 payload: payload, 296 metadata: { 297 event_created_at_ms: currentMs, 298 event_sent_at_ms: currentMs 299 } 300 }; 301 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 302 }, 303 sendRequest: function sendRequest(endpointUrl, payload) { 304 // Try the sendBeacon API 305 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 306 var blobData = new window.Blob([payload], { 307 type: 'text/plain' 308 }); 309 310 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 311 return true; 312 } // sendBeacon was not successful 313 314 } // XHR beacon 315 316 var xhr = new XMLHttpRequest(); 317 318 try { 319 xhr.open('POST', endpointUrl); 320 xhr.setRequestHeader('Content-Type', 'text/plain'); 321 xhr.send(payload); 322 } catch (e) { 323 console.log(e); 324 } 325 326 return false; 327 }, 328 isIos12: function isIos12() { 329 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 330 } 331 }; 332 Monorail.produce('monorail-edge.shopifysvc.com', 333 'trekkie_storefront_load_errors/1.1', 334 {shop_id: 15896833, 335 theme_id: 153139282135, 336 app_name: "storefront", 337 context_url: window.location.href, 338 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 339 340 }; 341 scriptFallback.async = true; 342 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 343 first.parentNode.insertBefore(scriptFallback, first); 344 }; 345 script.async = true; 346 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 347 first.parentNode.insertBefore(script, first); 348 }; 349 trekkie.load( 350 {"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}} 351 ); 352 353 var loaded = false;
354 trekkie.ready(function() { 355 if (loaded) return; 356 loaded = true; 357 358 window.ShopifyAnalytics.lib = window.trekkie; 359 360 var originalDocumentWrite = document.write; 361 document.write = customDocumentWrite; 362 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 363 document.write = originalDocumentWrite; 364 365 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 366 367 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 368 var token = match? match[1]: undefined; 369 if (!hasLoggedConversion(token)) { 370 setCookieIfConversion(token); 371 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 372 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 373 } 374 }); 375 376 377 var eventsListenerScript = document.createElement('script'); 378 eventsListenerScript.async = true; 379 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 380 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 381 382 })();</script>
382 383
383<script> 384 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 385 window.ga = function ga() { 386 (window.ga.q = window.ga.q || []).push(arguments); 387 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 388 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 389 } 390 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."); 391 }; 392 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 393 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 394 } 395 } 396 </script>
396 397
397<script 398 defer 399 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 400 data-application="storefront-renderer" 401 data-shop-id="15896833" 402 data-render-region="gcp-asia-southeast1" 403 data-page-type="product" 404 data-theme-instance-id="153139282135" 405 data-theme-name="" 406 data-theme-version="" 407 data-monorail-region="shop_domain" 408 data-resource-timing-sampling-rate="10" 409 data-shs="true" 410 data-shs-beacon="true" 411 data-shs-export-with-fetch="true" 412 data-shs-logs-sample-rate="1" 413 ></script>
413 414 </head><body 415 data-template="product" 416 id="blossom-shine" 417 class="template-product template-product" 418 > 419 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 419-422
419 420 <noscript 421 ><iframe 422 src="https://www.googletagmanager.com/ns.html?id=
422GTM-MF9VVZX
vendor: 129 bytes, lines 422-428
422" 423 height="0" 424 width="0" 425 style="display:none;visibility:hidden" 426 ></iframe 427 ></noscript> 428
428<!-- End Google Tag Manager (noscript) --> 429 430 431 432 <div class="header-wrapper"> 433 434 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 435 436 <style> 437 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 438 #notification.promo-up {top: -48px!important;} 439 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 440 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 441 .notification__message p a {text-decoration: underline;color: #ffffff;} 442 @media (max-width: 991px){ 443 .notification__message p {font-size: 14px!important;} 444 } 445 </style> 446 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 447 <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"> 448 <div class="page-width notification__inner "> 449 450 451 <div class="notification__message text-center"> 452 <p><a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/" title="SLOT200">SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.</a></p> 453 </div> 454 </div> 455 </div> 456 457 458 459 460 </div> 461 <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"/> 462 463 464 <header style="background-image: url(https://ik.imagekit.io/nj9w1owsw/polos%202026-01-06%20at%2018.11.21.jpeg); background-attachment: fixed;"> 465 <div class="container"> 466 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 467 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 468 <img src="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" alt="logo-SLOT200" style="width: 190px;"></a> 469 <link href="https://ik.imagekit.io/nj9w1owsw/bxT5iMzr1aK7DYiqdrki.png" rel="shortcut icon" type="image/x-icon" /> 470 <div id="menu-hamburger" class="d-lg-none"> 471 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 472 <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"/> 473 </svg> 474 475 <a href="/"><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" viewBox="0 0 854 78.29"> 476 <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> 477 </svg> 478 </a> 479 </div> 480 481 <div class="header-icon-right header-icons col-3"> 482 <div class="icon icon-account-header d-none d-lg-block"> 483 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 484 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 485 <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"/> 486 <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"/> 487 </svg> 488 489 </a> 490 </div> 491 <div class="icon icon-wishlist-header"> 492 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 493 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 494 <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
4946 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"/> 495 </svg> 496 497 <span class="wishlist-count d-none">0</span> 498 </a> 499 </div> 500 <div class="icon icon-cart-header"> 501 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 502 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 503 <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"/> 504 <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"/> 505 </svg> 506 507 </a> 508 </div> 509 </div> 510 </div> 511 </div> 512 </header> 513 514 <nav class="nav-header" style="background-color: #242424;"> 515 <div class="nav-account-mobile row m-0 d-lg-none"> 516 <div class="col-6 welcome-cust p-0"> 517 518 <h1 class="logo"> 519 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 520 <img src="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" alt="SLOT200" style="max-height:60px;"> 521 </a> 522 </h1> 523 524 525 </div> 526 527 <div class="col-6 login-register text-right p-0"> 528 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/">Log In</a> | <a href="https://slot200thumuaphelieuhanoibang.pages.dev/">Sign Up</a> 529 </div> 530 </div> 531 <ul class="nav-menu container"> 532 533 <li class="nav-menu container"> 534 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 535 <span style="color: #ffffff;">SLOT200</span> 536 537 538 <li class=" nav-menu container"> 539 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 540 <span style="color: #ffffff;">SITUS SLOT</span> 541 542 543 <li class=" nav-menu container"> 544 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 545 <span style="color: #ffffff;">BANDAR SLOT ONLINE</span> 546 547 <li class=" nav-menu container"> 548 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 549 <span style="color: #ffffff;">SITUS SLOT</span> 550 551 <li class=" nav-menu container"> 552 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 553 <span style="color: #ffffff;">SITUS SLOT ONLINE</span> 554 555 <li class=" nav-menu container"> 556 <a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 557 <span style="color: #ffffff;">SITUS SLOT ONLINE </span> 558 559 <div class="overlay-nav"> 560 <!-- Mobile Close Button in Overlay --> 561 <button id="nav-close" class="nav-close-btn d-lg-none"> 562 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 563 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 564 </svg> 565 </button> 566 </div> 567 568
568<script> 569 if ($(window).width() < 992) { 570 // Level 1 menu accordion (main menu items) 571 $(".nav-menu .nav-menu container > a").click(function(e){ 572 e.preventDefault() 573 const parentLi = $(this).parent() 574 const isCurrentlyOpen = parentLi.hasClass("menu-open") 575 576 // Close all other open menus (accordion behavior) 577 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 578 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 579 580 // Toggle current menu 581 if (isCurrentlyOpen) { 582 parentLi.removeClass("menu-open") 583 $(this).next(".megamenu").slideUp() 584 } else { 585 parentLi.addClass("menu-open") 586 $(this).next(".megamenu").slideDown() 587 } 588 }) 589 590 // Level 2 menu accordion (submenu items with grandchildren) 591 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 592 e.preventDefault() 593 const parentLi = $(this).parent() 594 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 595 const grandchild = $(this).next(".grandchild") 596 597 // Close all other open submenus in the same dropdown (accordion behavior) 598 parentLi.siblings('.has-submenu').removeClass("submenu-open") 599 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 600 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 601 602 // Toggle current submenu 603 if (isCurrentlyOpen) { 604 parentLi.removeClass("submenu-open") 605 grandchild.slideUp() 606 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 607 } else { 608 parentLi.addClass("submenu-open") 609 grandchild.slideDown() 610 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 611 } 612 }) 613 614 $("#menu-hamburger").click(function(e){ 615 e.preventDefault() 616 $("body").toggleClass("nav_open") 617 }) 618 619 // Handle close button click 620 $("#nav-close").click(function(e){ 621 e.preventDefault() 622 $("body").removeClass("nav_open") 623 // Close all open menus when close button is clicked 624 $(".nav-menu .nav-menu container").removeClass("menu-open") 625 $(".nav-menu .megamenu").slideUp() 626 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 627 $(".dropdown-menu .grandchild").slideUp() 628 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 629 }) 630 } 631 632 $(".overlay-nav").click(function(e){ 633 e.preventDefault() 634 $("body").removeClass("nav_open") 635 // Close all open menus when overlay is clicked 636 $(".nav-menu .nav-menu container").removeClass("menu-open") 637 $(".nav-menu .megamenu").slideUp() 638 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 639 $(".dropdown-menu .grandchild").slideUp() 640 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 641 }) 642 </script>
642 643 644 645 </div> 646 647 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 648 #search-trigger { 649 cursor: pointer; 650 } 651 #search-popup { 652 display: none; 653 position: fixed; 654 left: 0; 655 width: 100%; 656 top: 0; 657 height: 100%; 658 justify-content: center; 659 z-index: 9999; 660 background: rgb(196 196 196 / 30%); 661 } 662 #search-input { 663 align-self: center; 664 width: 100%; 665 height: 80px; 666 position: absolute; 667 top: 0; 668 border-bottom: 0.5px solid #A3A3A3; 669 background-color: #fff; 670 } 671 #search-input * { 672 align-self: center; 673 } 674 #search-type { 675 width: 100%; 676 border: none; 677 padding-right: 20px; 678 padding-left: 20px; 679 font-size: 16px; 680 color: #757575; 681 } 682 #search-btn { 683 font-size: 16px; 684 font-weight: 500; 685 } 686 #search-result { 687 min-height: 490px; 688 width: 100%; 689 padding-top: 80px; 690 } 691 #search-result .container { 692 background-color: #fff; 693 padding: 20px 40px; 694 } 695 body.search-popup-open { 696 /* .search-popup-open */ 697 overflow: hidden; 698 } 699 .search-popup-open #loc_delivery { 700 display: none 701 } 702 .search-header svg { 703 display: none; 704 cursor: pointer; 705 } 706 .wrapper-search-popup { 707 max-height: calc(100vh - 150px); 708 overflow-y: auto; 709 overflow-x: hidden; 710 } 711 712 .group-recommend { 713 padding: 20px 40px; 714 } 715 716 .resultsearch { 717 display: none; 718 } 719 .results { padding: 20px 40px } 720 .resultsearch label { 721 font-weight: 600; 722 padding-bottom: 20px; 723 display: block; 724 margin-bottom: 20px; 725 border-bottom: 1px solid #AAAAAA; 726 } 727 728 ul.result_product { 729 max-height: 300px; 730 overflow: auto; 731 } 732 733 .group-promotion ul { 734 margin: 0; 735 } 736 .group-promotion li { 737 list-style: none; 738 margin-bottom: 12px; 739 } 740 .group-promotion li a { 741 color: inherit; 742 } 743 744 .group-recent { 745 position: relative; 746 padding: 20px 40px; 747 } 748 .group-recent ul { 749 margin: 0; 750 } 751 .group-recent li { 752 list-style: none; 753 display: inline-block; 754 margin-right: 60px; 755 } 756 .group-recent li a { 757 color: inherit; 758 } 759 760 .last-search svg { 761 width: 20px; 762 vertical-align: middle; 763 } 764 ul.last-search a { 765 vertical-align: middle; 766 padding: 0 10px; 767 } 768 ul.last-search li span { 769 cursor: pointer; 770 } 771 .delete-all-history { 772 position: absolute; 773 top: 25px; 774 right: 40px; 775 text-decoration: underline; 776 color: #e11d1d; 777 cursor: pointer; 778 font-size: 12px; 779 } 780 781 form.search.search-modal__form { 782 position: relative; 783 } 784 785 button.search__button svg { 786 width: 25px; 787 color: #495057; 788 fill: #757582; 789 } 790 791 button.search__button.field__button { 792 position: absolute; 793 top: 50%; 794 margin-top: -12px; 795 } 796 797 .close-search { 798 display: none; 799 position: absolute; 800 right: 65px; 801 top: 10px; 802 cursor: pointer; 803 } 804 805 .site-overlay { 806 position: fixed; 807 top: 0; 808 width: 100vw; 809 height: 100vh; 810 z-index: 1000; 811 background: #0000005c; 812 visibility: hidden; 813 opacity: 0; 814 pointer-events: none; 815 transition: all .3s linear; 816 display: block !important; 817 } 818 819 .search-popup-open .site-overlay { 820 opacity: 1; 821 visibility: visible; 822 pointer-events: all; 823 z-index: -1; 824 cursor: pointer; 825 } 826 827 @media (min-width: 991px) { 828 .group-recent ul { 829 column-count: 3; 830 } 831 .group-promotion li a { 832 font-size: 12px; 833 font-weight: 400; 834 } 835 .group-recent li a { 836 font-size: 12px; 837 font-weight: 400; 838 } 839 } 840 841 .moreresult { 842 padding: 10px 40px; 843 border-top: 1px solid #AAAAAA; 844 } 845 .moreresult * { 846 align-self: center; 847 } 848 .moreresult p { 849 margin: 0; 850 font-size: 12px !important; 851 } 852 .moreresult svg { 853 width: 13px; 854 } 855 856 @media (max-width: 992px) { 857 .icon-key-mobile { 858 height: auto!important; 859 width: 10px!important; 860 } 861 body.grid-view.search-popup-open .products { 862 -ms-flex: 0 0 100%!important; 863 flex: 0 0 100%!important; 864 max-width: 100%!important; 865 } 866 button.search__button svg {
867 width: 20px; 868 } 869 #search-result { 870 padding-left: 0; 871 padding-right: 0; 872 } 873 #search-result { 874 padding-top: 55px; 875 } 876 #search-input { 877 height: 55px; 878 } 879 .group-recommend { 880 padding: 20px; 881 } 882 #search-input .container { 883 padding: 0 20px; 884 } 885 #search-type { 886 font-size: 14px; 887 } 888 #search-btn { 889 font-size: 12px; 890 text-decoration: underline; 891 } 892 .results { 893 padding: 20px; 894 } 895 .group-recommend h3 { 896 font-size: 16px; 897 } 898 .products .card-body { 899 padding: 8px 0px 10px; 900 } 901 .moreresult { 902 padding: 10px 20px; 903 } 904 } 905 </style> 906 <style type="text/css"> 907 div.advertisement-placeholder { 908 text-align: center; 909 padding-bottom: 20px; 910 display: flex; 911 flex-direction: column; 912 justify-content: center; 913 } 914 div.advertisement-text p { 915 margin: 0; 916 font-family: Open Sans; 917 font-style: normal; 918 font-weight: normal; 919 font-size: 10px; 920 line-height: 20px; 921 color: #999999; 922 } 923 div.advertisement-banner { 924 margin: 0px auto; 925 } 926 div#div-gpt-ad-billboard-placeholder { 927 width: 996px; 928 margin: 0 auto; 929 background: #F5F5F5; 930 padding-bottom: unset !important; 931 min-height: 200px; 932 } 933 div#div-gpt-ad-lb-placeholder { 934 background: #F5F5F5; 935 padding-bottom: unset !important; 936 min-height: 280px; 937 } 938 .faq-section{ 939 max-width:1200px; 940 margin:50px auto; 941 padding:40px 20px; 942 position:relative; 943 background-color: rgba(0, 0, 0, 0.1); 944 backdrop-filter: blur(25px); 945 border-radius: 20px; 946 } 947 948 .faq-section::before{ 949 content:""; 950 position:absolute; 951 top:0;left:50%; 952 transform:translateX(-50%); 953 width:80%; 954 height:2px; 955 background:linear-gradient(90deg,transparent,#FCB11F,transparent) 956 } 957 958 .faq-section h2{ 959 text-align:center; 960 font-size:34px;font-weight:700; 961 margin-bottom:50px; 962 background: linear-gradient(135deg, #FCB11F, #FCB11F, #FCB11F); 963 -webkit-background-clip:text; 964 -webkit-text-fill-color:transparent; 965 background-clip:text; 966 font-family:"Poppins",sans-serif;letter-spacing:1px 967 } 968 969 .faq-container{ 970 display:flex; 971 flex-direction:column; 972 gap:25px 973 } 974 975 .faq-item{ 976 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 977 border:2px solid #FCB11F; 978 border-radius:20px;overflow:hidden; 979 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 980 } 981 982 .faq-item:hover{ 983 border-color:#FCB11F; 984 transform:translateX(10px); 985 box-shadow:0 12px 35px rgba(253, 4, 4, 0.25) 986 } 987 988 .faq-question{width:100%; 989 padding:28px 35px;background:transparent; 990 color:#ffffff; 991 font-size:18px; 992 font-weight:600; 993 text-align:left; 994 border:none;cursor:pointer; 995 display:flex; 996 justify-content:space-between; 997 align-items:center; 998 font-family:"Poppins",sans-serif; 999 transition:all .3s ease 1000 } 1001 1002 .faq-question:hover{ 1003 color:#FCB11F 1004 } 1005 1006 .faq-question::after{ 1007 content:'+'; 1008 font-size:32px; 1009 font-weight:300; 1010 transition:all .4s ease; 1011 color:#FCB11F; 1012 width:40px; 1013 height:40px; 1014 display:flex; 1015 align-items:center; 1016 justify-content:center; 1017 border:2px solid #FCB11F;border-radius:50%; 1018 background:rgba(0, 0, 0, 0.1) 1019 } 1020 1021 .faq-item.active .faq-question::after{ 1022 transform:rotate(135deg); 1023 background:linear-gradient(135deg,#FCB11F,#FCB11F); 1024 color:#000;border-color:transparent 1025 } 1026 1027 .faq-answer{ 1028 max-height:0; 1029 overflow:hidden; 1030 transition:max-height .5s ease,padding .5s ease; 1031 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1032 padding:0 35px 1033 } 1034 1035 .faq-item.active .faq-answer{ 1036 max-height:800px;padding:30px 35px; 1037 border-top:1px solid rgba(253, 4, 4, 0.3) 1038 } 1039 1040 .faq-answer p{ 1041 color:#e0e0e0; 1042 font-size:16px; 1043 line-height:2; 1044 margin:0; 1045 font-family:"Poppins",sans-serif 1046 } 1047 1048 @media 1049 (max-width:768px) 1050 { 1051 1052 .faq-section 1053 {padding:30px 15px} 1054 1055 .faq-section h2 1056 {font-size:26px} 1057 1058 .faq-question 1059 {font-size:16px; 1060 padding:22px 25px} 1061 1062 .faq-question::after 1063 {width:35px; 1064 height:35px; 1065 font-size:28px} 1066 1067 .faq-answer 1068 {padding:0 25px} 1069 1070 .faq-item.active .faq-answer 1071 {padding:25px} 1072 1073 .faq-item:hover 1074 {transform:translateX(5px)} 1075 } 1076 </style> 1077 <div id="search-popup"> 1078 <div id="search-input" class="row"> 1079 <div class="container w-100"> 1080 <form 1081 action="/search" 1082 method="get" 1083 role="search" 1084 class="search search-modal__form d-flex justify-content-between" 1085 > 1086 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1087 <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"/> 1088 </svg> 1089 1090 <input type="hidden" name="type" value="product"> 1091 <input 1092 type="text" 1093 id="search-type" 1094 name="q" 1095 class="search-popup" 1096 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1097 > 1098 <div class="close-search"><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1099 <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
109912.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"/> 1100 </svg> 1101 </div> 1102 <button id="search-btn">Search</button> 1103 </form> 1104 </div> 1105 </div> 1106 <div id="search-result" class="container m-auto"> 1107 <div class="container p-0"> 1108 <div class="group-promotion"> 1109 <div class="resultsearch"> 1110 <div class="row results"> 1111 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1112 <label>SUGGESTIONS</label> 1113 <ul class="result_collection"></ul> 1114 </div> 1115 <div class="col-12 col-lg-6"> 1116 <label>PRODUCTS</label> 1117 <ul class="result_product"></ul> 1118 </div> 1119 </div> 1120 <div class="d-flex justify-content-between moreresult m-0"> 1121 <p>Search for<span></span></p> 1122 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="32" height="32" viewBox="0 0 32 32"> 1123 <title>icon-arrow-right</title> 1124 <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> 1125 </svg> 1126 </div> 1127 </div> 1128 </div> 1129 <div class="group-recent hide"> 1130 <h3>RECENT SEARCH</h3> 1131 <span class="delete-all-history">Hapus riwayat</span> 1132 <ul class="last-search"></ul> 1133 </div> 1134 <div class="group-recommend"> 1135 <h3>YOU MAY ALSO LIKE</h3> 1136 1137 1138 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1139 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1140 1141 1142 <div class="swiper-slide card"> 1143 1144 1145 1146 1147 <div class="products" data-lazy="false"> 1148 <div class="bg-products"> 1149 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1150 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1151 <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.
115111233C11.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"/> 1152 </svg> 1153 1154 </div> 1155 <a href="/products/mid-autumn-of-love-mooncake"> 1156 1157 <div class="product-card-img-container p-0 position-relative"> 1158 1159 <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"> 1160 </div> 1161 <div class="card-body product-card-info"> 1162 <h5 class="h5 mb-0"> 1163 Mid Autumn of Love Mooncake 1164 </h5> 1165 <div class="product-card-price"> 1166 1167 <div class="product-price-sale"> 1168 <s class="product-card-price-before card-money">Rp 588.000</s> 1169 <span class="product-card-discount small"> 1170 (-40%) 1171 </span> 1172 </div> 1173 1174 1175 1176 <div class="price-discount"> 1177 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1178 </div> 1179 1180 1181 1182 1183 1184 </div> 1185 1186 </div> 1187 </a> 1188 </div> 1189 1190 </div> 1191 1192 </div> 1193 1194 1195 1196 <div class="swiper-slide card"> 1197 1198 1199 1200 1201 <div class="products" data-lazy="false"> 1202 <div class="bg-products"> 1203 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1204 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1205 <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.
120511233C11.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"/> 1206 </svg> 1207 1208 </div> 1209 <a href="/products/mid-autumn-of-joy-mooncake"> 1210 1211 <div class="product-card-img-container p-0 position-relative"> 1212 1213 <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"> 1214 </div> 1215 <div class="card-body product-card-info"> 1216 <h5 class="h5 mb-0"> 1217 Mid Autumn of Joy Mooncake 1218 </h5> 1219 <div class="product-card-price"> 1220 1221 <div class="product-price-sale"> 1222 <s class="product-card-price-before card-money">Rp 888.000</s> 1223 <span class="product-card-discount small"> 1224 (-33%) 1225 </span> 1226 </div> 1227 1228 1229 1230 <div class="price-discount"> 1231 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1232 </div> 1233 1234 1235 1236 1237 1238 </div> 1239 1240 </div> 1241 </a> 1242 </div> 1243 1244 </div> 1245 1246 </div> 1247 1248 1249 1250 <div class="swiper-slide card"> 1251 1252 1253 1254 1255 <div class="products" data-lazy="false"> 1256 <div class="bg-products"> 1257 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1258 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1259 <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.
125911233C11.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"/> 1260 </svg> 1261 1262 </div> 1263 <a href="/products/mid-autumn-of-fortune-mooncake"> 1264 1265 <div class="product-card-img-container p-0 position-relative"> 1266 1267 <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"> 1268 </div> 1269 <div class="card-body product-card-info"> 1270 <h5 class="h5 mb-0"> 1271 Mid Autumn of Fortune Mooncake 1272 </h5> 1273 <div class="product-card-price"> 1274 1275 <div class="product-price-sale"> 1276 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1277 <span class="product-card-discount small"> 1278 (-33%) 1279 </span> 1280 </div> 1281 1282 1283 1284 <div class="price-discount"> 1285 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1286 </div> 1287 1288 1289 1290 1291 1292 </div> 1293 1294 </div> 1295 </a> 1296 </div> 1297 1298 </div> 1299 1300 </div> 1301 1302 1303 1304 <div class="swiper-slide card"> 1305 1306 1307 1308 1309 <div class="products" data-lazy="false"> 1310 <div class="bg-products"> 1311 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1312 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1313 <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.
131311233C11.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"/> 1314 </svg> 1315 1316 </div> 1317 <a href="/products/mid-autumn-festival-mooncake"> 1318 1319 <div class="product-card-img-container p-0 position-relative"> 1320 1321 <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"> 1322 </div> 1323 <div class="card-body product-card-info"> 1324 <h5 class="h5 mb-0"> 1325 Mid Autumn Festival Mooncake 1326 </h5> 1327 <div class="product-card-price"> 1328 1329 <div class="product-price-sale"> 1330 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1331 <span class="product-card-discount small"> 1332 (-23%) 1333 </span> 1334 </div> 1335 1336 1337 1338 <div class="price-discount"> 1339 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1340 </div> 1341 1342 1343 1344 1345 1346 </div> 1347 1348 </div> 1349 </a> 1350 </div> 1351 1352 </div> 1353 1354 </div> 1355 1356 1357 1358 <div class="swiper-slide card"> 1359 1360 1361 1362 1363 <div class="products" data-lazy="false"> 1364 <div class="bg-products"> 1365 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1366 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1367 <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.
136711233C11.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"/> 1368 </svg> 1369 1370 </div> 1371 <a href="/products/the-jade-bouquet"> 1372 1373 <div class="product-card-img-container p-0 position-relative"> 1374 1375 <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"> 1376 </div> 1377 <div class="card-body product-card-info"> 1378 <h5 class="h5 mb-0"> 1379 The Jade Bouquet 1380 </h5> 1381 <div class="product-card-price"> 1382 1383 <div class="product-price-sale"> 1384 <s class="product-card-price-before card-money">Rp 435.000</s> 1385 <span class="product-card-discount small"> 1386 (-34%) 1387 </span> 1388 </div> 1389 1390 1391 1392 <div class="price-discount"> 1393 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1394 </div> 1395 1396 1397 1398 1399 1400 </div> 1401 1402 </div> 1403 </a> 1404 </div> 1405 1406 </div> 1407 1408 </div> 1409 1410 1411 1412 <div class="swiper-slide card"> 1413 1414 1415 1416 1417 <div class="products" data-lazy="false"> 1418 <div class="bg-products"> 1419 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1420 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1421 <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.
142111233C11.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"/> 1422 </svg> 1423 1424 </div> 1425 <a href="/products/the-selena-bouquet"> 1426 1427 <div class="product-card-img-container p-0 position-relative"> 1428 1429 <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"> 1430 </div> 1431 <div class="card-body product-card-info"> 1432 <h5 class="h5 mb-0"> 1433 The Selena Bouquet 1434 </h5> 1435 <div class="product-card-price"> 1436 1437 <div class="product-price-sale"> 1438 <s class="product-card-price-before card-money">Rp 335.000</s> 1439 <span class="product-card-discount small"> 1440 (-29%) 1441 </span> 1442 </div> 1443 1444 1445 1446 <div class="price-discount"> 1447 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1448 </div> 1449 1450 1451 1452 1453 1454 </div> 1455 1456 </div> 1457 </a> 1458 </div> 1459 1460 </div> 1461 1462 </div> 1463 1464 1465 1466 <div class="swiper-slide card"> 1467 1468 1469 1470 1471 <div class="products" data-lazy="false"> 1472 <div class="bg-products"> 1473 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1474 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1475 <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.
147511233C11.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"/> 1476 </svg> 1477 1478 </div> 1479 <a href="/products/the-viola-bouquet"> 1480 1481 <div class="product-card-img-container p-0 position-relative"> 1482 1483 <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"> 1484 </div> 1485 <div class="card-body product-card-info"> 1486 <h5 class="h5 mb-0"> 1487 The Viola Bouquet 1488 </h5> 1489 <div class="product-card-price"> 1490 1491 <div class="product-price-sale"> 1492 <s class="product-card-price-before card-money">Rp 385.000</s> 1493 <span class="product-card-discount small"> 1494 (-25%) 1495 </span> 1496 </div> 1497 1498 1499 1500 <div class="price-discount"> 1501 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1502 </div> 1503 1504 1505 1506 1507 1508 </div> 1509 1510 </div> 1511 </a> 1512 </div> 1513 1514 </div> 1515 1516 </div> 1517 1518 1519 1520 <div class="swiper-slide card"> 1521 1522 1523 1524 1525 <div class="products" data-lazy="false"> 1526 <div class="bg-products"> 1527 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1528 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1529 <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.
152911233C11.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"/> 1530 </svg> 1531 1532 </div> 1533 <a href="/products/the-minerva-bouquet"> 1534 1535 <div class="product-card-img-container p-0 position-relative"> 1536 1537 <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"> 1538 </div> 1539 <div class="card-body product-card-info"> 1540 <h5 class="h5 mb-0"> 1541 The Minerva Bouquet 1542 </h5> 1543 <div class="product-card-price"> 1544 1545 <div class="product-price-sale"> 1546 <s class="product-card-price-before card-money">Rp 385.000</s> 1547 <span class="product-card-discount small"> 1548 (-25%) 1549 </span> 1550 </div> 1551 1552 1553 1554 <div class="price-discount"> 1555 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1556 </div> 1557 1558 1559 1560 1561 1562 </div> 1563 1564 </div> 1565 </a> 1566 </div> 1567 1568 </div> 1569 1570 </div> 1571 1572 1573 1574 <div class="swiper-slide card"> 1575 1576 1577 1578 1579 <div class="products" data-lazy="false"> 1580 <div class="bg-products"> 1581 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1582 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1583 <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.
158311233C11.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"/> 1584 </svg> 1585 1586 </div> 1587 <a href="/products/congraduations-bouquet"> 1588 1589 <div class="product-card-img-container p-0 position-relative"> 1590 1591 <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"> 1592 </div> 1593 <div class="card-body product-card-info"> 1594 <h5 class="h5 mb-0"> 1595 Congraduations Bouquet 1596 </h5> 1597 <div class="product-card-price"> 1598 1599 <div class="product-price-sale"> 1600 <s class="product-card-price-before card-money">Rp 380.000</s> 1601 <span class="product-card-discount small"> 1602 (-25%) 1603 </span> 1604 </div> 1605 1606 1607 1608 <div class="price-discount"> 1609 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1610 </div> 1611 1612 1613 1614 1615 1616 </div> 1617 1618 </div> 1619 </a> 1620 </div> 1621 1622 </div> 1623 1624 </div> 1625 1626 1627 1628 <div class="swiper-slide card"> 1629 1630 1631 1632 1633 <div class="products" data-lazy="false"> 1634 <div class="bg-products"> 1635 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1636 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1637 <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.
163711233C11.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"/> 1638 </svg> 1639 1640 </div> 1641 <a href="/products/grad-gorgeous-bouquet"> 1642 1643 <div class="product-card-img-container p-0 position-relative"> 1644 1645 <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 & Gorgeous Bouquet" height="200" width="200"> 1646 </div> 1647 <div class="card-body product-card-info"> 1648 <h5 class="h5 mb-0"> 1649 Grad & Gorgeous Bouquet 1650 </h5> 1651 <div class="product-card-price"> 1652 1653 <div class="product-price-sale"> 1654 <s class="product-card-price-before card-money">Rp 380.000</s> 1655 <span class="product-card-discount small"> 1656 (-25%) 1657 </span> 1658 </div> 1659 1660 1661 1662 <div class="price-discount"> 1663 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1664 </div> 1665 1666 1667 1668 1669 1670 </div> 1671 1672 </div> 1673 </a> 1674 </div> 1675 1676 </div> 1677 1678 </div> 1679 1680 1681 </div> 1682 </div> 1683 1684 </div> 1685 </div> 1686 </div> 1687 1688 <div class="site-overlay" style="display: none"></div> 1689 </div> 1690
1690<script> 1691 1692 var swiper = new Swiper('.popup-recommend', { 1693 slidesPerView : 4, 1694 spaceBetween: 30, 1695 lazy: true , 1696 speed: 300, 1697 breakpoints: { 1698 // when window width is <= 576px 1699 576: { 1700 slidesPerView: 2, 1701 spaceBetween: 10, 1702 freeMode: true, 1703 resistance : true, 1704 resistanceRatio : 0, 1705 freeModeMomentumRatio : 0.45, 1706 freeModeMomentumVelocityRatio : 1.5 1707 }, 1708 768: { 1709 slidesPerView: 2, 1710 spaceBetween: 10 1711 }, 1712 992: { 1713 slidesPerView: 3, 1714 spaceBetween: 20 1715 } 1716 } 1717 }); 1718 1719 const searchContainer = $("#search-popup") 1720 const searchInput = $(".search-popup") 1721 const result_collection = $('.result_collection') 1722 const result_product = $('.result_product') 1723 const resultsearch = $('.resultsearch') 1724 const resultrecommend = $(".group-recommend") 1725 const moreresult = $(".moreresult") 1726 1727 searchInput.keyup(function(){ 1728 const input = $(this).val() 1729 moreresult.find("p span").text(` â${input}â`) 1730 if(input.length > 2) { 1731 $(".close-search").show() 1732 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1733 $.ajax({ 1734 type: 'GET', 1735 url, 1736 beforeSend: function() { 1737 // setting a timeout 1738 // $(placeholder).addClass('loading'); 1739 }, 1740 success: function(response) { 1741 resultsearch.show() 1742 resultrecommend.hide() 1743 result_collection.html("") 1744 result_product.html("") 1745 const collections = response.resources.results.collections 1746 const products = response.resources.results.products 1747 let collection_length = collections.length 1748 let product_length = products.length 1749 // if(collections.length > 5) { 1750 // collection_length = 5 1751 // } 1752 // if(products.length > 5) { 1753 // product_length = 5 1754 // } 1755 for(let i=0;i<collection_length;i++){ 1756 const title = collections[i].title 1757 const url = collections[i].url 1758 let html_collection 1759 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1760 html_collection = ` 1761 <li class="item" data-title="${title}"> 1762 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1763 </li> 1764 ` 1765 } 1766 result_collection.append(html_collection) 1767 } 1768 for(let i=0;i<product_length;i++){ 1769 const title = products[i].title 1770 const url = products[i].url 1771 const image = products[i].featured_image.url 1772 const vendor = products[i].vendor 1773 let html_product 1774 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1775 html_product = ` 1776 <li class="item" data-vendor="${vendor}"> 1777 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1778 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1779 </a> 1780 </li> 1781 ` 1782 } 1783 result_product.append(html_product) 1784 } 1785 }, 1786 error: function(xhr) { // if error occured 1787 alert("Error occured.please try again"); 1788 }, 1789 complete: function(response) { 1790 // $(placeholder).removeClass('loading'); 1791 }, 1792 dataType: 'JSON' 1793 }); 1794 } else { 1795 result_collection.html("") 1796 result_product.html("") 1797 1798 resultsearch.hide() 1799 resultrecommend.show() 1800 } 1801 }) 1802 1803 moreresult.click(function(){ 1804 $("#search-btn").trigger("click"); 1805 }) 1806 1807 $(".close-search").click(function(){ 1808 $(this).hide() 1809 searchInput.val("") 1810 searchInput.focus() 1811 resultsearch.hide() 1812 resultrecommend.show() 1813 }) 1814 1815 function setCookie(name,value,days) { 1816 var expires = ""; 1817 if (days) { 1818 var date = new Date(); 1819 date.setTime(date.getTime() + (days*24*60*60*1000)); 1820 expires = "; expires=" + date.toUTCString(); 1821 } 1822 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1823 } 1824 function getCookie(name) { 1825 var nameEQ = name + "="; 1826 var ca = document.cookie.split(';');
1827 for(var i=0;i < ca.length;i++) { 1828 var c = ca[i]; 1829 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1830 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1831 } 1832 return null; 1833 } 1834 let last_search_name = [] 1835 let last_search_url = [] 1836 $(".group-recent").hide() 1837 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1838 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 1839 $(".group-recent").show() 1840 last_search_name = getCookie("last_search_name"); 1841 last_search_url = getCookie("last_search_url"); 1842 const arrName = last_search_name.substring(1).split(',').reverse() 1843 const arrUrl = last_search_url.substring(1).split(',').reverse() 1844 console.log(arrName, 'Array Name') 1845 console.log(arrUrl, 'Array Url') 1846 let length = arrName.length 1847 if(arrName.length > 5) { 1848 length = 5 1849 } 1850 for(let n=0;n<length;n++){ 1851 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 1852 $(".group-recent ul").append(html2) 1853 } 1854 } 1855 } 1856 console.log(last_search_name, 'Name') 1857 console.log(last_search_url, 'url') 1858 1859 resultsearch.delegate(".item a", "click", function(){ 1860 let name = [last_search_name] 1861 let url = [last_search_url] 1862 name.push($(this).attr('data-title')) 1863 url.push($(this).attr('data-url')) 1864 setCookie("last_search_name",name,7); 1865 setCookie("last_search_url",url,7); 1866 }) 1867 1868 $(".delete-all-history").click(function() { 1869 setCookie("last_search_name",null,0); 1870 setCookie("last_search_url",null,0); 1871 $(".last-search").hide(); 1872 setTimeout(function(){ 1873 location.reload(); 1874 }, 500); 1875 }) 1876 1877 $("#search-trigger").click(function(){ 1878 search_open() 1879 }) 1880 $(".icon-search-mobile").click(function(){ 1881 search_open() 1882 }) 1883 $(".search-header svg").click(function(){ 1884 search_close() 1885 }) 1886 $(".icon-key-mobile").click(function(){ 1887 search_close() 1888 }) 1889 1890 function search_open() { 1891 $("body").addClass("search-popup-open") 1892 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 1893 $("#search-popup, .search-header svg, .icon-key-mobile").show() 1894 $(".search-popup").focus() 1895 $('.popup-recommend')[0].swiper.update(); 1896 } 1897 function search_close() { 1898 $("body").removeClass("search-popup-open") 1899 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 1900 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 1901 searchInput.val("") 1902 resultsearch.hide() 1903 resultrecommend.show() 1904 } 1905 1906 $(".site-overlay").click(function(){ 1907 search_close() 1908 }) 1909 </script>
1909 1910 1911 </div> 1912 </div> 1913 1914 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 1915 <main class="main-content pt-0" role="main"> 1916 1917 <div id="breadcrumbProduct" class="d-none d-lg-block"> 1918 <style> 1919 #breadcrumbProduct { 1920 padding: 20px 0; 1921 } 1922 #breadcrumbProduct ul { 1923 display: flex; 1924 padding: 0; 1925 list-style: none; 1926 margin: 0; 1927 gap: 12px; 1928 } 1929 #breadcrumbProduct ul li { 1930 text-transform: uppercase; 1931 margin: 0; 1932 font-size: 12px; 1933 } 1934 #breadcrumbProduct ul li a { 1935 color: #757575; 1936 } 1937 1938 #breadcrumbProduct ul li svg { 1939 width: 10px; 1940 height: 10px; 1941 padding: 0; 1942 color: #757575; 1943 vertical-align: middle; 1944 } 1945 </style> 1946 <div class="container" style="color: #ffffff;"> 1947 <ul role="navigation" aria-label="breadcrumbs"> 1948 <li><a href="https://thumuaphelieuhanoi.com/bang-bao-gia-2/" style="color: #ffffff;">SLOT200</a></li> 1949 <li><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 1950 <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"/> 1951 </svg></li> 1952 <li>SITUS SLOT</li> 1953 <li>BANDAR SLOT</li> 1954 <li>SITUS SLOT ONLINE</li> 1955 <li>SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.</li> 1956 1957 </ul> 1958 </div> 1959 1960 </div> 1961 1962
1962<script type="application/ld+json"> 1963 { 1964 "@context": "https://schema.org", 1965 "@type": "Product", 1966 "name": "SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.", 1967 "image": "https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg", 1968 "description": "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!", 1969 "brand": { 1970 "@type": "Brand", 1971 "name": "SLOT200" 1972 }, 1973 "sku": "SLOT200", 1974 "mpn": "SLOT200", 1975 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/", 1976 "offers": { 1977 "@type": "Offer", 1978 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/", 1979 "priceCurrency": "USD", 1980 "price": "10.00", 1981 "priceValidUntil": "2025-12-25", 1982 "itemCondition": "https://schema.org/NewCondition", 1983 "availability": "https://schema.org/InStock", 1984 "seller": { 1985 "@type": "Organization", 1986 "name": "SLOT200" 1987 } 1988 }, 1989 "aggregateRating": { 1990 "@type": "AggregateRating", 1991 "ratingValue": "5.0", 1992 "reviewCount": 858 1993 }, 1994 "review": [ 1995 { 1996 "@type": "Review", 1997 "reviewRating": { 1998 "@type": "Rating", 1999 "ratingValue": "5", 2000 "bestRating": "5" 2001 }, 2002 "author": { 2003 "@type": "Person", 2004 "name": "juandi" 2005 } 2006 }, 2007 { 2008 "@type": "Review", 2009 "reviewRating": { 2010 "@type": "Rating", 2011 "ratingValue": "5", 2012 "bestRating": "5" 2013 }, 2014 "author": { 2015 "@type": "Person", 2016 "name": "situmorang" 2017 } 2018 } 2019 ] 2020 } 2021 </script>
2021<script type="application/ld+json"> 2022 { 2023 "@context": "https://schema.org", 2024 "@type": "BreadcrumbList", 2025 "itemListElement": [ 2026 { 2027 "@type": "ListItem", 2028 "position": 1, 2029 "name": "SLOT200", 2030 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2031 }, 2032 { 2033 "@type": "ListItem", 2034 "position": 2, 2035 "name": "SITUS SLOT", 2036 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2037 }, 2038 { 2039 "@type": "ListItem", 2040 "position": 3, 2041 "name": "AGEN SLOT", 2042 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2043 }, 2044 { 2045 "@type": "ListItem", 2046 "position": 4, 2047 "name": "BANDAR SLOT", 2048 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2049 }, 2050 { 2051 "@type": "ListItem", 2052 "position": 5, 2053 "name": "SITUS SLOT ONLINE", 2054 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2055 }, 2056 { 2057 "@type": "ListItem", 2058 "position": 6, 2059 "name": "AGEN SLOT ONLINE", 2060 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2061 }, 2062 { 2063 "@type": "ListItem", 2064 "position": 7, 2065 "name": "BANDAR SLOT ONLINE", 2066 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2067 }, 2068 { 2069 "@type": "ListItem", 2070 "position": 8, 2071 "name": "SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.", 2072 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2073 } 2074 ] 2075 } 2076 </script>
2076 2077 2078 <!--faq--> 2079 2080
2080<script type="application/ld+json" id="faq-schema"> 2081{ 2082 "@context": "https://schema.org", 2083 "@type": "FAQPage", 2084 "mainEntity": [ 2085 { 2086 "@type": "Question", 2087 "name": "Apa itu SLOT200 dan mengapa dianggap sebagai agen terpercaya di 2025?", 2088 "acceptedAnswer": { 2089 "@type": "Answer", 2090 "text": "SLOT200 adalah platform hiburan daring yang menyediakan layanan Slot Gacor dan Toto Togel terlengkap di Indonesia. Kami dianggap terpercaya karena memiliki lisensi resmi internasional, sistem keamanan enkripsi data terbaru, serta komitmen pembayaran kemenangan member secara penuh dan instan." 2091 } 2092 }, 2093 { 2094 "@type": "Question", 2095 "name": "Permainan apa saja yang tersedia di SLOT200?", 2096 "acceptedAnswer": { 2097 "@type": "Answer", 2098 "text": "Kami menyediakan berbagai variasi permainan judi daring populer, antara lain: Slot Online: Ribuan mesin slot dengan RTP (Return to Player) tinggi dari provider ternama seperti Pragmatic Play, PG Soft, dan Habanero. Toto Togel: Pasaran togel terlengkap mulai dari Singapore, Hongkong, Sydney, hingga pasaran lokal lainnya. Live Casino: Pengalaman bermain kasino langsung dengan dealer nyata. Sportsbook: Taruhan olahraga untuk berbagai cabang pertandingan dunia." 2099 } 2100 }, 2101 { 2102 "@type": "Question", 2103 "name": "Bagaimana cara mendaftar dan mulai bermain di SLOT200?", 2104 "acceptedAnswer": { 2105 "@type": "Answer", 2106 "text": "Proses pendaftaran sangat mudah dan cepat: Klik tombol Daftar di halaman utama SLOT200. Isi formulir pendaftaran dengan data yang valid (Nama pengguna, kata sandi, nomor rekening, dan nomor telepon). Setelah akun aktif, lakukan deposit minimal untuk mulai menikmati semua permainan." 2107 } 2108 }, 2109 { 2110 "@type": "Question", 2111 "name": "Apa saja metode transaksi yang didukung oleh SLOT200?", 2112 "acceptedAnswer": { 2113 "@type": "Answer", 2114 "text": "Untuk memudahkan member di seluruh Indonesia, kami menyediakan metode transaksi 24 jam nonstop melalui: Bank Lokal: BCA, Mandiri, BNI, BRI, dan CIMB Niaga. E-Wallet: Dana, OVO, GoPay, dan LinkAja. Deposit Pulsa: Tanpa potongan (sesuai promo yang berlaku)." 2115 } 2116 }, 2117 { 2118 "@type": "Question", 2119 "name": "Apakah tersedia layanan bantuan jika saya mengalami kendala?", 2120 "acceptedAnswer": { 2121 "@type": "Answer", 2122 "text": "Tentu saja. SLOT200 memiliki tim Customer Service profesional yang siap membantu Anda 24/7. Anda dapat menghubungi kami kapan saja melalui fitur Live Chat di situs web atau melalui kontak resmi WhatsApp kami untuk solusi cepat terkait kendala teknis, transaksi, maupun informasi permainan." 2123 } 2124 } 2125 ] 2126} 2127</script>
2127 2128
2128<script type="application/ld+json"> 2129 { 2130 "@context": "https://schema.org", 2131 "@type": "Organization", 2132 "name": "SLOT200", 2133 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/", 2134 "logo": "https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png", 2135 "sameAs": [ 2136 "https://www.facebook.com/SLOT200", 2137 "https://twitter.com/SLOT200", 2138 "https://www.instagram.com/SLOT200" 2139 ], 2140 "contactPoint": { 2141 "@type": "ContactPoint", 2142 "telephone": "+62-8946-113-4615", 2143 "contactType": "customer support", 2144 "areaServed": "ID", 2145 "availableLanguage": ["Indonesian", "English"] 2146 } 2147 } 2148 </script>
2148 2149 2150
2150<script type="application/ld+json"> 2151 { 2152 "@context": "https://schema.org", 2153 "@type": "VideoObject", 2154 "name": "SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.", 2155 "description": "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!", 2156 "thumbnailUrl": [ 2157 "https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg", 2158 "https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2159 ], 2160 "uploadDate": "2025-09-28T04:19:10-04:00", 2161 "duration": "PT168", 2162 "contentUrl": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2163 } 2164 </script>
2164 2165 2166
2166<script type="application/ld+json"> 2167 { 2168 "@context": "https://schema.org", 2169 "@type": "BreadcrumbList", 2170 "itemListElement": [ 2171 { 2172 "@type": "ListItem", 2173 "position": 1, 2174 "name": "Home", 2175 "item": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 2176 } 2177 ] 2178 } 2179 </script>
2179 2180 2181
2181<script type="application/ld+json"> 2182 { 2183 "@context": "https://schema.org", 2184 "@graph": [ 2185 { 2186 "@type": "Organization", 2187 "@id": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/#org", 2188 "name": "SLOT200", 2189 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/", 2190 "logo": "https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2191 }, 2192 { 2193 "@type": "WebSite", 2194 "@id": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/#website", 2195 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/", 2196 "name": "SLOT200", 2197 "publisher": { "@id": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/#org" }, 2198 "inLanguage": "id-ID", 2199 "potentialAction": { 2200 "@type": "SearchAction", 2201 "target": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/?s={search_term_string}", 2202 "query-input": "required name=search_term_string" 2203 } 2204 }, 2205 { 2206 "@type": "SoftwareApplication", 2207 "@id": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/#app", 2208 "name": "SLOT200", 2209 "applicationCategory": "GameApplication", 2210 "operatingSystem": "Android, iOS, Windows", 2211 "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" }, 2212 "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 } 2213 } 2214 ] 2215 } 2216 </script>
2216 2217 2218 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://asset-jko.b-cdn.net/footer-warna.css" rel="stylesheet" type="text/css" media="all" /> 2219 2220 2221 <style> 2222 .bg-card { 2223 background-color: #000000; 2224 } 2225 </style> 2226 2227 <!-- /templates/product.liquid --> 2228 2229 2230 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2231 2232 2233 <div class="product-standing-flower" data-product-type="flowerBoard"> 2234 <meta itemprop="url" content="https://thumuaphelieuhanoi.com/bang-bao-gia-2/"> 2235 <meta itemprop="image" content="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 2236 2237 2238 2239 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2240 <div class="product-single" style="background-image: url(https://ik.imagekit.io/nj9w1owsw/polos%202026-01-06%20at%2018.11.21.jpeg); background-attachment: fixed;"> 2241 <div id="product-top" class="container"> 2242 <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;"> 2243 <div id="product-image" class="col-lg-7 text-center"> 2244 <div class="product-image"> 2245 <div class="row no-gutters"> 2246 2247 <div id="product-featured-image" class="row w-100"> 2248 2249 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2250 2251 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2252 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2253 2254 <li class="swiper-slide" data-type="image"> 2255 <a 2256 href="files/Blossom-Shine-WM.jpg" 2257 data-standard="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2258 data-image="files/Blossom-Shine-WM.jpg" 2259 data-position="1" 2260 class="product-single__thumbnail" 2261 > 2262 <img 2263 class="lazyload w-100" 2264 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2265 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2266 width="" 2267 height="" 2268 > 2269 </a> 2270 </li> 2271 2272 2273 2274 2275 <li class="swiper-slide" data-type="image"> 2276 <a 2277 href="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2278 data-standard="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2279 data-image="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2280 data-position="2" 2281 class="product-single__thumbnail" 2282 > 2283 <img 2284 class="lazyload w-100" 2285 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2286 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2287 width="" 2288 height="" 2289 > 2290 </a> 2291 </li> 2292 2293 2294 2295 2296 <li class="swiper-slide" data-type="image"> 2297 <a 2298 href="files/Blossom-Shine_3-WM.jpg" 2299 data-standard="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2300 data-image="files/Blossom-Shine_3-WM.jpg" 2301 data-position="3" 2302 class="product-single__thumbnail" 2303 > 2304 <img 2305 class="lazyload w-100" 2306 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2307 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2308 width="" 2309 height="" 2310 > 2311 </a> 2312 </li> 2313 2314 2315 2316 2317 <li class="swiper-slide" data-type="image"> 2318 <a 2319 href="files/Blossom-Shine_4.jpg" 2320 data-standard="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2321 data-image="files/Blossom-Shine_4.jpg" 2322 data-position="4" 2323 class="product-single__thumbnail" 2324 > 2325 <img 2326 class="lazyload w-100" 2327 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2328 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2329 width="" 2330 height="" 2331 > 2332 </a> 2333 </li> 2334 2335 2336 2337 </ul> 2338 </div> 2339 2340 </div> 2341 2342 <div 2343 id="featured-image-product" 2344 class="col-lg-10 col-12 d-none d-lg-block" 2345 > 2346 <div class="swiper-container gallery-top"> 2347 <div class="swiper-slide product-single__image"> 2348 2349 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2350 2351 2352 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2353 <a href="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg"> 2354 <img 2355 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2356 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2357 id="ProductPhotoImg" 2358 class="lazyload" 2359 > 2360 2361 </a> 2362 </div> 2363 </div> 2364 2365 </div> 2366 <div class="swiper-slide product-single__video" style="display: none"> 2367 <video 2368 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2369 playsinline 2370 loop 2371 muted 2372 ></video> 2373 </div> 2374 </div>
2375 </div> 2376 </div> 2377 2378 <div id="featured-image-product2" class="col-12 d-lg-none"> 2379 <div class="swiper-container gallery-mobile"> 2380 <ul class="swiper-wrapper"> 2381 <li class="swiper-slide img"> 2382 2383 <img 2384 class="swiper-lazy" 2385 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2386 data-src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2387 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2388 width="" 2389 height="" 2390 > 2391 2392 </li> 2393 2394 2395 <li class="swiper-slide img"> 2396 2397 <img 2398 class="swiper-lazy" 2399 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2400 data-src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2401 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2402 width="" 2403 height="" 2404 > 2405 2406 </li> 2407 2408 2409 <li class="swiper-slide img"> 2410 2411 <img 2412 class="swiper-lazy" 2413 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2414 data-src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2415 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2416 width="" 2417 height="" 2418 > 2419 2420 </li> 2421 2422 2423 <li class="swiper-slide img"> 2424 2425 <img 2426 class="swiper-lazy" 2427 src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2428 data-src="https://ik.imagekit.io/nj9w1owsw/logo%202026-01-06%20at%2018.11.21.jpeg" 2429 alt="SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1." 2430 width="" 2431 height="" 2432 > 2433 2434 </li> 2435 2436 2437 </ul> 2438 2439 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div> 2440 <div class="swiper-button-next"><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2441 <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"/> 2442 </svg></div> 2443 2444 <!-- Add Pagination --> 2445 <div class="swiper-pagination"></div> 2446 2447 </div> 2448 </div> 2449 2450 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2451 <!-- product video --> 2452 <style> 2453 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2454 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2455 .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;} 2456 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2457 .close-video .icon{width:30px;height:30px;} 2458 /*responsive iframe */ 2459 .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);} 2460 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2461 2462 .youtube { 2463 background-color: #000; 2464 margin-bottom: 30px; 2465 position: relative; 2466 padding-top: 56.25%; 2467 overflow: hidden; 2468 cursor: pointer; 2469 width: 100%; 2470 } 2471 .swiper-slide .youtube { 2472 max-width: 480px; 2473 } 2474 .youtube img { 2475 width: 100%; 2476 top: -16.82%; 2477 left: 0; 2478 opacity: 0.7; 2479 } 2480 .youtube .play-button { 2481 width: 90px; 2482 height: 60px; 2483 background-color: #333; 2484 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2485 z-index: 1; 2486 opacity: 0.8; 2487 border-radius: 6px; 2488 } 2489 .youtube .play-button:before { 2490 content: ""; 2491 border-style: solid; 2492 border-width: 15px 0 15px 26.0px; 2493 border-color: transparent transparent transparent #fff; 2494 } 2495 .youtube img, 2496 .youtube .play-button { 2497 cursor: pointer; 2498 } 2499 .youtube img, 2500 .youtube iframe, 2501 .youtube .play-button, 2502 .youtube .play-button:before { 2503 position: absolute; 2504 } 2505 .youtube .play-button, 2506 .youtube .play-button:before { 2507 top: 50%; 2508 left: 50%; 2509 transform: translate3d( -50%, -50%, 0 ); 2510 } 2511 .youtube iframe { 2512 height: 100%; 2513 width: 100%; 2514 top: 0; 2515 left: 0; 2516 } 2517 </style> 2518 2519 2520 </div> 2521 </div> 2522 2523 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2524 2525 </div> 2526 2527
2527<script> 2528 if ($(window).width() < 991) { 2529 var direction = 'horizontal' 2530 } else { 2531 var direction = 'vertical' 2532 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2533 } 2534 var swiper = new Swiper('.gallery-thumbs', { 2535 2536 direction, 2537 slidesPerView: 4.5, 2538 spaceBetween: 12, 2539 navigation: { 2540 nextEl: '.swiper-button-next', 2541 prevEl: '.swiper-button-prev', 2542 } 2543 }); 2544 2545 var swiper = new Swiper('.gallery-mobile', { 2546 //loop: true, 2547 lazy: true, 2548 speed: 300, 2549 resistance : true, 2550 resistanceRatio : 0, 2551 freeModeMomentumRatio : 0.45, 2552 freeModeMomentumVelocityRatio : 1.5, 2553 navigation: { 2554 nextEl: '.swiper-button-next', 2555 prevEl: '.swiper-button-prev', 2556 }, 2557 pagination: { 2558 el: '.swiper-pagination' 2559 }, 2560 useCSS3Transforms: false, 2561 loop: false, 2562 on: { 2563 init: function () { 2564 console.log('swiper initialized'); 2565 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2566 currentVideo.trigger('play'); 2567 }, 2568 }, 2569 }); 2570 2571 /* GET ALL VIDEOS */ 2572 var sliderVideos = $(".swiper-slide video"); 2573 2574 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2575 swiper.on('slideChange', function () { 2576 console.log('slide changed'); 2577 /* stop all videos */ 2578 sliderVideos.each(function( index ) { 2579 this.currentTime = 0; 2580 }); 2581 2582 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2583 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2584 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2585 prevVideo.trigger('stop'); 2586 currentVideo.trigger('play'); 2587 }); 2588 2589 2590 $("[data-video]").click(function(){ 2591 const file = $(this).data("video") 2592 $(".product-single__video").show() 2593 $(".product-single__image").hide() 2594 $(".product-single__video").find("video").attr("src", file) 2595 $(".product-single__video").find("video")[0].play(); 2596 }) 2597 $("[data-image]").click(function(){ 2598 $(".product-single__video").hide() 2599 $(".product-single__image").show() 2600 $(".product-single__video").find("video")[0].pause(); 2601 }) 2602 2603 $("#product-image .swiper-slide").each(function(){ 2604 let width = $(this).width() 2605 $(this).height(width) 2606 }) 2607 2608 $(window).resize(function() { 2609 $("#product-image .swiper-slide").each(function(){ 2610 let width = $(this).width() 2611 $(this).height(width) 2612 }) 2613 }) 2614 </script>
2614 2615 2616 </div> 2617 2618 2619 <div class="grid__item_product-info mb-3"> 2620 <div class="c-pdp-product-info"> 2621 <ul class="c-pdp-product-info__service c-pdp-product-info__service--active"> 2622 <!-- artikel --> 2623 <li> 2624 SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! 2625 </li> 2626 2627 2628 2629 2630 </ul> 2631 </div> 2632 </div> 2633 2634 2635 2636 2637 2638 <style> 2639 .c-pdp-product-info__service--active { 2640 font-size: 12px; 2641 padding-left: 10px; 2642 text-align: left; 2643 max-width: 550px; 2644 margin: auto; 2645 } 2646 .c-pdp-product-info__service--active li { 2647 list-style: disc; 2648 } 2649 .c-pdp-product-info { 2650 background-color: #f5f5f5; 2651 padding: 12px; 2652 margin: 0; 2653 } 2654 .freeship em { 2655 font-style: italic; 2656 font-size: 12px !important; 2657 } 2658 2659 2660 </style> 2661 2662
2662<script> 2663 $(document).ready(function(){ 2664 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2665 $(".c-pdp-product-info__service").addClass("no-bullet"); 2666 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2667 } 2668 }); 2669 </script>
2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 </div> 2683 <div id="product-meta" class="col-lg-5 p-0"> 2684 <div class="product-meta"> 2685 <style> 2686 .product-meta--review {margin-top:10px} 2687 .freeship * {font-size: 14px !important;font-style: normal;} 2688 </style> 2689 <h1 itemprop="name" class="mb-2" style="color: rgb(252 177 31); font-weight: bold;">SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.</h1> 2690 2691 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2692 <meta itemprop="priceCurrency" content="IDR"> 2693 2694 <link itemprop="availability" href="https://schema.org/InStock"> 2695
2695<script 2696 type="text/javascript" 2697 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2698 async="async" 2699 ></script>
2699 2700 2701 2702 2703 2704 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2705 2706 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2707 2708 <div class="row no-gutters mb-3"> 2709 <span 2710 id="ProductPrice" 2711 class="h2 ProductPrice" 2712 itemprop="price" 2713 content="835000" style="color: #ffffff;" 2714 > 2715 Rp 20.000 2716 </span> 2717 <div class="discount-product-detail"> 2718 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2719 Rp 100.000 2720 </p> 2721 <span class=" tag-discount"> 2722 2723 2724 <span id="newDiscount" class="product-tag persentase-discount hide"> 2725 (90%) 2726 </span><br> 2727 2728 </span> 2729 </div> 2730 </div> 2731 2732 <div class="row no-gutters meta-sds"> 2733 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2734 2735 2736 <span 2737 id="ProductStock-Product" 2738 class="product-single__stock mb-2 hide" 2739 > 2740 2741 2742 2743 2744 Barang dikirim pada 2745 2746 2747 2748 </span> 2749 2750 <style> 2751 .short-desc-desktop { 2752 margin-bottom: 2rem; 2753 color: white; 2754 } 2755 .short-desc ul li:nth-child(n + 4) { 2756 display: none; 2757 } 2758 .short-desc ul li.showList:nth-child(n + 4) { 2759 display: list-item; 2760 } 2761 label.more { 2762 display: none; 2763 } 2764 label.more.showMe { 2765 display: block; 2766 font-size: 12px; 2767 text-transform: uppercase; 2768 font-weight: 700; 2769 cursor: pointer; 2770 } 2771 </style> 2772 2773 <div class="short-desc-desktop d-none d-lg-block"> 2774 <div class="short-desc"> 2775 2776 <p>SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!</p> 2777 </div> 2778 <label class="more">Show More â</label>
2779 </div><br> 2780 2781 2782
2782<script> 2783 var liCount; 2784 $(document).ready(function () { 2785 $(".short-desc ul").each(function() { 2786 liCount = $(this).children("li").length; 2787 if (liCount > 3) { 2788 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2789 } 2790 }); 2791 2792 $(".more").click(function () { 2793 //$(".short-desc").find("li").addClass("showList"); 2794 // $(this).hide(); 2795 $("#product-desc").find("ul").show() 2796 $('html, body').animate({ 2797 scrollTop: $("#product-desc").offset().top - 250 2798 }, 2000); 2799 $("#product-desc").css("height","auto"); 2800 $("#more_content").remove(); 2801 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2802 }); 2803 }); 2804 </script>
2804 2805 2806 2807 </div> 2808 </div> 2809 2810 <div id="purchaseProduct"> 2811 2812 2813 2814 2815 <style> 2816 .variant-metafield { 2817 display: block!important; 2818 width: 1px; 2819 padding: 0; 2820 border-color: #fff; 2821 } 2822 .select2-results__option[aria-disabled] { 2823 display: none; 2824 } 2825 2826 .towel-bordir { 2827 width: 100%; 2828 display: flex; 2829 align-items: center; 2830 justify-content: space-around; 2831 } 2832 </style> 2833 2834 2835 2836 2837
2837<script> 2838 2839 2840 </script>
2840 2841 2842 2843 2844 2845 2846 2847 <select 2848 name="id[]" 2849 id="productSelect" 2850 class="product-single__variants ignore hide hide" 2851 > 2852 2853 2854 2855 <option 2856 2857 selected="selected" 2858 2859 data-sku="OBVSTF1086" 2860 value="44083045826775" 2861 > 2862 Default Title 2863 </option> 2864 2865 2866 2867 </select> 2868 2869
2869<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2869 2870 2871
2871<script> 2872 $('.size-chart-open-popup').magnificPopup({ 2873 type:'inline', 2874 midClick: true 2875 }); 2876 </script>
2876 2877 2878 2879 2880 2881 <div class="upload-image-preview"> 2882 2883 2884 2885 2886 2887 <style> 2888 .file-dnd * { 2889 margin: 0; 2890 padding: 0; 2891 box-sizing: border-box; 2892 } 2893 .file-dnd { 2894 width: 100%; 2895 height: 250px; 2896 border: 1px solid #ddd; 2897 border-radius: 10px; 2898 padding: 15px; 2899 display: flex; 2900 flex-direction: column; 2901 gap: 10px; 2902 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2903 margin: auto; 2904 } 2905 .file-dnd input { 2906 display: none; 2907 } 2908 .file-dnd .before-upload { 2909 border: 1px dashed #888; 2910 flex: 1; 2911 border-radius: 5px; 2912 display: flex; 2913 justify-content: center; 2914 align-items: center; 2915 text-align: center; 2916 cursor: pointer; 2917 } 2918 .file-dnd .before-upload > div { 2919 display: flex; 2920 flex-direction: column; 2921 align-items: center; 2922 gap: 8px; 2923 } 2924 .file-dnd .before-upload > div h4 { 2925 width: 150px; 2926 } 2927 .file-dnd .before-upload > div p { 2928 font-size: 12px !important; 2929 color: #555; 2930 } 2931 .file-dnd.active .before-upload { 2932 border: 1px solid #5750d9; 2933 background-color: #f5f5ff; 2934 } 2935 .file-dnd .after-upload { 2936 position: relative; 2937 display: none; 2938 } 2939 .file-dnd .after-upload img { 2940 width: 100%; 2941 border-radius: 5px; 2942 max-height: 180px; 2943 object-fit: contain; 2944 display: block; 2945 } 2946 .file-dnd .after-upload .clear-btn { 2947 position: absolute; 2948 top: 10px; 2949 right: 10px; 2950 background: rgba(0, 0, 0, 0.5); 2951 width: 15px; 2952 height: 15px; 2953 text-align: center; 2954 line-height: 15px; 2955 border-radius: 50%; 2956 color: #fff; 2957 cursor: pointer; 2958 font-size: 14px; 2959 } 2960 </style> 2961 2962 <div 2963 class="file-dnd mb-3" 2964 2965 style="display: none" 2966 2967 > 2968 <label for="upload-photo">Upload your Photo:</label> 2969 <input type="file" id="upload-photo" accept="image/*"> 2970 <input type="hidden" data-properties="Photo"> 2971 <div class="before-upload"> 2972 <div> 2973 <svg id="surface1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2974 <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> 2975 <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> 2976 <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> 2977 </svg> 2978 2979 <h4>Drag & Drop Photo file or Browse</h4> 2980 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2981 </div> 2982 </div> 2983 <div class="after-upload"> 2984 <div class="clear-btn">×</div> 2985 <img src="" width="" height=""> 2986 </div> 2987 </div> 2988
2988<script> 2989 function applyDndFile(el) { 2990 const parent = document.querySelector(".file-dnd") 2991 const beforeUploadEl = el.querySelector(".before-upload") 2992 const afterUploadEl = el.querySelector(".after-upload") 2993 const inputFile = el.querySelector("input[type=file]") 2994 const imagePreview = el.querySelector(".after-upload img") 2995 const clearBtn = el.querySelector(".after-upload .clear-btn") 2996 const inputProps = parent.querySelector("[data-properties]"); 2997 2998 async function upload(name, uri, type) { 2999 try { 3000 const filename = name.split('.')[0] 3001 let formData = new FormData(); 3002 formData.append("file", uri); 3003 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3004 method: "POST", 3005 body: formData 3006 }) 3007 if(response) { 3008 const res = await response.json() 3009 return res 3010 } 3011 } catch(err){ 3012 console.log(err) 3013 } 3014 } 3015 3016 function showImagePreview(img) { 3017 if(img){ 3018 const blobUrl = URL.createObjectURL(img) 3019 imagePreview.src = blobUrl 3020 afterUploadEl.style.display = "block" 3021 beforeUploadEl.style.display = "none" 3022 } 3023 } 3024 3025 beforeUploadEl.addEventListener("click", (e) => { 3026 e.preventDefault() 3027 inputFile.click() 3028 }) 3029 3030 inputFile.addEventListener("change", async (e) => { 3031 e.preventDefault() 3032 showImagePreview(e.target.files[0]) 3033 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3034 inputProps.value = uploadData?.url 3035 }) 3036 3037 clearBtn.addEventListener("click", (e) => { 3038 afterUploadEl.style.display = "none" 3039 beforeUploadEl.style.display = "flex" 3040 inputProps.value = "" 3041 }) 3042 3043 beforeUploadEl.addEventListener("dragover", (e) => { 3044 e.preventDefault() 3045 el.classList.add("active") 3046 }) 3047 3048 beforeUploadEl.addEventListener("dragleave", (e) => { 3049 e.preventDefault() 3050 el.classList.remove("active") 3051 }) 3052 3053 beforeUploadEl.addEventListener("drop", async (e) => { 3054 e.preventDefault() 3055 el.classList.remove("active") 3056 showImagePreview(e.dataTransfer.files[0]) 3057 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3058 console.log(uploadData) 3059 inputProps.value = uploadData?.url 3060 }) 3061 } 3062 3063 applyDndFile(document.querySelector(".file-dnd")) 3064 3065 $(document).ready(function(){ 3066 $(".variant-swatch").change(function(){ 3067 const v = $(this).val().toLowerCase() 3068 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3069 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3070 $(".file-dnd").hide() 3071 $(".file-dnd").find("[data-properties]").val("") 3072 $(".after-upload").hide() 3073 $(".before-upload").css("display", "flex") 3074 }) 3075 }) 3076 </script>
3076 3077 3078 </div> 3079 3080 3081 <div class="delivery-city mb-4"> 3082 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/"> 3083 <center><img src="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 3084 <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(252 177 31);">SEKARANG WAKTUNYA DAFTAR AKUN BARU DI SLOT200!</h4> 3085 <div class="row justify-content-between m-0"> 3086 <select id="cities" class="form-control select-search" required> 3087 <option value="">Gabung dan dapatkan bonus deposit juga new member hanya di SLOT200</option> 3088 </select> 3089 </div> 3090 </div> 3091 3092 <style> 3093 @media (max-width: 768px) { 3094 .select2-search__field { 3095 pointer-events: none !important; 3096 } 3097 3098 .select2-search { 3099 display: none !important; 3100 } 3101 } 3102 </style> 3103 3104
3104<script> 3105 $(document).ready(function() { 3106 // Check if mobile 3107 if (window.innerWidth <= 768) { 3108 // When cities select2 opens on mobile, remove focus from search 3109 $('#cities').on('select2:open', function() { 3110 setTimeout(function() { 3111 $('.select2-search__field').blur(); 3112 $('.select2-search__field').prop('readonly', true); 3113 }, 100); 3114 }); 3115 } 3116 }); 3117 </script>
3117 3118 3119 <style> 3120 .icon-img-footer { 3121 width: 80px; 3122 padding: 0px 5px; 3123 } 3124 @media (min-width: 768px) { 3125 .icon-img-footer { 3126 width: 120px; 3127 } 3128 } 3129 @media (min-width: 992px) { 3130 .icon-img-footer { 3131 width: 120px; 3132 } 3133 } 3134 3135 3136 </style> 3137 <div id="row-delivery-date" class="row m-0 mb-3"> 3138 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(252 177 31);">Ciptakan Kemenanganmu Dengan Atur Tanggal Bermain Slot nya.</h4> 3139 <div id="deliveryDate" class="m-0"></div> 3140 <div id="deliveryDateFull"> 3141 <div class=""> 3142 <input 3143 type="text" 3144 id="full-date" 3145 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 3146 value="Full Calendar" 3147 > 3148 <label for="full-date"><svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="32" height="32" viewBox="0 0 32 32"> 3149 <title>icon-arrow-right</title> 3150 <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> 3151 </svg></label> 3152 </div> 3153 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 3154 </div> 3155 <div class="form-group p-0"> 3156 <input type="text" id="propDeliveryDate" required class="hide"> 3157 </div> 3158 </div> 3159 3160 3161 <div id="row-delivery-time" class="row m-0 mb-3"> 3162 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 3163 SEO 200 3164 </h4> 3165 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 3166 <div class="form-group p-0"> 3167 <input type="text" id="propDeliveryTime" class="hide" required> 3168 </div> 3169 </div> 3170 3171 3172 3173 3174 3175 <div id="personalizeBtn"> 3176 3177 3178 3179 3180 <button 3181 class="btn text-uppercase w-100 fw-400" 3182 3183 3184 3185 > 3186 3187 customize your flower board 3188 3189 </button> 3190 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 3191 <div class="button-share text-center"> 3192 <p id="shareButton" class="d-flex gap-2"><span>SLOT200</span><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 3193 <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"/> 3194 </svg> 3195 </p> 3196 </div> 3197 <div class="button-wishlist text-center"> 3198 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 3199 <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"/> 3200 </svg> 3201 <!-- 3202 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 3203 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
320318.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"/> 3204 </svg> 3205 --> 3206 </p> 3207 </div> 3208 </div> 3209 </div> 3210 </div> 3211 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3212 <div class="purchaseArea"> 3213 <div class="sectionPurchase sectionPurchaseSpotify"> 3214 <div class="wrapperPurchase"> 3215 <div class="headerPurchase"> 3216 <h3>personalize spotify photo print</h3> 3217 <a class="close-purchase-popup"> 3218 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3219 <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> 3220 </svg> 3221 </a> 3222 </div> 3223 <div class="contentPurchase"> 3224 <div class="spotifyAddons"></div> 3225 </div> 3226 3227 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3228 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3229 <button class="back-purchase-button back-addon text-uppercase"> 3230 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 3231 <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> 3232 </svg> 3233 <span>Back</span> 3234 </button> 3235 </div> 3236 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3237 <button class="btn next-purchase-button next-addon text-uppercase"> 3238 <span>continue without add-ons</span> 3239 </button> 3240 </div> 3241 </div> 3242 </div> 3243 </div> 3244 </div> 3245 </div> 3246 3247 <style> 3248 #PBarNextFrameWrapper { 3249 display: none; 3250 } 3251 #backgroundPopup { 3252 display: none; 3253 position: fixed; 3254 _position: absolute; 3255 height: 100%; 3256 width: 100%; 3257 top: 0; 3258 left: 0; 3259 background: rgb(117 117 117 / 24%); 3260 z-index: 1; 3261 } 3262 .sectionPurchase { 3263 height: 100%; 3264 position: relative; 3265 max-width: 1344px; 3266 background-color: #fff; 3267 padding: 0; 3268 overflow: hidden; /* Changed from auto to hidden */ 3269 display: flex; 3270 flex-direction: column; 3271 } 3272 .sectionPurchase.purchaseAddonSpotify { 3273 max-width: 1070px!important; 3274 max-height: 765px!important; 3275 } 3276 .sectionPurchaseBoard { 3277 max-width: 872px!important; 3278 max-height: 821px!important; 3279 } 3280 .purchaseAddonSpotify .btn-action { 3281 position: absolute; 3282 bottom: 0; 3283 left: 0; 3284 width: 100%; 3285 display: flex; 3286 gap: 10px; 3287 } 3288 .wrapperPurchase { 3289 position: relative; 3290 height: 100%; 3291 display: flex; 3292 flex-direction: column; 3293 } 3294 3295 /* New styles for scrollable content and sticky button */ 3296 .purchase-content { 3297 flex: 1; 3298 overflow-y: auto; 3299 overflow-x: hidden; 3300 padding: 20px; 3301 } 3302 3303 .purchase-button-wrapper { 3304 position: sticky; 3305 bottom: 0; 3306 background-color: #fff; 3307 border-top: 1px solid #e0e0e0; 3308 padding: 15px 0; 3309 margin-top: auto; 3310 z-index: 10; 3311 } 3312 3313 .purchasePopup { 3314 display: none; 3315 position: fixed; 3316 background: rgb(117 117 117 / 24%); 3317 z-index: 999; 3318 padding: 40px; 3319 font-size: 13px; 3320 top: 0; 3321 left: 0; 3322 width: 100%; 3323 height: 100%; 3324 } 3325 .popupPurchaseClose{ 3326 font-size:14px; 3327 line-height:14px; 3328 right:45px; 3329 top:45px; 3330 position:absolute; 3331 color:#6fa5fd; 3332 font-weight:700; 3333 display:block; 3334 cursor: pointer; 3335 } 3336 3337 .headerPurchase { 3338 margin-bottom: 30px; 3339 display: flex; 3340 justify-content: space-between; 3341 } 3342 3343 .headerPurchase h3 { 3344 font-size: 16px; 3345 text-transform: uppercase; 3346 } 3347 3348 .sectionPurchaseBoard .headerPurchase { 3349 margin-bottom: 15px; 3350 } 3351 3352 .sectionPurchaseBoard .formAddressPurchase { 3353 padding-top: 0; 3354 } 3355 3356 .purchaseArea { 3357 position: relative; 3358 height: 100%; 3359 } 3360 3361 .purchaseArea h4 { 3362 width: 100%; 3363 font-size: 12px; 3364 font-weight: 600; 3365 margin-bottom: 10px; 3366 text-transform: uppercase; 3367 } 3368 3369 .menuPurchase { 3370 margin-bottom: 30px; 3371 } 3372 3373 .menuPurchase ul { 3374 list-style-type: none; 3375 margin: 0; 3376 } 3377 3378 .menuPurchase ul li { 3379 display: inline-block; 3380 border: 1px solid #ffffff; 3381 padding: 5px 20px; 3382 margin-right: 5px; 3383 margin-bottom: 10px; 3384 font-size: 12px; 3385 font-weight: 400; 3386 } 3387 3388 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3389 background-color: #ffffff; 3390 color: #ffffff; 3391 } 3392 3393 .contentPurchase h5 { 3394 font-size: 12px; 3395 margin-bottom: 10px; 3396 font-weight: 400; 3397 overflow: hidden; 3398 } 3399 3400 /* Card */ 3401 3402 #itemCards { 3403 max-height: 430px; 3404 overflow: auto; 3405 } 3406 3407 .item-cards { 3408 width: 100%; 3409 } 3410 .item-card.selected { 3411 border: 1px solid #ffffff; 3412 } 3413 .item-card:hover { 3414 border: 1px solid #C4C4C4; 3415 } 3416 .item-cards .item-card { 3417 position: relative; 3418 width: calc(33% - 10px); 3419 max-width: calc(33% - 10px); 3420 flex: 0 0 calc(33% - 10px); 3421 margin-bottom: 20px; 3422 } 3423 .item-cards .item-card label, 3424 .item-addons .item-addon label { 3425 position: absolute; 3426 left: 0; 3427 width: 100%; 3428 height: 100%; 3429 } 3430 .item-cards .item-card .card-image img, 3431 .item-addons .item-addon .card-image img { 3432 display: block; 3433 width: 100%; 3434 } 3435 .item-card .card-meta, 3436 .item-addon .card-meta { 3437 padding: 10px 5px 5px; 3438 } 3439 .item-card.selected .card-meta, 3440 .item-addon.selected .card-meta, 3441 .item-card.selected .card-qty { 3442 background-color: #ffffff; 3443 color: #fff; 3444 visibility: visible!important; 3445 } 3446 .item-card:hover .card-meta, 3447 .item-addon:hover .card-meta, 3448 .item-card:hover .card-qty { 3449 background-color: #C4C4C4; 3450 color: #fff; 3451 visibility: visible!important; 3452 } 3453 .item-cards .item-card p, 3454 .item-addons .item-addon p { 3455 font-size: 12px !important; 3456 margin: 0; 3457 font-weight: 600; 3458 } 3459 .item-card .card-meta input, 3460 .item-addon .card-meta input { 3461 display: none; 3462 } 3463 .item-cards .item-card h5, 3464 .item-addons .item-addon h5 { 3465 text-transform: uppercase; 3466 max-height: 35px; 3467 } 3468 3469 @media (max-width: 768px) { 3470 .item-cards .item-card {
3471 width: calc(50% - 10px); 3472 max-width: calc(50% - 10px); 3473 flex: 0 0 calc(50% - 10px); 3474 margin-bottom: 0; 3475 } 3476 } 3477 3478 .card-qty { 3479 display: flex; 3480 padding: 5px; 3481 visibility: hidden; 3482 background-color: #fff !important; 3483 z-index: 999; 3484 } 3485 .card-qty a { 3486 border-width: 1px; 3487 width: 30%; 3488 cursor: pointer; 3489 text-align: center; 3490 align-self: center; 3491 height: 28px; 3492 display: block; 3493 position: relative; 3494 } 3495 .card-qty a svg { 3496 position: absolute; 3497 top: 50%; 3498 left: 50%; 3499 transform: translate(-50%, -50%); 3500 text-align: center; 3501 } 3502 input.btn-qty { 3503 border-width: 0px; 3504 border-radius: 0; 3505 background-color: #fff; 3506 -webkit-appearance: none; 3507 box-shadow: none !important; 3508 -webkit-box-shadow: none !important; 3509 -moz-box-shadow: none!important; 3510 width: 40%; 3511 border-left: 1px solid #c4c4c4; 3512 border-right: 1px solid #c4c4c4; 3513 padding: 0; 3514 } 3515 3516 .sectionPurchaseBoard #itemAddons .item-card { 3517 width: calc(20% - 15px); 3518 max-width: calc(20% - 15px); 3519 flex: 0 0 calc(20% - 15px); 3520 } 3521 3522 .purchase-button { 3523 width: 100%; 3524 padding: 0; /* Reset padding as it's now handled by wrapper */ 3525 margin: 0; 3526 } 3527 3528 .sectionPurchaseBoard .purchase-button { 3529 margin-top: 0 !important; /* Reset margin */ 3530 } 3531 3532 .back-purchase-button, .back-spotify { 3533 width: 139px; 3534 border: 1px solid; 3535 height: 43px; 3536 } 3537 .purchase-button .btn { 3538 width: 297px; 3539 height: 43px; 3540 background-color: #ffffff; 3541 color: #ffffff; 3542 } 3543 .purchase-button .btn[disabled] { 3544 background-color: #EEEEEE; 3545 } 3546 .back-purchase-button svg, .back-spotify svg { 3547 align-self: center; 3548 vertical-align: middle; 3549 margin-right: 10px; 3550 } 3551 3552 #purchaseProduct .row .error { 3553 font-size: 12px !important; 3554 color: orange; 3555 margin-top: 5px; 3556 } 3557 3558 .reviewCardPurchase { 3559 max-width: 448px; 3560 float: right; 3561 } 3562 3563 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3564 .addon-item * {align-self: center;font-size: 12px;} 3565 .addon-itm-title {width: 360px;} 3566 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3567 3568 .propsAddonSpotify p { 3569 margin: 0; 3570 display: flex; 3571 font-size: 12px !important; 3572 margin-bottom: 5px; 3573 } 3574 .propsAddonSpotify p span:first-child { 3575 text-transform: uppercase; 3576 font-weight: 600; 3577 -ms-flex: 0 0 150px; 3578 flex: 0 0 150px; 3579 max-width: 150px; 3580 } 3581 3582 .addonsPurchase .addons { 3583 max-height: 250px; 3584 overflow: auto; 3585 } 3586 3587 .btn .loading:after { 3588 content: ""; 3589 display: inline-block; 3590 width: 20px; 3591 height: 20px; 3592 padding: 3px; 3593 aspect-ratio: 1; 3594 border-radius: 50%; 3595 background: #FFFFFF; 3596 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3597 -webkit-mask: var(--_m); 3598 mask: var(--_m); 3599 -webkit-mask-composite: source-out; 3600 mask-composite: subtract; 3601 animation: l3 1s infinite linear; 3602 margin: auto; 3603 vertical-align: middle; 3604 margin-left: 10px; 3605 } 3606 3607 #qrcode img, #qrcode canvas { 3608 width: 50px; 3609 position: absolute; 3610 top: 12px; 3611 left: 16px; 3612 } 3613 3614 .t-preview { 3615 position: absolute; 3616 top: 17px; 3617 left: 75px; 3618 } 3619 .t-preview p { 3620 margin: 0; 3621 font-size: 12px !important; 3622 } 3623 .t-preview .h3 { 3624 font-size: 16px !important; 3625 margin-bottom: 5px; 3626 font-weight: 600; 3627 } 3628 .scanCard { 3629 width: 100%; 3630 border: 1px solid; 3631 height: 76px; 3632 background-color: #fff; 3633 } 3634 .scanCard > div > img { 3635 position: absolute; 3636 right: 0; 3637 width: 55px; 3638 } 3639 3640 @keyframes l3 { 3641 100% { 3642 transform: rotate(1turn); 3643 } 3644 } 3645 3646 @media (min-width: 991px) { 3647 .sectionPurchase { 3648 height: 100%; 3649 position: relative; 3650 max-width: 1344px; 3651 background-color: #fff; 3652 top: 50%; 3653 left: 50%; 3654 transform: translate(-50%, -50%); 3655 } 3656 .headerPurchase h3 { 3657 font-size: 20px; 3658 } 3659 .purchaseArea h4 { 3660 font-size: 16px; 3661 } 3662 3663 .menuPurchase ul li { 3664 font-size: 16px; 3665 } 3666 3667 .contentPurchase { 3668 margin-bottom: 30px; 3669 } 3670 .contentPurchase h5 { 3671 font-size: 16px; 3672 } 3673 3674 .item-cards .item-card p, 3675 .item-addons .item-addon p { 3676 font-size: 16px !important; 3677 } 3678 3679 .cards { 3680 float: right; 3681 width: 400px; 3682 } 3683 3684 .item-cards .item-card { 3685 width: calc(25% - 30px); 3686 max-width: calc(25% - 30px); 3687 flex: 0 0 calc(25% - 30px); 3688 } 3689 3690 #itemAddons .item-card { 3691 position: relative; 3692 width: calc(16% - 40px); 3693 max-width: calc(16% - 40px); 3694 flex: 0 0 calc(16% - 40px); 3695 } 3696 3697 .purchase-button-wrapper { 3698 padding: 10px 20px; 3699 } 3700 } 3701 3702 @media (max-width: 1200px) { 3703 .item-cards .item-card { 3704 width: calc(33% - 30px); 3705 max-width: calc(33% - 30px); 3706 flex: 0 0 calc(33% - 30px); 3707 } 3708 } 3709 3710 @media (max-width: 992px) { 3711 .purchasePopup { 3712 padding: 0; 3713 } 3714 .item-cards .item-card h5, 3715 .item-addons .item-addon h5 { 3716 max-height: 30px; 3717 } 3718 3719 .back-purchase-button, .back-spotify, .next-purchase-button { 3720 width: 100%; 3721 } 3722 .addon-itm-title { 3723 width: 300px; 3724 } 3725 .addon-itm-line-price { 3726 margin-right: 10px; 3727 } 3728 .t-preview { 3729 top: 10px; 3730 } 3731 3732 .card-qty a { 3733 height: 15px; 3734 } 3735 3736 .purchase-button-wrapper { 3737 padding: 15px; 3738 } 3739 } 3740 3741 @media (max-width: 576px) { 3742 .purchase-button .btn { 3743 width: 100%!important; 3744 } 3745 .purchase-button > .col-12 { 3746 padding-left: 0; 3747 padding-right: 0; 3748 } 3749 } 3750 </style> 3751 3752 3753 <div class="purchasePopup"> 3754 <div class="purchaseArea"> 3755 3756 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3757 <div class="wrapperPurchase"> 3758 <div class="purchase-content"> 3759 <div class="headerPurchase"> 3760 <h3 class="text-uppercase"> 3761 3762 customize your flower board 3763 3764 </h3> 3765 <a class="close-purchase-popup"> 3766 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3767 <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"/> 3768 </svg> 3769 </a> 3770 3771 </div> 3772 <div class="contentPurchase"> 3773 <div class="row"> 3774 3775 <div class="col-12"> 3776 3777 3778 <style> 3779 3780 3781 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3782 .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;} 3783 3784 .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;} 3785 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3786 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3787 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3788 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3789 .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;} 3790 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3791 #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;} 3792 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3793 .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;} 3794 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3795 3796 @media (min-width: 991px) { 3797 .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);} 3798 .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);} 3799 } 3800 </style> 3801 3802 <input type="hidden" data-properties="penerima" value="-"> 3803 <div class="customize-papan"> 3804 <div class="container"> 3805 <div class="field-papan group-field-1 form-group"> 3806 <div class="input-field">
3807 <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. 3808 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3809 <p class="limit">0/100</p> 3810 <div id="suggest-messages"> 3811 <a id="show_note_papan1" href="#"> 3812 <div class="suggest-message" id="note_btn_div1"> 3813 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3814 </div> 3815 </a> 3816 <a id="show_note_papan2" href="#"> 3817 <div class="suggest-message" id="note_btn_div2"> 3818 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3819 </div> 3820 </a> 3821 <a id="show_note_papan3" href="#"> 3822 <div class="suggest-message" id="note_btn_div3"> 3823 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3824 </div> 3825 </a> 3826 </div> 3827 </div> 3828 </div> 3829 <div class="hide"> 3830 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3831 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3832 </div> 3833 <div class="hide"> 3834 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3835 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3836 </div> 3837 <div class="hide"> 3838 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3839 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3840 </div> 3841 <div class="field-papan group-field-2 form-group"> 3842 3843 <label for="logoPapan" onclick="" class="input-field field-logo"> 3844 3845 3846 3847 <div class="btn-upload-papan w-100"> 3848 <?xml version="1.0" encoding="UTF-8"?> 3849 <img src="" style="display:none"> 3850 <div class="svgLogoPapan"> 3851 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 3852 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 3853 </svg> 3854 <p>Upload Logo <span>*optional</span></p> 3855 </div> 3856 </div> 3857 3858 </label> 3859 3860 <input 3861 type="hidden" 3862 data-properties="papan-logo" 3863 value="" 3864 > 3865 <input 3866 type="file" 3867 id="logoPapan" 3868 accept="image/*" 3869 style="position: absolute;width: 1px;height: 1px;padding: 0" 3870 > 3871 3872 <div class="input-field"> 3873 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 3874 <p class="limit">0/35</p> 3875 </div> 3876 3877 </div> 3878 3879 </div> 3880 </div> 3881 </div> 3882 3883 </div> 3884 </div> 3885 3886 </div> 3887 <div class="purchase-button-wrapper"> 3888 <div class="purchase-button btn-card row m-0"> 3889 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3890 3891 </div> 3892 <div class="btn-next-card col-12 col-lg-10 text-right"> 3893 3894 3895 <button 3896 3897 3898 3899 class="btn next-purchase-button text-uppercase" 3900 3901 disabled 3902 3903 > 3904 <span>save your flower board</span> 3905 </button> 3906 </div> 3907 </div> 3908 3909 </div> 3910 </div> 3911 </div> 3912 3913 3914 3915 <div 3916 class="sectionPurchase sectionPurchaseBoard hide" 3917 data-section="address" 3918 > 3919 <div class="wrapperPurchase"> 3920 <div class="purchase-content"> 3921 <div class="headerPurchase"> 3922 <h3> 3923 Complete Your Order 3924 </h3> 3925 <a class="close-purchase-popup"> 3926 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3927 <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"/> 3928 </svg> 3929 </a> 3930 3931 </div> 3932 <div class="contentPurchase"> 3933 <div class="row"> 3934 <div class="col-12 position-relative"> 3935 <div class="addressPurchase"> 3936 3937 <h4 class="text-uppercase">recipient delivery address</h4> 3938 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 3939 3940 <div class="formAddressPurchase row"> 3941 <div class="col-12"> 3942 <form> 3943 <div class="form-group row mb-2 mb-lg-4"> 3944 <div class="col-6 position-relative"> 3945 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 3946 <label for="first_name" class="input__label">First Name<span>*</span></label> 3947 </div> 3948 <div class="col-6 position-relative"> 3949 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 3950 <label for="last_name" class="input__label">Last Name<span>*</span></label> 3951 </div> 3952 <input type="hidden" data-properties="nama-penerima"> 3953 </div> 3954 3955 <h4 class="text-uppercase">how you want to input your address</h4> 3956 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 3957 <div class="col-6 position-relative"> 3958 <label class="address-manualy"> 3959 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 3960 <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
39601216 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
39605 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"/> 3961 </svg> 3962 <span>Input Address Manually</span> 3963 </label> 3964 </div> 3965 <div class="col-6 position-relative"> 3966 <label for="address-upload" class="address-upload"> 3967 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 3968 <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"/> 3969 </svg> 3970 <span>Upload Address Picture</span> 3971 </label> 3972 <input 3973 id="address-upload" 3974 type="file" 3975 accept="image/png, image/jpeg" 3976 style="position: absolute; padding: 0;width: 1px;height: 1px" 3977 > 3978 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 3979 </div> 3980 </div> 3981 <img width="150" height="" src="" class="photo-address" style="display: none;"> 3982 3983 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 3984 <div class="col-12"> 3985 <textarea 3986 id="delivery_address" 3987 data-properties="alamat-penerima" 3988 class="form-control input__field col-12" 3989 placeholder="" 3990 required 3991 ></textarea> 3992 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 3993 3994 </div> 3995 </div> 3996 <div class="form-group row mb-2 mb-lg-4 form-address"> 3997 <div class="col-6 position-relative"> 3998 <input 3999 id="recipient_number" 4000 type="text" 4001 data-properties="telepon-penerima" 4002 class="form-control input__field" 4003 placeholder="" 4004 required 4005 > 4006 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4007 </div> 4008 <div class="col-6 position-relative"> 4009 <input 4010 id="company" 4011 type="text" 4012 data-properties="company" 4013 class="form-control input__field" 4014 placeholder="" 4015 > 4016 <label for="company" class="input__label">Company (Optional)</label> 4017 </div> 4018 </div> 4019 <div class="form-group row mb-2 mb-lg-4 form-address"> 4020 <div class="col-6 position-relative"> 4021 <input 4022 id="province" 4023 type="text" 4024 class="form-control input__field" 4025 placeholder="" 4026 value="Jakarta" 4027 data-properties="province" 4028 > 4029 <label for="province" class="input__label">Province</label> 4030 </div> 4031 <div class="col-6 position-relative"> 4032 <select id="zip" class="form-control select-search" required></select> 4033 </div> 4034 </div> 4035 </form> 4036 </div> 4037 </div> 4038 </div> 4039 <div class="addonsPurchase"> 4040 <h4 class="text-uppercase">add-ons</h4> 4041 <div class="addons"> 4042 <p>No Add-Ons</p> 4043 <!-- 4044 <button class="add-addon"> 4045 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4046 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4047 </svg>
4048 <span>Enhance my moment with Add-ons</span> 4049 </button> 4050 --> 4051 </div> 4052 </div> 4053 </div> 4054 4055 </div> 4056 </div> 4057 4058
4058<script> 4059 document.addEventListener('DOMContentLoaded', function() { 4060 // Detect iOS 4061 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4062 4063 if (isIOS) { 4064 document.querySelector('.formAddressPurchase').classList.add('ios'); 4065 4066 // iOS specific fixes 4067 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4068 4069 inputs.forEach(function(input) { 4070 // Force enable touch events on iOS 4071 input.style.webkitUserSelect = 'text'; 4072 input.style.webkitTouchCallout = 'default'; 4073 input.style.pointerEvents = 'auto'; 4074 input.style.touchAction = 'manipulation'; 4075 4076 // Add explicit touch event listeners for iOS 4077 input.addEventListener('touchstart', function(e) { 4078 e.stopPropagation(); 4079 this.focus(); 4080 }, { passive: false }); 4081 4082 input.addEventListener('touchend', function(e) { 4083 e.preventDefault(); 4084 e.stopPropagation(); 4085 this.focus(); 4086 this.click(); 4087 }, { passive: false }); 4088 4089 // Force focus on tap for iOS 4090 input.addEventListener('click', function(e) { 4091 e.stopPropagation(); 4092 if (document.activeElement !== this) { 4093 this.focus(); 4094 } 4095 }); 4096 }); 4097 4098 // Fix for label overlapping on iOS 4099 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4100 labels.forEach(function(label) { 4101 label.style.pointerEvents = 'none'; 4102 label.addEventListener('touchstart', function(e) { 4103 e.preventDefault(); 4104 var input = this.parentNode.querySelector('.input__field'); 4105 if (input) { 4106 input.focus(); 4107 } 4108 }); 4109 }); 4110 } 4111 4112 // Handle input state for all browsers, especially iOS 4113 var inputs = document.querySelectorAll('.input__field'); 4114 4115 inputs.forEach(function(input) { 4116 // Handle input events 4117 input.addEventListener('input', function() { 4118 if (this.value.trim() !== '') { 4119 this.classList.add('has-value'); 4120 } else { 4121 this.classList.remove('has-value'); 4122 } 4123 }); 4124 4125 // Handle focus 4126 input.addEventListener('focus', function() { 4127 this.classList.add('focused'); 4128 // iOS specific: ensure input is visible 4129 if (isIOS) { 4130 setTimeout(function() { 4131 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4132 }, 300); 4133 } 4134 }); 4135 4136 // Handle blur 4137 input.addEventListener('blur', function() { 4138 this.classList.remove('focused'); 4139 if (this.value.trim() !== '') { 4140 this.classList.add('has-value'); 4141 } else { 4142 this.classList.remove('has-value'); 4143 } 4144 }); 4145 4146 // Initial check for pre-filled values 4147 if (input.value.trim() !== '') { 4148 input.classList.add('has-value'); 4149 } 4150 }); 4151 4152 // Additional iOS fixes 4153 if (isIOS) { 4154 // Prevent iOS Safari from adding default styling 4155 document.addEventListener('touchstart', function() {}, { passive: true }); 4156 4157 // Fix viewport issues on iOS 4158 var viewport = document.querySelector('meta[name=viewport]'); 4159 if (viewport) { 4160 viewport.setAttribute('content', 4161 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4162 ); 4163 } 4164 } 4165 }); 4166 </script>
4166 4167 </div> 4168 <div class="purchase-button-wrapper"> 4169 <div class="purchase-button btn-address row m-0"> 4170 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4171 4172 <button class="back-purchase-button back-address text-uppercase"> 4173 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 4174 <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"/> 4175 </svg> 4176 <span>Back</span> 4177 </button> 4178 4179 </div> 4180 <div class="btn-next-card col-12 col-lg-10 text-right"> 4181 4182 <!-- 4183 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4184 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 4185 <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"/> 4186 </svg> 4187 <span>Back</span> 4188 </button> 4189 --> 4190 4191 4192 <button 4193 4194 id="addtocart-card" 4195 4196 class="btn next-address text-uppercase" 4197 4198 > 4199 <span>add to cart</span> 4200 </button> 4201 </div> 4202 </div> 4203 4204 </div> 4205 </div> 4206 </div> 4207 4208 </div> 4209 </div> 4210 <div id="backgroundPopup"></div> 4211 4212 4213 4214 <input 4215 data-index="1" 4216 type="hidden" 4217 id="properties-delivery-date" 4218 name="properties[Delivery Date]" 4219 value="-" 4220 > 4221 <input 4222 data-index="2" 4223 type="hidden" 4224 id="properties-delivery-time" 4225 name="properties[Delivery Time]" 4226 value="-" 4227 > 4228 <input 4229 data-index="4" 4230 type="hidden" 4231 id="properties-nama-penerima" 4232 name="properties[Nama Penerima]" 4233 value="-" 4234 > 4235 <input 4236 data-index="5" 4237 type="hidden" 4238 id="properties-alamat-penerima" 4239 name="properties[Alamat Penerima]" 4240 value="-" 4241 > 4242 <input 4243 data-index="6" 4244 type="hidden" 4245 id="properties-kodepos" 4246 name="properties[Kodepos]" 4247 value="-" 4248 > 4249 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4250 4251 4252 <input 4253 data-index="8" 4254 type="hidden" 4255 id="properties-kartu-nama-penerima" 4256 name="properties[Kartu Nama Penerima]" 4257 value="-" 4258 > 4259 4260 <textarea 4261 data-index="9" 4262 type="hidden" 4263 id="properties-kartu-pesan" 4264 name="properties[Kartu Pesan]" 4265 style="display: none" 4266 >-</textarea> 4267 4268 4269 4270 <input 4271 data-index="10" 4272 type="hidden" 4273 id="properties-kartu-nama-pengirim" 4274 name="properties[Kartu Nama Pengirim]" 4275 value="-" 4276 > 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 <!-- Additional Shipping --> 4296 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4297 <input 4298 type="hidden" 4299 id="properties-kota-pengiriman-country" 4300 name="properties[Country]" 4301 value="Indonesia" 4302 > 4303 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4304 4305 <input type="hidden" id="properties-time" name="properties[Time]"> 4306 <input type="hidden" id="properties-card" name="properties[Card]"> 4307 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4308 4309 <input 4310 type="hidden" 4311 id="properties-company" 4312 name="properties[Company]" 4313 value="" 4314 > 4315
4315<script> 4316 4317 $(document).ready(function(){ 4318 4319 var text_max_papan1=150; 4320 var msg_text_papan1=""; 4321 $('#kartu-ucapan-ucapan').keyup(function(){ 4322 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4323 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4324 }); 4325 4326 var notes_papan1 = [ 4327 4328 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4329 4330 ]; 4331 $('#show_note_papan1').click(function(event){ 4332 event.preventDefault(); 4333 var idx_papan1=parseInt($('#note_id_papan1').val()); 4334 if(isNaN(idx_papan1)){ 4335 idx_papan1=0; 4336 }else{ 4337 idx_papan1++; 4338 idx_papan1=idx_papan1%notes_papan1.length; 4339 } 4340 var note_papan1=notes_papan1[idx_papan1][1]; 4341 $('#note_id_papan1').val(idx_papan1); 4342 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4343 $('#msgDelivery').val(note_papan1); 4344 4345 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4346 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4347 if(isNaN(idx_2_papan1)){ 4348 idx_2_papan1=0; 4349 }else{ 4350 idx_2_papan1++; 4351 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4352 } 4353 $('#note_btn_id_papan1').val(idx_2_papan1); 4354 //var note_btn=note_btn_text[idx_2][1]; 4355 //$('#note_btn').text(note_btn); 4356 }); 4357 4358 var text_max_papan2=150; 4359 var msg_text_papan2=""; 4360 $('#kartu-ucapan-ucapan').keyup(function(){ 4361 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4362 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4363 }); 4364 4365 var notes_papan2 = [ 4366 4367 [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)."] 4368 4369 ]; 4370 $('#show_note_papan2').click(function(event){ 4371 event.preventDefault(); 4372 var idx_papan2=parseInt($('#note_id_papan2').val()); 4373 if(isNaN(idx_papan2)){ 4374 idx_papan2=0; 4375 }else{ 4376 idx_papan2++; 4377 idx_papan2=idx_papan2%notes_papan2.length; 4378 } 4379 var note_papan2=notes_papan2[idx_papan2][1]; 4380 $('#note_id_papan2').val(idx_papan2); 4381 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4382 $('#msgDelivery').val(note_papan2); 4383 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4384 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4385 if(isNaN(idx_2_papan2)){ 4386 idx_2_papan2=0; 4387 }else{ 4388 idx_2_papan2++; 4389 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4390 } 4391 $('#note_btn_id_papan2').val(idx_2_papan2); 4392 //var note_btn=note_btn_text[idx_2][1]; 4393 //$('#note_btn').text(note_btn); 4394 }); 4395 4396 var text_max_papan3=150; 4397 var msg_text_papan3=""; 4398 $('#kartu-ucapan-ucapan').keyup(function(){ 4399 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4400 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4401 }); 4402 4403 var notes_papan3 = [ 4404 4405 [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)."] 4406 4407 ]; 4408 $('#show_note_papan3').click(function(event){ 4409 event.preventDefault(); 4410 var idx_papan3=parseInt($('#note_id_papan3').val()); 4411 if(isNaN(idx_papan3)){ 4412 idx_papan3=0; 4413 }else{ 4414 idx_papan3++; 4415 idx_papan3=idx_papan3%notes_papan3.length; 4416 } 4417 var note_papan3=notes_papan3[idx_papan3][1]; 4418 $('#note_id_papan3').val(idx_papan3); 4419 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4420 $('#msgDelivery').val(note_papan3);
4421 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4422 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4423 if(isNaN(idx_2_papan3)){ 4424 idx_2_papan3=0; 4425 }else{ 4426 idx_2_papan3++; 4427 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4428 } 4429 $('#note_btn_id_papan3').val(idx_2_papan3); 4430 //var note_btn=note_btn_text[idx_2][1]; 4431 //$('#note_btn').text(note_btn); 4432 }); 4433 4434 var text_max_papan4=150; 4435 var msg_text_papan4=""; 4436 $('#kartu-ucapan-ucapan').keyup(function(){ 4437 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4438 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4439 }); 4440 4441 $('#show_note_papan4').click(function(event){ 4442 var notes_papan4 = [ 4443 [0,"Hereâs to youâsteadier, stronger and better every day."], 4444 [1,"Warmest wishes for a speedy recovery!"], 4445 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4446 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4447 ]; 4448 event.preventDefault(); 4449 var idx_papan4=parseInt($('#note_id_papan4').val()); 4450 console.log(idx_papan4, 'idx_papan4') 4451 if(isNaN(idx_papan4)){ 4452 idx_papan4=0; 4453 }else{ 4454 idx_papan4++; 4455 idx_papan4=idx_papan4%notes_papan4.length; 4456 } 4457 var note_papan4=notes_papan4[idx_papan4][1]; 4458 $('#note_id_papan4').val(idx_papan4); 4459 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4460 console.log(note_papan4, 'note_papan4') 4461 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4462 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4463 if(isNaN(idx_2_papan4)){ 4464 idx_2_papan4=0; 4465 }else{ 4466 idx_2_papan4++; 4467 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4468 } 4469 $('#note_btn_id_papan4').val(idx_2_papan4); 4470 }); 4471 4472 /* 4473 $("#jenisPapan").change(function(){ 4474 $( "select option:selected").each(function(){ 4475 if($(this).attr("value")=="Happy Wedding"){ 4476 $("#suggest-messages a").hide(); 4477 $("#show_note_papan1").show(); 4478 $("#kartu-ucapan-papan").val(""); 4479 } 4480 if($(this).attr("value")=="Congratulations"){ 4481 $("#suggest-messages a").hide(); 4482 $("#show_note_papan2").show(); 4483 $("#kartu-ucapan-papan").val(""); 4484 } 4485 if($(this).attr("value")=="Duka Cita"){ 4486 $("#suggest-messages a").hide(); 4487 $("#show_note_papan3").show(); 4488 $("#kartu-ucapan-papan").val(""); 4489 } 4490 }); 4491 }).change(); 4492 */ 4493 4494 4495 4496 4497 4498 $(".variant-metafield").each(function(){ 4499 const t = $(this) 4500 const id = t.attr("id") 4501 const target = $(`[data-select=${id}]`) 4502 t.on('select2:selecting', function(e) { 4503 const data = e.params.args.data 4504 target.val(data.text) 4505 }); 4506 }) 4507 }) 4508 </script>
4508 4509 4510 <div id="popupCart"> 4511 <div class="container"> 4512 <div class="wrapperPopupCart"> 4513 <div class="headerPopupCart"> 4514 <div class="d-flex pl-5 pr-5 p-4"> 4515 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4516 <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"/> 4517 </svg> 4518 <span>item added to your cart</span> 4519 </div> 4520 <a class="close-purchase-popup"> 4521 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4522 <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"/> 4523 </svg> 4524 </a> 4525 4526 </div> 4527 <div class="contentPopupCart"> 4528 <div class="pl-5 pr-5 p-4"> 4529 <div class="itemContent row m-0 justify-content-between"> 4530 <div class="col-2 align-self-center"> 4531 4532 <img 4533 class="d-block" 4534 width="80" 4535 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4536 > 4537 </div> 4538 <div class="col-10 align-self-center"> 4539 <div class="row pl-3"> 4540 <div class="col-12 col-lg-7"> 4541 <span class="titleCartPopup text-uppercase">SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.</span> 4542 </div> 4543 <div class="d-flex justify-content-end col-12 col-lg-5"> 4544 <span class="deleteCartPopup hide">Delete</span> 4545 <span class="lineCartPrice align-self-center">Rp 20.000</span> 4546 </div> 4547 </div> 4548 </div> 4549 </div> 4550 <div class="itemProperties"> 4551 4552 <div class="propDeliver"> 4553 <h4>delivery option detail</h4> 4554 <p> 4555 <span>delivery city</span> 4556 <span class="propDeliveryCity">jakarta</span> 4557 </p> 4558 <p> 4559 <span>delivery date</span> 4560 <span class="propDeliveryDate">24/03/2025</span> 4561 </p> 4562 <p> 4563 <span>delivery time</span> 4564 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4565 </p> 4566 </div> 4567 <div class="propAddress"> 4568 <h4>delivery option detail</h4> 4569 <p> 4570 <span>RECIPIENT NAME</span> 4571 <span class="propDeliveryName">jane doe</span> 4572 </p> 4573 <p> 4574 <span>delivery address</span> 4575 <span class="propDeliveryAddress" 4576 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4577 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4578 > 4579 </p> 4580 <p> 4581 <span>recipient phone number</span> 4582 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4583 </p> 4584 <p> 4585 <span>PROVINCE</span> 4586 <span class="propDeliveryProv">Jakarta</span> 4587 </p> 4588 <p> 4589 <span>postal code</span> 4590 <span class="propDeliveryZip">12710</span> 4591 </p> 4592 4593 4594 </div> 4595 4596 </div> 4597 <div class="itemAddonCart"> 4598 <div class="toggleAddonCart d-flex justify-content-between"> 4599 <h4>add-ons (0)</h4> 4600 <svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4601 <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"/> 4602 </svg> 4603 </div> 4604 <div class="wrapperItemAddonCart"></div> 4605 </div> 4606 4607 </div> 4608 </div>
4609 <div class="footerPopupCart"> 4610 <div class="row m-0 pl-5 pr-5 p-4"> 4611 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4612 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4613 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4614 </div> 4615 </div> 4616 </div> 4617 </div> 4618 </div> 4619 4620 4621
4621<script> 4622 const shareButton = document.getElementById('shareButton'); 4623 4624 shareButton.addEventListener('click', () => { 4625 if (navigator.share) { 4626 navigator.share({ 4627 title: "SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.", 4628 url: "/products/blossom-shine", 4629 text: 'Check out this page!' 4630 }) 4631 .then(() => console.log('Successful share')) 4632 .catch((error) => console.log('Error sharing', error)); 4633 } else { 4634 alert('Web Share API is not supported in this browser.'); 4635 } 4636 }); 4637 4638 // Inventory validation function 4639 function checkInventoryStatus() { 4640 const productSelect = document.getElementById('productSelect'); 4641 const purchaseButton = document.querySelector('#personalizeBtn button'); 4642 4643 if (!productSelect || !purchaseButton) return; 4644 4645 const selectedVariantId = productSelect.value; 4646 4647 // Get variant data from Shopify 4648 fetch(`/products/blossom-shine.js`) 4649 .then(response => response.json()) 4650 .then(product => { 4651 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4652 4653 if (selectedVariant) { 4654 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4655 selectedVariant.inventory_management === 'shopify' && 4656 selectedVariant.inventory_policy !== 'continue'; 4657 4658 if (isOutOfStock) { 4659 purchaseButton.disabled = true; 4660 purchaseButton.textContent = 'Out of Stock'; 4661 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4662 purchaseButton.style.backgroundColor = '#cccccc'; 4663 purchaseButton.style.cursor = 'not-allowed'; 4664 } else { 4665 // Check if button was disabled due to other conditions 4666 4667 4668 4669 4670 4671 4672 4673 4674 const isOtherDisabled = false || true || false; 4675 4676 if (!isOtherDisabled) { 4677 purchaseButton.disabled = false; 4678 purchaseButton.textContent = 'customize your flower board'; 4679 purchaseButton.removeAttribute('data-out-of-stock'); 4680 purchaseButton.style.backgroundColor = ''; 4681 purchaseButton.style.cursor = ''; 4682 } 4683 } 4684 } 4685 }) 4686 .catch(error => { 4687 console.error('Error checking inventory:', error); 4688 }); 4689 } 4690 4691 // Check inventory on page load 4692 document.addEventListener('DOMContentLoaded', function() { 4693 checkInventoryStatus(); 4694 4695 // Listen for variant changes 4696 const productSelect = document.getElementById('productSelect'); 4697 if (productSelect) { 4698 productSelect.addEventListener('change', checkInventoryStatus); 4699 } 4700 }); 4701 4702 // Prevent form submission if out of stock 4703 document.addEventListener('click', function(e) { 4704 if (e.target.matches('button[data-out-of-stock="true"]')) { 4705 e.preventDefault(); 4706 e.stopPropagation(); 4707 alert('This product is currently out of stock and cannot be purchased.'); 4708 return false; 4709 } 4710 }); 4711 </script>
4711 4712 4713 4714 4715 </div> 4716 4717 </div> 4718 </div> 4719 </div> 4720 </div> 4721 <div id="product-bottom"> 4722 4723 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4724 <div class="container"> 4725 4726 4727 4728 4729 4730 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4731 <div class="short-desc"> 4732 <ul> 4733 <li><strong>SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!</strong></li> 4734 </div> 4735 <label class="more-mobile">Show More â</label> 4736 </div> 4737 4738 <style> 4739 .animated-title { 4740 text-align: center; 4741 font-weight: bold; 4742 color: #079c02; 4743 font-size: 28px; 4744 position: relative; 4745 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4746 } 4747 4748 /* Efek glow / bercahaya hijau */ 4749 @keyframes glow { 4750 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4751 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4752 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4753 } 4754 4755 /* Efek gerakan naik turun */ 4756 @keyframes moveUpDown { 4757 0% { transform: translateY(0px); } 4758 50% { transform: translateY(-5px); } 4759 100% { transform: translateY(0px); } 4760 } 4761 </style> 4762 4763
4763<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4763 4764
4764<script> 4765 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}); 4766 4767 const productType = $("[data-product-type]").data("product-type") 4768 const productDate = Date.parse(new Date()) 4769 4770 const shop = 'outerbloom1.myshopify.com' 4771 const host = 'https://app.asmaraku.com' 4772 // const host = 'http://localhost:5001' 4773 4774 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4775 4776 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4777 4778 $("#properties-time").val(new Date().getTime()) 4779 4780 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4781 4782 if(!isIOS) { 4783 $("#full-date").attr("type", "button") 4784 } 4785 4786 let dateTime = new Date(); 4787 let today = dateTime.getDate(); 4788 let day = dateTime.getDay(); 4789 let hour = dateTime.getHours(); 4790 let min = dateTime.getMinutes(); 4791 let timeOfDay = hour + (min / 100); 4792 4793 async function getFetch(url) { 4794 const response = await fetch(url); 4795 let status = false 4796 let result 4797 if(response.ok) { 4798 status = true 4799 result = await response.json(); 4800 } 4801 return { 4802 status, 4803 data: result 4804 } 4805 } 4806 4807 4808 4809 function setCookie(cname, cvalue, exMins) { 4810 var d = new Date(); 4811 d.setTime(d.getTime() + (exMins*60*1000)); 4812 var expires = "expires="+d.toUTCString(); 4813 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4814 } 4815 4816 function getCookie(cname) { 4817 let name = cname + "="; 4818 let decodedCookie = decodeURIComponent(document.cookie); 4819 let ca = decodedCookie.split(';'); 4820 for(let i = 0; i <ca.length; i++) { 4821 let c = ca[i]; 4822 while (c.charAt(0) == ' ') { 4823 c = c.substring(1); 4824 } 4825 if (c.indexOf(name) == 0) { 4826 return c.substring(name.length, c.length); 4827 } 4828 } 4829 return ""; 4830 } 4831 4832 async function renderDate() { 4833 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 4834 console.log(dataDate, 'renderDate') 4835 const data = dataDate?.data 4836 const date = data.date 4837 const time = data.time 4838 4839 console.log(date, 'DATE') 4840 4841 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4842 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4843 const htmlDate = [] 4844 for(let i = 0;i < date.length;i++) { 4845 const full = date[i].date 4846 const d = new Date(date[i].date); 4847 const day = weekday[d.getDay()]; 4848 const dt = d.getDate(); 4849 const mt = monthly[d.getMonth()]; 4850 const yr = d.getFullYear(); 4851 const isDate = Boolean(date[i].isEnabled) 4852 const cutoffpagi = date[i].cutoff?.pagi 4853 const cutoffsiang = date[i].cutoff?.siang 4854 const cutoffMalam = date[i].cutoff?.Malam 4855 var html = ` 4856 <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'}> 4857 ${dt === today ? 4858 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 4859 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 4860 } 4861 </button> 4862 ` 4863 htmlDate.push(html) 4864 } 4865 const htmlTime = [] 4866 for(var i = 0;i < time.length;i++) { 4867 const timeText = time[i].text 4868 const timeTime = time[i].time 4869 const timeEnabled = time[i].isEnabled 4870 var html = ` 4871 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 4872 ` 4873 htmlTime.push(html) 4874 } 4875 const deliveryDate = document.getElementById("deliveryDate"); 4876 if(deliveryDate) { 4877 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 4878 $("#deliveryTime").html(htmlTime) 4879 if(productType !== '') { 4880 console.log("clarity event " + productType + ' calendaring') 4881 window.clarity("event", `${productType} calendaringSchedule`) 4882 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 4883 } 4884 } 4885 } 4886 4887 async function getProvince(city) { 4888 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 4889 console.log(province, 'province') 4890 $("#province").val(province) 4891 } 4892 4893 async function renderAddress() { 4894 let current 4895 if(getCookie("location_delivery")){ 4896 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 4897 } 4898 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 4899 console.log(address) 4900 const data = address?.data?.city 4901 const htmlAddress = [] 4902 const grouping = []
4903 for(let i = 0;i < data?.length;i++) { 4904 if(data[i]){ 4905 if(data[i]?.group) { 4906 grouping.push(data[i].group) 4907 } 4908 const price = rupiah.format(data[i]?.rate) 4909 let promo = '(Promo Free Delivery)' 4910 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 4911 promo = '(at SCBD, Ashta)' 4912 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 4913 promo = '(at Kuningan, ITC Kuningan)' 4914 } else if(data[i]?.name === 'BSD - PickUp'){ 4915 promo = '(at Goldfinch Gading Serpong)' 4916 } else if(data[i]?.name === 'Kota Lainnya'){ 4917 promo = '' 4918 } 4919 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>`) 4920 } 4921 } 4922 4923 const deliveryCity = document.getElementById("cities"); 4924 if(deliveryCity) { 4925 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 4926 if(!isIOS) { 4927 $(deliveryCity).select2(); 4928 } 4929 } 4930 } 4931 4932 async function renderZip(v, v2, v3) { 4933 const deliveryZip = document.getElementById("zip"); 4934 if(v === '') { 4935 return 4936 } 4937 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 4938 let zip = dataZip?.data?.zip 4939 console.log(zip) 4940 let htmlZip = [] 4941 for(let i = 0; i < zip?.length;i++) { 4942 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 4943 } 4944 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 4945 } 4946 4947 renderDate() 4948 renderAddress() 4949 4950 let rupiah = new Intl.NumberFormat('id-ID', { 4951 style: 'currency', 4952 currency: 'IDR', 4953 maximumFractionDigits: 0, 4954 minimumFractionDigits: 0 4955 }); 4956 4957 async function insertCard(data) { 4958 const response = await fetch(`${host}/api/card/new`, { 4959 method: "POST", 4960 headers: { 4961 'Content-Type': 'application/json', 4962 }, 4963 body: data 4964 }) 4965 const result = await response.json() 4966 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 4967 $("#greetingCard").attr("data-index", rowIndex) 4968 return result 4969 } 4970 4971 async function updateCard(data){ 4972 const rowIndex = $("#greetingCard").data("index") 4973 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 4974 method: "PUT", 4975 headers: { 4976 'Content-Type': 'application/json', 4977 }, 4978 body: data 4979 }) 4980 return response 4981 } 4982 4983 function bytesToSize(bytes) { 4984 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 4985 for (var i = 0; i < sizes.length; i++) { 4986 if (bytes <= 1024) { 4987 return bytes + ' ' + sizes[i]; 4988 } else { 4989 bytes = parseFloat(bytes / 1024).toFixed(2) 4990 } 4991 } 4992 return bytes + ' P'; 4993 } 4994 4995 async function uploadMedia(uri, type) { 4996 nameq = $("#properties-nama-penerima").val() 4997 dear = $("#properties-kartu-nama-penerima").val() 4998 card = $("[data-properties=ucapan]").val() 4999 sender = $("#properties-kartu-nama-pengirim").val() 5000 photo = $("#properties-photo").val() 5001 video = $("#properties-video").val() 5002 status = "Product" 5003 5004 const name = qrID 5005 let formData = new FormData(); 5006 formData.append("file", uri); 5007 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5008 method: "POST", 5009 body: formData 5010 }) 5011 const result = await response.json(); 5012 if(result) { 5013 const url = result.url 5014 if(type === 'image/jpeg') { 5015 $("#properties-photo").val(url) 5016 $(".preview-image").show() 5017 $(".remove-image").show() 5018 photo = url 5019 } else { 5020 $("#properties-video").val(url) 5021 $("#label-input-video span").text("Change File") 5022 $(".case-qrcode-preview p").text("Scan here for a secret message") 5023 $(".remove-media").show() 5024 $("#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>`) 5025 $("[for=input-video]").hide() 5026 video = url 5027 } 5028 $(".case-video-preview").show() 5029 $(".steps-card-preview").removeClass("loading") 5030 // updateCard(nameq, dear, card, sender, photo, video, status) 5031 5032 $(".nextBtn").attr("disabled", false) 5033 } 5034 } 5035 5036 function randomString(length, chars) { 5037 var result = ''; 5038 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5039 return result; 5040 } 5041 5042 function getNoteCity(fulldate) { 5043 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5044 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5045 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5046 const d = new Date(h_1); 5047 const day = weekday[d.getDay()]; 5048 const dt = d.getDate(); 5049 const mt = monthly[d.getMonth()]; 5050 const yr = d.getFullYear(); 5051 const p = $("#cities").parent(".form-group") 5052 } 5053 5054 function disabledSameDay() { 5055 let btnFirst = $("#deliveryDate").find("button:first-child") 5056 let getDay = new Date().getDay(); 5057 5058 5059 5060 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5061 if(hour >= 14.00){ 5062 btnFirst.attr("disabled", true) 5063 } 5064 } else if(getDay == 6){ 5065 if(hour >= 16.00){ 5066 btnFirst.attr("disabled", true) 5067 } 5068 } else if(getDay == 0){ 5069 if(hour >= 16.00){ 5070 btnFirst.attr("disabled", true) 5071 } 5072 } 5073 5074 5075 } 5076 5077 function disabledays(date) { 5078 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5079 //if u have to disable a list of day 5080 let removeDays 5081 5082 5083 5084 removeDays = ["2025-2-13", "2025-2-14"]; 5085 5086 if ($.inArray(ymd, removeDays) >= 0) { 5087 return [false]; 5088 } else { 5089 let day = date.getDay(); 5090 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5091 return [(day == 0), '']; 5092 } 5093 5094 if(day == 0){ 5095 return [(day == 0), '']; 5096 } 5097 5098 5099 return [(day != 0), '']; 5100 } 5101 } 5102 5103 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5104 /* Written by Deden Fathurahman ([email protected]). */ 5105 ( function( factory ) { 5106 if ( typeof define === "function" && define.amd ) { 5107 5108 // AMD. Register as an anonymous module. 5109 define( [ "../widgets/datepicker" ], factory ); 5110 } else { 5111 5112 // Browser globals 5113 factory( jQuery.datepicker ); 5114 } 5115 }( function( datepicker ) { 5116 5117 datepicker.regional.id = { 5118 closeText: "Tutup", 5119 prevText: "<mundur", 5120 nextText: "maju>", 5121 currentText: "Today", 5122 monthNames: [ "January","February","March","April","May","Juny", 5123 "July","August","September","October","November","December" ], 5124 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5125 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5126 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5127 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5128 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5129 weekHeader: "Mg", 5130 dateFormat: "D, dd M", 5131 firstDay: 0, 5132 isRTL: false, 5133 showMonthAfterYear: false, 5134 yearSuffix: "" }; 5135 datepicker.setDefaults( datepicker.regional.id ); 5136 5137 return datepicker.regional.id; 5138 5139 } ) ); 5140 5141 function loadPopup() { 5142 $("#backgroundPopup").fadeIn("slow"); 5143 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5144 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5145 if(firstSection.hasClass("purchasePersonalize")) { 5146 if(productType !== '') { 5147 console.log("clarity event " + productType + ' personalize') 5148 window.clarity("event", `${productType} cardPersonalization`) 5149 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5150 } 5151 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5152 console.log("clarity event " + productType + ' personalizeBoard') 5153 window.clarity("event", `${productType} personalizeBoard`) 5154 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5155 } 5156 firstSection.removeClass("hide") 5157 5158 // Auto-trigger addon loading when addon section becomes visible 5159 setTimeout(function() { 5160 const addonSection = $(".purchaseAddon") 5161 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5162 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5163 $("[data-addon=upsell-all]").trigger("click") 5164 } 5165 } 5166 }, 200) 5167 } 5168 5169 function disablePopup() { 5170 $("#backgroundPopup").fadeOut("slow"); 5171 $(".purchasePopup").fadeOut("slow"); 5172 $("#popupCart").fadeOut("slow"); 5173 } 5174
5175 function scrollTo(parent, div, dur) { 5176 $(parent).animate({ 5177 scrollTop: $(div).offset().top 5178 }, dur); 5179 } 5180 5181 function loadPopupPersonalize() { 5182 const div = "#purchaseProduct" 5183 const p = "html, body, .product-meta" 5184 $("p.error").remove() 5185 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5186 const isCity = $("#cities[required]") 5187 const isDate = $("#propDeliveryDate[required]") 5188 const isTime = $("#propDeliveryTime[required]") 5189 // loadPopup() 5190 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5191 loadPopup() 5192 } 5193 if(isCity.val() == '') { 5194 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5195 scrollTo(p, div, 500) 5196 } 5197 if(isDate.val() == '') { 5198 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5199 scrollTo(p, div, 500) 5200 } 5201 if(isTime.val() == '') { 5202 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5203 scrollTo(p, div, 500) 5204 } 5205 } 5206 5207 function quantityCounter() { 5208 $(document).on("click", ".item-card.selected .q_up", function () { 5209 var C = $(this).attr("data-id"), 5210 S = 5211 parseInt( 5212 $(this) 5213 .siblings(".quantity-cart-" + C) 5214 .val() 5215 ) + 1; 5216 $(this).attr("data-quantity", S), 5217 $(this) 5218 .siblings(".quantity-cart-" + C) 5219 .val(S); 5220 }), 5221 $(document).on("click", ".item-card.selected .q_down", function () { 5222 var C = $(this).attr("data-id"), 5223 S = parseInt( 5224 $(this) 5225 .siblings(".quantity-cart-" + C) 5226 .val() 5227 ); 5228 0 < S && $(this).attr("data-quantity", S - 1), 5229 0 < S && 5230 $(this) 5231 .siblings(".quantity-cart-" + C) 5232 .val(S - 1); 5233 }); 5234 } 5235 5236 quantityCounter() 5237 5238 const itemAddon = $(".item-card").length 5239 const nofree = $(".nofree").length 5240 5241 const upsell = '' 5242 5243 if(nofree === itemAddon) { 5244 // $("#itemAddons").html("<p>No Items available</p>") 5245 } 5246 5247 $("#itemAddons .item-card").each(function(e){ 5248 $("#itemAddons").attr("data-length", e) 5249 }) 5250 5251 $("[data-addon]").click(function(){ 5252 5253 5254 5255 const t = $(this) 5256 5257 const data = t.data("addon") 5258 5259 $("[data-addon]").removeClass("selected") 5260 t.addClass("selected") 5261 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5262 const products = data.products 5263 const html = [] 5264 for(let i = 0; i < products.length; i++) { 5265 const id = products[i].id 5266 const variantId = products[i].variants[0].id 5267 const img = products[i].images[0].src 5268 let img2 = img.split('.jpg')[0] 5269 const title = products[i].title 5270 const price = products[i].variants[0].price 5271 const tags = products[i].tags 5272 const qty = products[i].variants[0].available 5273 let type_upsell = '' 5274 if(tags.includes('upsell-item-standing')) { 5275 type_upsell = 'standing' 5276 } 5277 console.log(type_upsell) 5278 if(type_upsell !== '') { 5279 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}"> 5280 5281 <div class="card-image"> 5282 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5283 </div> 5284 <div class="card-meta"> 5285 <h5>${title}</h5> 5286 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5287 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5288 </div> 5289 <div class="card-qty"> 5290 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5291 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5291" value="0" data-price=${price} name="quantity"> 5292 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5293 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5294 </svg></a> 5295 </div> 5296 </div>` 5297 html.push(body) 5298 } 5299 } 5300 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5301 $("#itemAddons").attr("data-length", products.length) 5302 // $('#itemAddons')[0].swiper.update(); 5303 }); 5304 }) 5305 5306 async function isAddon(){ 5307 let ids = [] 5308 $("#itemAddons .item-card.selected").each(function(i, e){ 5309 const id = $(this).data("id") 5310 ids.push(id) 5311 }) 5312 console.log(ids) 5313 return ids 5314 } 5315 5316 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5317 const t = $(this).parent() 5318 const id = t.data("id") 5319 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5320 t.toggleClass("selected"); 5321 //$(this).next("input").toggleAttr('name', 'id[]'); 5322 if (t.hasClass('selected')) { 5323 t.find("input").val(1) 5324 t.find("input").attr('name', 'id[]'); 5325 } else { 5326 t.find("input").val(0) 5327 t.find("input").removeAttr('name'); 5328 } 5329 $("#properties-addons").val(addons) 5330 const is = await isAddon() 5331 if(is.length === 0) { 5332 btn.text("continue without add-ons") 5333 return 5334 } 5335 if(is.includes(8835692069079)) { 5336 btn.text("personalize acrylic frame") 5337 } else { 5338 btn.text("Continue") 5339 } 5340 5341 }) 5342 5343 async function myAddon(data) { 5344 const c = $(".addonsPurchase .addons") 5345 let items = [] 5346 5347 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5348 // if(spotifyAddons.length > 0) { 5349 // $(spotifyAddons).each(function(i, e){ 5350 // const spotifyLink = $(this).find(".spotifyLink").val() 5351 // const spotifySong = $(this).find(".spotifySong").val() 5352 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5353 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5354 // if(spotifyLink !== '') { 5355 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5356 // <div class="addon-itm-img"> 5357 // <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"/> 5358 // </div> 5359 // <div class="addon-itm-title"> 5360 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5361 // </div> 5362 // <div class="addon-itm-line-total"> 5363 // <span>Rp 99.000</span> 5364 // </div> 5365 // </div> 5366 // <div class="propsAddonSpotify row m-0"> 5367 // <div class="col-12 col-lg-2"></div> 5368 // <div class="col-12 col-lg-10"> 5369 // <p> 5370 // <span>spotify link</span> 5371 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5372 // </p> 5373 // <p> 5374 // <span>uploaded photo</span> 5375 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5376 // </p> 5377 // <p> 5378 // <span>song / playlist name</span> 5379 // <span class="spotifySongAddon">${spotifySong}</span> 5380 // </p> 5381 // <p> 5382 // <span>artist name</span> 5383 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5384 // </p> 5385 // </div> 5386 // </div>` 5387 // items.push(spotifyAddon) 5388 // } 5389 // }) 5390 // } 5391 for(let i = 0; i < data.length; i++) { 5392 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5393 const img = data[i].image 5394 const title = data[i].title
5395 const qty = data[i].qty 5396 const price = data[i].price 5397 const total = Number(qty) * Number(price) 5398 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5399 <div class="addon-itm-img"> 5400 <img src="${img}" alt="" width="70"/> 5401 </div> 5402 <div class="addon-itm-title"> 5403 <span>${title}</span> 5404 </div> 5405 <div class="addon-itm-line-price"> 5406 <span>${rupiah.format(price)}</span> 5407 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5408 </div> 5409 <div class="addon-itm-line-total"> 5410 <span>${rupiah.format(total)}</span> 5411 </div> 5412 </div>` 5413 items.push(addons) 5414 } 5415 } 5416 c.html(items) 5417 const parent = $(".purchaseAddon") 5418 const next = parent.next(".sectionPurchase") 5419 parent.addClass("hide") 5420 next.removeClass("hide") 5421 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5422 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5423 } 5424 5425 async function listAddon() { 5426 const data = $("#itemAddons").find(".selected") 5427 let ids = [] 5428 $(data).each(function(){ 5429 const id = $(this).data("variant") 5430 const image = $(this).find(".card-image img").attr("src") 5431 const title = $(this).find(".card-meta h5").text() 5432 const qty = $(this).find(".card-qty input").val() 5433 const price = $(this).find(".card-qty input").data("price") 5434 ids.push({ 5435 id: Number(id), 5436 image, 5437 title, 5438 qty, 5439 price 5440 }) 5441 }) 5442 myAddon(ids) 5443 } 5444 5445 async function customSpotify(idx, length, type){ 5446 let isCard = false 5447 5448 let p = $(".purchasePopupSpotify") 5449 const preLink = $(".spotifyLinkFirst").val() 5450 $("[data-index]").hide() 5451 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5452 p.find(".regulerAddons, .purchase-button").hide() 5453 p.find(".spotifyAddons").show() 5454 5455 const data = await trackUrl(preLink) 5456 5457 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://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="13" height="11" viewB
5457ox="0 0 13 11" fill="none"> 5458 <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"/> 5459 </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://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="13" height="11" viewB
5459ox="0 0 13 11" fill="none"> 5460 <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"/> 5461 </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>` 5462 // console.log(html) 5463 5464 $(".spotifyAddons").append(html) 5465 5466 $(`[data-index=${idx}]`).show() 5467 5468 if (preLink !== '') { 5469 $(".btn-action .btn").attr("disabled", false) 5470 } else { 5471 $(".btn-action .btn").attr("disabled", true) 5472 } 5473 5474 return html 5475 5476 } 5477 5478 $(".spotifyLinkFirst").keyup(async function(){ 5479 const v = $(this).val() 5480 if(v.includes('spotify:user:spotify')) { 5481 const correct = v.split('user:spotify:')[1] 5482 console.log(correct, 'BNER') 5483 $(this).val(correct) 5484 return 5485 } 5486 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5487 const data = await trackUrl(v) 5488 if(!data || !data.status) { 5489 $(this).parent().addClass("error") 5490 // $(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>`) 5491 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5492 return 5493 } 5494 $(this).parent().removeClass("error") 5495 // $(this).parent().remove("txt-error") 5496 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5497 } else { 5498 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5499 } 5500 }) 5501 5502 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5503 const parent = $(this).parents(".purchaseAddon") 5504 const next = parent.next(".sectionPurchase") 5505 if(next.hasClass("purchaseAddress")) { 5506 if(productType !== '') { 5507 console.log("clarity event " + productType + ' purchaseDelivery') 5508 window.clarity("event", `${productType} purchaseDelivery`) 5509 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5510 } 5511 } 5512 const data = $("#itemAddons").find(".selected") 5513 const length = $(".quantity-cart-46067682607319").val() 5514 const checked = data.length; 5515 if(checked > 0) { 5516 if(length > 0) { 5517 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5518 customSpotify(1, length, 'addon') 5519 } else { 5520 listAddon() 5521 } 5522 } else { 5523 parent.addClass("hide") 5524 next.removeClass("hide") 5525 } 5526 }) 5527 5528 $("#personalizeBtnSpotify .btn").click(async function(){ 5529 const isCity = $("#cities[required]") 5530 const isDate = $("#propDeliveryDate[required]") 5531 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5532 alert('Please choose Delivery City & Delivery Date') 5533 return 5534 } 5535 const data = await customSpotify(1, 1, 'product') 5536 if(data) { 5537 $("#backgroundPopup").fadeIn("slow"); 5538 $(".purchasePopupSpotify").fadeIn("slow"); 5539 5540 if(productType !== '') { 5541 console.log("clarity event " + productType + ' spotify') 5542 window.clarity("event", `${productType} spotify`) 5543 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5544 } 5545 } 5546 }) 5547 5548 function formatBytes(bytes, decimals = 2) { 5549 if (!+bytes) return '0 Bytes' 5550
5551 const k = 1024 5552 const dm = decimals < 0 ? 0 : decimals 5553 const sizes = ['B', 'KB', 'MB'] 5554 5555 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5556 5557 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5558 } 5559 5560 async function trackUrl(link){ 5561 try { 5562 let trackId = link.split('/').pop().split('?')[0]; 5563 let type = '' 5564 if(link.includes("spotify:")) { 5565 const uri = link.split('spotify:')[1] 5566 trackId = uri.split(':')[1] 5567 type = uri.split(':')[0] + 's' 5568 } else { 5569 if(link.match('track')){ 5570 type = 'tracks' 5571 } else if(link.match('playlist')) { 5572 type = 'playlists' 5573 } else if(link.match('artist')) { 5574 type = 'artists' 5575 } else if(link.match('album')) { 5576 type = 'albums' 5577 } 5578 } 5579 console.log(`${host}/api/spotify/${type}/${trackId}`) 5580 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5581 console.log(data, 'DATA') 5582 const song = data?.data?.name 5583 const artist = data?.data?.artist 5584 return { 5585 song, artist, type, trackId, status: data.status 5586 } 5587 } catch(err) { 5588 console.log(err) 5589 } 5590 } 5591 5592 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5593 const parent = $(this).parents("[data-index]") 5594 const preview = parent.find(".previewImage") 5595 const file = $(this)[0].files[0]; 5596 if (file) { 5597 const reader = new FileReader(); 5598 reader.onload = async function(e) { 5599 parent.find(".uploadResult label").hide() 5600 parent.find(".uploadedResult").remove() 5601 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5602 <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> 5603 <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;">
5603<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 5604 <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 /> 5605 </svg> 5606 </span></div></div>`) 5607 parent.find(".frameImageUploaded svg").hide() 5608 parent.find(".frameImage").addClass("uploaded") 5609 preview.attr("src", e.target.result); 5610 preview.show(); 5611 let formData = new FormData(); 5612 formData.append("file", file); 5613 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5614 method: "POST", 5615 body: formData 5616 }) 5617 const result = await response.json(); 5618 if(result){ 5619 parent.find(".resultPhotoSpotify").val(result.url) 5620 } 5621 } 5622 5623 reader.readAsDataURL(file); 5624 } else { 5625 preview.hide(); 5626 } 5627 }); 5628 5629 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5630 $(this).next("input[type=file]").trigger("click") 5631 }) 5632 5633 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5634 $(this).parents("input[type=file]").trigger("click") 5635 }) 5636 5637 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5638 const parent = $(this).parents("[data-index]") 5639 parent.find(".uploadPhotoSpotify").val("") 5640 parent.find(".uploadResult label").show() 5641 parent.find(".uploadedResult").remove() 5642 parent.find(".frameImageUploaded svg").show() 5643 parent.find(".previewImage").hide() 5644 parent.find(".frameImage").removeClass("uploaded") 5645 }) 5646 5647 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5648 const parent = $(this).parents("[data-index]") 5649 parent.toggleClass("checked") 5650 }) 5651 5652 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5653 const parent = $(this).parents("[data-index]") 5654 const link = $(this).val() 5655 const data = await trackUrl(link) 5656 5657 console.log(data) 5658 5659 if(data.song) { 5660 parent.find(".spotifySong").val(data.song) 5661 parent.find(".spotifyData").find("h3").text(data.song) 5662 } 5663 if(data.artist) { 5664 parent.find(".spotifyArtist").val(data.artist) 5665 parent.find(".spotifyData").find("p").text(data.artist) 5666 } 5667 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5668 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5669 if (data.status === true) { 5670 parent.find(".btn-action .btn").attr("disabled", false) 5671 } else { 5672 parent.find(".btn-action .btn").attr("disabled", true) 5673 } 5674 }) 5675
5676 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5677 const parent = $(this).parents("[data-index]") 5678 const v = $(this).val() 5679 parent.find(".spotifyData h3").text(v) 5680 }) 5681 5682 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5683 const parent = $(this).parents("[data-index]") 5684 const v = $(this).val() 5685 parent.find(".spotifyData p").text(v) 5686 }) 5687 5688 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5689 const parent = $(this).parents("[data-index]") 5690 const length = parent.data("length") 5691 const index = parent.data("index") 5692 const indexNext = Number(index) + 1 5693 customSpotify(indexNext, length, 'addon') 5694 }) 5695 5696 5697 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5698 const parent = $(this).parents(".purchaseAddon") 5699 const next = parent.next(".sectionPurchase") 5700 parent.addClass("hide") 5701 next.removeClass("hide") 5702 next.find(".purchase-button").show() 5703 listAddon() 5704 }) 5705 5706 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5707 const t = $(this).parents("[data-index]") 5708 const parent = $(this).parents(".sectionPurchase") 5709 const current = t.data("index") 5710 const prevCurrent = Number(current) - 1 5711 if(current == 1) { 5712 parent.removeClass("purchaseAddonSpotify") 5713 parent.find(".purchase-button").show() 5714 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5715 $(".spotifyAddons").empty() 5716 $(".regulerAddons").show() 5717 return 5718 } 5719 t.hide() 5720 t.prev("[data-index]").show() 5721 t.remove() 5722 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5723 }) 5724 5725 $("#personalizeBtn .btn").click(async function() { 5726 loadPopupPersonalize() 5727 }); 5728 5729 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5730 $(".sectionPurchaseSpotify").hide() 5731 loadPopupPersonalize() 5732 }) 5733 5734 $(".close-purchase-popup").click(function() { 5735 disablePopup(); 5736 }); 5737 $("#backgroundPopup").click(function() { 5738 // disablePopup(); 5739 }); 5740 5741 $("#popupCart .close-purchase-popup").click(function() { 5742 location.reload() 5743 }); 5744 5745 $('#popupCart').on('hide.bs.modal', function (e) { 5746 location.reload() 5747 }) 5748 5749 $(".next-card").click(function(){ 5750 const parent = $(this).parents(".sectionPurchase") 5751 const next = parent.next(".sectionPurchase") 5752 parent.addClass("hide") 5753 next.removeClass("hide") 5754 }) 5755 5756 $(".back-purchase-button").click(function(){ 5757 const parent = $(this).parents(".sectionPurchase") 5758 const prev = parent.prev(".sectionPurchase") 5759 parent.addClass("hide") 5760 prev.removeClass("hide") 5761 }) 5762 5763 $(document).keypress(function(e) { 5764 if (e.keyCode == 27 && popupStatus == 1) { 5765 disablePopup(); 5766 } 5767 }); 5768 5769 const parentImg = $(".case-img-preview") 5770 const parentVid = $(".case-video-preview") 5771 5772 function readURL(input) { 5773 if (input.files && input.files[0]) { 5774 let reader = new FileReader(); 5775 5776 let type = 'image/jpeg' 5777 const size = input.files[0].size 5778 if(input.files[0].type.match('video/')){ 5779 type = 'video/mp4' 5780 if(size > 15728640) { 5781 alert('File size exceeds maximum limit 15 MB') 5782 return 5783 } 5784 } else { 5785 if(size > 5242880) { 5786 alert('File size exceeds maximum limit 5 MB') 5787 return 5788 } 5789 } 5790 5791 reader.onload = function (e) { 5792 $(".nextBtn").attr("disabled", true) 5793 if(type === 'image/jpeg') { 5794 5795 $('.placeholder-image').hide(); 5796 $('.preview-image').show() 5797 $('.preview-image').attr('src', e.target.result); 5798 5799 } else { 5800 // parentVid.find(".ajax-loader").show(); 5801 $(".steps-card-preview").addClass("loading") 5802 } 5803 } 5804 5805 5806 5807 reader.readAsDataURL(input.files[0]); 5808 } 5809 } 5810 5811 async function readURLPapan(input) { 5812 if (input.files && input.files[0]) { 5813 let reader = new FileReader(); 5814 5815 reader.onload = function (e) { 5816 $('.btn-upload-papan').siblings('label').hide(); 5817 $('.btn-upload-papan img').attr('src', e.target.result); 5818 $('.btn-upload-papan img').show(); 5819 $('.svgLogoPapan').hide(); 5820 } 5821 5822 const type = 'image/jpeg' 5823 const name = `logo-8144957800663-${Date.parse(new Date())}` 5824 5825 let formData = new FormData(); 5826 formData.append("file", input.files[0]); 5827 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5828 method: "POST", 5829 body: formData 5830 }) 5831 const result = await response.json(); 5832 if(result) { 5833 const url = result.url 5834 $("[data-properties=papan-logo]").val(url) 5835 } 5836
5837 reader.readAsDataURL(input.files[0]); 5838 } 5839 } 5840 5841 async function readURLAddress(input) { 5842 console.log(input, 'readURLAddress') 5843 if (input.files && input.files[0]) { 5844 let reader = new FileReader(); 5845 5846 reader.onload = function (e) { 5847 $('.photo-address').attr('src', e.target.result); 5848 $('.photo-address').show(); 5849 } 5850 5851 const type = 'image/jpeg' 5852 const name = input.files[0].name?.split('.')[0] 5853 5854 let formData = new FormData(); 5855 formData.append("file", input.files[0]); 5856 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5857 method: "POST", 5858 body: formData 5859 }) 5860 const result = await response.json(); 5861 5862 reader.readAsDataURL(input.files[0]); 5863 5864 return result 5865 } 5866 } 5867 5868 5869 5870 5871 async function addToCartUang() { 5872 var productAddOnId1 = 42122101162199; 5873 var productAddOnId2 = 42122101194967; 5874 var product_id = 8144957800663 5875 const data = { 5876 items: [ 5877 { 5878 quantity: $("#Quantity-" + productAddOnId1).val(), 5879 id: productAddOnId1, 5880 "properties": { "Time": $("#properties-time").val() } 5881 }, 5882 { 5883 quantity: $("#Quantity-" + productAddOnId2).val(), 5884 id: productAddOnId2, 5885 "properties": { "Time": $("#properties-time").val() } 5886 } 5887 ] 5888 } 5889 await fetch(window.Shopify.routes.root + 'cart/add.js', { 5890 method: 'POST', 5891 headers: { 5892 'Content-Type': 'application/json' 5893 }, 5894 body: JSON.stringify(data) 5895 }) 5896 .then(response => { 5897 console.error('Sukses Buket Uang:', response); 5898 $(".form-flower").submit() 5899 }) 5900 .catch((error) => { 5901 console.error('Error Buket Uang:', error); 5902 $(".form-flower").submit() 5903 }); 5904 } 5905 5906 async function saveCard(){ 5907 let isCard = true 5908 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 5909 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 5910 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 5911 const foto = $("#properties-photo").val() 5912 const video = $("#properties-video").val() 5913 const data = JSON.stringify({ 5914 "id": qrID, 5915 "penerima": $("#properties-nama-penerima").val(), 5916 "kartu_penerima": kartu_penerima, 5917 "kartu_ucapan": kartu_ucapan, 5918 "kartu_pengirim": kartu_pengirim, 5919 "foto": foto, 5920 "video": video, 5921 "productId": "8144957800663", 5922 "order_name": "", 5923 "status": "Cart" 5924 }) 5925 5926 5927 } 5928 5929 async function additem(items){ 5930 try { 5931 let formData = items 5932 if(items?.length) { 5933 formData = { 5934 'items': items 5935 }; 5936 } 5937 5938 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 5939 method: 'POST', 5940 headers: { 5941 'Content-Type': 'application/json', 5942 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 5943 }, 5944 body: JSON.stringify(formData) 5945 }) 5946 5947 const data = await add.json(); 5948 return data 5949 } catch(err){ 5950 console.log('Error additem', err) 5951 } 5952 } 5953 5954 async function addons(){ 5955 let items = [] 5956 $(".addon-item").each(function(){ 5957 const p = $(this) 5958 const props = p.next(".propsAddonSpotify") 5959 const id = $(this).data("id") 5960 const quantity = $(this).data("qty") 5961 const propId = $("#properties-time").val() 5962 let properties = {} 5963 if(id === 46067682607319) { 5964 const link = props.find(".spotifyLinkAddon").text() 5965 const photo = props.find(".spotifyFotoAddon").text() 5966 const song = props.find(".spotifySongAddon").text() 5967 const artist = props.find(".spotifyArtistAddon").text() 5968 properties = { 5969 id: propId, 5970 "Spotify Link": link !== '' ? link : '-', 5971 "Spotify Photo": photo !== '' ? photo : '-', 5972 "Spotify Song": song !== '' ? song : '-', 5973 "Spotify Artist": artist !== '' ? artist : '-', 5974 type: 'addon' 5975 } 5976 } else { 5977 properties = { 5978 "id": propId, 5979 "type": "addon" 5980 } 5981 } 5982 items.push({ 5983 id, 5984 quantity, 5985 properties 5986 }) 5987 }) 5988 return items 5989 } 5990 5991 async function propItems() { 5992 let props = {} 5993 $("[data-properties]").each(function(e){ 5994 let elementType = this.tagName;
5995 const k = $(this).data("properties") 5996 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') { 5997 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 5998 if(v !== '') { 5999 props[k] = v?.replace(/[\s\n]/g, ''); 6000 } 6001 } 6002 }) 6003 return props 6004 } 6005 6006 async function showPopupCart(items){ 6007 if(productType !== '') { 6008 console.log("clarity event " + productType + ' completeOrder') 6009 window.clarity("event", `${productType} completeOrder`) 6010 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6011 } 6012 $("#popupCart").show() 6013 6014 $(".propDeliveryCity").text($("#cities").val()) 6015 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6016 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6017 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6018 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6019 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6020 $(".propDeliveryProv").text($("#province").val()) 6021 $(".propDeliveryZip").text($("#zip").val()) 6022 6023 6024 6025 const addons = [] 6026 if(items && items.length > 0) { 6027 for(let i = 1; i < items.length; i++) { 6028 const spotifyLink = items[i].properties['Spotify Link'] 6029 const spotifyPhoto = items[i].properties['Spotify Photo'] 6030 const spotifySong = items[i].properties['Spotify Song'] 6031 const spotifyArtist = items[i].properties['Spotify Artist'] 6032 const price = items[i].price / 100 6033 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6034 <div class="col-12 col-lg-2"></div> 6035 <div class="col-12 col-lg-10"> 6036 <p> 6037 <span>spotify link</span> 6038 <span>${spotifyLink}</span> 6039 </p> 6040 <p> 6041 <span>Upload Photo</span> 6042 <span>${spotifyPhoto}</span> 6043 </p> 6044 <p> 6045 <span>song / playlist name</span> 6046 <span>${spotifySong}</span> 6047 </p> 6048 <p> 6049 <span>artist name</span> 6050 <span>${spotifyArtist}</span> 6051 </p> 6052 </div> 6053 </div>` : ''; 6054 addons.push(`<div class="row m-0"> 6055 <div class="imgAddonCart col-2"> 6056 <img 6057 width="43" 6058 src="${items[i].image}" 6059 alt="" 6060 > 6061 </div> 6062 <div class="imgAddonTitlePrice col-10 align-self-center"> 6063 <div class="row justify-content-between m-0"> 6064 <div class="col-12 col-lg-8"> 6065 <h5>${items[i].title}</h5> 6066 </div> 6067 <div class="col-12 col-lg-4 text-lg-right"> 6068 <span>${rupiah.format(price)}</span> 6069 </div> 6070 </div> 6071 </div> 6072 </div>${props}`) 6073 } 6074 } 6075 // console.log(addons) 6076 if(addons.length === 0) { 6077 $(".itemAddonCart").hide() 6078 return 6079 } 6080 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6081 $(".wrapperItemAddonCart").html(addons) 6082 } 6083 6084 const money = (money) => { 6085 return new Intl.NumberFormat('id-ID', 6086 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6087 ).format(money); 6088 } 6089 6090 async function showNoteMoney() { 6091 let qty50k = $("[data-properties='Uang 50k']").val() 6092 let qty100k = $("[data-properties='Uang 100k']").val() 6093 const total50k = Number(qty50k) * 50000 6094 const total100k = Number(qty100k) * 100000 6095 const total_all = total50k + total100k 6096 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6097 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6098 $(".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://slot200thumuaphelieuhanoibang.pages.dev/" target="_blank" style="text-decoration: underline;
6098 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6099 } 6100 6101 async function removeImage() { 6102 const data = JSON.stringify({ 6103 "ID": $("#properties-properties-qrId").val(), 6104 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6105 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6106 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6107 "Nama Penerima": $("#properties-nama-penerima").val(), 6108 "Order Number":"", 6109 "Status":"Product", 6110 "Foto": "", 6111 "Media": $("#properties-video").val(), 6112 "Image": "8144957800663" 6113 }) 6114 const remove = updateCard(data) 6115 if(remove) { 6116 $(this).hide() 6117 $("#properties-photo").val("-") 6118 $(".placeholder-image").show() 6119 $(".preview-image").attr("src", "") 6120 } 6121 } 6122 6123 async function removeVideo() { 6124 const data = JSON.stringify({ 6125 "ID": $("#properties-properties-qrId").val(), 6126 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6127 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6128 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6129 "Nama Penerima": $("#properties-nama-penerima").val(), 6130 "Order Number":"", 6131 "Status":"Product", 6132 "Foto": $("#properties-photo").val(), 6133 "Media": "", 6134 "Image": "8144957800663" 6135 }) 6136 const remove = updateCard(data) 6137 if(remove) { 6138 $("#properties-video").val("-") 6139 $(this).find("img").hide() 6140 $(this).hide() 6141 $(this).prev("p").text("Add video to make it more special (optional)") 6142 $("#label-input-video").show() 6143 $("#label-input-video span").text("Upload Video") 6144 $(".case-video-preview p span").remove() 6145 } 6146 } 6147 6148 async function loadItemOccasion(t, occasion) { 6149 const name = occasion?.replace('greeting-card-', '') 6150 $("#kartu-ucapan").val("") 6151 $("[data-occassion]").removeClass("selected") 6152 $("[data-properties=ucapan]").val("") 6153 $("#save-card").attr("disabled", true) 6154 t.addClass("selected") 6155 $("#show_note").attr("data-card-occassion", name) 6156 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6157 const products = data.products 6158 const html = [] 6159 for(let i = 0; i < products.length; i++) { 6160 const id = products[i].id 6161 const variantId = products[i].variants[0].id 6162 const img = products[i].images[0].src 6163 const title = products[i].title 6164 const price = products[i].variants[0].price 6165 const qty = products[i].variants[0].inventory_quantity 6166 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6167 <label for="card-${variantId}"></label> 6168 <div class="card-image"> 6169 <img src="${img}" alt="${title}" width="" height="" /> 6170 </div> 6171 <div class="card-meta text-center"> 6172 <h5>${title}</h5> 6173 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6174 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6175 </div> 6176 </div>` 6177 html.push(body) 6178 } 6179 const withoutCard = `<div class="item-card item-without-card"> 6180 <label for="card-0"></label> 6181 <div class="card-image"> 6182 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6183 </div> 6184 <div class="card-meta text-center"> 6185 <h5>
6185Send without a greeting card</h5> 6186 <input id="card-0" type="radio" name="id" value="" data-price=""> 6187 </div> 6188 </div>` 6189 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6190 }); 6191 } 6192 6193 $(document).ready(function(){ 6194 6195 // Observer to auto-trigger addon loading when addon section becomes visible 6196 const addonObserver = new MutationObserver(function(mutations) { 6197 mutations.forEach(function(mutation) { 6198 const target = $(mutation.target) 6199 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6200 if(!target.hasClass('hide')) { 6201 // Addon section just became visible, ensure items are loaded 6202 setTimeout(function() { 6203 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6204 console.log("Auto-triggering addon load...") 6205 $("[data-addon=upsell-all]").trigger("click") 6206 } 6207 }, 150) 6208 } 6209 } 6210 }) 6211 }) 6212 6213 // Start observing addon section 6214 const addonSection = document.querySelector('.purchaseAddon') 6215 if(addonSection) { 6216 addonObserver.observe(addonSection, { 6217 attributes: true, 6218 attributeFilter: ['class'] 6219 }) 6220 } 6221 6222 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6223 6224 $(this).find("span").addClass("loading") 6225 let isValid = true 6226 $(".formAddressPurchase [required]").each(function(){ 6227 const t = $(this) 6228 const input = t.val() 6229 const p = t.parent() 6230 if(input === '') { 6231 p.addClass("error") 6232 isValid = false 6233 } 6234 }) 6235 6236 if(!isValid) { 6237 $(this).find("span").removeClass("loading") 6238 return 6239 } 6240 6241 let items = [] 6242 const mainProps = { 6243 6244 "Delivery Date": $("#propDeliveryDate").val(), 6245 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6246 "Kota Pengiriman": $("#cities").val(), 6247 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6248 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6249 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6250 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6251 6252 6253 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6254 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6255 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6256 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6257 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6258 6259 6260 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6261 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6262 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6263 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6264 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6265 "type": 'product' 6266 } 6267 const props = await propItems() 6268 properties = {...mainProps, ...props }; 6269 const id = $("#productSelect").find('option:selected').val() 6270 console.log(id, 'main ID') 6271 const mainItem = { 6272 id: Number(id), 6273 quantity: 1, 6274 properties 6275 } 6276 items.push(mainItem) 6277 const cardId = $("#itemCards").find(".selected input").val() 6278 const cardItem = { 6279 id: Number(cardId), 6280 quantity: 1, 6281 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6282 } 6283 console.log(cardId, 'cardId') 6284 if(cardId) { 6285 items.push(cardItem) 6286 } 6287 const addon = await addons() 6288 if(addon) { 6289 for(let i = 0;
6289 i < addon.length; i++){ 6290 items.push({ 6291 id: addon[i].id, 6292 quantity: addon[i].quantity, 6293 properties: addon[i].properties 6294 }) 6295 } 6296 } 6297 const addItems = await additem(items) 6298 console.log(addItems.items, 'add items') 6299 if(addItems) { 6300 $(this).find("span").removeClass("loading") 6301 disablePopup() 6302 showPopupCart(addItems.items) 6303 6304 localStorage.setItem("items", JSON.stringify(addItems.items)) 6305 } 6306 }) 6307 6308 $("#addtocart-cart .btn").click(async function(){ 6309 const id = $("#productSelect").find('option:selected').val() 6310 const mainProps = { 6311 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6312 type: 'product' 6313 } 6314 const props = await propItems() 6315 const properties = { ...mainProps, ...props }; 6316 const items = { 6317 id: Number(id), 6318 quantity: 1, 6319 properties 6320 } 6321 const addItems = await additem(items) 6322 if(addItems) { 6323 showPopupCart(addItems.items) 6324 localStorage.setItem("items", JSON.stringify(addItems)) 6325 } 6326 }) 6327 6328 $(".formAddressPurchase [required]").change(function(){ 6329 const t = $(this) 6330 const p = t.parent() 6331 const v = t.val() 6332 if(v !== '') { 6333 p.removeClass("error") 6334 } 6335 }) 6336 6337 $("#save-card").click(async function(){ 6338 const parent = $(this).parents(".sectionPurchase") 6339 const next = parent.next(".sectionPurchase") 6340 $(this).find("span").addClass("loading") 6341 const card = await saveCard() 6342 console.log(card, 'ssaveCCC') 6343 if(card?.status === 200 || card?.status === 201) { 6344 $(".scanCard").removeClass("hide") 6345 $(this).find("span").removeClass("loading") 6346 parent.addClass("hide") 6347 next.removeClass("hide") 6348 if(next.hasClass("purchaseAddon")) { 6349 $("[data-addon=upsell-all]").click() 6350 console.log("clarity event addons") 6351 window.clarity("event", `${productType} add-ons`) 6352 // Ensure addon items are loaded when entering addon popup 6353 setTimeout(function() { 6354 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6355 $("[data-addon=upsell-all]").trigger("click") 6356 } 6357 }, 100) 6358 } 6359 if(next.hasClass("purchaseAddress")) { 6360 $("#zip").select2() 6361 } 6362 } 6363 }) 6364 6365 $("#skip-card").click(async function(){ 6366 $("#greetingCard [data-properties]").val("") 6367 $("#properties-photo").val("") 6368 $("#properties-video").val("") 6369 const parent = $(this).parents(".sectionPurchase") 6370 const next = parent.next(".sectionPurchase") 6371 parent.addClass("hide") 6372 next.removeClass("hide") 6373 // $("#itemCards").html("") 6374 removeImage() 6375 removeVideo() 6376 if(next.hasClass("purchaseAddon")) { 6377 $("[data-addon='upsell-all']").click() 6378 console.log("clarity event addons") 6379 window.clarity("event", `${productType} add-ons`) 6380 // Ensure addon items are loaded when entering addon popup 6381 setTimeout(function() { 6382 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6383 $("[data-addon='upsell-all']").trigger("click") 6384 } 6385 }, 100) 6386 } 6387 if(next.hasClass("purchaseAddress")) { 6388 $("#zip").select2() 6389 } 6390 }) 6391 6392 $("#msgCard").click(async function(){ 6393 $(this).parent().addClass("loading") 6394 let occasion = $(".selected[data-occassion]").data("occassion") 6395 occasion = occasion?.replace("greeting-card-", "") 6396 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6397 const d = data?.data 6398 for(let i = 0; i < d.length; i++) { 6399 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6400 const greeting = d[num]?.Greeting 6401 $(".greetingCard textarea").val(greeting) 6402 $(this).parent().removeClass("loading") 6403 } 6404 $("#save-card").attr("disabled", false) 6405 }) 6406 6407 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6408 const parent = $(this).parents(".sectionPurchase") 6409 const next = parent.next(".sectionPurchase") 6410 parent.addClass("hide") 6411 next.removeClass("hide") 6412 }) 6413 6414 $("#editCard").click(function(){ 6415 $(".custom-card").show() 6416 $(".preview-card").hide() 6417 }) 6418 6419 $("#first_name, #last_name").change(function(){ 6420 const v = $(this).val() 6421 const first_name = $("#first_name").val() 6422 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6423 $("[data-properties=nama-penerima]").val(first_name+last_name) 6424 }) 6425 6426 $("[data-occassion]").click(function(){ 6427 const t = $(this) 6428 const p = t.parents(".sectionPurchase") 6429 // $(".greetingCard").addClass("disabled") 6430 const occasion = t.data("occassion") 6431 loadItemOccasion(t, occasion) 6432 }) 6433 6434 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6435 const id = $(this).parent(".item-card").data("id") 6436 const t = $(this).parent(".item-card") 6437 const target = t.find("input") 6438 const v = $('.item-card input[type="radio"]:checked').val(); 6439 $("#itemCards .item-card").removeClass("selected") 6440 t.addClass("selected") 6441 $("#itemCards .item-card").find("input").attr("name", "") 6442 if(target.length > 0) { 6443 target.attr("name", "id[]") 6444 $("#properties-card").val(id) 6445 $(".greetingCard").removeClass("disabled") 6446 $("#skip-card").attr("disabled", false) 6447 } else { 6448 $("#properties-card").val("") 6449 } 6450 }) 6451 6452 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6453 const parent = $(this).parents(".sectionPurchase") 6454 const next = parent.next(".sectionPurchase") 6455 $(".greetingCard").addClass("disabled") 6456 parent.addClass("hide") 6457 next.removeClass("hide") 6458 $("[data-addon=upsell-all]").click() 6459 $("#zip").select2() 6460 }) 6461 6462 $("[data-properties=ucapan]").keyup(function(){ 6463 const v = $(this).val() 6464 const p = $(this).parents(".sectionPurchase") 6465 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6466 if(v.length > 3) { 6467 p.find(".next-purchase-button").attr("disabled", false) 6468 } else { 6469 p.find(".next-purchase-button").attr("disabled", true) 6470 } 6471 }) 6472 6473 $("[data-properties=penerima]").keyup(function(){ 6474 const v = $(this).val() 6475 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6476 }) 6477 6478 $("[data-properties=pengirim]").keyup(function(){ 6479 const v = $(this).val() 6480 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6481 }) 6482 6483 $(document).click(function(e){ 6484 6485 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6486 // $('#popupCart').fadeOut('slow'); 6487 // location.reload() 6488 }); 6489 6490 $(".toggleAddonCart").click(function(){ 6491 const p = $(this).parent(".itemAddonCart") 6492 p.toggleClass("open") 6493 }) 6494 6495 $(".btnViewCart").click(function(){ 6496 window.location.href = "https://outerbloom.com/cart"; 6497 }) 6498 6499 $(".btnViewCheckout").click(async function(){ 6500 $(this).find("span").addClass("loading") 6501 let zip = $("#zip").val() 6502 const first_name = $("#first_name").val() 6503 const last_name = $("#last_name").val() 6504 const company = $("#company").val() !== '' ? $("#company").val() : '' 6505 const address1 = $("#delivery_address").val() 6506 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6507 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6508 const phone = $("#recipient_number").val() 6509 const city = $("#cities").val() 6510 const province = $("#province").val() 6511 const country = 'Indonesia' 6512 const ver = Date.parse(new Date()) 6513 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}` 6514 6515 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6516 if(clear.status === 200) { 6517 const savedItem = window.localStorage.getItem("items"); 6518 const items = JSON.parse(savedItem) 6519 const addItems = await additem(items) 6520 console.log(addItems, 'new addItems') 6521 if(addItems) { 6522 window.location.href = `https://outerbloom.com/checkout?${params}`; 6523 } 6524 } 6525 }) 6526 6527 $(".btnContinueShopping").click(function(){ 6528 window.location.href = "https://outerbloom.com/"; 6529 }) 6530 6531 if (isIOS) { 6532 $(".empty-state-card").click(function(){ 6533 $("#input-foto").trigger("click") 6534 }) 6535 $(".btn-upload-image").click(function(){ 6536 $("#input-foto").trigger("click") 6537 }) 6538 $("[for=input-video]").click(function(){ 6539 $("#input-video").trigger("click") 6540 }) 6541 $(".btn-upload-papan").click(function(){ 6542 $("#logoPapan").trigger("click") 6543 }) 6544 } 6545 6546 $("[data-properties]").each(function(){ 6547 const select = $(this).parents(".form-group").find("select") 6548 $(this).change(function(){ 6549 const name = $(this).data("properties") 6550 const v = $(this).val() 6551 if (name == 'telepon-penerima') { 6552 let phone = v.replace(/[^0-9]/g, '') 6553 $(this).val(phone); 6554 $("#properties-telepon-penerima").val(phone) 6555 $('.iti__search-input').val('-') 6556 } else { 6557 $("#properties-" + name).val(v) 6558 } 6559 }) 6560 select.on("change", function(){ 6561 const name = $(this).data("properties") 6562 const v = $(this).val() 6563 $("#properties-" + name).val(v) 6564 }) 6565 }) 6566 6567 $("#show_note").click(function(){ 6568 nameq = $("#properties-nama-penerima").val() 6569 dear = $("#properties-kartu-nama-penerima").val() 6570 card = $("[data-properties=ucapan]").val() 6571 sender = $("#properties-kartu-nama-pengirim").val() 6572 photo = $("#properties-photo").val() 6573 video = $("#properties-video").val() 6574 updateCard(nameq, dear, card, sender, photo, video, status) 6575 }) 6576 6577 $(".remove-image").click(function(e){ 6578 e.preventDefault() 6579 $(this).find("img").show() 6580 removeImage() 6581 }) 6582 6583 $(".remove-media").click(function(e){ 6584 e.preventDefault() 6585 $(this).find("img").show() 6586 removeVideo() 6587 }) 6588 6589 6590 6591 $("[data-delivery_method]").click(function(e){ 6592 e.preventDefault() 6593 const t = $(this) 6594 const data = t.data("delivery_method") 6595 $("[data-delivery_method]").removeClass("selected") 6596 t.addClass("selected") 6597 $("#cities").val("") 6598 $("#properties-delivery-date").val("-") 6599 $("#deliveryDate button").removeClass("selected") 6600 $("#full-date").val("Full Calendar â") 6601 $("#propDeliveryDate").val("") 6602 const step3 = $("#step-3") 6603 if(data.match('PickUp')) { 6604 $(".selfpickup-point").show() 6605 step3.find("[data-finished=false]").hide() 6606 $("#panel-4").hide() 6607 step3.find("[data-finished=true]").show() 6608 $("#cities").attr("required", false) 6609 $("#form-group-city").hide() 6610 $("#row-delivery-time").hide() 6611 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6612 $("#propDeliveryTime").attr("required", false) 6613 // $("#deliveryDate").find("button:first-child").addClass("stop") 6614 $(".form-selfpickup").show() 6615 $(".form-delivery").hide() 6616 $(".form-delivery").find("input, textarea, select").val("") 6617 $(".form-delivery").find("input, textarea, select").attr("required", false) 6618 $("#properties-shipping").val("0") 6619 $("#noteDeliveryDate").hide() 6620 $(".form-delivery .form-control").attr("required", false) 6621 $("#stepNav4").hide() 6622 6623 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6624 6625 6626 6627 if(timeOfDay >= 16.01){ 6628 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6629 } 6630 } else { 6631 6632 6633 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6634 step3.find("[data-finished=false]").show() 6635 $("#panel-4").show() 6636 step3.find("[data-finished=true]").hide() 6637 $("#cities").attr("required", true) 6638 $(".selfpickup-point").hide() 6639 $("#form-group-city").show() 6640 $("#cities").val('').trigger('change'); 6641 $("#properties-kota-pengiriman").val("-") 6642 6643 $("#row-delivery-date, #row-delivery-time").show() 6644 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6645 $("#deliveryDate").find("button").removeClass("stop") 6646 $(".form-selfpickup").hide() 6647 $(".form-delivery").show() 6648 $(".form-delivery").find("input, textarea, select").attr("required", true)
6649 $(".form-delivery [data-properties]").attr("readonly", false) 6650 $("#properties-kodepos").val("-") 6651 $("#properties-alamat-penerima").val("-") 6652 $(".form-delivery .form-control").attr("required", true) 6653 $(this).parents(".setup-content").attr("id", "step-1") 6654 6655 $("#stepNav4").show() 6656 } 6657 }) 6658 6659 $("[name=selfpickup]").click(function(){ 6660 const p = $(this).parents(".row-pickup") 6661 const pickupCity = $("input[name='selfpickup']:checked").val(); 6662 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6663 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6664 6665 $(".row-pickup").removeClass("selected") 6666 p.addClass("selected") 6667 6668 $("#properties-kota-pengiriman").val(pickupCity) 6669 $("#province").val("Jakarta") 6670 $("#properties-alamat-penerima").val(pickupAddress) 6671 $("#properties-kodepos").val(pickupZip) 6672 }) 6673 6674 $("#cities").change(function(e){ 6675 e.preventDefault() 6676 $(this).parent(".row").find("p.error").remove() 6677 $("#full-date").val("Full Calendar") 6678 $("#deliveryDate, #deliveryDateFull label ").show() 6679 $("#deliveryDateFull").removeClass("filled") 6680 $(".btnChangeDeliveryDate").addClass("hide") 6681 $("#full-date").prop('disabled', false); 6682 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6683 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6684 const step3 = $("#step-3") 6685 $("#cityNote").remove() 6686 $("#noteDeliveryDate").hide() 6687 $("#noteDeliveryDate").empty() 6688 let v = $(this).val() 6689 let v2 = $('option:selected', this).attr('data-city'); 6690 let v3 = $('option:selected', this).attr('data-province'); 6691 let price = $('option:selected', this).attr('data-price'); 6692 $("#country").val(v) 6693 $("#properties-kota-pengiriman").val(v) 6694 $("#properties-shipping").val(price) 6695 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6696 $("#properties-delivery-date, #properties-delivery-time").val("-") 6697 $("#propDeliveryDate, #propDeliveryTime").val("") 6698 let note = $('option:selected', this).attr('data-note'); 6699 if(v === 'Kota Lainnya') { 6700 $("#noteDeliveryDate").show() 6701 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6702 $("#zip").attr("required", false) 6703 $("#zip").hide() 6704 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6705 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6706 $("#row-delivery-date, #row-delivery-time").hide() 6707 $("#properties-shipping").val("") 6708 // $(this).parents(".setup-content").attr("id", "step-2") 6709 6710 } else { 6711 $("#noteDeliveryDate").hide() 6712 $("#zip").attr("required", true) 6713 $("#zip").show() 6714 $("#row-delivery-date, #row-delivery-time").show() 6715 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6716 $("#deliveryDate").find("button").removeClass("stop") 6717 // $(this).parents(".setup-content").attr("id", "step-1") 6718 6719 } 6720 6721 6722 6723 // if(v !== 'Jakarta') { 6724 // $("[data-type=upsell]").hide() 6725 // } else { 6726 // $("[data-type=upsell]").show() 6727 // } 6728 // $('.collection-addons')[0].swiper.update(); 6729 6730 6731 getProvince(v) 6732 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6733 renderZip(v, v2, v3) 6734 6735 disabledSameDay() 6736 6737 6738 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6739 6740 $("#cardOccasion, #navAddon, .collection-addons").hide() 6741 6742 $("[data-addon=giftcard]").show() 6743 $("[data-addon=giftcard]").click() 6744 $("#itemAddons").show() 6745 $("#flower-step").addClass("nonjadetabek") 6746 } else { 6747 $("#cardOccasion, #navAddon, .collection-addons").show() 6748 $("[data-addon=all]").click() 6749 $("#flower-step").removeClass("nonjadetabek") 6750 } 6751 6752 if(v !== '') { 6753 $("#personalizeBtn .btn").attr("disabled", false) 6754 } else { 6755 $("#personalizeBtn .btn").attr("disabled", true) 6756 } 6757 6758 }) 6759 6760 $("#zip").change(function(e){ 6761 let v = $(this).val() 6762 var city = $("#cities").find('option:selected'); 6763 $("#properties-kodepos").val(v) 6764 if(city === 'Kota Lainnya') { 6765 $(this).attr("required", true) 6766 $("#recipient-address").val("") 6767 } 6768 }) 6769 6770 6771 var minDate = +7 6772 6773 6774 6775 $("#full-date").datepicker({ 6776 minDate, 6777 dateFormat: 'Mdd_yy', //Nop22_2021, 6778 6779 beforeShowDay: disabledays, 6780 6781 onSelect: function (date) { 6782 $("#deliveryDate, #deliveryDateFull label ").hide() 6783 $("#deliveryDateFull").addClass("filled") 6784 $(".btnChangeDeliveryDate").removeClass("hide") 6785 $("#full-date").prop('disabled', true); 6786 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6787 $(".date-full").addClass("selected") 6788 $(".date-single, .calendar-group").removeClass("selected") 6789 $("#propDeliveryTime").val('') 6790 $("#properties-delivery-time").val('-') 6791 $(".time-single").removeClass("selected") 6792 6793 6794 } 6795 }); 6796 6797 $(".btnChangeDeliveryDate").click(function(){ 6798 $("#deliveryDate, #deliveryDateFull label ").show() 6799 $("#deliveryDateFull").removeClass("filled") 6800 $(".btnChangeDeliveryDate").addClass("hide") 6801 $("#full-date").prop('disabled', false); 6802 }) 6803 6804 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6805 e.preventDefault() 6806 $(this).parents("#row-delivery-date").find("p.error").remove() 6807 const fulldate = $(this).data("fulldate") 6808 const day = $(this).data("day") 6809 const date = $(this).data("date")
6810 const month = $(this).data("month") 6811 const year = $(this).data("year") 6812 const off_pagi = $(this).data("offpagi") 6813 const off_siang = $(this).data("offsiang") 6814 const off_Malam = $(this).data("offMalam") 6815 $(".calendarbutton").removeClass("selected") 6816 $(this).addClass("selected") 6817 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6818 $("#propDeliveryTime").val('') 6819 $("#properties-delivery-time").val('-') 6820 $(".calendarbutton2").removeClass("selected") 6821 $("#full-date").val("Full Calendar") 6822 6823 6824 if(off_pagi && timeOfDay > off_pagi) { 6825 $("[data-time=Morning]").attr("disabled", true) 6826 } else { 6827 $("[data-time=Morning]").attr("disabled", false) 6828 } 6829 if(off_siang && timeOfDay > off_siang) { 6830 $("[data-time=Afternoon]").attr("disabled", true) 6831 } else { 6832 $("[data-time=Afternoon]").attr("disabled", false) 6833 } 6834 6835 6836 6837 }) 6838 6839 if(today === 14 && timeOfDay > 17.00) { 6840 $("#deliveryDate button:first-child").attr("disabled", true) 6841 } 6842 6843 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6844 e.preventDefault() 6845 const time = $(this).data("time") 6846 const date = $("#propDeliveryDate").val() 6847 if(date == '') { 6848 return alert('Silakan pilih tanggal terlebih dahulu') 6849 } 6850 $(".calendarbutton2").removeClass("selected") 6851 $(this).addClass("selected") 6852 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 6853 }) 6854 6855 $('textarea.has-limit, input.has-limit').keyup(function () { 6856 max = this.getAttribute("maxlength"); 6857 let len = $(this).val().length; 6858 let limit = $(this).siblings(".limit"); 6859 if (len > max) { 6860 alert('you have reached the limit'); 6861 } else { 6862 limit.text(`${len}/${max}`); 6863 } 6864 }); 6865 6866 $("#button-action-step .btn").click(function(){ 6867 $(this).find("span").text("Processing..."); 6868 }); 6869 6870 $(".finishBtn").on('click', function() { 6871 $(this).addClass("is-adding"); 6872 // $(this).click(); 6873 }); 6874 6875 $('.setup-panel .nav-item a.btn-success').trigger('click'); 6876 6877 $("#button-action .btn").click(function(){ 6878 $("#flower-step").addClass("block"); 6879 $("#button-action").hide(); 6880 }); 6881 6882 $(".close-how-order").click(function(){ 6883 $("#flower-step").removeClass("block"); 6884 $("#button-action").show(); 6885 }); 6886 6887 $("#input-foto, #input-video").change(function(e){ 6888 readURL(this); 6889 }); 6890 6891 $("#logoPapan").change(function(){ 6892 readURLPapan(this); 6893 }); 6894 6895 $("#address-upload").change(async function(){ 6896 const upload_address = await readURLAddress(this) 6897 if(upload_address) { 6898 const url = upload_address.url 6899 $(".props-address-upload").val(url) 6900 $(".form-address").addClass("address-uploaded") 6901 $(".form-address-upload").addClass("uploaded") 6902 6903 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 6904 } 6905 }) 6906 6907 $(".address-manualy").click(function(){ 6908 $(".form-address-upload").removeClass("uploaded"); 6909 $(".photo-address").hide(); 6910 $(".form-address").removeClass("address-uploaded") 6911 $("#formAddressPurchase").find(".form-control").attr("required", true) 6912 }); 6913 6914 $(".case-video-preview").delegate(".replace-video", "click", function(){ 6915 $("#input-video").trigger("click") 6916 }) 6917 6918 $('.date-single').click(function(e) { 6919 e.preventDefault(); 6920 $('.date-single').removeClass('selected'); 6921 $('#full-date').removeClass('selected'); 6922 $(this).addClass('selected'); 6923 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 6924 }); 6925 $('#full-date').click(function(e){ 6926 e.preventDefault(); 6927 $('.date-single').removeClass('selected'); 6928 $(this).addClass('selected'); 6929 }); 6930 6931 // $("tr").each(function(){ 6932 // if($(this).text().match('SKU')) { 6933 // $(".sku-product").html($(this).parents("table").html()) 6934 // } 6935 // }) 6936 6937 $("#product-image").scroll(function(){ 6938 $(".desc-add").each(function(){ 6939 const img = $(this).find("img") 6940 const src = img.data("src") 6941 img.attr("src", src) 6942 }) 6943 }) 6944 6945 $(".product-fixed").hide() 6946 6947 let target = $("#personalizeBtn") 6948 6949 6950 $(".product-meta").scroll(function() { 6951 if ($(window).scrollTop() >= target.offset().top ) { 6952 $(".product-fixed").addClass("show") 6953 } else { 6954 $(".product-fixed").removeClass("show") 6955 } 6956 }); 6957 6958 $(window).scroll(function() { 6959 if ($(window).scrollTop() >= target.offset().top ) { 6960 $(".product-fixed").addClass("show") 6961 } else { 6962 $(".product-fixed").removeClass("show") 6963 } 6964 }); 6965 }); 6966 </script>
6966 6967 6968
6968<script> 6969 // 6970 </script>
6970 6971 6972
6972<script> 6973 $(document).ready(function(){ 6974 $('table tr td').each(function(){ 6975 var texto = $(this).text(); 6976 var nextto = $(this).next("td"); 6977 var sku = $("#data-sku").val() 6978 if(texto == 'SKU'){ 6979 nextto.text(sku) 6980 } 6981 }); 6982 6983 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 6984 $(".stamped-summary-actions-newreview").text("Tulis Review"); 6985 $("#tab-questions").text("Pertanyaan"); 6986 6987 $(".freeship .icon").click(function(){ 6988 $(".fs-content").slideToggle(); 6989 $(this).parents(".freeship").toggleClass("expand"); 6990 }); 6991 6992 var $easyzoom = $('.easyzoom').easyZoom(); 6993 // Setup thumbnails example 6994 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 6995 $('.thumbnails').on('click', 'a', function(e) { 6996 var $this = $(this); 6997 e.preventDefault(); 6998 // Use EasyZoom's `swap` method 6999 api1.swap($this.data('standard'), $this.attr('href')); 7000 }); 7001 7002 $('#playerID').click(function(){ 7003 var videoURL = $('#VdoID').attr('src'), 7004 dataplay = $('#VdoID').attr('data-play'); 7005 7006 //for check autoplay 7007 //if not set autoplay=1 7008 if(dataplay == 0 ){ 7009 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7010 $('#VdoID').attr('data-play',1); 7011 } 7012 else{ 7013 var videoURL = $('#VdoID').attr('src'); 7014 videoURL = videoURL.replace("?autoplay=1", ""); 7015 $('#VdoID').prop('src',''); 7016 $('#VdoID').prop('src',videoURL); 7017 7018 $('#VdoID').attr('data-play',0); 7019 } 7020 7021 }); 7022 7023 $(".product-photo-thumb-video").click(function(e){ 7024 e.preventDefault(); 7025 7026 var newEmbed = $(this).attr('href'); 7027 $("#featured-image-product").addClass("img-video"); 7028 $("#ProductPhotoImg").hide(); 7029 $("#featured-image-product .video").show(); 7030 $("#featured-image-product iframe").attr('src', newEmbed); 7031 $("#VdoID")[0].src += "&autoplay=1"; 7032 }); 7033 $(".product-single__thumbnail").click(function(evt){ 7034 evt.preventDefault(); 7035 $("#featured-image-product").removeClass("img-video"); 7036 $("#ProductPhotoImg").show(); 7037 $("#featured-image-product .video").hide(); 7038 $("#featured-image-product iframe").attr('src', ''); 7039 }); 7040 7041 if($('#product-meta .short-desc > div').length >= 1){ 7042 //console.log('div detected') 7043 var replacer = $('#product-meta .short-desc > div').contents(); 7044 $('#product-meta .short-desc > div').replaceWith(replacer); 7045 7046 var cAssured = $('.c-assured').detach(); 7047 cAssured.insertAfter('.meta-sds .stock-info'); 7048 } 7049 7050 7051 7052 $(".heading-toggle").click(function(){ 7053 $(this).parent().toggleClass("open") 7054 7055 }); 7056 }); 7057 </script>
7057 7058 7059 7060
7060<script type="application/json" id="ProductJson-Product"> 7061 7062 {"id":8144957800663,"title":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!"} 7063 </script>
7063 7064 7065
7065<script type="application/json" id="VariantJson-Product"> 7066 [ 7067 7068 { 7069 "incoming": false, 7070 "next_incoming_date": null 7071 } 7072 7073 ] 7074 </script>
7074 7075 7076 7077 7078 7079 </div> 7080 7081 7082
7082<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7082 7083 <style> 7084 .stamped-review-header-title, 7085 .stamped-review-header .author, 7086 .stamped-review-content-body, 7087 .stamped-sort-select, 7088 .stamped-review-header .verified-badge[data-type=buyer]:after, 7089 .stamped-review-header-byline, 7090 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7091 .stamped-review {margin-bottom: 0;} 7092 .stamped-review-body {padding-left: 65px;} 7093 .stamped-review:first-child {padding-top: 25px;} 7094 .stamped-review-content {clear: none;} 7095 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7096 .stamped-review-reply-body {padding-left: 65px;} 7097 .stamped-review-header .author {text-transform: capitalize;} 7098 .stamped-questions .stamped-review-content {padding-left: 65px;} 7099 7100 .stamped-pagination {margin: 20px 0 0;} 7101 .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;} 7102 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7103 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7104 .stamped-pagination li:hover a {background: #ddd;} 7105 .stamped-pagination .next {border-right: 1px solid #ccc;} 7106 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7107 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7108 7109 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7110 #stamped-pagination-question span {font-size: 14px;} 7111 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7112 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7113 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7114 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7115 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7116 7117 @media (max-width: 480px){ 7118 .stamped-review-reply {margin-left: 0!important;} 7119 select.stamped-sort-select {font-size: 13px!important;} 7120 } 7121 7122 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7123 display: block !important; 7124 } 7125 </style> 7126
7126<script> 7127 var selectCallback = function(variant, selector) { 7128 timber.productPage({ 7129 money_format: "Rp {{amount_no_decimals}}", 7130 variant: variant, 7131 selector: selector 7132 }); 7133 }; 7134 7135 jQuery(function($) { 7136 new Shopify.OptionSelectors('productSelect', { 7137 product: 7138 7139 7140 7141 7142 7143 {"id":8144957800663,"title":"SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!"}, 7144 onVariantSelected: selectCallback, 7145 enableHistoryState: true 7146 }); 7147 7148 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7149 7150 7151 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7152 7153 $('.selector-wrapper').hide(); 7154 7155 }); 7156 </script>
7156 7157 7158 7159 7160
7160<script type="application/ld+json"> 7161 { 7162 "@context": "http://schema.org", 7163 "@type": "Product", 7164 "offers": { 7165 "@type": "Offer", 7166 "availability":"https://schema.org/InStock", 7167 "price": 835000, 7168 "priceValidUntil": "05-10-2025", 7169 "priceCurrency": "IDR", 7170 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/" 7171 }, 7172 "brand": { 7173 "@type": "Brand", 7174 "name": "Outerbloom Florist" 7175 }, 7176 "sku": "8144957800663", 7177 "gtin13": "Jawa", 7178 "name": "SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.", 7179 "description": "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!", 7180 "category": "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!", 7181 "url": "https://thumuaphelieuhanoi.com/bang-bao-gia-2/", 7182 "image": { 7183 "@type": "ImageObject", 7184 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7185 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7186 "name": "SLOT200 ð¤ DAFTAR Slot Gacor & Togel Online Terlengkap dan Terbaik Nomor 1.", 7187 "width": 1024, 7188 "height": 1024 7189 } 7190 } 7191 </script>
7191 7192 7193 7194 7195 7196 7197
7197<script id="bss-ltap-hide-price" type="text/javascript" > 7198 !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)}))}
7198)),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)}
7198)),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()}
7198if("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)}
7198if(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");
7198c&&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
7198-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");
7198i&&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
7198--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
7198opify.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");
7198e.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=
7198o.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");
7198if(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();
7198let 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()}]); 7199 </script>
7199 7200 7201 </main> 7202 7203 <div id="shopify-section-newsletter" class="shopify-section"><br> 7204 <style> 7205 #shopify-section-newsletter { 7206 background: url(https://ik.imagekit.io/nj9w1owsw/polos%202026-01-06%20at%2018.11.21.jpeg); 7207 background-attachment: fixed; 7208 margin-bottom: 0; 7209 } 7210 input:-webkit-autofill, 7211 input:-webkit-autofill:hover, 7212 input:-webkit-autofill:active, 7213 input:-webkit-autofill:focus { 7214 -webkit-box-shadow:0 0 0 50px white inset; 7215 -webkit-text-fill-color: #ffffff; 7216 } 7217 .section-newsletter { 7218 max-width: 800px; 7219 margin: auto; 7220 padding: 50px 0; 7221 } 7222 .section-newsletter h2 { 7223 font-weight: 700; 7224 font-size: 24px; 7225 } 7226 .section-newsletter input[type="email"] { 7227 width: 100%; 7228 text-align: center; 7229 border: none; 7230 border-bottom: 1px solid #ffffff; 7231 font-size: 16px; 7232 color: #757575; 7233 background-color: #eeeeee; 7234 } 7235 .section-newsletter .row label { 7236 font-size: 14px; 7237 cursor: pointer; 7238 } 7239 .section-newsletter .radio-inline input { 7240 width: auto; 7241 } 7242 .section-newsletter .btn { 7243 width: 130px; 7244 border: 1px solid #ffffff; 7245 box-shadow: none; 7246 font-size: 16px; 7247 font-weight: 500; 7248 text-transform: uppercase; 7249 } 7250 .section-newsletter form { 7251 margin: 30px 0 60px; 7252 } 7253 .section-newsletter input[type="radio"] { 7254 position: absolute; 7255 width: 1px; 7256 height: 1px; 7257 } 7258 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7259 position: relative; 7260 padding-left: 28px; 7261 cursor: pointer; 7262 line-height: 20px; 7263 display: inline-block; 7264 color: #666; 7265 } 7266 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7267 content: ''; 7268 position: absolute; 7269 left: 0; 7270 top: 0; 7271 width: 18px; 7272 height: 18px; 7273 border: 1px solid #ddd; 7274 border-radius: 100%; 7275 background: #fff; 7276 } 7277 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7278 content: ''; 7279 width: 12px; 7280 height: 12px; 7281 background: #ffffff; 7282 position: absolute; 7283 top: 3px; 7284 left: 3px; 7285 border-radius: 100%; 7286 -webkit-transition: all 0.2s ease; 7287 transition: all 0.2s ease; 7288 } 7289 .section-newsletter [type="radio"]:not(:checked) + label:after { 7290 opacity: 0; 7291 -webkit-transform: scale(0); 7292 transform: scale(0); 7293 } 7294 .opt-newsletter {display:none;} 7295 .footer-newsletter p, .footer-newsletter p a { 7296 color: #757575; 7297 } 7298 @media (max-width:991px){ 7299 .section-newsletter h2 { 7300 font-size: 32px; 7301 } 7302 .section-newsletter input { 7303 width: 300px; 7304 font-size: 14px; 7305 } 7306 .section-newsletter { 7307 padding: 50px 20px; 7308 } 7309 } 7310 @media (max-width: 480px){ 7311 .section-newsletter input[type="email"] {font-size: 16px;} 7312 } 7313 </style> 7314 <style> 7315 .icon-img-footer { 7316 width: 80px; 7317 padding: 0px 5px; 7318 } 7319 @media (min-width: 768px) { 7320 .icon-img-footer { 7321 width: 120px; 7322 } 7323 } 7324 @media (min-width: 992px) { 7325 .icon-img-footer { 7326 width: 120px; 7327 } 7328 } 7329 7330 .button-login-daftar { 7331 display: grid; 7332 grid-template-columns: repeat(2, 1fr); 7333 font-weight: 700; 7334 } 7335 .button-login-daftar a { 7336 text-align: center; 7337 } 7338 .login, 7339 .register { 7340 color: #fff; 7341 padding: 15px 10px; 7342 font-size: 23px; 7343 } 7344 .login, 7345 .login-button { 7346 background: linear-gradient(to bottom,#FCB11F 0,#FCB11F 100%); 7347 border: 2px solid #ffffff; 7348 } 7349 .register, 7350 .register-button { 7351 background: linear-gradient(to bottom,#FCB11F 0,#FCB11F 100%); 7352 border: 2px solid #ffffff; 7353 } 7354 7355 7356 7357 </style> 7358 7359 <!-- wp:html --> 7360
7360<script> 7361 document.addEventListener('DOMContentLoaded', 7362 function(){const faqItems=document.querySelectorAll('.faq-item'); 7363 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7364 question.addEventListener('click', 7365 ()=>{const isActive=item.classList.contains('active'); 7366 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7367 if(!isActive){item.classList.add('active')}})})}); 7368 </script>
7368 7369 7370 7371 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7372 </div> 7373 <div class="faq-section"> 7374 <h2>FAQ</h2> 7375 <div class="faq-container"> 7376 <div class="faq-item"> 7377 <button class="faq-question">Apa itu SLOT200 dan mengapa dianggap sebagai agen terpercaya di 2025?<span></span></button> 7378 <div class="faq-answer"><p>SLOT200 adalah platform hiburan daring yang menyediakan layanan Slot Gacor dan Toto Togel terlengkap di Indonesia. Kami dianggap terpercaya karena memiliki lisensi resmi internasional, sistem keamanan enkripsi data terbaru, serta komitmen pembayaran kemenangan member secara penuh dan instan.</p></div> 7379 </div> 7380 <div class="faq-item"> 7381 <button class="faq-question">Permainan apa saja yang tersedia di SLOT200?<span></span></button> 7382 <div class="faq-answer"><p>Kami menyediakan berbagai variasi permainan judi daring populer, antara lain: Slot Online: Ribuan mesin slot dengan RTP (Return to Player) tinggi dari provider ternama seperti Pragmatic Play, PG Soft, dan Habanero. Toto Togel: Pasaran togel terlengkap mulai dari Singapore, Hongkong, Sydney, hingga pasaran lokal lainnya. Live Casino: Pengalaman bermain kasino langsung dengan dealer nyata. Sportsbook: Taruhan olahraga untuk berbagai cabang pertandingan dunia.</p></div> 7383 </div> 7384 <div class="faq-item"> 7385 <button class="faq-question">Bagaimana cara mendaftar dan mulai bermain di SLOT200?<span></span></button> 7386 <div class="faq-answer"><p>Proses pendaftaran sangat mudah dan cepat: Klik tombol Daftar di halaman utama SLOT200. Isi formulir pendaftaran dengan data yang valid (Nama pengguna, kata sandi, nomor rekening, dan nomor telepon). Setelah akun aktif, lakukan deposit minimal untuk mulai menikmati semua permainan.</p></div> 7387 </div> 7388 <div class="faq-item"> 7389 <button class="faq-question">Apa saja metode transaksi yang didukung oleh SLOT200?<span></span></button> 7390 <div class="faq-answer"><p>Untuk memudahkan member di seluruh Indonesia, kami menyediakan metode transaksi 24 jam nonstop melalui: Bank Lokal: BCA, Mandiri, BNI, BRI, dan CIMB Niaga. E-Wallet: Dana, OVO, GoPay, dan LinkAja. Deposit Pulsa: Tanpa potongan (sesuai promo yang berlaku).</p></div> 7391 </div> 7392 <div class="faq-item"> 7393 <button class="faq-question">Apakah tersedia layanan bantuan jika saya mengalami kendala?<span></span></button> 7394 <div class="faq-answer"><p>Tentu saja. SLOT200 memiliki tim Customer Service profesional yang siap membantu Anda 24/7. Anda dapat menghubungi kami kapan saja melalui fitur Live Chat di situs web atau melalui kontak resmi WhatsApp kami untuk solusi cepat terkait kendala teknis, transaksi, maupun informasi permainan.</p></div> 7395 </div> 7396 7397 </div> 7398 7399 </div> 7400 7401 </div> 7402 7403 7404 <div class="overlay overlay-cart"></div> 7405 <div id="CartDrawer" class="drawer drawer--right"> 7406 <div class="drawer__header pl-2 pr-2"> 7407 <div class="drawer__icon-cart display-table-cell"> 7408 <a href="/cart" class=""> 7409 <svg class="icon icon-cart" version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7409005-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> 7410 </a> 7411 </div> 7412 <div class="drawer__title h4">Keranjang Belanja</div> 7413 <div class="drawer__close js-drawer-close"> 7414 <button type="button"> 7415 <svg class="icon icon-close" version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="32" height="32" viewBox="0 0 32 32"> 7416 <title>icon-close</title> 7417 <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> 7418 </svg> 7419 </button> 7420 </div> 7421 </div> 7422 <div id="CartContainer" class="p-2"></div> 7423 </div> 7424 7425
7425<script> 7426 7427 </script>
7427 7428
7428<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7428 7429 <!-- /snippets/ajax-cart-template.liquid --> 7430 7431
7431<script id="CartTemplate" type="text/template"> 7432 7433 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7434 <div class="ajaxcart__inner" {{ cart.item_count }}> 7435 {{#items}} 7436 <div class="ajaxcart__product"> 7437 <div class="ajaxcart__row" data-line="{{line}}"> 7438 <div class="grid"> 7439 <div class="grid__item one-quarter"> 7440 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7441 </div> 7442 <div class="grid__item three-quarters"> 7443 <p class="d-block mb-3"> 7444 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7445 {{#if variation}} 7446 <span class="ajaxcart__product-meta p">{{variation}}</span> 7447 {{/if}} 7448 {{#properties}} 7449 {{#each this}} 7450 {{#if this}} 7451 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7452 {{/if}} 7453 {{/each}} 7454 {{/properties}} 7455 7456 </p> 7457 <div class="grid--full display-table"> 7458 <div class="grid__item display-table-cell one-half"> 7459 <div class="ajaxcart__qty"> 7460 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7461 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7462 <span class="visually-hidden">Kurangi jumlah barang</span> 7463 </button> 7464 <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]*"> 7465 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7466 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7467 <span class="visually-hidden">Tambahkan jumlah barang</span> 7468 </button> 7469 </div> 7470 </div> 7471 <div class="grid__item display-table-cell one-half text-right"> 7472 {{#if discountsApplied}} 7473 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7474 <br><span class="h4">{{{linePrice}}}</span> 7475 {{else}} 7476 <span class="h4">{{{linePrice}}}</span> 7477 {{/if}} 7478 </div> 7479 </div> 7480 {{#if discountsApplied}} 7481 <div class="grid--full display-table"> 7482 <div class="grid__item text-right"> 7483 {{#each discounts}} 7484 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7485 {{/each}} 7486 </div> 7487 </div> 7488 {{/if}} 7489 </div> 7490 </div> 7491 </div> 7492 </div> 7493 </div> 7494 </div> 7495 {{/items}} 7496 </div> 7497 <div class="ajaxcart__footer"> 7498 <div class="grid--full cart-subtotal py-2"> 7499 <p>Subtotal</p> 7500 <h3 class="primary">{{{totalPrice}}}</h3> 7501 {{#if totalCartDiscount}} 7502 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7503 {{/if}} 7504 </div> 7505 7506 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7507 7508 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7509 </div> 7510 </form> 7511 7512 </script>
7512 7513
7513<script id="AjaxQty" type="text/template"> 7514 7515 <div class="ajaxcart__qty"> 7516 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7517 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="24" viewBox="0 0 32 32"> 7518 <title>icon-minus</title> 7519 <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> 7520 </svg> 7521 <span class="visually-hidden">Kurangi jumlah barang</span> 7522 </button> 7523 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7524 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7525 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7526 <span class="visually-hidden">Tambahkan jumlah barang</span> 7527 </button> 7528 </div> 7529 7530 </script>
7530 7531
7531<script id="JsQty" type="text/template"> 7532 7533 <div class="js-qty mx-auto mt-2"> 7534 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7535 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7536 <span class="visually-hidden">Kurangi jumlah barang</span> 7537 </button> 7538 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7539 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7540 <svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7541 <span class="visually-hidden">Tambahkan jumlah barang</span> 7542 </button> 7543 </div> 7544 7545 </script>
7545 7546 7547 <style> 7548 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7549 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7550 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7551 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7552 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7553 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7554 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7555 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7556 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7557 </style> 7558
7558<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7558 7559
7559<script> 7560 jQuery(function($) { 7561 ajaxCart.init({ 7562 formSelector: '#AddToCartForm', 7563 cartContainer: '#CartContainer', 7564 addToCartSelector: '#AddToCartXX', 7565 cartCountSelector: '#CartCount, #CartCount2', 7566 cartCostSelector: '#CartCost', 7567 moneyFormat: "Rp {{amount_no_decimals}}" 7568 }); 7569 }); 7570 7571 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7572 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7573 timber.RightDrawer.open(); 7574 }); 7575 </script>
7575 7576 7577 7578 7579 7580 <style> 7581 /** Search AutoComplete **/ 7582 .resultsearch .ui-menu-item[data-cat="Collection"], 7583 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7584 .resultsearch .ui-widget.ui-widget-content { 7585 width: 100%; 7586 top: 48px; 7587 border: none; 7588 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7589 } 7590 .resultsearch .ui-menu-item {text-align: left;} 7591 .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;} 7592 .ui-state-active { 7593 border: none!important; 7594 background-color: #fafafa!important; 7595 color: #000!important; 7596 } 7597 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7598 .ui-menu .ui-menu-item {line-height: normal;} 7599 </style> 7600
7600<script> 7601 $(window).load(function(){ 7602 7603 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;} 7604 7605 $.widget("custom.catcomplete", $.ui.autocomplete, { 7606 _renderMenu: function (ul, items) { 7607 // have search reults split up in categories 7608 var that = this, 7609 currentCategory = ""; 7610 $.each(items, function (index, item) { 7611 if (item.category != currentCategory) { 7612 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7613 currentCategory = item.category; 7614 } 7615 that._renderItemData(ul, item); 7616 }); 7617 } 7618 }); 7619 7620 // higlight searched for term 7621 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7622 var term = this.element.val(), 7623 html = item.label.replace( term, "<b>$&</b>" ); 7624 return $( "<li>" ) 7625 .append(format(item)) 7626 .appendTo( ul ); 7627 }; 7628 7629 7630 var data = [ 7631 { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius âï¸ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries âï¸ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer âï¸ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn âï¸ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft Sweetbox Newborn", category: "Co
7631llection", 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: " " }
7631,{ 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: " " }
7631,{ 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: " " }
7631,{ 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
7631dal", 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-
7631hampers", 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
7631o-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: " " }
7631,{ 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: " " }
7631,{ 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: " " }
7631,{ 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: " " }
7631,{ 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: " " }
7631,{ 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: " " }
7631,{ 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: " " }
7631,{ 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: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang!", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "SLOT200 ð¤ Daftar Slot Gacor & Togel Online Terlengkap & Terbaik No 1. Winrate tinggi & jackpot melimpah. Klik daftar untuk menang besar sekarang! Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus âï¸ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", ima
7631ges: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " },{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " }
7631,{ 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
7631dal", 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: " " }, 7632 { 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" }
7632,{ 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" }
7632,{ 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" } 7633 ]; 7634 7635 7636 $( ".header-input-search" ).catcomplete({ 7637 appendTo: ".searchResult",source: function(request, response) { 7638 var results = $.ui.autocomplete.filter(data, request.term); 7639 var predicate = function () { 7640 var counter = { Collection: 0, Produk: 0 }; 7641 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7642 return fn 7643 }(); 7644 response(results.filter(predicate)); 7645 }, 7646 minLength:1, 7647 //results are clickable 7648 select: function( event, ui ) {window.location = ui.item.url;} 7649 }); 7650 $( ".header-input-search2" ).catcomplete({ 7651 appendTo: ".searchResult2", 7652 source: function(request, response) { 7653 var results = $.ui.autocomplete.filter(data, request.term); 7654 var predicate = function () { 7655 var counter = { Collection: 0, Produk: 0 }; 7656 var fn = function(item) { 7657 counter[item.category] += 1; 7658 return (counter[item.category] <= 5); 7659 } 7660 return fn 7661 }(); 7662 response(results.filter(predicate)); 7663 }, 7664 minLength:1, 7665 //results are clickable 7666 select: function( event, ui ) { 7667 window.location = ui.item.url; 7668 } 7669 }); 7670 }); 7671 </script>
7671 7672 7673
7673<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7673 7674
7674<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7674 7675 7676
7676<script> 7677 ( function() { 7678 var youtube = document.querySelectorAll( ".youtube" ); 7679 for (var i = 0; i < youtube.length; i++) { 7680 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7681 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7682 var image = new Image(); 7683 image.src = source; 7684 image.setAttribute("data-src", datasource); 7685 image.classList.add("swiper-lazy"); 7686 image.addEventListener( "load", function() { 7687 youtube[ i ].appendChild( image ); 7688 }( i ) ); 7689 youtube[i].addEventListener( "click", function() { 7690 var iframe = document.createElement( "iframe" ); 7691 iframe.setAttribute( "width", "480" ); 7692 iframe.setAttribute( "height", "480" ); 7693 iframe.setAttribute( "frameborder", "0" ); 7694 iframe.setAttribute( "allowfullscreen", "" ); 7695 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7696 this.innerHTML = ""; 7697 this.appendChild( iframe ); 7698 } ); 7699 }; 7700 7701 } )(); 7702 7703 /* Lazy Load */ 7704 const mainLazyLoad = new LazyLoad({threshold:400}); 7705 $(document).ready(function(){ 7706 7707 $("selectxxx").addClass("needsclick"); 7708 FastClick.attach(document.body); 7709 7710 var $customSelects = $('.select-search'); 7711 $customSelects.select2({ 7712 templateResult: function(result, container) { 7713 if (!result.id) { 7714 return result.text; 7715 } 7716 container.className += ' needsclick'; 7717 return result.text; 7718 } 7719 }); 7720 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7721 $(document).on('select2:open', () => { 7722 document.querySelector('.select2-search__field').focus(); 7723 }); 7724 7725 7726 $(".overlay").click(function(){ 7727 $(".js-drawer-close").click(); 7728 }); 7729 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7730 $("html").toggleClass("nav_open"); 7731 }); 7732 7733 $('.swatch-element label').on('click', function(){ 7734 var srcImg = $(this).data('src'); 7735 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7736 if ($(this).attr("href") == srcImg) { 7737 $(this).trigger('click'); 7738 } 7739 }); 7740 }); 7741 var defaultValue = $(".swatch input:checked").val() 7742 7743 $('#purchaseProduct .swatch [type=radio]').change(function() { 7744 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7745 var optionValue = $(this).val(); 7746 console.log(optionIndex, optionValue) 7747 var value = parseInt(optionValue.split(' ')[0]) 7748 $(this) 7749 .closest('#purchaseProduct') 7750 .find('.single-option-selector') 7751 .eq(optionIndex) 7752 .val(optionValue) 7753 .trigger('change'); 7754 7755 }); 7756 7757 }); 7758 $(document).ready(function(){ 7759 $(".nav-search a").click(function(e){ 7760 e.preventDefault(); 7761 $(".icon-navsearch").toggle(); 7762 $(".icon-navclose").toggle(); 7763 $(".site-nav__item > .site-nav__link").toggle(); 7764 $(".open-search").toggle(); 7765 $(".open-search input").focus(); 7766 }); 7767 $(".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'>"); 7768 if ($(window).width() < 768) { 7769 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7770 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7771 $(".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'>"); 7772 } else { 7773 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7774 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7775 $(".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'>"); 7776 } 7777 $(".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'>"); 7778 $(".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'>"); 7779 }); 7780 </script>
7780 7781 7782 7783 7784 7785 7786 7787 7788
7788<script type="text/javascript"> 7789 var wishlistpage = 0; 7790 7791 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 7792 </script>
7792 7793 7794 <!-- Remove duplicate wishlist.js reference --> 7795 <style> 7796 .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)}} 7797 </style> 7798 7799 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 7800 <div class="modal-dialog" role="document"> 7801 <div class="modal-content"> 7802 <div class="modal-body">Your Wishlist is empty!</div> 7803 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 7804 </div> 7805 </div> 7806 </div> 7807 7808 <div class="wishlist-model"> 7809 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 7810 <div class="modal-dialog white-modal"> 7811 <div class="modal-content"> 7812 <div class="modal-header"> 7813 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 7814 <svg class="icon icon-close" version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="32" height="32" viewBox="0 0 32 32"> 7815 <title>icon-close</title> 7816 <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> 7817 </svg> 7818 </button> 7819 </div> 7820 <div class="modal-body"> 7821 <div class="wishlist-left"> 7822 <div class="wishlist-note">
7823 <span class="cirle"><svg version="1.1" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="32" height="32" viewBox="0 0 32 32"> 7824 <title>icon-check</title> 7825 <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> 7826 </svg></span> 7827 Product added to <a href="/pages/wish-list">Wishlist</a> 7828 </div> 7829 <div class="wishlist-product"> 7830 <div class="product-left"> 7831 <div class="wishlist-image"></div> 7832 </div> 7833 <div class="product-right"> 7834 <div class="wishlist-name"></div> 7835 <div class="wishlist-price"></div> 7836 </div> 7837 </div> 7838 </div> 7839 <div class="wishlist-right"> 7840 <div class="wishlist-cart"> 7841 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 7842 <div class="others-bottom"> 7843 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 7844 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 7845 <span id="AddToCartText" class="">Beli Sekarang</span> 7846 </button> 7847 </div> 7848 <div id="wishlist-variants-container" class="variants-wrapper"></div> 7849 <div class="quantity-content"> 7850 <label>QTY</label> 7851 <input type="number" size="5" class="" name="quantity" value="1" /> 7852 </div> 7853 </form> 7854 </div> 7855 </div> 7856 </div> 7857 </div> 7858 </div> 7859 </div> 7860 </div> 7861 7862 7863 <style> 7864 .stamped-badge[data-rating="0.0"]{display: none !Important;} 7865 7866 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 7867 border-radius: 0px; 7868 } 7869 .stamped-review-body { 7870 padding-left: 0px !important; 7871 } 7872 #product-reviews .stamped-header:after { 7873 display:none !Important; 7874 } 7875 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 7876 font-family:inherit !important; 7877 } 7878 </style> 7879 7880 7881 7882 <div id='stamped-rewards-init' class='stamped-rewards-init' 7883 data-key-public='' 7884 7885 ></div> 7886 7887
7887<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7887 7888 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 7889
7889<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7889 7890 7891
7891<script> 7892 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 7893 </script>
7893 7894
7894<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7894<style> 7895 .jss59 { 7896 background-color: rgba(0, 0, 0, 0.6); 7897 } 7898 .MuiBackdrop-root { 7899 top: 0; 7900 left: 0; 7901 right: 0; 7902 bottom: 0; 7903 display: flex; 7904 z-index: -1; 7905 position: fixed; 7906 align-items: center; 7907 justify-content: center; 7908 background-color: rgba(0, 0, 0, 0.5); 7909 -webkit-tap-highlight-color: transparent; 7910 } 7911 .MuiDialog-scrollPaper { 7912 display: flex; 7913 align-items: center; 7914 justify-content: center; 7915 } 7916 .MuiDialog-container { 7917 height: 100%; 7918 outline: 0; 7919 } 7920 .MuiPaper-elevation24 { 7921 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); 7922 } 7923 .MuiDialog-paper { 7924 margin: 32px; 7925 position: relative; 7926 overflow-y: auto; 7927 } 7928 .MuiDialog-paperScrollPaper { 7929 display: flex; 7930 max-height: calc(100% - 64px); 7931 flex-direction: column; 7932 } 7933 .MuiDialog-paperWidthSm { 7934 max-width: 600px; 7935 } 7936 #location-lock-dialog { 7937 top: 20%; 7938 left: 0; 7939 right: 0; 7940 width: 30%; 7941 margin: 0px auto; 7942 display: block; 7943 padding: 30px; 7944 z-index: 99999; 7945 position: fixed; 7946 font-size: 14px; 7947 background: rgb(0, 0, 0); 7948 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 7949 text-align: center; 7950 font-family: Roboto, Arial, sans-serif; 7951 line-height: 1; 7952 border-radius: 8px; 7953 -webkit-font-smoothing: subpixel-antialiased; 7954 } 7955 .MuiButtonBase-root { 7956 color: inherit; 7957 border: 0; 7958 cursor: pointer; 7959 margin: 0; 7960 display: inline-flex; 7961 outline: 0; 7962 padding: 0; 7963 position: relative; 7964 align-items: center; 7965 user-select: none; 7966 border-radius: 0; 7967 vertical-align: middle; 7968 -moz-appearance: none; 7969 justify-content: center; 7970 text-decoration: none; 7971 background-color: transparent; 7972 -webkit-appearance: none; 7973 -webkit-tap-highlight-color: transparent; 7974 } 7975 .MuiIconButton-root { 7976 flex: 0 0 auto; 7977 color: rgba(0, 0, 0, 0.54); 7978 padding: 12px; 7979 overflow: visible; 7980 font-size: 1.5rem; 7981 text-align: center; 7982 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7983 border-radius: 50%; 7984 } 7985 .MuiIconButton-label { 7986 width: 100%; 7987 display: flex; 7988 align-items: inherit; 7989 justify-content: inherit; 7990 } 7991 .MuiSvgIcon-root { 7992 fill: currentColor; 7993 width: 1em; 7994 height: 1em; 7995 display: inline-block; 7996 font-size: 1.5rem; 7997 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7998 flex-shrink: 0; 7999 user-select: none; 8000 } 8001 .MuiTouchRipple-root { 8002 top: 0; 8003 left: 0; 8004 right: 0; 8005 bottom: 0; 8006 z-index: 0; 8007 overflow: hidden; 8008 position: absolute; 8009 border-radius: inherit; 8010 pointer-events: none; 8011 } 8012 .jss36 { 8013 color: #222222; 8014 font-size: 24px; 8015 font-family: Roboto, Arial, sans-serif; 8016 font-weight: 500; 8017 } 8018 .jss37 { 8019 color: #555555; 8020 padding: 10px 0px 0px; 8021 font-size: 14px; 8022 } 8023 .MuiFormGroup-root { 8024 display: flex; 8025 flex-wrap: wrap; 8026 flex-direction: column; 8027 } 8028 .MuiFormGroup-row { 8029 flex-direction: row; 8030 } 8031 .jss63 { 8032 width: 85%; 8033 margin: 15px auto; 8034 display: flex; 8035 padding: 11px 0px 0px; 8036 justify-content: space-evenly; 8037 } 8038 .MuiFormControlLabel-root { 8039 cursor: pointer; 8040 display: inline-flex; 8041 align-items: center; 8042 margin-left: -11px; 8043 margin-right: 16px; 8044 vertical-align: middle; 8045 -webkit-tap-highlight-color: transparent; 8046 } 8047 .jss70 { 8048 margin: 0; 8049 } 8050 .MuiButtonBase-root { 8051 color: inherit; 8052 border: 0; 8053 cursor: pointer; 8054 margin: 0; 8055 display: inline-flex; 8056 outline: 0; 8057 padding: 0; 8058 position: relative; 8059 align-items: center; 8060 user-select: none; 8061 border-radius: 0; 8062 vertical-align: middle; 8063 -moz-appearance: none; 8064 justify-content: center; 8065 text-decoration: none; 8066 background-color: transparent; 8067 -webkit-appearance: none; 8068 -webkit-tap-highlight-color: transparent; 8069 } 8070 .MuiIconButton-root { 8071 flex: 0 0 auto; 8072 color: rgba(0, 0, 0, 0.54); 8073 padding: 12px; 8074 overflow: visible; 8075 font-size: 1.5rem; 8076 text-align: center; 8077 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8078 border-radius: 50%; 8079 } 8080 .MuiIconButton-colorSecondary { 8081 color: #f50057; 8082 } 8083 .jss71 { 8084 padding: 9px; 8085 } 8086 .MuiRadio-root { 8087 color: rgba(0, 0, 0, 0.54); 8088 } 8089 .jss64 { 8090 padding: 2px; 8091 } 8092 .MuiRadio-colorSecondary.Mui-checked { 8093 color: #f50057; 8094 } 8095 .MuiIconButton-label { 8096 width: 100%; 8097 display: flex; 8098 align-items: inherit; 8099 justify-content: inherit; 8100 } 8101 .MuiTypography-root { 8102 margin: 0; 8103 } 8104 .MuiTypography-body1 { 8105 font-size: 18px; 8106 font-family: Roboto,sans-serif; 8107 font-weight: 400; 8108 line-height: 1.5; 8109 } 8110 .location-popup_area-block__sp9Ws { 8111 display: -moz-box; 8112 display: flex; 8113 -moz-box-orient: vertical; 8114 -moz-box-direction: normal; 8115 flex-direction: column; 8116 -moz-box-pack: center; 8117 justify-content: center; 8118 position: relative; 8119 margin: 10px 10% 0; 8120 } 8121 .location-popup_pin-search-box__3l5mJ { 8122 width: 100%; 8123 display: -moz-box; 8124 display: flex; 8125 -moz-box-align: center; 8126 align-items: center; 8127 } 8128 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8129 position: absolute; 8130 z-index: 999; 8131 } 8132 .location-popup_place-icon__jSG0Q { 8133 color: #ffffff; 8134 padding-left: 8px; 8135 } 8136 .location-popup_place-icon__jSG0Q svg { 8137 width: 18px; 8138 height: 18px; 8139 } 8140 .location-popup_cancel-icon__FHujU { 8141 color: #fff; 8142 right: 10px; 8143 width: 16px; 8144 cursor: pointer; 8145 height: 16px; 8146 display: none; 8147 padding: 5px; 8148 position: absolute; 8149 background: #999; 8150 text-align: center; 8151 border-radius: 50%; 8152 } 8153 .location-popup_pin-search-box__3l5mJ>div>select { 8154 /* -webkit-box-shadow: 0 0 10px #ffffff; 8155 box-shadow: 0 0 10px #ffffff; */ 8156 text-transform: capitalize; 8157 border: 1px solid #ffffff; 8158 color: #ffffff; 8159 width: 100%; 8160 margin: 0; 8161 display: -moz-box; 8162 display: flex;
8163 padding: 0 30px; 8164 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8165 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8166 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8167 font-size: 16px; 8168 border-radius: 4px; 8169 height: 44px; 8170 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8171 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8172 } 8173 .MuiButtonBase-root { 8174 color: inherit; 8175 border: 0; 8176 cursor: pointer; 8177 margin: 0; 8178 display: inline-flex; 8179 outline: 0; 8180 padding: 0; 8181 position: relative; 8182 align-items: center; 8183 user-select: none; 8184 border-radius: 0; 8185 vertical-align: middle; 8186 -moz-appearance: none; 8187 justify-content: center; 8188 text-decoration: none; 8189 background-color: transparent; 8190 -webkit-appearance: none; 8191 -webkit-tap-highlight-color: transparent; 8192 } 8193 .MuiButton-root { 8194 color: rgba(0, 0, 0, 0.87); 8195 padding: 6px 16px; 8196 font-size: 0.875rem; 8197 min-width: 64px; 8198 box-sizing: border-box; 8199 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; 8200 font-family: Roboto,sans-serif; 8201 font-weight: 500; 8202 line-height: 1.75; 8203 border-radius: 4px; 8204 text-transform: uppercase; 8205 } 8206 .MuiButton-contained { 8207 color: rgba(0, 0, 0, 0.87); 8208 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); 8209 background-color: #e0e0e0; 8210 } 8211 .MuiButtonBase-root.Mui-disabled { 8212 cursor: default; 8213 pointer-events: none; 8214 } 8215 .MuiButton-label { 8216 width: 100%; 8217 display: inherit; 8218 align-items: inherit; 8219 justify-content: inherit; 8220 } 8221 .cartButton_login_content__2j1f7 { 8222 display: -moz-box; 8223 display: flex; 8224 text-align: center; 8225 z-index: 9; 8226 font-size: 18px; 8227 font-weight: 500; 8228 color: #fff; 8229 } 8230 8231 .jss35 { 8232 top: 5px; 8233 right: 5px; 8234 padding: 4px; 8235 position: absolute; 8236 border-radius: 50%; 8237 } 8238 .jss67 { 8239 cursor: pointer; 8240 font-size: 15px; 8241 line-height: 1.3; 8242 padding-left: 5px; 8243 } 8244 .jss69 { 8245 color: #222222; 8246 } 8247 .jss80 { 8248 color: #fff; 8249 width: 100%; 8250 height: 52px; 8251 padding: 11px 16px; 8252 font-size: 18px; 8253 min-width: 88px; 8254 min-height: 36px; 8255 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; 8256 font-weight: 500; 8257 line-weight: 1em; 8258 border-radius: 4px; 8259 text-transform: uppercase; 8260 background-color: #E87325; 8261 } 8262 @media (min-width: 991px){ 8263 .cartButton_login_content__2j1f7 { 8264 font-weight: 500; 8265 } 8266 } 8267 8268 @media (max-width: 992px) { 8269 #location-lock-dialog { 8270 width: 100%; 8271 top: auto; 8272 bottom: 0; 8273 padding-left: 0; 8274 padding-right: 0; 8275 } 8276 .MuiFormGroup-row { 8277 display: block 8278 } 8279 .MuiIconButton-label input { 8280 margin: 0; 8281 } 8282 } 8283 </style> 8284 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8285 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8286 <div tabindex="0" data-test="sentinelStart"></div> 8287 <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;"> 8288 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8289 <div class="jss31 undefined" id="location-lock-dialog"> 8290 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 8291 <span class="MuiIconButton-label"> 8292 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8293 <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> 8294 </svg> 8295 </span>
8296 <span class="MuiTouchRipple-root"></span> 8297 </button> 8298 <div> 8299 <div class="jss36">Select Delivery Location</div> 8300 <div class="jss37">Select a delivery location to see product availability</div> 8301 </div> 8302 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8303 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8304 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8305 <span class="MuiIconButton-label"> 8306 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8307 <span class="jss41"></span> 8308 </span> 8309 <span class="MuiTouchRipple-root"></span> 8310 </span> 8311 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8312 <span class="jss67 jss69">Jabodetabek</span> 8313 </span> 8314 </label> 8315 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8316 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8317 <span class="MuiIconButton-label"> 8318 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8319 <span class="jss40"></span> 8320 </span> 8321 <span class="MuiTouchRipple-root"></span> 8322 </span> 8323 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8324 <span class="jss67 jss68">Outside Jabodetabek</span> 8325 </span> 8326 </label> 8327 </div> 8328 <div> 8329 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8330 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8331 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8332 <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> 8333 </div> 8334 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8335 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8336 </div> 8337 <div style="width: 100%;"> 8338 <select id="choose-location" class="form-control"> 8339 <option value="">Choose Location</option> 8340 <option value="jakarta">Jakarta</option> 8341 <option value="bogor">Bogor</option> 8342 <option value="depok">Depok</option> 8343 <option value="tangerang">Tangerang</option> 8344 <option value="bekasi">Bekasi</option> 8345 </select> 8346 </div> 8347 </div> 8348 </div> 8349 </div> 8350 <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=""> 8351 <span class="MuiButton-label"> 8352 <span class=""></span> 8353 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8354 </span> 8355 </button> 8356 </div> 8357 </div> 8358 </div> 8359 <div tabindex="0" data-test="sentinelEnd"></div> 8360 </div> 8361 8362
8362<script> 8363 const jabodetabek = [ 8364 { 8365 "code": "jakarta", 8366 "city": "jakarta", 8367 "zip": [] 8368 }, 8369 { 8370 "code": "bogor", 8371 "city": "bogor", 8372 "zip": [] 8373 }, 8374 { 8375 "code": "depok", 8376 "city": "depok", 8377 "zip": [] 8378 }, 8379 { 8380 "code": "tangerang", 8381 "city": "tangerang", 8382 "zip": [] 8383 }, 8384 { 8385 "code": "bekasi", 8386 "city": "bekasi", 8387 "zip": [] 8388 } 8389 ] 8390 let cityNonJabodetabek = [ 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 "pengiriman_aceh", 9565 9566 9567 9568 9569 9570 "pengiriman_ambon", 9571 9572 9573 9574 9575 9576 "pengiriman_atambua", 9577 9578 9579 9580 9581 9582 "pengiriman_badung", 9583 9584 9585 9586 9587 9588 "pengiriman_bali", 9589 9590 9591 9592 9593 9594 "pengiriman_balikpapan", 9595 9596 9597 9598 9599 9600 "pengiriman_bandar lampung", 9601 9602 9603 9604 9605 9606 "pengiriman_bandung", 9607 9608 9609 9610 9611 9612 "pengiriman_bandung barat", 9613 9614 9615 9616 9617 9618 "pengiriman_banjarmasin", 9619 9620 9621 9622 9623 9624 "pengiriman_banyumas", 9625 9626 9627 9628 9629 9630 "pengiriman_banyuwangi", 9631 9632 9633 9634 9635 9636 "pengiriman_batam", 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 "pengiriman_biak", 9647 9648 9649 9650 9651 9652 "pengiriman_binjai", 9653 9654 9655 9656 9657 9658 "pengiriman_blitar", 9659 9660 9661 9662 9663 9664 "pengiriman_blora", 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 "pengiriman_bojonegoro", 9675 9676 9677 9678 9679 9680 "pengiriman_boyolali", 9681 9682 9683 9684 9685 9686 "pengiriman_bukittinggi", 9687 9688 9689 9690 9691 9692 "pengiriman_buleleng", 9693 9694 9695 9696 9697 9698 "pengiriman_ciamis", 9699 9700 9701 9702 9703 9704 "pengiriman_cianjur", 9705 9706 9707 9708 9709 9710 "pengiriman_cibinong", 9711 9712 9713 9714 9715 9716 "pengiriman_cikarang", 9717 9718 9719 9720 9721 9722 "pengiriman_cikupa", 9723 9724 9725 9726 9727 9728 "pengiriman_cilacap", 9729 9730 9731 9732 9733 9734 "pengiriman_cileunyi", 9735 9736 9737 9738 9739 9740 "pengiriman_cimahi", 9741 9742 9743 9744 9745 9746 "pengiriman_cirebon", 9747 9748 9749 9750 9751 9752 "pengiriman_ciwidey", 9753 9754 9755 9756 9757 9758 "pengiriman_deli serdang", 9759 9760 9761 9762 9763 9764 "pengiriman_demak", 9765 9766 9767 9768 9769 9770 "pengiriman_denpasar", 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 "pengiriman_garut", 9781 9782 9783 9784 9785 9786 "pengiriman_gianyar", 9787 9788 9789 9790 9791 9792 "pengiriman_gresik", 9793 9794 9795 9796 9797 9798 "pengiriman_gunung kidul", 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 "pengiriman_jambi", 9809 9810 9811 9812 9813 9814 "pengiriman_jayapura", 9815 9816 9817 9818 9819 9820 "pengiriman_jember", 9821 9822 9823 9824 9825 9826 "pengiriman_jepara", 9827 9828 9829 9830 9831 9832 "pengiriman_jombang", 9833 9834 9835 9836 9837 9838 "pengiriman_karanganyar", 9839 9840 9841 9842 9843 9844 "pengiriman_karawang", 9845 9846 9847 9848 9849 9850 "pengiriman_karo", 9851 9852 9853 9854 9855 9856 "pengiriman_kebumen", 9857 9858 9859 9860 9861 9862 "pengiriman_kediri", 9863 9864 9865 9866 9867 9868 "pengiriman_keerom", 9869 9870 9871 9872 9873 9874 "pengiriman_kendal", 9875 9876 9877 9878 9879 9880 "pengiriman_klaten", 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 "pengiriman_kudus", 9891 9892 9893 9894 9895 9896 "pengiriman_kupang", 9897 9898 9899 9900 9901 9902 "pengiriman_lainnya", 9903 9904 9905 9906 9907 9908 "pengiriman_lamongan", 9909 9910 9911 9912 9913 9914 "pengiriman_lampung", 9915 9916 9917 9918 9919 9920 "pengiriman_lampung barat", 9921 9922 9923 9924 9925 9926 "pengiriman_lembang", 9927 9928 9929 9930 9931 9932 "pengiriman_lombok", 9933 9934 9935 9936 9937 9938 "pengiriman_lumajang", 9939 9940 9941 9942 9943 9944 "pengiriman_madiun", 9945 9946 9947 9948 9949 9950 "pengiriman_magelang", 9951 9952 9953 9954 9955 9956 "pengiriman_majalengka", 9957 9958 9959 9960 9961 9962 "pengiriman_makassar", 9963 9964 9965 9966 9967 9968 "pengiriman_malang", 9969 9970 9971 9972 9973 9974 "pengiriman_manado", 9975 9976 9977 9978 9979 9980 "pengiriman_medan", 9981 9982 9983 9984 9985 9986 "pengiriman_mengwi", 9987 9988 9989 9990 9991 9992 "pengiriman_mojokerto", 9993 9994 9995 9996 9997 9998 "pengiriman_nganjuk", 9999 10000 10001 10002 10003 10004 "pengiriman_ngawi", 10005 10006 10007 10008 10009 10010 "pengiriman_padang", 10011 10012 10013 10014 10015 10016 "pengiriman_palembang", 10017 10018 10019 10020 10021 10022 "pengiriman_pasuruan", 10023 10024 10025 10026 10027 10028 "pengiriman_pati", 10029 10030 10031 10032 10033 10034 "pengiriman_pekalongan", 10035 10036 10037 10038 10039 10040 "pengiriman_pekanbaru", 10041 10042 10043 10044 10045 10046 "pengiriman_pemalang", 10047 10048 10049 10050 10051 10052 "pengiriman_ponorogo", 10053 10054 10055 10056 10057 10058 "pengiriman_pontianak", 10059 10060 10061 10062 10063 10064 "pengiriman_probolinggo", 10065 10066 10067 10068 10069 10070 "pengiriman_purbalingga", 10071 10072 10073 10074 10075 10076 "pengiriman_purwakarta", 10077 10078 10079 10080 10081 10082 "pengiriman_purwokerto", 10083 10084 10085 10086 10087 10088 "pengiriman_rembang", 10089 10090 10091 10092 10093 10094 "pengiriman_riau", 10095 10096 10097 10098 10099 10100 "pengiriman_salatiga", 10101 10102 10103 10104 10105 10106 "pengiriman_samarinda", 10107 10108 10109 10110 10111 10112 "pengiriman_semarang", 10113 10114 10115 10116 10117 10118 "pengiriman_sentani", 10119 10120 10121 10122 10123 10124 "pengiriman_serang", 10125 10126 10127 10128 10129 10130 "pengiriman_sidoarjo", 10131 10132 10133 10134 10135 10136 "pengiriman_singkawang", 10137 10138 10139 10140 10141 10142 "pengiriman_sragen", 10143 10144 10145 10146 10147 10148 "pengiriman_subang", 10149 10150 10151 10152 10153 10154 "pengiriman_sukabumi", 10155 10156 10157 10158 10159 10160 "pengiriman_sumbawa", 10161 10162 10163 10164 10165 10166 "pengiriman_surabaya", 10167 10168 10169 10170 10171 10172 "pengiriman_surakarta solo", 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 "pengiriman_tasikmalaya", 10183 10184 10185 10186 10187 10188 "pengiriman_tegal", 10189 10190 10191 10192 10193 10194 "pengiriman_timika", 10195 10196 10197 10198 10199 10200 "pengiriman_wamena", 10201 10202 10203 10204 10205 10206 "pengiriman_wiyung", 10207 10208 10209 10210 10211 10212 "pengiriman_wonokromo", 10213 10214 10215 10216 10217 10218 "pengiriman_yogyakarta", 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660
10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 ] 10829 console.log(cityNonJabodetabek) 10830 let non_jabodetabek = [] 10831 for(var i=0;i<cityNonJabodetabek.length;i++) { 10832 const obj = { 10833 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 10834 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 10835 "zip": [] 10836 } 10837 non_jabodetabek.push(obj) 10838 } 10839 let current_location = getCookie("location_delivery") 10840 $("[name=location]").change(function(){ 10841 let v = $(this).val() 10842 let option = [] 10843 if(v == 'Jabodetabek') { 10844 for(var i=0;i<jabodetabek.length;i++) { 10845 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 10846 option.push(jabodetabekHtml) 10847 } 10848 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 10849 } else { 10850 for(var i=0;i<non_jabodetabek.length;i++) { 10851 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 10852 option.push(nonjabodetabekHtml) 10853 } 10854 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 10855 } 10856 }) 10857 10858 $("#location-lock-submit").click(function(e){ 10859 let select = $("#choose-location") 10860 let value = select.val().toLowerCase() 10861 console.log(value) 10862 if(select.val() == "") { 10863 return alert("Choose Your Location") 10864 e.preventDefault() 10865 } 10866 setCookie("location_delivery",value,1000000); 10867 10868 location.reload(); 10869 10870 }) 10871 10872 $("#close-popup-delivery").click(function(){ 10873 $(".MuiDialog-root").hide() 10874 if(!current_location){ 10875 setCookie("location_delivery","jakarta",1000000); 10876 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 10877 } 10878 }) 10879 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 10880 $(".MuiDialog-root").show() 10881 }) 10882 10883 10884 if(!current_location){ 10885 10886 } else { 10887 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 10888 console.log(current_location) 10889 $("#choose-location").each(function(){ 10890 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 10891 $("#jabodetabek").trigger("click") 10892 } else { 10893 $("#non-jabodetabek").trigger("click") 10894 } 10895 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 10896 }) 10897 } 10898 10899 // 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'){ 10900 // $("#timeMalam").attr("disabled", false) 10901 // } else { 10902 // $("#timeMalam").attr("disabled", true) 10903 // } 10904 10905 if(current_location && current_location != 'jakarta') { 10906 $("#self-pickup").attr("disabled", true) 10907 } 10908 10909 function setCookie(name,value,days) { 10910 var expires = ""; 10911 if (days) { 10912 var date = new Date(); 10913 date.setTime(date.getTime() + (days*24*60*60*1000)); 10914 expires = "; expires=" + date.toUTCString(); 10915 } 10916 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 10917 } 10918 function getCookie(name) { 10919 var nameEQ = name + "="; 10920 var ca = document.cookie.split(';');
10921 for(var i=0;i < ca.length;i++) { 10922 var c = ca[i]; 10923 while (c.charAt(0)==' ') c = c.substring(1,c.length); 10924 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 10925 } 10926 return null; 10927 } 10928 </script>
10928 10929 <!-- One Tap --> 10930
10930<script> 10931 console.log("Outerbloom..."); 10932 </script>
10932 10933 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 10981
10981<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
10981 10982
10982<script> 10983 const widgetConfig = { 10984 id: "clz7897za002cz7otleaz0d3d", 10985 showQuickResponse: false, 10986 quickResponsesData: [], 10987 themeColor: "#ffffff", 10988 widgetText: "", 10989 radiusType: "circle", 10990 widgetIconType: "whatsapp", 10991 position: "right", 10992 storeLogo: "", 10993 storeName: "Outerbloom", 10994 storeDescription: "", 10995 size: "small", 10996 showCard: false, 10997 widgetColorType: "solid", 10998 widgetColor1: "#008069", 10999 widgetColor2: "#008069", 11000 social: { 11001 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 11002 values: { 11003 instagram: { 11004 enabled: false, 11005 value: "", 11006 }, 11007 facebook: { 11008 enabled: false, 11009 value: "", 11010 }, 11011 email: { 11012 enabled: false, 11013 value: "", 11014 }, 11015 x: { 11016 enabled: false, 11017 value: "", 11018 }, 11019 tiktok: { 11020 enabled: false, 11021 value: "", 11022 }, 11023 linkedin: { 11024 enabled: false, 11025 value: "", 11026 }, 11027 youtube: { 11028 enabled: false, 11029 value: "", 11030 }, 11031 }, 11032 }, 11033 }; 11034 11035 function initializeWidget() { 11036 if (typeof BBBWidget !== 'undefined') { 11037 BBBWidget.init(widgetConfig); 11038 } else { 11039 setTimeout(initializeWidget, 100); 11040 } 11041 } 11042 11043 initializeWidget();</script>
11043 11044 11045 11046 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 11047 11048 11049 <div style="position: fixed; bottom: 0; right: 0"></div> 11050 11051
11051<script> 11052 console.info("bitlogin extension version: v2.5.7"); 11053 11054 const googleScript = document.createElement("script"); 11055 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 11056 document.head.append(googleScript); 11057 11058 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 11059 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 11060 11061 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"}}; 11062 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
11062n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 11063 const redirectUrl = appearance.redirectLink; 11064 11065 let locationCacheSet = false; 11066 let errorLocation = false; 11067 let oneTapSet = false; 11068 11069 let bitloginCache = { 11070 appearance: appearance, 11071 config: config 11072 }; 11073 11074 let isInitializing = false; 11075 const queue = []; 11076 11077 // Add CSS for the popup 11078 const popupStyles = document.createElement('style'); 11079 popupStyles.textContent = ` 11080 /* Styles for login popup */ 11081 .bitlogin-popup-overlay { 11082 position: fixed; 11083 top: 0; 11084 left: 0; 11085 width: 100%; 11086 height: 100%; 11087 background: rgba(0, 0, 0, 0.45); 11088 backdrop-filter: blur(4px); 11089 display: flex; 11090 align-items: center; 11091 justify-content: center; 11092 opacity: 0; 11093 transition: opacity 0.3s ease-in-out; 11094 z-index: 999999; 11095 } 11096 11097 .bitlogin-popup-overlay.visible { 11098 opacity: 1; 11099 } 11100 11101 .bitlogin-popup { 11102 background: #FFFFFF; 11103 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 11104 border-radius: 16px; 11105 width: 100%; 11106 max-width: 560px; 11107 display: flex; 11108 overflow: hidden; 11109 position: relative; 11110 opacity: 0; 11111 transform: translateY(20px) scale(0.98); 11112 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 11113 } 11114 11115 .bitlogin-popup.visible { 11116 opacity: 1; 11117 transform: translateY(0) scale(1); 11118 } 11119 11120 .bitlogin-popup-with-image { 11121 max-width: 640px; 11122 } 11123 11124 .bitlogin-popup-right-image { 11125 flex-direction: row-reverse; 11126 } 11127 11128 .bitlogin-popup-image { 11129 object-fit: cover; 11130 width: 50%; 11131 height: auto; 11132 } 11133 11134 .bitlogin-popup-content { 11135 padding: 32px; 11136 position: relative; 11137 width: 50%; 11138 } 11139 11140 .bitlogin-popup-close { 11141 position: absolute; 11142 top: 16px; 11143 right: 16px; 11144 background: white; 11145 border: none; 11146 width: 30px; 11147 height: 30px; 11148 display: flex; 11149 align-items: center; 11150 justify-content: center; 11151 cursor: pointer; 11152 transition: background-color 0.2s; 11153 color: inherit; 11154 padding: 0; 11155 } 11156 11157 .bitlogin-popup-close:hover { 11158 background-color: #e5e5e5; 11159 } 11160 11161 .bitlogin-popup-buttons { 11162 display: flex; 11163 flex-direction: column; 11164 gap: 12px; 11165 margin-top: 24px; 11166 } 11167 11168 /* Button styles within popup - override width for popup buttons */ 11169 .bitlogin-popup-buttons #google-login, 11170 .bitlogin-popup-buttons #facebook-login, 11171 .bitlogin-popup-buttons #apple-login, 11172 .bitlogin-popup-buttons #whatsapp-login, 11173 .bitlogin-popup-buttons #microsoft-login, 11174 .bitlogin-popup-buttons #twitter-login, 11175 .bitlogin-popup-buttons #amazon-login, 11176 .bitlogin-popup-buttons #instagram-login, 11177 .bitlogin-popup-buttons #magic-link-login, 11178 .bitlogin-popup-buttons #mobile-app-login { 11179 width: 100% !important; 11180 font-family: inherit !important; 11181 } 11182 11183 .bitlogin-popup-footer { 11184 margin-top: 32px; 11185 text-align: center; 11186 font-size: 14px; 11187 opacity: 0.6; 11188 } 11189 11190 /* Modern Typography */ 11191 .bitlogin-popup h2 { 11192 margin-top: 12px; 11193 font-size: 21px !important; 11194 line-height: 1.2 !important; 11195 font-weight: 700 !important; 11196 letter-spacing: -0.02em !important; 11197 margin-bottom: 16px !important; 11198 } 11199 11200 .bitlogin-popup-header { 11201 position: relative; 11202 margin-bottom: 24px; 11203 } 11204 11205 /* Modern gradient accent */ 11206 .bitlogin-popup-content > div { 11207 font-size: 16px !important; 11208 line-height: 1.2 !important; 11209 opacity: 0.85 !important; 11210 } 11211 11212 /* Enhanced button interactions */ 11213 .bitlogin-popup-buttons button { 11214 position: relative; 11215 overflow: hidden; 11216 } 11217 11218 @keyframes ripple { 11219 0% { 11220 transform: scale(0, 0); 11221 opacity: 0.5; 11222 } 11223 100% { 11224 transform: scale(100, 100); 11225 opacity: 0; 11226 } 11227 } 11228 11229 /* Responsive adjustments */ 11230 @media (max-width: 640px) { 11231 .bitlogin-popup { 11232 max-width: 90%; 11233 width: 90%; 11234 margin: 0 16px; 11235 } 11236 11237 .bitlogin-popup-with-image { 11238 flex-direction: column !important; 11239 } 11240 11241 .bitlogin-popup-image { 11242 width: 100%; 11243 height: 180px; 11244 } 11245 11246 .bitlogin-popup-content { 11247 padding: 24px; 11248 } 11249 11250 .bitlogin-popup h2 { 11251 font-size: 24px !important; 11252 } 11253 } 11254 `; 11255
11256 document.head.appendChild(popupStyles); 11257 11258 // Add fonts link for different font options 11259 const fontsLink = document.createElement('link'); 11260 fontsLink.rel = 'stylesheet'; 11261 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'; 11262 document.head.appendChild(fontsLink); 11263 11264 (async () => { 11265 try { 11266 let host = window.location.host; 11267 if (host === "admin.shopify.com") { 11268 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 11269 } 11270 11271 const urlSearchParams = new URLSearchParams(window.location.search); 11272 const checkoutUrl = urlSearchParams.get("checkout_url"); 11273 11274 async function init({ inputRef, index }) { 11275 if (isInitializing) { 11276 queue.push(() => init({ inputRef, index })); 11277 return; 11278 } 11279 11280 isInitializing = true; 11281 11282 try { 11283 let bitLoginSectionRoot = document.querySelector( 11284 `.bitlogin-root[data-index="${index}"]` 11285 ); 11286 11287 const formRef = inputRef?.closest( 11288 "form:not([action='/account/recover'])" 11289 ); 11290 11291 if (formRef && !bitLoginSectionRoot) { 11292 await getLocation(); 11293 11294 bitLoginSectionRoot = document.createElement(`div`); 11295 11296 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 11297 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 11298 11299 updateAppearance({ 11300 formRef, 11301 rootRef: bitLoginSectionRoot, 11302 host, 11303 }); 11304 } 11305 } catch (err) { 11306 console.error(`error while initiating bitlogin extensions`, err); 11307 } finally { 11308 // Release the lock 11309 isInitializing = false; 11310 11311 // Check if there are pending items in the queue 11312 if (queue.length > 0) { 11313 // Process the next function in the queue 11314 const nextFunction = queue.shift(); 11315 nextFunction(); 11316 } 11317 } 11318 } 11319 11320 function initAll() { 11321 return new Promise((resolve, reject) => { 11322 setTimeout(async () => { 11323 const inputRefs = document.querySelectorAll( 11324 'input[name="customer[email]"]' 11325 ); 11326 11327 for (let i = 0; i < inputRefs.length; i++) { 11328 const currentInputRef = inputRefs[i]; 11329 const isVisible = isElementVisible(currentInputRef); 11330 11331 if (isVisible) { 11332 await init({ inputRef: currentInputRef, index: i }); 11333 } 11334 } 11335 11336 resolve("ok"); 11337 }, 100); 11338 }); 11339 } 11340 11341 const observer = new MutationObserver((mutationsList) => { 11342 for (let mutation of mutationsList) { 11343 initAll(); 11344 } 11345 }); 11346 11347 observer.observe(document.body, { 11348 childList: true, 11349 subtree: true, 11350 attributes: true, 11351 }); 11352 11353 initAll(); 11354 11355 if (appearance.googleOneTap) { 11356 setupOneTap({ host, checkoutUrl }); 11357 } 11358 11359 // Initialize popup 11360 await initPopup(host); 11361 } catch (error) { 11362 console.error("Error initializing BitLogin:", error); 11363 } 11364 })(); 11365 11366 async function initPopup(host) { 11367 // Check if user is already logged in using Liquid checks properly 11368 const isLoggedIn = false || 11369 document.querySelector('.customer-logout-link') || 11370 document.querySelector('.account-link') || 11371 window.location.pathname.includes('/account'); 11372 11373 if (isLoggedIn) { 11374 return; // User is logged in, don't show popup 11375 } 11376 11377 try { 11378 // Fetch the popup configuration 11379 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 11380 .then(res => res.json()) 11381 .catch(err => { 11382 console.error('Error fetching popup configuration:', err); 11383 return null; 11384 }); 11385 11386 if (!popupConfig || !popupConfig.enabled) { 11387 return;
11387 // Don't show popup if disabled or config not found 11388 } 11389 11390 // Create popup after 10 seconds 11391 setTimeout(() => { 11392 // Check if user is still on the page and still not logged in 11393 if (document.visibilityState === 'visible') { 11394 // Additional check in case user logged in during the 10 second wait 11395 const currentlyLoggedIn = false || 11396 document.querySelector('.customer-logout-link') || 11397 document.querySelector('.account-link'); 11398 11399 if (!currentlyLoggedIn) { 11400 createLoginPopup(popupConfig, host); 11401 } 11402 } 11403 }, 10000); 11404 } catch (error) { 11405 console.error('Error initializing popup:', error); 11406 } 11407 } 11408 11409 function createLoginPopup(popupConfig, host) { 11410 // Font mapping 11411 const fontFamilyMap = { 11412 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 11413 montserrat: 'Montserrat, sans-serif', 11414 roboto: 'Roboto, sans-serif', 11415 open_sans: 'Open Sans, sans-serif', 11416 noto_sans: 'Noto Sans, sans-serif', 11417 lato: 'Lato, sans-serif', 11418 poppins: 'Poppins, sans-serif', 11419 quicksand: 'Quicksand, sans-serif', 11420 raleway: 'Raleway, sans-serif', 11421 pt_sans: 'PT Sans, sans-serif', 11422 oswald: 'Oswald, sans-serif', 11423 }; 11424 11425 // Create overlay 11426 const overlay = document.createElement('div'); 11427 overlay.className = 'bitlogin-popup-overlay'; 11428 11429 // Create popup container with appropriate styling 11430 const popup = document.createElement('div'); 11431 popup.className = 'bitlogin-popup'; 11432 11433 if (popupConfig.layout === 'default') { 11434 popup.style.maxWidth = '400px'; 11435 } 11436 11437 // Function to close the popup 11438 const closePopup = () => { 11439 overlay.classList.remove('visible'); 11440 popup.classList.remove('visible'); 11441 setTimeout(() => { 11442 if (document.body.contains(overlay)) { 11443 document.body.removeChild(overlay); 11444 } 11445 }, 300); 11446 }; 11447 11448 // Add click handler to the overlay to close when clicking outside 11449 overlay.addEventListener('click', (event) => { 11450 // Close only if clicking directly on the overlay, not its children 11451 if (event.target === overlay) { 11452 closePopup(); 11453 } 11454 }); 11455 11456 // Add escape key handler to close popup 11457 document.addEventListener('keydown', (event) => { 11458 if (event.key === 'Escape' && document.body.contains(overlay)) { 11459 closePopup(); 11460 } 11461 }); 11462 11463 // Create layout with image if specified 11464 let contentWrapper; 11465 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 11466 popup.classList.add('bitlogin-popup-with-image'); 11467 11468 if (popupConfig.layout === 'right') { 11469 popup.classList.add('bitlogin-popup-right-image'); 11470 } 11471 11472 // Add image 11473 const image = document.createElement('img'); 11474 image.className = 'bitlogin-popup-image'; 11475 image.src = popupConfig.popupImage; 11476 image.alt = 'Login'; 11477 image.loading = 'lazy'; 11478 popup.appendChild(image); 11479 11480 // Create content container 11481 contentWrapper = document.createElement('div'); 11482 contentWrapper.className = 'bitlogin-popup-content'; 11483 11484 if (popupConfig.layout === 'right') { 11485 const closeButton = document.createElement('button'); 11486 closeButton.className = 'bitlogin-popup-close'; 11487 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 11488 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11489 </svg>`; 11490 closeButton.setAttribute('aria-label', 'Close'); 11491 closeButton.onclick = closePopup; 11492 11493 popup.appendChild(closeButton); 11494 } 11495 } else { 11496 contentWrapper = document.createElement('div'); 11497 contentWrapper.className = 'bitlogin-popup-content'; 11498 contentWrapper.style.width = '100%'; 11499 } 11500 11501 // Set background style 11502 if (popupConfig.backgroundTheme === 'gradient') { 11503 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 11504 } else { 11505 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 11506 } 11507 11508 // Apply font family 11509 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 11510 11511 if (popupConfig.layout !== 'right') { 11512 const closeButton = document.createElement('button'); 11513 closeButton.className = 'bitlogin-popup-close'; 11514 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 11515 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11516 </svg>`; 11517 closeButton.setAttribute('aria-label', 'Close'); 11518 closeButton.onclick = closePopup; 11519 11520 contentWrapper.appendChild(closeButton); 11521 } 11522 11523 // Add heading with subtle animation effect 11524 const header = document.createElement('div'); 11525 header.className = 'bitlogin-popup-header'; 11526 11527 const heading = document.createElement('h2'); 11528 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11528its'; 11529 heading.style.color = popupConfig.fontColor; 11530 header.appendChild(heading); 11531 11532 // Add body text with improved formatting 11533 const bodyText = document.createElement('div'); 11534 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 11535 bodyText.style.color = popupConfig.fontColor; 11536 header.appendChild(bodyText); 11537 11538 contentWrapper.appendChild(header); 11539 11540 // Create buttons container with modern styling 11541 const buttonsContainer = document.createElement('div'); 11542 buttonsContainer.className = 'bitlogin-popup-buttons'; 11543 11544 // Add social buttons 11545 const providerLabels = { 11546 'GOOGLE': 'Continue with Google', 11547 'FACEBOOK': 'Continue with Facebook', 11548 'APPLE': 'Continue with Apple', 11549 'WHATSAPP': 'Continue with WhatsApp', 11550 'MAGIC_LINK': 'Continue with Email', 11551 }; 11552 11553 // Add first login provider button 11554 if (popupConfig.loginProvider1 !== 'NONE') { 11555 const buttonConfig = { 11556 theme: popupConfig.colorScheme || 'match', 11557 customColor: popupConfig.textColor, 11558 format: 'contentFlex', 11559 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 11560 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11561 style: popupConfig.style || 'rounded', 11562 size: popupConfig.size || 'medium', 11563 colorScheme: popupConfig.colorScheme || 'match', 11564 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11565 textColor: popupConfig.textColor || '#FFFFFF', 11566 outlineColor: popupConfig.outlineColor || '#3B82F6', 11567 host: host 11568 }; 11569 11570 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 11571 11572 // Handle click event - this overrides the default click handler in createSocialLoginButton 11573 button1.onclick = () => { 11574 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 11575 closePopup(); 11576 }; 11577 11578 buttonsContainer.appendChild(button1); 11579 } 11580 11581 // Add second login provider button if enabled 11582 if (popupConfig.loginProvider2 !== 'NONE') { 11583 const buttonConfig = { 11584 theme: popupConfig.colorScheme || 'match', 11585 customColor: popupConfig.textColor, 11586 format: 'contentFlex', 11587 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 11588 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11589 style: popupConfig.style || 'rounded', 11590 size: popupConfig.size || 'medium', 11591 colorScheme: popupConfig.colorScheme || 'match', 11592 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11593 textColor: popupConfig.textColor || '#FFFFFF', 11594 outlineColor: popupConfig.outlineColor || '#3B82F6', 11595 host: host 11596 }; 11597 11598 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 11599 11600 // Handle click event - this overrides the default click handler in createSocialLoginButton 11601 button2.onclick = () => { 11602 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 11603 closePopup(); 11604 }; 11605 11606 buttonsContainer.appendChild(button2); 11607 } 11608 11609 contentWrapper.appendChild(buttonsContainer); 11610 11611 // Append content to popup 11612 popup.appendChild(contentWrapper); 11613 11614 // Append popup to overlay 11615 overlay.appendChild(popup); 11616 11617 // Append overlay to body 11618 document.body.appendChild(overlay); 11619 11620 // Trigger animation with slight delay for better perceived performance 11621 setTimeout(() => { 11622 overlay.classList.add('visible'); 11623 setTimeout(() => { 11624 popup.classList.add('visible'); 11625 }, 50); 11626 }, 10); 11627 } 11628 11629 window.addEventListener("load", () => { 11630 window.addEventListener("message", (event) => { 11631 const receivedData = event.data; 11632 11633 if (receivedData.type === "authorize") { 11634 post( 11635 JSON.parse( 11636 JSON.stringify({ 11637 "customer[email]": receivedData.email, 11638 "customer[password]": receivedData.password, 11639 form_type: "customer_login", 11640 utf8: "â", 11641 return_url: redirectUrl, 11642 }) 11643 ) 11644 ); 11645 } else if (receivedData.type === "rejected") { 11646 if (receivedData.reason === "customer_account_disabled") { 11647 showAlert( 11648 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 11649 ); 11650 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 11651 showAlert( 11652 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 11653 ); 11654 } else if (receivedData.reason === "customer_exist_email_not_set") { 11655 showAlert( 11656 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 11657 ); 11658 } 11659 } 11660 11661 if (receivedData.type === "customer_authenticated") { 11662 // Dispatch a custom event that merchants can listen for to implement their custom logic 11663 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 11664 detail: { 11665 provider: receivedData.provider, 11666 customer: receivedData.customer, 11667 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 11668 } 11669 }); 11670 11671 // Dispatch the event on the window object so merchants can listen for it 11672 window.dispatchEvent(customerAuthEvent); 11673 11674 } 11675 }); 11676 }); 11677 11678 // Reusable functions for social login buttons 11679 function createSocialLoginButton(provider, config = {}) { 11680 const { 11681 theme = 'match', 11682 customColor = null, 11683 format = 'contentFlex', 11684 buttonText = null, 11685 hasShadow = true, 11686 style = 'rounded', 11687 size = 'medium', 11688 colorScheme = 'match', 11689 backgroundColor = '#3B82F6', 11690 textColor = '#FFFFFF', 11691 outlineColor = '#3B82F6', 11692 rootRef = null, 11693 host = null 11694 } = config; 11695 11696 // Create button element with appropriate ID and attributes 11697 const button = document.createElement('button'); 11698 button.id = `${provider.toLowerCase()}-login`; 11699 button.type = 'button'; 11700 11701 // Set the inner SVG based on provider 11702 switch (provider.toUpperCase()) {
11703 case 'GOOGLE': 11704 button.innerHTML = googleLoginIcon(theme, customColor); 11705 break; 11706 case 'FACEBOOK': 11707 button.innerHTML = facebookLoginIcon(theme, customColor); 11708 break; 11709 case 'APPLE': 11710 button.innerHTML = appleLoginIcon(theme, customColor); 11711 break; 11712 case 'WHATSAPP': 11713 button.innerHTML = whatsappLoginIcon(theme, customColor); 11714 break; 11715 case 'MICROSOFT': 11716 button.innerHTML = microsoftLoginIcon(theme, customColor); 11717 break; 11718 case 'TWITTER': 11719 button.innerHTML = twitterLoginIcon(theme, customColor); 11720 break; 11721 case 'AMAZON': 11722 button.innerHTML = amazonLoginIcon(theme, customColor); 11723 break; 11724 case 'INSTAGRAM': 11725 button.innerHTML = instagramLoginIcon(theme, customColor); 11726 break; 11727 case 'MAGIC_LINK': 11728 button.innerHTML = magicLinkLoginIcon(theme, customColor); 11729 break; 11730 case 'MOBILE_APP': 11731 button.innerHTML = mobileAppLoginIcon(theme, customColor); 11732 break; 11733 case 'LINKEDIN': 11734 button.innerHTML = linkedinLoginIcon(theme, customColor); 11735 break; 11736 } 11737 11738 // Add text if format isn't icon-only and buttonText is provided 11739 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 11740 button.innerHTML += `<p>${buttonText}</p>`; 11741 } 11742 11743 // Apply styling 11744 // Shadow 11745 if (hasShadow) { 11746 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 11747 button.style["box-shadow"] = shadowProperties; 11748 } 11749 11750 // Border radius 11751 const radiusProperties = 11752 style === "rounded" 11753 ? "8px" 11754 : style === "square" 11755 ? "0px" 11756 : style === "fullRounded" 11757 ? format === "wrapperFlexContainerOnlyLogo" 11758 ? "50%" 11759 : "50px" 11760 : undefined; 11761 button.style["border-radius"] = radiusProperties; 11762 11763 // Size 11764 const sizeProperties = 11765 size === "medium" 11766 ? "12px" 11767 : size === "small" 11768 ? "8px" 11769 : size === "large" 11770 ? "16px" 11771 : "8px"; 11772 11773 button.style["padding-block"] = sizeProperties; 11774 11775 // Format styling 11776 if (format) { 11777 if ( 11778 format === "contentFlexReverse" || 11779 format === "contentFlexCenterReverse" 11780 ) { 11781 const flexDir = `row-reverse`; 11782 button.style["flex-direction"] = flexDir; 11783 } 11784 11785 if ( 11786 format === "contentFlexCenter" || 11787 format === "contentFlexCenterReverse" 11788 ) { 11789 const justifyContent = `center`; 11790 button.style["justify-content"] = justifyContent; 11791 } else if ( 11792 format === "contentFlex" || 11793 format === "contentFlexReverse" 11794 ) { 11795 const buttonTextElement = button.querySelector("p"); 11796 if (buttonTextElement) { 11797 buttonTextElement.style["flex-grow"] = 1; 11798 buttonTextElement.style["text-align"] = "center"; 11799 } 11800 } 11801 11802 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 11803 rootRef.style["flex-direction"] = "row"; 11804 rootRef.style["gap"] = "8px"; 11805 rootRef.style["display"] = "flex"; 11806 rootRef.style["flex-wrap"] = "wrap"; 11807 11808 const sizeMapping = { 11809 small: "52px", 11810 medium: "62px", 11811 large: "72px", 11812 }; 11813 const buttonSize = sizeMapping[size] || "52px"; 11814 11815 button.style["margin"] = 0; 11816 button.style["width"] = buttonSize; 11817 button.style["height"] = buttonSize; 11818 button.style["display"] = "flex"; 11819 button.style["align-items"] = "center"; 11820 button.style["justify-content"] = "center"; 11821 11822 const svgElement = button.querySelector("svg"); 11823 if (svgElement) { 11824 svgElement.style["flex"] = "none"; 11825 } 11826 } 11827 } 11828 11829 // Color scheme styling 11830 if (colorScheme === "black") { 11831 button.classList.add("scheme-black"); 11832 } else if (colorScheme === "white") { 11833 button.classList.add("scheme-white"); 11834 } else if (colorScheme === "custom") { 11835 button.style["background-color"] = backgroundColor; 11836 button.style["color"] = textColor; 11837 button.style["border-color"] = outlineColor; 11838 11839 const darkenColor = (color, percentage) => { 11840 const value = parseInt(color.slice(1), 16); 11841 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 11842 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 11843 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 11844 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 11845 }; 11846 11847 button.addEventListener("mouseover", () => {
11848 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 11849 }); 11850 button.addEventListener("mouseout", () => { 11851 button.style["background-color"] = backgroundColor; 11852 }); 11853 } else if (colorScheme === "match") { 11854 button.classList.add("scheme-match"); 11855 } else if (colorScheme === "matchOutline") { 11856 button.classList.add("scheme-match-outline"); 11857 } 11858 11859 // Add click event listener if host is provided 11860 if (host) { 11861 button.addEventListener("click", () => 11862 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 11863 ); 11864 } 11865 11866 return button; 11867 } 11868 11869 function setupSocialLoginButtons(config, rootRef, data, host) { 11870 // Clear any existing content 11871 rootRef.innerHTML = ''; 11872 11873 const sortedEnabledProviders = config 11874 .filter(c => c.enabledWeb) 11875 .sort((a, b) => a.position - b.position); 11876 11877 sortedEnabledProviders.forEach(provider => { 11878 const key = provider.provider; 11879 const lowerKey = key.toLowerCase(); 11880 11881 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 11882 ? (lowerKey === 'twitter' 11883 ? data.buttonList.twitter.replace('Twitter', 'X') 11884 : data.buttonList[lowerKey]) 11885 : null; 11886 11887 const button = createSocialLoginButton(key, { 11888 theme: data.colorScheme || 'match', 11889 customColor: data.textColor, 11890 format: data.format, 11891 buttonText: buttonText, 11892 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 11893 style: data.style, 11894 size: data.size, 11895 colorScheme: data.colorScheme, 11896 backgroundColor: data.backgroundColor, 11897 textColor: data.textColor, 11898 outlineColor: data.outlineColor, 11899 rootRef: rootRef, 11900 host: host 11901 }); 11902 11903 rootRef.appendChild(button); 11904 }); 11905 11906 return rootRef; 11907 } 11908 11909 function updateAppearance({ formRef, rootRef, host }) { 11910 if (!formRef) return; 11911 11912 const data = bitloginCache.appearance || { 11913 style: "square", 11914 hasShadow: false, 11915 colorScheme: "match", 11916 backgroundColor: "#FFFFFF", 11917 outlineColor: "#000000", 11918 textColor: "#000000", 11919 position: "bottom", 11920 hideDivider: "false", 11921 dividerText: "OR", 11922 size: "small", 11923 format: "contentFlex", 11924 language: "en", 11925 buttonText: "Continue with", 11926 redirectLink: "/account", 11927 googleOneTap: true, 11928 googleOneTapBanner: true, 11929 customerTag: "bitLogin", 11930 redirectOneTapDesktop: null, 11931 redirectOneTapMobile: null, 11932 buttonList: { 11933 google: "Continue with Google", 11934 facebook: "Continue with Facebook", 11935 apple: "Continue with Apple", 11936 whatsapp: "Continue with WhatsApp", 11937 microsoft: "Continue with Microsoft", 11938 twitter: "Continue with X", 11939 amazon: "Continue with Amazon", 11940 instagram: "Continue with Instagram", 11941 magic_link: "Continue with Magic Link", 11942 mobile_app: "Continue with Mobile App", 11943 linkedin: "Continue with LinkedIn", 11944 }, 11945 }; 11946 11947 // Use the new setupSocialLoginButtons function to create and configure all buttons 11948 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 11949 11950 let divider; 11951 11952 if (!data.hideDivider) { 11953 divider = document.createElement("div"); 11954 const dividerStyle = "text-align:center;margin-block:16px"; 11955 divider.setAttribute("style", dividerStyle); 11956 divider.innerHTML = data.dividerText; 11957 } 11958 11959 if (data.position === "bottom") { 11960 if (divider) { 11961 formRef.appendChild(divider); 11962 } 11963 formRef.appendChild(rootRef); 11964 } else if (data.position === "top") { 11965 if (divider) { 11966 formRef.prepend(divider); 11967 } 11968 formRef.prepend(rootRef); 11969 } 11970 } 11971 11972 11973 async function onClickSocialLogin({ provider, host }) { 11974 const rand = Math.random().toString(); 11975 11976 const locationQueryString = bitloginCache.location 11977 ? `&${objectToQueryString(bitloginCache.location)}` 11978 : ""; 11979 11980 const width = 800; 11981 const height = 600; 11982 const left = (window.screen.width / 2) - (width / 2); 11983 const top = (window.screen.height / 2) - (height / 2) - 50; 11984 11985 if(provider === 'whatsapp') { 11986 window.open( 11987 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 11988 "mywindow", 11989 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 11990 ); 11991 } else { 11992 window.open( 11993 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 11994 "mywindow", 11995 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 11996 ); 11997 } 11998 } 11999 12000 function objectToQueryString(obj) { 12001 return Object.keys(obj) 12002 .map((key) => { 12003 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 12004 }) 12005 .join("&"); 12006 } 12007 12008 async function getLocation() { 12009 if (locationCacheSet) return; 12010 12011 try { 12012 const response = await fetch("https://ipapi.co/json/"); 12013 12014 if (!response.ok) { 12015 console.error(`error retrieving location...`, response.status); 12016 errorLocation = true; 12017 } else { 12018 const data = await response.json(); 12019 12020 const { city, region, country_name, country_code } = data; 12021 12022 const formattedLocationData = { 12023 city, 12024 region, 12025 country_name, 12026 country_code, 12027 }; 12028 12029 bitloginCache.location = formattedLocationData; 12030 locationCacheSet = true; 12031 errorLocation = false;
12032 } 12033 } catch (err) { 12034 console.error(`error fetching location`, err); 12035 errorLocation = true; 12036 } 12037 } 12038 12039 function post(params) { 12040 // The rest of this code assumes you are not using a library. 12041 // It can be made less verbose if you use one. 12042 const form = document.createElement("form"); 12043 form.method = "post"; 12044 form.action = `/account/login`; 12045 form.acceptCharset = "UTF-8"; 12046 form.setAttribute("data-login-with-shop-sign-in", "true"); 12047 form.setAttribute("novalidate", "novalidate"); 12048 12049 for (const key in params) { 12050 if (params.hasOwnProperty(key)) { 12051 const hiddenField = document.createElement("input"); 12052 hiddenField.type = "hidden"; 12053 hiddenField.name = key; 12054 hiddenField.value = params[key]; 12055 12056 form.appendChild(hiddenField); 12057 } 12058 } 12059 12060 document.body.appendChild(form); 12061 form.submit(); 12062 } 12063 12064 async function setupOneTap({ host, checkoutUrl }) { 12065 if (oneTapSet) return; 12066 12067 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 12068 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 12069 12070 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 12071 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 12072 12073 const currentPath = window.location.pathname.toLowerCase(); 12074 const currentUrl = window.location.href.toLowerCase(); 12075 12076 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 12077 switch (value) { 12078 case 'home': 12079 return currentPath === '/'; 12080 case 'product': 12081 return currentPath.startsWith('/products/'); 12082 case 'collections': 12083 return currentPath.startsWith('/collections'); 12084 case 'cart': 12085 return currentPath === '/cart'; 12086 case 'checkout': 12087 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 12088 case 'thank_you': 12089 return currentPath.includes('/thank_you'); 12090 case 'account': 12091 return currentPath.startsWith('/account'); 12092 case 'pages': 12093 return currentPath.startsWith('/pages'); 12094 case 'blogs': 12095 return currentPath === '/blogs' || currentPath === '/blogs/news'; 12096 case 'blog_post': 12097 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 12098 default: 12099 return false; 12100 } 12101 }); 12102 12103 if (shouldHideGoogleOneTap) return; 12104 12105 const oneTapClientId = bitloginCache.config.find( 12106 (config) => config.provider === "GOOGLE" 12107 )?.clientId; 12108 12109 const isLoggedIn = false; 12110 12111 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 12112 const googleOneTapButton = document.createElement("div"); 12113 googleOneTapButton.setAttribute("id", "g_id_onload"); 12114 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 12115 googleOneTapButton.setAttribute("data-context", "signin"); 12116 googleOneTapButton.setAttribute( 12117 "data-callback", 12118 "handleGoogleOneTapResponse" 12119 ); 12120 googleOneTapButton.setAttribute("data-itp_support", "true"); 12121 12122 const googleOneTapScript = document.createElement("script"); 12123 12124 googleOneTapScript.innerHTML += ` 12125 function handleGoogleOneTapResponse(response) { 12126 if (response.credential) { 12127 const idToken = response.credential; 12128 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 12129 method: 'POST', 12130 headers: { 'Content-Type': 'application/json' }, 12131 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 12132 }).then(response => { 12133 response.json().then((data) => { 12134 post( 12135 JSON.parse( 12136 JSON.stringify({ 12137 "customer[email]": data.email, 12138 "customer[password]": data.password, 12139 form_type: "customer_login", 12140 utf8: "â", 12141 return_url: redirectUrl, 12142 }) 12143 ) 12144 ); 12145 }); 12146 }).catch(error => { 12147 console.error('Error occurred:', error); 12148 }); 12149 } else { 12150 console.error('No credential available'); 12151 } 12152 } 12153 `; 12154 12155 document.body.append(googleOneTapButton); 12156 document.body.append(googleOneTapScript); 12157 } 12158 12159 oneTapSet = true; 12160 } 12161 12162 const googleLoginIcon = ( 12163 theme, 12164 customColor 12165 ) => ` 12166 ${ 12167 theme === "match" || theme === "matchOutline" || theme === "custom" 12168 ? `<svg 12169 xmlns='https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png' 12170 xmlns:v='https://vecta.io/nano' 12171 width='24' 12172 height='24'
12173 viewBox='0 0 186.69 190.5' 12174 > 12175 <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="${ 12176 theme === "custom" ? customColor : "#4285f4" 12177 }"/><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="${ 12178 theme === "custom" ? customColor : "#34a853" 12179 }"/><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="${ 12180 theme === "custom" ? customColor : "#fbbc05" 12181 }"/><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="${ 12182 theme === "custom" ? customColor : "#ea4335" 12183 }" clip-path="none" mask="none"/></g> 12184 </svg>` 12185 : `<svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 12186 <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="${ 12187 theme !== "black" ? "black" : "white" 12188 }"/> 12189 <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="${ 12190 theme !== "black" ? "black" : "white" 12191 }"/> 12192 <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="${ 12193 theme !== "black" ? "black" : "white" 12194 }"/> 12195 <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="${ 12196 theme !== "black" ? "black" : "white" 12197 }"/> 12198 </svg>` 12199 }`; 12200 12201 const appleLoginIcon = ( 12202 theme, 12203 customColor 12204 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 12205 <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="${ 12206 theme === "custom" 12207 ? customColor 12208 : theme === "match" || theme === "black" 12209 ? "white" 12210 : "black" 12211 }"/> 12212 </svg>`; 12213 12214 const facebookLoginIcon = ( 12215 theme, 12216 customColor 12217 ) => ` 12218 ${ 12219 theme === "match" || theme === "matchOutline" || theme === "custom" 12220 ? `<svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12221 <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="${ 12222 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 12223 }"/> 12224 <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="${ 12225 theme === "match" ? "#1778f2" : "transparent" 12226 }"/> 12227 </svg>` 12228 : `<svg xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" width="24" height="25" viewB
12228ox="0 0 24 25" fill="none"> 12229 <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="${ 12230 theme === "black" ? "white" : "black" 12231 }"/> 12232 <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="${ 12233 theme === "black" ? "black" : "white" 12234 }"/> 12235 </svg>` 12236 }`; 12237 12238 const whatsappLoginIcon = ( 12239 theme, 12240 customColor 12241 ) => `<svg 12242 viewBox="0 0 24 24" 12243 fill="none" 12244 width="24" 12245 height="25" 12246 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12247 > 12248 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 12249 <g 12250 id="SVGRepo_tracerCarrier" 12251 stroke-linecap="round" 12252 stroke-linejoin="round" 12253 ></g> 12254 <g id="SVGRepo_iconCarrier"> 12255 <path 12256 fill-rule="evenodd" 12257 clip-rule="evenodd" 12258 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" 12259 fill="${ 12260 theme === "match" || theme === "black" 12261 ? "#ffffff" 12262 : theme === "white" 12263 ? "#000000" 12264 : theme === "matchOutline" 12265 ? "#25d366" 12266 : customColor 12267 }" 12268 ></path> 12269 </g> 12270 </svg>`; 12271 12272 const microsoftLoginIcon = ( 12273 theme, 12274 customColor 12275 ) => `<svg 12276 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12277 width="25" 12278 height="25" 12279 viewBox="0 0 48 48"> 12280 <path fill="${ 12281 theme === "match" || theme == "matchOutline" 12282 ? "#ff5722" 12283 : theme === "black" 12284 ? "#ffffff" 12285 : theme === "white" 12286 ? "#000000" 12287 : customColor 12288 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 12289 <path 12290 fill="${ 12291 theme === "match" || theme == "matchOutline" 12292 ? "#4caf50" 12293 : theme === "black" 12294 ? "#ffffff" 12295 : theme === "white" 12296 ? "#000000" 12297 : customColor 12298 }" 12299 d="M26 6H42V22H26z" 12300 transform="rotate(-180 34 14)"></path> 12301 <path 12302 fill="${ 12303 theme === "match" || theme == "matchOutline" 12304 ? "#ffc107" 12305 : theme === "black" 12306 ? "#ffffff" 12307 : theme === "white" 12308 ? "#000000" 12309 : customColor 12310 }" 12311 d="M26 26H42V42H26z" 12312 transform="rotate(-180 34 34)"></path> 12313 <path fill="${ 12314 theme === "match" || theme == "matchOutline" 12315 ? "#03a9f4" 12316 : theme === "black" 12317 ? "#ffffff" 12318 : theme === "white" 12319 ? "#000000" 12320 : customColor 12321 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 12322 </svg>`; 12323 12324 const twitterLoginIcon = ( 12325 theme, 12326 customColor 12327 ) => `<svg 12328 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12329 width="25" 12330 height="25" 12331 viewBox="0 0 48 48"> 12332 <polygon fill="${ 12333 theme === "match" || theme === "black" 12334 ? "#ffffff" 12335 : theme === "matchOutline" || theme === "white" 12336 ? "#000000" 12337 : customColor 12338 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 12339 <polygon 12340 fill="${ 12341 theme === "match" || theme === "black" 12342 ? "#000000" 12343 : theme === "matchOutline" || theme === "white" 12344 ? "#ffffff" 12345 : customColor 12346 }" 12347 fill-rule="evenodd" 12348 points="31.143,41 7.82,7 16.777,7 40.1,41" 12349 clip-rule="evenodd"></polygon> 12350 <path 12351 fill="${ 12352 theme === "match" || theme === "black" 12353 ? "#ffffff" 12354 : theme === "matchOutline" || theme === "white" 12355 ? "#000000" 12356 : customColor 12357 }" 12358 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 12359 </svg>`; 12360 12361 const amazonLoginIcon = (theme, customColor) => ` 12362 <svg 12363 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12364 x="0px" 12365 y="0px" 12366 width="25" 12367 height="25"
12368 viewBox="0 0 50 50" 12369 > 12370 <path 12371 fill="${ 12372 theme === "black" 12373 ? "#ffffff" 12374 : theme === "matchOutline" 12375 ? "#FF9900" 12376 : theme === "white" || theme === "match" 12377 ? "#000000" 12378 : customColor 12379 }" 12380 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" 12381 ></path> 12382 </svg>`; 12383 12384 const instagramLoginIcon= (theme, customColor) => ` 12385 <svg 12386 width="25" 12387 height="25" 12388 viewBox="0 0 25 24" 12389 fill="none" 12390 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png"> 12391 <path 12392 fill-rule="evenodd" 12393 clip-rule="evenodd" 12394 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.
1239464321C8.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" 12395 fill="url(#paint0_radial_378_3535)" /> 12396 <path 12397 fill-rule="evenodd" 12398 clip-rule="evenodd" 12399 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" 12400 fill="url(#paint0_radial_378_3535)" /> 12401 <path 12402 fill-rule="evenodd" 12403 clip-rule="evenodd" 12404 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.
1240464321C8.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" 12405 fill="url(#paint0_radial_378_3535)" /> 12406 <path 12407 fill-rule="evenodd" 12408 clip-rule="evenodd" 12409 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" 12410 fill="url(#paint1_radial_378_3535)" /> 12411 <defs> 12412 <radialGradient 12413 id="paint0_radial_378_3535" 12414 cx="0" 12415 cy="0" 12416 r="1" 12417 gradientUnits="userSpaceOnUse" 12418 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 12419 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 12420 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 12421 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 12422 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 12423 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 12424 </radialGradient> 12425 <radialGradient 12426 id="paint1_radial_378_3535" 12427 cx="0" 12428 cy="0" 12429 r="1" 12430 gradientUnits="userSpaceOnUse" 12431 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 12432 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 12433 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 12434 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 12435 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 12436 </radialGradient> 12437 </defs> 12438 </svg>`; 12439 12440 const magicLinkLoginIcon = (theme, customColor) => ` 12441 <svg 12442 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12443 width="25" 12444 height="25" 12445 fill="none"
12446 viewBox="0 0 25 25" 12447 > 12448 <path 12449 fill="${ 12450 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 12451 }" 12452 fillRule="evenodd" 12453 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" 12454 clipRule="evenodd" 12455 ></path> 12456 </svg>`; 12457 12458 const mobileAppLoginIcon = (theme, customColor) => ` 12459 <svg 12460 width="20" 12461 height="24" 12462 viewBox="0 0 12 16" 12463 fill="none" 12464 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12465 > 12466 <path 12467 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" 12468 fill=${ 12469 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 12470 } 12471 /> 12472 </svg> 12473 `; 12474 12475 const linkedinLoginIcon = (theme, customColor) => ` 12476 <svg 12477 xmlns="https://ik.imagekit.io/nj9w1owsw/nZyP8Ofr43Ws05X7u1IE.png" 12478 width="25" 12479 height="24" 12480 viewBox="0 0 25 24" 12481 fill="none" 12482 > 12483 <path 12484 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" 12485 fill=${ 12486 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 12487 } 12488 /> 12489 </svg> 12490 `; 12491 12492 function isElementVisible(element) { 12493 return ( 12494 document.body.contains(element) && 12495 getComputedStyle(element).display !== "none" && 12496 getComputedStyle(element).visibility !== "hidden" && 12497 getComputedStyle(element).opacity !== "0" && 12498 !element.hasAttribute("hidden") && 12499 !isAncestorHidden(element) 12500 ); 12501 } 12502 12503 function isAncestorHidden(element) { 12504 let parent = element.parentElement; 12505 while (parent) { 12506 if ( 12507 getComputedStyle(parent).display === "none" || 12508 getComputedStyle(parent).visibility === "hidden" || 12509 getComputedStyle(parent).opacity === "0" || 12510 parent.hasAttribute("hidden") 12511 ) { 12512 return true; 12513 } 12514 parent = parent.parentElement; 12515 } 12516 return false; 12517 } 12518 12519 function showAlert(message) { 12520 const alertBox = document.createElement("div"); 12521 alertBox.textContent = message; 12522 alertBox.style.position = "fixed"; 12523 alertBox.style.top = "20px"; 12524 alertBox.style.right = "-300px"; // Start off-screen 12525 alertBox.style.backgroundColor = "#000000"; // Black background 12526 alertBox.style.color = "#ffffff"; // White text 12527 alertBox.style.padding = "15px"; 12528 alertBox.style.borderRadius = "8px"; 12529 alertBox.style.zIndex = "1000"; 12530 alertBox.style.transition = 12531 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 12532 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 12533 12534 document.body.appendChild(alertBox); 12535 12536 // Slide in 12537 requestAnimationFrame(() => { 12538 alertBox.style.right = "20px"; // Move into view 12539 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 12540 }); 12541 12542 // Slide out and remove the alert after a few seconds 12543 setTimeout(() => { 12544 alertBox.style.opacity = "0"; // Fade out 12545 alertBox.style.right = "-300px"; // Move out of view 12546 12547 // Wait for the transition to finish before removing the element 12548 setTimeout(() => { 12549 document.body.removeChild(alertBox); 12550 }, 500); // Match this duration with the exit transition duration 12551 }, 3000); 12552 } 12553 </script>
12553 12554 12555 <style> 12556 .daftarku-fixed-footer { 12557 display: flex; 12558 justify-content: space-around; 12559 position: fixed; 12560 background: linear-gradient(to bottom, #000000 0%, #FCB11F, #000000 100%); 12561 box-shadow: 0 0 12px #FCB11F; 12562 outline: none; 12563 padding: 5px 0; 12564 box-shadow: 0 0 0 0 2px 2px #198f01; 12565 left: 0; 12566 right: 0; 12567 bottom: 0; 12568 z-index: 99; 12569 border-radius: 40px 40px 0px 0px; 12570 border-style:dashed; 12571 12572 } 12573 12574 .daftarku-fixed-footer a { 12575 flex-basis: calc((100% - 15px*6)/ 5); 12576 text-decoration: none; 12577 display: flex; 12578 flex-direction: column; 12579 justify-content: center; 12580 align-items: center; 12581 color: #fff; 12582 max-width: 75px; 12583 font-size: 12px; 12584 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 12585 } 12586 12587 .daftarku-fixed-footer a:hover { 12588 font-weight: bold; 12589 } 12590 12591 .daftarku-fixed-footer .center { 12592 transform: scale(1.5) translateY(-5px); 12593 background: center no-repeat; 12594 background-size: contain; 12595 background-color: inherit; 12596 border-radius: 50%; 12597 } 12598 12599 .daftarku-fixed-footer img { 12600 max-width: 20px; 12601 margin-bottom: 0; 12602 max-height: 20px; 12603 } 12604 </style> 12605 12606 <div class="daftarku-fixed-footer"> 12607 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noopener" target="_blank"> 12608 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI"> 12609 PROMO 12610 </a> 12611 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noopener" target="_blank"> 12612 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN"> 12613 LOGIN 12614 </a> 12615 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noopener" target="_blank" class="tada"> 12616 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR"> 12617 DAFTAR 12618 </a> 12619 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noopener" target="_blank"> 12620 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP"> 12621 WHATSAPP 12622 </a> 12623 <a href="https://slot200thumuaphelieuhanoibang.pages.dev/" rel="nofollow noopener" target="_blank" 12624 class="js_live_chat_link live-chat-link"> 12625 <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/06/17/live-chat.png" alt="Live Chat"> 12626 Live Chat 12627 </a> 12628 </div> 12629 </div> 12630
12630<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1496c6c168314d5ba25fec5ffebcba92","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
12630 12631
12631<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"35c0090c7d544a5ebd6cb76e1773c81a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12631
12631
12632<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"276768321f134ec5a0581a2bbb719892","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12632
12632
12633<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"47eaff6dcb7e41e8bffe114d87d7789a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12633
12633
12634<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"318e480e0fb54b6180ffd254676be95e","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12634
12634
12635<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"a4e14efbd5234a2683c2837904f8a45b","r":1,"spa":2}' crossorigin="anonymous"></script>
12635 12636</body> 12637 </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.