1<!doctype html> 2<!--Brumm Brumm--> 3 <html class="no-js"> 4 <head> 5 <meta charset="utf-8" /> 6 <meta name="pinterest" content="nosearch"> 7 <meta name="pinterest" content="nopin" /> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 9 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 10 <meta name="apple-itunes-app" content="app-id=1576832504"> 11 <link rel="icon" type="image/x-icon" href="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp"> 12 <!-- Title and description --> 13 <title>WIN4D ð® Nikmati Pengalaman Bersama kami Salah Satu Platform Gaming TerpercaWIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesiaya Dukungan Resmi Di Indonesia</title> 14 <meta name="description" content="WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya."> 15 <meta name="keywords" content="win4d, win 4d, win4d login, win4d daftar, win4d link, win4d resmi" /> 16<link rel="canonical" href="https://ladangwin4d.com/" /> 17<link rel="amphtml" href="https://ladangwin4d.com/resmi/" /> 18<link rel="alternate" href="https://ladangwin4d.com/resmi/"> 19<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="ja"> 20<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="en"> 21<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="zh-Hant"> 22<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="zh-Hans"> 23<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="th"> 24<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="id"> 25<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="ko"> 26<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="de"> 27<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="es"> 28<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="ru"> 29<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="fr"> 30<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="it"> 31<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="ms"> 32<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="my"> 33<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="pl"> 34<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="pt"> 35<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="tr"> 36<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="vi"> 37<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="ar"> 38<link rel="alternate" href="https://ladangwin4d.com/resmi/" hreflang="x-default"> 39 <!-- /snippets/social-meta-tags.liquid --> 40 <meta property="og:type" content="WIN4D"> 41 <meta property="og:title" content="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia"> 42 <meta property="og:image" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 43 <meta property="og:image:secure_url" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 44 <meta property="og:image" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 45 <meta property="og:image:secure_url" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 46 <meta property="og:image" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 47 <meta property="og:image:secure_url" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 48 <meta property="og:description" content="WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya."> 49 <meta property="og:price:amount" content="10,000-,"> 50 <meta property="og:price:currency" content="IDR"> 51 <meta property="og:url" content="http://win4dream.com/"> 52 <meta property="og:site_name" content="WIN4D"> 53 <meta name="twitter:site" content="@WIN4D"> 54 <meta name="twitter:card" content="summary"> 55 <meta name="twitter:title" content="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia"> 56 <meta name="twitter:description" content="WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya."> 57 <meta name="twitter:image" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 58 <meta name="twitter:image:width" content="600"> 59 <meta name="twitter:image:height" content="600"> 60 <link rel="shortcut icon" href="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" type="image/png"> 61 <meta name="theme-color" content="#ffffff"> 62 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 63 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 64 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
64<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
64 65
65<script 66 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 67 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 68 crossorigin="anonymous" 69 referrerpolicy="no-referrer" 70 defer 71 ></script>
71 72
72<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
72 73
73<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
73<!-- Facebook Pixel Code --> 74
74<script>
vendor: 462 bytes, lines 74-83
74 75 !function(f,b,e,v,n,t,s) 76 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 77 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 78 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 79 n.queue=[];t=b.createElement(e);t.async=!0; 80 t.src=v;s=b.getElementsByTagName(e)[0]; 81 s.parentNode.insertBefore(t,s)}(window, document,'script', 82 'https://connect.facebook.net/en_US/fbevents.js'); 83 fbq('init', '
83165971065669324
vendor: 42 bytes, lines 83-85
83'); 84 fbq('track', 'PageView'); 85
85</script>
85 86 <noscript 87 ><img 88 height="1" 89 width="1" 90 style="display:none" 91 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 92 ></noscript> 93 <!-- End Facebook Pixel Code --> 94 95 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 96 <!-- 97 Global site tag (gtag.js) - Google Analytics -->
vendor: 75 bytes, lines 97-98
97 98 <script async src="https://www.googletagmanager.com/gtag/js?id=
98G-X26HYP4083
vendor: 23 bytes, lines 98-99
98"></script> 99
99<script> 100
vendor: 170 bytes, lines 100-104
100window.dataLayer = window.dataLayer || []; 101 function gtag(){dataLayer.push(arguments);} 102 gtag('js', new Date()); 103 104 gtag('config', '
104G-X26HYP4083
vendor: 15 bytes, lines 104-105
104'); 105
105</script>
105 106 <!-- Global site tag (gtag.js) - Google Analytics --> 107 108 <div class="button-login-daftar"> 109 <a class="login" href="https://ladangwin4d.com/resmi/" rel="nofollow noreferrer" style="color: white;"> 110 LOGIN 111 </a> 112 <a class="register" href="https://ladangwin4d.com/resmi/" rel="nofollow noreferrer" style="color: white;"> 113 DAFTAR 114 </a> 115 </div> 116 117
117<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
117 118 119 <!-- Bing UET --> 120
120<script> 121 (function(w,d,t,r,u) 122 { 123 var f,n,i; 124 w[u]=w[u]||[],f=function() 125 { 126 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 127 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 128 }, 129 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 130 { 131 var s=this.readyState; 132 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 133 }, 134 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 135 }) 136 (window,document,"script","//bat.bing.com/bat.js","uetq"); 137 </script>
137 138
138<script> 139 window.uetq = window.uetq || []; 140 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 141 </script>
141 142 <!-- End Bing UET --> 143 144 <!-- Microsoft Clarity --> 145
145<script type="text/javascript"> 146 (function(c,l,a,r,i,t,y){ 147 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 148 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 149 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 150 })(window, document, "clarity", "script", "h7rbxqry9k"); 151 </script>
151 152 <!-- End Microsoft Clarity --> 153 154 155<link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 156 157<link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 158<link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 159
160<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
vendor: 2 bytes, line 160
160
161<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
vendor: 2 bytes, line 161
161
162<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
162 163
163<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
163 164<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 165<link rel="alternate" type="application/json+oembed" href="https://ladangwin4d.com/.oembed">
166<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
vendor: 2 bytes, line 166
166
167<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
vendor: 2 bytes, line 167
167
168<script>var Shopify = Shopify || {}; 169Shopify.shop = "outerbloom1.myshopify.com"; 170Shopify.locale = "en"; 171Shopify.currency = {"active":"IDR","rate":"1.0"}; 172Shopify.country = "ID"; 173Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 174Shopify.theme.handle = "null"; 175Shopify.theme.style = {"id":null,"handle":null}; 176Shopify.cdnHost = "outerbloom.com/cdn"; 177Shopify.routes = Shopify.routes || {}; 178Shopify.routes.root = "/";</script>
vendor: 2 bytes, line 178
178
179<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 2 bytes, line 179
179
180<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>
vendor: 2 bytes, line 180
180
181<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 2 bytes, line 181
181
182<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 183"></script>
vendor: 2 bytes, line 183
183
184<script>(function() { 185 var isLoaded = false; 186 function asyncLoad() { 187 if (isLoaded) return; 188 isLoaded = true; 189 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"]; 190 for (var i = 0; i < urls.length; i++) { 191 var s = document.createElement('script'); 192 s.type = 'text/javascript'; 193 s.async = true; 194 s.src = urls[i]; 195 var x = document.getElementsByTagName('script')[0]; 196 x.parentNode.insertBefore(s, x); 197 } 198 }; 199 if(window.attachEvent) { 200 window.attachEvent('onload', asyncLoad); 201 } else { 202 window.addEventListener('load', asyncLoad, false); 203 } 204})();</script>
vendor: 2 bytes, line 204
204
205<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>
vendor: 2 bytes, line 205
205
206<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 2 bytes, line 206
206
207<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>
vendor: 2 bytes, line 207
207
208<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>
vendor: 2 bytes, line 208
208
209<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)}}; 210</script>
vendor: 2 bytes, line 210
210
211<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 212 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); 213</script>
vendor: 2 bytes, line 213
213
214<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})}})); 215</script>
215 216
217<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
217 218 <!-- /snippets/oldIE-js.liquid --> 219 220 221<!--[if lt IE 9]>
222<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
vendor: 2 bytes, line 222
222
223<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
223 224<link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 225<link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
226<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
226 227<![endif]--> 228 229 230 231 232 233 <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"> 234<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
235<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>
vendor: 2 bytes, line 235
235
236<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":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","url":"\/products\/blossom-shine","type":"WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya."},"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\":\"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia\",\"url\":\"\/products\/blossom-shine\",\"type\":\"WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
236<script> 237 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 238 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 239 window.ShopifyAnalytics.meta.currency = 'IDR'; 240 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.","variants":[{"id":44083045826775,"price":1000000 241 ,"name":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 242 for (var attr in meta) { 243 window.ShopifyAnalytics.meta[attr] = meta[attr]; 244 } 245</script>
vendor: 2 bytes, line 245
245
246<script class="analytics"> 247 (function () { 248 var customDocumentWrite = function(content) { 249 var jquery = null; 250 251 if (window.jQuery) { 252 jquery = window.jQuery; 253 } else if (window.Checkout && window.Checkout.$) { 254 jquery = window.Checkout.$; 255 } 256 257 if (jquery) { 258 jquery('body').append(content); 259 } 260 }; 261 262 var hasLoggedConversion = function(token) { 263 if (token) { 264 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 265 } 266 return false; 267 } 268 269 var setCookieIfConversion = function(token) { 270 if (token) { 271 var twoMonthsFromNow = new Date(Date.now()); 272 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 273 274 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 275 } 276 } 277 278 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 279 if (trekkie.integrations) { 280 return; 281 } 282 trekkie.methods = [ 283 'identify', 284 'page', 285 'ready', 286 'track', 287 'trackForm', 288 'trackLink' 289 ]; 290 trekkie.factory = function(method) { 291 return function() { 292 var args = Array.prototype.slice.call(arguments); 293 args.unshift(method); 294 trekkie.push(args); 295 return trekkie; 296 }; 297 }; 298 for (var i = 0; i < trekkie.methods.length; i++) { 299 var key = trekkie.methods[i]; 300 trekkie[key] = trekkie.factory(key); 301 } 302 trekkie.load = function(config) { 303 trekkie.config = config || {}; 304 trekkie.config.initialDocumentCookie = document.cookie; 305 var first = document.getElementsByTagName('script')[0]; 306 var script = document.createElement('script'); 307 script.type = 'text/javascript'; 308 script.onerror = function(e) { 309 var scriptFallback = document.createElement('script'); 310 scriptFallback.type = 'text/javascript'; 311 scriptFallback.onerror = function(error) { 312 var Monorail = { 313 produce: function produce(monorailDomain, schemaId, payload) { 314 var currentMs = new Date().getTime(); 315 var event = { 316 schema_id: schemaId, 317 payload: payload, 318 metadata: { 319 event_created_at_ms: currentMs, 320 event_sent_at_ms: currentMs 321 } 322 }; 323 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 324 }, 325 sendRequest: function sendRequest(endpointUrl, payload) { 326 // Try the sendBeacon API 327 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 328 var blobData = new window.Blob([payload], { 329 type: 'text/plain' 330 }); 331 332 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 333 return true; 334 } // sendBeacon was not successful 335 336 } // XHR beacon 337 338 var xhr = new XMLHttpRequest(); 339 340 try { 341 xhr.open('POST', endpointUrl); 342 xhr.setRequestHeader('Content-Type', 'text/plain'); 343 xhr.send(payload); 344 } catch (e) { 345 console.log(e); 346 } 347 348 return false; 349 }, 350 isIos12: function isIos12() { 351 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 352 } 353 }; 354 Monorail.produce('monorail-edge.shopifysvc.com', 355 'trekkie_storefront_load_errors/1.1', 356 {shop_id: 15896833, 357 theme_id: 153139282135, 358 app_name: "storefront", 359 context_url: window.location.href, 360 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 361 362 }; 363 scriptFallback.async = true; 364 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 365 first.parentNode.insertBefore(scriptFallback, first); 366 }; 367 script.async = true; 368 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 369 first.parentNode.insertBefore(script, first); 370 }; 371 trekkie.load( 372 {"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}} 373 ); 374 375 var loaded = false; 376 trekkie.ready(function() { 377 if (loaded) return; 378 loaded = true; 379 380 window.ShopifyAnalytics.lib = window.trekkie; 381 382 var originalDocumentWrite = document.write; 383 document.write = customDocumentWrite;
384 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 385 document.write = originalDocumentWrite; 386 387 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 388 389 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 390 var token = match? match[1]: undefined; 391 if (!hasLoggedConversion(token)) { 392 setCookieIfConversion(token); 393 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 394 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 395 } 396 }); 397 398 399 var eventsListenerScript = document.createElement('script'); 400 eventsListenerScript.async = true; 401 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 402 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 403 404})();</script>
404 405
405<script> 406 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 407 window.ga = function ga() { 408 (window.ga.q = window.ga.q || []).push(arguments); 409 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 410 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 411 } 412 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."); 413 }; 414 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 415 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 416 } 417 } 418</script>
vendor: 2 bytes, line 418
418
419<script 420 defer 421 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 422 data-application="storefront-renderer" 423 data-shop-id="15896833" 424 data-render-region="gcp-asia-southeast1" 425 data-page-type="product" 426 data-theme-instance-id="153139282135" 427 data-theme-name="" 428 data-theme-version="" 429 data-monorail-region="shop_domain" 430 data-resource-timing-sampling-rate="10" 431 data-shs="true" 432 data-shs-beacon="true" 433 data-shs-export-with-fetch="true" 434 data-shs-logs-sample-rate="1" 435></script>
435 436</head><body 437 data-template="product" 438 id="blossom-shine" 439 class="template-product template-product" 440 > 441 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 441-444
441 442 <noscript 443 ><iframe 444 src="https://www.googletagmanager.com/ns.html?id=
444GTM-MF9VVZX
vendor: 129 bytes, lines 444-450
444" 445 height="0" 446 width="0" 447 style="display:none;visibility:hidden" 448 ></iframe 449 ></noscript> 450
450<!-- End Google Tag Manager (noscript) --> 451 452 453 454 <div class="header-wrapper"> 455 456 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 457 458<style> 459 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 460 #notification.promo-up {top: -48px!important;} 461 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 462 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 463 .notification__message p a {text-decoration: underline;color: #ffffff;} 464 @media (max-width: 991px){ 465 .notification__message p {font-size: 14px!important;} 466 } 467</style> 468<input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 469<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"> 470 <div class="page-width notification__inner "> 471 472 473 <div class="notification__message text-center"> 474 <p><a href="https://ladangwin4d.com/" title="WIN4D">WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia</a></p> 475 </div> 476 </div> 477</div> 478 479 480 481 482</div> 483 <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"/> 484 485 486<header style="background-image: url(https://ladangwin4d.com/resmi/untitleddesign-win4d.png); background-attachment: fixed;"> 487 <div class="container"> 488 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 489 <a href="https://ladangwin4d.com/"> 490 <img src="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" alt="logo-WIN4D" style="width: 190px;"></a> 491 <link href="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" rel="shortcut icon" type="image/x-icon" /> 492 <div id="menu-hamburger" class="d-lg-none"> 493 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 494 <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"/> 495</svg> 496 497 <a href="/"><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" viewBox="0 0 854 78.29"> 498 <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> 499</svg> 500</a> 501 </div> 502 503 <div class="header-icon-right header-icons col-3"> 504 <div class="icon icon-account-header d-none d-lg-block"> 505 <a href="https://ladangwin4d.com/"> 506 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 507 <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"/> 508 <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"/> 509</svg> 510 511 </a> 512 </div> 513 <div class="icon icon-wishlist-header"> 514 <a href="https://ladangwin4d.com/"> 515 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 516 <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
5166 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"/> 517</svg> 518 519 <span class="wishlist-count d-none">0</span> 520 </a> 521 </div> 522 <div class="icon icon-cart-header"> 523 <a href="https://ladangwin4d.com/"> 524 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 525 <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"/> 526 <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"/> 527</svg> 528 529 </a> 530 </div> 531 </div> 532 </div> 533 </div> 534</header> 535 536<nav class="nav-header" style="background-color: #242424;"> 537 <div class="nav-account-mobile row m-0 d-lg-none"> 538 <div class="col-6 welcome-cust p-0"> 539 540 <h1 class="logo"> 541 <a href="https://ladangwin4d.com/"> 542 <img src="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" alt="WIN4D" style="max-height:60px;"> 543 </a> 544</h1> 545 546 547 </div> 548 549 <div class="col-6 login-register text-right p-0"> 550 <a href="https://ladangwin4d.com/resmi/">Log In</a> | <a href="https://ladangwin4d.com/resmi/">Sign Up</a> 551 </div> 552 </div> 553 <ul class="nav-menu container"> 554 555 <li class="nav-menu container"> 556 <a href="https://ladangwin4d.com/"> 557 <span style="color: #ffffff;">WIN4D</span> 558 559 560 <li class=" nav-menu container"> 561 <a href="https://ladangwin4d.com/"> 562 <span style="color: #ffffff;">WIN 4D</span> 563 564 565 <li class=" nav-menu container"> 566 <a href="https://ladangwin4d.com/"> 567 <span style="color: #ffffff;">WIN4D LOGIN</span> 568 569 <li class=" nav-menu container"> 570 <a href="https://ladangwin4d.com/"> 571 <span style="color: #ffffff;">WIN4D DAFTAR</span> 572 573 <li class=" nav-menu container"> 574 <a href="https://ladangwin4d.com/"> 575 <span style="color: #ffffff;">WIN4D LINK</span> 576 577 <li class=" nav-menu container"> 578 <a href="https://ladangwin4d.com/"> 579 <span style="color: #ffffff;">WIN4D RESMI</span> 580 581<div class="overlay-nav"> 582 <!-- Mobile Close Button in Overlay --> 583 <button id="nav-close" class="nav-close-btn d-lg-none"> 584 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 585 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 586 </svg> 587 </button> 588</div> 589
590<script> 591 if ($(window).width() < 992) { 592 // Level 1 menu accordion (main menu items) 593 $(".nav-menu .nav-menu container > a").click(function(e){ 594 e.preventDefault() 595 const parentLi = $(this).parent() 596 const isCurrentlyOpen = parentLi.hasClass("menu-open") 597 598 // Close all other open menus (accordion behavior) 599 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 600 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 601 602 // Toggle current menu 603 if (isCurrentlyOpen) { 604 parentLi.removeClass("menu-open") 605 $(this).next(".megamenu").slideUp() 606 } else { 607 parentLi.addClass("menu-open") 608 $(this).next(".megamenu").slideDown() 609 } 610 }) 611 612 // Level 2 menu accordion (submenu items with grandchildren) 613 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 614 e.preventDefault() 615 const parentLi = $(this).parent() 616 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 617 const grandchild = $(this).next(".grandchild") 618 619 // Close all other open submenus in the same dropdown (accordion behavior) 620 parentLi.siblings('.has-submenu').removeClass("submenu-open") 621 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 622 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 623 624 // Toggle current submenu 625 if (isCurrentlyOpen) { 626 parentLi.removeClass("submenu-open") 627 grandchild.slideUp() 628 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 629 } else { 630 parentLi.addClass("submenu-open") 631 grandchild.slideDown() 632 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 633 } 634 }) 635 636 $("#menu-hamburger").click(function(e){ 637 e.preventDefault() 638 $("body").toggleClass("nav_open") 639 }) 640 641 // Handle close button click 642 $("#nav-close").click(function(e){ 643 e.preventDefault() 644 $("body").removeClass("nav_open") 645 // Close all open menus when close button is clicked 646 $(".nav-menu .nav-menu container").removeClass("menu-open") 647 $(".nav-menu .megamenu").slideUp() 648 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 649 $(".dropdown-menu .grandchild").slideUp() 650 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 651 }) 652 } 653 654 $(".overlay-nav").click(function(e){ 655 e.preventDefault() 656 $("body").removeClass("nav_open") 657 // Close all open menus when overlay is clicked 658 $(".nav-menu .nav-menu container").removeClass("menu-open") 659 $(".nav-menu .megamenu").slideUp() 660 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 661 $(".dropdown-menu .grandchild").slideUp() 662 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 663 }) 664</script>
664 665 666 667</div> 668 669 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 670 #search-trigger { 671 cursor: pointer; 672 } 673 #search-popup { 674 display: none; 675 position: fixed; 676 left: 0; 677 width: 100%; 678 top: 0; 679 height: 100%; 680 justify-content: center; 681 z-index: 9999; 682 background: rgb(196 196 196 / 30%); 683 } 684 #search-input { 685 align-self: center; 686 width: 100%; 687 height: 80px; 688 position: absolute; 689 top: 0; 690 border-bottom: 0.5px solid #A3A3A3; 691 background-color: #fff; 692 } 693 #search-input * { 694 align-self: center; 695 } 696 #search-type { 697 width: 100%; 698 border: none; 699 padding-right: 20px; 700 padding-left: 20px; 701 font-size: 16px; 702 color: #757575; 703 } 704 #search-btn { 705 font-size: 16px; 706 font-weight: 500; 707 } 708 #search-result { 709 min-height: 490px; 710 width: 100%; 711 padding-top: 80px; 712 } 713 #search-result .container { 714 background-color: #fff; 715 padding: 20px 40px; 716 } 717 body.search-popup-open { 718 /* .search-popup-open */ 719 overflow: hidden; 720 } 721 .search-popup-open #loc_delivery { 722 display: none 723 } 724 .search-header svg { 725 display: none; 726 cursor: pointer; 727 } 728 .wrapper-search-popup { 729 max-height: calc(100vh - 150px); 730 overflow-y: auto; 731 overflow-x: hidden; 732 } 733 734 .group-recommend { 735 padding: 20px 40px; 736 } 737 738 .resultsearch { 739 display: none; 740 } 741 .results { padding: 20px 40px } 742 .resultsearch label { 743 font-weight: 600; 744 padding-bottom: 20px; 745 display: block; 746 margin-bottom: 20px; 747 border-bottom: 1px solid #AAAAAA; 748 } 749 750 ul.result_product { 751 max-height: 300px; 752 overflow: auto; 753 } 754 755 .group-promotion ul { 756 margin: 0; 757 } 758 .group-promotion li { 759 list-style: none; 760 margin-bottom: 12px; 761 } 762 .group-promotion li a { 763 color: inherit; 764 } 765 766 .group-recent { 767 position: relative; 768 padding: 20px 40px; 769 } 770 .group-recent ul { 771 margin: 0; 772 } 773 .group-recent li { 774 list-style: none; 775 display: inline-block; 776 margin-right: 60px; 777 } 778 .group-recent li a { 779 color: inherit; 780 } 781 782 .last-search svg { 783 width: 20px; 784 vertical-align: middle; 785 } 786 ul.last-search a { 787 vertical-align: middle; 788 padding: 0 10px; 789 } 790 ul.last-search li span { 791 cursor: pointer; 792 } 793 .delete-all-history { 794 position: absolute; 795 top: 25px; 796 right: 40px; 797 text-decoration: underline; 798 color: #e11d1d; 799 cursor: pointer; 800 font-size: 12px; 801 } 802 803 form.search.search-modal__form { 804 position: relative; 805 } 806 807 button.search__button svg { 808 width: 25px; 809 color: #495057; 810 fill: #757582; 811 } 812 813 button.search__button.field__button { 814 position: absolute; 815 top: 50%; 816 margin-top: -12px; 817 } 818 819 .close-search { 820 display: none; 821 position: absolute; 822 right: 65px; 823 top: 10px; 824 cursor: pointer; 825 } 826 827 .site-overlay { 828 position: fixed; 829 top: 0; 830 width: 100vw; 831 height: 100vh; 832 z-index: 1000; 833 background: #0000005c; 834 visibility: hidden; 835 opacity: 0; 836 pointer-events: none; 837 transition: all .3s linear; 838 display: block !important; 839 } 840 841 .search-popup-open .site-overlay { 842 opacity: 1; 843 visibility: visible; 844 pointer-events: all; 845 z-index: -1; 846 cursor: pointer; 847 } 848 849 @media (min-width: 991px) { 850 .group-recent ul { 851 column-count: 3; 852 } 853 .group-promotion li a { 854 font-size: 12px; 855 font-weight: 400; 856 } 857 .group-recent li a { 858 font-size: 12px; 859 font-weight: 400; 860 } 861 } 862 863 .moreresult { 864 padding: 10px 40px; 865 border-top: 1px solid #AAAAAA; 866 } 867 .moreresult * { 868 align-self: center; 869 } 870 .moreresult p { 871 margin: 0; 872 font-size: 12px !important; 873 } 874 .moreresult svg { 875 width: 13px; 876 } 877 878 @media (max-width: 992px) { 879 .icon-key-mobile { 880 height: auto!important; 881 width: 10px!important; 882 } 883 body.grid-view.search-popup-open .products { 884 -ms-flex: 0 0 100%!important; 885 flex: 0 0 100%!important; 886 max-width: 100%!important; 887 } 888 button.search__button svg {
889 width: 20px; 890 } 891 #search-result { 892 padding-left: 0; 893 padding-right: 0; 894 } 895 #search-result { 896 padding-top: 55px; 897 } 898 #search-input { 899 height: 55px; 900 } 901 .group-recommend { 902 padding: 20px; 903 } 904 #search-input .container { 905 padding: 0 20px; 906 } 907 #search-type { 908 font-size: 14px; 909 } 910 #search-btn { 911 font-size: 12px; 912 text-decoration: underline; 913 } 914 .results { 915 padding: 20px; 916 } 917 .group-recommend h3 { 918 font-size: 16px; 919 } 920 .products .card-body { 921 padding: 8px 0px 10px; 922 } 923 .moreresult { 924 padding: 10px 20px; 925 } 926 } 927</style> 928 <style type="text/css"> 929 div.advertisement-placeholder { 930 text-align: center; 931 padding-bottom: 20px; 932 display: flex; 933 flex-direction: column; 934 justify-content: center; 935 } 936 div.advertisement-text p { 937 margin: 0; 938 font-family: Open Sans; 939 font-style: normal; 940 font-weight: normal; 941 font-size: 10px; 942 line-height: 20px; 943 color: #999999; 944 } 945 div.advertisement-banner { 946 margin: 0px auto; 947 } 948 div#div-gpt-ad-billboard-placeholder { 949 width: 996px; 950 margin: 0 auto; 951 background: #F5F5F5; 952 padding-bottom: unset !important; 953 min-height: 200px; 954 } 955 div#div-gpt-ad-lb-placeholder { 956 background: #F5F5F5; 957 padding-bottom: unset !important; 958 min-height: 280px; 959 } 960 .faq-section{ 961 max-width:1200px; 962 margin:50px auto; 963 padding:40px 20px; 964 position:relative; 965 background-color: rgba(0, 0, 0, 0.1); 966 backdrop-filter: blur(25px); 967 border-radius: 20px; 968 } 969 970 .faq-section::before{ 971 content:""; 972 position:absolute; 973 top:0;left:50%; 974 transform:translateX(-50%); 975 width:80%; 976 height:2px; 977 background:linear-gradient(90deg,transparent,#fffb00,transparent) 978 } 979 980 .faq-section h2{ 981 text-align:center; 982 font-size:34px;font-weight:700; 983 margin-bottom:50px; 984 background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00); 985 -webkit-background-clip:text; 986 -webkit-text-fill-color:transparent; 987 background-clip:text; 988 font-family:"Poppins",sans-serif;letter-spacing:1px 989 } 990 991 .faq-container{ 992 display:flex; 993 flex-direction:column; 994 gap:25px 995 } 996 997 .faq-item{ 998 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 999 border:2px solid #ffd700; 1000 border-radius:20px;overflow:hidden; 1001 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 1002 } 1003 1004 .faq-item:hover{ 1005 border-color:#ffd700; 1006 transform:translateX(10px); 1007 box-shadow:0 12px 35px rgba(253, 4, 4, 0.25) 1008 } 1009 1010 .faq-question{width:100%; 1011 padding:28px 35px;background:transparent; 1012 color:#ffffff; 1013 font-size:18px; 1014 font-weight:600; 1015 text-align:left; 1016 border:none;cursor:pointer; 1017 display:flex; 1018 justify-content:space-between; 1019 align-items:center; 1020 font-family:"Poppins",sans-serif; 1021 transition:all .3s ease 1022 } 1023 1024 .faq-question:hover{ 1025 color:#fffb00 1026 } 1027 1028 .faq-question::after{ 1029 content:'+'; 1030 font-size:32px; 1031 font-weight:300; 1032 transition:all .4s ease; 1033 color:#fffb00; 1034 width:40px; 1035 height:40px; 1036 display:flex; 1037 align-items:center; 1038 justify-content:center; 1039 border:2px solid #ffd700;border-radius:50%; 1040 background:rgba(0, 0, 0, 0.1) 1041 } 1042 1043 .faq-item.active .faq-question::after{ 1044 transform:rotate(135deg); 1045 background:linear-gradient(135deg,#ffd700,#ffd700); 1046 color:#000;border-color:transparent 1047 } 1048 1049 .faq-answer{ 1050 max-height:0; 1051 overflow:hidden; 1052 transition:max-height .5s ease,padding .5s ease; 1053 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1054 padding:0 35px 1055 } 1056 1057 .faq-item.active .faq-answer{ 1058 max-height:800px;padding:30px 35px; 1059 border-top:1px solid rgba(253, 4, 4, 0.3) 1060 } 1061 1062 .faq-answer p{ 1063 color:#e0e0e0; 1064 font-size:16px; 1065 line-height:2; 1066 margin:0; 1067 font-family:"Poppins",sans-serif 1068 } 1069 1070 @media 1071 (max-width:768px) 1072 { 1073 1074 .faq-section 1075 {padding:30px 15px} 1076 1077 .faq-section h2 1078 {font-size:26px} 1079 1080 .faq-question 1081 {font-size:16px; 1082 padding:22px 25px} 1083 1084 .faq-question::after 1085 {width:35px; 1086 height:35px; 1087 font-size:28px} 1088 1089 .faq-answer 1090 {padding:0 25px} 1091 1092 .faq-item.active .faq-answer 1093 {padding:25px} 1094 1095 .faq-item:hover 1096 {transform:translateX(5px)} 1097 } 1098 </style> 1099<div id="search-popup"> 1100 <div id="search-input" class="row"> 1101 <div class="container w-100"> 1102 <form 1103 action="/search" 1104 method="get" 1105 role="search" 1106 class="search search-modal__form d-flex justify-content-between" 1107 > 1108 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1109 <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"/> 1110</svg> 1111 1112 <input type="hidden" name="type" value="product"> 1113 <input 1114 type="text" 1115 id="search-type" 1116 name="q" 1117 class="search-popup" 1118 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1119 > 1120 <div class="close-search"><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1121 <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
112112.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"/> 1122</svg> 1123</div> 1124 <button id="search-btn">Search</button> 1125 </form> 1126 </div> 1127 </div> 1128 <div id="search-result" class="container m-auto"> 1129 <div class="container p-0"> 1130 <div class="group-promotion"> 1131 <div class="resultsearch"> 1132 <div class="row results"> 1133 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1134 <label>SUGGESTIONS</label> 1135 <ul class="result_collection"></ul> 1136 </div> 1137 <div class="col-12 col-lg-6"> 1138 <label>PRODUCTS</label> 1139 <ul class="result_product"></ul> 1140 </div> 1141 </div> 1142 <div class="d-flex justify-content-between moreresult m-0"> 1143 <p>Search for<span></span></p> 1144 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="32" height="32" viewBox="0 0 32 32"> 1145<title>icon-arrow-right</title> 1146<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> 1147</svg> 1148 </div> 1149 </div> 1150 </div> 1151 <div class="group-recent hide"> 1152 <h3>RECENT SEARCH</h3> 1153 <span class="delete-all-history">Hapus riwayat</span> 1154 <ul class="last-search"></ul> 1155 </div> 1156 <div class="group-recommend"> 1157 <h3>YOU MAY ALSO LIKE</h3> 1158 1159 1160 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1161 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1162 1163 1164 <div class="swiper-slide card"> 1165 1166 1167 1168 1169<div class="products" data-lazy="false"> 1170 <div class="bg-products"> 1171 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1172 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1173 <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.
117311233C11.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"/> 1174</svg> 1175 1176 </div> 1177 <a href="/products/mid-autumn-of-love-mooncake"> 1178 1179 <div class="product-card-img-container p-0 position-relative"> 1180 1181 <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"> 1182 </div> 1183 <div class="card-body product-card-info"> 1184 <h5 class="h5 mb-0"> 1185 Mid Autumn of Love Mooncake 1186 </h5> 1187 <div class="product-card-price"> 1188 1189 <div class="product-price-sale"> 1190 <s class="product-card-price-before card-money">Rp 588.000</s> 1191 <span class="product-card-discount small"> 1192 (-40%) 1193 </span> 1194 </div> 1195 1196 1197 1198 <div class="price-discount"> 1199 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1200 </div> 1201 1202 1203 1204 1205 1206 </div> 1207 1208 </div> 1209 </a> 1210 </div> 1211 1212</div> 1213 1214 </div> 1215 1216 1217 1218 <div class="swiper-slide card"> 1219 1220 1221 1222 1223<div class="products" data-lazy="false"> 1224 <div class="bg-products"> 1225 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1226 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1227 <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.
122711233C11.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"/> 1228</svg> 1229 1230 </div> 1231 <a href="/products/mid-autumn-of-joy-mooncake"> 1232 1233 <div class="product-card-img-container p-0 position-relative"> 1234 1235 <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"> 1236 </div> 1237 <div class="card-body product-card-info"> 1238 <h5 class="h5 mb-0"> 1239 Mid Autumn of Joy Mooncake 1240 </h5> 1241 <div class="product-card-price"> 1242 1243 <div class="product-price-sale"> 1244 <s class="product-card-price-before card-money">Rp 888.000</s> 1245 <span class="product-card-discount small"> 1246 (-33%) 1247 </span> 1248 </div> 1249 1250 1251 1252 <div class="price-discount"> 1253 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1254 </div> 1255 1256 1257 1258 1259 1260 </div> 1261 1262 </div> 1263 </a> 1264 </div> 1265 1266</div> 1267 1268 </div> 1269 1270 1271 1272 <div class="swiper-slide card"> 1273 1274 1275 1276 1277<div class="products" data-lazy="false"> 1278 <div class="bg-products"> 1279 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1280 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1281 <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.
128111233C11.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"/> 1282</svg> 1283 1284 </div> 1285 <a href="/products/mid-autumn-of-fortune-mooncake"> 1286 1287 <div class="product-card-img-container p-0 position-relative"> 1288 1289 <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"> 1290 </div> 1291 <div class="card-body product-card-info"> 1292 <h5 class="h5 mb-0"> 1293 Mid Autumn of Fortune Mooncake 1294 </h5> 1295 <div class="product-card-price"> 1296 1297 <div class="product-price-sale"> 1298 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1299 <span class="product-card-discount small"> 1300 (-33%) 1301 </span> 1302 </div> 1303 1304 1305 1306 <div class="price-discount"> 1307 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1308 </div> 1309 1310 1311 1312 1313 1314 </div> 1315 1316 </div> 1317 </a> 1318 </div> 1319 1320</div> 1321 1322 </div> 1323 1324 1325 1326 <div class="swiper-slide card"> 1327 1328 1329 1330 1331<div class="products" data-lazy="false"> 1332 <div class="bg-products"> 1333 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1334 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1335 <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.
133511233C11.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"/> 1336</svg> 1337 1338 </div> 1339 <a href="/products/mid-autumn-festival-mooncake"> 1340 1341 <div class="product-card-img-container p-0 position-relative"> 1342 1343 <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"> 1344 </div> 1345 <div class="card-body product-card-info"> 1346 <h5 class="h5 mb-0"> 1347 Mid Autumn Festival Mooncake 1348 </h5> 1349 <div class="product-card-price"> 1350 1351 <div class="product-price-sale"> 1352 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1353 <span class="product-card-discount small"> 1354 (-23%) 1355 </span> 1356 </div> 1357 1358 1359 1360 <div class="price-discount"> 1361 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1362 </div> 1363 1364 1365 1366 1367 1368 </div> 1369 1370 </div> 1371 </a> 1372 </div> 1373 1374</div> 1375 1376 </div> 1377 1378 1379 1380 <div class="swiper-slide card"> 1381 1382 1383 1384 1385<div class="products" data-lazy="false"> 1386 <div class="bg-products"> 1387 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1388 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1389 <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.
138911233C11.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"/> 1390</svg> 1391 1392 </div> 1393 <a href="/products/the-jade-bouquet"> 1394 1395 <div class="product-card-img-container p-0 position-relative"> 1396 1397 <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"> 1398 </div> 1399 <div class="card-body product-card-info"> 1400 <h5 class="h5 mb-0"> 1401 The Jade Bouquet 1402 </h5> 1403 <div class="product-card-price"> 1404 1405 <div class="product-price-sale"> 1406 <s class="product-card-price-before card-money">Rp 435.000</s> 1407 <span class="product-card-discount small"> 1408 (-34%) 1409 </span> 1410 </div> 1411 1412 1413 1414 <div class="price-discount"> 1415 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1416 </div> 1417 1418 1419 1420 1421 1422 </div> 1423 1424 </div> 1425 </a> 1426 </div> 1427 1428</div> 1429 1430 </div> 1431 1432 1433 1434 <div class="swiper-slide card"> 1435 1436 1437 1438 1439<div class="products" data-lazy="false"> 1440 <div class="bg-products"> 1441 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1442 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1443 <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.
144311233C11.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"/> 1444</svg> 1445 1446 </div> 1447 <a href="/products/the-selena-bouquet"> 1448 1449 <div class="product-card-img-container p-0 position-relative"> 1450 1451 <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"> 1452 </div> 1453 <div class="card-body product-card-info"> 1454 <h5 class="h5 mb-0"> 1455 The Selena Bouquet 1456 </h5> 1457 <div class="product-card-price"> 1458 1459 <div class="product-price-sale"> 1460 <s class="product-card-price-before card-money">Rp 335.000</s> 1461 <span class="product-card-discount small"> 1462 (-29%) 1463 </span> 1464 </div> 1465 1466 1467 1468 <div class="price-discount"> 1469 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1470 </div> 1471 1472 1473 1474 1475 1476 </div> 1477 1478 </div> 1479 </a> 1480 </div> 1481 1482</div> 1483 1484 </div> 1485 1486 1487 1488 <div class="swiper-slide card"> 1489 1490 1491 1492 1493<div class="products" data-lazy="false"> 1494 <div class="bg-products"> 1495 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1496 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1497 <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.
149711233C11.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"/> 1498</svg> 1499 1500 </div> 1501 <a href="/products/the-viola-bouquet"> 1502 1503 <div class="product-card-img-container p-0 position-relative"> 1504 1505 <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"> 1506 </div> 1507 <div class="card-body product-card-info"> 1508 <h5 class="h5 mb-0"> 1509 The Viola Bouquet 1510 </h5> 1511 <div class="product-card-price"> 1512 1513 <div class="product-price-sale"> 1514 <s class="product-card-price-before card-money">Rp 385.000</s> 1515 <span class="product-card-discount small"> 1516 (-25%) 1517 </span> 1518 </div> 1519 1520 1521 1522 <div class="price-discount"> 1523 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1524 </div> 1525 1526 1527 1528 1529 1530 </div> 1531 1532 </div> 1533 </a> 1534 </div> 1535 1536</div> 1537 1538 </div> 1539 1540 1541 1542 <div class="swiper-slide card"> 1543 1544 1545 1546 1547<div class="products" data-lazy="false"> 1548 <div class="bg-products"> 1549 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1550 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1551 <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.
155111233C11.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"/> 1552</svg> 1553 1554 </div> 1555 <a href="/products/the-minerva-bouquet"> 1556 1557 <div class="product-card-img-container p-0 position-relative"> 1558 1559 <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"> 1560 </div> 1561 <div class="card-body product-card-info"> 1562 <h5 class="h5 mb-0"> 1563 The Minerva Bouquet 1564 </h5> 1565 <div class="product-card-price"> 1566 1567 <div class="product-price-sale"> 1568 <s class="product-card-price-before card-money">Rp 385.000</s> 1569 <span class="product-card-discount small"> 1570 (-25%) 1571 </span> 1572 </div> 1573 1574 1575 1576 <div class="price-discount"> 1577 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1578 </div> 1579 1580 1581 1582 1583 1584 </div> 1585 1586 </div> 1587 </a> 1588 </div> 1589 1590</div> 1591 1592 </div> 1593 1594 1595 1596 <div class="swiper-slide card"> 1597 1598 1599 1600 1601<div class="products" data-lazy="false"> 1602 <div class="bg-products"> 1603 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1604 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1605 <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.
160511233C11.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"/> 1606</svg> 1607 1608 </div> 1609 <a href="/products/congraduations-bouquet"> 1610 1611 <div class="product-card-img-container p-0 position-relative"> 1612 1613 <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"> 1614 </div> 1615 <div class="card-body product-card-info"> 1616 <h5 class="h5 mb-0"> 1617 Congraduations Bouquet 1618 </h5> 1619 <div class="product-card-price"> 1620 1621 <div class="product-price-sale"> 1622 <s class="product-card-price-before card-money">Rp 380.000</s> 1623 <span class="product-card-discount small"> 1624 (-25%) 1625 </span> 1626 </div> 1627 1628 1629 1630 <div class="price-discount"> 1631 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1632 </div> 1633 1634 1635 1636 1637 1638 </div> 1639 1640 </div> 1641 </a> 1642 </div> 1643 1644</div> 1645 1646 </div> 1647 1648 1649 1650 <div class="swiper-slide card"> 1651 1652 1653 1654 1655<div class="products" data-lazy="false"> 1656 <div class="bg-products"> 1657 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1658 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1659 <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.
165911233C11.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"/> 1660</svg> 1661 1662 </div> 1663 <a href="/products/grad-gorgeous-bouquet"> 1664 1665 <div class="product-card-img-container p-0 position-relative"> 1666 1667 <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"> 1668 </div> 1669 <div class="card-body product-card-info"> 1670 <h5 class="h5 mb-0"> 1671 Grad & Gorgeous Bouquet 1672 </h5> 1673 <div class="product-card-price"> 1674 1675 <div class="product-price-sale"> 1676 <s class="product-card-price-before card-money">Rp 380.000</s> 1677 <span class="product-card-discount small"> 1678 (-25%) 1679 </span> 1680 </div> 1681 1682 1683 1684 <div class="price-discount"> 1685 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1686 </div> 1687 1688 1689 1690 1691 1692 </div> 1693 1694 </div> 1695 </a> 1696 </div> 1697 1698</div> 1699 1700 </div> 1701 1702 1703 </div> 1704 </div> 1705 1706 </div> 1707 </div> 1708 </div> 1709 1710 <div class="site-overlay" style="display: none"></div> 1711</div>
1712<script> 1713 1714 var swiper = new Swiper('.popup-recommend', { 1715 slidesPerView : 4, 1716 spaceBetween: 30, 1717 lazy: true , 1718 speed: 300, 1719 breakpoints: { 1720 // when window width is <= 576px 1721 576: { 1722 slidesPerView: 2, 1723 spaceBetween: 10, 1724 freeMode: true, 1725 resistance : true, 1726 resistanceRatio : 0, 1727 freeModeMomentumRatio : 0.45, 1728 freeModeMomentumVelocityRatio : 1.5 1729 }, 1730 768: { 1731 slidesPerView: 2, 1732 spaceBetween: 10 1733 }, 1734 992: { 1735 slidesPerView: 3, 1736 spaceBetween: 20 1737 } 1738 } 1739 }); 1740 1741 const searchContainer = $("#search-popup") 1742 const searchInput = $(".search-popup") 1743 const result_collection = $('.result_collection') 1744 const result_product = $('.result_product') 1745 const resultsearch = $('.resultsearch') 1746 const resultrecommend = $(".group-recommend") 1747 const moreresult = $(".moreresult") 1748 1749 searchInput.keyup(function(){ 1750 const input = $(this).val() 1751 moreresult.find("p span").text(` â${input}â`) 1752 if(input.length > 2) { 1753 $(".close-search").show() 1754 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1755 $.ajax({
1756 type: 'GET', 1757 url, 1758 beforeSend: function() { 1759 // setting a timeout 1760 // $(placeholder).addClass('loading'); 1761 }, 1762 success: function(response) { 1763 resultsearch.show() 1764 resultrecommend.hide() 1765 result_collection.html("") 1766 result_product.html("") 1767 const collections = response.resources.results.collections 1768 const products = response.resources.results.products 1769 let collection_length = collections.length 1770 let product_length = products.length 1771 // if(collections.length > 5) { 1772 // collection_length = 5 1773 // } 1774 // if(products.length > 5) { 1775 // product_length = 5 1776 // } 1777 for(let i=0;i<collection_length;i++){ 1778 const title = collections[i].title 1779 const url = collections[i].url 1780 let html_collection 1781 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1782 html_collection = ` 1783 <li class="item" data-title="${title}"> 1784 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1785 </li> 1786 ` 1787 } 1788 result_collection.append(html_collection) 1789 } 1790 for(let i=0;i<product_length;i++){ 1791 const title = products[i].title 1792 const url = products[i].url 1793 const image = products[i].featured_image.url 1794 const vendor = products[i].vendor 1795 let html_product 1796 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1797 html_product = ` 1798 <li class="item" data-vendor="${vendor}"> 1799 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1800 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1801 </a> 1802 </li> 1803 ` 1804 } 1805 result_product.append(html_product) 1806 } 1807 }, 1808 error: function(xhr) { // if error occured 1809 alert("Error occured.please try again"); 1810 }, 1811 complete: function(response) { 1812 // $(placeholder).removeClass('loading'); 1813 }, 1814 dataType: 'JSON' 1815 }); 1816 } else { 1817 result_collection.html("") 1818 result_product.html("") 1819 1820 resultsearch.hide() 1821 resultrecommend.show() 1822 } 1823 }) 1824 1825 moreresult.click(function(){ 1826 $("#search-btn").trigger("click"); 1827 }) 1828 1829 $(".close-search").click(function(){ 1830 $(this).hide() 1831 searchInput.val("") 1832 searchInput.focus() 1833 resultsearch.hide() 1834 resultrecommend.show() 1835 }) 1836 1837 function setCookie(name,value,days) { 1838 var expires = ""; 1839 if (days) { 1840 var date = new Date(); 1841 date.setTime(date.getTime() + (days*24*60*60*1000)); 1842 expires = "; expires=" + date.toUTCString(); 1843 } 1844 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1845 } 1846 function getCookie(name) { 1847 var nameEQ = name + "="; 1848 var ca = document.cookie.split(';'); 1849 for(var i=0;i < ca.length;i++) { 1850 var c = ca[i]; 1851 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1852 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1853 } 1854 return null; 1855 } 1856 let last_search_name = [] 1857 let last_search_url = [] 1858 $(".group-recent").hide() 1859 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1860 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 1861 $(".group-recent").show() 1862 last_search_name = getCookie("last_search_name"); 1863 last_search_url = getCookie("last_search_url"); 1864 const arrName = last_search_name.substring(1).split(',').reverse() 1865 const arrUrl = last_search_url.substring(1).split(',').reverse() 1866 console.log(arrName, 'Array Name') 1867 console.log(arrUrl, 'Array Url') 1868 let length = arrName.length 1869 if(arrName.length > 5) { 1870 length = 5 1871 } 1872 for(let n=0;n<length;n++){ 1873 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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]}">
1873${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 1874 $(".group-recent ul").append(html2) 1875 } 1876 } 1877 } 1878 console.log(last_search_name, 'Name') 1879 console.log(last_search_url, 'url') 1880 1881 resultsearch.delegate(".item a", "click", function(){ 1882 let name = [last_search_name] 1883 let url = [last_search_url] 1884 name.push($(this).attr('data-title')) 1885 url.push($(this).attr('data-url')) 1886 setCookie("last_search_name",name,7); 1887 setCookie("last_search_url",url,7); 1888 }) 1889 1890 $(".delete-all-history").click(function() { 1891 setCookie("last_search_name",null,0); 1892 setCookie("last_search_url",null,0); 1893 $(".last-search").hide(); 1894 setTimeout(function(){ 1895 location.reload(); 1896 }, 500); 1897 }) 1898 1899 $("#search-trigger").click(function(){ 1900 search_open() 1901 }) 1902 $(".icon-search-mobile").click(function(){ 1903 search_open() 1904 }) 1905 $(".search-header svg").click(function(){ 1906 search_close() 1907 }) 1908 $(".icon-key-mobile").click(function(){ 1909 search_close() 1910 }) 1911 1912 function search_open() { 1913 $("body").addClass("search-popup-open") 1914 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 1915 $("#search-popup, .search-header svg, .icon-key-mobile").show() 1916 $(".search-popup").focus() 1917 $('.popup-recommend')[0].swiper.update(); 1918 } 1919 function search_close() { 1920 $("body").removeClass("search-popup-open") 1921 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 1922 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 1923 searchInput.val("") 1924 resultsearch.hide() 1925 resultrecommend.show() 1926 } 1927 1928 $(".site-overlay").click(function(){ 1929 search_close() 1930 }) 1931</script>
1931 1932 1933</div> 1934 </div> 1935 1936 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 1937 <main class="main-content pt-0" role="main"> 1938 1939 <div id="breadcrumbProduct" class="d-none d-lg-block"> 1940 <style> 1941 #breadcrumbProduct { 1942 padding: 20px 0; 1943 } 1944 #breadcrumbProduct ul { 1945 display: flex; 1946 padding: 0; 1947 list-style: none; 1948 margin: 0; 1949 gap: 12px; 1950 } 1951 #breadcrumbProduct ul li { 1952 text-transform: uppercase; 1953 margin: 0; 1954 font-size: 12px; 1955} 1956 #breadcrumbProduct ul li a { 1957 color: #757575; 1958 } 1959 1960 #breadcrumbProduct ul li svg { 1961 width: 10px; 1962 height: 10px; 1963 padding: 0; 1964 color: #757575; 1965 vertical-align: middle; 1966 } 1967</style> 1968<div class="container" style="color: #ffffff;"> 1969 <ul role="navigation" aria-label="breadcrumbs"> 1970 <li><a href="https://ladangwin4d.com/" style="color: #ffffff;">WIN4D</a></li> 1971 <li><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 1972 <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/> 1973</svg></li> 1974 <li>WIN4D</li> 1975 <li>WIN 4D</li> 1976 <li>WIN4D LOGIN</li> 1977 <li>WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia</li> 1978 1979 </ul> 1980</div> 1981 1982 </div> 1983
1984<script type="application/ld+json"> 1985{ 1986 "@context": "https://schema.org", 1987 "@type": "Product", 1988 "name": "WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia", 1989 "image": "https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp", 1990 "description": "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.", 1991 "brand": { 1992 "@type": "Brand", 1993 "name": "WIN4D" 1994 }, 1995 "sku": "WIN4D", 1996 "mpn": "WIN4D", 1997 "url": "http://win4dream.com/", 1998 "offers": { 1999 "@type": "Offer", 2000 "url": "http://win4dream.com/", 2001 "priceCurrency": "USD", 2002 "price": "10.00", 2003 "priceValidUntil": "2026-12-31", 2004 "itemCondition": "https://schema.org/NewCondition", 2005 "availability": "https://schema.org/InStock", 2006 "seller": { 2007 "@type": "Organization", 2008 "name": "WIN4D" 2009 } 2010 }, 2011 "aggregateRating": { 2012 "@type": "AggregateRating", 2013 "ratingValue": "5.0", 2014 "reviewCount": 858 2015 }, 2016 "review": [ 2017 { 2018 "@type": "Review", 2019 "reviewRating": { 2020 "@type": "Rating", 2021 "ratingValue": "5", 2022 "bestRating": "5" 2023 }, 2024 "author": { 2025 "@type": "Person", 2026 "name": "juandi" 2027 } 2028 }, 2029 { 2030 "@type": "Review", 2031 "reviewRating": { 2032 "@type": "Rating", 2033 "ratingValue": "5", 2034 "bestRating": "5" 2035 }, 2036 "author": { 2037 "@type": "Person", 2038 "name": "situmorang" 2039 } 2040 } 2041 ] 2042} 2043</script>
2043 2044
2045<script type="application/ld+json"> 2046{ 2047 "@context": "https://schema.org", 2048 "@type": "BreadcrumbList", 2049 "itemListElement": [ 2050 { 2051 "@type": "ListItem", 2052 "position": 1, 2053 "name": "WIN4D", 2054 "item": "http://win4dream.com/" 2055 }, 2056 { 2057 "@type": "ListItem", 2058 "position": 2, 2059 "name": "WIN 4D", 2060 "item": "http://win4dream.com/" 2061 }, 2062 { 2063 "@type": "ListItem", 2064 "position": 3, 2065 "name": "WIN4D LOGIN", 2066 "item": "http://win4dream.com/" 2067 }, 2068 { 2069 "@type": "ListItem", 2070 "position": 4, 2071 "name": "WIN4D DAFTAR", 2072 "item": "http://win4dream.com/" 2073 }, 2074 { 2075 "@type": "ListItem", 2076 "position": 5, 2077 "name": "WIN4D LINK", 2078 "item": "http://win4dream.com/" 2079 }, 2080 { 2081 "@type": "ListItem", 2082 "position": 6, 2083 "name": "WIN4D RESMI", 2084 "item": "http://win4dream.com/" 2085 }, 2086 { 2087 "@type": "ListItem", 2088 "position": 7, 2089 "name": "WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia", 2090 "item": "http://win4dream.com/" 2091 } 2092 ] 2093} 2094</script>
2094 2095
2096<script type="application/ld+json" id="faq-schema"> 2097{ 2098 "@context": "https://schema.org", 2099 "@type": "FAQPage", 2100 "mainEntity": [ 2101 { 2102 "@type": "Question", 2103 "name": "Apa sih yang bikin WIN4D beda dari platform gaming lainnya?", 2104 "acceptedAnswer": { 2105 "@type": "Answer", 2106 "text": "Bedanya jauh, bro! Di saat platform lain gak jelas izinnya dan sering bikin was-was, WIN4D adalah salah satu platform gaming terpercaya yang memegang sertifikat resmi di Indonesia. Ini jaminan kalau modal dan kemenangan lo 100% aman tanpa drama." 2107 } 2108 }, 2109 { 2110 "@type": "Question", 2111 "name": "Apakah bermain di WIN4D beneran aman dan adil (fair play)?", 2112 "acceptedAnswer": { 2113 "@type": "Answer", 2114 "text": "Jelas aman, bro. Sebagai platform gaming terpercaya dengan sertifikat resmi di Indonesia, WIN4D udah ngelewatin proses audit super ketat dari lembaga internasional. Sistem game di sini transparan, pakai RTP riil, dan bebas dari manipulasi bot." 2115 } 2116 }, 2117 { 2118 "@type": "Question", 2119 "name": "Benarkah semua kemenangan di WIN4D pasti dibayar?", 2120 "acceptedAnswer": { 2121 "@type": "Answer", 2122 "text": "Pasti dibayar tuntas, bro! Data internal membuktikan WIN4D punya rekam jejak 0% kasus fraud. Menang berapapun, detik itu juga lo ajuin withdraw, langsung diproses tanpa dipersulit." 2123 } 2124 }, 2125 { 2126 "@type": "Question", 2127 "name": "Berapa lama proses transaksi deposit dan withdraw di sini?", 2128 "acceptedAnswer": { 2129 "@type": "Answer", 2130 "text": "Gak pakai lama sampai berjam-jam. Rata-rata proses transaksi (baik depo maupun WD) di WIN4D itu di bawah 3 menit. Sangat cepat, aman, dan efisien." 2131 } 2132 }, 2133 { 2134 "@type": "Question", 2135 "name": "Bagaimana dengan keamanan data pribadi saya di WIN4D?", 2136 "acceptedAnswer": { 2137 "@type": "Answer", 2138 "text": "Data lo 100% aman, bro. WIN4D menggunakan sistem enkripsi ketat setara perbankan untuk memastikan seluruh informasi member terlindungi. Bergabunglah bersama kami dan rasakan pengalaman bermain yang aman, adil, dan seru sekarang!" 2139 } 2140 } 2141 ] 2142} 2143</script>
2143 2144
2145<script type="application/ld+json"> 2146{ 2147 "@context": "https://schema.org", 2148 "@type": "Organization", 2149 "name": "WIN4D", 2150 "url": "http://win4dream.com/", 2151 "logo": "https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png", 2152 "sameAs": [ 2153 "https://www.facebook.com/WIN4D", 2154 "https://twitter.com/WIN4D", 2155 "https://www.instagram.com/WIN4D" 2156 ], 2157 "contactPoint": { 2158 "@type": "ContactPoint", 2159 "telephone": "+62-8829-415-7036", 2160 "contactType": "customer support", 2161 "areaServed": "ID", 2162 "availableLanguage": ["Indonesian", "English"] 2163 } 2164} 2165</script>
2165 2166
2167<script type="application/ld+json"> 2168{ 2169 "@context": "https://schema.org", 2170 "@type": "VideoObject", 2171 "name": "WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia", 2172 "description": "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.", 2173 "thumbnailUrl": [ 2174 "https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp", 2175 "https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2176 ], 2177 "uploadDate": "2026-01-15T04:19:10-04:00", 2178 "duration": "PT168", 2179 "contentUrl": "http://win4dream.com/" 2180} 2181</script>
2181 2182
2183<script type="application/ld+json"> 2184{ 2185 "@context": "https://schema.org", 2186 "@graph": [ 2187 { 2188 "@type": "Organization", 2189 "@id": "http://win4dream.com/#org", 2190 "name": "WIN4D", 2191 "url": "http://win4dream.com/", 2192 "logo": "https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2193 }, 2194 { 2195 "@type": "WebSite", 2196 "@id": "http://win4dream.com/#website", 2197 "url": "http://win4dream.com/", 2198 "name": "WIN4D", 2199 "publisher": { "@id": "http://win4dream.com/#org" }, 2200 "inLanguage": "id-ID", 2201 "potentialAction": { 2202 "@type": "SearchAction", 2203 "target": "http://win4dream.com/?s={search_term_string}", 2204 "query-input": "required name=search_term_string" 2205 } 2206 }, 2207 { 2208 "@type": "SoftwareApplication", 2209 "@id": "http://win4dream.com/#app", 2210 "name": "WIN4D", 2211 "applicationCategory": "GameApplication", 2212 "operatingSystem": "Android, iOS, Windows", 2213 "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" }, 2214 "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 } 2215 } 2216 ] 2217} 2218</script>
2218 2219 2220<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" /> 2221 2222 2223<style> 2224 .bg-card { 2225 background-color: #000000; 2226} 2227 </style> 2228 2229<!-- /templates/product.liquid --> 2230 2231 2232<!-- <div itemscope itemtype="http://schema.org/Product"> --> 2233 2234 2235<div class="product-standing-flower" data-product-type="flowerBoard"> 2236 <meta itemprop="url" content="http://win4dream.com/"> 2237 <meta itemprop="image" content="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 2238 2239 2240 2241 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2242 <div class="product-single" style="background-image: url(https://ladangwin4d.com/resmi/untitleddesign-win4d.png); background-attachment: fixed;"> 2243 <div id="product-top" class="container"> 2244 <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;"> 2245 <div id="product-image" class="col-lg-7 text-center"> 2246 <div class="product-image"> 2247 <div class="row no-gutters"> 2248 2249 <div id="product-featured-image" class="row w-100"> 2250 2251 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2252 2253 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2254 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2255 2256 <li class="swiper-slide" data-type="image"> 2257 <a 2258 href="files/Blossom-Shine-WM.jpg" 2259 data-standard="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2260 data-image="files/Blossom-Shine-WM.jpg" 2261 data-position="1" 2262 class="product-single__thumbnail" 2263 > 2264 <img 2265 class="lazyload w-100" 2266 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2267 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2268 width="" 2269 height="" 2270 > 2271 </a> 2272 </li> 2273 2274 2275 2276 2277 <li class="swiper-slide" data-type="image"> 2278 <a 2279 href="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2280 data-standard="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2281 data-image="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2282 data-position="2" 2283 class="product-single__thumbnail" 2284 > 2285 <img 2286 class="lazyload w-100" 2287 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2288 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2289 width="" 2290 height="" 2291 > 2292 </a> 2293 </li> 2294 2295 2296 2297 2298 <li class="swiper-slide" data-type="image"> 2299 <a 2300 href="files/Blossom-Shine_3-WM.jpg" 2301 data-standard="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2302 data-image="files/Blossom-Shine_3-WM.jpg" 2303 data-position="3" 2304 class="product-single__thumbnail" 2305 > 2306 <img 2307 class="lazyload w-100" 2308 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2309 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2310 width="" 2311 height="" 2312 > 2313 </a> 2314 </li> 2315 2316 2317 2318 2319 <li class="swiper-slide" data-type="image"> 2320 <a 2321 href="files/Blossom-Shine_4.jpg" 2322 data-standard="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2323 data-image="files/Blossom-Shine_4.jpg" 2324 data-position="4" 2325 class="product-single__thumbnail" 2326 > 2327 <img 2328 class="lazyload w-100" 2329 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2330 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2331 width="" 2332 height="" 2333 > 2334 </a> 2335 </li> 2336 2337 2338 2339 </ul> 2340 </div> 2341 2342 </div> 2343 2344 <div 2345 id="featured-image-product" 2346 class="col-lg-10 col-12 d-none d-lg-block" 2347 > 2348 <div class="swiper-container gallery-top"> 2349 <div class="swiper-slide product-single__image"> 2350 2351<div class="product-single__photos slider slider-for" id="ProductPhoto"> 2352 2353 2354 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2355 <a href="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp"> 2356 <img 2357 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2358 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2359 id="ProductPhotoImg" 2360 class="lazyload" 2361 > 2362 2363 </a> 2364 </div> 2365</div> 2366 2367 </div> 2368 <div class="swiper-slide product-single__video" style="display: none"> 2369 <video 2370 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2371 playsinline 2372 loop 2373 muted 2374 ></video> 2375 </div> 2376 </div> 2377 </div> 2378 </div> 2379 2380 <div id="featured-image-product2" class="col-12 d-lg-none"> 2381 <div class="swiper-container gallery-mobile"> 2382 <ul class="swiper-wrapper"> 2383<li class="swiper-slide img"> 2384 2385 <img 2386 class="swiper-lazy" 2387 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2388 data-src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2389 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2390 width="" 2391 height="" 2392 > 2393 2394 </li> 2395 2396 2397<li class="swiper-slide img"> 2398 2399 <img 2400 class="swiper-lazy" 2401 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2402 data-src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2403 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2404 width="" 2405 height="" 2406 > 2407 2408 </li> 2409 2410 2411<li class="swiper-slide img"> 2412 2413 <img 2414 class="swiper-lazy" 2415 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2416 data-src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2417 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2418 width="" 2419 height="" 2420 > 2421 2422 </li> 2423 2424 2425<li class="swiper-slide img"> 2426 2427 <img 2428 class="swiper-lazy" 2429 src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2430 data-src="https://w4d.kumostock.com/win4d/fresdo/ladangwin4d-bannerwin4d.webp" 2431 alt="WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia" 2432 width="" 2433 height="" 2434 > 2435 2436 </li> 2437 2438 2439 </ul> 2440 2441 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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> 2442 <div class="swiper-button-next"><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="7" height="10" viewB
2442ox="0 0 7 10" fill="none"> 2443 <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"/> 2444</svg></div> 2445 2446 <!-- Add Pagination --> 2447 <div class="swiper-pagination"></div> 2448 2449 </div> 2450 </div> 2451 2452 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2453 <!-- product video --> 2454 <style> 2455 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2456 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2457 .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;} 2458 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2459 .close-video .icon{width:30px;height:30px;} 2460 /*responsive iframe */ 2461 .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);} 2462 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2463 2464 .youtube { 2465 background-color: #000; 2466 margin-bottom: 30px; 2467 position: relative; 2468 padding-top: 56.25%; 2469 overflow: hidden; 2470 cursor: pointer; 2471 width: 100%; 2472 } 2473 .swiper-slide .youtube { 2474 max-width: 480px; 2475 } 2476 .youtube img { 2477 width: 100%; 2478 top: -16.82%; 2479 left: 0; 2480 opacity: 0.7; 2481 } 2482 .youtube .play-button { 2483 width: 90px; 2484 height: 60px; 2485 background-color: #333; 2486 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2487 z-index: 1; 2488 opacity: 0.8; 2489 border-radius: 6px; 2490 } 2491 .youtube .play-button:before { 2492 content: ""; 2493 border-style: solid; 2494 border-width: 15px 0 15px 26.0px; 2495 border-color: transparent transparent transparent #fff; 2496 } 2497 .youtube img, 2498 .youtube .play-button { 2499 cursor: pointer; 2500 } 2501 .youtube img, 2502 .youtube iframe, 2503 .youtube .play-button, 2504 .youtube .play-button:before { 2505 position: absolute; 2506 } 2507 .youtube .play-button, 2508 .youtube .play-button:before { 2509 top: 50%; 2510 left: 50%; 2511 transform: translate3d( -50%, -50%, 0 ); 2512 } 2513 .youtube iframe { 2514 height: 100%; 2515 width: 100%; 2516 top: 0; 2517 left: 0; 2518 } 2519 </style> 2520 2521 2522 </div> 2523</div> 2524 2525<div class="product-desc-add position-relative d-none d-lg-block m-0"> 2526 2527</div> 2528
2529<script> 2530 if ($(window).width() < 991) { 2531 var direction = 'horizontal' 2532 } else { 2533 var direction = 'vertical' 2534 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2535 } 2536 var swiper = new Swiper('.gallery-thumbs', { 2537 2538 direction, 2539 slidesPerView: 4.5, 2540 spaceBetween: 12, 2541 navigation: { 2542 nextEl: '.swiper-button-next', 2543 prevEl: '.swiper-button-prev', 2544 } 2545 }); 2546 2547 var swiper = new Swiper('.gallery-mobile', { 2548 //loop: true, 2549 lazy: true, 2550 speed: 300, 2551 resistance : true, 2552 resistanceRatio : 0, 2553 freeModeMomentumRatio : 0.45, 2554 freeModeMomentumVelocityRatio : 1.5, 2555 navigation: { 2556 nextEl: '.swiper-button-next', 2557 prevEl: '.swiper-button-prev', 2558 }, 2559 pagination: { 2560 el: '.swiper-pagination' 2561 }, 2562 useCSS3Transforms: false, 2563 loop: false, 2564 on: { 2565 init: function () { 2566 console.log('swiper initialized'); 2567 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2568 currentVideo.trigger('play'); 2569 }, 2570 }, 2571 }); 2572 2573 /* GET ALL VIDEOS */ 2574 var sliderVideos = $(".swiper-slide video"); 2575 2576 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2577 swiper.on('slideChange', function () { 2578 console.log('slide changed'); 2579 /* stop all videos */ 2580 sliderVideos.each(function( index ) { 2581 this.currentTime = 0; 2582 }); 2583 2584 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2585 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2586 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2587 prevVideo.trigger('stop'); 2588 currentVideo.trigger('play'); 2589 }); 2590 2591 2592 $("[data-video]").click(function(){ 2593 const file = $(this).data("video") 2594 $(".product-single__video").show() 2595 $(".product-single__image").hide() 2596 $(".product-single__video").find("video").attr("src", file) 2597 $(".product-single__video").find("video")[0].play(); 2598 }) 2599 $("[data-image]").click(function(){ 2600 $(".product-single__video").hide() 2601 $(".product-single__image").show() 2602 $(".product-single__video").find("video")[0].pause(); 2603 }) 2604 2605 $("#product-image .swiper-slide").each(function(){ 2606 let width = $(this).width() 2607 $(this).height(width) 2608 }) 2609 2610 $(window).resize(function() { 2611 $("#product-image .swiper-slide").each(function(){ 2612 let width = $(this).width() 2613 $(this).height(width) 2614 }) 2615 }) 2616</script>
2616 2617 2618 </div> 2619 2620 2621 <div class="grid__item_product-info mb-3"> 2622 <div class="c-pdp-product-info"> 2623 <ul class="c-pdp-product-info__service c-pdp-product-info__service--active"> 2624 <!-- artikel --> 2625 <li> 2626 WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. 2627 </li> 2628 2629 2630 2631 2632 </ul> 2633 </div> 2634 </div> 2635 2636 2637 2638 2639 2640<style> 2641 .c-pdp-product-info__service--active { 2642 font-size: 12px; 2643 padding-left: 10px; 2644 text-align: left; 2645 max-width: 550px; 2646 margin: auto; 2647 } 2648 .c-pdp-product-info__service--active li { 2649 list-style: disc; 2650 } 2651 .c-pdp-product-info { 2652 background-color: #f5f5f5; 2653 padding: 12px; 2654 margin: 0; 2655 } 2656 .freeship em { 2657 font-style: italic; 2658 font-size: 12px !important; 2659 } 2660 2661 2662</style> 2663
2664<script> 2665 $(document).ready(function(){ 2666 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2667 $(".c-pdp-product-info__service").addClass("no-bullet"); 2668 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2669 } 2670 }); 2671</script>
2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 </div> 2685 <div id="product-meta" class="col-lg-5 p-0"> 2686 <div class="product-meta"> 2687 <style> 2688 .product-meta--review {margin-top:10px} 2689 .freeship * {font-size: 14px !important;font-style: normal;} 2690</style> 2691<h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia</h1> 2692 2693<div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2694 <meta itemprop="priceCurrency" content="IDR"> 2695 2696 <link itemprop="availability" href="https://schema.org/InStock"> 2697
2697<script 2698 type="text/javascript" 2699 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2700 async="async" 2701 ></script>
2701 2702 2703 2704 2705 2706 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2707 2708 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2709 2710 <div class="row no-gutters mb-3"> 2711 <span 2712 id="ProductPrice" 2713 class="h2 ProductPrice" 2714 itemprop="price" 2715 content="835000" style="color: #ffffff;" 2716 > 2717 Rp 10.000 2718 </span> 2719 <div class="discount-product-detail"> 2720 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2721 Rp 100.000 2722 </p> 2723 <span class=" tag-discount"> 2724 2725 2726 <span id="newDiscount" class="product-tag persentase-discount hide"> 2727 (90%) 2728 </span><br> 2729 2730 </span> 2731 </div> 2732 </div> 2733 2734 <div class="row no-gutters meta-sds"> 2735 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2736 2737 2738 <span 2739 id="ProductStock-Product" 2740 class="product-single__stock mb-2 hide" 2741 > 2742 2743 2744 2745 2746 Barang dikirim pada 2747 2748 2749 2750 </span> 2751 2752 <style> 2753 .short-desc-desktop { 2754 margin-bottom: 2rem; 2755 color: white; 2756 } 2757 .short-desc ul li:nth-child(n + 4) { 2758 display: none; 2759 } 2760 .short-desc ul li.showList:nth-child(n + 4) { 2761 display: list-item; 2762 } 2763 label.more { 2764 display: none; 2765 } 2766 label.more.showMe { 2767 display: block; 2768 font-size: 12px; 2769 text-transform: uppercase; 2770 font-weight: 700; 2771 cursor: pointer; 2772 } 2773</style> 2774 2775 <div class="short-desc-desktop d-none d-lg-block"> 2776 <div class="short-desc"> 2777 2778<p>Pernah gak sih lo lagi asyik main, pas mau withdraw malah dipersulit atau akun tiba-tiba kena ban tanpa alasan? Ngeselin banget, kan! Di luar sana banyak platform ngaku paling gacor tapi pas giliran kita menang, mereka mendadak hilang ditelan bumi hingga bikin modal amsyong. Pain point terbesar kita sebagai pemain itu cuma satu: Rasa Aman. Nah, daripada boncos terus di situs bodong yang bikin was-was, saatnya lo bergabung bersama kami di <a href="/">WIN4D</a>, salah satu platform gaming terpercaya yang berani tampil beda dengan memegang sertifikat resmi di Indonesia.</p> 2779<p>Membangun reputasi anti-zonk ini gak gampang, bro; tim WIN4D harus ngelewatin proses audit super ketat dari lembaga internasional demi memutus rantai masalah manipulasi sistem yang sering merugikan pemain. Hasilnya gak bisa bohong, data internal mencatat 98% tingkat kepuasan member dengan rata-rata proses transaksi di bawah 3 menit, serta 0% kasus fraud alias semua kemenangan pasti dibayar tuntas. Pelajaran pentingnya sederhana: jangan pernah pertaruhkan uang lo di tempat yang gak punya sertifikat resmi, karena kalau ada platform yang udah jelas menjamin keamanan data dan sistem fair play yang transparan, buat apa lo masih bertahan di situs kaleng-kaleng?</p> 2780<p>Kesimpulannya, pintar-pintar milih tempat eksekusi kalau gak mau nyesel belakangan. WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Gak usah tunggu modal lo abis di tempat lain yang gak jelas; amankan akun lo sekarang juga, rasakan sensasi main premium tanpa beban pikiran, dan jemput kemenangan lo tanpa drama!</p> 2781 </div> 2782 <label class="more">Show More â</label> 2783 </div><br> 2784 2785
2786<script> 2787 var liCount; 2788 $(document).ready(function () { 2789 $(".short-desc ul").each(function() { 2790 liCount = $(this).children("li").length; 2791 if (liCount > 3) { 2792 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2793 } 2794 }); 2795 2796 $(".more").click(function () { 2797 //$(".short-desc").find("li").addClass("showList"); 2798 // $(this).hide(); 2799 $("#product-desc").find("ul").show() 2800 $('html, body').animate({ 2801 scrollTop: $("#product-desc").offset().top - 250 2802 }, 2000); 2803 $("#product-desc").css("height","auto"); 2804 $("#more_content").remove(); 2805 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2806 }); 2807 }); 2808</script>
2808 2809 2810 2811 </div> 2812 </div> 2813 2814 <div id="purchaseProduct"> 2815 2816 2817 2818 2819<style> 2820 .variant-metafield { 2821 display: block!important; 2822 width: 1px; 2823 padding: 0; 2824 border-color: #fff; 2825 } 2826 .select2-results__option[aria-disabled] { 2827 display: none; 2828 } 2829 2830 .towel-bordir { 2831 width: 100%; 2832 display: flex; 2833 align-items: center; 2834 justify-content: space-around; 2835 } 2836</style> 2837 2838 2839 2840
2841<script> 2842 2843 2844</script>
2844 2845 2846 2847 2848 2849 2850 2851<select 2852 name="id[]" 2853 id="productSelect" 2854 class="product-single__variants ignore hide hide" 2855> 2856 2857 2858 2859 <option 2860 2861 selected="selected" 2862 2863 data-sku="OBVSTF1086" 2864 value="44083045826775" 2865 > 2866 Default Title 2867 </option> 2868 2869 2870 2871</select> 2872
2873<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2873 2874
2875<script> 2876 $('.size-chart-open-popup').magnificPopup({ 2877 type:'inline', 2878 midClick: true 2879 }); 2880</script>
2880 2881 2882 2883 2884 2885 <div class="upload-image-preview"> 2886 2887 2888 2889 2890 2891 <style> 2892 .file-dnd * { 2893 margin: 0; 2894 padding: 0; 2895 box-sizing: border-box; 2896 } 2897 .file-dnd { 2898 width: 100%; 2899 height: 250px; 2900 border: 1px solid #ddd; 2901 border-radius: 10px; 2902 padding: 15px; 2903 display: flex; 2904 flex-direction: column; 2905 gap: 10px; 2906 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2907 margin: auto; 2908 } 2909 .file-dnd input { 2910 display: none; 2911 } 2912 .file-dnd .before-upload { 2913 border: 1px dashed #888; 2914 flex: 1; 2915 border-radius: 5px; 2916 display: flex; 2917 justify-content: center; 2918 align-items: center; 2919 text-align: center; 2920 cursor: pointer; 2921 } 2922 .file-dnd .before-upload > div { 2923 display: flex; 2924 flex-direction: column; 2925 align-items: center; 2926 gap: 8px; 2927 } 2928 .file-dnd .before-upload > div h4 { 2929 width: 150px; 2930 } 2931 .file-dnd .before-upload > div p { 2932 font-size: 12px !important; 2933 color: #555; 2934 } 2935 .file-dnd.active .before-upload { 2936 border: 1px solid #5750d9; 2937 background-color: #f5f5ff; 2938 } 2939 .file-dnd .after-upload { 2940 position: relative; 2941 display: none; 2942 } 2943 .file-dnd .after-upload img { 2944 width: 100%; 2945 border-radius: 5px; 2946 max-height: 180px; 2947 object-fit: contain; 2948 display: block; 2949 } 2950 .file-dnd .after-upload .clear-btn { 2951 position: absolute; 2952 top: 10px; 2953 right: 10px; 2954 background: rgba(0, 0, 0, 0.5); 2955 width: 15px; 2956 height: 15px; 2957 text-align: center; 2958 line-height: 15px; 2959 border-radius: 50%; 2960 color: #fff; 2961 cursor: pointer; 2962 font-size: 14px; 2963 } 2964</style> 2965 2966<div 2967 class="file-dnd mb-3" 2968 2969 style="display: none" 2970 2971> 2972 <label for="upload-photo">Upload your Photo:</label> 2973 <input type="file" id="upload-photo" accept="image/*"> 2974 <input type="hidden" data-properties="Photo"> 2975 <div class="before-upload"> 2976 <div> 2977 <svg id="surface1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2978 <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> 2979 <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> 2980 <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> 2981</svg> 2982 2983 <h4>Drag & Drop Photo file or Browse</h4> 2984 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2985 </div> 2986 </div> 2987 <div class="after-upload"> 2988 <div class="clear-btn">×</div> 2989 <img src="" width="" height=""> 2990 </div> 2991</div>
2992<script> 2993 function applyDndFile(el) { 2994 const parent = document.querySelector(".file-dnd") 2995 const beforeUploadEl = el.querySelector(".before-upload") 2996 const afterUploadEl = el.querySelector(".after-upload") 2997 const inputFile = el.querySelector("input[type=file]") 2998 const imagePreview = el.querySelector(".after-upload img") 2999 const clearBtn = el.querySelector(".after-upload .clear-btn") 3000 const inputProps = parent.querySelector("[data-properties]"); 3001 3002 async function upload(name, uri, type) { 3003 try { 3004 const filename = name.split('.')[0] 3005 let formData = new FormData(); 3006 formData.append("file", uri); 3007 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3008 method: "POST", 3009 body: formData 3010 }) 3011 if(response) { 3012 const res = await response.json() 3013 return res 3014 } 3015 } catch(err){ 3016 console.log(err) 3017 } 3018 } 3019 3020 function showImagePreview(img) { 3021 if(img){ 3022 const blobUrl = URL.createObjectURL(img) 3023 imagePreview.src = blobUrl 3024 afterUploadEl.style.display = "block" 3025 beforeUploadEl.style.display = "none" 3026 } 3027 } 3028 3029 beforeUploadEl.addEventListener("click", (e) => { 3030 e.preventDefault() 3031 inputFile.click() 3032 }) 3033 3034 inputFile.addEventListener("change", async (e) => { 3035 e.preventDefault() 3036 showImagePreview(e.target.files[0]) 3037 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3038 inputProps.value = uploadData?.url 3039 }) 3040 3041 clearBtn.addEventListener("click", (e) => { 3042 afterUploadEl.style.display = "none" 3043 beforeUploadEl.style.display = "flex" 3044 inputProps.value = "" 3045 }) 3046 3047 beforeUploadEl.addEventListener("dragover", (e) => { 3048 e.preventDefault() 3049 el.classList.add("active") 3050 }) 3051 3052 beforeUploadEl.addEventListener("dragleave", (e) => { 3053 e.preventDefault() 3054 el.classList.remove("active") 3055 }) 3056 3057 beforeUploadEl.addEventListener("drop", async (e) => { 3058 e.preventDefault() 3059 el.classList.remove("active") 3060 showImagePreview(e.dataTransfer.files[0]) 3061 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3062 console.log(uploadData) 3063 inputProps.value = uploadData?.url 3064 }) 3065 } 3066 3067 applyDndFile(document.querySelector(".file-dnd")) 3068 3069 $(document).ready(function(){ 3070 $(".variant-swatch").change(function(){ 3071 const v = $(this).val().toLowerCase() 3072 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3073 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3074 $(".file-dnd").hide() 3075 $(".file-dnd").find("[data-properties]").val("") 3076 $(".after-upload").hide() 3077 $(".before-upload").css("display", "flex") 3078 }) 3079 }) 3080</script>
3080 3081 3082 </div> 3083 3084 3085 <div class="delivery-city mb-4"> 3086 <a href="https://ladangwin4d.com/resmi/"> 3087 <center><img src="https://w4d.kumostock.com/win4d/fresdo/data-jackpot.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 3088 <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA DAFTAR AKUN BARU DI WIN4D!</h4> 3089 <div class="row justify-content-between m-0"> 3090 <select id="cities" class="form-control select-search" required> 3091 <option value="">Gabung dan dapatkan bonus deposit juga new member hanya di WIN4D</option> 3092 </select> 3093 </div> 3094</div> 3095 3096<style> 3097 @media (max-width: 768px) { 3098 .select2-search__field { 3099 pointer-events: none !important; 3100 } 3101 3102 .select2-search { 3103 display: none !important; 3104 } 3105 } 3106</style> 3107
3108<script> 3109 $(document).ready(function() { 3110 // Check if mobile 3111 if (window.innerWidth <= 768) { 3112 // When cities select2 opens on mobile, remove focus from search 3113 $('#cities').on('select2:open', function() { 3114 setTimeout(function() { 3115 $('.select2-search__field').blur(); 3116 $('.select2-search__field').prop('readonly', true); 3117 }, 100); 3118 }); 3119 } 3120 }); 3121</script>
3121 3122 3123 <style> 3124.icon-img-footer { 3125 width: 80px; 3126 padding: 0px 5px; 3127} 3128@media (min-width: 768px) { 3129 .icon-img-footer { 3130 width: 120px; 3131 } 3132} 3133@media (min-width: 992px) { 3134 .icon-img-footer { 3135 width: 120px; 3136 } 3137} 3138 3139 3140</style> 3141 <div id="row-delivery-date" class="row m-0 mb-3"> 3142 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(236, 236, 67);">Ciptakan Kemenanganmu Dengan Atur Tanggal Bermain Di WIN4D</h4> 3143 <div id="deliveryDate" class="m-0"></div> 3144 <div id="deliveryDateFull"> 3145 <div class=""> 3146 <input 3147 type="text" 3148 id="full-date" 3149 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 3150 value="Full Calendar" 3151 > 3152 <label for="full-date"><svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="32" height="32" viewBox="0 0 32 32"> 3153<title>icon-arrow-right</title> 3154<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> 3155</svg></label> 3156 </div> 3157 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 3158 </div> 3159 <div class="form-group p-0"> 3160 <input type="text" id="propDeliveryDate" required class="hide"> 3161 </div> 3162 </div> 3163 3164 3165 <div id="row-delivery-time" class="row m-0 mb-3"> 3166 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 3167 SEO WIN4D 3168</h4> 3169 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 3170 <div class="form-group p-0"> 3171 <input type="text" id="propDeliveryTime" class="hide" required> 3172 </div> 3173 </div> 3174 3175 3176 3177 3178 3179 <div id="personalizeBtn"> 3180 3181 3182 3183 3184 <button 3185 class="btn text-uppercase w-100 fw-400" 3186 3187 3188 3189 > 3190 3191 customize your flower board 3192 3193 </button> 3194 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 3195 <div class="button-share text-center"> 3196 <p id="shareButton" class="d-flex gap-2"><span>WIN4D</span><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 3197 <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"/> 3198</svg> 3199</p> 3200 </div> 3201 <div class="button-wishlist text-center"> 3202 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 3203 <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"/> 3204</svg> 3205<!-- 3206 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 3207 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
320718.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"/> 3208 </svg> 3209--> 3210</p> 3211 </div> 3212 </div> 3213 </div> 3214</div> 3215<div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3216 <div class="purchaseArea"> 3217 <div class="sectionPurchase sectionPurchaseSpotify"> 3218 <div class="wrapperPurchase"> 3219 <div class="headerPurchase"> 3220 <h3>personalize spotify photo print</h3> 3221 <a class="close-purchase-popup"> 3222 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3223 <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> 3224 </svg> 3225 </a> 3226 </div> 3227 <div class="contentPurchase"> 3228 <div class="spotifyAddons"></div> 3229 </div> 3230 3231 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3232 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3233 <button class="back-purchase-button back-addon text-uppercase"> 3234 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 3235 <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> 3236 </svg> 3237 <span>Back</span> 3238 </button> 3239 </div> 3240 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3241 <button class="btn next-purchase-button next-addon text-uppercase"> 3242 <span>continue without add-ons</span> 3243 </button> 3244 </div> 3245 </div> 3246 </div> 3247 </div> 3248 </div> 3249</div> 3250 3251<style> 3252 #PBarNextFrameWrapper { 3253 display: none; 3254 } 3255 #backgroundPopup { 3256 display: none; 3257 position: fixed; 3258 _position: absolute; 3259 height: 100%; 3260 width: 100%; 3261 top: 0; 3262 left: 0; 3263 background: rgb(117 117 117 / 24%); 3264 z-index: 1; 3265 } 3266 .sectionPurchase { 3267 height: 100%; 3268 position: relative; 3269 max-width: 1344px; 3270 background-color: #fff; 3271 padding: 0; 3272 overflow: hidden; /* Changed from auto to hidden */ 3273 display: flex; 3274 flex-direction: column; 3275 } 3276 .sectionPurchase.purchaseAddonSpotify { 3277 max-width: 1070px!important; 3278 max-height: 765px!important; 3279 } 3280 .sectionPurchaseBoard { 3281 max-width: 872px!important; 3282 max-height: 821px!important; 3283 } 3284 .purchaseAddonSpotify .btn-action { 3285 position: absolute; 3286 bottom: 0; 3287 left: 0; 3288 width: 100%; 3289 display: flex; 3290 gap: 10px; 3291 } 3292 .wrapperPurchase { 3293 position: relative; 3294 height: 100%; 3295 display: flex; 3296 flex-direction: column; 3297 } 3298 3299 /* New styles for scrollable content and sticky button */ 3300 .purchase-content { 3301 flex: 1; 3302 overflow-y: auto; 3303 overflow-x: hidden; 3304 padding: 20px; 3305 } 3306 3307 .purchase-button-wrapper { 3308 position: sticky; 3309 bottom: 0; 3310 background-color: #fff; 3311 border-top: 1px solid #e0e0e0; 3312 padding: 15px 0; 3313 margin-top: auto; 3314 z-index: 10; 3315 } 3316 3317 .purchasePopup { 3318 display: none; 3319 position: fixed; 3320 background: rgb(117 117 117 / 24%); 3321 z-index: 999; 3322 padding: 40px; 3323 font-size: 13px; 3324 top: 0; 3325 left: 0; 3326 width: 100%; 3327 height: 100%; 3328 } 3329 .popupPurchaseClose{ 3330 font-size:14px; 3331 line-height:14px; 3332 right:45px; 3333 top:45px; 3334 position:absolute; 3335 color:#6fa5fd; 3336 font-weight:700; 3337 display:block; 3338 cursor: pointer; 3339 } 3340 3341 .headerPurchase { 3342 margin-bottom: 30px; 3343 display: flex; 3344 justify-content: space-between; 3345 } 3346 3347 .headerPurchase h3 { 3348 font-size: 16px; 3349 text-transform: uppercase; 3350 } 3351 3352 .sectionPurchaseBoard .headerPurchase { 3353 margin-bottom: 15px; 3354 } 3355 3356 .sectionPurchaseBoard .formAddressPurchase { 3357 padding-top: 0;
3358 } 3359 3360 .purchaseArea { 3361 position: relative; 3362 height: 100%; 3363 } 3364 3365 .purchaseArea h4 { 3366 width: 100%; 3367 font-size: 12px; 3368 font-weight: 600; 3369 margin-bottom: 10px; 3370 text-transform: uppercase; 3371 } 3372 3373 .menuPurchase { 3374 margin-bottom: 30px; 3375 } 3376 3377 .menuPurchase ul { 3378 list-style-type: none; 3379 margin: 0; 3380 } 3381 3382 .menuPurchase ul li { 3383 display: inline-block; 3384 border: 1px solid #ffffff; 3385 padding: 5px 20px; 3386 margin-right: 5px; 3387 margin-bottom: 10px; 3388 font-size: 12px; 3389 font-weight: 400; 3390 } 3391 3392 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3393 background-color: #ffffff; 3394 color: #ffffff; 3395 } 3396 3397 .contentPurchase h5 { 3398 font-size: 12px; 3399 margin-bottom: 10px; 3400 font-weight: 400; 3401 overflow: hidden; 3402 } 3403 3404 /* Card */ 3405 3406 #itemCards { 3407 max-height: 430px; 3408 overflow: auto; 3409 } 3410 3411 .item-cards { 3412 width: 100%; 3413 } 3414 .item-card.selected { 3415 border: 1px solid #ffffff; 3416 } 3417 .item-card:hover { 3418 border: 1px solid #C4C4C4; 3419 } 3420 .item-cards .item-card { 3421 position: relative; 3422 width: calc(33% - 10px); 3423 max-width: calc(33% - 10px); 3424 flex: 0 0 calc(33% - 10px); 3425 margin-bottom: 20px; 3426 } 3427 .item-cards .item-card label, 3428 .item-addons .item-addon label { 3429 position: absolute; 3430 left: 0; 3431 width: 100%; 3432 height: 100%; 3433 } 3434 .item-cards .item-card .card-image img, 3435 .item-addons .item-addon .card-image img { 3436 display: block; 3437 width: 100%; 3438 } 3439 .item-card .card-meta, 3440 .item-addon .card-meta { 3441 padding: 10px 5px 5px; 3442 } 3443 .item-card.selected .card-meta, 3444 .item-addon.selected .card-meta, 3445 .item-card.selected .card-qty { 3446 background-color: #ffffff; 3447 color: #fff; 3448 visibility: visible!important; 3449 } 3450 .item-card:hover .card-meta, 3451 .item-addon:hover .card-meta, 3452 .item-card:hover .card-qty { 3453 background-color: #C4C4C4; 3454 color: #fff; 3455 visibility: visible!important; 3456 } 3457 .item-cards .item-card p, 3458 .item-addons .item-addon p { 3459 font-size: 12px !important; 3460 margin: 0; 3461 font-weight: 600; 3462 } 3463 .item-card .card-meta input, 3464 .item-addon .card-meta input { 3465 display: none; 3466 } 3467 .item-cards .item-card h5, 3468 .item-addons .item-addon h5 { 3469 text-transform: uppercase; 3470 max-height: 35px; 3471 } 3472 3473 @media (max-width: 768px) { 3474 .item-cards .item-card { 3475 width: calc(50% - 10px); 3476 max-width: calc(50% - 10px); 3477 flex: 0 0 calc(50% - 10px); 3478 margin-bottom: 0; 3479 } 3480 } 3481 3482 .card-qty { 3483 display: flex; 3484 padding: 5px; 3485 visibility: hidden; 3486 background-color: #fff !important; 3487 z-index: 999; 3488 } 3489 .card-qty a { 3490 border-width: 1px; 3491 width: 30%; 3492 cursor: pointer; 3493 text-align: center; 3494 align-self: center; 3495 height: 28px; 3496 display: block; 3497 position: relative; 3498 } 3499 .card-qty a svg { 3500 position: absolute; 3501 top: 50%; 3502 left: 50%; 3503 transform: translate(-50%, -50%); 3504 text-align: center; 3505 } 3506 input.btn-qty { 3507 border-width: 0px; 3508 border-radius: 0; 3509 background-color: #fff; 3510 -webkit-appearance: none; 3511 box-shadow: none !important; 3512 -webkit-box-shadow: none !important; 3513 -moz-box-shadow: none!important; 3514 width: 40%; 3515 border-left: 1px solid #c4c4c4; 3516 border-right: 1px solid #c4c4c4; 3517 padding: 0; 3518 } 3519 3520 .sectionPurchaseBoard #itemAddons .item-card { 3521 width: calc(20% - 15px); 3522 max-width: calc(20% - 15px); 3523 flex: 0 0 calc(20% - 15px); 3524 } 3525 3526 .purchase-button { 3527 width: 100%; 3528 padding: 0; /* Reset padding as it's now handled by wrapper */ 3529 margin: 0; 3530 } 3531 3532 .sectionPurchaseBoard .purchase-button { 3533 margin-top: 0 !important; /* Reset margin */ 3534 } 3535 3536 .back-purchase-button, .back-spotify { 3537 width: 139px; 3538 border: 1px solid; 3539 height: 43px; 3540 } 3541 .purchase-button .btn { 3542 width: 297px; 3543 height: 43px; 3544 background-color: #ffffff; 3545 color: #ffffff; 3546 } 3547 .purchase-button .btn[disabled] { 3548 background-color: #EEEEEE; 3549 } 3550 .back-purchase-button svg, .back-spotify svg {
3551 align-self: center; 3552 vertical-align: middle; 3553 margin-right: 10px; 3554 } 3555 3556 #purchaseProduct .row .error { 3557 font-size: 12px !important; 3558 color: orange; 3559 margin-top: 5px; 3560 } 3561 3562 .reviewCardPurchase { 3563 max-width: 448px; 3564 float: right; 3565 } 3566 3567 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3568 .addon-item * {align-self: center;font-size: 12px;} 3569 .addon-itm-title {width: 360px;} 3570 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3571 3572 .propsAddonSpotify p { 3573 margin: 0; 3574 display: flex; 3575 font-size: 12px !important; 3576 margin-bottom: 5px; 3577 } 3578 .propsAddonSpotify p span:first-child { 3579 text-transform: uppercase; 3580 font-weight: 600; 3581 -ms-flex: 0 0 150px; 3582 flex: 0 0 150px; 3583 max-width: 150px; 3584 } 3585 3586 .addonsPurchase .addons { 3587 max-height: 250px; 3588 overflow: auto; 3589 } 3590 3591 .btn .loading:after { 3592 content: ""; 3593 display: inline-block; 3594 width: 20px; 3595 height: 20px; 3596 padding: 3px; 3597 aspect-ratio: 1; 3598 border-radius: 50%; 3599 background: #FFFFFF; 3600 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3601 -webkit-mask: var(--_m); 3602 mask: var(--_m); 3603 -webkit-mask-composite: source-out; 3604 mask-composite: subtract; 3605 animation: l3 1s infinite linear; 3606 margin: auto; 3607 vertical-align: middle; 3608 margin-left: 10px; 3609 } 3610 3611 #qrcode img, #qrcode canvas { 3612 width: 50px; 3613 position: absolute; 3614 top: 12px; 3615 left: 16px; 3616 } 3617 3618 .t-preview { 3619 position: absolute; 3620 top: 17px; 3621 left: 75px; 3622 } 3623 .t-preview p { 3624 margin: 0; 3625 font-size: 12px !important; 3626 } 3627 .t-preview .h3 { 3628 font-size: 16px !important; 3629 margin-bottom: 5px; 3630 font-weight: 600; 3631 } 3632 .scanCard { 3633 width: 100%; 3634 border: 1px solid; 3635 height: 76px; 3636 background-color: #fff; 3637 } 3638 .scanCard > div > img { 3639 position: absolute; 3640 right: 0; 3641 width: 55px; 3642 } 3643 3644 @keyframes l3 { 3645 100% { 3646 transform: rotate(1turn); 3647 } 3648 } 3649 3650 @media (min-width: 991px) { 3651 .sectionPurchase { 3652 height: 100%; 3653 position: relative; 3654 max-width: 1344px; 3655 background-color: #fff; 3656 top: 50%; 3657 left: 50%; 3658 transform: translate(-50%, -50%); 3659 } 3660 .headerPurchase h3 { 3661 font-size: 20px; 3662 } 3663 .purchaseArea h4 { 3664 font-size: 16px; 3665 } 3666 3667 .menuPurchase ul li { 3668 font-size: 16px; 3669 } 3670 3671 .contentPurchase { 3672 margin-bottom: 30px; 3673 } 3674 .contentPurchase h5 { 3675 font-size: 16px; 3676 } 3677 3678 .item-cards .item-card p, 3679 .item-addons .item-addon p { 3680 font-size: 16px !important; 3681 } 3682 3683 .cards { 3684 float: right; 3685 width: 400px; 3686 } 3687 3688 .item-cards .item-card { 3689 width: calc(25% - 30px); 3690 max-width: calc(25% - 30px); 3691 flex: 0 0 calc(25% - 30px); 3692 } 3693 3694 #itemAddons .item-card { 3695 position: relative; 3696 width: calc(16% - 40px); 3697 max-width: calc(16% - 40px); 3698 flex: 0 0 calc(16% - 40px); 3699 } 3700 3701 .purchase-button-wrapper { 3702 padding: 10px 20px; 3703 } 3704 } 3705 3706 @media (max-width: 1200px) { 3707 .item-cards .item-card { 3708 width: calc(33% - 30px); 3709 max-width: calc(33% - 30px); 3710 flex: 0 0 calc(33% - 30px); 3711 } 3712 } 3713 3714 @media (max-width: 992px) { 3715 .purchasePopup { 3716 padding: 0; 3717 } 3718 .item-cards .item-card h5, 3719 .item-addons .item-addon h5 { 3720 max-height: 30px; 3721 } 3722 3723 .back-purchase-button, .back-spotify, .next-purchase-button { 3724 width: 100%; 3725 } 3726 .addon-itm-title { 3727 width: 300px; 3728 } 3729 .addon-itm-line-price { 3730 margin-right: 10px; 3731 } 3732 .t-preview { 3733 top: 10px; 3734 } 3735 3736 .card-qty a { 3737 height: 15px; 3738 } 3739 3740 .purchase-button-wrapper { 3741 padding: 15px; 3742 } 3743 } 3744 3745 @media (max-width: 576px) { 3746 .purchase-button .btn { 3747 width: 100%!important; 3748 } 3749 .purchase-button > .col-12 { 3750 padding-left: 0; 3751 padding-right: 0; 3752 } 3753 } 3754 .rv-wrap { 3755 background: #ffffff00; 3756 padding: clamp(18px, 3.5vw, 44px); 3757 display: flex; 3758 justify-content: center; 3759 } 3760 3761 .rv-card { 3762 width: min(950px, 100%); 3763 border-radius: 18px;
3764 background: linear-gradient(180deg, rgba(11, 16, 37, .88), rgba(8, 10, 24, .88)); 3765 border: 1px solid rgb(242, 242, 245); 3766 box-shadow: 0 25px 80px rgba(0, 0, 0, .55); 3767 position: relative; 3768 overflow: hidden; 3769 } 3770 3771 /* Neon frame + pulse */ 3772 .rv-card::before { 3773 content: ""; 3774 position: absolute; 3775 inset: -2px; 3776 background: conic-gradient( 3777 from 180deg, 3778 #ffffff, 3779 #f0f8ff, 3780 #ffffff, 3781 #ffffff 3782 ); 3783 filter: blur(20px); 3784 opacity: 0.3; 3785 animation: rvSpin 10s linear infinite; 3786 pointer-events: none; 3787} 3788 3789 @keyframes rvSpin { 3790 to { 3791 transform: rotate(360deg); 3792 } 3793 } 3794 3795 .rv-head { 3796 position: relative; 3797 z-index: 1; 3798 padding: clamp(16px, 3vw, 26px); 3799 border-bottom: 1px solid rgba(0, 0, 0, 0) 3800 } 3801 3802 .rv-dot { 3803 width: 12px; 3804 height: 12px; 3805 border-radius: 999px; 3806 display: inline-block; 3807 background: var(--neon1 ); 3808 box-shadow: 0 0 14px rgba(255, 255, 255, 0.85), 0 0 30px rgba(180, 0, 255, .35); 3809 animation: rvPulse 1.6s ease-in-out infinite; 3810 margin-bottom: 10px; 3811 } 3812 3813 @keyframes rvPulse { 3814 3815 0%, 3816 100% { 3817 transform: scale(1); 3818 opacity: .85; 3819 } 3820 3821 50% { 3822 transform: scale(1.35); 3823 opacity: 1; 3824 } 3825 } 3826 3827 .rv-title { 3828 margin: 0 0 6px 0; 3829 color: var(--txt); 3830 font-size: clamp(18px, 2.2vw, 26px); 3831 letter-spacing: .2px; 3832 } 3833 3834 .rv-sub { 3835 margin: 0; 3836 color: var(--muted); 3837 font-size: clamp(13px, 1.7vw, 15px); 3838 line-height: 1.4; 3839 } 3840 3841 .rv-viewport { 3842 position: relative; 3843 z-index: 1; 3844 overflow: hidden; 3845 padding: clamp(12px, 2vw, 18px); 3846 } 3847 3848 .rv-track { 3849 display: flex; 3850 gap: 14px; 3851 will-change: transform; 3852 transition: transform .45s ease; 3853 } 3854 3855 .rv-item { 3856 flex: 0 0 calc(33.333% - 10px); 3857 background: rgb(121 4 159); 3858 border: 1px solid rgba(42, 51, 95, .55); 3859 border-radius: 14px; 3860 padding: 14px; 3861 box-shadow: 0 0 0 1px rgba(0, 245, 255, .06); 3862 } 3863 3864 .rv-top { 3865 display: flex; 3866 align-items: center; 3867 justify-content: space-between; 3868 gap: 10px; 3869 margin-bottom: 10px; 3870 } 3871 3872 .rv-name { 3873 color: var(--txt); 3874 font-weight: 700; 3875 font-size: 14px; 3876 } 3877 3878 .rv-stars { 3879 color: rgb(203 189 56); 3880 filter: drop-shadow(0 0 10px rgba(0, 245, 255, .25)); 3881 font-size: 14px; 3882 letter-spacing: 1px; 3883 white-space: nowrap; 3884 } 3885 3886 .rv-body { 3887 margin: 0; 3888 color: rgba(234, 240, 255, .88); 3889 line-height: 1.55; 3890 font-size: 14px; 3891 } 3892 3893 .rv-date { 3894 display: block; 3895 margin-top: 10px; 3896 color: rgba(183, 194, 255, .78); 3897 font-size: 12px; 3898 } 3899 3900 .rv-controls { 3901 position: relative; 3902 z-index: 1; 3903 display: flex; 3904 gap: 10px; 3905 justify-content: flex-end; 3906 padding: 0 clamp(12px, 2vw, 18px) clamp(12px, 2vw, 18px); 3907 } 3908 3909 .rv-btn { 3910 appearance: none; 3911 border: 1px solid rgba(42, 51, 95, .7); 3912 background: rgba(8, 10, 24, .7); 3913 color: var(--txt); 3914 border-radius: 12px; 3915 padding: 10px 12px; 3916 cursor: pointer; 3917 transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; 3918 font-weight: 700; 3919 line-height: 1; 3920 } 3921 3922 .rv-btn:hover { 3923 transform: translateY(-1px); 3924 border-color: rgba(0, 245, 255, .45); 3925 box-shadow: 0 0 0 1px rgba(0, 245, 255, .12); 3926 } 3927 3928 .rv-pause { 3929 min-width: 44px; 3930 text-align: center; 3931 } 3932 3933 /* Responsive */ 3934 @media (max-width: 900px) { 3935 .rv-item { 3936 flex-basis: calc(50% - 7px); 3937 } 3938 } 3939 3940 @media (max-width: 560px) { 3941 .rv-item { 3942 flex-basis: 100%; 3943 } 3944
3945 .rv-controls { 3946 justify-content: space-between; 3947 } 3948 } 3949 3950 @media (prefers-reduced-motion: reduce) { 3951 3952 .rv-dot, 3953 .rv-card::before { 3954 animation: none; 3955 } 3956 3957 .rv-track { 3958 transition: none; 3959 } 3960 3961 .rv-btn { 3962 transition: none; 3963 } 3964 } 3965</style> 3966 3967 3968<div class="purchasePopup"> 3969 <div class="purchaseArea"> 3970 3971 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3972 <div class="wrapperPurchase"> 3973 <div class="purchase-content"> 3974 <div class="headerPurchase"> 3975 <h3 class="text-uppercase"> 3976 3977 customize your flower board 3978 3979 </h3> 3980 <a class="close-purchase-popup"> 3981 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3982 <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"/> 3983 </svg> 3984</a> 3985 3986</div> 3987<div class="contentPurchase"> 3988 <div class="row"> 3989 3990 <div class="col-12"> 3991 3992 3993<style> 3994 3995 3996 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3997 .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;} 3998 3999 .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;} 4000 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 4001 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 4002 .svgLogoPapan p {color: #8E8E93; margin: 0;} 4003 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 4004 .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;} 4005 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 4006 #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;} 4007 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 4008 .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;} 4009 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 4010 4011 @media (min-width: 991px) { 4012 .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);} 4013 .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);} 4014 } 4015</style> 4016 4017<input type="hidden" data-properties="penerima" value="-"> 4018<div class="customize-papan"> 4019 <div class="container"> 4020 <div class="field-papan group-field-1 form-group"> 4021 <div class="input-field"> 4022 <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. 4023(Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 4024 <p class="limit">0/100</p> 4025 <div id="suggest-messages"> 4026 <a id="show_note_papan1" href="#"> 4027 <div class="suggest-message" id="note_btn_div1">
4028 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 4029 </div> 4030 </a> 4031 <a id="show_note_papan2" href="#"> 4032 <div class="suggest-message" id="note_btn_div2"> 4033 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 4034 </div> 4035 </a> 4036 <a id="show_note_papan3" href="#"> 4037 <div class="suggest-message" id="note_btn_div3"> 4038 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 4039 </div> 4040 </a> 4041 </div> 4042 </div> 4043 </div> 4044 <div class="hide"> 4045 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 4046 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 4047 </div> 4048 <div class="hide"> 4049 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 4050 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 4051 </div> 4052 <div class="hide"> 4053 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 4054 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 4055 </div> 4056 <div class="field-papan group-field-2 form-group"> 4057 4058 <label for="logoPapan" onclick="" class="input-field field-logo"> 4059 4060 4061 4062 <div class="btn-upload-papan w-100"> 4063 <?xml version="1.0" encoding="UTF-8"?> 4064 <img src="" style="display:none"> 4065 <div class="svgLogoPapan"> 4066 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 4067 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 4068 </svg> 4069 <p>Upload Logo <span>*optional</span></p> 4070 </div> 4071 </div> 4072 4073 </label> 4074 4075 <input 4076 type="hidden" 4077 data-properties="papan-logo" 4078 value="" 4079 > 4080 <input 4081 type="file" 4082 id="logoPapan" 4083 accept="image/*" 4084 style="position: absolute;width: 1px;height: 1px;padding: 0" 4085 > 4086 4087 <div class="input-field"> 4088 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 4089 <p class="limit">0/35</p> 4090 </div> 4091 4092 </div> 4093 4094 </div> 4095</div> 4096 </div> 4097 4098 </div> 4099</div> 4100 4101 </div> 4102 <div class="purchase-button-wrapper"> 4103 <div class="purchase-button btn-card row m-0"> 4104 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4105 4106 </div> 4107 <div class="btn-next-card col-12 col-lg-10 text-right"> 4108 4109 4110 <button 4111 4112 4113 4114 class="btn next-purchase-button text-uppercase" 4115 4116 disabled 4117 4118 > 4119 <span>save your flower board</span> 4120 </button> 4121 </div> 4122</div> 4123 4124 </div> 4125 </div> 4126 </div> 4127 4128 4129 4130 <div 4131 class="sectionPurchase sectionPurchaseBoard hide" 4132 data-section="address" 4133 > 4134 <div class="wrapperPurchase"> 4135 <div class="purchase-content"> 4136 <div class="headerPurchase"> 4137 <h3> 4138 Complete Your Order 4139 </h3> 4140 <a class="close-purchase-popup"> 4141 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4142 <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"/> 4143 </svg> 4144</a> 4145 4146</div> 4147<div class="contentPurchase"> 4148 <div class="row"> 4149 <div class="col-12 position-relative"> 4150 <div class="addressPurchase"> 4151 4152 <h4 class="text-uppercase">recipient delivery address</h4> 4153 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 4154 4155 <div class="formAddressPurchase row"> 4156 <div class="col-12"> 4157 <form> 4158 <div class="form-group row mb-2 mb-lg-4"> 4159 <div class="col-6 position-relative"> 4160 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 4161 <label for="first_name" class="input__label">First Name<span>*</span></label> 4162 </div> 4163 <div class="col-6 position-relative"> 4164 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 4165 <label for="last_name" class="input__label">Last Name<span>*</span></label> 4166 </div> 4167 <input type="hidden" data-properties="nama-penerima"> 4168 </div> 4169 4170 <h4 class="text-uppercase">how you want to input your address</h4> 4171 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 4172 <div class="col-6 position-relative"> 4173 <label class="address-manualy"> 4174 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 4175 <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
41751216 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
41755 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"/> 4176</svg> 4177<span>Input Address Manually</span> 4178 </label> 4179 </div> 4180 <div class="col-6 position-relative"> 4181 <label for="address-upload" class="address-upload"> 4182 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 4183 <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"/> 4184</svg> 4185<span>Upload Address Picture</span> 4186 </label> 4187 <input 4188 id="address-upload" 4189 type="file" 4190 accept="image/png, image/jpeg" 4191 style="position: absolute; padding: 0;width: 1px;height: 1px" 4192 > 4193 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 4194 </div> 4195 </div> 4196 <img width="150" height="" src="" class="photo-address" style="display: none;"> 4197 4198 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4199 <div class="col-12"> 4200 <textarea 4201 id="delivery_address" 4202 data-properties="alamat-penerima" 4203 class="form-control input__field col-12" 4204 placeholder="" 4205 required 4206 ></textarea> 4207 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4208 4209 </div> 4210 </div> 4211 <div class="form-group row mb-2 mb-lg-4 form-address"> 4212 <div class="col-6 position-relative"> 4213 <input 4214 id="recipient_number" 4215 type="text" 4216 data-properties="telepon-penerima" 4217 class="form-control input__field" 4218 placeholder="" 4219 required 4220 > 4221 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4222 </div> 4223 <div class="col-6 position-relative"> 4224 <input 4225 id="company" 4226 type="text" 4227 data-properties="company" 4228 class="form-control input__field" 4229 placeholder="" 4230 > 4231 <label for="company" class="input__label">Company (Optional)</label> 4232 </div> 4233 </div> 4234 <div class="form-group row mb-2 mb-lg-4 form-address"> 4235 <div class="col-6 position-relative"> 4236 <input 4237 id="province" 4238 type="text" 4239 class="form-control input__field" 4240 placeholder="" 4241 value="Jakarta" 4242 data-properties="province" 4243 > 4244 <label for="province" class="input__label">Province</label> 4245 </div> 4246 <div class="col-6 position-relative"> 4247 <select id="zip" class="form-control select-search" required></select> 4248 </div> 4249 </div> 4250 </form> 4251 </div> 4252 </div> 4253 </div> 4254 <div class="addonsPurchase"> 4255 <h4 class="text-uppercase">add-ons</h4> 4256 <div class="addons"> 4257 <p>No Add-Ons</p> 4258 <!-- 4259 <button class="add-addon"> 4260 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4261 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4262 </svg>
4263 <span>Enhance my moment with Add-ons</span> 4264 </button> 4265 --> 4266 </div> 4267 </div> 4268 </div> 4269 4270 </div> 4271</div> 4272
4273<script> 4274document.addEventListener('DOMContentLoaded', function() { 4275 // Detect iOS 4276 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4277 4278 if (isIOS) { 4279 document.querySelector('.formAddressPurchase').classList.add('ios'); 4280 4281 // iOS specific fixes 4282 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4283 4284 inputs.forEach(function(input) { 4285 // Force enable touch events on iOS 4286 input.style.webkitUserSelect = 'text'; 4287 input.style.webkitTouchCallout = 'default'; 4288 input.style.pointerEvents = 'auto'; 4289 input.style.touchAction = 'manipulation'; 4290 4291 // Add explicit touch event listeners for iOS 4292 input.addEventListener('touchstart', function(e) { 4293 e.stopPropagation(); 4294 this.focus(); 4295 }, { passive: false }); 4296 4297 input.addEventListener('touchend', function(e) { 4298 e.preventDefault(); 4299 e.stopPropagation(); 4300 this.focus(); 4301 this.click(); 4302 }, { passive: false }); 4303 4304 // Force focus on tap for iOS 4305 input.addEventListener('click', function(e) { 4306 e.stopPropagation(); 4307 if (document.activeElement !== this) { 4308 this.focus(); 4309 } 4310 }); 4311 }); 4312 4313 // Fix for label overlapping on iOS 4314 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4315 labels.forEach(function(label) { 4316 label.style.pointerEvents = 'none'; 4317 label.addEventListener('touchstart', function(e) { 4318 e.preventDefault(); 4319 var input = this.parentNode.querySelector('.input__field'); 4320 if (input) { 4321 input.focus(); 4322 } 4323 }); 4324 }); 4325 } 4326 4327 // Handle input state for all browsers, especially iOS 4328 var inputs = document.querySelectorAll('.input__field'); 4329 4330 inputs.forEach(function(input) { 4331 // Handle input events 4332 input.addEventListener('input', function() { 4333 if (this.value.trim() !== '') { 4334 this.classList.add('has-value'); 4335 } else { 4336 this.classList.remove('has-value'); 4337 } 4338 }); 4339 4340 // Handle focus 4341 input.addEventListener('focus', function() { 4342 this.classList.add('focused'); 4343 // iOS specific: ensure input is visible 4344 if (isIOS) { 4345 setTimeout(function() { 4346 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4347 }, 300); 4348 } 4349 }); 4350 4351 // Handle blur 4352 input.addEventListener('blur', function() { 4353 this.classList.remove('focused'); 4354 if (this.value.trim() !== '') { 4355 this.classList.add('has-value'); 4356 } else { 4357 this.classList.remove('has-value'); 4358 } 4359 }); 4360 4361 // Initial check for pre-filled values 4362 if (input.value.trim() !== '') { 4363 input.classList.add('has-value'); 4364 } 4365 }); 4366 4367 // Additional iOS fixes 4368 if (isIOS) { 4369 // Prevent iOS Safari from adding default styling 4370 document.addEventListener('touchstart', function() {}, { passive: true }); 4371 4372 // Fix viewport issues on iOS 4373 var viewport = document.querySelector('meta[name=viewport]'); 4374 if (viewport) { 4375 viewport.setAttribute('content', 4376 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4377 ); 4378 } 4379 } 4380}); 4381</script>
4381 4382 </div> 4383 <div class="purchase-button-wrapper"> 4384 <div class="purchase-button btn-address row m-0"> 4385 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4386 4387 <button class="back-purchase-button back-address text-uppercase"> 4388 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 4389 <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"/> 4390 </svg> 4391 <span>Back</span> 4392 </button> 4393 4394 </div> 4395 <div class="btn-next-card col-12 col-lg-10 text-right"> 4396 4397 <!-- 4398 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4399 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 4400 <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"/> 4401 </svg> 4402 <span>Back</span> 4403 </button> 4404 --> 4405 4406 4407 <button 4408 4409 id="addtocart-card" 4410 4411 class="btn next-address text-uppercase" 4412 4413 > 4414 <span>add to cart</span> 4415 </button> 4416 </div> 4417</div> 4418 4419 </div> 4420 </div> 4421 </div> 4422 4423 </div> 4424</div> 4425<div id="backgroundPopup"></div> 4426 4427 4428 4429<input 4430 data-index="1" 4431 type="hidden" 4432 id="properties-delivery-date" 4433 name="properties[Delivery Date]" 4434 value="-" 4435> 4436<input 4437 data-index="2" 4438 type="hidden" 4439 id="properties-delivery-time" 4440 name="properties[Delivery Time]" 4441 value="-" 4442> 4443<input 4444 data-index="4" 4445 type="hidden" 4446 id="properties-nama-penerima" 4447 name="properties[Nama Penerima]" 4448 value="-" 4449> 4450<input 4451 data-index="5" 4452 type="hidden" 4453 id="properties-alamat-penerima" 4454 name="properties[Alamat Penerima]" 4455 value="-" 4456> 4457<input 4458 data-index="6" 4459 type="hidden" 4460 id="properties-kodepos" 4461 name="properties[Kodepos]" 4462 value="-" 4463> 4464<input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4465 4466 4467 <input 4468 data-index="8" 4469 type="hidden" 4470 id="properties-kartu-nama-penerima" 4471 name="properties[Kartu Nama Penerima]" 4472 value="-" 4473 > 4474 4475 <textarea 4476 data-index="9" 4477 type="hidden" 4478 id="properties-kartu-pesan" 4479 name="properties[Kartu Pesan]" 4480 style="display: none" 4481 >-</textarea> 4482 4483 4484 4485 <input 4486 data-index="10" 4487 type="hidden" 4488 id="properties-kartu-nama-pengirim" 4489 name="properties[Kartu Nama Pengirim]" 4490 value="-" 4491 > 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510<!-- Additional Shipping --> 4511<input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4512<input 4513 type="hidden" 4514 id="properties-kota-pengiriman-country" 4515 name="properties[Country]" 4516 value="Indonesia" 4517> 4518<input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4519 4520<input type="hidden" id="properties-time" name="properties[Time]"> 4521<input type="hidden" id="properties-card" name="properties[Card]"> 4522<input type="hidden" id="properties-addons" name="properties[Addons]"> 4523 4524<input 4525 type="hidden" 4526 id="properties-company" 4527 name="properties[Company]" 4528 value="" 4529>
4530<script> 4531 4532 $(document).ready(function(){ 4533 4534 var text_max_papan1=150; 4535 var msg_text_papan1=""; 4536 $('#kartu-ucapan-ucapan').keyup(function(){ 4537 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4538 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4539 }); 4540 4541 var notes_papan1 = [ 4542 4543 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4544 4545 ]; 4546 $('#show_note_papan1').click(function(event){ 4547 event.preventDefault(); 4548 var idx_papan1=parseInt($('#note_id_papan1').val()); 4549 if(isNaN(idx_papan1)){ 4550 idx_papan1=0; 4551 }else{ 4552 idx_papan1++; 4553 idx_papan1=idx_papan1%notes_papan1.length; 4554 } 4555 var note_papan1=notes_papan1[idx_papan1][1]; 4556 $('#note_id_papan1').val(idx_papan1); 4557 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4558 $('#msgDelivery').val(note_papan1); 4559 4560 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4561 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4562 if(isNaN(idx_2_papan1)){ 4563 idx_2_papan1=0; 4564 }else{ 4565 idx_2_papan1++; 4566 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4567 } 4568 $('#note_btn_id_papan1').val(idx_2_papan1); 4569 //var note_btn=note_btn_text[idx_2][1]; 4570 //$('#note_btn').text(note_btn); 4571 }); 4572 4573 var text_max_papan2=150; 4574 var msg_text_papan2=""; 4575 $('#kartu-ucapan-ucapan').keyup(function(){ 4576 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4577 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4578 }); 4579 4580 var notes_papan2 = [ 4581 4582 [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)."] 4583 4584 ]; 4585 $('#show_note_papan2').click(function(event){ 4586 event.preventDefault(); 4587 var idx_papan2=parseInt($('#note_id_papan2').val()); 4588 if(isNaN(idx_papan2)){ 4589 idx_papan2=0; 4590 }else{ 4591 idx_papan2++; 4592 idx_papan2=idx_papan2%notes_papan2.length; 4593 } 4594 var note_papan2=notes_papan2[idx_papan2][1]; 4595 $('#note_id_papan2').val(idx_papan2); 4596 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4597 $('#msgDelivery').val(note_papan2); 4598 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4599 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4600 if(isNaN(idx_2_papan2)){ 4601 idx_2_papan2=0; 4602 }else{ 4603 idx_2_papan2++; 4604 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4605 } 4606 $('#note_btn_id_papan2').val(idx_2_papan2); 4607 //var note_btn=note_btn_text[idx_2][1]; 4608 //$('#note_btn').text(note_btn); 4609 }); 4610 4611 var text_max_papan3=150; 4612 var msg_text_papan3=""; 4613 $('#kartu-ucapan-ucapan').keyup(function(){ 4614 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4615 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4616 }); 4617 4618 var notes_papan3 = [ 4619 4620 [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)."] 4621 4622 ]; 4623 $('#show_note_papan3').click(function(event){ 4624 event.preventDefault(); 4625 var idx_papan3=parseInt($('#note_id_papan3').val()); 4626 if(isNaN(idx_papan3)){ 4627 idx_papan3=0; 4628 }else{ 4629 idx_papan3++; 4630 idx_papan3=idx_papan3%notes_papan3.length; 4631 } 4632 var note_papan3=notes_papan3[idx_papan3][1]; 4633 $('#note_id_papan3').val(idx_papan3); 4634 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4635 $('#msgDelivery').val(note_papan3);
4636 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4637 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4638 if(isNaN(idx_2_papan3)){ 4639 idx_2_papan3=0; 4640 }else{ 4641 idx_2_papan3++; 4642 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4643 } 4644 $('#note_btn_id_papan3').val(idx_2_papan3); 4645 //var note_btn=note_btn_text[idx_2][1]; 4646 //$('#note_btn').text(note_btn); 4647 }); 4648 4649 var text_max_papan4=150; 4650 var msg_text_papan4=""; 4651 $('#kartu-ucapan-ucapan').keyup(function(){ 4652 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4653 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4654 }); 4655 4656 $('#show_note_papan4').click(function(event){ 4657 var notes_papan4 = [ 4658 [0,"Hereâs to youâsteadier, stronger and better every day."], 4659 [1,"Warmest wishes for a speedy recovery!"], 4660 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4661 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4662 ]; 4663 event.preventDefault(); 4664 var idx_papan4=parseInt($('#note_id_papan4').val()); 4665 console.log(idx_papan4, 'idx_papan4') 4666 if(isNaN(idx_papan4)){ 4667 idx_papan4=0; 4668 }else{ 4669 idx_papan4++; 4670 idx_papan4=idx_papan4%notes_papan4.length; 4671 } 4672 var note_papan4=notes_papan4[idx_papan4][1]; 4673 $('#note_id_papan4').val(idx_papan4); 4674 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4675 console.log(note_papan4, 'note_papan4') 4676 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4677 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4678 if(isNaN(idx_2_papan4)){ 4679 idx_2_papan4=0; 4680 }else{ 4681 idx_2_papan4++; 4682 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4683 } 4684 $('#note_btn_id_papan4').val(idx_2_papan4); 4685 }); 4686 4687 /* 4688 $("#jenisPapan").change(function(){ 4689 $( "select option:selected").each(function(){ 4690 if($(this).attr("value")=="Happy Wedding"){ 4691 $("#suggest-messages a").hide(); 4692 $("#show_note_papan1").show(); 4693 $("#kartu-ucapan-papan").val(""); 4694 } 4695 if($(this).attr("value")=="Congratulations"){ 4696 $("#suggest-messages a").hide(); 4697 $("#show_note_papan2").show(); 4698 $("#kartu-ucapan-papan").val(""); 4699 } 4700 if($(this).attr("value")=="Duka Cita"){ 4701 $("#suggest-messages a").hide(); 4702 $("#show_note_papan3").show(); 4703 $("#kartu-ucapan-papan").val(""); 4704 } 4705 }); 4706 }).change(); 4707 */ 4708 4709 4710 4711 4712 4713 $(".variant-metafield").each(function(){ 4714 const t = $(this) 4715 const id = t.attr("id") 4716 const target = $(`[data-select=${id}]`) 4717 t.on('select2:selecting', function(e) { 4718 const data = e.params.args.data 4719 target.val(data.text) 4720 }); 4721 }) 4722 }) 4723</script>
4723 4724 4725<div id="popupCart"> 4726 <div class="container"> 4727 <div class="wrapperPopupCart"> 4728 <div class="headerPopupCart"> 4729 <div class="d-flex pl-5 pr-5 p-4"> 4730 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4731 <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"/> 4732 </svg> 4733 <span>item added to your cart</span> 4734 </div> 4735 <a class="close-purchase-popup"> 4736 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4737 <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"/> 4738 </svg> 4739</a> 4740 4741 </div> 4742 <div class="contentPopupCart"> 4743 <div class="pl-5 pr-5 p-4"> 4744 <div class="itemContent row m-0 justify-content-between"> 4745 <div class="col-2 align-self-center"> 4746 4747 <img 4748 class="d-block" 4749 width="80" 4750 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4751 > 4752 </div> 4753 <div class="col-10 align-self-center"> 4754 <div class="row pl-3"> 4755 <div class="col-12 col-lg-7"> 4756 <span class="titleCartPopup text-uppercase">WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia</span> 4757 </div> 4758 <div class="d-flex justify-content-end col-12 col-lg-5"> 4759 <span class="deleteCartPopup hide">Delete</span> 4760 <span class="lineCartPrice align-self-center">Rp 10.000</span> 4761 </div> 4762 </div> 4763 </div> 4764 </div> 4765 <div class="itemProperties"> 4766 4767 <div class="propDeliver"> 4768 <h4>delivery option detail</h4> 4769 <p> 4770 <span>delivery city</span> 4771 <span class="propDeliveryCity">jakarta</span> 4772 </p> 4773 <p> 4774 <span>delivery date</span> 4775 <span class="propDeliveryDate">24/03/2025</span> 4776 </p> 4777 <p> 4778 <span>delivery time</span> 4779 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4780 </p> 4781 </div> 4782 <div class="propAddress"> 4783 <h4>delivery option detail</h4> 4784 <p> 4785 <span>RECIPIENT NAME</span> 4786 <span class="propDeliveryName">jane doe</span> 4787 </p> 4788 <p> 4789 <span>delivery address</span> 4790 <span class="propDeliveryAddress" 4791 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4792 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4793 > 4794 </p> 4795 <p> 4796 <span>recipient phone number</span> 4797 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4798 </p> 4799 <p> 4800 <span>PROVINCE</span> 4801 <span class="propDeliveryProv">Jakarta</span> 4802 </p> 4803 <p> 4804 <span>postal code</span> 4805 <span class="propDeliveryZip">12710</span> 4806 </p> 4807 4808 4809 </div> 4810 4811 </div> 4812 <div class="itemAddonCart"> 4813 <div class="toggleAddonCart d-flex justify-content-between"> 4814 <h4>add-ons (0)</h4> 4815 <svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4816 <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"/> 4817 </svg> 4818 </div> 4819 <div class="wrapperItemAddonCart"></div> 4820 </div> 4821 4822 </div> 4823 </div>
4824 <div class="footerPopupCart"> 4825 <div class="row m-0 pl-5 pr-5 p-4"> 4826 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4827 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4828 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4829 </div> 4830 </div> 4831 </div> 4832 </div> 4833</div> 4834 4835
4836<script> 4837 const shareButton = document.getElementById('shareButton'); 4838 4839 shareButton.addEventListener('click', () => { 4840 if (navigator.share) { 4841 navigator.share({ 4842 title: "WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia", 4843 url: "/products/blossom-shine", 4844 text: 'Check out this page!' 4845 }) 4846 .then(() => console.log('Successful share')) 4847 .catch((error) => console.log('Error sharing', error)); 4848 } else { 4849 alert('Web Share API is not supported in this browser.'); 4850 } 4851 }); 4852 4853 // Inventory validation function 4854 function checkInventoryStatus() { 4855 const productSelect = document.getElementById('productSelect'); 4856 const purchaseButton = document.querySelector('#personalizeBtn button'); 4857 4858 if (!productSelect || !purchaseButton) return; 4859 4860 const selectedVariantId = productSelect.value; 4861 4862 // Get variant data from Shopify 4863 fetch(`/products/blossom-shine.js`) 4864 .then(response => response.json()) 4865 .then(product => { 4866 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4867 4868 if (selectedVariant) { 4869 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4870 selectedVariant.inventory_management === 'shopify' && 4871 selectedVariant.inventory_policy !== 'continue'; 4872 4873 if (isOutOfStock) { 4874 purchaseButton.disabled = true; 4875 purchaseButton.textContent = 'Out of Stock'; 4876 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4877 purchaseButton.style.backgroundColor = '#cccccc'; 4878 purchaseButton.style.cursor = 'not-allowed'; 4879 } else { 4880 // Check if button was disabled due to other conditions 4881 4882 4883 4884 4885 4886 4887 4888 4889 const isOtherDisabled = false || true || false; 4890 4891 if (!isOtherDisabled) { 4892 purchaseButton.disabled = false; 4893 purchaseButton.textContent = 'customize your flower board'; 4894 purchaseButton.removeAttribute('data-out-of-stock'); 4895 purchaseButton.style.backgroundColor = ''; 4896 purchaseButton.style.cursor = ''; 4897 } 4898 } 4899 } 4900 }) 4901 .catch(error => { 4902 console.error('Error checking inventory:', error); 4903 }); 4904 } 4905 4906 // Check inventory on page load 4907 document.addEventListener('DOMContentLoaded', function() { 4908 checkInventoryStatus();
4909 4910 // Listen for variant changes 4911 const productSelect = document.getElementById('productSelect'); 4912 if (productSelect) { 4913 productSelect.addEventListener('change', checkInventoryStatus); 4914 } 4915 }); 4916 4917 // Prevent form submission if out of stock 4918 document.addEventListener('click', function(e) { 4919 if (e.target.matches('button[data-out-of-stock="true"]')) { 4920 e.preventDefault(); 4921 e.stopPropagation(); 4922 alert('This product is currently out of stock and cannot be purchased.'); 4923 return false; 4924 } 4925 }); 4926</script>
4926 4927 4928 4929 4930</div> 4931 4932 </div> 4933 </div> 4934 </div> 4935 </div> 4936 <div id="product-bottom"> 4937 4938 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4939 <div class="container"> 4940 4941 4942 4943 4944 4945 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4946 <div class="short-desc"> 4947 <ul> 4948<li><strong>WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.</strong></li> 4949 </div> 4950 <label class="more-mobile">Show More â</label> 4951 </div> 4952 4953<style> 4954.animated-title { 4955 text-align: center; 4956 font-weight: bold; 4957 color: #079c02; 4958 font-size: 28px; 4959 position: relative; 4960 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4961} 4962 4963/* Efek glow / bercahaya hijau */ 4964@keyframes glow { 4965 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4966 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4967 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4968} 4969 4970/* Efek gerakan naik turun */ 4971@keyframes moveUpDown { 4972 0% { transform: translateY(0px); } 4973 50% { transform: translateY(-5px); } 4974 100% { transform: translateY(0px); } 4975} 4976</style> 4977
4978<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
vendor: 2 bytes, line 4978
4978
4979<script> 4980 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}); 4981 4982 const productType = $("[data-product-type]").data("product-type") 4983 const productDate = Date.parse(new Date()) 4984 4985 const shop = 'outerbloom1.myshopify.com' 4986 const host = 'https://app.asmaraku.com' 4987 // const host = 'http://localhost:5001' 4988 4989 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4990 4991 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4992 4993 $("#properties-time").val(new Date().getTime()) 4994 4995 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4996 4997 if(!isIOS) { 4998 $("#full-date").attr("type", "button") 4999 } 5000 5001 let dateTime = new Date(); 5002 let today = dateTime.getDate(); 5003 let day = dateTime.getDay(); 5004 let hour = dateTime.getHours(); 5005 let min = dateTime.getMinutes(); 5006 let timeOfDay = hour + (min / 100); 5007 5008 async function getFetch(url) { 5009 const response = await fetch(url); 5010 let status = false 5011 let result 5012 if(response.ok) { 5013 status = true 5014 result = await response.json(); 5015 } 5016 return { 5017 status, 5018 data: result 5019 } 5020 } 5021 5022 5023 5024 function setCookie(cname, cvalue, exMins) { 5025 var d = new Date(); 5026 d.setTime(d.getTime() + (exMins*60*1000)); 5027 var expires = "expires="+d.toUTCString(); 5028 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 5029 } 5030 5031 function getCookie(cname) { 5032 let name = cname + "="; 5033 let decodedCookie = decodeURIComponent(document.cookie); 5034 let ca = decodedCookie.split(';'); 5035 for(let i = 0; i <ca.length; i++) { 5036 let c = ca[i]; 5037 while (c.charAt(0) == ' ') { 5038 c = c.substring(1); 5039 } 5040 if (c.indexOf(name) == 0) { 5041 return c.substring(name.length, c.length); 5042 } 5043 } 5044 return ""; 5045 } 5046 5047 async function renderDate() { 5048 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 5049 console.log(dataDate, 'renderDate') 5050 const data = dataDate?.data 5051 const date = data.date 5052 const time = data.time 5053 5054 console.log(date, 'DATE') 5055 5056 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 5057 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5058 const htmlDate = [] 5059 for(let i = 0;i < date.length;i++) { 5060 const full = date[i].date 5061 const d = new Date(date[i].date); 5062 const day = weekday[d.getDay()]; 5063 const dt = d.getDate(); 5064 const mt = monthly[d.getMonth()]; 5065 const yr = d.getFullYear(); 5066 const isDate = Boolean(date[i].isEnabled) 5067 const cutoffpagi = date[i].cutoff?.pagi 5068 const cutoffsiang = date[i].cutoff?.siang 5069 const cutoffMalam = date[i].cutoff?.Malam 5070 var html = ` 5071 <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'}> 5072 ${dt === today ? 5073 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 5074 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 5075 } 5076 </button> 5077 ` 5078 htmlDate.push(html) 5079 } 5080 const htmlTime = [] 5081 for(var i = 0;i < time.length;i++) { 5082 const timeText = time[i].text 5083 const timeTime = time[i].time 5084 const timeEnabled = time[i].isEnabled 5085 var html = ` 5086 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 5087 ` 5088 htmlTime.push(html) 5089 } 5090 const deliveryDate = document.getElementById("deliveryDate"); 5091 if(deliveryDate) { 5092 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 5093 $("#deliveryTime").html(htmlTime) 5094 if(productType !== '') { 5095 console.log("clarity event " + productType + ' calendaring') 5096 window.clarity("event", `${productType} calendaringSchedule`) 5097 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 5098 } 5099 } 5100 } 5101 5102 async function getProvince(city) { 5103 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 5104 console.log(province, 'province') 5105 $("#province").val(province) 5106 } 5107 5108 async function renderAddress() {
5109 let current 5110 if(getCookie("location_delivery")){ 5111 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 5112 } 5113 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 5114 console.log(address) 5115 const data = address?.data?.city 5116 const htmlAddress = [] 5117 const grouping = [] 5118 for(let i = 0;i < data?.length;i++) { 5119 if(data[i]){ 5120 if(data[i]?.group) { 5121 grouping.push(data[i].group) 5122 } 5123 const price = rupiah.format(data[i]?.rate) 5124 let promo = '(Promo Free Delivery)' 5125 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 5126 promo = '(at SCBD, Ashta)' 5127 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 5128 promo = '(at Kuningan, ITC Kuningan)' 5129 } else if(data[i]?.name === 'BSD - PickUp'){ 5130 promo = '(at Goldfinch Gading Serpong)' 5131 } else if(data[i]?.name === 'Kota Lainnya'){ 5132 promo = '' 5133 } 5134 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>`) 5135 } 5136 } 5137 5138 const deliveryCity = document.getElementById("cities"); 5139 if(deliveryCity) { 5140 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 5141 if(!isIOS) { 5142 $(deliveryCity).select2(); 5143 } 5144 } 5145 } 5146 5147 async function renderZip(v, v2, v3) { 5148 const deliveryZip = document.getElementById("zip"); 5149 if(v === '') { 5150 return 5151 } 5152 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 5153 let zip = dataZip?.data?.zip 5154 console.log(zip) 5155 let htmlZip = [] 5156 for(let i = 0; i < zip?.length;i++) { 5157 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 5158 } 5159 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 5160 } 5161 5162 renderDate() 5163 renderAddress() 5164 5165 let rupiah = new Intl.NumberFormat('id-ID', { 5166 style: 'currency', 5167 currency: 'IDR', 5168 maximumFractionDigits: 0, 5169 minimumFractionDigits: 0 5170 }); 5171 5172 async function insertCard(data) { 5173 const response = await fetch(`${host}/api/card/new`, { 5174 method: "POST", 5175 headers: { 5176 'Content-Type': 'application/json', 5177 }, 5178 body: data 5179 }) 5180 const result = await response.json() 5181 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 5182 $("#greetingCard").attr("data-index", rowIndex) 5183 return result 5184 } 5185 5186 async function updateCard(data){ 5187 const rowIndex = $("#greetingCard").data("index") 5188 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 5189 method: "PUT", 5190 headers: { 5191 'Content-Type': 'application/json', 5192 }, 5193 body: data 5194 }) 5195 return response 5196 } 5197 5198 function bytesToSize(bytes) { 5199 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 5200 for (var i = 0; i < sizes.length; i++) { 5201 if (bytes <= 1024) { 5202 return bytes + ' ' + sizes[i]; 5203 } else { 5204 bytes = parseFloat(bytes / 1024).toFixed(2) 5205 } 5206 } 5207 return bytes + ' P'; 5208 } 5209 5210 async function uploadMedia(uri, type) { 5211 nameq = $("#properties-nama-penerima").val() 5212 dear = $("#properties-kartu-nama-penerima").val() 5213 card = $("[data-properties=ucapan]").val() 5214 sender = $("#properties-kartu-nama-pengirim").val() 5215 photo = $("#properties-photo").val() 5216 video = $("#properties-video").val() 5217 status = "Product" 5218 5219 const name = qrID 5220 let formData = new FormData(); 5221 formData.append("file", uri); 5222 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5223 method: "POST", 5224 body: formData 5225 }) 5226 const result = await response.json(); 5227 if(result) { 5228 const url = result.url 5229 if(type === 'image/jpeg') { 5230 $("#properties-photo").val(url) 5231 $(".preview-image").show() 5232 $(".remove-image").show() 5233 photo = url 5234 } else { 5235 $("#properties-video").val(url) 5236 $("#label-input-video span").text("Change File") 5237 $(".case-qrcode-preview p").text("Scan here for a secret message") 5238 $(".remove-media").show() 5239 $("#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>`) 5240 $("[for=input-video]").hide() 5241 video = url 5242 } 5243 $(".case-video-preview").show() 5244 $(".steps-card-preview").removeClass("loading") 5245 // updateCard(nameq, dear, card, sender, photo, video, status) 5246 5247 $(".nextBtn").attr("disabled", false) 5248 } 5249 } 5250 5251 function randomString(length, chars) { 5252 var result = ''; 5253 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5254 return result; 5255 } 5256 5257 function getNoteCity(fulldate) { 5258 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5259 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5260 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5261 const d = new Date(h_1); 5262 const day = weekday[d.getDay()]; 5263 const dt = d.getDate(); 5264 const mt = monthly[d.getMonth()];
5265 const yr = d.getFullYear(); 5266 const p = $("#cities").parent(".form-group") 5267 } 5268 5269 function disabledSameDay() { 5270 let btnFirst = $("#deliveryDate").find("button:first-child") 5271 let getDay = new Date().getDay(); 5272 5273 5274 5275 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5276 if(hour >= 14.00){ 5277 btnFirst.attr("disabled", true) 5278 } 5279 } else if(getDay == 6){ 5280 if(hour >= 16.00){ 5281 btnFirst.attr("disabled", true) 5282 } 5283 } else if(getDay == 0){ 5284 if(hour >= 16.00){ 5285 btnFirst.attr("disabled", true) 5286 } 5287 } 5288 5289 5290 } 5291 5292 function disabledays(date) { 5293 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5294 //if u have to disable a list of day 5295 let removeDays 5296 5297 5298 5299 removeDays = ["2025-2-13", "2025-2-14"]; 5300 5301 if ($.inArray(ymd, removeDays) >= 0) { 5302 return [false]; 5303 } else { 5304 let day = date.getDay(); 5305 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5306 return [(day == 0), '']; 5307 } 5308 5309 if(day == 0){ 5310 return [(day == 0), '']; 5311 } 5312 5313 5314 return [(day != 0), '']; 5315 } 5316 } 5317 5318 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5319 /* Written by Deden Fathurahman ([email protected]). */ 5320 ( function( factory ) { 5321 if ( typeof define === "function" && define.amd ) { 5322 5323 // AMD. Register as an anonymous module. 5324 define( [ "../widgets/datepicker" ], factory ); 5325 } else { 5326 5327 // Browser globals 5328 factory( jQuery.datepicker ); 5329 } 5330 }( function( datepicker ) { 5331 5332 datepicker.regional.id = { 5333 closeText: "Tutup", 5334 prevText: "<mundur", 5335 nextText: "maju>", 5336 currentText: "Today", 5337 monthNames: [ "January","February","March","April","May","Juny", 5338 "July","August","September","October","November","December" ], 5339 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5340 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5341 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5342 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5343 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5344 weekHeader: "Mg", 5345 dateFormat: "D, dd M", 5346 firstDay: 0, 5347 isRTL: false, 5348 showMonthAfterYear: false, 5349 yearSuffix: "" }; 5350 datepicker.setDefaults( datepicker.regional.id ); 5351 5352 return datepicker.regional.id; 5353 5354} ) ); 5355 5356 function loadPopup() { 5357 $("#backgroundPopup").fadeIn("slow"); 5358 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5359 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5360 if(firstSection.hasClass("purchasePersonalize")) { 5361 if(productType !== '') { 5362 console.log("clarity event " + productType + ' personalize') 5363 window.clarity("event", `${productType} cardPersonalization`) 5364 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5365 } 5366 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5367 console.log("clarity event " + productType + ' personalizeBoard') 5368 window.clarity("event", `${productType} personalizeBoard`) 5369 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5370 } 5371 firstSection.removeClass("hide") 5372 5373 // Auto-trigger addon loading when addon section becomes visible 5374 setTimeout(function() { 5375 const addonSection = $(".purchaseAddon") 5376 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5377 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5378 $("[data-addon=upsell-all]").trigger("click") 5379 } 5380 } 5381 }, 200) 5382 } 5383 5384 function disablePopup() { 5385 $("#backgroundPopup").fadeOut("slow"); 5386 $(".purchasePopup").fadeOut("slow"); 5387 $("#popupCart").fadeOut("slow"); 5388 } 5389
5390 function scrollTo(parent, div, dur) { 5391 $(parent).animate({ 5392 scrollTop: $(div).offset().top 5393 }, dur); 5394 } 5395 5396 function loadPopupPersonalize() { 5397 const div = "#purchaseProduct" 5398 const p = "html, body, .product-meta" 5399 $("p.error").remove() 5400 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5401 const isCity = $("#cities[required]") 5402 const isDate = $("#propDeliveryDate[required]") 5403 const isTime = $("#propDeliveryTime[required]") 5404 // loadPopup() 5405 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5406 loadPopup() 5407 } 5408 if(isCity.val() == '') { 5409 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5410 scrollTo(p, div, 500) 5411 } 5412 if(isDate.val() == '') { 5413 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5414 scrollTo(p, div, 500) 5415 } 5416 if(isTime.val() == '') { 5417 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5418 scrollTo(p, div, 500) 5419 } 5420 } 5421 5422 function quantityCounter() { 5423 $(document).on("click", ".item-card.selected .q_up", function () { 5424 var C = $(this).attr("data-id"), 5425 S = 5426 parseInt( 5427 $(this) 5428 .siblings(".quantity-cart-" + C) 5429 .val() 5430 ) + 1; 5431 $(this).attr("data-quantity", S), 5432 $(this) 5433 .siblings(".quantity-cart-" + C) 5434 .val(S); 5435 }), 5436 $(document).on("click", ".item-card.selected .q_down", function () { 5437 var C = $(this).attr("data-id"), 5438 S = parseInt( 5439 $(this) 5440 .siblings(".quantity-cart-" + C) 5441 .val() 5442 ); 5443 0 < S && $(this).attr("data-quantity", S - 1), 5444 0 < S && 5445 $(this) 5446 .siblings(".quantity-cart-" + C) 5447 .val(S - 1); 5448 }); 5449 } 5450 5451 quantityCounter() 5452 5453 const itemAddon = $(".item-card").length 5454 const nofree = $(".nofree").length 5455 5456 const upsell = '' 5457 5458 if(nofree === itemAddon) { 5459 // $("#itemAddons").html("<p>No Items available</p>") 5460 } 5461 5462 $("#itemAddons .item-card").each(function(e){ 5463 $("#itemAddons").attr("data-length", e) 5464 }) 5465 5466 $("[data-addon]").click(function(){ 5467 5468 5469 5470 const t = $(this) 5471 5472 const data = t.data("addon") 5473 5474 $("[data-addon]").removeClass("selected") 5475 t.addClass("selected") 5476 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5477 const products = data.products 5478 const html = [] 5479 for(let i = 0; i < products.length; i++) { 5480 const id = products[i].id 5481 const variantId = products[i].variants[0].id 5482 const img = products[i].images[0].src 5483 let img2 = img.split('.jpg')[0] 5484 const title = products[i].title 5485 const price = products[i].variants[0].price 5486 const tags = products[i].tags 5487 const qty = products[i].variants[0].available 5488 let type_upsell = '' 5489 if(tags.includes('upsell-item-standing')) { 5490 type_upsell = 'standing' 5491 } 5492 console.log(type_upsell) 5493 if(type_upsell !== '') { 5494 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}"> 5495 5496 <div class="card-image"> 5497 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5498 </div> 5499 <div class="card-meta"> 5500 <h5>${title}</h5> 5501 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5502 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5503 </div> 5504 <div class="card-qty"> 5505 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5506 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5506" value="0" data-price=${price} name="quantity"> 5507 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5508<path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5509</svg></a> 5510 </div> 5511 </div>` 5512 html.push(body) 5513 } 5514 } 5515 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5516 $("#itemAddons").attr("data-length", products.length) 5517 // $('#itemAddons')[0].swiper.update(); 5518 }); 5519 }) 5520 5521 async function isAddon(){ 5522 let ids = [] 5523 $("#itemAddons .item-card.selected").each(function(i, e){ 5524 const id = $(this).data("id") 5525 ids.push(id) 5526 }) 5527 console.log(ids) 5528 return ids 5529 } 5530 5531 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5532 const t = $(this).parent() 5533 const id = t.data("id") 5534 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5535 t.toggleClass("selected"); 5536 //$(this).next("input").toggleAttr('name', 'id[]'); 5537 if (t.hasClass('selected')) { 5538 t.find("input").val(1) 5539 t.find("input").attr('name', 'id[]'); 5540 } else { 5541 t.find("input").val(0) 5542 t.find("input").removeAttr('name'); 5543 } 5544 $("#properties-addons").val(addons) 5545 const is = await isAddon() 5546 if(is.length === 0) { 5547 btn.text("continue without add-ons") 5548 return 5549 } 5550 if(is.includes(8835692069079)) { 5551 btn.text("personalize acrylic frame") 5552 } else { 5553 btn.text("Continue") 5554 } 5555 5556 }) 5557 5558 async function myAddon(data) { 5559 const c = $(".addonsPurchase .addons") 5560 let items = [] 5561 5562 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5563 // if(spotifyAddons.length > 0) { 5564 // $(spotifyAddons).each(function(i, e){ 5565 // const spotifyLink = $(this).find(".spotifyLink").val() 5566 // const spotifySong = $(this).find(".spotifySong").val() 5567 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5568 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5569 // if(spotifyLink !== '') { 5570 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5571 // <div class="addon-itm-img"> 5572 // <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"/> 5573 // </div> 5574 // <div class="addon-itm-title"> 5575 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5576 // </div> 5577 // <div class="addon-itm-line-total"> 5578 // <span>Rp 99.000</span> 5579 // </div> 5580 // </div> 5581 // <div class="propsAddonSpotify row m-0"> 5582 // <div class="col-12 col-lg-2"></div> 5583 // <div class="col-12 col-lg-10"> 5584 // <p> 5585 // <span>spotify link</span> 5586 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5587 // </p> 5588 // <p> 5589 // <span>uploaded photo</span> 5590 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5591 // </p> 5592 // <p> 5593 // <span>song / playlist name</span> 5594 // <span class="spotifySongAddon">${spotifySong}</span> 5595 // </p> 5596 // <p> 5597 // <span>artist name</span> 5598 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5599 // </p> 5600 // </div> 5601 // </div>` 5602 // items.push(spotifyAddon) 5603 // } 5604 // }) 5605 // } 5606 for(let i = 0; i < data.length; i++) { 5607 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5608 const img = data[i].image 5609 const title = data[i].title
5610 const qty = data[i].qty 5611 const price = data[i].price 5612 const total = Number(qty) * Number(price) 5613 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5614 <div class="addon-itm-img"> 5615 <img src="${img}" alt="" width="70"/> 5616 </div> 5617 <div class="addon-itm-title"> 5618 <span>${title}</span> 5619 </div> 5620 <div class="addon-itm-line-price"> 5621 <span>${rupiah.format(price)}</span> 5622 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5623 </div> 5624 <div class="addon-itm-line-total"> 5625 <span>${rupiah.format(total)}</span> 5626 </div> 5627 </div>` 5628 items.push(addons) 5629 } 5630 } 5631 c.html(items) 5632 const parent = $(".purchaseAddon") 5633 const next = parent.next(".sectionPurchase") 5634 parent.addClass("hide") 5635 next.removeClass("hide") 5636 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5637 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5638 } 5639 5640 async function listAddon() { 5641 const data = $("#itemAddons").find(".selected") 5642 let ids = [] 5643 $(data).each(function(){ 5644 const id = $(this).data("variant") 5645 const image = $(this).find(".card-image img").attr("src") 5646 const title = $(this).find(".card-meta h5").text() 5647 const qty = $(this).find(".card-qty input").val() 5648 const price = $(this).find(".card-qty input").data("price") 5649 ids.push({ 5650 id: Number(id), 5651 image, 5652 title, 5653 qty, 5654 price 5655 }) 5656 }) 5657 myAddon(ids) 5658 } 5659 5660 async function customSpotify(idx, length, type){ 5661 let isCard = false 5662 5663 let p = $(".purchasePopupSpotify") 5664 const preLink = $(".spotifyLinkFirst").val() 5665 $("[data-index]").hide() 5666 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5667 p.find(".regulerAddons, .purchase-button").hide() 5668 p.find(".spotifyAddons").show() 5669 5670 const data = await trackUrl(preLink) 5671 5672 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://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="13" height="11" viewB
5672ox="0 0 13 11" fill="none"> 5673<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"/> 5674</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://w4d.kumostock.com/win4d/fresdo/logo-win4d.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://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="13" height="11" viewB
5674ox="0 0 13 11" fill="none"> 5675<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"/> 5676</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>` 5677 // console.log(html) 5678 5679 $(".spotifyAddons").append(html) 5680 5681 $(`[data-index=${idx}]`).show() 5682 5683 if (preLink !== '') { 5684 $(".btn-action .btn").attr("disabled", false) 5685 } else { 5686 $(".btn-action .btn").attr("disabled", true) 5687 } 5688 5689 return html 5690 5691 } 5692 5693 $(".spotifyLinkFirst").keyup(async function(){ 5694 const v = $(this).val() 5695 if(v.includes('spotify:user:spotify')) { 5696 const correct = v.split('user:spotify:')[1] 5697 console.log(correct, 'BNER') 5698 $(this).val(correct) 5699 return 5700 } 5701 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5702 const data = await trackUrl(v) 5703 if(!data || !data.status) { 5704 $(this).parent().addClass("error") 5705 // $(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>`) 5706 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5707 return 5708 } 5709 $(this).parent().removeClass("error") 5710 // $(this).parent().remove("txt-error") 5711 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5712 } else { 5713 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5714 } 5715 }) 5716 5717 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5718 const parent = $(this).parents(".purchaseAddon") 5719 const next = parent.next(".sectionPurchase") 5720 if(next.hasClass("purchaseAddress")) { 5721 if(productType !== '') { 5722 console.log("clarity event " + productType + ' purchaseDelivery') 5723 window.clarity("event", `${productType} purchaseDelivery`) 5724 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5725 } 5726 } 5727 const data = $("#itemAddons").find(".selected") 5728 const length = $(".quantity-cart-46067682607319").val() 5729 const checked = data.length; 5730 if(checked > 0) { 5731 if(length > 0) { 5732 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5733 customSpotify(1, length, 'addon') 5734 } else { 5735 listAddon() 5736 } 5737 } else { 5738 parent.addClass("hide") 5739 next.removeClass("hide") 5740 } 5741 }) 5742 5743 $("#personalizeBtnSpotify .btn").click(async function(){ 5744 const isCity = $("#cities[required]") 5745 const isDate = $("#propDeliveryDate[required]") 5746 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5747 alert('Please choose Delivery City & Delivery Date') 5748 return 5749 } 5750 const data = await customSpotify(1, 1, 'product') 5751 if(data) { 5752 $("#backgroundPopup").fadeIn("slow"); 5753 $(".purchasePopupSpotify").fadeIn("slow"); 5754 5755 if(productType !== '') { 5756 console.log("clarity event " + productType + ' spotify') 5757 window.clarity("event", `${productType} spotify`) 5758 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5759 } 5760 } 5761 }) 5762 5763 function formatBytes(bytes, decimals = 2) { 5764 if (!+bytes) return '0 Bytes' 5765
5766 const k = 1024 5767 const dm = decimals < 0 ? 0 : decimals 5768 const sizes = ['B', 'KB', 'MB'] 5769 5770 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5771 5772 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5773 } 5774 5775 async function trackUrl(link){ 5776 try { 5777 let trackId = link.split('/').pop().split('?')[0]; 5778 let type = '' 5779 if(link.includes("spotify:")) { 5780 const uri = link.split('spotify:')[1] 5781 trackId = uri.split(':')[1] 5782 type = uri.split(':')[0] + 's' 5783 } else { 5784 if(link.match('track')){ 5785 type = 'tracks' 5786 } else if(link.match('playlist')) { 5787 type = 'playlists' 5788 } else if(link.match('artist')) { 5789 type = 'artists' 5790 } else if(link.match('album')) { 5791 type = 'albums' 5792 } 5793 } 5794 console.log(`${host}/api/spotify/${type}/${trackId}`) 5795 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5796 console.log(data, 'DATA') 5797 const song = data?.data?.name 5798 const artist = data?.data?.artist 5799 return { 5800 song, artist, type, trackId, status: data.status 5801 } 5802 } catch(err) { 5803 console.log(err) 5804 } 5805 } 5806 5807 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5808 const parent = $(this).parents("[data-index]") 5809 const preview = parent.find(".previewImage") 5810 const file = $(this)[0].files[0]; 5811 if (file) { 5812 const reader = new FileReader(); 5813 reader.onload = async function(e) { 5814 parent.find(".uploadResult label").hide() 5815 parent.find(".uploadedResult").remove() 5816 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5817 <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> 5818 <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;">
5818<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 5819 <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 /> 5820</svg> 5821</span></div></div>`) 5822 parent.find(".frameImageUploaded svg").hide() 5823 parent.find(".frameImage").addClass("uploaded") 5824 preview.attr("src", e.target.result); 5825 preview.show(); 5826 let formData = new FormData(); 5827 formData.append("file", file); 5828 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5829 method: "POST", 5830 body: formData 5831 }) 5832 const result = await response.json(); 5833 if(result){ 5834 parent.find(".resultPhotoSpotify").val(result.url) 5835 } 5836 } 5837 5838 reader.readAsDataURL(file); 5839 } else { 5840 preview.hide(); 5841 } 5842 }); 5843 5844 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5845 $(this).next("input[type=file]").trigger("click") 5846 }) 5847 5848 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5849 $(this).parents("input[type=file]").trigger("click") 5850 }) 5851 5852 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5853 const parent = $(this).parents("[data-index]") 5854 parent.find(".uploadPhotoSpotify").val("") 5855 parent.find(".uploadResult label").show() 5856 parent.find(".uploadedResult").remove() 5857 parent.find(".frameImageUploaded svg").show() 5858 parent.find(".previewImage").hide() 5859 parent.find(".frameImage").removeClass("uploaded") 5860 }) 5861 5862 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5863 const parent = $(this).parents("[data-index]") 5864 parent.toggleClass("checked") 5865 }) 5866 5867 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5868 const parent = $(this).parents("[data-index]") 5869 const link = $(this).val() 5870 const data = await trackUrl(link) 5871 5872 console.log(data) 5873 5874 if(data.song) { 5875 parent.find(".spotifySong").val(data.song) 5876 parent.find(".spotifyData").find("h3").text(data.song) 5877 } 5878 if(data.artist) { 5879 parent.find(".spotifyArtist").val(data.artist) 5880 parent.find(".spotifyData").find("p").text(data.artist) 5881 } 5882 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5883 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5884 if (data.status === true) { 5885 parent.find(".btn-action .btn").attr("disabled", false) 5886 } else { 5887 parent.find(".btn-action .btn").attr("disabled", true) 5888 } 5889 }) 5890
5891 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5892 const parent = $(this).parents("[data-index]") 5893 const v = $(this).val() 5894 parent.find(".spotifyData h3").text(v) 5895 }) 5896 5897 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5898 const parent = $(this).parents("[data-index]") 5899 const v = $(this).val() 5900 parent.find(".spotifyData p").text(v) 5901 }) 5902 5903 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5904 const parent = $(this).parents("[data-index]") 5905 const length = parent.data("length") 5906 const index = parent.data("index") 5907 const indexNext = Number(index) + 1 5908 customSpotify(indexNext, length, 'addon') 5909 }) 5910 5911 5912 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5913 const parent = $(this).parents(".purchaseAddon") 5914 const next = parent.next(".sectionPurchase") 5915 parent.addClass("hide") 5916 next.removeClass("hide") 5917 next.find(".purchase-button").show() 5918 listAddon() 5919 }) 5920 5921 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5922 const t = $(this).parents("[data-index]") 5923 const parent = $(this).parents(".sectionPurchase") 5924 const current = t.data("index") 5925 const prevCurrent = Number(current) - 1 5926 if(current == 1) { 5927 parent.removeClass("purchaseAddonSpotify") 5928 parent.find(".purchase-button").show() 5929 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5930 $(".spotifyAddons").empty() 5931 $(".regulerAddons").show() 5932 return 5933 } 5934 t.hide() 5935 t.prev("[data-index]").show() 5936 t.remove() 5937 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5938 }) 5939 5940 $("#personalizeBtn .btn").click(async function() { 5941 loadPopupPersonalize() 5942 }); 5943 5944 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5945 $(".sectionPurchaseSpotify").hide() 5946 loadPopupPersonalize() 5947 }) 5948 5949 $(".close-purchase-popup").click(function() { 5950 disablePopup(); 5951 }); 5952 $("#backgroundPopup").click(function() { 5953 // disablePopup(); 5954 }); 5955 5956 $("#popupCart .close-purchase-popup").click(function() { 5957 location.reload() 5958 }); 5959 5960 $('#popupCart').on('hide.bs.modal', function (e) { 5961 location.reload() 5962 }) 5963 5964 $(".next-card").click(function(){ 5965 const parent = $(this).parents(".sectionPurchase") 5966 const next = parent.next(".sectionPurchase") 5967 parent.addClass("hide") 5968 next.removeClass("hide") 5969 }) 5970 5971 $(".back-purchase-button").click(function(){ 5972 const parent = $(this).parents(".sectionPurchase") 5973 const prev = parent.prev(".sectionPurchase") 5974 parent.addClass("hide") 5975 prev.removeClass("hide") 5976 }) 5977 5978 $(document).keypress(function(e) { 5979 if (e.keyCode == 27 && popupStatus == 1) { 5980 disablePopup(); 5981 } 5982 }); 5983 5984 const parentImg = $(".case-img-preview") 5985 const parentVid = $(".case-video-preview") 5986 5987 function readURL(input) { 5988 if (input.files && input.files[0]) { 5989 let reader = new FileReader(); 5990 5991 let type = 'image/jpeg' 5992 const size = input.files[0].size 5993 if(input.files[0].type.match('video/')){ 5994 type = 'video/mp4' 5995 if(size > 15728640) { 5996 alert('File size exceeds maximum limit 15 MB') 5997 return 5998 } 5999 } else { 6000 if(size > 5242880) { 6001 alert('File size exceeds maximum limit 5 MB') 6002 return 6003 } 6004 } 6005 6006 reader.onload = function (e) { 6007 $(".nextBtn").attr("disabled", true) 6008 if(type === 'image/jpeg') { 6009 6010 $('.placeholder-image').hide(); 6011 $('.preview-image').show() 6012 $('.preview-image').attr('src', e.target.result); 6013 6014 } else { 6015 // parentVid.find(".ajax-loader").show(); 6016 $(".steps-card-preview").addClass("loading") 6017 } 6018 } 6019 6020 6021 6022 reader.readAsDataURL(input.files[0]); 6023 } 6024 } 6025 6026 async function readURLPapan(input) { 6027 if (input.files && input.files[0]) { 6028 let reader = new FileReader(); 6029 6030 reader.onload = function (e) { 6031 $('.btn-upload-papan').siblings('label').hide(); 6032 $('.btn-upload-papan img').attr('src', e.target.result); 6033 $('.btn-upload-papan img').show(); 6034 $('.svgLogoPapan').hide(); 6035 } 6036 6037 const type = 'image/jpeg' 6038 const name = `logo-8144957800663-${Date.parse(new Date())}` 6039 6040 let formData = new FormData(); 6041 formData.append("file", input.files[0]); 6042 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6043 method: "POST", 6044 body: formData 6045 }) 6046 const result = await response.json(); 6047 if(result) { 6048 const url = result.url 6049 $("[data-properties=papan-logo]").val(url) 6050 } 6051
6052 reader.readAsDataURL(input.files[0]); 6053 } 6054 } 6055 6056 async function readURLAddress(input) { 6057 console.log(input, 'readURLAddress') 6058 if (input.files && input.files[0]) { 6059 let reader = new FileReader(); 6060 6061 reader.onload = function (e) { 6062 $('.photo-address').attr('src', e.target.result); 6063 $('.photo-address').show(); 6064 } 6065 6066 const type = 'image/jpeg' 6067 const name = input.files[0].name?.split('.')[0] 6068 6069 let formData = new FormData(); 6070 formData.append("file", input.files[0]); 6071 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6072 method: "POST", 6073 body: formData 6074 }) 6075 const result = await response.json(); 6076 6077 reader.readAsDataURL(input.files[0]); 6078 6079 return result 6080 } 6081 } 6082 6083 6084 6085 6086 async function addToCartUang() { 6087 var productAddOnId1 = 42122101162199; 6088 var productAddOnId2 = 42122101194967; 6089 var product_id = 8144957800663 6090 const data = { 6091 items: [ 6092 { 6093 quantity: $("#Quantity-" + productAddOnId1).val(), 6094 id: productAddOnId1, 6095 "properties": { "Time": $("#properties-time").val() } 6096 }, 6097 { 6098 quantity: $("#Quantity-" + productAddOnId2).val(), 6099 id: productAddOnId2, 6100 "properties": { "Time": $("#properties-time").val() } 6101 } 6102 ] 6103 } 6104 await fetch(window.Shopify.routes.root + 'cart/add.js', { 6105 method: 'POST', 6106 headers: { 6107 'Content-Type': 'application/json' 6108 }, 6109 body: JSON.stringify(data) 6110 }) 6111 .then(response => { 6112 console.error('Sukses Buket Uang:', response); 6113 $(".form-flower").submit() 6114 }) 6115 .catch((error) => { 6116 console.error('Error Buket Uang:', error); 6117 $(".form-flower").submit() 6118 }); 6119 } 6120 6121 async function saveCard(){ 6122 let isCard = true 6123 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 6124 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 6125 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 6126 const foto = $("#properties-photo").val() 6127 const video = $("#properties-video").val() 6128 const data = JSON.stringify({ 6129 "id": qrID, 6130 "penerima": $("#properties-nama-penerima").val(), 6131 "kartu_penerima": kartu_penerima, 6132 "kartu_ucapan": kartu_ucapan, 6133 "kartu_pengirim": kartu_pengirim, 6134 "foto": foto, 6135 "video": video, 6136 "productId": "8144957800663", 6137 "order_name": "", 6138 "status": "Cart" 6139 }) 6140 6141 6142 } 6143 6144 async function additem(items){ 6145 try { 6146 let formData = items 6147 if(items?.length) { 6148 formData = { 6149 'items': items 6150 }; 6151 } 6152 6153 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 6154 method: 'POST', 6155 headers: { 6156 'Content-Type': 'application/json', 6157 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 6158 }, 6159 body: JSON.stringify(formData) 6160 }) 6161 6162 const data = await add.json(); 6163 return data 6164 } catch(err){ 6165 console.log('Error additem', err) 6166 } 6167 } 6168 6169 async function addons(){ 6170 let items = [] 6171 $(".addon-item").each(function(){ 6172 const p = $(this) 6173 const props = p.next(".propsAddonSpotify") 6174 const id = $(this).data("id") 6175 const quantity = $(this).data("qty") 6176 const propId = $("#properties-time").val() 6177 let properties = {} 6178 if(id === 46067682607319) { 6179 const link = props.find(".spotifyLinkAddon").text() 6180 const photo = props.find(".spotifyFotoAddon").text() 6181 const song = props.find(".spotifySongAddon").text() 6182 const artist = props.find(".spotifyArtistAddon").text() 6183 properties = { 6184 id: propId, 6185 "Spotify Link": link !== '' ? link : '-', 6186 "Spotify Photo": photo !== '' ? photo : '-', 6187 "Spotify Song": song !== '' ? song : '-', 6188 "Spotify Artist": artist !== '' ? artist : '-', 6189 type: 'addon' 6190 } 6191 } else { 6192 properties = { 6193 "id": propId, 6194 "type": "addon" 6195 } 6196 } 6197 items.push({ 6198 id, 6199 quantity, 6200 properties 6201 }) 6202 }) 6203 return items 6204 } 6205 6206 async function propItems() { 6207 let props = {} 6208 $("[data-properties]").each(function(e){
6209 let elementType = this.tagName; 6210 const k = $(this).data("properties") 6211 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') { 6212 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6213 if(v !== '') { 6214 props[k] = v?.replace(/[\s\n]/g, ''); 6215 } 6216 } 6217 }) 6218 return props 6219 } 6220 6221 async function showPopupCart(items){ 6222 if(productType !== '') { 6223 console.log("clarity event " + productType + ' completeOrder') 6224 window.clarity("event", `${productType} completeOrder`) 6225 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6226 } 6227 $("#popupCart").show() 6228 6229 $(".propDeliveryCity").text($("#cities").val()) 6230 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6231 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6232 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6233 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6234 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6235 $(".propDeliveryProv").text($("#province").val()) 6236 $(".propDeliveryZip").text($("#zip").val()) 6237 6238 6239 6240 const addons = [] 6241 if(items && items.length > 0) { 6242 for(let i = 1; i < items.length; i++) { 6243 const spotifyLink = items[i].properties['Spotify Link'] 6244 const spotifyPhoto = items[i].properties['Spotify Photo'] 6245 const spotifySong = items[i].properties['Spotify Song'] 6246 const spotifyArtist = items[i].properties['Spotify Artist'] 6247 const price = items[i].price / 100 6248 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6249 <div class="col-12 col-lg-2"></div> 6250 <div class="col-12 col-lg-10"> 6251 <p> 6252 <span>spotify link</span> 6253 <span>${spotifyLink}</span> 6254 </p> 6255 <p> 6256 <span>Upload Photo</span> 6257 <span>${spotifyPhoto}</span> 6258 </p> 6259 <p> 6260 <span>song / playlist name</span> 6261 <span>${spotifySong}</span> 6262 </p> 6263 <p> 6264 <span>artist name</span> 6265 <span>${spotifyArtist}</span> 6266 </p> 6267 </div> 6268 </div>` : ''; 6269 addons.push(`<div class="row m-0"> 6270 <div class="imgAddonCart col-2"> 6271 <img 6272 width="43" 6273 src="${items[i].image}" 6274 alt="" 6275 > 6276 </div> 6277 <div class="imgAddonTitlePrice col-10 align-self-center"> 6278 <div class="row justify-content-between m-0"> 6279 <div class="col-12 col-lg-8"> 6280 <h5>${items[i].title}</h5> 6281 </div> 6282 <div class="col-12 col-lg-4 text-lg-right"> 6283 <span>${rupiah.format(price)}</span> 6284 </div> 6285 </div> 6286 </div> 6287 </div>${props}`) 6288 } 6289 } 6290 // console.log(addons) 6291 if(addons.length === 0) { 6292 $(".itemAddonCart").hide() 6293 return 6294 } 6295 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6296 $(".wrapperItemAddonCart").html(addons) 6297 } 6298 6299 const money = (money) => { 6300 return new Intl.NumberFormat('id-ID', 6301 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6302 ).format(money); 6303 } 6304 6305 async function showNoteMoney() { 6306 let qty50k = $("[data-properties='Uang 50k']").val() 6307 let qty100k = $("[data-properties='Uang 100k']").val() 6308 const total50k = Number(qty50k) * 50000 6309 const total100k = Number(qty100k) * 100000 6310 const total_all = total50k + total100k 6311 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6312 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6313 $(".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://ladangwin4d.com/resmi/" target="_blank" style="text-decoration: underline;
6313 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6314 } 6315 6316 async function removeImage() { 6317 const data = JSON.stringify({ 6318 "ID": $("#properties-properties-qrId").val(), 6319 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6320 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6321 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6322 "Nama Penerima": $("#properties-nama-penerima").val(), 6323 "Order Number":"", 6324 "Status":"Product", 6325 "Foto": "", 6326 "Media": $("#properties-video").val(), 6327 "Image": "8144957800663" 6328 }) 6329 const remove = updateCard(data) 6330 if(remove) { 6331 $(this).hide() 6332 $("#properties-photo").val("-") 6333 $(".placeholder-image").show() 6334 $(".preview-image").attr("src", "") 6335 } 6336 } 6337 6338 async function removeVideo() { 6339 const data = JSON.stringify({ 6340 "ID": $("#properties-properties-qrId").val(), 6341 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6342 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6343 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6344 "Nama Penerima": $("#properties-nama-penerima").val(), 6345 "Order Number":"", 6346 "Status":"Product", 6347 "Foto": $("#properties-photo").val(), 6348 "Media": "", 6349 "Image": "8144957800663" 6350 }) 6351 const remove = updateCard(data) 6352 if(remove) { 6353 $("#properties-video").val("-") 6354 $(this).find("img").hide() 6355 $(this).hide() 6356 $(this).prev("p").text("Add video to make it more special (optional)") 6357 $("#label-input-video").show() 6358 $("#label-input-video span").text("Upload Video") 6359 $(".case-video-preview p span").remove() 6360 } 6361 } 6362 6363 async function loadItemOccasion(t, occasion) { 6364 const name = occasion?.replace('greeting-card-', '') 6365 $("#kartu-ucapan").val("") 6366 $("[data-occassion]").removeClass("selected") 6367 $("[data-properties=ucapan]").val("") 6368 $("#save-card").attr("disabled", true) 6369 t.addClass("selected") 6370 $("#show_note").attr("data-card-occassion", name) 6371 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6372 const products = data.products 6373 const html = [] 6374 for(let i = 0; i < products.length; i++) { 6375 const id = products[i].id 6376 const variantId = products[i].variants[0].id 6377 const img = products[i].images[0].src 6378 const title = products[i].title 6379 const price = products[i].variants[0].price 6380 const qty = products[i].variants[0].inventory_quantity 6381 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6382 <label for="card-${variantId}"></label> 6383 <div class="card-image"> 6384 <img src="${img}" alt="${title}" width="" height="" /> 6385 </div> 6386 <div class="card-meta text-center"> 6387 <h5>${title}</h5> 6388 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6389 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6390 </div> 6391 </div>` 6392 html.push(body) 6393 } 6394 const withoutCard = `<div class="item-card item-without-card"> 6395 <label for="card-0"></label> 6396 <div class="card-image"> 6397 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6398 </div> 6399 <div class="card-meta text-center"> 6400 <h5>
6400Send without a greeting card</h5> 6401 <input id="card-0" type="radio" name="id" value="" data-price=""> 6402 </div> 6403 </div>` 6404 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6405 }); 6406 } 6407 6408 $(document).ready(function(){ 6409 6410 // Observer to auto-trigger addon loading when addon section becomes visible 6411 const addonObserver = new MutationObserver(function(mutations) { 6412 mutations.forEach(function(mutation) { 6413 const target = $(mutation.target) 6414 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6415 if(!target.hasClass('hide')) { 6416 // Addon section just became visible, ensure items are loaded 6417 setTimeout(function() { 6418 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6419 console.log("Auto-triggering addon load...") 6420 $("[data-addon=upsell-all]").trigger("click") 6421 } 6422 }, 150) 6423 } 6424 } 6425 }) 6426 }) 6427 6428 // Start observing addon section 6429 const addonSection = document.querySelector('.purchaseAddon') 6430 if(addonSection) { 6431 addonObserver.observe(addonSection, { 6432 attributes: true, 6433 attributeFilter: ['class'] 6434 }) 6435 } 6436 6437 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6438 6439 $(this).find("span").addClass("loading") 6440 let isValid = true 6441 $(".formAddressPurchase [required]").each(function(){ 6442 const t = $(this) 6443 const input = t.val() 6444 const p = t.parent() 6445 if(input === '') { 6446 p.addClass("error") 6447 isValid = false 6448 } 6449 }) 6450 6451 if(!isValid) { 6452 $(this).find("span").removeClass("loading") 6453 return 6454 } 6455 6456 let items = [] 6457 const mainProps = { 6458 6459 "Delivery Date": $("#propDeliveryDate").val(), 6460 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6461 "Kota Pengiriman": $("#cities").val(), 6462 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6463 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6464 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6465 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6466 6467 6468 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6469 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6470 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6471 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6472 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6473 6474 6475 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6476 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6477 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6478 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6479 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6480 "type": 'product' 6481 } 6482 const props = await propItems() 6483 properties = {...mainProps, ...props }; 6484 const id = $("#productSelect").find('option:selected').val() 6485 console.log(id, 'main ID') 6486 const mainItem = { 6487 id: Number(id), 6488 quantity: 1, 6489 properties 6490 } 6491 items.push(mainItem) 6492 const cardId = $("#itemCards").find(".selected input").val() 6493 const cardItem = { 6494 id: Number(cardId), 6495 quantity: 1, 6496 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6497 } 6498 console.log(cardId, 'cardId') 6499 if(cardId) { 6500 items.push(cardItem) 6501 } 6502 const addon = await addons() 6503 if(addon) { 6504 for(let i = 0;
6504 i < addon.length; i++){ 6505 items.push({ 6506 id: addon[i].id, 6507 quantity: addon[i].quantity, 6508 properties: addon[i].properties 6509 }) 6510 } 6511 } 6512 const addItems = await additem(items) 6513 console.log(addItems.items, 'add items') 6514 if(addItems) { 6515 $(this).find("span").removeClass("loading") 6516 disablePopup() 6517 showPopupCart(addItems.items) 6518 6519 localStorage.setItem("items", JSON.stringify(addItems.items)) 6520 } 6521 }) 6522 6523 $("#addtocart-cart .btn").click(async function(){ 6524 const id = $("#productSelect").find('option:selected').val() 6525 const mainProps = { 6526 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6527 type: 'product' 6528 } 6529 const props = await propItems() 6530 const properties = { ...mainProps, ...props }; 6531 const items = { 6532 id: Number(id), 6533 quantity: 1, 6534 properties 6535 } 6536 const addItems = await additem(items) 6537 if(addItems) { 6538 showPopupCart(addItems.items) 6539 localStorage.setItem("items", JSON.stringify(addItems)) 6540 } 6541 }) 6542 6543 $(".formAddressPurchase [required]").change(function(){ 6544 const t = $(this) 6545 const p = t.parent() 6546 const v = t.val() 6547 if(v !== '') { 6548 p.removeClass("error") 6549 } 6550 }) 6551 6552 $("#save-card").click(async function(){ 6553 const parent = $(this).parents(".sectionPurchase") 6554 const next = parent.next(".sectionPurchase") 6555 $(this).find("span").addClass("loading") 6556 const card = await saveCard() 6557 console.log(card, 'ssaveCCC') 6558 if(card?.status === 200 || card?.status === 201) { 6559 $(".scanCard").removeClass("hide") 6560 $(this).find("span").removeClass("loading") 6561 parent.addClass("hide") 6562 next.removeClass("hide") 6563 if(next.hasClass("purchaseAddon")) { 6564 $("[data-addon=upsell-all]").click() 6565 console.log("clarity event addons") 6566 window.clarity("event", `${productType} add-ons`) 6567 // Ensure addon items are loaded when entering addon popup 6568 setTimeout(function() { 6569 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6570 $("[data-addon=upsell-all]").trigger("click") 6571 } 6572 }, 100) 6573 } 6574 if(next.hasClass("purchaseAddress")) { 6575 $("#zip").select2() 6576 } 6577 } 6578 }) 6579 6580 $("#skip-card").click(async function(){ 6581 $("#greetingCard [data-properties]").val("") 6582 $("#properties-photo").val("") 6583 $("#properties-video").val("") 6584 const parent = $(this).parents(".sectionPurchase") 6585 const next = parent.next(".sectionPurchase") 6586 parent.addClass("hide") 6587 next.removeClass("hide") 6588 // $("#itemCards").html("") 6589 removeImage() 6590 removeVideo() 6591 if(next.hasClass("purchaseAddon")) { 6592 $("[data-addon='upsell-all']").click() 6593 console.log("clarity event addons") 6594 window.clarity("event", `${productType} add-ons`) 6595 // Ensure addon items are loaded when entering addon popup 6596 setTimeout(function() { 6597 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6598 $("[data-addon='upsell-all']").trigger("click") 6599 } 6600 }, 100) 6601 } 6602 if(next.hasClass("purchaseAddress")) { 6603 $("#zip").select2() 6604 } 6605 }) 6606 6607 $("#msgCard").click(async function(){ 6608 $(this).parent().addClass("loading") 6609 let occasion = $(".selected[data-occassion]").data("occassion") 6610 occasion = occasion?.replace("greeting-card-", "") 6611 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6612 const d = data?.data 6613 for(let i = 0; i < d.length; i++) { 6614 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6615 const greeting = d[num]?.Greeting 6616 $(".greetingCard textarea").val(greeting) 6617 $(this).parent().removeClass("loading") 6618 } 6619 $("#save-card").attr("disabled", false) 6620 }) 6621 6622 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6623 const parent = $(this).parents(".sectionPurchase") 6624 const next = parent.next(".sectionPurchase") 6625 parent.addClass("hide") 6626 next.removeClass("hide") 6627 }) 6628 6629 $("#editCard").click(function(){ 6630 $(".custom-card").show() 6631 $(".preview-card").hide() 6632 }) 6633 6634 $("#first_name, #last_name").change(function(){ 6635 const v = $(this).val() 6636 const first_name = $("#first_name").val() 6637 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6638 $("[data-properties=nama-penerima]").val(first_name+last_name) 6639 }) 6640 6641 $("[data-occassion]").click(function(){ 6642 const t = $(this) 6643 const p = t.parents(".sectionPurchase") 6644 // $(".greetingCard").addClass("disabled") 6645 const occasion = t.data("occassion") 6646 loadItemOccasion(t, occasion) 6647 }) 6648 6649 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6650 const id = $(this).parent(".item-card").data("id") 6651 const t = $(this).parent(".item-card") 6652 const target = t.find("input") 6653 const v = $('.item-card input[type="radio"]:checked').val(); 6654 $("#itemCards .item-card").removeClass("selected") 6655 t.addClass("selected") 6656 $("#itemCards .item-card").find("input").attr("name", "") 6657 if(target.length > 0) { 6658 target.attr("name", "id[]") 6659 $("#properties-card").val(id) 6660 $(".greetingCard").removeClass("disabled") 6661 $("#skip-card").attr("disabled", false) 6662 } else { 6663 $("#properties-card").val("") 6664 } 6665 }) 6666 6667 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6668 const parent = $(this).parents(".sectionPurchase") 6669 const next = parent.next(".sectionPurchase") 6670 $(".greetingCard").addClass("disabled") 6671 parent.addClass("hide") 6672 next.removeClass("hide") 6673 $("[data-addon=upsell-all]").click() 6674 $("#zip").select2() 6675 }) 6676 6677 $("[data-properties=ucapan]").keyup(function(){ 6678 const v = $(this).val() 6679 const p = $(this).parents(".sectionPurchase") 6680 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6681 if(v.length > 3) { 6682 p.find(".next-purchase-button").attr("disabled", false) 6683 } else { 6684 p.find(".next-purchase-button").attr("disabled", true) 6685 } 6686 }) 6687 6688 $("[data-properties=penerima]").keyup(function(){ 6689 const v = $(this).val() 6690 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6691 }) 6692 6693 $("[data-properties=pengirim]").keyup(function(){ 6694 const v = $(this).val() 6695 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6696 }) 6697 6698 $(document).click(function(e){
6699 6700 if($(e.target).closest('.wrapperPopupCart').length != 0) return false; 6701 // $('#popupCart').fadeOut('slow'); 6702 // location.reload() 6703 }); 6704 6705 $(".toggleAddonCart").click(function(){ 6706 const p = $(this).parent(".itemAddonCart") 6707 p.toggleClass("open") 6708 }) 6709 6710 $(".btnViewCart").click(function(){ 6711 window.location.href = "https://outerbloom.com/cart"; 6712 }) 6713 6714 $(".btnViewCheckout").click(async function(){ 6715 $(this).find("span").addClass("loading") 6716 let zip = $("#zip").val() 6717 const first_name = $("#first_name").val() 6718 const last_name = $("#last_name").val() 6719 const company = $("#company").val() !== '' ? $("#company").val() : '' 6720 const address1 = $("#delivery_address").val() 6721 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6722 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6723 const phone = $("#recipient_number").val() 6724 const city = $("#cities").val() 6725 const province = $("#province").val() 6726 const country = 'Indonesia' 6727 const ver = Date.parse(new Date()) 6728 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}` 6729 6730 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6731 if(clear.status === 200) { 6732 const savedItem = window.localStorage.getItem("items"); 6733 const items = JSON.parse(savedItem) 6734 const addItems = await additem(items) 6735 console.log(addItems, 'new addItems') 6736 if(addItems) { 6737 window.location.href = `https://outerbloom.com/checkout?${params}`; 6738 } 6739 } 6740 }) 6741 6742 $(".btnContinueShopping").click(function(){ 6743 window.location.href = "https://outerbloom.com/"; 6744 }) 6745 6746 if (isIOS) { 6747 $(".empty-state-card").click(function(){ 6748 $("#input-foto").trigger("click") 6749 }) 6750 $(".btn-upload-image").click(function(){ 6751 $("#input-foto").trigger("click") 6752 }) 6753 $("[for=input-video]").click(function(){ 6754 $("#input-video").trigger("click") 6755 }) 6756 $(".btn-upload-papan").click(function(){ 6757 $("#logoPapan").trigger("click") 6758 }) 6759 } 6760 6761 $("[data-properties]").each(function(){ 6762 const select = $(this).parents(".form-group").find("select") 6763 $(this).change(function(){ 6764 const name = $(this).data("properties") 6765 const v = $(this).val() 6766 if (name == 'telepon-penerima') { 6767 let phone = v.replace(/[^0-9]/g, '') 6768 $(this).val(phone); 6769 $("#properties-telepon-penerima").val(phone) 6770 $('.iti__search-input').val('-') 6771 } else { 6772 $("#properties-" + name).val(v) 6773 } 6774 }) 6775 select.on("change", function(){ 6776 const name = $(this).data("properties") 6777 const v = $(this).val() 6778 $("#properties-" + name).val(v) 6779 }) 6780 }) 6781 6782 $("#show_note").click(function(){ 6783 nameq = $("#properties-nama-penerima").val() 6784 dear = $("#properties-kartu-nama-penerima").val() 6785 card = $("[data-properties=ucapan]").val() 6786 sender = $("#properties-kartu-nama-pengirim").val() 6787 photo = $("#properties-photo").val() 6788 video = $("#properties-video").val() 6789 updateCard(nameq, dear, card, sender, photo, video, status) 6790 }) 6791 6792 $(".remove-image").click(function(e){ 6793 e.preventDefault() 6794 $(this).find("img").show() 6795 removeImage() 6796 }) 6797 6798 $(".remove-media").click(function(e){ 6799 e.preventDefault() 6800 $(this).find("img").show() 6801 removeVideo() 6802 }) 6803 6804 6805 6806 $("[data-delivery_method]").click(function(e){ 6807 e.preventDefault() 6808 const t = $(this) 6809 const data = t.data("delivery_method") 6810 $("[data-delivery_method]").removeClass("selected") 6811 t.addClass("selected") 6812 $("#cities").val("") 6813 $("#properties-delivery-date").val("-") 6814 $("#deliveryDate button").removeClass("selected") 6815 $("#full-date").val("Full Calendar â") 6816 $("#propDeliveryDate").val("") 6817 const step3 = $("#step-3") 6818 if(data.match('PickUp')) { 6819 $(".selfpickup-point").show() 6820 step3.find("[data-finished=false]").hide() 6821 $("#panel-4").hide() 6822 step3.find("[data-finished=true]").show() 6823 $("#cities").attr("required", false) 6824 $("#form-group-city").hide() 6825 $("#row-delivery-time").hide() 6826 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6827 $("#propDeliveryTime").attr("required", false) 6828 // $("#deliveryDate").find("button:first-child").addClass("stop") 6829 $(".form-selfpickup").show() 6830 $(".form-delivery").hide() 6831 $(".form-delivery").find("input, textarea, select").val("") 6832 $(".form-delivery").find("input, textarea, select").attr("required", false) 6833 $("#properties-shipping").val("0") 6834 $("#noteDeliveryDate").hide() 6835 $(".form-delivery .form-control").attr("required", false) 6836 $("#stepNav4").hide() 6837 6838 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6839 6840 6841 6842 if(timeOfDay >= 16.01){ 6843 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6844 } 6845 } else { 6846 6847 6848 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6849 step3.find("[data-finished=false]").show() 6850 $("#panel-4").show() 6851 step3.find("[data-finished=true]").hide() 6852 $("#cities").attr("required", true) 6853 $(".selfpickup-point").hide() 6854 $("#form-group-city").show() 6855 $("#cities").val('').trigger('change'); 6856 $("#properties-kota-pengiriman").val("-") 6857 6858 $("#row-delivery-date, #row-delivery-time").show() 6859 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6860 $("#deliveryDate").find("button").removeClass("stop") 6861 $(".form-selfpickup").hide() 6862 $(".form-delivery").show() 6863 $(".form-delivery").find("input, textarea, select").attr("required", true)
6864 $(".form-delivery [data-properties]").attr("readonly", false) 6865 $("#properties-kodepos").val("-") 6866 $("#properties-alamat-penerima").val("-") 6867 $(".form-delivery .form-control").attr("required", true) 6868 $(this).parents(".setup-content").attr("id", "step-1") 6869 6870 $("#stepNav4").show() 6871 } 6872 }) 6873 6874 $("[name=selfpickup]").click(function(){ 6875 const p = $(this).parents(".row-pickup") 6876 const pickupCity = $("input[name='selfpickup']:checked").val(); 6877 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6878 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6879 6880 $(".row-pickup").removeClass("selected") 6881 p.addClass("selected") 6882 6883 $("#properties-kota-pengiriman").val(pickupCity) 6884 $("#province").val("Jakarta") 6885 $("#properties-alamat-penerima").val(pickupAddress) 6886 $("#properties-kodepos").val(pickupZip) 6887 }) 6888 6889 $("#cities").change(function(e){ 6890 e.preventDefault() 6891 $(this).parent(".row").find("p.error").remove() 6892 $("#full-date").val("Full Calendar") 6893 $("#deliveryDate, #deliveryDateFull label ").show() 6894 $("#deliveryDateFull").removeClass("filled") 6895 $(".btnChangeDeliveryDate").addClass("hide") 6896 $("#full-date").prop('disabled', false); 6897 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6898 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6899 const step3 = $("#step-3") 6900 $("#cityNote").remove() 6901 $("#noteDeliveryDate").hide() 6902 $("#noteDeliveryDate").empty() 6903 let v = $(this).val() 6904 let v2 = $('option:selected', this).attr('data-city'); 6905 let v3 = $('option:selected', this).attr('data-province'); 6906 let price = $('option:selected', this).attr('data-price'); 6907 $("#country").val(v) 6908 $("#properties-kota-pengiriman").val(v) 6909 $("#properties-shipping").val(price) 6910 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6911 $("#properties-delivery-date, #properties-delivery-time").val("-") 6912 $("#propDeliveryDate, #propDeliveryTime").val("") 6913 let note = $('option:selected', this).attr('data-note'); 6914 if(v === 'Kota Lainnya') { 6915 $("#noteDeliveryDate").show() 6916 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6917 $("#zip").attr("required", false) 6918 $("#zip").hide() 6919 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6920 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6921 $("#row-delivery-date, #row-delivery-time").hide() 6922 $("#properties-shipping").val("") 6923 // $(this).parents(".setup-content").attr("id", "step-2") 6924 6925 } else { 6926 $("#noteDeliveryDate").hide() 6927 $("#zip").attr("required", true) 6928 $("#zip").show() 6929 $("#row-delivery-date, #row-delivery-time").show() 6930 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6931 $("#deliveryDate").find("button").removeClass("stop") 6932 // $(this).parents(".setup-content").attr("id", "step-1") 6933 6934 } 6935 6936 6937 6938 // if(v !== 'Jakarta') { 6939 // $("[data-type=upsell]").hide() 6940 // } else { 6941 // $("[data-type=upsell]").show() 6942 // } 6943 // $('.collection-addons')[0].swiper.update(); 6944 6945 6946 getProvince(v) 6947 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6948 renderZip(v, v2, v3) 6949 6950 disabledSameDay() 6951 6952 6953 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6954 6955 $("#cardOccasion, #navAddon, .collection-addons").hide() 6956 6957 $("[data-addon=giftcard]").show() 6958 $("[data-addon=giftcard]").click() 6959 $("#itemAddons").show() 6960 $("#flower-step").addClass("nonjadetabek") 6961 } else { 6962 $("#cardOccasion, #navAddon, .collection-addons").show() 6963 $("[data-addon=all]").click() 6964 $("#flower-step").removeClass("nonjadetabek") 6965 } 6966 6967 if(v !== '') { 6968 $("#personalizeBtn .btn").attr("disabled", false) 6969 } else { 6970 $("#personalizeBtn .btn").attr("disabled", true) 6971 } 6972 6973 }) 6974 6975 $("#zip").change(function(e){
6976 let v = $(this).val() 6977 var city = $("#cities").find('option:selected'); 6978 $("#properties-kodepos").val(v) 6979 if(city === 'Kota Lainnya') { 6980 $(this).attr("required", true) 6981 $("#recipient-address").val("") 6982 } 6983 }) 6984 6985 6986 var minDate = +7 6987 6988 6989 6990 $("#full-date").datepicker({ 6991 minDate, 6992 dateFormat: 'Mdd_yy', //Nop22_2021, 6993 6994 beforeShowDay: disabledays, 6995 6996 onSelect: function (date) { 6997 $("#deliveryDate, #deliveryDateFull label ").hide() 6998 $("#deliveryDateFull").addClass("filled") 6999 $(".btnChangeDeliveryDate").removeClass("hide") 7000 $("#full-date").prop('disabled', true); 7001 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 7002 $(".date-full").addClass("selected") 7003 $(".date-single, .calendar-group").removeClass("selected") 7004 $("#propDeliveryTime").val('') 7005 $("#properties-delivery-time").val('-') 7006 $(".time-single").removeClass("selected") 7007 7008 7009 } 7010 }); 7011 7012 $(".btnChangeDeliveryDate").click(function(){ 7013 $("#deliveryDate, #deliveryDateFull label ").show() 7014 $("#deliveryDateFull").removeClass("filled") 7015 $(".btnChangeDeliveryDate").addClass("hide") 7016 $("#full-date").prop('disabled', false); 7017 }) 7018 7019 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 7020 e.preventDefault() 7021 $(this).parents("#row-delivery-date").find("p.error").remove() 7022 const fulldate = $(this).data("fulldate") 7023 const day = $(this).data("day") 7024 const date = $(this).data("date")
7025 const month = $(this).data("month") 7026 const year = $(this).data("year") 7027 const off_pagi = $(this).data("offpagi") 7028 const off_siang = $(this).data("offsiang") 7029 const off_Malam = $(this).data("offMalam") 7030 $(".calendarbutton").removeClass("selected") 7031 $(this).addClass("selected") 7032 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 7033 $("#propDeliveryTime").val('') 7034 $("#properties-delivery-time").val('-') 7035 $(".calendarbutton2").removeClass("selected") 7036 $("#full-date").val("Full Calendar") 7037 7038 7039 if(off_pagi && timeOfDay > off_pagi) { 7040 $("[data-time=Morning]").attr("disabled", true) 7041 } else { 7042 $("[data-time=Morning]").attr("disabled", false) 7043 } 7044 if(off_siang && timeOfDay > off_siang) { 7045 $("[data-time=Afternoon]").attr("disabled", true) 7046 } else { 7047 $("[data-time=Afternoon]").attr("disabled", false) 7048 } 7049 7050 7051 7052 }) 7053 7054 if(today === 14 && timeOfDay > 17.00) { 7055 $("#deliveryDate button:first-child").attr("disabled", true) 7056 } 7057 7058 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 7059 e.preventDefault() 7060 const time = $(this).data("time") 7061 const date = $("#propDeliveryDate").val() 7062 if(date == '') { 7063 return alert('Silakan pilih tanggal terlebih dahulu') 7064 } 7065 $(".calendarbutton2").removeClass("selected") 7066 $(this).addClass("selected") 7067 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 7068 }) 7069 7070 $('textarea.has-limit, input.has-limit').keyup(function () { 7071 max = this.getAttribute("maxlength"); 7072 let len = $(this).val().length; 7073 let limit = $(this).siblings(".limit"); 7074 if (len > max) { 7075 alert('you have reached the limit'); 7076 } else { 7077 limit.text(`${len}/${max}`); 7078 } 7079 }); 7080 7081 $("#button-action-step .btn").click(function(){ 7082 $(this).find("span").text("Processing..."); 7083 }); 7084 7085 $(".finishBtn").on('click', function() { 7086 $(this).addClass("is-adding"); 7087 // $(this).click(); 7088 }); 7089 7090 $('.setup-panel .nav-item a.btn-success').trigger('click'); 7091 7092 $("#button-action .btn").click(function(){ 7093 $("#flower-step").addClass("block"); 7094 $("#button-action").hide(); 7095 }); 7096 7097 $(".close-how-order").click(function(){ 7098 $("#flower-step").removeClass("block"); 7099 $("#button-action").show(); 7100 }); 7101 7102 $("#input-foto, #input-video").change(function(e){ 7103 readURL(this); 7104 }); 7105 7106 $("#logoPapan").change(function(){ 7107 readURLPapan(this); 7108 }); 7109 7110 $("#address-upload").change(async function(){ 7111 const upload_address = await readURLAddress(this) 7112 if(upload_address) { 7113 const url = upload_address.url 7114 $(".props-address-upload").val(url) 7115 $(".form-address").addClass("address-uploaded") 7116 $(".form-address-upload").addClass("uploaded") 7117 7118 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 7119 } 7120 }) 7121 7122 $(".address-manualy").click(function(){ 7123 $(".form-address-upload").removeClass("uploaded"); 7124 $(".photo-address").hide(); 7125 $(".form-address").removeClass("address-uploaded") 7126 $("#formAddressPurchase").find(".form-control").attr("required", true) 7127 }); 7128 7129 $(".case-video-preview").delegate(".replace-video", "click", function(){ 7130 $("#input-video").trigger("click") 7131 }) 7132 7133 $('.date-single').click(function(e) { 7134 e.preventDefault(); 7135 $('.date-single').removeClass('selected'); 7136 $('#full-date').removeClass('selected'); 7137 $(this).addClass('selected'); 7138 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 7139 }); 7140 $('#full-date').click(function(e){ 7141 e.preventDefault(); 7142 $('.date-single').removeClass('selected'); 7143 $(this).addClass('selected'); 7144 }); 7145 7146 // $("tr").each(function(){ 7147 // if($(this).text().match('SKU')) { 7148 // $(".sku-product").html($(this).parents("table").html()) 7149 // } 7150 // }) 7151 7152 $("#product-image").scroll(function(){ 7153 $(".desc-add").each(function(){ 7154 const img = $(this).find("img") 7155 const src = img.data("src") 7156 img.attr("src", src) 7157 }) 7158 }) 7159 7160 $(".product-fixed").hide() 7161 7162 let target = $("#personalizeBtn") 7163 7164 7165 $(".product-meta").scroll(function() { 7166 if ($(window).scrollTop() >= target.offset().top ) { 7167 $(".product-fixed").addClass("show") 7168 } else { 7169 $(".product-fixed").removeClass("show") 7170 } 7171 });
7172 7173 $(window).scroll(function() { 7174 if ($(window).scrollTop() >= target.offset().top ) { 7175 $(".product-fixed").addClass("show") 7176 } else { 7177 $(".product-fixed").removeClass("show") 7178 } 7179 }); 7180 }); 7181</script>
7181 7182 7183
7183<script> 7184 // 7185 </script>
7185 7186
7187<script> 7188 $(document).ready(function(){ 7189 $('table tr td').each(function(){ 7190 var texto = $(this).text(); 7191 var nextto = $(this).next("td"); 7192 var sku = $("#data-sku").val() 7193 if(texto == 'SKU'){ 7194 nextto.text(sku) 7195 } 7196 }); 7197 7198 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 7199 $(".stamped-summary-actions-newreview").text("Tulis Review"); 7200 $("#tab-questions").text("Pertanyaan"); 7201 7202 $(".freeship .icon").click(function(){ 7203 $(".fs-content").slideToggle(); 7204 $(this).parents(".freeship").toggleClass("expand"); 7205 }); 7206 7207 var $easyzoom = $('.easyzoom').easyZoom(); 7208 // Setup thumbnails example 7209 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 7210 $('.thumbnails').on('click', 'a', function(e) { 7211 var $this = $(this); 7212 e.preventDefault(); 7213 // Use EasyZoom's `swap` method 7214 api1.swap($this.data('standard'), $this.attr('href')); 7215 }); 7216 7217 $('#playerID').click(function(){ 7218 var videoURL = $('#VdoID').attr('src'), 7219 dataplay = $('#VdoID').attr('data-play'); 7220 7221 //for check autoplay 7222 //if not set autoplay=1 7223 if(dataplay == 0 ){ 7224 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7225 $('#VdoID').attr('data-play',1); 7226 } 7227 else{ 7228 var videoURL = $('#VdoID').attr('src'); 7229 videoURL = videoURL.replace("?autoplay=1", ""); 7230 $('#VdoID').prop('src',''); 7231 $('#VdoID').prop('src',videoURL); 7232 7233 $('#VdoID').attr('data-play',0); 7234 } 7235 7236 }); 7237 7238 $(".product-photo-thumb-video").click(function(e){ 7239 e.preventDefault(); 7240 7241 var newEmbed = $(this).attr('href'); 7242 $("#featured-image-product").addClass("img-video"); 7243 $("#ProductPhotoImg").hide(); 7244 $("#featured-image-product .video").show(); 7245 $("#featured-image-product iframe").attr('src', newEmbed); 7246 $("#VdoID")[0].src += "&autoplay=1"; 7247 }); 7248 $(".product-single__thumbnail").click(function(evt){ 7249 evt.preventDefault(); 7250 $("#featured-image-product").removeClass("img-video"); 7251 $("#ProductPhotoImg").show(); 7252 $("#featured-image-product .video").hide(); 7253 $("#featured-image-product iframe").attr('src', ''); 7254 }); 7255 7256 if($('#product-meta .short-desc > div').length >= 1){ 7257 //console.log('div detected') 7258 var replacer = $('#product-meta .short-desc > div').contents(); 7259 $('#product-meta .short-desc > div').replaceWith(replacer); 7260 7261 var cAssured = $('.c-assured').detach(); 7262 cAssured.insertAfter('.meta-sds .stock-info'); 7263 } 7264 7265 7266 7267 $(".heading-toggle").click(function(){ 7268 $(this).parent().toggleClass("open") 7269 7270 }); 7271 }); 7272</script>
7272 7273 7274 7275
7275<script type="application/json" id="ProductJson-Product"> 7276 7277 {"id":8144957800663,"title":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya."} 7278 </script>
7278 7279 7280
7280<script type="application/json" id="VariantJson-Product"> 7281 [ 7282 7283 { 7284 "incoming": false, 7285 "next_incoming_date": null 7286 } 7287 7288 ] 7289 </script>
7289 7290 7291 7292 7293 7294</div> 7295 7296
7297<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7297 7298<style> 7299 .stamped-review-header-title, 7300 .stamped-review-header .author, 7301 .stamped-review-content-body, 7302 .stamped-sort-select, 7303 .stamped-review-header .verified-badge[data-type=buyer]:after, 7304 .stamped-review-header-byline, 7305 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7306 .stamped-review {margin-bottom: 0;} 7307 .stamped-review-body {padding-left: 65px;} 7308 .stamped-review:first-child {padding-top: 25px;} 7309 .stamped-review-content {clear: none;} 7310 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7311 .stamped-review-reply-body {padding-left: 65px;} 7312 .stamped-review-header .author {text-transform: capitalize;} 7313 .stamped-questions .stamped-review-content {padding-left: 65px;} 7314 7315 .stamped-pagination {margin: 20px 0 0;} 7316 .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;} 7317 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7318 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7319 .stamped-pagination li:hover a {background: #ddd;} 7320 .stamped-pagination .next {border-right: 1px solid #ccc;} 7321 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7322 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7323 7324 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7325 #stamped-pagination-question span {font-size: 14px;} 7326 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7327 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7328 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7329 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7330 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7331 7332 @media (max-width: 480px){ 7333 .stamped-review-reply {margin-left: 0!important;} 7334 select.stamped-sort-select {font-size: 13px!important;} 7335 } 7336 7337 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7338 display: block !important; 7339 } 7340</style>
7341<script> 7342 var selectCallback = function(variant, selector) { 7343 timber.productPage({ 7344 money_format: "Rp {{amount_no_decimals}}", 7345 variant: variant, 7346 selector: selector 7347 }); 7348 }; 7349 7350 jQuery(function($) { 7351 new Shopify.OptionSelectors('productSelect', { 7352 product: 7353 7354 7355 7356 7357 7358{"id":8144957800663,"title":"WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya."}, 7359 onVariantSelected: selectCallback, 7360 enableHistoryState: true 7361 }); 7362 7363 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7364 7365 7366 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7367 7368 $('.selector-wrapper').hide(); 7369 7370 }); 7371</script>
7371 7372 7373 7374 7375
7375<script type="application/ld+json"> 7376 { 7377 "@context": "http://schema.org", 7378 "@type": "Product", 7379"offers": { 7380"@type": "Offer", 7381"availability":"https://schema.org/InStock", 7382"price": 835000, 7383"priceValidUntil": "05-10-2025", 7384"priceCurrency": "IDR", 7385"url": "http://win4dream.com/" 7386}, 7387"brand": { 7388"@type": "Brand", 7389"name": "Outerbloom Florist" 7390}, 7391"sku": "8144957800663", 7392"gtin13": "Jawa", 7393"name": "WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia", 7394"description": "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.", 7395"category": "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.", 7396"url": "http://win4dream.com/", 7397"image": { 7398"@type": "ImageObject", 7399"url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7400"image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7401"name": "WIN4D ð® Rasakan Experience Dengan kami Salah Satu Website Gaming Terpopuler Dukungan Kredibel Di Indonesia", 7402"width": 1024, 7403"height": 1024 7404} 7405 } 7406 </script>
7406 7407 7408 7409 7410 7411
7412<script id="bss-ltap-hide-price" type="text/javascript" > 7413!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)}))}
7413)),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)}
7413)),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()}
7413if("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)}
7413if(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");
7413c&&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
7413-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");
7413i&&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
7413--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
7413opify.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");
7413e.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=
7413o.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");
7413if(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();
7413let 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()}]); 7414</script>
7414 7415 7416 </main> 7417 7418 <div id="shopify-section-newsletter" class="shopify-section"><br> 7419 <style> 7420 #shopify-section-newsletter { 7421 background: url(https://ladangwin4d.com/resmi/untitleddesign-win4d.png); 7422 background-attachment: fixed; 7423 margin-bottom: 0; 7424 } 7425 input:-webkit-autofill, 7426 input:-webkit-autofill:hover, 7427 input:-webkit-autofill:active, 7428 input:-webkit-autofill:focus { 7429 -webkit-box-shadow:0 0 0 50px white inset; 7430 -webkit-text-fill-color: #ffffff; 7431 } 7432 .section-newsletter { 7433 max-width: 800px; 7434 margin: auto; 7435 padding: 50px 0; 7436 } 7437 .section-newsletter h2 { 7438 font-weight: 700; 7439 font-size: 24px; 7440 } 7441 .section-newsletter input[type="email"] { 7442 width: 100%; 7443 text-align: center; 7444 border: none; 7445 border-bottom: 1px solid #ffffff; 7446 font-size: 16px; 7447 color: #757575; 7448 background-color: #eeeeee; 7449 } 7450 .section-newsletter .row label { 7451 font-size: 14px; 7452 cursor: pointer; 7453 } 7454 .section-newsletter .radio-inline input { 7455 width: auto; 7456 } 7457 .section-newsletter .btn { 7458 width: 130px; 7459 border: 1px solid #ffffff; 7460 box-shadow: none; 7461 font-size: 16px; 7462 font-weight: 500; 7463 text-transform: uppercase; 7464 } 7465 .section-newsletter form { 7466 margin: 30px 0 60px; 7467 } 7468 .section-newsletter input[type="radio"] { 7469 position: absolute; 7470 width: 1px; 7471 height: 1px; 7472 } 7473 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7474 position: relative; 7475 padding-left: 28px; 7476 cursor: pointer; 7477 line-height: 20px; 7478 display: inline-block; 7479 color: #666; 7480 } 7481 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7482 content: ''; 7483 position: absolute; 7484 left: 0; 7485 top: 0; 7486 width: 18px; 7487 height: 18px; 7488 border: 1px solid #ddd; 7489 border-radius: 100%; 7490 background: #fff; 7491 } 7492 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7493 content: ''; 7494 width: 12px; 7495 height: 12px; 7496 background: #ffffff; 7497 position: absolute; 7498 top: 3px; 7499 left: 3px; 7500 border-radius: 100%; 7501 -webkit-transition: all 0.2s ease; 7502 transition: all 0.2s ease; 7503 } 7504 .section-newsletter [type="radio"]:not(:checked) + label:after { 7505 opacity: 0; 7506 -webkit-transform: scale(0); 7507 transform: scale(0); 7508 } 7509 .opt-newsletter {display:none;} 7510 .footer-newsletter p, .footer-newsletter p a { 7511 color: #757575; 7512 } 7513 @media (max-width:991px){ 7514 .section-newsletter h2 { 7515 font-size: 32px; 7516 } 7517 .section-newsletter input { 7518 width: 300px; 7519 font-size: 14px; 7520 } 7521 .section-newsletter { 7522 padding: 50px 20px; 7523 } 7524 } 7525 @media (max-width: 480px){ 7526 .section-newsletter input[type="email"] {font-size: 16px;} 7527 } 7528 </style> 7529 <style> 7530.icon-img-footer { 7531 width: 80px; 7532 padding: 0px 5px; 7533} 7534@media (min-width: 768px) { 7535 .icon-img-footer { 7536 width: 120px; 7537 } 7538} 7539@media (min-width: 992px) { 7540 .icon-img-footer { 7541 width: 120px; 7542 } 7543} 7544 7545 .button-login-daftar { 7546 display: grid; 7547 grid-template-columns: repeat(2, 1fr); 7548 font-weight: 700; 7549 } 7550 .button-login-daftar a { 7551 text-align: center; 7552 } 7553 .login, 7554 .register { 7555 color: #fff; 7556 padding: 15px 10px; 7557 font-size: 23px; 7558 } 7559 .login, 7560 .login-button { 7561 background: linear-gradient(to bottom, #540076 0, #8f2b76 100%); 7562 border: 2px solid #ffffff; 7563 } 7564 .register, 7565 .register-button { 7566 background: linear-gradient(to bottom, #540076 0, #8f2b76 100%); 7567 border: 2px solid #ffffff; 7568 } 7569 7570 7571 7572</style> 7573 7574<!-- wp:html --> 7575
7575<script> 7576 document.addEventListener('DOMContentLoaded', 7577 function(){const faqItems=document.querySelectorAll('.faq-item'); 7578 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7579 question.addEventListener('click', 7580 ()=>{const isActive=item.classList.contains('active'); 7581 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7582 if(!isActive){item.classList.add('active')}})})}); 7583 </script>
7583 7584 7585 7586 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7587 </div> 7588<div class="faq-section"> 7589 <h2>FAQ</h2> 7590 <div class="faq-container"> 7591 7592 <div class="faq-item"> 7593 <button class="faq-question"> 7594 Apa sih yang bikin WIN4D beda dari platform gaming lainnya? 7595 <span></span> 7596 </button> 7597 <div class="faq-answer"> 7598 <p> 7599 Bedanya jauh, bro! Di saat platform lain gak jelas izinnya dan sering bikin was-was, WIN4D adalah salah satu platform gaming terpercaya yang memegang sertifikat resmi di Indonesia. Ini jaminan kalau modal dan kemenangan lo 100% aman tanpa drama. 7600 </p> 7601 </div> 7602</div> 7603 7604<div class="faq-item"> 7605 <button class="faq-question"> 7606 Apakah bermain di WIN4D beneran aman dan adil (fair play)? 7607 <span></span> 7608 </button> 7609 <div class="faq-answer"> 7610 <p> 7611 Jelas aman, bro. Sebagai platform gaming terpercaya dengan sertifikat resmi di Indonesia, WIN4D udah ngelewatin proses audit super ketat dari lembaga internasional. Sistem game di sini transparan, pakai RTP riil, dan bebas dari manipulasi bot. 7612 </p> 7613 </div> 7614</div> 7615 7616<div class="faq-item"> 7617 <button class="faq-question"> 7618 Benarkah semua kemenangan di WIN4D pasti dibayar? 7619 <span></span> 7620 </button> 7621 <div class="faq-answer"> 7622 <p> 7623 Pasti dibayar tuntas, bro! Data internal membuktikan WIN4D punya rekam jejak 0% kasus fraud. Menang berapapun, detik itu juga lo ajuin withdraw, langsung diproses tanpa dipersulit. 7624 </p> 7625 </div> 7626</div> 7627 7628<div class="faq-item"> 7629 <button class="faq-question"> 7630 Berapa lama proses transaksi deposit dan withdraw di sini? 7631 <span></span> 7632 </button> 7633 <div class="faq-answer"> 7634 <p> 7635 Gak pakai lama sampai berjam-jam. Rata-rata proses transaksi (baik depo maupun WD) di WIN4D itu di bawah 3 menit. Sangat cepat, aman, dan efisien. 7636 </p> 7637 </div> 7638</div> 7639 7640<div class="faq-item"> 7641 <button class="faq-question"> 7642 Bagaimana dengan keamanan data pribadi saya di WIN4D? 7643 <span></span> 7644 </button> 7645 <div class="faq-answer"> 7646 <p> 7647 Data lo 100% aman, bro. WIN4D menggunakan sistem enkripsi ketat setara perbankan untuk memastikan seluruh informasi member terlindungi. Bergabunglah bersama kami dan rasakan pengalaman bermain yang aman, adil, dan seru sekarang! 7648 </p> 7649 </div> 7650</div> 7651 7652 </div> 7653</div> 7654<section class="rv-wrap" aria-labelledby="rvTitle"> 7655 <div class="rv-card"> 7656 <header class="rv-head"> 7657 <span class="rv-dot" aria-hidden="true"></span> 7658 <h2 id="rvTitle" class="rv-title">Review Member WIN4D</h2> 7659 <p class="rv-sub">Salah Satu Platform Gaming Terpercaya Dengan Sertifikat Resmi Di Indonesia</p> 7660 </header> 7661 7662 <div class="rv-viewport" role="region" aria-label="Review slider"> 7663 <div class="rv-track" id="rvTrack"> 7664 7665 <article class="rv-item"> 7666 <div class="rv-top"> 7667 <span class="rv-name">Arjon</span> 7668 <span class="rv-stars" aria-label="Rating 5 dari 5">â â â â â </span> 7669 </div> 7670 <p class="rv-body">Gue tuh udah kenyang banget di-zonk-in sama situs kaleng-kaleng di luar sana. Pas kalah diem aja, giliran gue jp (jackpot) malah akun gue di-ban tanpa alasan. Untung gue denerin kata temen buat pindah ke WIN4D. Pas gue coba, ternyata ini salah satu platform gaming terpercaya dengan sertifikat resmi di Indonesia. Sekarang gue bisa main dengan tenang tanpa takut kemenangan gue hangus!</p> 7671 <time class="rv-date" datetime="2026-02-01">2026-02-01</time> 7672 </article> 7673 7674 <article class="rv-item"> 7675 <div class="rv-top"> 7676 <span class="rv-name">Andri</span> 7677 <span class="rv-stars" aria-label="Rating 4.8 dari 5">â â â â â</span> 7678 </div> 7679 <p class="rv-body">Buat gue, waktu itu uang. Gue paling gak tahan kalau nemu situs yang proses withdraw-nya pakai alasan 'maintenance sistem' berjam-jam. Tapi sejak gue bergabung bersama WIN4D, rekor WD gue gak pernah lebih dari 3 menit. Begitu klik WD, langsung masuk rekening tanpa drama. Datanya terbukti nyata, bukan cuma janji manis!</p> 7680 <time class="rv-date" datetime="2026-03-01">2026-03-01</time> 7681 </article> 7682 7683 <article class="rv-item"> 7684 <div class="rv-top">
7685 <span class="rv-name">Topa</span> 7686 <span class="rv-stars" aria-label="Rating 4.9 dari 5">â â â â â </span> 7687 </div> 7688 <p class="rv-body">Dulu gue tuh parno banget main game online karena takut data pribadi gue bocor terus di-spam nomor gak jelas. Pas gue baca kalau WIN4D punya enkripsi ketat setara perbankan dan bersertifikat resmi, gue langsung daftar. Terbukti sih, sistem keamanannya super ketat, akun gue aman, dan privasi gue bener-bener dijaga.</p> 7689 <time class="rv-date" datetime="2026-03-05">2026-03-05</time> 7690 </article> 7691 7692 <article class="rv-item"> 7693 <div class="rv-top"> 7694 <span class="rv-name">Jason</span> 7695 <span class="rv-stars" aria-label="Rating 4.7 dari 5">â â â â â</span> 7696 </div> 7697 <p class="rv-body">Gue ngerasa sistem di situs lain tuh kayak udah di-setting biar kita kalah terus. Tapi pas gue bergabung bersama WIN4D, auranya beda banget, bro. Karena mereka platform terpercaya dan lewat audit ketat, sistemnya kerasa banget fair play. RTP yang mereka buka secara real-time itu emang beneran riil, bukan manipulasi bot.</p> 7698 <time class="rv-date" datetime="2026-03-06">2026-03-06</time> 7699 </article> 7700 7701 <article class="rv-item"> 7702 <div class="rv-top"> 7703 <span class="rv-name">Mungil</span> 7704 <span class="rv-stars" aria-label="Rating 5 dari 5">â â â â â </span> 7705 </div> 7706 <p class="rv-body">Gue main game buat nyari hiburan abis pulang kerja, jadi ogah banget kalau malah nambah beban pikiran karena situsnya gak jelas. Di WIN4D, gue bener-bener menikmati permainan aman, adil, dan seru. Bebas stress, karena gue tahu modal yang gue masukin diurus sama platform terpercaya yang punya sertifikat resmi di Indonesia.</p> 7707 <time class="rv-date" datetime="2026-03-08">2026-03-08</time> 7708 </article> 7709 7710 <article class="rv-item"> 7711 <div class="rv-top"> 7712 <span class="rv-name">Fatimah</span> 7713 <span class="rv-stars" aria-label="Rating 4.8 dari 5">â â â â â</span> 7714 </div> 7715 <p class="rv-body">Pelajaran berharga banget buat gue: jangan pernah pertaruhkan uang di tempat yang gak punya sertifikat resmi. Gue nyesel banget kenapa baru tahu WIN4D sekarang setelah boncos banyak di tempat lain. Kalau ada yang udah jelas terpercaya dan bersertifikat resmi di Indonesia kayak gini, ngapain gue kemarin bertahan di situs abal-abal?</p> 7716 <time class="rv-date" datetime="2026-03-06">2026-03-06</time> 7717 </article> 7718 7719 <article class="rv-item"> 7720 <div class="rv-top"> 7721 <span class="rv-name">Liber</span> 7722 <span class="rv-stars" aria-label="Rating 4.9 dari 5">â â â â â </span> 7723 </div> 7724 <p class="rv-body">Awalnya gue sangsi pas liat data kalau tingkat kepuasan member di sini nyampe 98%. Akhirnya gue buktiin sendiri daftar hari ini. Dan bener aja, pelayanan layanannya responsif banget, gamenya lancar tanpa lag, dan rasanya bener-bener nikmati permainan aman, adil, dan seru. WIN4D emang gak ada tandingan!</p> 7725 <time class="rv-date" datetime="2026-03-08">2026-03-08</time> 7726 </article> 7727 7728 <article class="rv-item"> 7729 <div class="rv-top"> 7730 <span class="rv-name">Jujun</span> 7731 <span class="rv-stars" aria-label="Rating 4.8 dari 5">â â â â â</span> 7732 </div> 7733 <p class="rv-body">Gue udah mutusin buat gak bakal balik lagi ke situs-situs gak jelas yang bikin dongkol. Hari ini gue langsung klik tombol gabung dan amankan akun gue. Buat anak-anak komunitas gue, bergabunglah bersama kami di WIN4D sekarang juga sebelum modal lo abis di tempat yang salah. Rasakan sendiri bedanya main di platform terpercaya bersertifikat resmi!</p> 7734 <time class="rv-date" datetime="2026-03-09">2026-03-09</time> 7735 </article> 7736 7737 </div> 7738 </div> 7739 7740 <div class="rv-controls" aria-label="Slider controls"> 7741 <button class="rv-btn" id="rvPrev" type="button" aria-label="Sebelumnya">â¹</button> 7742 <button class="rv-btn" id="rvNext" type="button" aria-label="Berikutnya">âº</button> 7743 <button class="rv-btn rv-pause" id="rvPause" type="button" aria-label="Pause / Play">â¸</button> 7744 </div> 7745 </div> 7746</section> 7747 7748 </div> 7749</div> 7750 7751 7752<div class="overlay overlay-cart"></div> 7753<div id="CartDrawer" class="drawer drawer--right"> 7754 <div class="drawer__header pl-2 pr-2"> 7755 <div class="drawer__icon-cart display-table-cell"> 7756 <a href="/cart" class=""> 7757 <svg class="icon icon-cart" version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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.5
775773zM7.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.005-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> 7758 </a> 7759 </div> 7760 <div class="drawer__title h4">Keranjang Belanja</div> 7761 <div class="drawer__close js-drawer-close"> 7762 <button type="button"> 7763 <svg class="icon icon-close" version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="32" height="32" viewBox="0 0 32 32"> 7764<title>icon-close</title> 7765<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> 7766</svg> 7767 </button> 7768 </div> 7769 </div> 7770 <div id="CartContainer" class="p-2"></div> 7771</div> 7772
7773<script> 7774 7775 </script>
7775 7776
7776<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7776 7777 <!-- /snippets/ajax-cart-template.liquid --> 7778 7779
7779<script id="CartTemplate" type="text/template"> 7780 7781 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7782 <div class="ajaxcart__inner" {{ cart.item_count }}> 7783 {{#items}} 7784 <div class="ajaxcart__product"> 7785 <div class="ajaxcart__row" data-line="{{line}}"> 7786 <div class="grid"> 7787 <div class="grid__item one-quarter"> 7788 <a href="http://win4dream.com/" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7789 </div> 7790 <div class="grid__item three-quarters"> 7791 <p class="d-block mb-3"> 7792 <a class="h4 d-block mb-2" href="http://win4dream.com/" class="ajaxcart__product-name">{{name}}</a> 7793 {{#if variation}} 7794 <span class="ajaxcart__product-meta p">{{variation}}</span> 7795 {{/if}} 7796 {{#properties}} 7797 {{#each this}} 7798 {{#if this}} 7799 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7800 {{/if}} 7801 {{/each}} 7802 {{/properties}} 7803 7804 </p> 7805 <div class="grid--full display-table"> 7806 <div class="grid__item display-table-cell one-half"> 7807 <div class="ajaxcart__qty"> 7808 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7809 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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> 7810 <span class="visually-hidden">Kurangi jumlah barang</span> 7811 </button> 7812 <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]*"> 7813 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7814 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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> 7815 <span class="visually-hidden">Tambahkan jumlah barang</span> 7816 </button> 7817 </div> 7818 </div> 7819 <div class="grid__item display-table-cell one-half text-right"> 7820 {{#if discountsApplied}} 7821 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7822 <br><span class="h4">{{{linePrice}}}</span> 7823 {{else}} 7824 <span class="h4">{{{linePrice}}}</span> 7825 {{/if}} 7826 </div> 7827 </div> 7828 {{#if discountsApplied}} 7829 <div class="grid--full display-table"> 7830 <div class="grid__item text-right"> 7831 {{#each discounts}} 7832 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7833 {{/each}} 7834 </div> 7835 </div> 7836 {{/if}} 7837 </div> 7838 </div> 7839 </div> 7840 </div> 7841 </div> 7842 </div> 7843 {{/items}} 7844 </div> 7845 <div class="ajaxcart__footer"> 7846 <div class="grid--full cart-subtotal py-2"> 7847 <p>Subtotal</p> 7848 <h3 class="primary">{{{totalPrice}}}</h3> 7849 {{#if totalCartDiscount}} 7850 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7851 {{/if}} 7852 </div> 7853 7854 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7855 7856 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7857 </div> 7858 </form> 7859
7860 </script>
7860 7861
7861<script id="AjaxQty" type="text/template"> 7862 7863 <div class="ajaxcart__qty"> 7864 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7865 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="24" viewBox="0 0 32 32"> 7866 <title>icon-minus</title> 7867 <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> 7868 </svg> 7869 <span class="visually-hidden">Kurangi jumlah barang</span> 7870 </button> 7871 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7872 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7873 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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> 7874 <span class="visually-hidden">Tambahkan jumlah barang</span> 7875 </button> 7876 </div> 7877 7878 </script>
7878 7879
7879<script id="JsQty" type="text/template"> 7880 7881 <div class="js-qty mx-auto mt-2"> 7882 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7883 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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> 7884 <span class="visually-hidden">Kurangi jumlah barang</span> 7885 </button> 7886 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7887 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7888 <svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.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> 7889 <span class="visually-hidden">Tambahkan jumlah barang</span> 7890 </button> 7891 </div> 7892 7893 </script>
7893 7894 7895<style> 7896 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7897 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7898 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7899 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7900 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7901 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7902 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7903 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7904 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7905</style> 7906
7906<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7906 7907
7907<script> 7908 jQuery(function($) { 7909 ajaxCart.init({ 7910 formSelector: '#AddToCartForm', 7911 cartContainer: '#CartContainer', 7912 addToCartSelector: '#AddToCartXX', 7913 cartCountSelector: '#CartCount, #CartCount2', 7914 cartCostSelector: '#CartCost', 7915 moneyFormat: "Rp {{amount_no_decimals}}" 7916 }); 7917 }); 7918 7919 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7920 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7921 timber.RightDrawer.open(); 7922 }); 7923 </script>
7923 7924 7925 7926 7927 7928<style> 7929 /** Search AutoComplete **/ 7930 .resultsearch .ui-menu-item[data-cat="Collection"], 7931 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7932 .resultsearch .ui-widget.ui-widget-content { 7933 width: 100%; 7934 top: 48px; 7935 border: none; 7936 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7937 } 7938 .resultsearch .ui-menu-item {text-align: left;} 7939 .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;} 7940 .ui-state-active { 7941 border: none!important; 7942 background-color: #fafafa!important; 7943 color: #000!important; 7944 } 7945 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7946 .ui-menu .ui-menu-item {line-height: normal;} 7947</style>
7948<script> 7949$(window).load(function(){ 7950 7951 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;} 7952 7953 $.widget("custom.catcomplete", $.ui.autocomplete, { 7954 _renderMenu: function (ul, items) { 7955 // have search reults split up in categories 7956 var that = this, 7957 currentCategory = ""; 7958 $.each(items, function (index, item) { 7959 if (item.category != currentCategory) { 7960 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7961 currentCategory = item.category; 7962 } 7963 that._renderItemData(ul, item); 7964 }); 7965 } 7966 }); 7967 7968 // higlight searched for term 7969 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7970 var term = this.element.val(), 7971 html = item.label.replace( term, "<b>$&</b>" ); 7972 return $( "<li>" ) 7973 .append(format(item)) 7974 .appendTo( ul ); 7975 }; 7976 7977 7978 var data = [ 7979 { 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
7979llection", 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: " " }
7979,{ 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: " " }
7979,{ 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: " " }
7979,{ 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
7979dal", 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-
7979hampers", 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
7979o-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: " " }
7979,{ 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: " " }
7979,{ 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: " " }
7979,{ 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: " " }
7979,{ 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: " " }
7979,{ 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: " " }
7979,{ 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: " " }
7979,{ 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: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "WIN4D adalah salah satu website gaming terpopuler di Indonesia yang memberikan pengalaman bermain online dengan dukungan kredibel, akses cepat, dan layanan berkualitas. Nikmati berbagai fitur menarik, sistem yang mudah digunakan, serta pengalaman gaming modern bersama komunitas WIN4D untuk mendapatkan kenyamanan terbaik setiap harinya. 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:
7979"Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ 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: " " }
7979,{ 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: " " },{ 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
7979dal", 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: " " }, 7980 { 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" }
7980,{ 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" }
7980,{ 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" } 7981 ]; 7982 7983 7984 $( ".header-input-search" ).catcomplete({ 7985 appendTo: ".searchResult",source: function(request, response) { 7986 var results = $.ui.autocomplete.filter(data, request.term); 7987 var predicate = function () { 7988 var counter = { Collection: 0, Produk: 0 }; 7989 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7990 return fn 7991 }(); 7992 response(results.filter(predicate)); 7993 }, 7994 minLength:1, 7995 //results are clickable 7996 select: function( event, ui ) {window.location = ui.item.url;} 7997}); 7998$( ".header-input-search2" ).catcomplete({ 7999 appendTo: ".searchResult2", 8000 source: function(request, response) { 8001 var results = $.ui.autocomplete.filter(data, request.term); 8002 var predicate = function () { 8003 var counter = { Collection: 0, Produk: 0 }; 8004 var fn = function(item) { 8005 counter[item.category] += 1; 8006 return (counter[item.category] <= 5); 8007} 8008 return fn 8009 }(); 8010response(results.filter(predicate)); 8011}, 8012 minLength:1, 8013 //results are clickable 8014 select: function( event, ui ) { 8015 window.location = ui.item.url; 8016 } 8017}); 8018}); 8019</script>
8019 8020 8021
8021<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
vendor: 2 bytes, line 8021
8021
8022<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
8022 8023
8024<script> 8025 ( function() { 8026 var youtube = document.querySelectorAll( ".youtube" ); 8027 for (var i = 0; i < youtube.length; i++) { 8028 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 8029 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 8030 var image = new Image(); 8031 image.src = source; 8032 image.setAttribute("data-src", datasource); 8033 image.classList.add("swiper-lazy"); 8034 image.addEventListener( "load", function() { 8035 youtube[ i ].appendChild( image ); 8036 }( i ) ); 8037 youtube[i].addEventListener( "click", function() { 8038 var iframe = document.createElement( "iframe" ); 8039 iframe.setAttribute( "width", "480" ); 8040 iframe.setAttribute( "height", "480" ); 8041 iframe.setAttribute( "frameborder", "0" ); 8042 iframe.setAttribute( "allowfullscreen", "" ); 8043 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 8044 this.innerHTML = ""; 8045 this.appendChild( iframe ); 8046 } ); 8047 }; 8048 8049 } )(); 8050 8051 /* Lazy Load */ 8052 const mainLazyLoad = new LazyLoad({threshold:400}); 8053 $(document).ready(function(){ 8054 8055 $("selectxxx").addClass("needsclick"); 8056 FastClick.attach(document.body); 8057 8058 var $customSelects = $('.select-search'); 8059 $customSelects.select2({ 8060 templateResult: function(result, container) { 8061 if (!result.id) { 8062 return result.text; 8063 } 8064 container.className += ' needsclick'; 8065 return result.text; 8066 } 8067 }); 8068 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 8069 $(document).on('select2:open', () => { 8070 document.querySelector('.select2-search__field').focus(); 8071 }); 8072 8073 8074 $(".overlay").click(function(){ 8075 $(".js-drawer-close").click(); 8076 }); 8077 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 8078 $("html").toggleClass("nav_open"); 8079 }); 8080 8081 $('.swatch-element label').on('click', function(){ 8082 var srcImg = $(this).data('src'); 8083 $('#thumb-image-product .product-single__thumbnail').each(function(){ 8084 if ($(this).attr("href") == srcImg) { 8085 $(this).trigger('click'); 8086 } 8087 }); 8088 }); 8089 var defaultValue = $(".swatch input:checked").val() 8090 8091 $('#purchaseProduct .swatch [type=radio]').change(function() { 8092 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 8093 var optionValue = $(this).val(); 8094 console.log(optionIndex, optionValue) 8095 var value = parseInt(optionValue.split(' ')[0]) 8096 $(this) 8097 .closest('#purchaseProduct') 8098 .find('.single-option-selector') 8099 .eq(optionIndex) 8100 .val(optionValue) 8101 .trigger('change'); 8102 8103 }); 8104 8105 }); 8106 $(document).ready(function(){ 8107 $(".nav-search a").click(function(e){ 8108 e.preventDefault(); 8109 $(".icon-navsearch").toggle(); 8110 $(".icon-navclose").toggle(); 8111 $(".site-nav__item > .site-nav__link").toggle(); 8112 $(".open-search").toggle(); 8113 $(".open-search input").focus(); 8114 }); 8115 $(".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'>"); 8116 if ($(window).width() < 768) { 8117 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8118 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8119 $(".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'>"); 8120 } else { 8121 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8122 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8123 $(".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'>"); 8124 } 8125 $(".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'>"); 8126 $(".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'>"); 8127 }); 8128</script>
8128 8129 8130 8131 8132 8133 8134 8135 8136
8136<script type="text/javascript"> 8137 var wishlistpage = 0; 8138 8139 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 8140 </script>
8140 8141 8142 <!-- Remove duplicate wishlist.js reference --> 8143 <style> 8144 .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)}} 8145</style> 8146 8147<div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 8148 <div class="modal-dialog" role="document"> 8149 <div class="modal-content"> 8150 <div class="modal-body">Your Wishlist is empty!</div> 8151 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 8152 </div> 8153 </div> 8154</div> 8155 8156<div class="wishlist-model"> 8157 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 8158 <div class="modal-dialog white-modal"> 8159 <div class="modal-content"> 8160 <div class="modal-header"> 8161 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 8162 <svg class="icon icon-close" version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="32" height="32" viewBox="0 0 32 32"> 8163<title>icon-close</title> 8164<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> 8165</svg> 8166 </button> 8167 </div> 8168 <div class="modal-body"> 8169 <div class="wishlist-left"> 8170 <div class="wishlist-note">
8171 <span class="cirle"><svg version="1.1" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="32" height="32" viewBox="0 0 32 32"> 8172<title>icon-check</title> 8173<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> 8174</svg></span> 8175 Product added to <a href="/pages/wish-list">Wishlist</a> 8176 </div> 8177 <div class="wishlist-product"> 8178 <div class="product-left"> 8179 <div class="wishlist-image"></div> 8180 </div> 8181 <div class="product-right"> 8182 <div class="wishlist-name"></div> 8183 <div class="wishlist-price"></div> 8184 </div> 8185 </div> 8186 </div> 8187 <div class="wishlist-right"> 8188 <div class="wishlist-cart"> 8189 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 8190 <div class="others-bottom"> 8191 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 8192 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 8193 <span id="AddToCartText" class="">Beli Sekarang</span> 8194 </button> 8195 </div> 8196 <div id="wishlist-variants-container" class="variants-wrapper"></div> 8197 <div class="quantity-content"> 8198 <label>QTY</label> 8199 <input type="number" size="5" class="" name="quantity" value="1" /> 8200 </div> 8201 </form> 8202 </div> 8203 </div> 8204 </div> 8205 </div> 8206 </div> 8207 </div> 8208</div> 8209 8210 8211 <style> 8212 .stamped-badge[data-rating="0.0"]{display: none !Important;} 8213 8214 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 8215 border-radius: 0px; 8216 } 8217 .stamped-review-body { 8218 padding-left: 0px !important; 8219 } 8220 #product-reviews .stamped-header:after { 8221 display:none !Important; 8222 } 8223 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 8224 font-family:inherit !important; 8225 } 8226 </style> 8227 8228 8229 8230<div id='stamped-rewards-init' class='stamped-rewards-init' 8231 data-key-public='' 8232 8233></div> 8234 8235
8235<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8235 8236 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 8237
8237<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8237 8238 8239
8239<script> 8240 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 8241 </script>
8241 8242
8242<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8242<style> 8243 .jss59 { 8244 background-color: rgba(0, 0, 0, 0.6); 8245 } 8246 .MuiBackdrop-root { 8247 top: 0; 8248 left: 0; 8249 right: 0; 8250 bottom: 0; 8251 display: flex; 8252 z-index: -1; 8253 position: fixed; 8254 align-items: center; 8255 justify-content: center; 8256 background-color: rgba(0, 0, 0, 0.5); 8257 -webkit-tap-highlight-color: transparent; 8258 } 8259 .MuiDialog-scrollPaper { 8260 display: flex; 8261 align-items: center; 8262 justify-content: center; 8263 } 8264 .MuiDialog-container { 8265 height: 100%; 8266 outline: 0; 8267 } 8268 .MuiPaper-elevation24 { 8269 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); 8270 } 8271 .MuiDialog-paper { 8272 margin: 32px; 8273 position: relative; 8274 overflow-y: auto; 8275 } 8276 .MuiDialog-paperScrollPaper { 8277 display: flex; 8278 max-height: calc(100% - 64px); 8279 flex-direction: column; 8280 } 8281 .MuiDialog-paperWidthSm { 8282 max-width: 600px; 8283 } 8284 #location-lock-dialog { 8285 top: 20%; 8286 left: 0; 8287 right: 0; 8288 width: 30%; 8289 margin: 0px auto; 8290 display: block; 8291 padding: 30px; 8292 z-index: 99999; 8293 position: fixed; 8294 font-size: 14px; 8295 background: rgb(0, 0, 0); 8296 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 8297 text-align: center; 8298 font-family: Roboto, Arial, sans-serif; 8299 line-height: 1; 8300 border-radius: 8px; 8301 -webkit-font-smoothing: subpixel-antialiased; 8302 } 8303 .MuiButtonBase-root { 8304 color: inherit; 8305 border: 0; 8306 cursor: pointer; 8307 margin: 0; 8308 display: inline-flex; 8309 outline: 0; 8310 padding: 0; 8311 position: relative; 8312 align-items: center; 8313 user-select: none; 8314 border-radius: 0; 8315 vertical-align: middle; 8316 -moz-appearance: none; 8317 justify-content: center; 8318 text-decoration: none; 8319 background-color: transparent; 8320 -webkit-appearance: none; 8321 -webkit-tap-highlight-color: transparent; 8322 } 8323 .MuiIconButton-root { 8324 flex: 0 0 auto; 8325 color: rgba(0, 0, 0, 0.54); 8326 padding: 12px; 8327 overflow: visible; 8328 font-size: 1.5rem; 8329 text-align: center; 8330 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8331 border-radius: 50%; 8332 } 8333 .MuiIconButton-label { 8334 width: 100%; 8335 display: flex;
8336 align-items: inherit; 8337 justify-content: inherit; 8338 } 8339 .MuiSvgIcon-root { 8340 fill: currentColor; 8341 width: 1em; 8342 height: 1em; 8343 display: inline-block; 8344 font-size: 1.5rem; 8345 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8346 flex-shrink: 0; 8347 user-select: none; 8348 } 8349 .MuiTouchRipple-root { 8350 top: 0; 8351 left: 0; 8352 right: 0; 8353 bottom: 0; 8354 z-index: 0; 8355 overflow: hidden; 8356 position: absolute; 8357 border-radius: inherit; 8358 pointer-events: none; 8359 } 8360 .jss36 { 8361 color: #222222; 8362 font-size: 24px; 8363 font-family: Roboto, Arial, sans-serif; 8364 font-weight: 500; 8365 } 8366 .jss37 { 8367 color: #555555; 8368 padding: 10px 0px 0px; 8369 font-size: 14px; 8370 } 8371 .MuiFormGroup-root { 8372 display: flex; 8373 flex-wrap: wrap; 8374 flex-direction: column; 8375 } 8376 .MuiFormGroup-row { 8377 flex-direction: row; 8378 } 8379 .jss63 { 8380 width: 85%; 8381 margin: 15px auto; 8382 display: flex; 8383 padding: 11px 0px 0px; 8384 justify-content: space-evenly; 8385 } 8386 .MuiFormControlLabel-root { 8387 cursor: pointer; 8388 display: inline-flex;
8389 align-items: center; 8390 margin-left: -11px; 8391 margin-right: 16px; 8392 vertical-align: middle; 8393 -webkit-tap-highlight-color: transparent; 8394 } 8395 .jss70 { 8396 margin: 0; 8397 } 8398 .MuiButtonBase-root { 8399 color: inherit; 8400 border: 0; 8401 cursor: pointer; 8402 margin: 0; 8403 display: inline-flex; 8404 outline: 0; 8405 padding: 0; 8406 position: relative; 8407 align-items: center; 8408 user-select: none; 8409 border-radius: 0; 8410 vertical-align: middle; 8411 -moz-appearance: none; 8412 justify-content: center; 8413 text-decoration: none; 8414 background-color: transparent; 8415 -webkit-appearance: none; 8416 -webkit-tap-highlight-color: transparent; 8417 } 8418 .MuiIconButton-root { 8419 flex: 0 0 auto; 8420 color: rgba(0, 0, 0, 0.54); 8421 padding: 12px; 8422 overflow: visible; 8423 font-size: 1.5rem; 8424 text-align: center; 8425 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8426 border-radius: 50%; 8427 } 8428 .MuiIconButton-colorSecondary { 8429 color: #f50057; 8430 } 8431 .jss71 { 8432 padding: 9px; 8433 } 8434 .MuiRadio-root { 8435 color: rgba(0, 0, 0, 0.54); 8436 } 8437 .jss64 { 8438 padding: 2px; 8439 } 8440 .MuiRadio-colorSecondary.Mui-checked { 8441 color: #f50057; 8442 } 8443 .MuiIconButton-label { 8444 width: 100%; 8445 display: flex;
8446 align-items: inherit; 8447 justify-content: inherit; 8448 } 8449 .MuiTypography-root { 8450 margin: 0; 8451 } 8452 .MuiTypography-body1 { 8453 font-size: 18px; 8454 font-family: Roboto,sans-serif; 8455 font-weight: 400; 8456 line-height: 1.5; 8457 } 8458 .location-popup_area-block__sp9Ws { 8459 display: -moz-box; 8460 display: flex; 8461 -moz-box-orient: vertical; 8462 -moz-box-direction: normal; 8463 flex-direction: column; 8464 -moz-box-pack: center; 8465 justify-content: center; 8466 position: relative; 8467 margin: 10px 10% 0; 8468 } 8469 .location-popup_pin-search-box__3l5mJ { 8470 width: 100%; 8471 display: -moz-box; 8472 display: flex; 8473 -moz-box-align: center; 8474 align-items: center; 8475 } 8476 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8477 position: absolute; 8478 z-index: 999; 8479 } 8480 .location-popup_place-icon__jSG0Q { 8481 color: #ffffff; 8482 padding-left: 8px; 8483 } 8484 .location-popup_place-icon__jSG0Q svg { 8485 width: 18px; 8486 height: 18px; 8487 } 8488 .location-popup_cancel-icon__FHujU { 8489 color: #fff; 8490 right: 10px; 8491 width: 16px; 8492 cursor: pointer; 8493 height: 16px; 8494 display: none; 8495 padding: 5px; 8496 position: absolute; 8497 background: #999; 8498 text-align: center; 8499 border-radius: 50%; 8500 } 8501 .location-popup_pin-search-box__3l5mJ>div>select { 8502/* -webkit-box-shadow: 0 0 10px #ffffff; 8503 box-shadow: 0 0 10px #ffffff; */ 8504 text-transform: capitalize; 8505 border: 1px solid #ffffff; 8506 color: #ffffff; 8507 width: 100%; 8508 margin: 0; 8509 display: -moz-box; 8510 display: flex; 8511 padding: 0 30px; 8512 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8513 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8514 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8515 font-size: 16px; 8516 border-radius: 4px; 8517 height: 44px; 8518 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8519 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8520 } 8521 .MuiButtonBase-root { 8522 color: inherit; 8523 border: 0; 8524 cursor: pointer; 8525 margin: 0; 8526 display: inline-flex; 8527 outline: 0; 8528 padding: 0; 8529 position: relative; 8530 align-items: center; 8531 user-select: none; 8532 border-radius: 0; 8533 vertical-align: middle; 8534 -moz-appearance: none; 8535 justify-content: center; 8536 text-decoration: none; 8537 background-color: transparent; 8538 -webkit-appearance: none; 8539 -webkit-tap-highlight-color: transparent; 8540 } 8541 .MuiButton-root { 8542 color: rgba(0, 0, 0, 0.87); 8543 padding: 6px 16px; 8544 font-size: 0.875rem; 8545 min-width: 64px; 8546 box-sizing: border-box; 8547 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; 8548 font-family: Roboto,sans-serif; 8549 font-weight: 500; 8550 line-height: 1.75; 8551 border-radius: 4px; 8552 text-transform: uppercase; 8553 } 8554 .MuiButton-contained { 8555 color: rgba(0, 0, 0, 0.87); 8556 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); 8557 background-color: #e0e0e0; 8558 } 8559 .MuiButtonBase-root.Mui-disabled { 8560 cursor: default; 8561 pointer-events: none; 8562 } 8563 .MuiButton-label { 8564 width: 100%; 8565 display: inherit; 8566 align-items: inherit; 8567 justify-content: inherit; 8568 } 8569 .cartButton_login_content__2j1f7 { 8570 display: -moz-box; 8571 display: flex; 8572 text-align: center; 8573 z-index: 9; 8574 font-size: 18px; 8575 font-weight: 500; 8576 color: #fff; 8577 } 8578 8579 .jss35 { 8580 top: 5px; 8581 right: 5px; 8582 padding: 4px; 8583 position: absolute; 8584 border-radius: 50%; 8585 } 8586 .jss67 { 8587 cursor: pointer; 8588 font-size: 15px; 8589 line-height: 1.3; 8590 padding-left: 5px; 8591 } 8592 .jss69 { 8593 color: #222222; 8594 } 8595 .jss80 { 8596 color: #fff; 8597 width: 100%; 8598 height: 52px; 8599 padding: 11px 16px; 8600 font-size: 18px; 8601 min-width: 88px; 8602 min-height: 36px; 8603 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; 8604 font-weight: 500; 8605 line-weight: 1em; 8606 border-radius: 4px; 8607 text-transform: uppercase; 8608 background-color: #E87325; 8609 } 8610 @media (min-width: 991px){ 8611 .cartButton_login_content__2j1f7 { 8612 font-weight: 500; 8613 } 8614 } 8615 8616 @media (max-width: 992px) { 8617 #location-lock-dialog { 8618 width: 100%; 8619 top: auto; 8620 bottom: 0; 8621 padding-left: 0; 8622 padding-right: 0; 8623 } 8624 .MuiFormGroup-row { 8625 display: block 8626 } 8627 .MuiIconButton-label input { 8628 margin: 0; 8629 } 8630 } 8631</style> 8632<div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8633 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8634 <div tabindex="0" data-test="sentinelStart"></div> 8635 <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;"> 8636 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8637 <div class="jss31 undefined" id="location-lock-dialog"> 8638 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8639 <span class="MuiIconButton-label"> 8640 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8641 <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> 8642 </svg> 8643 </span> 8644 <span class="MuiTouchRipple-root"></span> 8645 </button> 8646 <div> 8647 <div class="jss36">Select Delivery Location</div> 8648 <div class="jss37">Select a delivery location to see product availability</div> 8649 </div> 8650 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8651 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8652 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8653 <span class="MuiIconButton-label"> 8654 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8655 <span class="jss41"></span> 8656 </span> 8657 <span class="MuiTouchRipple-root"></span> 8658 </span> 8659 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8660 <span class="jss67 jss69">Jabodetabek</span> 8661 </span> 8662 </label> 8663 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8664 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8665 <span class="MuiIconButton-label"> 8666 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8667 <span class="jss40"></span> 8668 </span> 8669 <span class="MuiTouchRipple-root"></span> 8670 </span> 8671 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8672 <span class="jss67 jss68">Outside Jabodetabek</span> 8673 </span> 8674 </label> 8675 </div> 8676 <div> 8677 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8678 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8679 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8680 <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> 8681 </div> 8682 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8683 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8684 </div> 8685 <div style="width: 100%;"> 8686 <select id="choose-location" class="form-control"> 8687 <option value="">Choose Location</option> 8688 <option value="jakarta">Jakarta</option> 8689 <option value="bogor">Bogor</option> 8690 <option value="depok">Depok</option> 8691 <option value="tangerang">Tangerang</option> 8692 <option value="bekasi">Bekasi</option> 8693 </select> 8694 </div> 8695 </div> 8696 </div> 8697 </div> 8698 <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=""> 8699 <span class="MuiButton-label"> 8700 <span class=""></span> 8701 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8702 </span> 8703 </button> 8704 </div> 8705 </div> 8706 </div> 8707 <div tabindex="0" data-test="sentinelEnd"></div> 8708</div> 8709
8710<script> 8711 const jabodetabek = [ 8712 { 8713 "code": "jakarta", 8714 "city": "jakarta", 8715 "zip": [] 8716 }, 8717 { 8718 "code": "bogor", 8719 "city": "bogor", 8720 "zip": [] 8721 }, 8722 { 8723 "code": "depok", 8724 "city": "depok", 8725 "zip": [] 8726 }, 8727 { 8728 "code": "tangerang", 8729 "city": "tangerang", 8730 "zip": [] 8731 }, 8732 { 8733 "code": "bekasi", 8734 "city": "bekasi", 8735 "zip": [] 8736 } 8737 ] 8738 let cityNonJabodetabek = [ 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 "pengiriman_aceh", 9913 9914 9915 9916 9917 9918 "pengiriman_ambon", 9919 9920 9921 9922 9923 9924 "pengiriman_atambua", 9925 9926 9927 9928 9929 9930 "pengiriman_badung", 9931 9932 9933 9934 9935 9936 "pengiriman_bali", 9937 9938 9939 9940 9941 9942 "pengiriman_balikpapan", 9943 9944 9945 9946 9947 9948 "pengiriman_bandar lampung", 9949 9950 9951 9952 9953 9954 "pengiriman_bandung", 9955 9956 9957 9958 9959 9960 "pengiriman_bandung barat", 9961 9962 9963 9964 9965 9966 "pengiriman_banjarmasin", 9967 9968 9969 9970 9971 9972 "pengiriman_banyumas", 9973 9974 9975 9976 9977 9978 "pengiriman_banyuwangi", 9979 9980 9981 9982 9983 9984 "pengiriman_batam", 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 "pengiriman_biak", 9995 9996 9997 9998 9999 10000 "pengiriman_binjai", 10001 10002 10003 10004 10005 10006 "pengiriman_blitar",
10007 10008 10009 10010 10011 10012 "pengiriman_blora", 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 "pengiriman_bojonegoro", 10023 10024 10025 10026 10027 10028 "pengiriman_boyolali", 10029 10030 10031 10032 10033 10034 "pengiriman_bukittinggi", 10035 10036 10037 10038 10039 10040 "pengiriman_buleleng", 10041 10042 10043 10044 10045 10046 "pengiriman_ciamis", 10047 10048 10049 10050 10051 10052 "pengiriman_cianjur", 10053 10054 10055 10056 10057 10058 "pengiriman_cibinong", 10059 10060 10061 10062 10063 10064 "pengiriman_cikarang", 10065 10066 10067 10068 10069 10070 "pengiriman_cikupa", 10071 10072 10073 10074 10075 10076 "pengiriman_cilacap", 10077 10078 10079 10080 10081 10082 "pengiriman_cileunyi", 10083 10084 10085 10086 10087 10088 "pengiriman_cimahi", 10089 10090 10091 10092 10093 10094 "pengiriman_cirebon", 10095 10096 10097 10098 10099 10100 "pengiriman_ciwidey", 10101 10102 10103 10104 10105 10106 "pengiriman_deli serdang", 10107 10108 10109 10110 10111 10112 "pengiriman_demak", 10113 10114 10115 10116 10117 10118 "pengiriman_denpasar", 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 "pengiriman_garut", 10129 10130 10131 10132 10133 10134 "pengiriman_gianyar", 10135 10136 10137 10138 10139 10140 "pengiriman_gresik", 10141 10142 10143 10144 10145 10146 "pengiriman_gunung kidul", 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 "pengiriman_jambi", 10157 10158 10159 10160 10161 10162 "pengiriman_jayapura", 10163 10164 10165 10166 10167 10168 "pengiriman_jember", 10169 10170 10171 10172 10173 10174 "pengiriman_jepara", 10175 10176 10177 10178 10179 10180 "pengiriman_jombang", 10181 10182 10183 10184 10185 10186 "pengiriman_karanganyar", 10187 10188 10189 10190 10191 10192 "pengiriman_karawang", 10193 10194 10195 10196 10197 10198 "pengiriman_karo", 10199 10200 10201 10202 10203 10204 "pengiriman_kebumen", 10205 10206 10207 10208 10209 10210 "pengiriman_kediri", 10211 10212 10213 10214 10215 10216 "pengiriman_keerom", 10217 10218 10219 10220 10221 10222 "pengiriman_kendal", 10223 10224 10225 10226 10227 10228 "pengiriman_klaten", 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 "pengiriman_kudus", 10239 10240 10241 10242 10243 10244 "pengiriman_kupang", 10245 10246 10247 10248 10249 10250 "pengiriman_lainnya", 10251 10252 10253 10254 10255 10256 "pengiriman_lamongan", 10257 10258 10259 10260 10261 10262 "pengiriman_lampung", 10263 10264 10265 10266 10267 10268 "pengiriman_lampung barat", 10269 10270 10271 10272 10273 10274 "pengiriman_lembang", 10275 10276 10277 10278 10279 10280 "pengiriman_lombok", 10281 10282 10283 10284 10285 10286 "pengiriman_lumajang", 10287 10288 10289 10290 10291 10292 "pengiriman_madiun", 10293 10294 10295 10296 10297 10298 "pengiriman_magelang", 10299 10300 10301 10302 10303 10304 "pengiriman_majalengka", 10305 10306 10307 10308 10309 10310 "pengiriman_makassar", 10311 10312 10313 10314 10315 10316 "pengiriman_malang", 10317 10318 10319 10320 10321 10322 "pengiriman_manado", 10323 10324 10325 10326 10327 10328 "pengiriman_medan", 10329 10330 10331 10332 10333 10334 "pengiriman_mengwi", 10335 10336 10337 10338 10339 10340 "pengiriman_mojokerto", 10341 10342 10343 10344 10345 10346 "pengiriman_nganjuk", 10347 10348 10349 10350 10351 10352 "pengiriman_ngawi", 10353 10354 10355 10356 10357 10358 "pengiriman_padang", 10359 10360 10361 10362 10363 10364 "pengiriman_palembang", 10365 10366 10367 10368 10369 10370 "pengiriman_pasuruan", 10371 10372 10373 10374 10375 10376 "pengiriman_pati", 10377 10378 10379 10380 10381 10382 "pengiriman_pekalongan", 10383 10384 10385 10386 10387 10388 "pengiriman_pekanbaru", 10389 10390 10391 10392 10393 10394 "pengiriman_pemalang", 10395 10396 10397 10398 10399 10400 "pengiriman_ponorogo", 10401 10402 10403 10404 10405 10406 "pengiriman_pontianak", 10407 10408 10409 10410 10411 10412 "pengiriman_probolinggo", 10413 10414 10415 10416 10417 10418 "pengiriman_purbalingga", 10419 10420 10421 10422 10423 10424 "pengiriman_purwakarta", 10425 10426 10427 10428 10429 10430 "pengiriman_purwokerto", 10431 10432 10433 10434 10435 10436 "pengiriman_rembang", 10437 10438 10439 10440 10441 10442 "pengiriman_riau", 10443 10444 10445 10446 10447 10448 "pengiriman_salatiga", 10449 10450 10451 10452 10453 10454 "pengiriman_samarinda", 10455 10456 10457 10458 10459 10460 "pengiriman_semarang", 10461 10462 10463 10464 10465 10466 "pengiriman_sentani", 10467 10468 10469 10470 10471 10472 "pengiriman_serang", 10473 10474 10475 10476 10477 10478 "pengiriman_sidoarjo", 10479 10480 10481 10482 10483 10484 "pengiriman_singkawang", 10485 10486 10487 10488 10489 10490 "pengiriman_sragen", 10491 10492 10493 10494 10495 10496 "pengiriman_subang", 10497 10498 10499 10500 10501 10502 "pengiriman_sukabumi", 10503 10504 10505 10506 10507 10508 "pengiriman_sumbawa", 10509 10510 10511 10512 10513 10514 "pengiriman_surabaya", 10515 10516 10517 10518 10519 10520 "pengiriman_surakarta solo", 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 "pengiriman_tasikmalaya", 10531 10532 10533 10534 10535 10536 "pengiriman_tegal", 10537 10538 10539 10540 10541 10542 "pengiriman_timika", 10543 10544 10545 10546 10547 10548 "pengiriman_wamena", 10549 10550 10551 10552 10553 10554 "pengiriman_wiyung", 10555 10556 10557 10558 10559 10560 "pengiriman_wonokromo", 10561 10562 10563 10564 10565 10566 "pengiriman_yogyakarta", 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 ] 11177 console.log(cityNonJabodetabek) 11178 let non_jabodetabek = [] 11179 for(var i=0;i<cityNonJabodetabek.length;i++) { 11180 const obj = { 11181 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 11182 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 11183 "zip": [] 11184 } 11185 non_jabodetabek.push(obj) 11186 } 11187 let current_location = getCookie("location_delivery") 11188 $("[name=location]").change(function(){ 11189 let v = $(this).val() 11190 let option = [] 11191 if(v == 'Jabodetabek') { 11192 for(var i=0;i<jabodetabek.length;i++) { 11193 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 11194 option.push(jabodetabekHtml) 11195 } 11196 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11197 } else { 11198 for(var i=0;i<non_jabodetabek.length;i++) { 11199 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 11200 option.push(nonjabodetabekHtml) 11201 } 11202 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11203 } 11204 }) 11205 11206 $("#location-lock-submit").click(function(e){
11207 let select = $("#choose-location") 11208 let value = select.val().toLowerCase() 11209 console.log(value) 11210 if(select.val() == "") { 11211 return alert("Choose Your Location") 11212 e.preventDefault() 11213 } 11214 setCookie("location_delivery",value,1000000); 11215 11216 location.reload(); 11217 11218 }) 11219 11220 $("#close-popup-delivery").click(function(){ 11221 $(".MuiDialog-root").hide() 11222 if(!current_location){ 11223 setCookie("location_delivery","jakarta",1000000); 11224 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 11225 } 11226 }) 11227 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 11228 $(".MuiDialog-root").show() 11229 }) 11230 11231 11232 if(!current_location){ 11233 11234 } else { 11235 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 11236 console.log(current_location) 11237 $("#choose-location").each(function(){ 11238 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 11239 $("#jabodetabek").trigger("click") 11240 } else { 11241 $("#non-jabodetabek").trigger("click") 11242 } 11243 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 11244 }) 11245 } 11246 11247 // 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'){ 11248 // $("#timeMalam").attr("disabled", false) 11249 // } else { 11250 // $("#timeMalam").attr("disabled", true) 11251 // } 11252 11253 if(current_location && current_location != 'jakarta') { 11254 $("#self-pickup").attr("disabled", true) 11255 } 11256 11257 function setCookie(name,value,days) { 11258 var expires = ""; 11259 if (days) { 11260 var date = new Date(); 11261 date.setTime(date.getTime() + (days*24*60*60*1000)); 11262 expires = "; expires=" + date.toUTCString(); 11263 } 11264 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 11265 } 11266 function getCookie(name) { 11267 var nameEQ = name + "="; 11268 var ca = document.cookie.split(';'); 11269 for(var i=0;i < ca.length;i++) { 11270 var c = ca[i]; 11271 while (c.charAt(0)==' ') c = c.substring(1,c.length); 11272 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 11273 } 11274 return null; 11275 } 11276</script>
11276 11277<!-- One Tap --> 11278
11278<script> 11279 console.log("Outerbloom..."); 11280 </script>
11280 11281 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328<link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
11329<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
vendor: 2 bytes, line 11329
11329
11330<script> 11331 const widgetConfig = { 11332 id: "clz7897za002cz7otleaz0d3d", 11333 showQuickResponse: false, 11334 quickResponsesData: [], 11335 themeColor: "#ffffff", 11336 widgetText: "", 11337 radiusType: "circle", 11338 widgetIconType: "whatsapp", 11339 position: "right", 11340 storeLogo: "", 11341 storeName: "Outerbloom", 11342 storeDescription: "", 11343 size: "small", 11344 showCard: false, 11345 widgetColorType: "solid", 11346 widgetColor1: "#008069", 11347 widgetColor2: "#008069", 11348 social: { 11349 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 11350 values: { 11351 instagram: { 11352 enabled: false, 11353 value: "", 11354 }, 11355 facebook: { 11356 enabled: false, 11357 value: "", 11358 }, 11359 email: { 11360 enabled: false, 11361 value: "", 11362 }, 11363 x: { 11364 enabled: false, 11365 value: "", 11366 }, 11367 tiktok: { 11368 enabled: false, 11369 value: "", 11370 }, 11371 linkedin: { 11372 enabled: false, 11373 value: "", 11374 }, 11375 youtube: { 11376 enabled: false, 11377 value: "", 11378 }, 11379 }, 11380 }, 11381 }; 11382 11383 function initializeWidget() { 11384 if (typeof BBBWidget !== 'undefined') { 11385 BBBWidget.init(widgetConfig); 11386 } else { 11387 setTimeout(initializeWidget, 100); 11388 } 11389 } 11390 11391 initializeWidget();</script>
11391 11392 11393 11394</div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 11395 11396 11397<div style="position: fixed; bottom: 0; right: 0"></div> 11398
11399<script> 11400console.info("bitlogin extension version: v2.5.7"); 11401 11402const googleScript = document.createElement("script"); 11403googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 11404document.head.append(googleScript); 11405 11406const bitLoginBaseUrl = "https://api.bitbybit.studio"; 11407const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 11408 11409const 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"}}; 11410const 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
11410n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 11411const redirectUrl = appearance.redirectLink; 11412 11413let locationCacheSet = false; 11414let errorLocation = false; 11415let oneTapSet = false; 11416 11417let bitloginCache = { 11418 appearance: appearance, 11419 config: config 11420}; 11421 11422let isInitializing = false; 11423const queue = []; 11424 11425// Add CSS for the popup 11426const popupStyles = document.createElement('style'); 11427popupStyles.textContent = ` 11428 /* Styles for login popup */ 11429 .bitlogin-popup-overlay { 11430 position: fixed; 11431 top: 0; 11432 left: 0; 11433 width: 100%; 11434 height: 100%; 11435 background: rgba(0, 0, 0, 0.45); 11436 backdrop-filter: blur(4px); 11437 display: flex; 11438 align-items: center; 11439 justify-content: center; 11440 opacity: 0; 11441 transition: opacity 0.3s ease-in-out; 11442 z-index: 999999; 11443 } 11444 11445 .bitlogin-popup-overlay.visible { 11446 opacity: 1; 11447 } 11448 11449 .bitlogin-popup { 11450 background: #FFFFFF; 11451 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 11452 border-radius: 16px; 11453 width: 100%; 11454 max-width: 560px; 11455 display: flex; 11456 overflow: hidden; 11457 position: relative; 11458 opacity: 0; 11459 transform: translateY(20px) scale(0.98); 11460 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 11461 } 11462 11463 .bitlogin-popup.visible { 11464 opacity: 1; 11465 transform: translateY(0) scale(1); 11466 } 11467 11468 .bitlogin-popup-with-image { 11469 max-width: 640px; 11470 } 11471 11472 .bitlogin-popup-right-image { 11473 flex-direction: row-reverse; 11474 } 11475 11476 .bitlogin-popup-image { 11477 object-fit: cover; 11478 width: 50%; 11479 height: auto; 11480 } 11481 11482 .bitlogin-popup-content { 11483 padding: 32px; 11484 position: relative; 11485 width: 50%; 11486 } 11487 11488 .bitlogin-popup-close { 11489 position: absolute; 11490 top: 16px; 11491 right: 16px; 11492 background: white; 11493 border: none; 11494 width: 30px; 11495 height: 30px; 11496 display: flex;
11497 align-items: center; 11498 justify-content: center; 11499 cursor: pointer; 11500 transition: background-color 0.2s; 11501 color: inherit; 11502 padding: 0; 11503 } 11504 11505 .bitlogin-popup-close:hover { 11506 background-color: #e5e5e5; 11507 } 11508 11509 .bitlogin-popup-buttons { 11510 display: flex; 11511 flex-direction: column; 11512 gap: 12px; 11513 margin-top: 24px; 11514 } 11515 11516 /* Button styles within popup - override width for popup buttons */ 11517 .bitlogin-popup-buttons #google-login, 11518 .bitlogin-popup-buttons #facebook-login, 11519 .bitlogin-popup-buttons #apple-login, 11520 .bitlogin-popup-buttons #whatsapp-login, 11521 .bitlogin-popup-buttons #microsoft-login, 11522 .bitlogin-popup-buttons #twitter-login, 11523 .bitlogin-popup-buttons #amazon-login, 11524 .bitlogin-popup-buttons #instagram-login, 11525 .bitlogin-popup-buttons #magic-link-login, 11526 .bitlogin-popup-buttons #mobile-app-login { 11527 width: 100% !important; 11528 font-family: inherit !important; 11529 } 11530 11531 .bitlogin-popup-footer { 11532 margin-top: 32px; 11533 text-align: center; 11534 font-size: 14px; 11535 opacity: 0.6; 11536 } 11537 11538 /* Modern Typography */ 11539 .bitlogin-popup h2 { 11540 margin-top: 12px; 11541 font-size: 21px !important; 11542 line-height: 1.2 !important; 11543 font-weight: 700 !important; 11544 letter-spacing: -0.02em !important; 11545 margin-bottom: 16px !important; 11546 } 11547 11548 .bitlogin-popup-header { 11549 position: relative; 11550 margin-bottom: 24px; 11551 } 11552 11553 /* Modern gradient accent */ 11554 .bitlogin-popup-content > div { 11555 font-size: 16px !important; 11556 line-height: 1.2 !important; 11557 opacity: 0.85 !important; 11558 } 11559 11560 /* Enhanced button interactions */ 11561 .bitlogin-popup-buttons button { 11562 position: relative; 11563 overflow: hidden; 11564 } 11565 11566 @keyframes ripple { 11567 0% { 11568 transform: scale(0, 0); 11569 opacity: 0.5; 11570 } 11571 100% { 11572 transform: scale(100, 100); 11573 opacity: 0; 11574 } 11575 } 11576 11577 /* Responsive adjustments */ 11578 @media (max-width: 640px) { 11579 .bitlogin-popup { 11580 max-width: 90%; 11581 width: 90%; 11582 margin: 0 16px; 11583 } 11584 11585 .bitlogin-popup-with-image { 11586 flex-direction: column !important; 11587 } 11588 11589 .bitlogin-popup-image { 11590 width: 100%; 11591 height: 180px; 11592 } 11593 11594 .bitlogin-popup-content { 11595 padding: 24px; 11596 } 11597 11598 .bitlogin-popup h2 { 11599 font-size: 24px !important; 11600 } 11601 } 11602`; 11603 11604document.head.appendChild(popupStyles); 11605 11606// Add fonts link for different font options 11607const fontsLink = document.createElement('link'); 11608fontsLink.rel = 'stylesheet'; 11609fontsLink.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'; 11610document.head.appendChild(fontsLink); 11611 11612(async () => { 11613 try { 11614 let host = window.location.host; 11615 if (host === "admin.shopify.com") { 11616 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 11617 } 11618 11619 const urlSearchParams = new URLSearchParams(window.location.search); 11620 const checkoutUrl = urlSearchParams.get("checkout_url"); 11621 11622 async function init({ inputRef, index }) { 11623 if (isInitializing) { 11624 queue.push(() => init({ inputRef, index })); 11625 return; 11626 } 11627 11628 isInitializing = true; 11629 11630 try { 11631 let bitLoginSectionRoot = document.querySelector( 11632 `.bitlogin-root[data-index="${index}"]` 11633 ); 11634 11635 const formRef = inputRef?.closest( 11636 "form:not([action='/account/recover'])" 11637 ); 11638 11639 if (formRef && !bitLoginSectionRoot) { 11640 await getLocation(); 11641 11642 bitLoginSectionRoot = document.createElement(`div`); 11643 11644 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 11645 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 11646 11647 updateAppearance({ 11648 formRef, 11649 rootRef: bitLoginSectionRoot, 11650 host, 11651 }); 11652 } 11653 } catch (err) { 11654 console.error(`error while initiating bitlogin extensions`, err); 11655 } finally { 11656 // Release the lock 11657 isInitializing = false; 11658 11659 // Check if there are pending items in the queue 11660 if (queue.length > 0) { 11661 // Process the next function in the queue 11662 const nextFunction = queue.shift(); 11663 nextFunction(); 11664 } 11665 } 11666 } 11667 11668 function initAll() { 11669 return new Promise((resolve, reject) => { 11670 setTimeout(async () => { 11671 const inputRefs = document.querySelectorAll( 11672 'input[name="customer[email]"]' 11673 ); 11674 11675 for (let i = 0; i < inputRefs.length; i++) { 11676 const currentInputRef = inputRefs[i]; 11677 const isVisible = isElementVisible(currentInputRef); 11678 11679 if (isVisible) { 11680 await init({ inputRef: currentInputRef, index: i }); 11681 } 11682 } 11683 11684 resolve("ok"); 11685 }, 100); 11686 }); 11687 } 11688 11689 const observer = new MutationObserver((mutationsList) => { 11690 for (let mutation of mutationsList) { 11691 initAll(); 11692 } 11693 });
11694 11695 observer.observe(document.body, { 11696 childList: true, 11697 subtree: true, 11698 attributes: true, 11699 }); 11700 11701 initAll(); 11702 11703 if (appearance.googleOneTap) { 11704 setupOneTap({ host, checkoutUrl }); 11705 } 11706 11707 // Initialize popup 11708 await initPopup(host); 11709 } catch (error) { 11710 console.error("Error initializing BitLogin:", error); 11711 } 11712})(); 11713 11714async function initPopup(host) { 11715 // Check if user is already logged in using Liquid checks properly 11716 const isLoggedIn = false || 11717 document.querySelector('.customer-logout-link') || 11718 document.querySelector('.account-link') || 11719 window.location.pathname.includes('/account'); 11720 11721 if (isLoggedIn) { 11722 return; // User is logged in, don't show popup 11723 } 11724 11725 try { 11726 // Fetch the popup configuration 11727 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 11728 .then(res => res.json()) 11729 .catch(err => { 11730 console.error('Error fetching popup configuration:', err); 11731 return null; 11732 }); 11733 11734 if (!popupConfig || !popupConfig.enabled) { 11735 return; // Don't show popup if disabled or config not found 11736 } 11737 11738 // Create popup after 10 seconds 11739 setTimeout(() => { 11740 // Check if user is still on the page and still not logged in 11741 if (document.visibilityState === 'visible') { 11742 // Additional check in case user logged in during the 10 second wait 11743 const currentlyLoggedIn = false || 11744 document.querySelector('.customer-logout-link') || 11745 document.querySelector('.account-link'); 11746 11747 if (!currentlyLoggedIn) { 11748 createLoginPopup(popupConfig, host); 11749 } 11750 } 11751 }, 10000); 11752 } catch (error) { 11753 console.error('Error initializing popup:', error); 11754 } 11755} 11756 11757function createLoginPopup(popupConfig, host) { 11758 // Font mapping 11759 const fontFamilyMap = { 11760 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 11761 montserrat: 'Montserrat, sans-serif', 11762 roboto: 'Roboto, sans-serif', 11763 open_sans: 'Open Sans, sans-serif', 11764 noto_sans: 'Noto Sans, sans-serif', 11765 lato: 'Lato, sans-serif', 11766 poppins: 'Poppins, sans-serif', 11767 quicksand: 'Quicksand, sans-serif', 11768 raleway: 'Raleway, sans-serif', 11769 pt_sans: 'PT Sans, sans-serif', 11770 oswald: 'Oswald, sans-serif', 11771 }; 11772 11773 // Create overlay 11774 const overlay = document.createElement('div'); 11775 overlay.className = 'bitlogin-popup-overlay'; 11776 11777 // Create popup container with appropriate styling 11778 const popup = document.createElement('div'); 11779 popup.className = 'bitlogin-popup'; 11780 11781 if (popupConfig.layout === 'default') { 11782 popup.style.maxWidth = '400px'; 11783 } 11784 11785 // Function to close the popup 11786 const closePopup = () => { 11787 overlay.classList.remove('visible'); 11788 popup.classList.remove('visible'); 11789 setTimeout(() => { 11790 if (document.body.contains(overlay)) { 11791 document.body.removeChild(overlay); 11792 } 11793 }, 300); 11794 }; 11795 11796 // Add click handler to the overlay to close when clicking outside 11797 overlay.addEventListener('click', (event) => { 11798 // Close only if clicking directly on the overlay, not its children 11799 if (event.target === overlay) { 11800 closePopup(); 11801 } 11802 }); 11803 11804 // Add escape key handler to close popup 11805 document.addEventListener('keydown', (event) => { 11806 if (event.key === 'Escape' && document.body.contains(overlay)) { 11807 closePopup(); 11808 } 11809 }); 11810 11811 // Create layout with image if specified 11812 let contentWrapper; 11813 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 11814 popup.classList.add('bitlogin-popup-with-image'); 11815 11816 if (popupConfig.layout === 'right') { 11817 popup.classList.add('bitlogin-popup-right-image'); 11818 } 11819 11820 // Add image 11821 const image = document.createElement('img'); 11822 image.className = 'bitlogin-popup-image'; 11823 image.src = popupConfig.popupImage; 11824 image.alt = 'Login'; 11825 image.loading = 'lazy'; 11826 popup.appendChild(image); 11827 11828 // Create content container 11829 contentWrapper = document.createElement('div'); 11830 contentWrapper.className = 'bitlogin-popup-content'; 11831 11832 if (popupConfig.layout === 'right') { 11833 const closeButton = document.createElement('button'); 11834 closeButton.className = 'bitlogin-popup-close'; 11835 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 11836 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11837 </svg>`; 11838 closeButton.setAttribute('aria-label', 'Close'); 11839 closeButton.onclick = closePopup; 11840 11841 popup.appendChild(closeButton); 11842 } 11843 } else { 11844 contentWrapper = document.createElement('div'); 11845 contentWrapper.className = 'bitlogin-popup-content'; 11846 contentWrapper.style.width = '100%'; 11847 } 11848 11849 // Set background style 11850 if (popupConfig.backgroundTheme === 'gradient') { 11851 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 11852 } else { 11853 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 11854 } 11855 11856 // Apply font family 11857 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 11858 11859 if (popupConfig.layout !== 'right') { 11860 const closeButton = document.createElement('button'); 11861 closeButton.className = 'bitlogin-popup-close'; 11862 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 11863 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11864 </svg>`; 11865 closeButton.setAttribute('aria-label', 'Close'); 11866 closeButton.onclick = closePopup; 11867 11868 contentWrapper.appendChild(closeButton); 11869 } 11870 11871 // Add heading with subtle animation effect 11872 const header = document.createElement('div'); 11873 header.className = 'bitlogin-popup-header'; 11874 11875 const heading = document.createElement('h2'); 11876 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11876its'; 11877 heading.style.color = popupConfig.fontColor; 11878 header.appendChild(heading); 11879 11880 // Add body text with improved formatting 11881 const bodyText = document.createElement('div'); 11882 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 11883 bodyText.style.color = popupConfig.fontColor; 11884 header.appendChild(bodyText); 11885 11886 contentWrapper.appendChild(header); 11887 11888 // Create buttons container with modern styling 11889 const buttonsContainer = document.createElement('div'); 11890 buttonsContainer.className = 'bitlogin-popup-buttons'; 11891 11892 // Add social buttons 11893 const providerLabels = { 11894 'GOOGLE': 'Continue with Google', 11895 'FACEBOOK': 'Continue with Facebook', 11896 'APPLE': 'Continue with Apple', 11897 'WHATSAPP': 'Continue with WhatsApp', 11898 'MAGIC_LINK': 'Continue with Email', 11899 }; 11900 11901 // Add first login provider button 11902 if (popupConfig.loginProvider1 !== 'NONE') { 11903 const buttonConfig = { 11904 theme: popupConfig.colorScheme || 'match', 11905 customColor: popupConfig.textColor, 11906 format: 'contentFlex', 11907 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 11908 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11909 style: popupConfig.style || 'rounded', 11910 size: popupConfig.size || 'medium', 11911 colorScheme: popupConfig.colorScheme || 'match', 11912 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11913 textColor: popupConfig.textColor || '#FFFFFF', 11914 outlineColor: popupConfig.outlineColor || '#3B82F6', 11915 host: host 11916 }; 11917 11918 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 11919 11920 // Handle click event - this overrides the default click handler in createSocialLoginButton 11921 button1.onclick = () => { 11922 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 11923 closePopup(); 11924 }; 11925 11926 buttonsContainer.appendChild(button1); 11927 } 11928 11929 // Add second login provider button if enabled 11930 if (popupConfig.loginProvider2 !== 'NONE') { 11931 const buttonConfig = { 11932 theme: popupConfig.colorScheme || 'match', 11933 customColor: popupConfig.textColor, 11934 format: 'contentFlex', 11935 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 11936 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11937 style: popupConfig.style || 'rounded', 11938 size: popupConfig.size || 'medium', 11939 colorScheme: popupConfig.colorScheme || 'match', 11940 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11941 textColor: popupConfig.textColor || '#FFFFFF', 11942 outlineColor: popupConfig.outlineColor || '#3B82F6', 11943 host: host 11944 }; 11945 11946 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 11947 11948 // Handle click event - this overrides the default click handler in createSocialLoginButton 11949 button2.onclick = () => { 11950 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 11951 closePopup(); 11952 }; 11953 11954 buttonsContainer.appendChild(button2); 11955 } 11956 11957 contentWrapper.appendChild(buttonsContainer); 11958 11959 // Append content to popup 11960 popup.appendChild(contentWrapper); 11961 11962 // Append popup to overlay 11963 overlay.appendChild(popup); 11964 11965 // Append overlay to body 11966 document.body.appendChild(overlay); 11967 11968 // Trigger animation with slight delay for better perceived performance 11969 setTimeout(() => { 11970 overlay.classList.add('visible'); 11971 setTimeout(() => { 11972 popup.classList.add('visible'); 11973 }, 50); 11974 }, 10); 11975} 11976 11977window.addEventListener("load", () => { 11978 window.addEventListener("message", (event) => { 11979 const receivedData = event.data; 11980 11981 if (receivedData.type === "authorize") { 11982 post( 11983 JSON.parse( 11984 JSON.stringify({ 11985 "customer[email]": receivedData.email, 11986 "customer[password]": receivedData.password, 11987 form_type: "customer_login", 11988 utf8: "â", 11989 return_url: redirectUrl, 11990 }) 11991 ) 11992 ); 11993 } else if (receivedData.type === "rejected") { 11994 if (receivedData.reason === "customer_account_disabled") { 11995 showAlert( 11996 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 11997 ); 11998 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 11999 showAlert( 12000 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 12001 ); 12002 } else if (receivedData.reason === "customer_exist_email_not_set") { 12003 showAlert( 12004 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 12005 ); 12006 } 12007 } 12008 12009 if (receivedData.type === "customer_authenticated") { 12010 // Dispatch a custom event that merchants can listen for to implement their custom logic 12011 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 12012 detail: { 12013 provider: receivedData.provider, 12014 customer: receivedData.customer, 12015 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 12016 } 12017 }); 12018 12019 // Dispatch the event on the window object so merchants can listen for it 12020 window.dispatchEvent(customerAuthEvent); 12021 12022 } 12023 }); 12024}); 12025 12026// Reusable functions for social login buttons 12027function createSocialLoginButton(provider, config = {}) { 12028 const { 12029 theme = 'match', 12030 customColor = null, 12031 format = 'contentFlex', 12032 buttonText = null, 12033 hasShadow = true, 12034 style = 'rounded', 12035 size = 'medium', 12036 colorScheme = 'match', 12037 backgroundColor = '#3B82F6', 12038 textColor = '#FFFFFF', 12039 outlineColor = '#3B82F6', 12040 rootRef = null, 12041 host = null 12042 } = config; 12043 12044 // Create button element with appropriate ID and attributes 12045 const button = document.createElement('button'); 12046 button.id = `${provider.toLowerCase()}-login`; 12047 button.type = 'button'; 12048 12049 // Set the inner SVG based on provider 12050 switch (provider.toUpperCase()) { 12051 case 'GOOGLE': 12052 button.innerHTML = googleLoginIcon(theme, customColor); 12053 break; 12054 case 'FACEBOOK': 12055 button.innerHTML = facebookLoginIcon(theme, customColor); 12056 break; 12057 case 'APPLE': 12058 button.innerHTML = appleLoginIcon(theme, customColor); 12059 break; 12060 case 'WHATSAPP': 12061 button.innerHTML = whatsappLoginIcon(theme, customColor); 12062 break; 12063 case 'MICROSOFT': 12064 button.innerHTML = microsoftLoginIcon(theme, customColor); 12065 break; 12066 case 'TWITTER': 12067 button.innerHTML = twitterLoginIcon(theme, customColor); 12068 break; 12069 case 'AMAZON': 12070 button.innerHTML = amazonLoginIcon(theme, customColor); 12071 break; 12072 case 'INSTAGRAM': 12073 button.innerHTML = instagramLoginIcon(theme, customColor); 12074 break; 12075 case 'MAGIC_LINK': 12076 button.innerHTML = magicLinkLoginIcon(theme, customColor); 12077 break; 12078 case 'MOBILE_APP':
12079 button.innerHTML = mobileAppLoginIcon(theme, customColor); 12080 break; 12081 case 'LINKEDIN': 12082 button.innerHTML = linkedinLoginIcon(theme, customColor); 12083 break; 12084 } 12085 12086 // Add text if format isn't icon-only and buttonText is provided 12087 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 12088 button.innerHTML += `<p>${buttonText}</p>`; 12089 } 12090 12091 // Apply styling 12092 // Shadow 12093 if (hasShadow) { 12094 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 12095 button.style["box-shadow"] = shadowProperties; 12096 } 12097 12098 // Border radius 12099 const radiusProperties = 12100 style === "rounded" 12101 ? "8px" 12102 : style === "square" 12103 ? "0px" 12104 : style === "fullRounded" 12105 ? format === "wrapperFlexContainerOnlyLogo" 12106 ? "50%" 12107 : "50px" 12108 : undefined; 12109 button.style["border-radius"] = radiusProperties; 12110 12111 // Size 12112 const sizeProperties = 12113 size === "medium" 12114 ? "12px" 12115 : size === "small" 12116 ? "8px" 12117 : size === "large" 12118 ? "16px" 12119 : "8px"; 12120 12121 button.style["padding-block"] = sizeProperties; 12122 12123 // Format styling 12124 if (format) { 12125 if ( 12126 format === "contentFlexReverse" || 12127 format === "contentFlexCenterReverse" 12128 ) { 12129 const flexDir = `row-reverse`; 12130 button.style["flex-direction"] = flexDir; 12131 } 12132 12133 if ( 12134 format === "contentFlexCenter" || 12135 format === "contentFlexCenterReverse" 12136 ) { 12137 const justifyContent = `center`; 12138 button.style["justify-content"] = justifyContent; 12139 } else if ( 12140 format === "contentFlex" || 12141 format === "contentFlexReverse" 12142 ) { 12143 const buttonTextElement = button.querySelector("p"); 12144 if (buttonTextElement) { 12145 buttonTextElement.style["flex-grow"] = 1; 12146 buttonTextElement.style["text-align"] = "center"; 12147 } 12148 } 12149 12150 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 12151 rootRef.style["flex-direction"] = "row"; 12152 rootRef.style["gap"] = "8px"; 12153 rootRef.style["display"] = "flex"; 12154 rootRef.style["flex-wrap"] = "wrap"; 12155 12156 const sizeMapping = { 12157 small: "52px", 12158 medium: "62px", 12159 large: "72px", 12160 }; 12161 const buttonSize = sizeMapping[size] || "52px"; 12162 12163 button.style["margin"] = 0; 12164 button.style["width"] = buttonSize; 12165 button.style["height"] = buttonSize; 12166 button.style["display"] = "flex"; 12167 button.style["align-items"] = "center"; 12168 button.style["justify-content"] = "center"; 12169 12170 const svgElement = button.querySelector("svg"); 12171 if (svgElement) { 12172 svgElement.style["flex"] = "none"; 12173 } 12174 } 12175 } 12176 12177 // Color scheme styling 12178 if (colorScheme === "black") { 12179 button.classList.add("scheme-black"); 12180 } else if (colorScheme === "white") { 12181 button.classList.add("scheme-white"); 12182 } else if (colorScheme === "custom") { 12183 button.style["background-color"] = backgroundColor; 12184 button.style["color"] = textColor; 12185 button.style["border-color"] = outlineColor; 12186 12187 const darkenColor = (color, percentage) => { 12188 const value = parseInt(color.slice(1), 16); 12189 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 12190 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 12191 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 12192 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 12193 }; 12194 12195 button.addEventListener("mouseover", () => { 12196 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 12197 }); 12198 button.addEventListener("mouseout", () => { 12199 button.style["background-color"] = backgroundColor; 12200 }); 12201 } else if (colorScheme === "match") { 12202 button.classList.add("scheme-match"); 12203 } else if (colorScheme === "matchOutline") { 12204 button.classList.add("scheme-match-outline"); 12205 } 12206 12207 // Add click event listener if host is provided 12208 if (host) { 12209 button.addEventListener("click", () => 12210 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 12211 ); 12212 } 12213 12214 return button; 12215} 12216 12217function setupSocialLoginButtons(config, rootRef, data, host) { 12218 // Clear any existing content 12219 rootRef.innerHTML = ''; 12220 12221 const sortedEnabledProviders = config 12222 .filter(c => c.enabledWeb) 12223 .sort((a, b) => a.position - b.position); 12224
12225 sortedEnabledProviders.forEach(provider => { 12226 const key = provider.provider; 12227 const lowerKey = key.toLowerCase(); 12228 12229 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 12230 ? (lowerKey === 'twitter' 12231 ? data.buttonList.twitter.replace('Twitter', 'X') 12232 : data.buttonList[lowerKey]) 12233 : null; 12234 12235 const button = createSocialLoginButton(key, { 12236 theme: data.colorScheme || 'match', 12237 customColor: data.textColor, 12238 format: data.format, 12239 buttonText: buttonText, 12240 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 12241 style: data.style, 12242 size: data.size, 12243 colorScheme: data.colorScheme, 12244 backgroundColor: data.backgroundColor, 12245 textColor: data.textColor, 12246 outlineColor: data.outlineColor, 12247 rootRef: rootRef, 12248 host: host 12249 }); 12250 12251 rootRef.appendChild(button); 12252 }); 12253 12254 return rootRef; 12255} 12256 12257function updateAppearance({ formRef, rootRef, host }) { 12258 if (!formRef) return; 12259 12260 const data = bitloginCache.appearance || { 12261 style: "square", 12262 hasShadow: false, 12263 colorScheme: "match", 12264 backgroundColor: "#FFFFFF", 12265 outlineColor: "#000000", 12266 textColor: "#000000", 12267 position: "bottom", 12268 hideDivider: "false", 12269 dividerText: "OR", 12270 size: "small", 12271 format: "contentFlex", 12272 language: "en", 12273 buttonText: "Continue with", 12274 redirectLink: "/account", 12275 googleOneTap: true, 12276 googleOneTapBanner: true, 12277 customerTag: "bitLogin", 12278 redirectOneTapDesktop: null, 12279 redirectOneTapMobile: null, 12280 buttonList: { 12281 google: "Continue with Google", 12282 facebook: "Continue with Facebook", 12283 apple: "Continue with Apple", 12284 whatsapp: "Continue with WhatsApp", 12285 microsoft: "Continue with Microsoft", 12286 twitter: "Continue with X", 12287 amazon: "Continue with Amazon", 12288 instagram: "Continue with Instagram", 12289 magic_link: "Continue with Magic Link", 12290 mobile_app: "Continue with Mobile App", 12291 linkedin: "Continue with LinkedIn", 12292 }, 12293 }; 12294 12295 // Use the new setupSocialLoginButtons function to create and configure all buttons 12296 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 12297 12298 let divider; 12299 12300 if (!data.hideDivider) { 12301 divider = document.createElement("div"); 12302 const dividerStyle = "text-align:center;margin-block:16px"; 12303 divider.setAttribute("style", dividerStyle); 12304 divider.innerHTML = data.dividerText; 12305 } 12306 12307 if (data.position === "bottom") { 12308 if (divider) { 12309 formRef.appendChild(divider); 12310 } 12311 formRef.appendChild(rootRef); 12312 } else if (data.position === "top") { 12313 if (divider) { 12314 formRef.prepend(divider); 12315 } 12316 formRef.prepend(rootRef); 12317 } 12318} 12319 12320 12321async function onClickSocialLogin({ provider, host }) { 12322 const rand = Math.random().toString(); 12323 12324 const locationQueryString = bitloginCache.location 12325 ? `&${objectToQueryString(bitloginCache.location)}` 12326 : ""; 12327 12328 const width = 800; 12329 const height = 600; 12330 const left = (window.screen.width / 2) - (width / 2); 12331 const top = (window.screen.height / 2) - (height / 2) - 50; 12332 12333 if(provider === 'whatsapp') { 12334 window.open( 12335 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 12336 "mywindow", 12337 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12338 ); 12339 } else { 12340 window.open( 12341 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 12342 "mywindow", 12343 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12344 ); 12345 } 12346} 12347 12348function objectToQueryString(obj) { 12349 return Object.keys(obj) 12350 .map((key) => { 12351 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 12352 }) 12353 .join("&"); 12354} 12355 12356async function getLocation() { 12357 if (locationCacheSet) return; 12358 12359 try { 12360 const response = await fetch("https://ipapi.co/json/"); 12361 12362 if (!response.ok) { 12363 console.error(`error retrieving location...`, response.status); 12364 errorLocation = true; 12365 } else { 12366 const data = await response.json(); 12367 12368 const { city, region, country_name, country_code } = data; 12369 12370 const formattedLocationData = { 12371 city, 12372 region, 12373 country_name, 12374 country_code, 12375 }; 12376 12377 bitloginCache.location = formattedLocationData; 12378 locationCacheSet = true; 12379 errorLocation = false; 12380 } 12381 } catch (err) { 12382 console.error(`error fetching location`, err); 12383 errorLocation = true; 12384 } 12385} 12386 12387function post(params) { 12388 // The rest of this code assumes you are not using a library. 12389 // It can be made less verbose if you use one. 12390 const form = document.createElement("form"); 12391 form.method = "post"; 12392 form.action = `/account/login`; 12393 form.acceptCharset = "UTF-8"; 12394 form.setAttribute("data-login-with-shop-sign-in", "true"); 12395 form.setAttribute("novalidate", "novalidate"); 12396 12397 for (const key in params) { 12398 if (params.hasOwnProperty(key)) { 12399 const hiddenField = document.createElement("input"); 12400 hiddenField.type = "hidden"; 12401 hiddenField.name = key; 12402 hiddenField.value = params[key]; 12403 12404 form.appendChild(hiddenField); 12405 } 12406 } 12407 12408 document.body.appendChild(form); 12409 form.submit(); 12410} 12411 12412async function setupOneTap({ host, checkoutUrl }) { 12413 if (oneTapSet) return; 12414 12415 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 12416 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 12417 12418 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
12419 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 12420 12421 const currentPath = window.location.pathname.toLowerCase(); 12422 const currentUrl = window.location.href.toLowerCase(); 12423 12424 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 12425 switch (value) { 12426 case 'home': 12427 return currentPath === '/'; 12428 case 'product': 12429 return currentPath.startsWith('/products/'); 12430 case 'collections': 12431 return currentPath.startsWith('/collections'); 12432 case 'cart': 12433 return currentPath === '/cart'; 12434 case 'checkout': 12435 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 12436 case 'thank_you': 12437 return currentPath.includes('/thank_you'); 12438 case 'account': 12439 return currentPath.startsWith('/account'); 12440 case 'pages': 12441 return currentPath.startsWith('/pages'); 12442 case 'blogs': 12443 return currentPath === '/blogs' || currentPath === '/blogs/news'; 12444 case 'blog_post': 12445 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 12446 default: 12447 return false; 12448 } 12449 }); 12450 12451 if (shouldHideGoogleOneTap) return; 12452 12453 const oneTapClientId = bitloginCache.config.find( 12454 (config) => config.provider === "GOOGLE" 12455 )?.clientId; 12456 12457 const isLoggedIn = false; 12458 12459 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 12460 const googleOneTapButton = document.createElement("div"); 12461 googleOneTapButton.setAttribute("id", "g_id_onload"); 12462 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 12463 googleOneTapButton.setAttribute("data-context", "signin"); 12464 googleOneTapButton.setAttribute( 12465 "data-callback", 12466 "handleGoogleOneTapResponse" 12467 ); 12468 googleOneTapButton.setAttribute("data-itp_support", "true"); 12469 12470 const googleOneTapScript = document.createElement("script"); 12471 12472 googleOneTapScript.innerHTML += ` 12473 function handleGoogleOneTapResponse(response) { 12474 if (response.credential) { 12475 const idToken = response.credential; 12476 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 12477 method: 'POST', 12478 headers: { 'Content-Type': 'application/json' }, 12479 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 12480 }).then(response => { 12481 response.json().then((data) => { 12482 post( 12483 JSON.parse( 12484 JSON.stringify({ 12485 "customer[email]": data.email, 12486 "customer[password]": data.password, 12487 form_type: "customer_login", 12488 utf8: "â", 12489 return_url: redirectUrl, 12490 }) 12491 ) 12492 ); 12493 }); 12494 }).catch(error => { 12495 console.error('Error occurred:', error); 12496 }); 12497 } else { 12498 console.error('No credential available'); 12499 } 12500 } 12501 `; 12502 12503 document.body.append(googleOneTapButton); 12504 document.body.append(googleOneTapScript); 12505 } 12506 12507 oneTapSet = true; 12508} 12509 12510const googleLoginIcon = ( 12511 theme, 12512 customColor 12513) => ` 12514${ 12515 theme === "match" || theme === "matchOutline" || theme === "custom" 12516 ? `<svg 12517 xmlns='https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png' 12518 xmlns:v='https://vecta.io/nano' 12519 width='24' 12520 height='24' 12521 viewBox='0 0 186.69 190.5' 12522 >
12523 <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="${ 12524 theme === "custom" ? customColor : "#4285f4" 12525 }"/><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="${ 12526 theme === "custom" ? customColor : "#34a853" 12527 }"/><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="${ 12528 theme === "custom" ? customColor : "#fbbc05" 12529 }"/><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="${ 12530 theme === "custom" ? customColor : "#ea4335" 12531 }" clip-path="none" mask="none"/></g> 12532 </svg>` 12533 : `<svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 12534<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="${ 12535 theme !== "black" ? "black" : "white" 12536 }"/> 12537<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="${ 12538 theme !== "black" ? "black" : "white" 12539 }"/> 12540<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="${ 12541 theme !== "black" ? "black" : "white" 12542 }"/> 12543<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="${ 12544 theme !== "black" ? "black" : "white" 12545 }"/> 12546</svg>` 12547}`; 12548 12549const appleLoginIcon = ( 12550 theme, 12551 customColor 12552) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 12553<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="${ 12554 theme === "custom" 12555 ? customColor 12556 : theme === "match" || theme === "black" 12557 ? "white" 12558 : "black" 12559}"/> 12560</svg>`; 12561 12562const facebookLoginIcon = ( 12563 theme, 12564 customColor 12565) => ` 12566${ 12567 theme === "match" || theme === "matchOutline" || theme === "custom" 12568 ? `<svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12569 <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="${ 12570 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 12571 }"/> 12572 <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="${ 12573 theme === "match" ? "#1778f2" : "transparent" 12574 }"/> 12575 </svg>` 12576 : `<svg xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" width="24" height="25" viewB
12576ox="0 0 24 25" fill="none"> 12577<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="${ 12578 theme === "black" ? "white" : "black" 12579 }"/> 12580<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="${ 12581 theme === "black" ? "black" : "white" 12582 }"/> 12583</svg>` 12584}`; 12585 12586const whatsappLoginIcon = ( 12587 theme, 12588 customColor 12589) => `<svg 12590 viewBox="0 0 24 24" 12591 fill="none" 12592 width="24" 12593 height="25" 12594 xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12595> 12596 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 12597 <g 12598 id="SVGRepo_tracerCarrier" 12599 stroke-linecap="round" 12600 stroke-linejoin="round" 12601 ></g> 12602 <g id="SVGRepo_iconCarrier"> 12603 <path 12604 fill-rule="evenodd" 12605 clip-rule="evenodd" 12606 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" 12607 fill="${ 12608 theme === "match" || theme === "black" 12609 ? "#ffffff" 12610 : theme === "white" 12611 ? "#000000" 12612 : theme === "matchOutline" 12613 ? "#25d366" 12614 : customColor 12615 }" 12616 ></path> 12617 </g> 12618</svg>`; 12619 12620const microsoftLoginIcon = ( 12621 theme, 12622 customColor 12623) => `<svg 12624xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12625width="25" 12626height="25" 12627viewBox="0 0 48 48"> 12628<path fill="${ 12629 theme === "match" || theme == "matchOutline" 12630 ? "#ff5722" 12631 : theme === "black" 12632 ? "#ffffff" 12633 : theme === "white" 12634 ? "#000000" 12635 : customColor 12636}" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 12637<path 12638 fill="${ 12639 theme === "match" || theme == "matchOutline" 12640 ? "#4caf50" 12641 : theme === "black" 12642 ? "#ffffff" 12643 : theme === "white" 12644 ? "#000000" 12645 : customColor 12646 }" 12647 d="M26 6H42V22H26z" 12648 transform="rotate(-180 34 14)"></path> 12649<path 12650 fill="${ 12651 theme === "match" || theme == "matchOutline" 12652 ? "#ffc107" 12653 : theme === "black" 12654 ? "#ffffff" 12655 : theme === "white" 12656 ? "#000000" 12657 : customColor 12658 }" 12659 d="M26 26H42V42H26z" 12660 transform="rotate(-180 34 34)"></path> 12661<path fill="${ 12662 theme === "match" || theme == "matchOutline" 12663 ? "#03a9f4" 12664 : theme === "black" 12665 ? "#ffffff" 12666 : theme === "white" 12667 ? "#000000" 12668 : customColor 12669}" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 12670</svg>`; 12671 12672const twitterLoginIcon = ( 12673 theme, 12674 customColor 12675) => `<svg 12676xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12677width="25" 12678height="25" 12679viewBox="0 0 48 48"> 12680<polygon fill="${ 12681 theme === "match" || theme === "black" 12682 ? "#ffffff" 12683 : theme === "matchOutline" || theme === "white" 12684 ? "#000000" 12685 : customColor 12686}" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 12687<polygon 12688 fill="${ 12689 theme === "match" || theme === "black" 12690 ? "#000000" 12691 : theme === "matchOutline" || theme === "white" 12692 ? "#ffffff" 12693 : customColor 12694 }" 12695 fill-rule="evenodd" 12696 points="31.143,41 7.82,7 16.777,7 40.1,41" 12697 clip-rule="evenodd"></polygon> 12698<path 12699 fill="${ 12700 theme === "match" || theme === "black" 12701 ? "#ffffff" 12702 : theme === "matchOutline" || theme === "white" 12703 ? "#000000" 12704 : customColor 12705 }" 12706 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 12707</svg>`; 12708 12709const amazonLoginIcon = (theme, customColor) => ` 12710 <svg 12711 xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12712 x="0px" 12713 y="0px" 12714 width="25" 12715 height="25"
12716 viewBox="0 0 50 50" 12717 > 12718 <path 12719 fill="${ 12720 theme === "black" 12721 ? "#ffffff" 12722 : theme === "matchOutline" 12723 ? "#FF9900" 12724 : theme === "white" || theme === "match" 12725 ? "#000000" 12726 : customColor 12727 }" 12728 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" 12729 ></path> 12730 </svg>`; 12731 12732const instagramLoginIcon= (theme, customColor) => ` 12733 <svg 12734 width="25" 12735 height="25" 12736 viewBox="0 0 25 24" 12737 fill="none" 12738 xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png"> 12739 <path 12740 fill-rule="evenodd" 12741 clip-rule="evenodd" 12742 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.
1274264321C8.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" 12743 fill="url(#paint0_radial_378_3535)" /> 12744 <path 12745 fill-rule="evenodd" 12746 clip-rule="evenodd" 12747 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" 12748 fill="url(#paint0_radial_378_3535)" /> 12749 <path 12750 fill-rule="evenodd" 12751 clip-rule="evenodd" 12752 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.
1275264321C8.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" 12753 fill="url(#paint0_radial_378_3535)" /> 12754 <path 12755 fill-rule="evenodd" 12756 clip-rule="evenodd" 12757 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" 12758 fill="url(#paint1_radial_378_3535)" /> 12759 <defs> 12760 <radialGradient 12761 id="paint0_radial_378_3535" 12762 cx="0" 12763 cy="0" 12764 r="1" 12765 gradientUnits="userSpaceOnUse" 12766 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 12767 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 12768 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 12769 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 12770 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 12771 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 12772 </radialGradient> 12773 <radialGradient 12774 id="paint1_radial_378_3535" 12775 cx="0" 12776 cy="0" 12777 r="1" 12778 gradientUnits="userSpaceOnUse" 12779 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 12780 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 12781 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 12782 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 12783 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 12784 </radialGradient> 12785 </defs> 12786 </svg>`; 12787 12788const magicLinkLoginIcon = (theme, customColor) => ` 12789 <svg 12790 xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12791 width="25" 12792 height="25" 12793 fill="none"
12794 viewBox="0 0 25 25" 12795 > 12796 <path 12797 fill="${ 12798 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 12799 }" 12800 fillRule="evenodd" 12801 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" 12802 clipRule="evenodd" 12803 ></path> 12804 </svg>`; 12805 12806const mobileAppLoginIcon = (theme, customColor) => ` 12807 <svg 12808 width="20" 12809 height="24" 12810 viewBox="0 0 12 16" 12811 fill="none" 12812 xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12813 > 12814 <path 12815 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" 12816 fill=${ 12817 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 12818 } 12819 /> 12820 </svg> 12821`; 12822 12823const linkedinLoginIcon = (theme, customColor) => ` 12824 <svg 12825 xmlns="https://w4d.kumostock.com/win4d/fresdo/logo-win4d.png" 12826 width="25" 12827 height="24" 12828 viewBox="0 0 25 24" 12829 fill="none" 12830 > 12831 <path 12832 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" 12833 fill=${ 12834 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 12835 } 12836 /> 12837 </svg> 12838`; 12839 12840function isElementVisible(element) { 12841 return ( 12842 document.body.contains(element) && 12843 getComputedStyle(element).display !== "none" && 12844 getComputedStyle(element).visibility !== "hidden" && 12845 getComputedStyle(element).opacity !== "0" && 12846 !element.hasAttribute("hidden") && 12847 !isAncestorHidden(element) 12848 ); 12849} 12850 12851function isAncestorHidden(element) { 12852 let parent = element.parentElement; 12853 while (parent) { 12854 if ( 12855 getComputedStyle(parent).display === "none" || 12856 getComputedStyle(parent).visibility === "hidden" || 12857 getComputedStyle(parent).opacity === "0" || 12858 parent.hasAttribute("hidden") 12859 ) { 12860 return true; 12861 } 12862 parent = parent.parentElement; 12863 } 12864 return false; 12865} 12866 12867function showAlert(message) { 12868 const alertBox = document.createElement("div"); 12869 alertBox.textContent = message; 12870 alertBox.style.position = "fixed"; 12871 alertBox.style.top = "20px"; 12872 alertBox.style.right = "-300px"; // Start off-screen 12873 alertBox.style.backgroundColor = "#000000"; // Black background 12874 alertBox.style.color = "#ffffff"; // White text 12875 alertBox.style.padding = "15px"; 12876 alertBox.style.borderRadius = "8px"; 12877 alertBox.style.zIndex = "1000"; 12878 alertBox.style.transition = 12879 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 12880 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 12881 12882 document.body.appendChild(alertBox); 12883 12884 // Slide in 12885 requestAnimationFrame(() => { 12886 alertBox.style.right = "20px"; // Move into view 12887 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 12888 }); 12889 12890 // Slide out and remove the alert after a few seconds 12891 setTimeout(() => { 12892 alertBox.style.opacity = "0"; // Fade out 12893 alertBox.style.right = "-300px"; // Move out of view 12894 12895 // Wait for the transition to finish before removing the element 12896 setTimeout(() => { 12897 document.body.removeChild(alertBox); 12898 }, 500); // Match this duration with the exit transition duration 12899 }, 3000); 12900} 12901</script>
12901 12902 12903<style> 12904 .daftarku-fixed-footer { 12905 display: flex; 12906 justify-content: space-around; 12907 position: fixed; 12908 background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%); 12909 box-shadow: 0 0 12px #ffd700; 12910 outline: none; 12911 padding: 5px 0; 12912 box-shadow: 0 0 0 0 2px 2px #198f01; 12913 left: 0; 12914 right: 0; 12915 bottom: 0; 12916 z-index: 99; 12917 border-radius: 40px 40px 0px 0px; 12918 border-style:dashed; 12919 12920 } 12921 12922 .daftarku-fixed-footer a { 12923 flex-basis: calc((100% - 15px*6)/ 5); 12924 text-decoration: none; 12925 display: flex; 12926 flex-direction: column; 12927 justify-content: center; 12928 align-items: center; 12929 color: #fff; 12930 max-width: 75px; 12931 font-size: 12px; 12932 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 12933 } 12934 12935 .daftarku-fixed-footer a:hover { 12936 font-weight: bold; 12937 } 12938 12939 .daftarku-fixed-footer .center { 12940 transform: scale(1.5) translateY(-5px); 12941 background: center no-repeat; 12942 background-size: contain; 12943 background-color: inherit; 12944 border-radius: 50%; 12945 } 12946 12947 .daftarku-fixed-footer img { 12948 max-width: 20px; 12949 margin-bottom: 0; 12950 max-height: 20px; 12951 } 12952</style> 12953 12954 <div class="daftarku-fixed-footer"> 12955 <a href="https://ladangwin4d.com/resmi/" rel="nofollow noopener" target="_blank"> 12956 <img layout="intrinsic" height="20px" width="20px" src="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" alt="PROMOSI"> 12957 PROMO 12958 </a> 12959 <a href="https://ladangwin4d.com/resmi/" rel="nofollow noopener" target="_blank"> 12960 <img layout="intrinsic" height="20px" width="20px" src="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" alt="LOGIN"> 12961 LOGIN 12962 </a> 12963 <a href="https://ladangwin4d.com/resmi/" rel="nofollow noopener" target="_blank" class="tada"> 12964 <img layout="intrinsic" height="20px" width="20px" src="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" alt="DAFTAR"> 12965 DAFTAR 12966 </a> 12967 <a href="https://ladangwin4d.com/resmi/" rel="nofollow noopener" target="_blank"> 12968 <img layout="intrinsic" height="20px" width="20px" src="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" alt="WHATSAPP"> 12969 WHATSAPP 12970 </a> 12971 <a href="https://ladangwin4d.com/resmi/" rel="nofollow noopener" target="_blank" 12972 class="js_live_chat_link live-chat-link"> 12973 <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://w4d.kumostock.com/win4d/fresdo/icon-win4d.webp" alt="Live Chat"> 12974 Live Chat 12975 </a> 12976</div> 12977</div>
12978<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0234e56ced024ed1a7959a0756f5c3dd","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12978
12978
12979<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"65b23d50245041fb819dad5e8798074d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12979
12979
12980<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"ea786a8dc26c4969bee40dd6cddf21a6","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 12980
12980
12981<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":"ba6e8e65af884cc486dd41bfc09ba89a","r":1,"spa":2}' crossorigin="anonymous"></script>
12981 12982</body> 12983</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.