1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!doctype html> 16 <!--Brumm Brumm--> 17 <html class="no-js"> 18 <head> 19 <meta charset="utf-8"> 20 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 21 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 22 <meta name="apple-itunes-app" content="app-id=1576832504"> 23 <link rel="icon" type="image/x-icon" href="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 24 <!-- Title and description --> 25 <title>RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat</title> 26 <meta name="description" content="Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026."> 27 <meta name="keywords" content="RAJADANA, situs slot, slot online, RAJADANA slot, slot keamanan internasional" /> 28 <link rel="canonical" href="https://www.louerunepiscine.com/les-piscines"> 29 <link rel="amphtml" href="https://77.louerunepiscine.com/"/> 30 <link rel="alternate" hreflang="id-id" href="https://77.louerunepiscine.com/"/> 31 <link rel="alternate" href="https://77.louerunepiscine.com/"/> 32 <link rel="alternate" hreflang="id" href="https://77.louerunepiscine.com/"/> 33 <link rel="alternate" hreflang="en" href="https://77.louerunepiscine.com/"/> 34 <link rel="alternate" hreflang="x-default" href="https://77.louerunepiscine.com/"/> 35 <!-- /snippets/social-meta-tags.liquid --> 36 <meta property="og:type" content="RAJADANA RAJADANA"> 37 <meta property="og:title" content="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat"> 38 <meta property="og:image" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 39 <meta property="og:image:secure_url" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 40 <meta property="og:image" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 41 <meta property="og:image:secure_url" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 42 <meta property="og:image" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 43 <meta property="og:image:secure_url" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 44 <meta property="og:description" content="Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026."> 45 <meta property="og:price:amount" content="10,000-,"> 46 <meta property="og:price:currency" content="IDR"> 47 <meta property="og:url" content="https://www.louerunepiscine.com/les-piscines"> 48 <meta property="og:site_name" content="RAJADANA"> 49 <meta name="twitter:site" content="@RAJADANA"> 50 <meta name="twitter:card" content="summary"> 51 <meta name="twitter:title" content="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat"> 52 <meta name="twitter:description" content="Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026."> 53 <meta name="twitter:image" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 54 <meta name="twitter:image:width" content="600"> 55 <meta name="twitter:image:height" content="600"> 56 <link rel="shortcut icon" href="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" type="image/png"> 57 <meta name="theme-color" content="#ffffff"> 58 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 59 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 60 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
60<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
60 61
61<script 62 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 63 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 64 crossorigin="anonymous" 65 referrerpolicy="no-referrer" 66 defer 67 ></script>
67 68
68<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
68 69
69<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
69<!-- Facebook Pixel Code --> 70
70<script>
vendor: 471 bytes, lines 70-79
70 71 !function(f,b,e,v,n,t,s) 72 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 73 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 74 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 75 n.queue=[];t=b.createElement(e);t.async=!0; 76 t.src=v;s=b.getElementsByTagName(e)[0]; 77 s.parentNode.insertBefore(t,s)}(window, document,'script', 78 'https://connect.facebook.net/en_US/fbevents.js'); 79 fbq('init', '
79165971065669324
vendor: 44 bytes, lines 79-81
79'); 80 fbq('track', 'PageView'); 81
81</script>
81 82 <noscript 83 ><img 84 height="1" 85 width="1" 86 style="display:none" 87 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 88 ></noscript> 89 <!-- End Facebook Pixel Code --> 90 91 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 92 <!-- 93 Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 93-94
93 94 <script async src="https://www.googletagmanager.com/gtag/js?id=
94G-X26HYP4083
vendor: 24 bytes, lines 94-95
94"></script> 95
95<script> 96
vendor: 174 bytes, lines 96-100
96window.dataLayer = window.dataLayer || []; 97 function gtag(){dataLayer.push(arguments);} 98 gtag('js', new Date()); 99 100 gtag('config', '
100G-X26HYP4083
vendor: 16 bytes, lines 100-101
100'); 101
101</script>
101 102 <!-- Global site tag (gtag.js) - Google Analytics --> 103 104 <div class="button-login-daftar"> 105 <a class="login" href="https://77.louerunepiscine.com/" rel="nofollow noreferrer"> 106 LOGIN 107 </a> 108 <a class="register" href="https://77.louerunepiscine.com/" rel="nofollow noreferrer"> 109 DAFTAR 110 </a> 111 </div> 112 113
113<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
113 114 115 <!-- Bing UET --> 116
116<script> 117 (function(w,d,t,r,u) 118 { 119 var f,n,i; 120 w[u]=w[u]||[],f=function() 121 { 122 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 123 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 124 }, 125 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 126 { 127 var s=this.readyState; 128 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 129 }, 130 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 131 }) 132 (window,document,"script","//bat.bing.com/bat.js","uetq"); 133 </script>
133 134
134<script> 135 window.uetq = window.uetq || []; 136 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 137 </script>
137 138 <!-- End Bing UET --> 139 140 <!-- Microsoft Clarity --> 141
141<script type="text/javascript"> 142 (function(c,l,a,r,i,t,y){ 143 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 144 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 145 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 146 })(window, document, "clarity", "script", "h7rbxqry9k"); 147 </script>
147 148 <!-- End Microsoft Clarity --> 149 150 151 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 152 153 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 154 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 155 156
156<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
156 157
157<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
157 158
158<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
158 159
159<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
159 160 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 161 <link rel="alternate" type="application/json+oembed" href="https://www.louerunepiscine.com/les-piscines.oembed"> 162
162<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
162 163
163<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
163 164
164<script>var Shopify = Shopify || {}; 165 Shopify.shop = "outerbloom1.myshopify.com"; 166 Shopify.locale = "en"; 167 Shopify.currency = {"active":"IDR","rate":"1.0"}; 168 Shopify.country = "ID"; 169 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 170 Shopify.theme.handle = "null"; 171 Shopify.theme.style = {"id":null,"handle":null}; 172 Shopify.cdnHost = "outerbloom.com/cdn"; 173 Shopify.routes = Shopify.routes || {}; 174 Shopify.routes.root = "/";</script>
174 175
175<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
175 176
176<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>
176 177
177<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
177 178
178<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 179 "></script>
179 180
180<script>(function() { 181 var isLoaded = false; 182 function asyncLoad() { 183 if (isLoaded) return; 184 isLoaded = true; 185 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"]; 186 for (var i = 0; i < urls.length; i++) { 187 var s = document.createElement('script'); 188 s.type = 'text/javascript'; 189 s.async = true; 190 s.src = urls[i]; 191 var x = document.getElementsByTagName('script')[0]; 192 x.parentNode.insertBefore(s, x); 193 } 194 }; 195 if(window.attachEvent) { 196 window.attachEvent('onload', asyncLoad); 197 } else { 198 window.addEventListener('load', asyncLoad, false); 199 } 200 })();</script>
200 201
201<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>
201 202
202<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
202 203
203<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>
203 204
204<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>
204 205
205<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)}}; 206 </script>
206 207
207<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 208 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); 209 </script>
209 210
210<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})}})); 211 </script>
211 212 213
213<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
213 214 <!-- /snippets/oldIE-js.liquid --> 215 216 217 <!--[if lt IE 9]> 218
218<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
218 219
219<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
219 220 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 221 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 222
222<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
222 223 <![endif]--> 224 225 226 227 228 229 <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"> 230 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 231
231<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>
231 232
232<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":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","url":"\/products\/blossom-shine","type":"Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026."},"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\":\"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat\",\"url\":\"\/products\/blossom-shine\",\"type\":\"Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
232<script> 233 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 234 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 235 window.ShopifyAnalytics.meta.currency = 'IDR'; 236 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.","variants":[{"id":44083045826775,"price":1000000 237 ,"name":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 238 for (var attr in meta) { 239 window.ShopifyAnalytics.meta[attr] = meta[attr]; 240 } 241 </script>
241 242
242<script class="analytics"> 243 (function () { 244 var customDocumentWrite = function(content) { 245 var jquery = null; 246 247 if (window.jQuery) { 248 jquery = window.jQuery; 249 } else if (window.Checkout && window.Checkout.$) { 250 jquery = window.Checkout.$; 251 } 252 253 if (jquery) { 254 jquery('body').append(content); 255 } 256 }; 257 258 var hasLoggedConversion = function(token) { 259 if (token) { 260 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 261 } 262 return false; 263 } 264 265 var setCookieIfConversion = function(token) { 266 if (token) { 267 var twoMonthsFromNow = new Date(Date.now()); 268 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 269 270 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 271 } 272 } 273 274 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 275 if (trekkie.integrations) { 276 return; 277 } 278 trekkie.methods = [ 279 'identify', 280 'page', 281 'ready', 282 'track', 283 'trackForm', 284 'trackLink' 285 ]; 286 trekkie.factory = function(method) { 287 return function() { 288 var args = Array.prototype.slice.call(arguments); 289 args.unshift(method); 290 trekkie.push(args); 291 return trekkie; 292 }; 293 }; 294 for (var i = 0; i < trekkie.methods.length; i++) { 295 var key = trekkie.methods[i]; 296 trekkie[key] = trekkie.factory(key); 297 } 298 trekkie.load = function(config) { 299 trekkie.config = config || {}; 300 trekkie.config.initialDocumentCookie = document.cookie; 301 var first = document.getElementsByTagName('script')[0]; 302 var script = document.createElement('script'); 303 script.type = 'text/javascript'; 304 script.onerror = function(e) { 305 var scriptFallback = document.createElement('script'); 306 scriptFallback.type = 'text/javascript'; 307 scriptFallback.onerror = function(error) { 308 var Monorail = { 309 produce: function produce(monorailDomain, schemaId, payload) { 310 var currentMs = new Date().getTime(); 311 var event = { 312 schema_id: schemaId, 313 payload: payload, 314 metadata: { 315 event_created_at_ms: currentMs, 316 event_sent_at_ms: currentMs 317 } 318 }; 319 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 320 }, 321 sendRequest: function sendRequest(endpointUrl, payload) { 322 // Try the sendBeacon API 323 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 324 var blobData = new window.Blob([payload], { 325 type: 'text/plain' 326 }); 327 328 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 329 return true; 330 } // sendBeacon was not successful 331 332 } // XHR beacon 333 334 var xhr = new XMLHttpRequest(); 335 336 try { 337 xhr.open('POST', endpointUrl); 338 xhr.setRequestHeader('Content-Type', 'text/plain'); 339 xhr.send(payload); 340 } catch (e) { 341 console.log(e); 342 } 343 344 return false; 345 }, 346 isIos12: function isIos12() { 347 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 348 } 349 }; 350 Monorail.produce('monorail-edge.shopifysvc.com', 351 'trekkie_storefront_load_errors/1.1', 352 {shop_id: 15896833, 353 theme_id: 153139282135, 354 app_name: "storefront", 355 context_url: window.location.href, 356 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 357 358 }; 359 scriptFallback.async = true; 360 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 361 first.parentNode.insertBefore(scriptFallback, first); 362 }; 363 script.async = true; 364 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 365 first.parentNode.insertBefore(script, first); 366 }; 367 trekkie.load( 368 {"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}} 369 ); 370 371 var loaded = false; 372 trekkie.ready(function() { 373 if (loaded) return; 374 loaded = true; 375 376 window.ShopifyAnalytics.lib = window.trekkie; 377 378 var originalDocumentWrite = document.write; 379 document.write = customDocumentWrite; 380 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 381 document.write = originalDocumentWrite; 382 383 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 384 385 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 386 var token = match? match[1]: undefined; 387 if (!hasLoggedConversion(token)) {
388 setCookieIfConversion(token); 389 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 390 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 391 } 392 }); 393 394 395 var eventsListenerScript = document.createElement('script'); 396 eventsListenerScript.async = true; 397 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 398 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 399 400 })();</script>
400 401
401<script> 402 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 403 window.ga = function ga() { 404 (window.ga.q = window.ga.q || []).push(arguments); 405 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 406 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 407 } 408 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."); 409 }; 410 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 411 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 412 } 413 } 414 </script>
414 415
415<script 416 defer 417 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 418 data-application="storefront-renderer" 419 data-shop-id="15896833" 420 data-render-region="gcp-asia-southeast1" 421 data-page-type="product" 422 data-theme-instance-id="153139282135" 423 data-theme-name="" 424 data-theme-version="" 425 data-monorail-region="shop_domain" 426 data-resource-timing-sampling-rate="10" 427 data-shs="true" 428 data-shs-beacon="true" 429 data-shs-export-with-fetch="true" 430 data-shs-logs-sample-rate="1" 431 ></script>
431 432 </head><body 433 data-template="product" 434 id="blossom-shine" 435 class="template-product template-product" 436 > 437 <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 437-440
437 438 <noscript 439 ><iframe 440 src="https://www.googletagmanager.com/ns.html?id=
440GTM-MF9VVZX
vendor: 135 bytes, lines 440-446
440" 441 height="0" 442 width="0" 443 style="display:none;visibility:hidden" 444 ></iframe 445 ></noscript> 446
446<!-- End Google Tag Manager (noscript) --> 447 448 449 450 <div class="header-wrapper"> 451 452 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 453 454 <style> 455 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 456 #notification.promo-up {top: -48px!important;} 457 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 458 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 459 .notification__message p a {text-decoration: underline;color: #ffd700;} 460 @media (max-width: 991px){ 461 .notification__message p {font-size: 14px!important;} 462 } 463 </style> 464 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 465 <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"> 466 <div class="page-width notification__inner "> 467 468 469 <div class="notification__message text-center"> 470 <p><a href="https://www.louerunepiscine.com/les-piscines" title="RAJADANA">RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat</a></p> 471 </div> 472 </div> 473 </div> 474 475 476 477 478 </div> 479 <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"/> 480 481 482 <header style="background-image: url(https://imgstore.io/images/2025/05/21/background-gelap.jpeg); background-attachment: fixed;"> 483 <div class="container"> 484 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 485 <a href="https://www.louerunepiscine.com/les-piscines"> 486 <img src="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" alt="logo-RAJADANA" style="width: 190px;"></a> 487 <link href="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" rel="shortcut icon" type="image/x-icon" /> 488 <div id="menu-hamburger" class="d-lg-none"> 489 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 490 <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"/> 491 </svg> 492 493 <a href="/"><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" viewBox="0 0 854 78.29"> 494 <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> 495 </svg> 496 </a> 497 </div> 498 499 <div class="header-icon-right header-icons col-3"> 500 <div class="icon icon-account-header d-none d-lg-block"> 501 <a href="https://www.louerunepiscine.com/les-piscines"> 502 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 503 <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"/> 504 <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"/> 505 </svg> 506
507 </a> 508 </div> 509 <div class="icon icon-wishlist-header"> 510 <a href="https://www.louerunepiscine.com/les-piscines"> 511 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 512 <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.
51211233C11.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"/> 513 </svg> 514 515 <span class="wishlist-count d-none">0</span> 516 </a> 517 </div> 518 <div class="icon icon-cart-header"> 519 <a href="https://www.louerunepiscine.com/les-piscines"> 520 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 521 <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"/> 522 <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"/> 523 </svg> 524 525 </a> 526 </div> 527 </div> 528 </div> 529 </div> 530 </header> 531 532 <nav class="nav-header" style="background-color: #242424;"> 533 <div class="nav-account-mobile row m-0 d-lg-none"> 534 <div class="col-6 welcome-cust p-0"> 535 536 <h1 class="logo"> 537 <a href="https://www.louerunepiscine.com/les-piscines"> 538 <img src="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" alt="RAJADANA" style="max-height:60px;"> 539 </a> 540 </h1> 541 542 543 </div> 544 545 <div class="col-6 login-register text-right p-0"> 546 <a href="https://77.louerunepiscine.com/">Log In</a> | <a href="https://77.louerunepiscine.com/">Sign Up</a> 547 </div> 548 </div> 549 <ul class="nav-menu container"> 550 551 <li class="nav-menu container"> 552 <a href="https://www.louerunepiscine.com/les-piscines"> 553 <span style="color: #ffd700;">RAJADANA</span> 554 555 556 <li class=" nav-menu container"> 557 <a href="https://www.louerunepiscine.com/les-piscines"> 558 <span style="color: #ffd700;">RAJADANA</span> 559 560 561 <li class=" nav-menu container"> 562 <a href="https://www.louerunepiscine.com/les-piscines"> 563 <span style="color: #ffd700;">SITUS SLOT</span> 564 565 <li class=" nav-menu container"> 566 <a href="https://www.louerunepiscine.com/les-piscines"> 567 <span style="color: #ffd700;">RAJADANA LOGIN</span> 568 569 <li class=" nav-menu container"> 570 <a href="https://www.louerunepiscine.com/les-piscines"> 571 <span style="color: #ffd700;">RAJADANA DAFTAR</span> 572 573 <li class=" nav-menu container"> 574 <a href="https://www.louerunepiscine.com/les-piscines"> 575 <span style="color: #ffd700;">RAJADANA LINK ALTERNATIF</span> 576 577 <div class="overlay-nav"> 578 <!-- Mobile Close Button in Overlay --> 579 <button id="nav-close" class="nav-close-btn d-lg-none"> 580 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 581 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 582 </svg> 583 </button> 584 </div> 585 586
586<script> 587 if ($(window).width() < 992) { 588 // Level 1 menu accordion (main menu items) 589 $(".nav-menu .nav-menu container > a").click(function(e){ 590 e.preventDefault() 591 const parentLi = $(this).parent() 592 const isCurrentlyOpen = parentLi.hasClass("menu-open") 593 594 // Close all other open menus (accordion behavior) 595 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 596 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 597 598 // Toggle current menu 599 if (isCurrentlyOpen) { 600 parentLi.removeClass("menu-open") 601 $(this).next(".megamenu").slideUp() 602 } else { 603 parentLi.addClass("menu-open") 604 $(this).next(".megamenu").slideDown() 605 } 606 }) 607 608 // Level 2 menu accordion (submenu items with grandchildren) 609 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 610 e.preventDefault() 611 const parentLi = $(this).parent() 612 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 613 const grandchild = $(this).next(".grandchild") 614 615 // Close all other open submenus in the same dropdown (accordion behavior) 616 parentLi.siblings('.has-submenu').removeClass("submenu-open") 617 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 618 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 619 620 // Toggle current submenu 621 if (isCurrentlyOpen) { 622 parentLi.removeClass("submenu-open") 623 grandchild.slideUp() 624 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 625 } else { 626 parentLi.addClass("submenu-open") 627 grandchild.slideDown() 628 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 629 } 630 }) 631 632 $("#menu-hamburger").click(function(e){ 633 e.preventDefault() 634 $("body").toggleClass("nav_open") 635 }) 636 637 // Handle close button click 638 $("#nav-close").click(function(e){ 639 e.preventDefault() 640 $("body").removeClass("nav_open") 641 // Close all open menus when close button is clicked 642 $(".nav-menu .nav-menu container").removeClass("menu-open") 643 $(".nav-menu .megamenu").slideUp() 644 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 645 $(".dropdown-menu .grandchild").slideUp() 646 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 647 }) 648 } 649 650 $(".overlay-nav").click(function(e){ 651 e.preventDefault() 652 $("body").removeClass("nav_open") 653 // Close all open menus when overlay is clicked 654 $(".nav-menu .nav-menu container").removeClass("menu-open") 655 $(".nav-menu .megamenu").slideUp() 656 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 657 $(".dropdown-menu .grandchild").slideUp() 658 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 659 }) 660 </script>
660 661 662 663 </div> 664 665 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 666 #search-trigger { 667 cursor: pointer; 668 } 669 #search-popup { 670 display: none; 671 position: fixed; 672 left: 0; 673 width: 100%; 674 top: 0; 675 height: 100%; 676 justify-content: center; 677 z-index: 9999; 678 background: rgb(196 196 196 / 30%); 679 } 680 #search-input { 681 align-self: center; 682 width: 100%; 683 height: 80px; 684 position: absolute; 685 top: 0; 686 border-bottom: 0.5px solid #A3A3A3; 687 background-color: #fff; 688 } 689 #search-input * { 690 align-self: center; 691 } 692 #search-type { 693 width: 100%; 694 border: none; 695 padding-right: 20px; 696 padding-left: 20px; 697 font-size: 16px; 698 color: #757575; 699 } 700 #search-btn { 701 font-size: 16px; 702 font-weight: 500; 703 } 704 #search-result { 705 min-height: 490px; 706 width: 100%; 707 padding-top: 80px; 708 } 709 #search-result .container { 710 background-color: #fff; 711 padding: 20px 40px; 712 } 713 body.search-popup-open { 714 /* .search-popup-open */ 715 overflow: hidden; 716 } 717 .search-popup-open #loc_delivery { 718 display: none 719 } 720 .search-header svg { 721 display: none; 722 cursor: pointer; 723 } 724 .wrapper-search-popup { 725 max-height: calc(100vh - 150px); 726 overflow-y: auto; 727 overflow-x: hidden; 728 } 729 730 .group-recommend { 731 padding: 20px 40px; 732 } 733 734 .resultsearch { 735 display: none; 736 } 737 .results { padding: 20px 40px } 738 .resultsearch label { 739 font-weight: 600; 740 padding-bottom: 20px; 741 display: block; 742 margin-bottom: 20px; 743 border-bottom: 1px solid #AAAAAA; 744 } 745 746 ul.result_product { 747 max-height: 300px; 748 overflow: auto; 749 } 750 751 .group-promotion ul { 752 margin: 0; 753 } 754 .group-promotion li { 755 list-style: none; 756 margin-bottom: 12px; 757 } 758 .group-promotion li a { 759 color: inherit; 760 } 761 762 .group-recent { 763 position: relative; 764 padding: 20px 40px; 765 } 766 .group-recent ul { 767 margin: 0; 768 } 769 .group-recent li { 770 list-style: none; 771 display: inline-block; 772 margin-right: 60px; 773 } 774 .group-recent li a { 775 color: inherit; 776 } 777 778 .last-search svg { 779 width: 20px; 780 vertical-align: middle; 781 } 782 ul.last-search a { 783 vertical-align: middle; 784 padding: 0 10px; 785 } 786 ul.last-search li span { 787 cursor: pointer; 788 } 789 .delete-all-history { 790 position: absolute; 791 top: 25px; 792 right: 40px; 793 text-decoration: underline; 794 color: #e11d1d; 795 cursor: pointer; 796 font-size: 12px; 797 } 798 799 form.search.search-modal__form { 800 position: relative; 801 } 802 803 button.search__button svg { 804 width: 25px; 805 color: #495057; 806 fill: #757582; 807 } 808 809 button.search__button.field__button { 810 position: absolute; 811 top: 50%; 812 margin-top: -12px; 813 } 814 815 .close-search { 816 display: none; 817 position: absolute; 818 right: 65px; 819 top: 10px; 820 cursor: pointer; 821 } 822 823 .site-overlay { 824 position: fixed; 825 top: 0; 826 width: 100vw; 827 height: 100vh; 828 z-index: 1000; 829 background: #0000005c; 830 visibility: hidden; 831 opacity: 0; 832 pointer-events: none; 833 transition: all .3s linear; 834 display: block !important; 835 } 836 837 .search-popup-open .site-overlay { 838 opacity: 1; 839 visibility: visible; 840 pointer-events: all; 841 z-index: -1; 842 cursor: pointer; 843 } 844 845 @media (min-width: 991px) { 846 .group-recent ul { 847 column-count: 3; 848 } 849 .group-promotion li a { 850 font-size: 12px; 851 font-weight: 400; 852 } 853 .group-recent li a { 854 font-size: 12px; 855 font-weight: 400; 856 } 857 } 858 859 .moreresult { 860 padding: 10px 40px; 861 border-top: 1px solid #AAAAAA; 862 } 863 .moreresult * { 864 align-self: center; 865 } 866 .moreresult p { 867 margin: 0; 868 font-size: 12px !important; 869 } 870 .moreresult svg { 871 width: 13px; 872 } 873 874 @media (max-width: 992px) { 875 .icon-key-mobile { 876 height: auto!important; 877 width: 10px!important; 878 } 879 body.grid-view.search-popup-open .products { 880 -ms-flex: 0 0 100%!important; 881 flex: 0 0 100%!important; 882 max-width: 100%!important; 883 } 884 button.search__button svg {
885 width: 20px; 886 } 887 #search-result { 888 padding-left: 0; 889 padding-right: 0; 890 } 891 #search-result { 892 padding-top: 55px; 893 } 894 #search-input { 895 height: 55px; 896 } 897 .group-recommend { 898 padding: 20px; 899 } 900 #search-input .container { 901 padding: 0 20px; 902 } 903 #search-type { 904 font-size: 14px; 905 } 906 #search-btn { 907 font-size: 12px; 908 text-decoration: underline; 909 } 910 .results { 911 padding: 20px; 912 } 913 .group-recommend h3 { 914 font-size: 16px; 915 } 916 .products .card-body { 917 padding: 8px 0px 10px; 918 } 919 .moreresult { 920 padding: 10px 20px; 921 } 922 } 923 </style> 924 <style type="text/css"> 925 div.advertisement-placeholder { 926 text-align: center; 927 padding-bottom: 20px; 928 display: flex; 929 flex-direction: column; 930 justify-content: center; 931 } 932 div.advertisement-text p { 933 margin: 0; 934 font-family: Open Sans; 935 font-style: normal; 936 font-weight: normal; 937 font-size: 10px; 938 line-height: 20px; 939 color: #999999; 940 } 941 div.advertisement-banner { 942 margin: 0px auto; 943 } 944 div#div-gpt-ad-billboard-placeholder { 945 width: 996px; 946 margin: 0 auto; 947 background: #F5F5F5; 948 padding-bottom: unset !important; 949 min-height: 200px; 950 } 951 div#div-gpt-ad-lb-placeholder { 952 background: #F5F5F5; 953 padding-bottom: unset !important; 954 min-height: 280px; 955 } 956 .faq-section{ 957 max-width:1200px; 958 margin:50px auto; 959 padding:40px 20px; 960 position:relative; 961 background-color: rgba(0, 0, 0, 0.1); 962 backdrop-filter: blur(25px); 963 border-radius: 20px; 964 } 965 966 .faq-section::before{ 967 content:""; 968 position:absolute; 969 top:0;left:50%; 970 transform:translateX(-50%); 971 width:80%; 972 height:2px; 973 background:linear-gradient(90deg,transparent,#fffb00,transparent) 974 } 975 976 .faq-section h2{ 977 text-align:center; 978 font-size:34px;font-weight:700; 979 margin-bottom:50px; 980 background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00); 981 -webkit-background-clip:text; 982 -webkit-text-fill-color:transparent; 983 background-clip:text; 984 font-family:"Poppins",sans-serif;letter-spacing:1px 985 } 986 987 .faq-container{ 988 display:flex; 989 flex-direction:column; 990 gap:25px 991 } 992 993 .faq-item{ 994 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 995 border:2px solid #ffd700; 996 border-radius:20px;overflow:hidden; 997 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 998 } 999 1000 .faq-item:hover{ 1001 border-color:#ffd700; 1002 transform:translateX(10px); 1003 box-shadow:0 12px 35px rgba(253, 4, 4, 0.25) 1004 } 1005 1006 .faq-question{width:100%; 1007 padding:28px 35px;background:transparent; 1008 color:#ffffff; 1009 font-size:18px; 1010 font-weight:600; 1011 text-align:left; 1012 border:none;cursor:pointer; 1013 display:flex; 1014 justify-content:space-between; 1015 align-items:center; 1016 font-family:"Poppins",sans-serif; 1017 transition:all .3s ease 1018 } 1019 1020 .faq-question:hover{ 1021 color:#fffb00 1022 } 1023 1024 .faq-question::after{ 1025 content:'+'; 1026 font-size:32px; 1027 font-weight:300; 1028 transition:all .4s ease; 1029 color:#fffb00; 1030 width:40px; 1031 height:40px; 1032 display:flex; 1033 align-items:center; 1034 justify-content:center; 1035 border:2px solid #ffd700;border-radius:50%; 1036 background:rgba(0, 0, 0, 0.1) 1037 } 1038 1039 .faq-item.active .faq-question::after{ 1040 transform:rotate(135deg); 1041 background:linear-gradient(135deg,#ffd700,#ffd700); 1042 color:#000;border-color:transparent 1043 } 1044 1045 .faq-answer{ 1046 max-height:0; 1047 overflow:hidden; 1048 transition:max-height .5s ease,padding .5s ease; 1049 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1050 padding:0 35px 1051 } 1052 1053 .faq-item.active .faq-answer{ 1054 max-height:800px;padding:30px 35px; 1055 border-top:1px solid rgba(253, 4, 4, 0.3) 1056 } 1057 1058 .faq-answer p{ 1059 color:#e0e0e0; 1060 font-size:16px; 1061 line-height:2; 1062 margin:0; 1063 font-family:"Poppins",sans-serif 1064 } 1065 1066 @media 1067 (max-width:768px) 1068 { 1069 1070 .faq-section 1071 {padding:30px 15px} 1072 1073 .faq-section h2 1074 {font-size:26px} 1075 1076 .faq-question 1077 {font-size:16px; 1078 padding:22px 25px} 1079 1080 .faq-question::after 1081 {width:35px; 1082 height:35px; 1083 font-size:28px} 1084 1085 .faq-answer 1086 {padding:0 25px} 1087 1088 .faq-item.active .faq-answer 1089 {padding:25px} 1090 1091 .faq-item:hover 1092 {transform:translateX(5px)} 1093 } 1094 </style> 1095 <div id="search-popup"> 1096 <div id="search-input" class="row"> 1097 <div class="container w-100"> 1098 <form 1099 action="/search" 1100 method="get" 1101 role="search" 1102 class="search search-modal__form d-flex justify-content-between" 1103 > 1104 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1105 <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"/> 1106 </svg> 1107
1108 <input type="hidden" name="type" value="product"> 1109 <input 1110 type="text" 1111 id="search-type" 1112 name="q" 1113 class="search-popup" 1114 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1115 > 1116 <div class="close-search"><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1117 <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/> 1118 </svg> 1119 </div> 1120 <button id="search-btn">Search</button> 1121 </form> 1122 </div> 1123 </div> 1124 <div id="search-result" class="container m-auto"> 1125 <div class="container p-0"> 1126 <div class="group-promotion"> 1127 <div class="resultsearch"> 1128 <div class="row results"> 1129 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1130 <label>SUGGESTIONS</label> 1131 <ul class="result_collection"></ul> 1132 </div> 1133 <div class="col-12 col-lg-6"> 1134 <label>PRODUCTS</label> 1135 <ul class="result_product"></ul> 1136 </div> 1137 </div> 1138 <div class="d-flex justify-content-between moreresult m-0"> 1139 <p>Search for<span></span></p> 1140 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="32" height="32" viewBox="0 0 32 32"> 1141 <title>icon-arrow-right</title> 1142 <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> 1143 </svg> 1144 </div> 1145 </div> 1146 </div> 1147 <div class="group-recent hide"> 1148 <h3>RECENT SEARCH</h3> 1149 <span class="delete-all-history">Hapus riwayat</span> 1150 <ul class="last-search"></ul> 1151 </div> 1152 <div class="group-recommend"> 1153 <h3>YOU MAY ALSO LIKE</h3> 1154 1155 1156 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1157 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1158 1159 1160 <div class="swiper-slide card"> 1161 1162 1163 1164 1165 <div class="products" data-lazy="false"> 1166 <div class="bg-products"> 1167 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1168 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1169 <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
11696 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"/> 1170 </svg> 1171 1172 </div> 1173 <a href="/products/mid-autumn-of-love-mooncake"> 1174 1175 <div class="product-card-img-container p-0 position-relative"> 1176 1177 <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"> 1178 </div> 1179 <div class="card-body product-card-info"> 1180 <h5 class="h5 mb-0"> 1181 Mid Autumn of Love Mooncake 1182 </h5> 1183 <div class="product-card-price"> 1184 1185 <div class="product-price-sale"> 1186 <s class="product-card-price-before card-money">Rp 588.000</s> 1187 <span class="product-card-discount small"> 1188 (-40%) 1189 </span> 1190 </div> 1191 1192 1193 1194 <div class="price-discount"> 1195 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1196 </div> 1197 1198 1199 1200 1201 1202 </div> 1203 1204 </div> 1205 </a> 1206 </div> 1207 1208 </div> 1209 1210 </div> 1211 1212 1213 1214 <div class="swiper-slide card"> 1215 1216 1217 1218 1219 <div class="products" data-lazy="false"> 1220 <div class="bg-products"> 1221 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1222 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1223 <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.
122311233C11.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"/> 1224 </svg> 1225 1226 </div> 1227 <a href="/products/mid-autumn-of-joy-mooncake"> 1228 1229 <div class="product-card-img-container p-0 position-relative"> 1230 1231 <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"> 1232 </div> 1233 <div class="card-body product-card-info"> 1234 <h5 class="h5 mb-0"> 1235 Mid Autumn of Joy Mooncake 1236 </h5> 1237 <div class="product-card-price"> 1238 1239 <div class="product-price-sale"> 1240 <s class="product-card-price-before card-money">Rp 888.000</s> 1241 <span class="product-card-discount small"> 1242 (-33%) 1243 </span> 1244 </div> 1245 1246 1247 1248 <div class="price-discount"> 1249 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1250 </div> 1251 1252 1253 1254 1255 1256 </div> 1257 1258 </div> 1259 </a> 1260 </div> 1261 1262 </div> 1263 1264 </div> 1265 1266 1267 1268 <div class="swiper-slide card"> 1269 1270 1271 1272 1273 <div class="products" data-lazy="false"> 1274 <div class="bg-products"> 1275 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1276 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1277 <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.
127711233C11.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"/> 1278 </svg> 1279 1280 </div> 1281 <a href="/products/mid-autumn-of-fortune-mooncake"> 1282 1283 <div class="product-card-img-container p-0 position-relative"> 1284 1285 <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"> 1286 </div> 1287 <div class="card-body product-card-info"> 1288 <h5 class="h5 mb-0"> 1289 Mid Autumn of Fortune Mooncake 1290 </h5> 1291 <div class="product-card-price"> 1292 1293 <div class="product-price-sale"> 1294 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1295 <span class="product-card-discount small"> 1296 (-33%) 1297 </span> 1298 </div> 1299 1300 1301 1302 <div class="price-discount"> 1303 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1304 </div> 1305 1306 1307 1308 1309 1310 </div> 1311 1312 </div> 1313 </a> 1314 </div> 1315 1316 </div> 1317 1318 </div> 1319 1320 1321 1322 <div class="swiper-slide card"> 1323 1324 1325 1326 1327 <div class="products" data-lazy="false"> 1328 <div class="bg-products"> 1329 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1330 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1331 <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.
133111233C11.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"/> 1332 </svg> 1333 1334 </div> 1335 <a href="/products/mid-autumn-festival-mooncake"> 1336 1337 <div class="product-card-img-container p-0 position-relative"> 1338 1339 <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"> 1340 </div> 1341 <div class="card-body product-card-info"> 1342 <h5 class="h5 mb-0"> 1343 Mid Autumn Festival Mooncake 1344 </h5> 1345 <div class="product-card-price"> 1346 1347 <div class="product-price-sale"> 1348 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1349 <span class="product-card-discount small"> 1350 (-23%) 1351 </span> 1352 </div> 1353 1354 1355 1356 <div class="price-discount"> 1357 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1358 </div> 1359 1360 1361 1362 1363 1364 </div> 1365 1366 </div> 1367 </a> 1368 </div> 1369 1370 </div> 1371 1372 </div> 1373 1374 1375 1376 <div class="swiper-slide card"> 1377 1378 1379 1380 1381 <div class="products" data-lazy="false"> 1382 <div class="bg-products"> 1383 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1384 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1385 <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.
138511233C11.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"/> 1386 </svg> 1387 1388 </div> 1389 <a href="/products/the-jade-bouquet"> 1390 1391 <div class="product-card-img-container p-0 position-relative"> 1392 1393 <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"> 1394 </div> 1395 <div class="card-body product-card-info"> 1396 <h5 class="h5 mb-0"> 1397 The Jade Bouquet 1398 </h5> 1399 <div class="product-card-price"> 1400 1401 <div class="product-price-sale"> 1402 <s class="product-card-price-before card-money">Rp 435.000</s> 1403 <span class="product-card-discount small"> 1404 (-34%) 1405 </span> 1406 </div> 1407 1408 1409 1410 <div class="price-discount"> 1411 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1412 </div> 1413 1414 1415 1416 1417 1418 </div> 1419 1420 </div> 1421 </a> 1422 </div> 1423 1424 </div> 1425 1426 </div> 1427 1428 1429 1430 <div class="swiper-slide card"> 1431 1432 1433 1434 1435 <div class="products" data-lazy="false"> 1436 <div class="bg-products"> 1437 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1438 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1439 <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.
143911233C11.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"/> 1440 </svg> 1441 1442 </div> 1443 <a href="/products/the-selena-bouquet"> 1444 1445 <div class="product-card-img-container p-0 position-relative"> 1446 1447 <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"> 1448 </div> 1449 <div class="card-body product-card-info"> 1450 <h5 class="h5 mb-0"> 1451 The Selena Bouquet 1452 </h5> 1453 <div class="product-card-price"> 1454 1455 <div class="product-price-sale"> 1456 <s class="product-card-price-before card-money">Rp 335.000</s> 1457 <span class="product-card-discount small"> 1458 (-29%) 1459 </span> 1460 </div> 1461 1462 1463 1464 <div class="price-discount"> 1465 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1466 </div> 1467 1468 1469 1470 1471 1472 </div> 1473 1474 </div> 1475 </a> 1476 </div> 1477 1478 </div> 1479 1480 </div> 1481 1482 1483 1484 <div class="swiper-slide card"> 1485 1486 1487 1488 1489 <div class="products" data-lazy="false"> 1490 <div class="bg-products"> 1491 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1492 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1493 <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.
149311233C11.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"/> 1494 </svg> 1495 1496 </div> 1497 <a href="/products/the-viola-bouquet"> 1498 1499 <div class="product-card-img-container p-0 position-relative"> 1500 1501 <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"> 1502 </div> 1503 <div class="card-body product-card-info"> 1504 <h5 class="h5 mb-0"> 1505 The Viola Bouquet 1506 </h5> 1507 <div class="product-card-price"> 1508 1509 <div class="product-price-sale"> 1510 <s class="product-card-price-before card-money">Rp 385.000</s> 1511 <span class="product-card-discount small"> 1512 (-25%) 1513 </span> 1514 </div> 1515 1516 1517 1518 <div class="price-discount"> 1519 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1520 </div> 1521 1522 1523 1524 1525 1526 </div> 1527 1528 </div> 1529 </a> 1530 </div> 1531 1532 </div> 1533 1534 </div> 1535 1536 1537 1538 <div class="swiper-slide card"> 1539 1540 1541 1542 1543 <div class="products" data-lazy="false"> 1544 <div class="bg-products"> 1545 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1546 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1547 <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.
154711233C11.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"/> 1548 </svg> 1549 1550 </div> 1551 <a href="/products/the-minerva-bouquet"> 1552 1553 <div class="product-card-img-container p-0 position-relative"> 1554 1555 <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"> 1556 </div> 1557 <div class="card-body product-card-info"> 1558 <h5 class="h5 mb-0"> 1559 The Minerva Bouquet 1560 </h5> 1561 <div class="product-card-price"> 1562 1563 <div class="product-price-sale"> 1564 <s class="product-card-price-before card-money">Rp 385.000</s> 1565 <span class="product-card-discount small"> 1566 (-25%) 1567 </span> 1568 </div> 1569 1570 1571 1572 <div class="price-discount"> 1573 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1574 </div> 1575 1576 1577 1578 1579 1580 </div> 1581 1582 </div> 1583 </a> 1584 </div> 1585 1586 </div> 1587 1588 </div> 1589 1590 1591 1592 <div class="swiper-slide card"> 1593 1594 1595 1596 1597 <div class="products" data-lazy="false"> 1598 <div class="bg-products"> 1599 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1600 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1601 <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.
160111233C11.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"/> 1602 </svg> 1603 1604 </div> 1605 <a href="/products/congraduations-bouquet"> 1606 1607 <div class="product-card-img-container p-0 position-relative"> 1608 1609 <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"> 1610 </div> 1611 <div class="card-body product-card-info"> 1612 <h5 class="h5 mb-0"> 1613 Congraduations Bouquet 1614 </h5> 1615 <div class="product-card-price"> 1616 1617 <div class="product-price-sale"> 1618 <s class="product-card-price-before card-money">Rp 380.000</s> 1619 <span class="product-card-discount small"> 1620 (-25%) 1621 </span> 1622 </div> 1623 1624 1625 1626 <div class="price-discount"> 1627 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1628 </div> 1629 1630 1631 1632 1633 1634 </div> 1635 1636 </div> 1637 </a> 1638 </div> 1639 1640 </div> 1641 1642 </div> 1643 1644 1645 1646 <div class="swiper-slide card"> 1647 1648 1649 1650 1651 <div class="products" data-lazy="false"> 1652 <div class="bg-products"> 1653 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1654 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1655 <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.
165511233C11.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"/> 1656 </svg> 1657 1658 </div> 1659 <a href="/products/grad-gorgeous-bouquet"> 1660 1661 <div class="product-card-img-container p-0 position-relative"> 1662 1663 <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"> 1664 </div> 1665 <div class="card-body product-card-info"> 1666 <h5 class="h5 mb-0"> 1667 Grad & Gorgeous Bouquet 1668 </h5> 1669 <div class="product-card-price"> 1670 1671 <div class="product-price-sale"> 1672 <s class="product-card-price-before card-money">Rp 380.000</s> 1673 <span class="product-card-discount small"> 1674 (-25%) 1675 </span> 1676 </div> 1677 1678 1679 1680 <div class="price-discount"> 1681 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1682 </div> 1683 1684 1685 1686 1687 1688 </div> 1689 1690 </div> 1691 </a> 1692 </div> 1693 1694 </div> 1695 1696 </div> 1697 1698 1699 </div> 1700 </div> 1701 1702 </div> 1703 </div> 1704 </div> 1705 1706 <div class="site-overlay" style="display: none"></div> 1707 </div> 1708
1708<script> 1709 1710 var swiper = new Swiper('.popup-recommend', { 1711 slidesPerView : 4, 1712 spaceBetween: 30, 1713 lazy: true , 1714 speed: 300, 1715 breakpoints: { 1716 // when window width is <= 576px 1717 576: { 1718 slidesPerView: 2, 1719 spaceBetween: 10, 1720 freeMode: true, 1721 resistance : true, 1722 resistanceRatio : 0, 1723 freeModeMomentumRatio : 0.45, 1724 freeModeMomentumVelocityRatio : 1.5 1725 }, 1726 768: { 1727 slidesPerView: 2, 1728 spaceBetween: 10 1729 }, 1730 992: { 1731 slidesPerView: 3, 1732 spaceBetween: 20 1733 } 1734 } 1735 }); 1736 1737 const searchContainer = $("#search-popup") 1738 const searchInput = $(".search-popup") 1739 const result_collection = $('.result_collection') 1740 const result_product = $('.result_product') 1741 const resultsearch = $('.resultsearch') 1742 const resultrecommend = $(".group-recommend") 1743 const moreresult = $(".moreresult") 1744 1745 searchInput.keyup(function(){ 1746 const input = $(this).val() 1747 moreresult.find("p span").text(` â${input}â`) 1748 if(input.length > 2) { 1749 $(".close-search").show() 1750 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1751 $.ajax({
1752 type: 'GET', 1753 url, 1754 beforeSend: function() { 1755 // setting a timeout 1756 // $(placeholder).addClass('loading'); 1757 }, 1758 success: function(response) { 1759 resultsearch.show() 1760 resultrecommend.hide() 1761 result_collection.html("") 1762 result_product.html("") 1763 const collections = response.resources.results.collections 1764 const products = response.resources.results.products 1765 let collection_length = collections.length 1766 let product_length = products.length 1767 // if(collections.length > 5) { 1768 // collection_length = 5 1769 // } 1770 // if(products.length > 5) { 1771 // product_length = 5 1772 // } 1773 for(let i=0;i<collection_length;i++){ 1774 const title = collections[i].title 1775 const url = collections[i].url 1776 let html_collection 1777 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1778 html_collection = ` 1779 <li class="item" data-title="${title}"> 1780 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1781 </li> 1782 ` 1783 } 1784 result_collection.append(html_collection) 1785 } 1786 for(let i=0;i<product_length;i++){ 1787 const title = products[i].title 1788 const url = products[i].url 1789 const image = products[i].featured_image.url 1790 const vendor = products[i].vendor 1791 let html_product 1792 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1793 html_product = ` 1794 <li class="item" data-vendor="${vendor}"> 1795 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1796 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1797 </a> 1798 </li> 1799 ` 1800 } 1801 result_product.append(html_product) 1802 } 1803 }, 1804 error: function(xhr) { // if error occured 1805 alert("Error occured.please try again"); 1806 }, 1807 complete: function(response) { 1808 // $(placeholder).removeClass('loading'); 1809 }, 1810 dataType: 'JSON' 1811 }); 1812 } else { 1813 result_collection.html("") 1814 result_product.html("") 1815 1816 resultsearch.hide() 1817 resultrecommend.show() 1818 } 1819 }) 1820 1821 moreresult.click(function(){ 1822 $("#search-btn").trigger("click"); 1823 }) 1824 1825 $(".close-search").click(function(){ 1826 $(this).hide() 1827 searchInput.val("") 1828 searchInput.focus() 1829 resultsearch.hide() 1830 resultrecommend.show() 1831 }) 1832 1833 function setCookie(name,value,days) { 1834 var expires = ""; 1835 if (days) { 1836 var date = new Date(); 1837 date.setTime(date.getTime() + (days*24*60*60*1000)); 1838 expires = "; expires=" + date.toUTCString(); 1839 } 1840 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1841 } 1842 function getCookie(name) { 1843 var nameEQ = name + "="; 1844 var ca = document.cookie.split(';'); 1845 for(var i=0;i < ca.length;i++) { 1846 var c = ca[i]; 1847 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1848 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1849 } 1850 return null; 1851 } 1852 let last_search_name = [] 1853 let last_search_url = [] 1854 $(".group-recent").hide() 1855 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1856 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 1857 $(".group-recent").show() 1858 last_search_name = getCookie("last_search_name"); 1859 last_search_url = getCookie("last_search_url"); 1860 const arrName = last_search_name.substring(1).split(',').reverse() 1861 const arrUrl = last_search_url.substring(1).split(',').reverse() 1862 console.log(arrName, 'Array Name') 1863 console.log(arrUrl, 'Array Url') 1864 let length = arrName.length 1865 if(arrName.length > 5) { 1866 length = 5 1867 } 1868 for(let n=0;n<length;n++){ 1869 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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]}">
1869${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 1870 $(".group-recent ul").append(html2) 1871 } 1872 } 1873 } 1874 console.log(last_search_name, 'Name') 1875 console.log(last_search_url, 'url') 1876 1877 resultsearch.delegate(".item a", "click", function(){ 1878 let name = [last_search_name] 1879 let url = [last_search_url] 1880 name.push($(this).attr('data-title')) 1881 url.push($(this).attr('data-url')) 1882 setCookie("last_search_name",name,7); 1883 setCookie("last_search_url",url,7); 1884 }) 1885 1886 $(".delete-all-history").click(function() { 1887 setCookie("last_search_name",null,0); 1888 setCookie("last_search_url",null,0); 1889 $(".last-search").hide(); 1890 setTimeout(function(){ 1891 location.reload(); 1892 }, 500); 1893 }) 1894 1895 $("#search-trigger").click(function(){ 1896 search_open() 1897 }) 1898 $(".icon-search-mobile").click(function(){ 1899 search_open() 1900 }) 1901 $(".search-header svg").click(function(){ 1902 search_close() 1903 }) 1904 $(".icon-key-mobile").click(function(){ 1905 search_close() 1906 }) 1907 1908 function search_open() { 1909 $("body").addClass("search-popup-open") 1910 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 1911 $("#search-popup, .search-header svg, .icon-key-mobile").show() 1912 $(".search-popup").focus() 1913 $('.popup-recommend')[0].swiper.update(); 1914 } 1915 function search_close() { 1916 $("body").removeClass("search-popup-open") 1917 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 1918 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 1919 searchInput.val("") 1920 resultsearch.hide() 1921 resultrecommend.show() 1922 } 1923 1924 $(".site-overlay").click(function(){ 1925 search_close() 1926 }) 1927 </script>
1927 1928 1929 </div> 1930 </div> 1931 1932 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 1933 <main class="main-content pt-0" role="main"> 1934 1935 <div id="breadcrumbProduct" class="d-none d-lg-block"> 1936 <style> 1937 #breadcrumbProduct { 1938 padding: 20px 0; 1939 } 1940 #breadcrumbProduct ul { 1941 display: flex; 1942 padding: 0; 1943 list-style: none; 1944 margin: 0; 1945 gap: 12px; 1946 } 1947 #breadcrumbProduct ul li { 1948 text-transform: uppercase; 1949 margin: 0; 1950 font-size: 12px; 1951 } 1952 #breadcrumbProduct ul li a { 1953 color: #757575; 1954 } 1955 1956 #breadcrumbProduct ul li svg { 1957 width: 10px; 1958 height: 10px; 1959 padding: 0; 1960 color: #757575; 1961 vertical-align: middle; 1962 } 1963 </style> 1964 <div class="container" style="color: #ffd700;"> 1965 <ul role="navigation" aria-label="breadcrumbs"> 1966 <li><a href="https://www.louerunepiscine.com/les-piscines" style="color: #ffd700;">RAJADANA</a></li> 1967 <li><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 1968 <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/> 1969 </svg></li> 1970 <li>RAJADANA RAJADANA</li> 1971 <li>RAJADANA LOGIN</li> 1972 <li>RAJADANA LINK ALTERNATIF</li> 1973 <li>RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat</li> 1974 1975 </ul> 1976 </div> 1977 1978 </div> 1979 1980
1980<script type="application/ld+json"> 1981 { 1982 "@context": "https://schema.org", 1983 "@type": "Product", 1984 "name": "RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat", 1985 "image": "https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png", 1986 "description": "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.", 1987 "brand": { 1988 "@type": "Brand", 1989 "name": "RAJADANA" 1990 }, 1991 "sku": "RAJADANA", 1992 "mpn": "RAJADANA", 1993 "url": "https://www.louerunepiscine.com/les-piscines", 1994 "offers": { 1995 "@type": "Offer", 1996 "url": "https://www.louerunepiscine.com/les-piscines", 1997 "priceCurrency": "USD", 1998 "price": "10.00", 1999 "priceValidUntil": "2025-12-25", 2000 "itemCondition": "https://schema.org/NewCondition", 2001 "availability": "https://schema.org/InStock", 2002 "seller": { 2003 "@type": "Organization", 2004 "name": "RAJADANA" 2005 } 2006 }, 2007 "aggregateRating": { 2008 "@type": "AggregateRating", 2009 "ratingValue": "5.0", 2010 "reviewCount": 858 2011 }, 2012 "review": [ 2013 { 2014 "@type": "Review", 2015 "reviewRating": { 2016 "@type": "Rating", 2017 "ratingValue": "5", 2018 "bestRating": "5" 2019 }, 2020 "author": { 2021 "@type": "Person", 2022 "name": "julian" 2023 } 2024 }, 2025 { 2026 "@type": "Review", 2027 "reviewRating": { 2028 "@type": "Rating", 2029 "ratingValue": "5", 2030 "bestRating": "5" 2031 }, 2032 "author": { 2033 "@type": "Person", 2034 "name": "alice" 2035 } 2036 } 2037 ] 2038 } 2039 </script>
2039<script type="application/ld+json"> 2040 { 2041 "@context": "https://schema.org", 2042 "@type": "BreadcrumbList", 2043 "itemListElement": [ 2044 { 2045 "@type": "ListItem", 2046 "position": 1, 2047 "name": "RAJADANA", 2048 "item": "https://www.louerunepiscine.com/les-piscines" 2049 }, 2050 { 2051 "@type": "ListItem", 2052 "position": 2, 2053 "name": "Content RAJADANA", 2054 "item": "https://www.louerunepiscine.com/les-piscines" 2055 }, 2056 { 2057 "@type": "ListItem", 2058 "position": 3, 2059 "name": "SITUS SLOT", 2060 "item": "https://www.louerunepiscine.com/les-piscines" 2061 }, 2062 { 2063 "@type": "ListItem", 2064 "position": 4, 2065 "name": "SLOT", 2066 "item": "https://www.louerunepiscine.com/les-piscines" 2067 }, 2068 { 2069 "@type": "ListItem", 2070 "position": 5, 2071 "name": "RAJADANA LOGIN", 2072 "item": "https://www.louerunepiscine.com/les-piscines" 2073 }, 2074 { 2075 "@type": "ListItem", 2076 "position": 6, 2077 "name": "RAJADANA DAFTAR", 2078 "item": "https://www.louerunepiscine.com/les-piscines" 2079 }, 2080 { 2081 "@type": "ListItem", 2082 "position": 7, 2083 "name": "RAJADANA LINK ALTERNATIF", 2084 "item": "https://www.louerunepiscine.com/les-piscines" 2085 }, 2086 { 2087 "@type": "ListItem", 2088 "position": 8, 2089 "name": "RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat", 2090 "item": "https://www.louerunepiscine.com/les-piscines" 2091 } 2092 ] 2093 } 2094 </script>
2094 2095 2096 <!--faq--> 2097
2098<script type="application/ld+json" id="faq-schema"> 2099{ 2100 "@context": "https://schema.org", 2101 "@type": "FAQPage", 2102 "mainEntity": [ 2103 { 2104 "@type": "Question", 2105 "name": "1. Apa itu RAJADANA?", 2106 "acceptedAnswer": { 2107 "@type": "Answer", 2108 "text": "RAJADANA adalah platform content eksklusif game hiburan tanpa batas yang menghadirkan berbagai informasi terbaru seputar game slot online, hiburan digital modern, serta akses permainan dengan sistem cepat, ringan, dan stabil untuk pengalaman bermain yang lebih nyaman di tahun 2026." 2109 } 2110 }, 2111 { 2112 "@type": "Question", 2113 "name": "2. Apa keunggulan RAJADANA dibanding platform lainnya?", 2114 "acceptedAnswer": { 2115 "@type": "Answer", 2116 "text": "RAJADANA memiliki berbagai keunggulan seperti akses cepat tanpa loading lama, tampilan modern yang mudah digunakan, kompatibel di berbagai perangkat, serta menyediakan update game hiburan terbaru secara konsisten sehingga pengguna dapat menikmati pengalaman digital yang lebih praktis dan efisien." 2117 } 2118 }, 2119 { 2120 "@type": "Question", 2121 "name": "3. Apakah RAJADANA aman digunakan?", 2122 "acceptedAnswer": { 2123 "@type": "Answer", 2124 "text": "Ya, RAJADANA mengutamakan keamanan dan kenyamanan pengguna dengan sistem yang stabil serta perlindungan akses modern. Platform ini dirancang untuk menjaga performa tetap optimal sehingga pengguna dapat menikmati hiburan online tanpa khawatir terhadap gangguan teknis yang tidak diinginkan." 2125 } 2126 }, 2127 { 2128 "@type": "Question", 2129 "name": "4. Apakah RAJADANA bisa diakses melalui smartphone?", 2130 "acceptedAnswer": { 2131 "@type": "Answer", 2132 "text": "Tentu saja. RAJADANA dapat diakses melalui smartphone, tablet, maupun desktop dengan tampilan yang tetap responsif dan ringan. Hal ini membuat pengguna lebih fleksibel dalam menikmati content hiburan kapan saja dan di mana saja." 2133 } 2134 }, 2135 { 2136 "@type": "Question", 2137 "name": "5. Bagaimana cara mengakses RAJADANA?", 2138 "acceptedAnswer": { 2139 "@type": "Answer", 2140 "text": "Untuk mengakses RAJADANA, pengguna hanya perlu membuka link resmi yang tersedia kemudian login melalui sistem yang cepat dan mudah. Setelah berhasil masuk, seluruh content game hiburan dan informasi terbaru dapat langsung dinikmati tanpa proses yang rumit." 2141 } 2142 } 2143 ] 2144} 2145</script>
2145 2146
2146<script type="application/ld+json"> 2147 { 2148 "@context": "https://schema.org", 2149 "@type": "Organization", 2150 "name": "RAJADANA", 2151 "url": "https://www.louerunepiscine.com/les-piscines", 2152 "logo": "https://ik.imagekit.io/kktbpaqjn/logorajadana.png", 2153 "sameAs": [ 2154 "https://www.facebook.com/RAJADANA", 2155 "https://twitter.com/RAJADANA", 2156 "https://www.instagram.com/RAJADANA" 2157 ], 2158 "contactPoint": { 2159 "@type": "ContactPoint", 2160 "telephone": "+62-8946-113-4615", 2161 "contactType": "customer support", 2162 "areaServed": "ID", 2163 "availableLanguage": ["Indonesian", "English"] 2164 } 2165 } 2166 </script>
2166 2167 2168
2168<script type="application/ld+json"> 2169 { 2170 "@context": "https://schema.org", 2171 "@type": "VideoObject", 2172 "name": "RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat", 2173 "description": "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.", 2174 "thumbnailUrl": [ 2175 "https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png", 2176 "https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2177 ], 2178 "uploadDate": "2025-09-28T04:19:10-04:00", 2179 "duration": "PT168", 2180 "contentUrl": "https://www.louerunepiscine.com/les-piscines" 2181 } 2182 </script>
2182 2183 2184
2184<script type="application/ld+json"> 2185 { 2186 "@context": "https://schema.org", 2187 "@type": "BreadcrumbList", 2188 "itemListElement": [ 2189 { 2190 "@type": "ListItem", 2191 "position": 1, 2192 "name": "Home", 2193 "item": "https://www.louerunepiscine.com/les-piscines" 2194 } 2195 ] 2196 } 2197 </script>
2197 2198 2199
2199<script type="application/ld+json"> 2200 { 2201 "@context": "https://schema.org", 2202 "@graph": [ 2203 { 2204 "@type": "Organization", 2205 "@id": "https://www.louerunepiscine.com/les-piscines#org", 2206 "name": "RAJADANA", 2207 "url": "https://www.louerunepiscine.com/les-piscines", 2208 "logo": "https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2209 }, 2210 { 2211 "@type": "WebSite", 2212 "@id": "https://www.louerunepiscine.com/les-piscines#website", 2213 "url": "https://www.louerunepiscine.com/les-piscines", 2214 "name": "RAJADANA", 2215 "publisher": { "@id": "https://www.louerunepiscine.com/les-piscines#org" }, 2216 "inLanguage": "id-ID", 2217 "potentialAction": { 2218 "@type": "SearchAction", 2219 "target": "https://www.louerunepiscine.com/les-piscines?s={search_term_string}", 2220 "query-input": "required name=search_term_string" 2221 } 2222 }, 2223 { 2224 "@type": "SoftwareApplication", 2225 "@id": "https://www.louerunepiscine.com/les-piscines#app", 2226 "name": "RAJADANA", 2227 "applicationCategory": "GameApplication", 2228 "operatingSystem": "Android, iOS, Windows", 2229 "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" }, 2230 "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 } 2231 } 2232 ] 2233 } 2234 </script>
2234 2235 2236 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://tahanpukul.info/outerbloom-global.css" rel="stylesheet" type="text/css" media="all" /> 2237 2238 2239 <style> 2240 .bg-card { 2241 background-color: #000000; 2242 } 2243 </style> 2244 2245 <!-- /templates/product.liquid --> 2246 2247 2248 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2249 2250 2251 <div class="product-standing-flower" data-product-type="flowerBoard"> 2252 <meta itemprop="url" content="https://www.louerunepiscine.com/les-piscines"> 2253 <meta itemprop="image" content="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 2254 2255 2256 2257 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2258 <div class="product-single" style="background-image: url(https://imgstore.io/images/2025/05/21/background-gelap.jpeg); background-attachment: fixed;"> 2259 <div id="product-top" class="container"> 2260 <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;"> 2261 <div id="product-image" class="col-lg-7 text-center"> 2262 <div class="product-image"> 2263 <div class="row no-gutters"> 2264 2265 <div id="product-featured-image" class="row w-100"> 2266 2267 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2268 2269 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2270 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2271 2272 <li class="swiper-slide" data-type="image"> 2273 <a 2274 href="files/Blossom-Shine-WM.jpg" 2275 data-standard="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2276 data-image="files/Blossom-Shine-WM.jpg" 2277 data-position="1" 2278 class="product-single__thumbnail" 2279 > 2280 <img 2281 class="lazyload w-100" 2282 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2283 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2284 width="" 2285 height="" 2286 > 2287 </a> 2288 </li> 2289 2290 2291 2292 2293 <li class="swiper-slide" data-type="image"> 2294 <a 2295 href="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2296 data-standard="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2297 data-image="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2298 data-position="2" 2299 class="product-single__thumbnail" 2300 > 2301 <img 2302 class="lazyload w-100" 2303 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2304 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2305 width="" 2306 height="" 2307 > 2308 </a> 2309 </li> 2310 2311 2312 2313 2314 <li class="swiper-slide" data-type="image"> 2315 <a 2316 href="files/Blossom-Shine_3-WM.jpg" 2317 data-standard="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2318 data-image="files/Blossom-Shine_3-WM.jpg" 2319 data-position="3" 2320 class="product-single__thumbnail" 2321 > 2322 <img 2323 class="lazyload w-100" 2324 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2325 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2326 width="" 2327 height="" 2328 > 2329 </a> 2330 </li> 2331 2332 2333 2334 2335 <li class="swiper-slide" data-type="image"> 2336 <a 2337 href="files/Blossom-Shine_4.jpg" 2338 data-standard="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2339 data-image="files/Blossom-Shine_4.jpg" 2340 data-position="4" 2341 class="product-single__thumbnail" 2342 > 2343 <img 2344 class="lazyload w-100" 2345 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2346 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2347 width="" 2348 height="" 2349 > 2350 </a> 2351 </li> 2352 2353 2354 2355 </ul> 2356 </div> 2357 2358 </div> 2359 2360 <div 2361 id="featured-image-product" 2362 class="col-lg-10 col-12 d-none d-lg-block" 2363 > 2364 <div class="swiper-container gallery-top"> 2365 <div class="swiper-slide product-single__image"> 2366 2367 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2368 2369 2370 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2371 <a href="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png"> 2372 <img 2373 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2374 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2375 id="ProductPhotoImg" 2376 class="lazyload" 2377 > 2378 2379 </a> 2380 </div> 2381 </div> 2382 2383 </div> 2384 <div class="swiper-slide product-single__video" style="display: none"> 2385 <video 2386 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2387 playsinline 2388 loop 2389 muted 2390 ></video> 2391 </div> 2392 </div> 2393 </div> 2394 </div> 2395 2396 <div id="featured-image-product2" class="col-12 d-lg-none"> 2397 <div class="swiper-container gallery-mobile"> 2398 <ul class="swiper-wrapper"> 2399 <li class="swiper-slide img"> 2400 2401 <img 2402 class="swiper-lazy" 2403 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2404 data-src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2405 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2406 width="" 2407 height="" 2408 > 2409 2410 </li> 2411 2412 2413 <li class="swiper-slide img"> 2414 2415 <img 2416 class="swiper-lazy" 2417 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2418 data-src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2419 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2420 width="" 2421 height="" 2422 > 2423 2424 </li> 2425 2426 2427 <li class="swiper-slide img"> 2428 2429 <img 2430 class="swiper-lazy" 2431 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2432 data-src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2433 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2434 width="" 2435 height="" 2436 > 2437 2438 </li> 2439 2440 2441 <li class="swiper-slide img"> 2442 2443 <img 2444 class="swiper-lazy" 2445 src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2446 data-src="https://ik.imagekit.io/kktbpaqjn/Rajadananew2.png" 2447 alt="RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat" 2448 width="" 2449 height="" 2450 > 2451 2452 </li> 2453 2454 2455 </ul> 2456 2457 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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> 2458 <div class="swiper-button-next"><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="7" height="10" viewB
2458ox="0 0 7 10" fill="none"> 2459 <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"/> 2460 </svg></div> 2461 2462 <!-- Add Pagination --> 2463 <div class="swiper-pagination"></div> 2464 2465 </div> 2466 </div> 2467 2468 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2469 <!-- product video --> 2470 <style> 2471 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2472 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2473 .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;} 2474 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2475 .close-video .icon{width:30px;height:30px;} 2476 /*responsive iframe */ 2477 .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);} 2478 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2479 2480 .youtube { 2481 background-color: #000; 2482 margin-bottom: 30px; 2483 position: relative; 2484 padding-top: 56.25%; 2485 overflow: hidden; 2486 cursor: pointer; 2487 width: 100%; 2488 } 2489 .swiper-slide .youtube { 2490 max-width: 480px; 2491 } 2492 .youtube img { 2493 width: 100%; 2494 top: -16.82%; 2495 left: 0; 2496 opacity: 0.7; 2497 } 2498 .youtube .play-button { 2499 width: 90px; 2500 height: 60px; 2501 background-color: #333; 2502 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2503 z-index: 1; 2504 opacity: 0.8; 2505 border-radius: 6px; 2506 } 2507 .youtube .play-button:before { 2508 content: ""; 2509 border-style: solid; 2510 border-width: 15px 0 15px 26.0px; 2511 border-color: transparent transparent transparent #fff; 2512 } 2513 .youtube img, 2514 .youtube .play-button { 2515 cursor: pointer; 2516 } 2517 .youtube img, 2518 .youtube iframe, 2519 .youtube .play-button, 2520 .youtube .play-button:before { 2521 position: absolute; 2522 } 2523 .youtube .play-button, 2524 .youtube .play-button:before { 2525 top: 50%; 2526 left: 50%; 2527 transform: translate3d( -50%, -50%, 0 ); 2528 } 2529 .youtube iframe { 2530 height: 100%; 2531 width: 100%; 2532 top: 0; 2533 left: 0; 2534 } 2535 </style> 2536 2537 2538 </div> 2539 </div> 2540 2541 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2542 2543 </div> 2544 2545
2545<script> 2546 if ($(window).width() < 991) { 2547 var direction = 'horizontal' 2548 } else { 2549 var direction = 'vertical' 2550 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2551 } 2552 var swiper = new Swiper('.gallery-thumbs', { 2553 2554 direction, 2555 slidesPerView: 4.5, 2556 spaceBetween: 12, 2557 navigation: { 2558 nextEl: '.swiper-button-next', 2559 prevEl: '.swiper-button-prev', 2560 } 2561 }); 2562 2563 var swiper = new Swiper('.gallery-mobile', { 2564 //loop: true, 2565 lazy: true, 2566 speed: 300, 2567 resistance : true, 2568 resistanceRatio : 0, 2569 freeModeMomentumRatio : 0.45, 2570 freeModeMomentumVelocityRatio : 1.5, 2571 navigation: { 2572 nextEl: '.swiper-button-next', 2573 prevEl: '.swiper-button-prev', 2574 }, 2575 pagination: { 2576 el: '.swiper-pagination' 2577 }, 2578 useCSS3Transforms: false, 2579 loop: false, 2580 on: { 2581 init: function () { 2582 console.log('swiper initialized'); 2583 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2584 currentVideo.trigger('play'); 2585 }, 2586 }, 2587 }); 2588 2589 /* GET ALL VIDEOS */ 2590 var sliderVideos = $(".swiper-slide video"); 2591 2592 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2593 swiper.on('slideChange', function () { 2594 console.log('slide changed'); 2595 /* stop all videos */ 2596 sliderVideos.each(function( index ) { 2597 this.currentTime = 0; 2598 }); 2599 2600 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2601 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2602 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2603 prevVideo.trigger('stop'); 2604 currentVideo.trigger('play'); 2605 }); 2606 2607 2608 $("[data-video]").click(function(){ 2609 const file = $(this).data("video") 2610 $(".product-single__video").show() 2611 $(".product-single__image").hide() 2612 $(".product-single__video").find("video").attr("src", file) 2613 $(".product-single__video").find("video")[0].play(); 2614 }) 2615 $("[data-image]").click(function(){ 2616 $(".product-single__video").hide() 2617 $(".product-single__image").show() 2618 $(".product-single__video").find("video")[0].pause(); 2619 }) 2620 2621 $("#product-image .swiper-slide").each(function(){ 2622 let width = $(this).width() 2623 $(this).height(width) 2624 }) 2625 2626 $(window).resize(function() { 2627 $("#product-image .swiper-slide").each(function(){ 2628 let width = $(this).width() 2629 $(this).height(width) 2630 }) 2631 }) 2632 </script>
2632 2633 2634 </div> 2635 2636 2637 <div class="grid__item_product-info mb-3"> 2638 <div class="c-pdp-product-info"> 2639 <ul class="c-pdp-product-info__service c-pdp-product-info__service--active"> 2640 <!-- artikel --> 2641 <li> 2642 Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. 2643 </li> 2644 2645 2646 2647 2648 </ul> 2649 </div> 2650 </div> 2651 2652 2653 2654 2655 2656 <style> 2657 .c-pdp-product-info__service--active { 2658 font-size: 12px; 2659 padding-left: 10px; 2660 text-align: left; 2661 max-width: 550px; 2662 margin: auto; 2663 color: #fff; 2664 } 2665 .c-pdp-product-info__service--active li { 2666 list-style: disc; 2667 } 2668 .c-pdp-product-info { 2669 background-color: #000000; 2670 padding: 12px; 2671 margin: 0; 2672 } 2673 .freeship em { 2674 font-style: italic; 2675 font-size: 12px !important; 2676 } 2677 2678 2679 </style> 2680 2681
2681<script> 2682 $(document).ready(function(){ 2683 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2684 $(".c-pdp-product-info__service").addClass("no-bullet"); 2685 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2686 } 2687 }); 2688 </script>
2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 </div> 2702 <div id="product-meta" class="col-lg-5 p-0"> 2703 <div class="product-meta"> 2704 <style> 2705 .product-meta--review {margin-top:10px} 2706 .freeship * {font-size: 14px !important;font-style: normal;} 2707 </style> 2708 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 230, 0); font-weight: bold;">RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat</h1> 2709 2710 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2711 <meta itemprop="priceCurrency" content="IDR"> 2712 2713 <link itemprop="availability" href="https://schema.org/InStock"> 2714
2714<script 2715 type="text/javascript" 2716 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2717 async="async" 2718 ></script>
2718 2719 2720 2721 2722 2723 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2724 2725 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2726 2727 <div class="row no-gutters mb-3"> 2728 <span 2729 id="ProductPrice" 2730 class="h2 ProductPrice" 2731 itemprop="price" 2732 content="835000" style="color: #ffffff;" 2733 > 2734 Rp 10.000 2735 </span> 2736 <div class="discount-product-detail"> 2737 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2738 Rp 100.000 2739 </p> 2740 <span class=" tag-discount"> 2741 2742 2743 <span id="newDiscount" class="product-tag persentase-discount hide"> 2744 (90%) 2745 </span><br> 2746 2747 </span> 2748 </div> 2749 </div> 2750 2751 <div class="row no-gutters meta-sds"> 2752 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2753 2754 2755 <span 2756 id="ProductStock-Product" 2757 class="product-single__stock mb-2 hide" 2758 > 2759 2760 2761 2762 2763 Barang dikirim pada 2764 2765 2766 2767 </span> 2768 2769 <style> 2770 .short-desc-desktop { 2771 margin-bottom: 2rem; 2772 color: white; 2773 } 2774 .short-desc ul li:nth-child(n + 4) { 2775 display: none; 2776 } 2777 .short-desc ul li.showList:nth-child(n + 4) { 2778 display: list-item; 2779 } 2780 label.more { 2781 display: none; 2782 } 2783 label.more.showMe { 2784 display: block; 2785 font-size: 12px; 2786 text-transform: uppercase; 2787 font-weight: 700; 2788 cursor: pointer; 2789 } 2790 </style> 2791 2792 <div class="short-desc-desktop d-none d-lg-block"> 2793 <div class="short-desc"> 2794 2795 <p>Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.</p> 2796 </div> 2797 <label class="more">Show More â</label> 2798 </div><br> 2799 2800 2801
2801<script> 2802 var liCount; 2803 $(document).ready(function () { 2804 $(".short-desc ul").each(function() { 2805 liCount = $(this).children("li").length; 2806 if (liCount > 3) { 2807 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2808 } 2809 }); 2810 2811 $(".more").click(function () { 2812 //$(".short-desc").find("li").addClass("showList"); 2813 // $(this).hide(); 2814 $("#product-desc").find("ul").show() 2815 $('html, body').animate({ 2816 scrollTop: $("#product-desc").offset().top - 250 2817 }, 2000); 2818 $("#product-desc").css("height","auto"); 2819 $("#more_content").remove(); 2820 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2821 }); 2822 }); 2823 </script>
2823 2824 2825 2826 </div> 2827 </div> 2828 2829 <div id="purchaseProduct"> 2830 2831 2832 2833 2834 <style> 2835 .variant-metafield { 2836 display: block!important; 2837 width: 1px; 2838 padding: 0; 2839 border-color: #fff; 2840 } 2841 .select2-results__option[aria-disabled] { 2842 display: none; 2843 } 2844 2845 .towel-bordir { 2846 width: 100%; 2847 display: flex; 2848 align-items: center; 2849 justify-content: space-around; 2850 } 2851 </style> 2852 2853 2854 2855 2856
2856<script> 2857 2858 2859 </script>
2859 2860 2861 2862 2863 2864 2865 2866 <select 2867 name="id[]" 2868 id="productSelect" 2869 class="product-single__variants ignore hide hide" 2870 > 2871 2872 2873 2874 <option 2875 2876 selected="selected" 2877 2878 data-sku="OBVSTF1086" 2879 value="44083045826775" 2880 > 2881 Default Title 2882 </option> 2883 2884 2885 2886 </select> 2887 2888
2888<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2888 2889 2890
2890<script> 2891 $('.size-chart-open-popup').magnificPopup({ 2892 type:'inline', 2893 midClick: true 2894 }); 2895 </script>
2895 2896 2897 2898 2899 2900 <div class="upload-image-preview"> 2901 2902 2903 2904 2905 2906 <style> 2907 .file-dnd * { 2908 margin: 0; 2909 padding: 0; 2910 box-sizing: border-box; 2911 } 2912 .file-dnd { 2913 width: 100%; 2914 height: 250px; 2915 border: 1px solid #ddd; 2916 border-radius: 10px; 2917 padding: 15px; 2918 display: flex; 2919 flex-direction: column; 2920 gap: 10px; 2921 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2922 margin: auto; 2923 } 2924 .file-dnd input { 2925 display: none; 2926 } 2927 .file-dnd .before-upload { 2928 border: 1px dashed #888; 2929 flex: 1; 2930 border-radius: 5px; 2931 display: flex; 2932 justify-content: center; 2933 align-items: center; 2934 text-align: center; 2935 cursor: pointer; 2936 } 2937 .file-dnd .before-upload > div { 2938 display: flex; 2939 flex-direction: column; 2940 align-items: center; 2941 gap: 8px; 2942 } 2943 .file-dnd .before-upload > div h4 { 2944 width: 150px; 2945 } 2946 .file-dnd .before-upload > div p { 2947 font-size: 12px !important; 2948 color: #555; 2949 } 2950 .file-dnd.active .before-upload { 2951 border: 1px solid #5750d9; 2952 background-color: #f5f5ff; 2953 } 2954 .file-dnd .after-upload { 2955 position: relative; 2956 display: none; 2957 } 2958 .file-dnd .after-upload img { 2959 width: 100%; 2960 border-radius: 5px; 2961 max-height: 180px; 2962 object-fit: contain; 2963 display: block; 2964 } 2965 .file-dnd .after-upload .clear-btn { 2966 position: absolute; 2967 top: 10px; 2968 right: 10px; 2969 background: rgba(0, 0, 0, 0.5); 2970 width: 15px; 2971 height: 15px; 2972 text-align: center; 2973 line-height: 15px; 2974 border-radius: 50%; 2975 color: #fff; 2976 cursor: pointer; 2977 font-size: 14px; 2978 } 2979 </style> 2980 2981 <div 2982 class="file-dnd mb-3" 2983 2984 style="display: none" 2985 2986 > 2987 <label for="upload-photo">Upload your Photo:</label> 2988 <input type="file" id="upload-photo" accept="image/*"> 2989 <input type="hidden" data-properties="Photo"> 2990 <div class="before-upload"> 2991 <div> 2992 <svg id="surface1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2993 <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> 2994 <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> 2995 <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> 2996 </svg> 2997 2998 <h4>Drag & Drop Photo file or Browse</h4> 2999 <p>Supports: JPEG, PNG, GIF, TIFF</p> 3000 </div> 3001 </div> 3002 <div class="after-upload"> 3003 <div class="clear-btn">×</div> 3004 <img src="" width="" height=""> 3005 </div> 3006 </div> 3007
3007<script> 3008 function applyDndFile(el) { 3009 const parent = document.querySelector(".file-dnd") 3010 const beforeUploadEl = el.querySelector(".before-upload") 3011 const afterUploadEl = el.querySelector(".after-upload") 3012 const inputFile = el.querySelector("input[type=file]") 3013 const imagePreview = el.querySelector(".after-upload img") 3014 const clearBtn = el.querySelector(".after-upload .clear-btn") 3015 const inputProps = parent.querySelector("[data-properties]"); 3016 3017 async function upload(name, uri, type) { 3018 try { 3019 const filename = name.split('.')[0] 3020 let formData = new FormData(); 3021 formData.append("file", uri); 3022 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3023 method: "POST", 3024 body: formData 3025 }) 3026 if(response) { 3027 const res = await response.json() 3028 return res 3029 } 3030 } catch(err){ 3031 console.log(err) 3032 } 3033 } 3034 3035 function showImagePreview(img) { 3036 if(img){ 3037 const blobUrl = URL.createObjectURL(img) 3038 imagePreview.src = blobUrl 3039 afterUploadEl.style.display = "block" 3040 beforeUploadEl.style.display = "none" 3041 } 3042 } 3043 3044 beforeUploadEl.addEventListener("click", (e) => { 3045 e.preventDefault() 3046 inputFile.click() 3047 }) 3048 3049 inputFile.addEventListener("change", async (e) => { 3050 e.preventDefault() 3051 showImagePreview(e.target.files[0]) 3052 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3053 inputProps.value = uploadData?.url 3054 }) 3055 3056 clearBtn.addEventListener("click", (e) => { 3057 afterUploadEl.style.display = "none" 3058 beforeUploadEl.style.display = "flex" 3059 inputProps.value = "" 3060 }) 3061 3062 beforeUploadEl.addEventListener("dragover", (e) => { 3063 e.preventDefault() 3064 el.classList.add("active") 3065 }) 3066 3067 beforeUploadEl.addEventListener("dragleave", (e) => { 3068 e.preventDefault() 3069 el.classList.remove("active") 3070 }) 3071 3072 beforeUploadEl.addEventListener("drop", async (e) => { 3073 e.preventDefault() 3074 el.classList.remove("active") 3075 showImagePreview(e.dataTransfer.files[0]) 3076 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3077 console.log(uploadData) 3078 inputProps.value = uploadData?.url 3079 }) 3080 } 3081 3082 applyDndFile(document.querySelector(".file-dnd")) 3083 3084 $(document).ready(function(){ 3085 $(".variant-swatch").change(function(){ 3086 const v = $(this).val().toLowerCase() 3087 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3088 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3089 $(".file-dnd").hide() 3090 $(".file-dnd").find("[data-properties]").val("") 3091 $(".after-upload").hide() 3092 $(".before-upload").css("display", "flex") 3093 }) 3094 }) 3095 </script>
3095 3096 3097 </div> 3098 3099 3100 <div class="delivery-city mb-4"> 3101 <a href="https://77.louerunepiscine.com/"> 3102 <center><img src="https://imgsaya3.io/images/2026/03/04/G-GIF-DAFTARDISININEW-2.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 3103 <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA BERGABUNG BERSAMA KAMI DI RAJADANA!</h4> 3104 <div class="row justify-content-between m-0"> 3105 <select id="cities" class="form-control select-search" required> 3106 <option value="">Gabung di RAJADANA dengan keamanan data terjamin 100%</option> 3107 </select> 3108 </div> 3109 </div> 3110 3111 <style> 3112 @media (max-width: 768px) { 3113 .select2-search__field { 3114 pointer-events: none !important; 3115 } 3116 3117 .select2-search { 3118 display: none !important; 3119 } 3120 } 3121 </style> 3122 3123
3123<script> 3124 $(document).ready(function() { 3125 // Check if mobile 3126 if (window.innerWidth <= 768) { 3127 // When cities select2 opens on mobile, remove focus from search 3128 $('#cities').on('select2:open', function() { 3129 setTimeout(function() { 3130 $('.select2-search__field').blur(); 3131 $('.select2-search__field').prop('readonly', true); 3132 }, 100); 3133 }); 3134 } 3135 }); 3136 </script>
3136 3137 3138 <style> 3139 .icon-img-footer { 3140 width: 80px; 3141 padding: 0px 5px; 3142 } 3143 @media (min-width: 768px) { 3144 .icon-img-footer { 3145 width: 120px; 3146 } 3147 } 3148 @media (min-width: 992px) { 3149 .icon-img-footer { 3150 width: 120px; 3151 } 3152 } 3153 3154 3155 </style> 3156 <div id="row-delivery-date" class="row m-0 mb-3"> 3157 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(236, 236, 67);">Rasakan Keamanan Standar Internasional Terbaru Di RAJADANA</h4> 3158 <div id="deliveryDate" class="m-0"></div> 3159 <div id="deliveryDateFull"> 3160 <div class=""> 3161 <input 3162 type="text" 3163 id="full-date" 3164 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 3165 value="Full Calendar" 3166 > 3167 <label for="full-date"><svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="32" height="32" viewBox="0 0 32 32"> 3168 <title>icon-arrow-right</title> 3169 <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> 3170 </svg></label> 3171 </div> 3172 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 3173 </div> 3174 <div class="form-group p-0"> 3175 <input type="text" id="propDeliveryDate" required class="hide"> 3176 </div> 3177 </div> 3178 3179 3180 <div id="row-delivery-time" class="row m-0 mb-3"> 3181 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 3182 SEO RAJADANA 3183 </h4> 3184 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 3185 <div class="form-group p-0"> 3186 <input type="text" id="propDeliveryTime" class="hide" required> 3187 </div> 3188 </div> 3189 3190 3191 3192 3193 3194 <div id="personalizeBtn"> 3195 3196 3197 3198 3199 <button 3200 class="btn text-uppercase w-100 fw-400" 3201 3202 3203 3204 > 3205 3206 customize your flower board 3207 3208 </button> 3209 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 3210 <div class="button-share text-center"> 3211 <p id="shareButton" class="d-flex gap-2"><span>RAJADANA</span><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 3212 <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"/> 3213 </svg> 3214 </p> 3215 </div> 3216 <div class="button-wishlist text-center"> 3217 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 3218 <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"/> 3219 </svg> 3220 <!-- 3221 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 3222 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
322218.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"/> 3223 </svg> 3224 --> 3225 </p> 3226 </div> 3227 </div> 3228 </div> 3229 </div> 3230 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3231 <div class="purchaseArea"> 3232 <div class="sectionPurchase sectionPurchaseSpotify"> 3233 <div class="wrapperPurchase"> 3234 <div class="headerPurchase"> 3235 <h3>personalize spotify photo print</h3> 3236 <a class="close-purchase-popup"> 3237 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3238 <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> 3239 </svg> 3240 </a> 3241 </div> 3242 <div class="contentPurchase"> 3243 <div class="spotifyAddons"></div> 3244 </div> 3245 3246 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3247 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3248 <button class="back-purchase-button back-addon text-uppercase"> 3249 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 3250 <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> 3251 </svg> 3252 <span>Back</span> 3253 </button> 3254 </div> 3255 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3256 <button class="btn next-purchase-button next-addon text-uppercase"> 3257 <span>continue without add-ons</span> 3258 </button> 3259 </div> 3260 </div> 3261 </div> 3262 </div> 3263 </div> 3264 </div> 3265 3266 <style> 3267 #PBarNextFrameWrapper { 3268 display: none; 3269 } 3270 #backgroundPopup { 3271 display: none; 3272 position: fixed; 3273 _position: absolute; 3274 height: 100%; 3275 width: 100%; 3276 top: 0; 3277 left: 0; 3278 background: rgb(117 117 117 / 24%); 3279 z-index: 1; 3280 } 3281 .sectionPurchase { 3282 height: 100%; 3283 position: relative; 3284 max-width: 1344px; 3285 background-color: #fff; 3286 padding: 0; 3287 overflow: hidden; /* Changed from auto to hidden */ 3288 display: flex; 3289 flex-direction: column; 3290 } 3291 .sectionPurchase.purchaseAddonSpotify { 3292 max-width: 1070px!important; 3293 max-height: 765px!important; 3294 } 3295 .sectionPurchaseBoard { 3296 max-width: 872px!important; 3297 max-height: 821px!important; 3298 } 3299 .purchaseAddonSpotify .btn-action { 3300 position: absolute; 3301 bottom: 0; 3302 left: 0; 3303 width: 100%; 3304 display: flex; 3305 gap: 10px; 3306 } 3307 .wrapperPurchase { 3308 position: relative; 3309 height: 100%; 3310 display: flex; 3311 flex-direction: column; 3312 } 3313 3314 /* New styles for scrollable content and sticky button */ 3315 .purchase-content { 3316 flex: 1; 3317 overflow-y: auto; 3318 overflow-x: hidden; 3319 padding: 20px; 3320 } 3321 3322 .purchase-button-wrapper { 3323 position: sticky; 3324 bottom: 0; 3325 background-color: #fff; 3326 border-top: 1px solid #e0e0e0; 3327 padding: 15px 0; 3328 margin-top: auto; 3329 z-index: 10; 3330 } 3331 3332 .purchasePopup { 3333 display: none; 3334 position: fixed; 3335 background: rgb(117 117 117 / 24%); 3336 z-index: 999; 3337 padding: 40px; 3338 font-size: 13px; 3339 top: 0; 3340 left: 0; 3341 width: 100%; 3342 height: 100%; 3343 } 3344 .popupPurchaseClose{ 3345 font-size:14px; 3346 line-height:14px; 3347 right:45px; 3348 top:45px; 3349 position:absolute; 3350 color:#6fa5fd; 3351 font-weight:700; 3352 display:block; 3353 cursor: pointer; 3354 } 3355 3356 .headerPurchase { 3357 margin-bottom: 30px; 3358 display: flex; 3359 justify-content: space-between; 3360 } 3361 3362 .headerPurchase h3 { 3363 font-size: 16px; 3364 text-transform: uppercase; 3365 } 3366 3367 .sectionPurchaseBoard .headerPurchase { 3368 margin-bottom: 15px; 3369 } 3370 3371 .sectionPurchaseBoard .formAddressPurchase { 3372 padding-top: 0;
3373 } 3374 3375 .purchaseArea { 3376 position: relative; 3377 height: 100%; 3378 } 3379 3380 .purchaseArea h4 { 3381 width: 100%; 3382 font-size: 12px; 3383 font-weight: 600; 3384 margin-bottom: 10px; 3385 text-transform: uppercase; 3386 } 3387 3388 .menuPurchase { 3389 margin-bottom: 30px; 3390 } 3391 3392 .menuPurchase ul { 3393 list-style-type: none; 3394 margin: 0; 3395 } 3396 3397 .menuPurchase ul li { 3398 display: inline-block; 3399 border: 1px solid #ffffff; 3400 padding: 5px 20px; 3401 margin-right: 5px; 3402 margin-bottom: 10px; 3403 font-size: 12px; 3404 font-weight: 400; 3405 } 3406 3407 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3408 background-color: #ffffff; 3409 color: #ffffff; 3410 } 3411 3412 .contentPurchase h5 { 3413 font-size: 12px; 3414 margin-bottom: 10px; 3415 font-weight: 400; 3416 overflow: hidden; 3417 } 3418 3419 /* Card */ 3420 3421 #itemCards { 3422 max-height: 430px; 3423 overflow: auto; 3424 } 3425 3426 .item-cards { 3427 width: 100%; 3428 } 3429 .item-card.selected { 3430 border: 1px solid #ffffff; 3431 } 3432 .item-card:hover { 3433 border: 1px solid #C4C4C4; 3434 } 3435 .item-cards .item-card { 3436 position: relative; 3437 width: calc(33% - 10px); 3438 max-width: calc(33% - 10px); 3439 flex: 0 0 calc(33% - 10px); 3440 margin-bottom: 20px; 3441 } 3442 .item-cards .item-card label, 3443 .item-addons .item-addon label { 3444 position: absolute; 3445 left: 0; 3446 width: 100%; 3447 height: 100%; 3448 } 3449 .item-cards .item-card .card-image img, 3450 .item-addons .item-addon .card-image img { 3451 display: block; 3452 width: 100%; 3453 } 3454 .item-card .card-meta, 3455 .item-addon .card-meta { 3456 padding: 10px 5px 5px; 3457 } 3458 .item-card.selected .card-meta, 3459 .item-addon.selected .card-meta, 3460 .item-card.selected .card-qty { 3461 background-color: #ffffff; 3462 color: #fff; 3463 visibility: visible!important; 3464 } 3465 .item-card:hover .card-meta, 3466 .item-addon:hover .card-meta, 3467 .item-card:hover .card-qty { 3468 background-color: #C4C4C4; 3469 color: #fff; 3470 visibility: visible!important; 3471 } 3472 .item-cards .item-card p, 3473 .item-addons .item-addon p { 3474 font-size: 12px !important; 3475 margin: 0; 3476 font-weight: 600; 3477 } 3478 .item-card .card-meta input, 3479 .item-addon .card-meta input { 3480 display: none; 3481 } 3482 .item-cards .item-card h5, 3483 .item-addons .item-addon h5 { 3484 text-transform: uppercase; 3485 max-height: 35px; 3486 } 3487 3488 @media (max-width: 768px) { 3489 .item-cards .item-card { 3490 width: calc(50% - 10px); 3491 max-width: calc(50% - 10px); 3492 flex: 0 0 calc(50% - 10px); 3493 margin-bottom: 0; 3494 } 3495 } 3496 3497 .card-qty { 3498 display: flex; 3499 padding: 5px; 3500 visibility: hidden; 3501 background-color: #fff !important; 3502 z-index: 999; 3503 } 3504 .card-qty a { 3505 border-width: 1px; 3506 width: 30%; 3507 cursor: pointer; 3508 text-align: center; 3509 align-self: center; 3510 height: 28px; 3511 display: block; 3512 position: relative; 3513 } 3514 .card-qty a svg { 3515 position: absolute; 3516 top: 50%; 3517 left: 50%; 3518 transform: translate(-50%, -50%); 3519 text-align: center; 3520 } 3521 input.btn-qty { 3522 border-width: 0px; 3523 border-radius: 0; 3524 background-color: #fff; 3525 -webkit-appearance: none; 3526 box-shadow: none !important; 3527 -webkit-box-shadow: none !important; 3528 -moz-box-shadow: none!important; 3529 width: 40%; 3530 border-left: 1px solid #c4c4c4; 3531 border-right: 1px solid #c4c4c4; 3532 padding: 0; 3533 } 3534 3535 .sectionPurchaseBoard #itemAddons .item-card { 3536 width: calc(20% - 15px); 3537 max-width: calc(20% - 15px); 3538 flex: 0 0 calc(20% - 15px); 3539 } 3540 3541 .purchase-button { 3542 width: 100%; 3543 padding: 0; /* Reset padding as it's now handled by wrapper */ 3544 margin: 0; 3545 } 3546 3547 .sectionPurchaseBoard .purchase-button { 3548 margin-top: 0 !important; /* Reset margin */ 3549 } 3550 3551 .back-purchase-button, .back-spotify { 3552 width: 139px; 3553 border: 1px solid; 3554 height: 43px; 3555 } 3556 .purchase-button .btn { 3557 width: 297px; 3558 height: 43px; 3559 background-color: #ffffff; 3560 color: #ffffff; 3561 } 3562 .purchase-button .btn[disabled] { 3563 background-color: #EEEEEE; 3564 } 3565 .back-purchase-button svg, .back-spotify svg { 3566 align-self: center; 3567 vertical-align: middle; 3568 margin-right: 10px; 3569 } 3570 3571 #purchaseProduct .row .error { 3572 font-size: 12px !important; 3573 color: orange; 3574 margin-top: 5px; 3575 } 3576 3577 .reviewCardPurchase { 3578 max-width: 448px; 3579 float: right; 3580 } 3581 3582 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3583 .addon-item * {align-self: center;font-size: 12px;} 3584 .addon-itm-title {width: 360px;} 3585 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3586 3587 .propsAddonSpotify p { 3588 margin: 0; 3589 display: flex; 3590 font-size: 12px !important; 3591 margin-bottom: 5px; 3592 } 3593 .propsAddonSpotify p span:first-child { 3594 text-transform: uppercase; 3595 font-weight: 600; 3596 -ms-flex: 0 0 150px; 3597 flex: 0 0 150px; 3598 max-width: 150px; 3599 } 3600 3601 .addonsPurchase .addons { 3602 max-height: 250px; 3603 overflow: auto; 3604 } 3605 3606 .btn .loading:after { 3607 content: ""; 3608 display: inline-block;
3609 width: 20px; 3610 height: 20px; 3611 padding: 3px; 3612 aspect-ratio: 1; 3613 border-radius: 50%; 3614 background: #FFFFFF; 3615 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3616 -webkit-mask: var(--_m); 3617 mask: var(--_m); 3618 -webkit-mask-composite: source-out; 3619 mask-composite: subtract; 3620 animation: l3 1s infinite linear; 3621 margin: auto; 3622 vertical-align: middle; 3623 margin-left: 10px; 3624 } 3625 3626 #qrcode img, #qrcode canvas { 3627 width: 50px; 3628 position: absolute; 3629 top: 12px; 3630 left: 16px; 3631 } 3632 3633 .t-preview { 3634 position: absolute; 3635 top: 17px; 3636 left: 75px; 3637 } 3638 .t-preview p { 3639 margin: 0; 3640 font-size: 12px !important; 3641 } 3642 .t-preview .h3 { 3643 font-size: 16px !important; 3644 margin-bottom: 5px; 3645 font-weight: 600; 3646 } 3647 .scanCard { 3648 width: 100%; 3649 border: 1px solid; 3650 height: 76px; 3651 background-color: #fff; 3652 } 3653 .scanCard > div > img { 3654 position: absolute; 3655 right: 0; 3656 width: 55px; 3657 } 3658 3659 @keyframes l3 { 3660 100% { 3661 transform: rotate(1turn); 3662 } 3663 } 3664 3665 @media (min-width: 991px) { 3666 .sectionPurchase { 3667 height: 100%; 3668 position: relative; 3669 max-width: 1344px; 3670 background-color: #fff; 3671 top: 50%; 3672 left: 50%; 3673 transform: translate(-50%, -50%); 3674 } 3675 .headerPurchase h3 { 3676 font-size: 20px; 3677 } 3678 .purchaseArea h4 { 3679 font-size: 16px; 3680 } 3681 3682 .menuPurchase ul li { 3683 font-size: 16px; 3684 } 3685 3686 .contentPurchase { 3687 margin-bottom: 30px; 3688 } 3689 .contentPurchase h5 { 3690 font-size: 16px; 3691 } 3692 3693 .item-cards .item-card p, 3694 .item-addons .item-addon p { 3695 font-size: 16px !important; 3696 } 3697 3698 .cards { 3699 float: right; 3700 width: 400px; 3701 } 3702 3703 .item-cards .item-card { 3704 width: calc(25% - 30px); 3705 max-width: calc(25% - 30px); 3706 flex: 0 0 calc(25% - 30px); 3707 } 3708 3709 #itemAddons .item-card { 3710 position: relative; 3711 width: calc(16% - 40px); 3712 max-width: calc(16% - 40px); 3713 flex: 0 0 calc(16% - 40px); 3714 } 3715 3716 .purchase-button-wrapper { 3717 padding: 10px 20px; 3718 } 3719 } 3720 3721 @media (max-width: 1200px) { 3722 .item-cards .item-card { 3723 width: calc(33% - 30px); 3724 max-width: calc(33% - 30px); 3725 flex: 0 0 calc(33% - 30px); 3726 } 3727 } 3728 3729 @media (max-width: 992px) { 3730 .purchasePopup { 3731 padding: 0; 3732 } 3733 .item-cards .item-card h5, 3734 .item-addons .item-addon h5 { 3735 max-height: 30px; 3736 } 3737 3738 .back-purchase-button, .back-spotify, .next-purchase-button { 3739 width: 100%; 3740 } 3741 .addon-itm-title { 3742 width: 300px; 3743 } 3744 .addon-itm-line-price { 3745 margin-right: 10px; 3746 } 3747 .t-preview { 3748 top: 10px; 3749 } 3750 3751 .card-qty a { 3752 height: 15px; 3753 } 3754 3755 .purchase-button-wrapper { 3756 padding: 15px; 3757 } 3758 } 3759 3760 @media (max-width: 576px) { 3761 .purchase-button .btn { 3762 width: 100%!important; 3763 } 3764 .purchase-button > .col-12 { 3765 padding-left: 0; 3766 padding-right: 0; 3767 } 3768 } 3769 </style> 3770 3771 3772 <div class="purchasePopup"> 3773 <div class="purchaseArea"> 3774 3775 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3776 <div class="wrapperPurchase"> 3777 <div class="purchase-content"> 3778 <div class="headerPurchase"> 3779 <h3 class="text-uppercase"> 3780 3781 customize your flower board 3782 3783 </h3> 3784 <a class="close-purchase-popup"> 3785 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3786 <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"/> 3787 </svg> 3788 </a> 3789 3790 </div> 3791 <div class="contentPurchase"> 3792 <div class="row"> 3793 3794 <div class="col-12"> 3795 3796 3797 3798 <style> 3799 3800 3801 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3802 .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;} 3803 3804 .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;} 3805 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3806 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3807 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3808 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3809 .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;} 3810 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3811 #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;} 3812 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3813 .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;} 3814 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3815 3816 @media (min-width: 991px) { 3817 .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);} 3818 .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);} 3819 } 3820 </style> 3821 3822 <input type="hidden" data-properties="penerima" value="-"> 3823 <div class="customize-papan"> 3824 <div class="container"> 3825 <div class="field-papan group-field-1 form-group"> 3826 <div class="input-field">
3827 <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. 3828 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3829 <p class="limit">0/100</p> 3830 <div id="suggest-messages"> 3831 <a id="show_note_papan1" href="#"> 3832 <div class="suggest-message" id="note_btn_div1"> 3833 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3834 </div> 3835 </a> 3836 <a id="show_note_papan2" href="#"> 3837 <div class="suggest-message" id="note_btn_div2"> 3838 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3839 </div> 3840 </a> 3841 <a id="show_note_papan3" href="#"> 3842 <div class="suggest-message" id="note_btn_div3"> 3843 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3844 </div> 3845 </a> 3846 </div> 3847 </div> 3848 </div> 3849 <div class="hide"> 3850 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3851 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3852 </div> 3853 <div class="hide"> 3854 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3855 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3856 </div> 3857 <div class="hide"> 3858 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3859 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3860 </div> 3861 <div class="field-papan group-field-2 form-group"> 3862 3863 <label for="logoPapan" onclick="" class="input-field field-logo"> 3864 3865 3866 3867 <div class="btn-upload-papan w-100"> 3868 <?xml version="1.0" encoding="UTF-8"?> 3869 <img src="" style="display:none"> 3870 <div class="svgLogoPapan"> 3871 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 3872 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 3873 </svg> 3874 <p>Upload Logo <span>*optional</span></p> 3875 </div> 3876 </div> 3877 3878 </label> 3879 3880 <input 3881 type="hidden" 3882 data-properties="papan-logo" 3883 value="" 3884 > 3885 <input 3886 type="file" 3887 id="logoPapan" 3888 accept="image/*" 3889 style="position: absolute;width: 1px;height: 1px;padding: 0" 3890 > 3891 3892 <div class="input-field"> 3893 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 3894 <p class="limit">0/35</p> 3895 </div> 3896 3897 </div> 3898 3899 </div> 3900 </div> 3901 </div> 3902 3903 </div> 3904 </div> 3905 3906 </div> 3907 <div class="purchase-button-wrapper"> 3908 <div class="purchase-button btn-card row m-0"> 3909 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3910 3911 </div> 3912 <div class="btn-next-card col-12 col-lg-10 text-right"> 3913 3914 3915 <button 3916 3917 3918 3919 class="btn next-purchase-button text-uppercase" 3920 3921 disabled 3922 3923 > 3924 <span>save your flower board</span> 3925 </button> 3926 </div> 3927 </div> 3928 3929 </div> 3930 </div> 3931 </div> 3932 3933 3934 3935 <div 3936 class="sectionPurchase sectionPurchaseBoard hide" 3937 data-section="address" 3938 > 3939 <div class="wrapperPurchase"> 3940 <div class="purchase-content"> 3941 <div class="headerPurchase"> 3942 <h3> 3943 Complete Your Order 3944 </h3> 3945 <a class="close-purchase-popup"> 3946 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3947 <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"/> 3948 </svg> 3949 </a> 3950 3951 </div> 3952 <div class="contentPurchase"> 3953 <div class="row"> 3954 <div class="col-12 position-relative"> 3955 <div class="addressPurchase"> 3956 3957 <h4 class="text-uppercase">recipient delivery address</h4> 3958 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 3959 3960 <div class="formAddressPurchase row"> 3961 <div class="col-12"> 3962 <form> 3963 <div class="form-group row mb-2 mb-lg-4"> 3964 <div class="col-6 position-relative"> 3965 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 3966 <label for="first_name" class="input__label">First Name<span>*</span></label> 3967 </div> 3968 <div class="col-6 position-relative"> 3969 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 3970 <label for="last_name" class="input__label">Last Name<span>*</span></label> 3971 </div> 3972 <input type="hidden" data-properties="nama-penerima"> 3973 </div> 3974 3975 <h4 class="text-uppercase">how you want to input your address</h4> 3976 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 3977 <div class="col-6 position-relative"> 3978 <label class="address-manualy"> 3979 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 3980 <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
39801216 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
39805 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"/> 3981 </svg> 3982 <span>Input Address Manually</span> 3983 </label> 3984 </div> 3985 <div class="col-6 position-relative"> 3986 <label for="address-upload" class="address-upload"> 3987 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 3988 <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"/> 3989 </svg> 3990 <span>Upload Address Picture</span> 3991 </label> 3992 <input 3993 id="address-upload" 3994 type="file" 3995 accept="image/png, image/jpeg" 3996 style="position: absolute; padding: 0;width: 1px;height: 1px" 3997 > 3998 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 3999 </div> 4000 </div> 4001 <img width="150" height="" src="" class="photo-address" style="display: none;"> 4002 4003 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4004 <div class="col-12"> 4005 <textarea 4006 id="delivery_address" 4007 data-properties="alamat-penerima" 4008 class="form-control input__field col-12" 4009 placeholder="" 4010 required 4011 ></textarea> 4012 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4013 4014 </div> 4015 </div> 4016 <div class="form-group row mb-2 mb-lg-4 form-address"> 4017 <div class="col-6 position-relative"> 4018 <input 4019 id="recipient_number" 4020 type="text" 4021 data-properties="telepon-penerima" 4022 class="form-control input__field" 4023 placeholder="" 4024 required 4025 > 4026 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4027 </div> 4028 <div class="col-6 position-relative"> 4029 <input 4030 id="company" 4031 type="text" 4032 data-properties="company" 4033 class="form-control input__field" 4034 placeholder="" 4035 > 4036 <label for="company" class="input__label">Company (Optional)</label> 4037 </div> 4038 </div> 4039 <div class="form-group row mb-2 mb-lg-4 form-address"> 4040 <div class="col-6 position-relative"> 4041 <input 4042 id="province" 4043 type="text" 4044 class="form-control input__field" 4045 placeholder="" 4046 value="Jakarta" 4047 data-properties="province" 4048 > 4049 <label for="province" class="input__label">Province</label> 4050 </div> 4051 <div class="col-6 position-relative"> 4052 <select id="zip" class="form-control select-search" required></select> 4053 </div> 4054 </div> 4055 </form> 4056 </div> 4057 </div> 4058 </div> 4059 <div class="addonsPurchase"> 4060 <h4 class="text-uppercase">add-ons</h4> 4061 <div class="addons"> 4062 <p>No Add-Ons</p> 4063 <!-- 4064 <button class="add-addon"> 4065 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4066 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4067 </svg>
4068 <span>Enhance my moment with Add-ons</span> 4069 </button> 4070 --> 4071 </div> 4072 </div> 4073 </div> 4074 4075 </div> 4076 </div> 4077 4078
4078<script> 4079 document.addEventListener('DOMContentLoaded', function() { 4080 // Detect iOS 4081 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4082 4083 if (isIOS) { 4084 document.querySelector('.formAddressPurchase').classList.add('ios'); 4085 4086 // iOS specific fixes 4087 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4088 4089 inputs.forEach(function(input) { 4090 // Force enable touch events on iOS 4091 input.style.webkitUserSelect = 'text'; 4092 input.style.webkitTouchCallout = 'default'; 4093 input.style.pointerEvents = 'auto'; 4094 input.style.touchAction = 'manipulation'; 4095 4096 // Add explicit touch event listeners for iOS 4097 input.addEventListener('touchstart', function(e) { 4098 e.stopPropagation(); 4099 this.focus(); 4100 }, { passive: false }); 4101 4102 input.addEventListener('touchend', function(e) { 4103 e.preventDefault(); 4104 e.stopPropagation(); 4105 this.focus(); 4106 this.click(); 4107 }, { passive: false }); 4108 4109 // Force focus on tap for iOS 4110 input.addEventListener('click', function(e) { 4111 e.stopPropagation(); 4112 if (document.activeElement !== this) { 4113 this.focus(); 4114 } 4115 }); 4116 }); 4117 4118 // Fix for label overlapping on iOS 4119 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4120 labels.forEach(function(label) { 4121 label.style.pointerEvents = 'none'; 4122 label.addEventListener('touchstart', function(e) { 4123 e.preventDefault(); 4124 var input = this.parentNode.querySelector('.input__field'); 4125 if (input) { 4126 input.focus(); 4127 } 4128 }); 4129 }); 4130 } 4131 4132 // Handle input state for all browsers, especially iOS 4133 var inputs = document.querySelectorAll('.input__field'); 4134 4135 inputs.forEach(function(input) { 4136 // Handle input events 4137 input.addEventListener('input', function() { 4138 if (this.value.trim() !== '') { 4139 this.classList.add('has-value'); 4140 } else { 4141 this.classList.remove('has-value'); 4142 } 4143 }); 4144 4145 // Handle focus 4146 input.addEventListener('focus', function() { 4147 this.classList.add('focused'); 4148 // iOS specific: ensure input is visible 4149 if (isIOS) { 4150 setTimeout(function() { 4151 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4152 }, 300); 4153 } 4154 }); 4155 4156 // Handle blur 4157 input.addEventListener('blur', function() { 4158 this.classList.remove('focused'); 4159 if (this.value.trim() !== '') { 4160 this.classList.add('has-value'); 4161 } else { 4162 this.classList.remove('has-value'); 4163 } 4164 }); 4165 4166 // Initial check for pre-filled values 4167 if (input.value.trim() !== '') { 4168 input.classList.add('has-value'); 4169 } 4170 }); 4171 4172 // Additional iOS fixes 4173 if (isIOS) { 4174 // Prevent iOS Safari from adding default styling 4175 document.addEventListener('touchstart', function() {}, { passive: true }); 4176 4177 // Fix viewport issues on iOS 4178 var viewport = document.querySelector('meta[name=viewport]'); 4179 if (viewport) { 4180 viewport.setAttribute('content', 4181 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4182 ); 4183 } 4184 } 4185 }); 4186 </script>
4186 4187 </div> 4188 <div class="purchase-button-wrapper"> 4189 <div class="purchase-button btn-address row m-0"> 4190 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4191 4192 <button class="back-purchase-button back-address text-uppercase"> 4193 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 4194 <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"/> 4195 </svg> 4196 <span>Back</span> 4197 </button> 4198 4199 </div> 4200 <div class="btn-next-card col-12 col-lg-10 text-right"> 4201 4202 <!-- 4203 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4204 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 4205 <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"/> 4206 </svg> 4207 <span>Back</span> 4208 </button> 4209 --> 4210 4211 4212 <button 4213 4214 id="addtocart-card" 4215 4216 class="btn next-address text-uppercase" 4217 4218 > 4219 <span>add to cart</span> 4220 </button> 4221 </div> 4222 </div> 4223 4224 </div> 4225 </div> 4226 </div> 4227 4228 </div> 4229 </div> 4230 <div id="backgroundPopup"></div> 4231 4232 4233 4234 <input 4235 data-index="1" 4236 type="hidden" 4237 id="properties-delivery-date" 4238 name="properties[Delivery Date]" 4239 value="-" 4240 > 4241 <input 4242 data-index="2" 4243 type="hidden" 4244 id="properties-delivery-time" 4245 name="properties[Delivery Time]" 4246 value="-" 4247 > 4248 <input 4249 data-index="4" 4250 type="hidden" 4251 id="properties-nama-penerima" 4252 name="properties[Nama Penerima]" 4253 value="-" 4254 > 4255 <input 4256 data-index="5" 4257 type="hidden" 4258 id="properties-alamat-penerima" 4259 name="properties[Alamat Penerima]" 4260 value="-" 4261 > 4262 <input 4263 data-index="6" 4264 type="hidden" 4265 id="properties-kodepos" 4266 name="properties[Kodepos]" 4267 value="-" 4268 > 4269 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4270 4271 4272 <input 4273 data-index="8" 4274 type="hidden" 4275 id="properties-kartu-nama-penerima" 4276 name="properties[Kartu Nama Penerima]" 4277 value="-" 4278 > 4279 4280 <textarea 4281 data-index="9" 4282 type="hidden" 4283 id="properties-kartu-pesan" 4284 name="properties[Kartu Pesan]" 4285 style="display: none" 4286 >-</textarea> 4287 4288 4289 4290 <input 4291 data-index="10" 4292 type="hidden" 4293 id="properties-kartu-nama-pengirim" 4294 name="properties[Kartu Nama Pengirim]" 4295 value="-" 4296 > 4297 4298 <!-- Additional Shipping --> 4299 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4300 <input 4301 type="hidden" 4302 id="properties-kota-pengiriman-country" 4303 name="properties[Country]" 4304 value="Indonesia" 4305 > 4306 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4307 4308 <input type="hidden" id="properties-time" name="properties[Time]"> 4309 <input type="hidden" id="properties-card" name="properties[Card]"> 4310 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4311 4312 <input 4313 type="hidden" 4314 id="properties-company" 4315 name="properties[Company]" 4316 value="" 4317 > 4318
4318<script> 4319 4320 $(document).ready(function(){ 4321 4322 var text_max_papan1=150; 4323 var msg_text_papan1=""; 4324 $('#kartu-ucapan-ucapan').keyup(function(){ 4325 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4326 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4327 }); 4328 4329 var notes_papan1 = [ 4330 4331 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4332 4333 ]; 4334 $('#show_note_papan1').click(function(event){ 4335 event.preventDefault(); 4336 var idx_papan1=parseInt($('#note_id_papan1').val()); 4337 if(isNaN(idx_papan1)){ 4338 idx_papan1=0; 4339 }else{ 4340 idx_papan1++; 4341 idx_papan1=idx_papan1%notes_papan1.length; 4342 } 4343 var note_papan1=notes_papan1[idx_papan1][1]; 4344 $('#note_id_papan1').val(idx_papan1); 4345 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4346 $('#msgDelivery').val(note_papan1); 4347 4348 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4349 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4350 if(isNaN(idx_2_papan1)){ 4351 idx_2_papan1=0; 4352 }else{ 4353 idx_2_papan1++; 4354 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4355 } 4356 $('#note_btn_id_papan1').val(idx_2_papan1); 4357 //var note_btn=note_btn_text[idx_2][1]; 4358 //$('#note_btn').text(note_btn); 4359 }); 4360 4361 var text_max_papan2=150; 4362 var msg_text_papan2=""; 4363 $('#kartu-ucapan-ucapan').keyup(function(){ 4364 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4365 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4366 }); 4367 4368 var notes_papan2 = [ 4369 4370 [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)."] 4371 4372 ]; 4373 $('#show_note_papan2').click(function(event){ 4374 event.preventDefault(); 4375 var idx_papan2=parseInt($('#note_id_papan2').val()); 4376 if(isNaN(idx_papan2)){ 4377 idx_papan2=0; 4378 }else{ 4379 idx_papan2++; 4380 idx_papan2=idx_papan2%notes_papan2.length; 4381 } 4382 var note_papan2=notes_papan2[idx_papan2][1]; 4383 $('#note_id_papan2').val(idx_papan2); 4384 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4385 $('#msgDelivery').val(note_papan2); 4386 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4387 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4388 if(isNaN(idx_2_papan2)){ 4389 idx_2_papan2=0; 4390 }else{ 4391 idx_2_papan2++; 4392 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4393 } 4394 $('#note_btn_id_papan2').val(idx_2_papan2); 4395 //var note_btn=note_btn_text[idx_2][1]; 4396 //$('#note_btn').text(note_btn); 4397 }); 4398 4399 var text_max_papan3=150; 4400 var msg_text_papan3=""; 4401 $('#kartu-ucapan-ucapan').keyup(function(){ 4402 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4403 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4404 }); 4405 4406 var notes_papan3 = [ 4407 4408 [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)."] 4409 4410 ]; 4411 $('#show_note_papan3').click(function(event){ 4412 event.preventDefault(); 4413 var idx_papan3=parseInt($('#note_id_papan3').val()); 4414 if(isNaN(idx_papan3)){ 4415 idx_papan3=0; 4416 }else{ 4417 idx_papan3++; 4418 idx_papan3=idx_papan3%notes_papan3.length; 4419 } 4420 var note_papan3=notes_papan3[idx_papan3][1]; 4421 $('#note_id_papan3').val(idx_papan3);
4422 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4423 $('#msgDelivery').val(note_papan3); 4424 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4425 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4426 if(isNaN(idx_2_papan3)){ 4427 idx_2_papan3=0; 4428 }else{ 4429 idx_2_papan3++; 4430 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4431 } 4432 $('#note_btn_id_papan3').val(idx_2_papan3); 4433 //var note_btn=note_btn_text[idx_2][1]; 4434 //$('#note_btn').text(note_btn); 4435 }); 4436 4437 var text_max_papan4=150; 4438 var msg_text_papan4=""; 4439 $('#kartu-ucapan-ucapan').keyup(function(){ 4440 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4441 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4442 }); 4443 4444 $('#show_note_papan4').click(function(event){ 4445 var notes_papan4 = [ 4446 [0,"Hereâs to youâsteadier, stronger and better every day."], 4447 [1,"Warmest wishes for a speedy recovery!"], 4448 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4449 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4450 ]; 4451 event.preventDefault(); 4452 var idx_papan4=parseInt($('#note_id_papan4').val()); 4453 console.log(idx_papan4, 'idx_papan4') 4454 if(isNaN(idx_papan4)){ 4455 idx_papan4=0; 4456 }else{ 4457 idx_papan4++; 4458 idx_papan4=idx_papan4%notes_papan4.length; 4459 } 4460 var note_papan4=notes_papan4[idx_papan4][1]; 4461 $('#note_id_papan4').val(idx_papan4); 4462 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4463 console.log(note_papan4, 'note_papan4') 4464 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4465 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4466 if(isNaN(idx_2_papan4)){ 4467 idx_2_papan4=0; 4468 }else{ 4469 idx_2_papan4++; 4470 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4471 } 4472 $('#note_btn_id_papan4').val(idx_2_papan4); 4473 }); 4474 4475 /* 4476 $("#jenisPapan").change(function(){ 4477 $( "select option:selected").each(function(){ 4478 if($(this).attr("value")=="Happy Wedding"){ 4479 $("#suggest-messages a").hide(); 4480 $("#show_note_papan1").show(); 4481 $("#kartu-ucapan-papan").val(""); 4482 } 4483 if($(this).attr("value")=="Congratulations"){ 4484 $("#suggest-messages a").hide(); 4485 $("#show_note_papan2").show(); 4486 $("#kartu-ucapan-papan").val(""); 4487 } 4488 if($(this).attr("value")=="Duka Cita"){ 4489 $("#suggest-messages a").hide(); 4490 $("#show_note_papan3").show(); 4491 $("#kartu-ucapan-papan").val(""); 4492 } 4493 }); 4494 }).change(); 4495 */ 4496 4497 4498 4499 4500 4501 $(".variant-metafield").each(function(){ 4502 const t = $(this) 4503 const id = t.attr("id") 4504 const target = $(`[data-select=${id}]`) 4505 t.on('select2:selecting', function(e) { 4506 const data = e.params.args.data 4507 target.val(data.text) 4508 }); 4509 }) 4510 }) 4511 </script>
4511 4512 4513 <div id="popupCart"> 4514 <div class="container"> 4515 <div class="wrapperPopupCart"> 4516 <div class="headerPopupCart"> 4517 <div class="d-flex pl-5 pr-5 p-4"> 4518 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4519 <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"/> 4520 </svg> 4521 <span>item added to your cart</span> 4522 </div> 4523 <a class="close-purchase-popup"> 4524 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4525 <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"/> 4526 </svg> 4527 </a> 4528 4529 </div> 4530 <div class="contentPopupCart"> 4531 <div class="pl-5 pr-5 p-4"> 4532 <div class="itemContent row m-0 justify-content-between"> 4533 <div class="col-2 align-self-center"> 4534 4535 <img 4536 class="d-block" 4537 width="80" 4538 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4539 > 4540 </div> 4541 <div class="col-10 align-self-center"> 4542 <div class="row pl-3"> 4543 <div class="col-12 col-lg-7"> 4544 <span class="titleCartPopup text-uppercase">RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat</span> 4545 </div> 4546 <div class="d-flex justify-content-end col-12 col-lg-5"> 4547 <span class="deleteCartPopup hide">Delete</span> 4548 <span class="lineCartPrice align-self-center">Rp 10.000</span> 4549 </div> 4550 </div> 4551 </div> 4552 </div> 4553 <div class="itemProperties"> 4554 4555 <div class="propDeliver"> 4556 <h4>delivery option detail</h4> 4557 <p> 4558 <span>delivery city</span> 4559 <span class="propDeliveryCity">jakarta</span> 4560 </p> 4561 <p> 4562 <span>delivery date</span> 4563 <span class="propDeliveryDate">24/03/2025</span> 4564 </p> 4565 <p> 4566 <span>delivery time</span> 4567 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4568 </p> 4569 </div> 4570 <div class="propAddress"> 4571 <h4>delivery option detail</h4> 4572 <p> 4573 <span>RECIPIENT NAME</span> 4574 <span class="propDeliveryName">jane doe</span> 4575 </p> 4576 <p> 4577 <span>delivery address</span> 4578 <span class="propDeliveryAddress" 4579 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4580 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4581 > 4582 </p> 4583 <p> 4584 <span>recipient phone number</span> 4585 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4586 </p> 4587 <p> 4588 <span>PROVINCE</span> 4589 <span class="propDeliveryProv">Jakarta</span> 4590 </p> 4591 <p> 4592 <span>postal code</span> 4593 <span class="propDeliveryZip">12710</span> 4594 </p> 4595 4596 4597 </div> 4598 4599 </div> 4600 <div class="itemAddonCart"> 4601 <div class="toggleAddonCart d-flex justify-content-between"> 4602 <h4>add-ons (0)</h4> 4603 <svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4604 <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"/> 4605 </svg> 4606 </div> 4607 <div class="wrapperItemAddonCart"></div> 4608 </div> 4609 4610 </div> 4611 </div>
4612 <div class="footerPopupCart"> 4613 <div class="row m-0 pl-5 pr-5 p-4"> 4614 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4615 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4616 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4617 </div> 4618 </div> 4619 </div> 4620 </div> 4621 </div> 4622 4623 4624
4624<script> 4625 const shareButton = document.getElementById('shareButton'); 4626 4627 shareButton.addEventListener('click', () => { 4628 if (navigator.share) { 4629 navigator.share({ 4630 title: "RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat", 4631 url: "/products/blossom-shine", 4632 text: 'Check out this page!' 4633 }) 4634 .then(() => console.log('Successful share')) 4635 .catch((error) => console.log('Error sharing', error)); 4636 } else { 4637 alert('Web Share API is not supported in this browser.'); 4638 } 4639 }); 4640 4641 // Inventory validation function 4642 function checkInventoryStatus() { 4643 const productSelect = document.getElementById('productSelect'); 4644 const purchaseButton = document.querySelector('#personalizeBtn button'); 4645 4646 if (!productSelect || !purchaseButton) return; 4647 4648 const selectedVariantId = productSelect.value; 4649 4650 // Get variant data from Shopify 4651 fetch(`/products/blossom-shine.js`) 4652 .then(response => response.json()) 4653 .then(product => { 4654 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4655 4656 if (selectedVariant) { 4657 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4658 selectedVariant.inventory_management === 'shopify' && 4659 selectedVariant.inventory_policy !== 'continue'; 4660 4661 if (isOutOfStock) { 4662 purchaseButton.disabled = true; 4663 purchaseButton.textContent = 'Out of Stock'; 4664 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4665 purchaseButton.style.backgroundColor = '#cccccc'; 4666 purchaseButton.style.cursor = 'not-allowed'; 4667 } else { 4668 // Check if button was disabled due to other conditions 4669 4670 4671 4672 4673 4674 4675 4676 4677 const isOtherDisabled = false || true || false; 4678 4679 if (!isOtherDisabled) { 4680 purchaseButton.disabled = false; 4681 purchaseButton.textContent = 'customize your flower board'; 4682 purchaseButton.removeAttribute('data-out-of-stock'); 4683 purchaseButton.style.backgroundColor = ''; 4684 purchaseButton.style.cursor = ''; 4685 } 4686 } 4687 } 4688 }) 4689 .catch(error => { 4690 console.error('Error checking inventory:', error); 4691 }); 4692 } 4693 4694 // Check inventory on page load 4695 document.addEventListener('DOMContentLoaded', function() { 4696 checkInventoryStatus();
4697 4698 // Listen for variant changes 4699 const productSelect = document.getElementById('productSelect'); 4700 if (productSelect) { 4701 productSelect.addEventListener('change', checkInventoryStatus); 4702 } 4703 }); 4704 4705 // Prevent form submission if out of stock 4706 document.addEventListener('click', function(e) { 4707 if (e.target.matches('button[data-out-of-stock="true"]')) { 4708 e.preventDefault(); 4709 e.stopPropagation(); 4710 alert('This product is currently out of stock and cannot be purchased.'); 4711 return false; 4712 } 4713 }); 4714 </script>
4714 4715 4716 4717 4718 </div> 4719 4720 </div> 4721 </div> 4722 </div> 4723 </div> 4724 <div id="product-bottom"> 4725 4726 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4727 <div class="container"> 4728 4729 4730 4731 4732 4733 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4734 <div class="short-desc"> 4735 <ul> 4736 <li><strong>Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.</strong></li> 4737 </div> 4738 <label class="more-mobile">Show More â</label> 4739 </div> 4740 4741 <style> 4742 .animated-title { 4743 text-align: center; 4744 font-weight: bold; 4745 color: #079c02; 4746 font-size: 28px; 4747 position: relative; 4748 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4749 } 4750 4751 /* Efek glow / bercahaya hijau */ 4752 @keyframes glow { 4753 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4754 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4755 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4756 } 4757 4758 /* Efek gerakan naik turun */ 4759 @keyframes moveUpDown { 4760 0% { transform: translateY(0px); } 4761 50% { transform: translateY(-5px); } 4762 100% { transform: translateY(0px); } 4763 } 4764 </style> 4765 4766
4766<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4766 4767
4767<script> 4768 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}); 4769 4770 const productType = $("[data-product-type]").data("product-type") 4771 const productDate = Date.parse(new Date()) 4772 4773 const shop = 'outerbloom1.myshopify.com' 4774 const host = 'https://app.asmaraku.com' 4775 // const host = 'http://localhost:5001' 4776 4777 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4778 4779 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4780 4781 $("#properties-time").val(new Date().getTime()) 4782 4783 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4784 4785 if(!isIOS) { 4786 $("#full-date").attr("type", "button") 4787 } 4788 4789 let dateTime = new Date(); 4790 let today = dateTime.getDate(); 4791 let day = dateTime.getDay(); 4792 let hour = dateTime.getHours(); 4793 let min = dateTime.getMinutes(); 4794 let timeOfDay = hour + (min / 100); 4795 4796 async function getFetch(url) { 4797 const response = await fetch(url); 4798 let status = false 4799 let result 4800 if(response.ok) { 4801 status = true 4802 result = await response.json(); 4803 } 4804 return { 4805 status, 4806 data: result 4807 } 4808 } 4809 4810 4811 4812 function setCookie(cname, cvalue, exMins) { 4813 var d = new Date(); 4814 d.setTime(d.getTime() + (exMins*60*1000)); 4815 var expires = "expires="+d.toUTCString(); 4816 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4817 } 4818 4819 function getCookie(cname) { 4820 let name = cname + "="; 4821 let decodedCookie = decodeURIComponent(document.cookie); 4822 let ca = decodedCookie.split(';'); 4823 for(let i = 0; i <ca.length; i++) { 4824 let c = ca[i]; 4825 while (c.charAt(0) == ' ') { 4826 c = c.substring(1); 4827 } 4828 if (c.indexOf(name) == 0) { 4829 return c.substring(name.length, c.length); 4830 } 4831 } 4832 return ""; 4833 } 4834 4835 async function renderDate() { 4836 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 4837 console.log(dataDate, 'renderDate') 4838 const data = dataDate?.data 4839 const date = data.date 4840 const time = data.time 4841 4842 console.log(date, 'DATE') 4843 4844 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4845 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4846 const htmlDate = []
4847 for(let i = 0;i < date.length;i++) { 4848 const full = date[i].date 4849 const d = new Date(date[i].date); 4850 const day = weekday[d.getDay()]; 4851 const dt = d.getDate(); 4852 const mt = monthly[d.getMonth()]; 4853 const yr = d.getFullYear(); 4854 const isDate = Boolean(date[i].isEnabled) 4855 const cutoffpagi = date[i].cutoff?.pagi 4856 const cutoffsiang = date[i].cutoff?.siang 4857 const cutoffMalam = date[i].cutoff?.Malam 4858 var html = ` 4859 <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'}> 4860 ${dt === today ? 4861 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 4862 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 4863 } 4864 </button> 4865 ` 4866 htmlDate.push(html) 4867 } 4868 const htmlTime = []
4869 for(var i = 0;i < time.length;i++) { 4870 const timeText = time[i].text 4871 const timeTime = time[i].time 4872 const timeEnabled = time[i].isEnabled 4873 var html = ` 4874 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 4875 ` 4876 htmlTime.push(html) 4877 } 4878 const deliveryDate = document.getElementById("deliveryDate"); 4879 if(deliveryDate) { 4880 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 4881 $("#deliveryTime").html(htmlTime) 4882 if(productType !== '') { 4883 console.log("clarity event " + productType + ' calendaring') 4884 window.clarity("event", `${productType} calendaringSchedule`) 4885 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 4886 } 4887 } 4888 } 4889 4890 async function getProvince(city) { 4891 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 4892 console.log(province, 'province') 4893 $("#province").val(province) 4894 } 4895 4896 async function renderAddress() { 4897 let current 4898 if(getCookie("location_delivery")){ 4899 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 4900 } 4901 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 4902 console.log(address) 4903 const data = address?.data?.city 4904 const htmlAddress = [] 4905 const grouping = []
4906 for(let i = 0;i < data?.length;i++) { 4907 if(data[i]){ 4908 if(data[i]?.group) { 4909 grouping.push(data[i].group) 4910 } 4911 const price = rupiah.format(data[i]?.rate) 4912 let promo = '(Promo Free Delivery)' 4913 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 4914 promo = '(at SCBD, Ashta)' 4915 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 4916 promo = '(at Kuningan, ITC Kuningan)' 4917 } else if(data[i]?.name === 'BSD - PickUp'){ 4918 promo = '(at Goldfinch Gading Serpong)' 4919 } else if(data[i]?.name === 'Kota Lainnya'){ 4920 promo = '' 4921 } 4922 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>`) 4923 } 4924 } 4925 4926 const deliveryCity = document.getElementById("cities"); 4927 if(deliveryCity) { 4928 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 4929 if(!isIOS) { 4930 $(deliveryCity).select2(); 4931 } 4932 } 4933 } 4934 4935 async function renderZip(v, v2, v3) { 4936 const deliveryZip = document.getElementById("zip"); 4937 if(v === '') { 4938 return 4939 } 4940 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 4941 let zip = dataZip?.data?.zip 4942 console.log(zip) 4943 let htmlZip = []
4944 for(let i = 0; i < zip?.length;i++) { 4945 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 4946 } 4947 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 4948 } 4949 4950 renderDate() 4951 renderAddress() 4952 4953 let rupiah = new Intl.NumberFormat('id-ID', { 4954 style: 'currency', 4955 currency: 'IDR', 4956 maximumFractionDigits: 0, 4957 minimumFractionDigits: 0 4958 }); 4959 4960 async function insertCard(data) { 4961 const response = await fetch(`${host}/api/card/new`, { 4962 method: "POST", 4963 headers: { 4964 'Content-Type': 'application/json', 4965 }, 4966 body: data 4967 }) 4968 const result = await response.json() 4969 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 4970 $("#greetingCard").attr("data-index", rowIndex) 4971 return result 4972 } 4973 4974 async function updateCard(data){ 4975 const rowIndex = $("#greetingCard").data("index") 4976 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 4977 method: "PUT", 4978 headers: { 4979 'Content-Type': 'application/json', 4980 }, 4981 body: data 4982 }) 4983 return response 4984 } 4985 4986 function bytesToSize(bytes) { 4987 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 4988 for (var i = 0; i < sizes.length; i++) { 4989 if (bytes <= 1024) { 4990 return bytes + ' ' + sizes[i]; 4991 } else { 4992 bytes = parseFloat(bytes / 1024).toFixed(2) 4993 } 4994 } 4995 return bytes + ' P'; 4996 } 4997 4998 async function uploadMedia(uri, type) { 4999 nameq = $("#properties-nama-penerima").val() 5000 dear = $("#properties-kartu-nama-penerima").val() 5001 card = $("[data-properties=ucapan]").val() 5002 sender = $("#properties-kartu-nama-pengirim").val() 5003 photo = $("#properties-photo").val() 5004 video = $("#properties-video").val() 5005 status = "Product" 5006 5007 const name = qrID 5008 let formData = new FormData(); 5009 formData.append("file", uri); 5010 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5011 method: "POST", 5012 body: formData 5013 }) 5014 const result = await response.json(); 5015 if(result) { 5016 const url = result.url 5017 if(type === 'image/jpeg') { 5018 $("#properties-photo").val(url) 5019 $(".preview-image").show() 5020 $(".remove-image").show() 5021 photo = url 5022 } else { 5023 $("#properties-video").val(url) 5024 $("#label-input-video span").text("Change File") 5025 $(".case-qrcode-preview p").text("Scan here for a secret message") 5026 $(".remove-media").show() 5027 $("#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>`) 5028 $("[for=input-video]").hide() 5029 video = url 5030 } 5031 $(".case-video-preview").show() 5032 $(".steps-card-preview").removeClass("loading") 5033 // updateCard(nameq, dear, card, sender, photo, video, status) 5034 5035 $(".nextBtn").attr("disabled", false) 5036 } 5037 } 5038 5039 function randomString(length, chars) { 5040 var result = ''; 5041 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5042 return result; 5043 } 5044 5045 function getNoteCity(fulldate) { 5046 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5047 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5048 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5049 const d = new Date(h_1); 5050 const day = weekday[d.getDay()]; 5051 const dt = d.getDate(); 5052 const mt = monthly[d.getMonth()]; 5053 const yr = d.getFullYear(); 5054 const p = $("#cities").parent(".form-group") 5055 } 5056 5057 function disabledSameDay() { 5058 let btnFirst = $("#deliveryDate").find("button:first-child") 5059 let getDay = new Date().getDay(); 5060 5061 5062 5063 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5064 if(hour >= 14.00){ 5065 btnFirst.attr("disabled", true) 5066 } 5067 } else if(getDay == 6){ 5068 if(hour >= 16.00){ 5069 btnFirst.attr("disabled", true) 5070 } 5071 } else if(getDay == 0){ 5072 if(hour >= 16.00){ 5073 btnFirst.attr("disabled", true) 5074 } 5075 } 5076 5077 5078 } 5079 5080 function disabledays(date) { 5081 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5082 //if u have to disable a list of day 5083 let removeDays 5084 5085 5086 5087 removeDays = ["2025-2-13", "2025-2-14"]; 5088 5089 if ($.inArray(ymd, removeDays) >= 0) { 5090 return [false]; 5091 } else { 5092 let day = date.getDay(); 5093 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5094 return [(day == 0), '']; 5095 } 5096 5097 if(day == 0){ 5098 return [(day == 0), '']; 5099 } 5100 5101 5102 return [(day != 0), '']; 5103 } 5104 } 5105 5106 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5107 /* Written by Deden Fathurahman ([email protected]). */ 5108 ( function( factory ) { 5109 if ( typeof define === "function" && define.amd ) { 5110 5111 // AMD. Register as an anonymous module. 5112 define( [ "../widgets/datepicker" ], factory ); 5113 } else { 5114 5115 // Browser globals 5116 factory( jQuery.datepicker ); 5117 } 5118 }( function( datepicker ) { 5119 5120 datepicker.regional.id = { 5121 closeText: "Tutup", 5122 prevText: "<mundur", 5123 nextText: "maju>", 5124 currentText: "Today", 5125 monthNames: [ "January","February","March","April","May","Juny", 5126 "July","August","September","October","November","December" ], 5127 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5128 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5129 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5130 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5131 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5132 weekHeader: "Mg", 5133 dateFormat: "D, dd M", 5134 firstDay: 0, 5135 isRTL: false, 5136 showMonthAfterYear: false, 5137 yearSuffix: "" }; 5138 datepicker.setDefaults( datepicker.regional.id ); 5139 5140 return datepicker.regional.id; 5141 5142 } ) ); 5143 5144 function loadPopup() { 5145 $("#backgroundPopup").fadeIn("slow"); 5146 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5147 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5148 if(firstSection.hasClass("purchasePersonalize")) { 5149 if(productType !== '') { 5150 console.log("clarity event " + productType + ' personalize') 5151 window.clarity("event", `${productType} cardPersonalization`) 5152 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5153 } 5154 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5155 console.log("clarity event " + productType + ' personalizeBoard') 5156 window.clarity("event", `${productType} personalizeBoard`) 5157 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5158 } 5159 firstSection.removeClass("hide") 5160 5161 // Auto-trigger addon loading when addon section becomes visible 5162 setTimeout(function() { 5163 const addonSection = $(".purchaseAddon") 5164 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5165 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5166 $("[data-addon=upsell-all]").trigger("click") 5167 } 5168 } 5169 }, 200) 5170 } 5171 5172 function disablePopup() { 5173 $("#backgroundPopup").fadeOut("slow"); 5174 $(".purchasePopup").fadeOut("slow"); 5175 $("#popupCart").fadeOut("slow"); 5176 } 5177
5178 function scrollTo(parent, div, dur) { 5179 $(parent).animate({ 5180 scrollTop: $(div).offset().top 5181 }, dur); 5182 } 5183 5184 function loadPopupPersonalize() { 5185 const div = "#purchaseProduct" 5186 const p = "html, body, .product-meta" 5187 $("p.error").remove() 5188 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5189 const isCity = $("#cities[required]") 5190 const isDate = $("#propDeliveryDate[required]") 5191 const isTime = $("#propDeliveryTime[required]") 5192 // loadPopup() 5193 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5194 loadPopup() 5195 } 5196 if(isCity.val() == '') { 5197 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5198 scrollTo(p, div, 500) 5199 } 5200 if(isDate.val() == '') { 5201 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5202 scrollTo(p, div, 500) 5203 } 5204 if(isTime.val() == '') { 5205 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5206 scrollTo(p, div, 500) 5207 } 5208 } 5209 5210 function quantityCounter() { 5211 $(document).on("click", ".item-card.selected .q_up", function () { 5212 var C = $(this).attr("data-id"), 5213 S = 5214 parseInt( 5215 $(this) 5216 .siblings(".quantity-cart-" + C) 5217 .val() 5218 ) + 1; 5219 $(this).attr("data-quantity", S), 5220 $(this) 5221 .siblings(".quantity-cart-" + C) 5222 .val(S); 5223 }), 5224 $(document).on("click", ".item-card.selected .q_down", function () { 5225 var C = $(this).attr("data-id"), 5226 S = parseInt( 5227 $(this) 5228 .siblings(".quantity-cart-" + C) 5229 .val() 5230 ); 5231 0 < S && $(this).attr("data-quantity", S - 1), 5232 0 < S && 5233 $(this) 5234 .siblings(".quantity-cart-" + C) 5235 .val(S - 1); 5236 }); 5237 } 5238 5239 quantityCounter() 5240 5241 const itemAddon = $(".item-card").length 5242 const nofree = $(".nofree").length 5243 5244 const upsell = '' 5245 5246 if(nofree === itemAddon) { 5247 // $("#itemAddons").html("<p>No Items available</p>") 5248 } 5249 5250 $("#itemAddons .item-card").each(function(e){ 5251 $("#itemAddons").attr("data-length", e) 5252 }) 5253 5254 $("[data-addon]").click(function(){ 5255 5256 5257 5258 const t = $(this) 5259 5260 const data = t.data("addon") 5261 5262 $("[data-addon]").removeClass("selected") 5263 t.addClass("selected") 5264 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5265 const products = data.products 5266 const html = [] 5267 for(let i = 0; i < products.length; i++) { 5268 const id = products[i].id 5269 const variantId = products[i].variants[0].id 5270 const img = products[i].images[0].src 5271 let img2 = img.split('.jpg')[0] 5272 const title = products[i].title 5273 const price = products[i].variants[0].price 5274 const tags = products[i].tags 5275 const qty = products[i].variants[0].available 5276 let type_upsell = '' 5277 if(tags.includes('upsell-item-standing')) { 5278 type_upsell = 'standing' 5279 } 5280 console.log(type_upsell) 5281 if(type_upsell !== '') { 5282 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}"> 5283 5284 <div class="card-image"> 5285 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5286 </div> 5287 <div class="card-meta"> 5288 <h5>${title}</h5> 5289 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5290 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5291 </div> 5292 <div class="card-qty"> 5293 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5294 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5294" value="0" data-price=${price} name="quantity"> 5295 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5296 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5297 </svg></a> 5298 </div> 5299 </div>` 5300 html.push(body) 5301 } 5302 } 5303 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5304 $("#itemAddons").attr("data-length", products.length) 5305 // $('#itemAddons')[0].swiper.update(); 5306 }); 5307 }) 5308 5309 async function isAddon(){ 5310 let ids = [] 5311 $("#itemAddons .item-card.selected").each(function(i, e){ 5312 const id = $(this).data("id") 5313 ids.push(id) 5314 }) 5315 console.log(ids) 5316 return ids 5317 } 5318 5319 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5320 const t = $(this).parent() 5321 const id = t.data("id") 5322 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5323 t.toggleClass("selected"); 5324 //$(this).next("input").toggleAttr('name', 'id[]'); 5325 if (t.hasClass('selected')) { 5326 t.find("input").val(1) 5327 t.find("input").attr('name', 'id[]'); 5328 } else { 5329 t.find("input").val(0) 5330 t.find("input").removeAttr('name'); 5331 } 5332 $("#properties-addons").val(addons) 5333 const is = await isAddon() 5334 if(is.length === 0) { 5335 btn.text("continue without add-ons") 5336 return 5337 } 5338 if(is.includes(8835692069079)) { 5339 btn.text("personalize acrylic frame") 5340 } else { 5341 btn.text("Continue") 5342 } 5343 5344 }) 5345 5346 async function myAddon(data) { 5347 const c = $(".addonsPurchase .addons") 5348 let items = [] 5349 5350 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5351 // if(spotifyAddons.length > 0) { 5352 // $(spotifyAddons).each(function(i, e){ 5353 // const spotifyLink = $(this).find(".spotifyLink").val() 5354 // const spotifySong = $(this).find(".spotifySong").val() 5355 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5356 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5357 // if(spotifyLink !== '') { 5358 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5359 // <div class="addon-itm-img"> 5360 // <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"/> 5361 // </div> 5362 // <div class="addon-itm-title"> 5363 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5364 // </div> 5365 // <div class="addon-itm-line-total"> 5366 // <span>Rp 99.000</span> 5367 // </div> 5368 // </div> 5369 // <div class="propsAddonSpotify row m-0"> 5370 // <div class="col-12 col-lg-2"></div> 5371 // <div class="col-12 col-lg-10"> 5372 // <p> 5373 // <span>spotify link</span> 5374 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5375 // </p> 5376 // <p> 5377 // <span>uploaded photo</span> 5378 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5379 // </p> 5380 // <p> 5381 // <span>song / playlist name</span> 5382 // <span class="spotifySongAddon">${spotifySong}</span> 5383 // </p> 5384 // <p> 5385 // <span>artist name</span> 5386 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5387 // </p> 5388 // </div> 5389 // </div>` 5390 // items.push(spotifyAddon) 5391 // } 5392 // }) 5393 // }
5394 for(let i = 0; i < data.length; i++) { 5395 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5396 const img = data[i].image 5397 const title = data[i].title 5398 const qty = data[i].qty 5399 const price = data[i].price 5400 const total = Number(qty) * Number(price) 5401 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5402 <div class="addon-itm-img"> 5403 <img src="${img}" alt="" width="70"/> 5404 </div> 5405 <div class="addon-itm-title"> 5406 <span>${title}</span> 5407 </div> 5408 <div class="addon-itm-line-price"> 5409 <span>${rupiah.format(price)}</span> 5410 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5411 </div> 5412 <div class="addon-itm-line-total"> 5413 <span>${rupiah.format(total)}</span> 5414 </div> 5415 </div>` 5416 items.push(addons) 5417 } 5418 } 5419 c.html(items) 5420 const parent = $(".purchaseAddon") 5421 const next = parent.next(".sectionPurchase") 5422 parent.addClass("hide") 5423 next.removeClass("hide") 5424 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5425 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5426 } 5427 5428 async function listAddon() { 5429 const data = $("#itemAddons").find(".selected") 5430 let ids = [] 5431 $(data).each(function(){ 5432 const id = $(this).data("variant") 5433 const image = $(this).find(".card-image img").attr("src") 5434 const title = $(this).find(".card-meta h5").text() 5435 const qty = $(this).find(".card-qty input").val() 5436 const price = $(this).find(".card-qty input").data("price") 5437 ids.push({ 5438 id: Number(id), 5439 image, 5440 title, 5441 qty, 5442 price 5443 }) 5444 }) 5445 myAddon(ids) 5446 } 5447 5448 async function customSpotify(idx, length, type){ 5449 let isCard = false 5450 5451 let p = $(".purchasePopupSpotify") 5452 const preLink = $(".spotifyLinkFirst").val() 5453 $("[data-index]").hide() 5454 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5455 p.find(".regulerAddons, .purchase-button").hide() 5456 p.find(".spotifyAddons").show() 5457 5458 const data = await trackUrl(preLink) 5459 5460 const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="13" height="11" viewB
5460ox="0 0 13 11" fill="none"> 5461 <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"/> 5462 </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://ik.imagekit.io/kktbpaqjn/logorajadana.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="13" height="11" viewB
5462ox="0 0 13 11" fill="none"> 5463 <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"/> 5464 </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>` 5465 // console.log(html) 5466 5467 $(".spotifyAddons").append(html) 5468 5469 $(`[data-index=${idx}]`).show() 5470 5471 if (preLink !== '') { 5472 $(".btn-action .btn").attr("disabled", false) 5473 } else { 5474 $(".btn-action .btn").attr("disabled", true) 5475 } 5476 5477 return html 5478 5479 } 5480 5481 $(".spotifyLinkFirst").keyup(async function(){ 5482 const v = $(this).val() 5483 if(v.includes('spotify:user:spotify')) { 5484 const correct = v.split('user:spotify:')[1] 5485 console.log(correct, 'BNER') 5486 $(this).val(correct) 5487 return 5488 } 5489 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5490 const data = await trackUrl(v) 5491 if(!data || !data.status) { 5492 $(this).parent().addClass("error") 5493 // $(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>`) 5494 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5495 return 5496 } 5497 $(this).parent().removeClass("error") 5498 // $(this).parent().remove("txt-error") 5499 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5500 } else { 5501 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5502 } 5503 }) 5504 5505 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5506 const parent = $(this).parents(".purchaseAddon") 5507 const next = parent.next(".sectionPurchase") 5508 if(next.hasClass("purchaseAddress")) { 5509 if(productType !== '') { 5510 console.log("clarity event " + productType + ' purchaseDelivery') 5511 window.clarity("event", `${productType} purchaseDelivery`) 5512 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5513 } 5514 } 5515 const data = $("#itemAddons").find(".selected") 5516 const length = $(".quantity-cart-46067682607319").val() 5517 const checked = data.length; 5518 if(checked > 0) { 5519 if(length > 0) { 5520 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5521 customSpotify(1, length, 'addon') 5522 } else { 5523 listAddon() 5524 } 5525 } else { 5526 parent.addClass("hide") 5527 next.removeClass("hide") 5528 } 5529 }) 5530 5531 $("#personalizeBtnSpotify .btn").click(async function(){ 5532 const isCity = $("#cities[required]") 5533 const isDate = $("#propDeliveryDate[required]") 5534 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5535 alert('Please choose Delivery City & Delivery Date') 5536 return 5537 } 5538 const data = await customSpotify(1, 1, 'product') 5539 if(data) { 5540 $("#backgroundPopup").fadeIn("slow"); 5541 $(".purchasePopupSpotify").fadeIn("slow"); 5542 5543 if(productType !== '') { 5544 console.log("clarity event " + productType + ' spotify') 5545 window.clarity("event", `${productType} spotify`) 5546 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5547 } 5548 } 5549 }) 5550 5551 function formatBytes(bytes, decimals = 2) { 5552 if (!+bytes) return '0 Bytes' 5553
5554 const k = 1024 5555 const dm = decimals < 0 ? 0 : decimals 5556 const sizes = ['B', 'KB', 'MB'] 5557 5558 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5559 5560 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5561 } 5562 5563 async function trackUrl(link){ 5564 try { 5565 let trackId = link.split('/').pop().split('?')[0]; 5566 let type = '' 5567 if(link.includes("spotify:")) { 5568 const uri = link.split('spotify:')[1] 5569 trackId = uri.split(':')[1] 5570 type = uri.split(':')[0] + 's' 5571 } else { 5572 if(link.match('track')){ 5573 type = 'tracks' 5574 } else if(link.match('playlist')) { 5575 type = 'playlists' 5576 } else if(link.match('artist')) { 5577 type = 'artists' 5578 } else if(link.match('album')) { 5579 type = 'albums' 5580 } 5581 } 5582 console.log(`${host}/api/spotify/${type}/${trackId}`) 5583 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5584 console.log(data, 'DATA') 5585 const song = data?.data?.name 5586 const artist = data?.data?.artist 5587 return { 5588 song, artist, type, trackId, status: data.status 5589 } 5590 } catch(err) { 5591 console.log(err) 5592 } 5593 } 5594 5595 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5596 const parent = $(this).parents("[data-index]") 5597 const preview = parent.find(".previewImage") 5598 const file = $(this)[0].files[0]; 5599 if (file) { 5600 const reader = new FileReader(); 5601 reader.onload = async function(e) { 5602 parent.find(".uploadResult label").hide() 5603 parent.find(".uploadedResult").remove() 5604 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5605 <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> 5606 <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;">
5606<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 5607 <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 /> 5608 </svg> 5609 </span></div></div>`) 5610 parent.find(".frameImageUploaded svg").hide() 5611 parent.find(".frameImage").addClass("uploaded") 5612 preview.attr("src", e.target.result); 5613 preview.show(); 5614 let formData = new FormData(); 5615 formData.append("file", file); 5616 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5617 method: "POST", 5618 body: formData 5619 }) 5620 const result = await response.json(); 5621 if(result){ 5622 parent.find(".resultPhotoSpotify").val(result.url) 5623 } 5624 } 5625 5626 reader.readAsDataURL(file); 5627 } else { 5628 preview.hide(); 5629 } 5630 }); 5631 5632 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5633 $(this).next("input[type=file]").trigger("click") 5634 }) 5635 5636 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5637 $(this).parents("input[type=file]").trigger("click") 5638 }) 5639 5640 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5641 const parent = $(this).parents("[data-index]") 5642 parent.find(".uploadPhotoSpotify").val("") 5643 parent.find(".uploadResult label").show() 5644 parent.find(".uploadedResult").remove() 5645 parent.find(".frameImageUploaded svg").show() 5646 parent.find(".previewImage").hide() 5647 parent.find(".frameImage").removeClass("uploaded") 5648 }) 5649 5650 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5651 const parent = $(this).parents("[data-index]") 5652 parent.toggleClass("checked") 5653 }) 5654 5655 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5656 const parent = $(this).parents("[data-index]") 5657 const link = $(this).val() 5658 const data = await trackUrl(link) 5659 5660 console.log(data) 5661 5662 if(data.song) { 5663 parent.find(".spotifySong").val(data.song) 5664 parent.find(".spotifyData").find("h3").text(data.song) 5665 } 5666 if(data.artist) { 5667 parent.find(".spotifyArtist").val(data.artist) 5668 parent.find(".spotifyData").find("p").text(data.artist) 5669 } 5670 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5671 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5672 if (data.status === true) { 5673 parent.find(".btn-action .btn").attr("disabled", false) 5674 } else { 5675 parent.find(".btn-action .btn").attr("disabled", true) 5676 } 5677 }) 5678
5679 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5680 const parent = $(this).parents("[data-index]") 5681 const v = $(this).val() 5682 parent.find(".spotifyData h3").text(v) 5683 }) 5684 5685 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5686 const parent = $(this).parents("[data-index]") 5687 const v = $(this).val() 5688 parent.find(".spotifyData p").text(v) 5689 }) 5690 5691 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5692 const parent = $(this).parents("[data-index]") 5693 const length = parent.data("length") 5694 const index = parent.data("index") 5695 const indexNext = Number(index) + 1 5696 customSpotify(indexNext, length, 'addon') 5697 }) 5698 5699 5700 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5701 const parent = $(this).parents(".purchaseAddon") 5702 const next = parent.next(".sectionPurchase") 5703 parent.addClass("hide") 5704 next.removeClass("hide") 5705 next.find(".purchase-button").show() 5706 listAddon() 5707 }) 5708 5709 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5710 const t = $(this).parents("[data-index]") 5711 const parent = $(this).parents(".sectionPurchase") 5712 const current = t.data("index") 5713 const prevCurrent = Number(current) - 1 5714 if(current == 1) { 5715 parent.removeClass("purchaseAddonSpotify") 5716 parent.find(".purchase-button").show() 5717 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5718 $(".spotifyAddons").empty() 5719 $(".regulerAddons").show() 5720 return 5721 } 5722 t.hide() 5723 t.prev("[data-index]").show() 5724 t.remove() 5725 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5726 }) 5727 5728 $("#personalizeBtn .btn").click(async function() { 5729 loadPopupPersonalize() 5730 }); 5731 5732 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5733 $(".sectionPurchaseSpotify").hide() 5734 loadPopupPersonalize() 5735 }) 5736 5737 $(".close-purchase-popup").click(function() { 5738 disablePopup(); 5739 }); 5740 $("#backgroundPopup").click(function() { 5741 // disablePopup(); 5742 }); 5743 5744 $("#popupCart .close-purchase-popup").click(function() { 5745 location.reload() 5746 }); 5747 5748 $('#popupCart').on('hide.bs.modal', function (e) { 5749 location.reload() 5750 }) 5751 5752 $(".next-card").click(function(){ 5753 const parent = $(this).parents(".sectionPurchase") 5754 const next = parent.next(".sectionPurchase") 5755 parent.addClass("hide") 5756 next.removeClass("hide") 5757 }) 5758 5759 $(".back-purchase-button").click(function(){ 5760 const parent = $(this).parents(".sectionPurchase") 5761 const prev = parent.prev(".sectionPurchase") 5762 parent.addClass("hide") 5763 prev.removeClass("hide") 5764 }) 5765 5766 $(document).keypress(function(e) { 5767 if (e.keyCode == 27 && popupStatus == 1) { 5768 disablePopup(); 5769 } 5770 }); 5771 5772 const parentImg = $(".case-img-preview") 5773 const parentVid = $(".case-video-preview") 5774 5775 function readURL(input) { 5776 if (input.files && input.files[0]) { 5777 let reader = new FileReader(); 5778 5779 let type = 'image/jpeg' 5780 const size = input.files[0].size 5781 if(input.files[0].type.match('video/')){ 5782 type = 'video/mp4' 5783 if(size > 15728640) { 5784 alert('File size exceeds maximum limit 15 MB') 5785 return 5786 } 5787 } else { 5788 if(size > 5242880) { 5789 alert('File size exceeds maximum limit 5 MB') 5790 return 5791 } 5792 } 5793 5794 reader.onload = function (e) { 5795 $(".nextBtn").attr("disabled", true) 5796 if(type === 'image/jpeg') { 5797 5798 $('.placeholder-image').hide(); 5799 $('.preview-image').show() 5800 $('.preview-image').attr('src', e.target.result); 5801 5802 } else { 5803 // parentVid.find(".ajax-loader").show(); 5804 $(".steps-card-preview").addClass("loading") 5805 } 5806 } 5807 5808 5809
5810 reader.readAsDataURL(input.files[0]); 5811 } 5812 } 5813 5814 async function readURLPapan(input) { 5815 if (input.files && input.files[0]) { 5816 let reader = new FileReader(); 5817 5818 reader.onload = function (e) { 5819 $('.btn-upload-papan').siblings('label').hide(); 5820 $('.btn-upload-papan img').attr('src', e.target.result); 5821 $('.btn-upload-papan img').show(); 5822 $('.svgLogoPapan').hide(); 5823 } 5824 5825 const type = 'image/jpeg' 5826 const name = `logo-8144957800663-${Date.parse(new Date())}` 5827 5828 let formData = new FormData(); 5829 formData.append("file", input.files[0]); 5830 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5831 method: "POST", 5832 body: formData 5833 }) 5834 const result = await response.json(); 5835 if(result) { 5836 const url = result.url 5837 $("[data-properties=papan-logo]").val(url) 5838 } 5839 5840 reader.readAsDataURL(input.files[0]); 5841 } 5842 } 5843 5844 async function readURLAddress(input) { 5845 console.log(input, 'readURLAddress') 5846 if (input.files && input.files[0]) { 5847 let reader = new FileReader(); 5848 5849 reader.onload = function (e) { 5850 $('.photo-address').attr('src', e.target.result); 5851 $('.photo-address').show(); 5852 } 5853 5854 const type = 'image/jpeg' 5855 const name = input.files[0].name?.split('.')[0] 5856 5857 let formData = new FormData(); 5858 formData.append("file", input.files[0]); 5859 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5860 method: "POST", 5861 body: formData 5862 }) 5863 const result = await response.json(); 5864 5865 reader.readAsDataURL(input.files[0]); 5866 5867 return result 5868 } 5869 } 5870 5871 5872 5873 5874 async function addToCartUang() { 5875 var productAddOnId1 = 42122101162199; 5876 var productAddOnId2 = 42122101194967; 5877 var product_id = 8144957800663 5878 const data = { 5879 items: [ 5880 { 5881 quantity: $("#Quantity-" + productAddOnId1).val(), 5882 id: productAddOnId1, 5883 "properties": { "Time": $("#properties-time").val() } 5884 }, 5885 { 5886 quantity: $("#Quantity-" + productAddOnId2).val(), 5887 id: productAddOnId2, 5888 "properties": { "Time": $("#properties-time").val() } 5889 } 5890 ] 5891 } 5892 await fetch(window.Shopify.routes.root + 'cart/add.js', { 5893 method: 'POST', 5894 headers: { 5895 'Content-Type': 'application/json' 5896 }, 5897 body: JSON.stringify(data) 5898 }) 5899 .then(response => { 5900 console.error('Sukses Buket Uang:', response); 5901 $(".form-flower").submit() 5902 }) 5903 .catch((error) => { 5904 console.error('Error Buket Uang:', error); 5905 $(".form-flower").submit() 5906 }); 5907 } 5908 5909 async function saveCard(){ 5910 let isCard = true 5911 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 5912 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 5913 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 5914 const foto = $("#properties-photo").val() 5915 const video = $("#properties-video").val() 5916 const data = JSON.stringify({ 5917 "id": qrID, 5918 "penerima": $("#properties-nama-penerima").val(), 5919 "kartu_penerima": kartu_penerima, 5920 "kartu_ucapan": kartu_ucapan, 5921 "kartu_pengirim": kartu_pengirim, 5922 "foto": foto, 5923 "video": video, 5924 "productId": "8144957800663", 5925 "order_name": "", 5926 "status": "Cart" 5927 }) 5928 5929 5930 } 5931 5932 async function additem(items){ 5933 try { 5934 let formData = items 5935 if(items?.length) { 5936 formData = { 5937 'items': items 5938 }; 5939 } 5940 5941 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 5942 method: 'POST', 5943 headers: { 5944 'Content-Type': 'application/json', 5945 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 5946 }, 5947 body: JSON.stringify(formData) 5948 }) 5949 5950 const data = await add.json(); 5951 return data 5952 } catch(err){ 5953 console.log('Error additem', err) 5954 } 5955 } 5956 5957 async function addons(){ 5958 let items = [] 5959 $(".addon-item").each(function(){ 5960 const p = $(this) 5961 const props = p.next(".propsAddonSpotify") 5962 const id = $(this).data("id") 5963 const quantity = $(this).data("qty") 5964 const propId = $("#properties-time").val() 5965 let properties = {} 5966 if(id === 46067682607319) { 5967 const link = props.find(".spotifyLinkAddon").text() 5968 const photo = props.find(".spotifyFotoAddon").text() 5969 const song = props.find(".spotifySongAddon").text() 5970 const artist = props.find(".spotifyArtistAddon").text() 5971 properties = { 5972 id: propId, 5973 "Spotify Link": link !== '' ? link : '-', 5974 "Spotify Photo": photo !== '' ? photo : '-', 5975 "Spotify Song": song !== '' ? song : '-', 5976 "Spotify Artist": artist !== '' ? artist : '-', 5977 type: 'addon' 5978 } 5979 } else { 5980 properties = { 5981 "id": propId, 5982 "type": "addon" 5983 } 5984 } 5985 items.push({ 5986 id, 5987 quantity, 5988 properties 5989 }) 5990 }) 5991 return items 5992 } 5993 5994 async function propItems() { 5995 let props = {} 5996 $("[data-properties]").each(function(e){
5997 let elementType = this.tagName; 5998 const k = $(this).data("properties") 5999 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') { 6000 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6001 if(v !== '') { 6002 props[k] = v?.replace(/[\s\n]/g, ''); 6003 } 6004 } 6005 }) 6006 return props 6007 } 6008 6009 async function showPopupCart(items){ 6010 if(productType !== '') { 6011 console.log("clarity event " + productType + ' completeOrder') 6012 window.clarity("event", `${productType} completeOrder`) 6013 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6014 } 6015 $("#popupCart").show() 6016 6017 $(".propDeliveryCity").text($("#cities").val()) 6018 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6019 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6020 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6021 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6022 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6023 $(".propDeliveryProv").text($("#province").val()) 6024 $(".propDeliveryZip").text($("#zip").val()) 6025 6026 6027 6028 const addons = [] 6029 if(items && items.length > 0) { 6030 for(let i = 1; i < items.length; i++) { 6031 const spotifyLink = items[i].properties['Spotify Link'] 6032 const spotifyPhoto = items[i].properties['Spotify Photo'] 6033 const spotifySong = items[i].properties['Spotify Song'] 6034 const spotifyArtist = items[i].properties['Spotify Artist'] 6035 const price = items[i].price / 100 6036 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6037 <div class="col-12 col-lg-2"></div> 6038 <div class="col-12 col-lg-10"> 6039 <p> 6040 <span>spotify link</span> 6041 <span>${spotifyLink}</span> 6042 </p> 6043 <p> 6044 <span>Upload Photo</span> 6045 <span>${spotifyPhoto}</span> 6046 </p> 6047 <p> 6048 <span>song / playlist name</span> 6049 <span>${spotifySong}</span> 6050 </p> 6051 <p> 6052 <span>artist name</span> 6053 <span>${spotifyArtist}</span> 6054 </p> 6055 </div> 6056 </div>` : ''; 6057 addons.push(`<div class="row m-0"> 6058 <div class="imgAddonCart col-2"> 6059 <img 6060 width="43" 6061 src="${items[i].image}" 6062 alt="" 6063 > 6064 </div> 6065 <div class="imgAddonTitlePrice col-10 align-self-center"> 6066 <div class="row justify-content-between m-0"> 6067 <div class="col-12 col-lg-8"> 6068 <h5>${items[i].title}</h5> 6069 </div> 6070 <div class="col-12 col-lg-4 text-lg-right"> 6071 <span>${rupiah.format(price)}</span> 6072 </div> 6073 </div> 6074 </div> 6075 </div>${props}`) 6076 } 6077 } 6078 // console.log(addons) 6079 if(addons.length === 0) { 6080 $(".itemAddonCart").hide() 6081 return 6082 } 6083 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6084 $(".wrapperItemAddonCart").html(addons) 6085 } 6086 6087 const money = (money) => { 6088 return new Intl.NumberFormat('id-ID', 6089 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6090 ).format(money); 6091 } 6092 6093 async function showNoteMoney() { 6094 let qty50k = $("[data-properties='Uang 50k']").val() 6095 let qty100k = $("[data-properties='Uang 100k']").val() 6096 const total50k = Number(qty50k) * 50000 6097 const total100k = Number(qty100k) * 100000 6098 const total_all = total50k + total100k 6099 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6100 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6101 $(".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://77.louerunepiscine.com/" target="_blank" style="text-decoration: underline;
6101 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6102 } 6103 6104 async function removeImage() { 6105 const data = JSON.stringify({ 6106 "ID": $("#properties-properties-qrId").val(), 6107 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6108 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6109 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6110 "Nama Penerima": $("#properties-nama-penerima").val(), 6111 "Order Number":"", 6112 "Status":"Product", 6113 "Foto": "", 6114 "Media": $("#properties-video").val(), 6115 "Image": "8144957800663" 6116 }) 6117 const remove = updateCard(data) 6118 if(remove) { 6119 $(this).hide() 6120 $("#properties-photo").val("-") 6121 $(".placeholder-image").show() 6122 $(".preview-image").attr("src", "") 6123 } 6124 } 6125 6126 async function removeVideo() { 6127 const data = JSON.stringify({ 6128 "ID": $("#properties-properties-qrId").val(), 6129 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6130 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6131 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6132 "Nama Penerima": $("#properties-nama-penerima").val(), 6133 "Order Number":"", 6134 "Status":"Product", 6135 "Foto": $("#properties-photo").val(), 6136 "Media": "", 6137 "Image": "8144957800663" 6138 }) 6139 const remove = updateCard(data) 6140 if(remove) { 6141 $("#properties-video").val("-") 6142 $(this).find("img").hide() 6143 $(this).hide() 6144 $(this).prev("p").text("Add video to make it more special (optional)") 6145 $("#label-input-video").show() 6146 $("#label-input-video span").text("Upload Video") 6147 $(".case-video-preview p span").remove() 6148 } 6149 } 6150 6151 async function loadItemOccasion(t, occasion) { 6152 const name = occasion?.replace('greeting-card-', '') 6153 $("#kartu-ucapan").val("") 6154 $("[data-occassion]").removeClass("selected") 6155 $("[data-properties=ucapan]").val("") 6156 $("#save-card").attr("disabled", true) 6157 t.addClass("selected") 6158 $("#show_note").attr("data-card-occassion", name) 6159 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6160 const products = data.products 6161 const html = [] 6162 for(let i = 0; i < products.length; i++) { 6163 const id = products[i].id 6164 const variantId = products[i].variants[0].id 6165 const img = products[i].images[0].src 6166 const title = products[i].title 6167 const price = products[i].variants[0].price 6168 const qty = products[i].variants[0].inventory_quantity 6169 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6170 <label for="card-${variantId}"></label> 6171 <div class="card-image"> 6172 <img src="${img}" alt="${title}" width="" height="" /> 6173 </div> 6174 <div class="card-meta text-center"> 6175 <h5>${title}</h5> 6176 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6177 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6178 </div> 6179 </div>` 6180 html.push(body) 6181 } 6182 const withoutCard = `<div class="item-card item-without-card"> 6183 <label for="card-0"></label> 6184 <div class="card-image"> 6185 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6186 </div> 6187 <div class="card-meta text-center"> 6188 <h5>
6188Send without a greeting card</h5> 6189 <input id="card-0" type="radio" name="id" value="" data-price=""> 6190 </div> 6191 </div>` 6192 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6193 }); 6194 } 6195 6196 $(document).ready(function(){ 6197 6198 // Observer to auto-trigger addon loading when addon section becomes visible 6199 const addonObserver = new MutationObserver(function(mutations) { 6200 mutations.forEach(function(mutation) { 6201 const target = $(mutation.target) 6202 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6203 if(!target.hasClass('hide')) { 6204 // Addon section just became visible, ensure items are loaded 6205 setTimeout(function() { 6206 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6207 console.log("Auto-triggering addon load...") 6208 $("[data-addon=upsell-all]").trigger("click") 6209 } 6210 }, 150) 6211 } 6212 } 6213 }) 6214 }) 6215 6216 // Start observing addon section 6217 const addonSection = document.querySelector('.purchaseAddon') 6218 if(addonSection) { 6219 addonObserver.observe(addonSection, { 6220 attributes: true, 6221 attributeFilter: ['class'] 6222 }) 6223 } 6224 6225 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6226 6227 $(this).find("span").addClass("loading") 6228 let isValid = true 6229 $(".formAddressPurchase [required]").each(function(){ 6230 const t = $(this) 6231 const input = t.val() 6232 const p = t.parent() 6233 if(input === '') { 6234 p.addClass("error") 6235 isValid = false 6236 } 6237 }) 6238 6239 if(!isValid) { 6240 $(this).find("span").removeClass("loading") 6241 return 6242 } 6243 6244 let items = [] 6245 const mainProps = { 6246 6247 "Delivery Date": $("#propDeliveryDate").val(), 6248 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6249 "Kota Pengiriman": $("#cities").val(), 6250 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6251 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6252 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6253 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6254 6255 6256 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6257 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6258 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6259 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6260 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6261 6262 6263 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6264 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6265 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6266 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6267 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6268 "type": 'product' 6269 } 6270 const props = await propItems() 6271 properties = {...mainProps, ...props }; 6272 const id = $("#productSelect").find('option:selected').val() 6273 console.log(id, 'main ID') 6274 const mainItem = { 6275 id: Number(id), 6276 quantity: 1, 6277 properties 6278 } 6279 items.push(mainItem) 6280 const cardId = $("#itemCards").find(".selected input").val() 6281 const cardItem = { 6282 id: Number(cardId), 6283 quantity: 1, 6284 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6285 } 6286 console.log(cardId, 'cardId') 6287 if(cardId) { 6288 items.push(cardItem) 6289 } 6290 const addon = await addons() 6291 if(addon) { 6292 for(let i = 0;
6292 i < addon.length; i++){ 6293 items.push({ 6294 id: addon[i].id, 6295 quantity: addon[i].quantity, 6296 properties: addon[i].properties 6297 }) 6298 } 6299 } 6300 const addItems = await additem(items) 6301 console.log(addItems.items, 'add items') 6302 if(addItems) { 6303 $(this).find("span").removeClass("loading") 6304 disablePopup() 6305 showPopupCart(addItems.items) 6306 6307 localStorage.setItem("items", JSON.stringify(addItems.items)) 6308 } 6309 }) 6310 6311 $("#addtocart-cart .btn").click(async function(){ 6312 const id = $("#productSelect").find('option:selected').val() 6313 const mainProps = { 6314 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6315 type: 'product' 6316 } 6317 const props = await propItems() 6318 const properties = { ...mainProps, ...props }; 6319 const items = { 6320 id: Number(id), 6321 quantity: 1, 6322 properties 6323 } 6324 const addItems = await additem(items) 6325 if(addItems) { 6326 showPopupCart(addItems.items) 6327 localStorage.setItem("items", JSON.stringify(addItems)) 6328 } 6329 }) 6330 6331 $(".formAddressPurchase [required]").change(function(){ 6332 const t = $(this) 6333 const p = t.parent() 6334 const v = t.val() 6335 if(v !== '') { 6336 p.removeClass("error") 6337 } 6338 }) 6339 6340 $("#save-card").click(async function(){ 6341 const parent = $(this).parents(".sectionPurchase") 6342 const next = parent.next(".sectionPurchase") 6343 $(this).find("span").addClass("loading") 6344 const card = await saveCard() 6345 console.log(card, 'ssaveCCC') 6346 if(card?.status === 200 || card?.status === 201) { 6347 $(".scanCard").removeClass("hide") 6348 $(this).find("span").removeClass("loading") 6349 parent.addClass("hide") 6350 next.removeClass("hide") 6351 if(next.hasClass("purchaseAddon")) { 6352 $("[data-addon=upsell-all]").click() 6353 console.log("clarity event addons") 6354 window.clarity("event", `${productType} add-ons`) 6355 // Ensure addon items are loaded when entering addon popup 6356 setTimeout(function() { 6357 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6358 $("[data-addon=upsell-all]").trigger("click") 6359 } 6360 }, 100) 6361 } 6362 if(next.hasClass("purchaseAddress")) { 6363 $("#zip").select2() 6364 } 6365 } 6366 }) 6367 6368 $("#skip-card").click(async function(){ 6369 $("#greetingCard [data-properties]").val("") 6370 $("#properties-photo").val("") 6371 $("#properties-video").val("") 6372 const parent = $(this).parents(".sectionPurchase") 6373 const next = parent.next(".sectionPurchase") 6374 parent.addClass("hide") 6375 next.removeClass("hide") 6376 // $("#itemCards").html("") 6377 removeImage() 6378 removeVideo() 6379 if(next.hasClass("purchaseAddon")) { 6380 $("[data-addon='upsell-all']").click() 6381 console.log("clarity event addons") 6382 window.clarity("event", `${productType} add-ons`) 6383 // Ensure addon items are loaded when entering addon popup 6384 setTimeout(function() { 6385 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6386 $("[data-addon='upsell-all']").trigger("click") 6387 } 6388 }, 100) 6389 } 6390 if(next.hasClass("purchaseAddress")) { 6391 $("#zip").select2() 6392 } 6393 }) 6394 6395 $("#msgCard").click(async function(){ 6396 $(this).parent().addClass("loading") 6397 let occasion = $(".selected[data-occassion]").data("occassion") 6398 occasion = occasion?.replace("greeting-card-", "") 6399 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6400 const d = data?.data 6401 for(let i = 0; i < d.length; i++) { 6402 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6403 const greeting = d[num]?.Greeting 6404 $(".greetingCard textarea").val(greeting) 6405 $(this).parent().removeClass("loading") 6406 } 6407 $("#save-card").attr("disabled", false) 6408 }) 6409 6410 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6411 const parent = $(this).parents(".sectionPurchase") 6412 const next = parent.next(".sectionPurchase") 6413 parent.addClass("hide") 6414 next.removeClass("hide") 6415 }) 6416 6417 $("#editCard").click(function(){ 6418 $(".custom-card").show() 6419 $(".preview-card").hide() 6420 }) 6421 6422 $("#first_name, #last_name").change(function(){ 6423 const v = $(this).val() 6424 const first_name = $("#first_name").val() 6425 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6426 $("[data-properties=nama-penerima]").val(first_name+last_name) 6427 }) 6428 6429 $("[data-occassion]").click(function(){ 6430 const t = $(this) 6431 const p = t.parents(".sectionPurchase") 6432 // $(".greetingCard").addClass("disabled") 6433 const occasion = t.data("occassion") 6434 loadItemOccasion(t, occasion) 6435 }) 6436 6437 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6438 const id = $(this).parent(".item-card").data("id") 6439 const t = $(this).parent(".item-card") 6440 const target = t.find("input") 6441 const v = $('.item-card input[type="radio"]:checked').val(); 6442 $("#itemCards .item-card").removeClass("selected") 6443 t.addClass("selected") 6444 $("#itemCards .item-card").find("input").attr("name", "") 6445 if(target.length > 0) { 6446 target.attr("name", "id[]") 6447 $("#properties-card").val(id) 6448 $(".greetingCard").removeClass("disabled") 6449 $("#skip-card").attr("disabled", false) 6450 } else { 6451 $("#properties-card").val("") 6452 } 6453 }) 6454 6455 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6456 const parent = $(this).parents(".sectionPurchase") 6457 const next = parent.next(".sectionPurchase") 6458 $(".greetingCard").addClass("disabled") 6459 parent.addClass("hide") 6460 next.removeClass("hide") 6461 $("[data-addon=upsell-all]").click() 6462 $("#zip").select2() 6463 }) 6464 6465 $("[data-properties=ucapan]").keyup(function(){ 6466 const v = $(this).val() 6467 const p = $(this).parents(".sectionPurchase") 6468 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6469 if(v.length > 3) { 6470 p.find(".next-purchase-button").attr("disabled", false) 6471 } else { 6472 p.find(".next-purchase-button").attr("disabled", true) 6473 } 6474 }) 6475 6476 $("[data-properties=penerima]").keyup(function(){ 6477 const v = $(this).val() 6478 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6479 }) 6480 6481 $("[data-properties=pengirim]").keyup(function(){ 6482 const v = $(this).val() 6483 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6484 }) 6485 6486 $(document).click(function(e){
6487 6488 if($(e.target).closest('.wrapperPopupCart').length != 0) return false; 6489 // $('#popupCart').fadeOut('slow'); 6490 // location.reload() 6491 }); 6492 6493 $(".toggleAddonCart").click(function(){ 6494 const p = $(this).parent(".itemAddonCart") 6495 p.toggleClass("open") 6496 }) 6497 6498 $(".btnViewCart").click(function(){ 6499 window.location.href = "https://outerbloom.com/cart"; 6500 }) 6501 6502 $(".btnViewCheckout").click(async function(){ 6503 $(this).find("span").addClass("loading") 6504 let zip = $("#zip").val() 6505 const first_name = $("#first_name").val() 6506 const last_name = $("#last_name").val() 6507 const company = $("#company").val() !== '' ? $("#company").val() : '' 6508 const address1 = $("#delivery_address").val() 6509 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6510 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6511 const phone = $("#recipient_number").val() 6512 const city = $("#cities").val() 6513 const province = $("#province").val() 6514 const country = 'Indonesia' 6515 const ver = Date.parse(new Date()) 6516 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}` 6517 6518 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6519 if(clear.status === 200) { 6520 const savedItem = window.localStorage.getItem("items"); 6521 const items = JSON.parse(savedItem) 6522 const addItems = await additem(items) 6523 console.log(addItems, 'new addItems') 6524 if(addItems) { 6525 window.location.href = `https://outerbloom.com/checkout?${params}`; 6526 } 6527 } 6528 }) 6529 6530 $(".btnContinueShopping").click(function(){ 6531 window.location.href = "https://outerbloom.com/"; 6532 }) 6533 6534 if (isIOS) { 6535 $(".empty-state-card").click(function(){ 6536 $("#input-foto").trigger("click") 6537 }) 6538 $(".btn-upload-image").click(function(){ 6539 $("#input-foto").trigger("click") 6540 }) 6541 $("[for=input-video]").click(function(){ 6542 $("#input-video").trigger("click") 6543 }) 6544 $(".btn-upload-papan").click(function(){ 6545 $("#logoPapan").trigger("click") 6546 }) 6547 } 6548 6549 $("[data-properties]").each(function(){ 6550 const select = $(this).parents(".form-group").find("select") 6551 $(this).change(function(){ 6552 const name = $(this).data("properties") 6553 const v = $(this).val() 6554 if (name == 'telepon-penerima') { 6555 let phone = v.replace(/[^0-9]/g, '') 6556 $(this).val(phone); 6557 $("#properties-telepon-penerima").val(phone) 6558 $('.iti__search-input').val('-') 6559 } else { 6560 $("#properties-" + name).val(v) 6561 } 6562 }) 6563 select.on("change", function(){ 6564 const name = $(this).data("properties") 6565 const v = $(this).val() 6566 $("#properties-" + name).val(v) 6567 }) 6568 }) 6569 6570 $("#show_note").click(function(){ 6571 nameq = $("#properties-nama-penerima").val() 6572 dear = $("#properties-kartu-nama-penerima").val() 6573 card = $("[data-properties=ucapan]").val() 6574 sender = $("#properties-kartu-nama-pengirim").val() 6575 photo = $("#properties-photo").val() 6576 video = $("#properties-video").val() 6577 updateCard(nameq, dear, card, sender, photo, video, status) 6578 }) 6579 6580 $(".remove-image").click(function(e){ 6581 e.preventDefault() 6582 $(this).find("img").show() 6583 removeImage() 6584 }) 6585 6586 $(".remove-media").click(function(e){ 6587 e.preventDefault() 6588 $(this).find("img").show() 6589 removeVideo() 6590 }) 6591 6592 6593 6594 $("[data-delivery_method]").click(function(e){
6595 e.preventDefault() 6596 const t = $(this) 6597 const data = t.data("delivery_method") 6598 $("[data-delivery_method]").removeClass("selected") 6599 t.addClass("selected") 6600 $("#cities").val("") 6601 $("#properties-delivery-date").val("-") 6602 $("#deliveryDate button").removeClass("selected") 6603 $("#full-date").val("Full Calendar â") 6604 $("#propDeliveryDate").val("") 6605 const step3 = $("#step-3") 6606 if(data.match('PickUp')) { 6607 $(".selfpickup-point").show() 6608 step3.find("[data-finished=false]").hide() 6609 $("#panel-4").hide() 6610 step3.find("[data-finished=true]").show() 6611 $("#cities").attr("required", false) 6612 $("#form-group-city").hide() 6613 $("#row-delivery-time").hide() 6614 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6615 $("#propDeliveryTime").attr("required", false) 6616 // $("#deliveryDate").find("button:first-child").addClass("stop") 6617 $(".form-selfpickup").show() 6618 $(".form-delivery").hide() 6619 $(".form-delivery").find("input, textarea, select").val("") 6620 $(".form-delivery").find("input, textarea, select").attr("required", false) 6621 $("#properties-shipping").val("0") 6622 $("#noteDeliveryDate").hide() 6623 $(".form-delivery .form-control").attr("required", false) 6624 $("#stepNav4").hide() 6625 6626 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6627 6628 6629 6630 if(timeOfDay >= 16.01){ 6631 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6632 } 6633 } else { 6634 6635 6636 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6637 step3.find("[data-finished=false]").show() 6638 $("#panel-4").show() 6639 step3.find("[data-finished=true]").hide() 6640 $("#cities").attr("required", true) 6641 $(".selfpickup-point").hide() 6642 $("#form-group-city").show() 6643 $("#cities").val('').trigger('change'); 6644 $("#properties-kota-pengiriman").val("-") 6645 6646 $("#row-delivery-date, #row-delivery-time").show() 6647 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6648 $("#deliveryDate").find("button").removeClass("stop") 6649 $(".form-selfpickup").hide() 6650 $(".form-delivery").show() 6651 $(".form-delivery").find("input, textarea, select").attr("required", true)
6652 $(".form-delivery [data-properties]").attr("readonly", false) 6653 $("#properties-kodepos").val("-") 6654 $("#properties-alamat-penerima").val("-") 6655 $(".form-delivery .form-control").attr("required", true) 6656 $(this).parents(".setup-content").attr("id", "step-1") 6657 6658 $("#stepNav4").show() 6659 } 6660 }) 6661 6662 $("[name=selfpickup]").click(function(){ 6663 const p = $(this).parents(".row-pickup") 6664 const pickupCity = $("input[name='selfpickup']:checked").val(); 6665 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6666 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6667 6668 $(".row-pickup").removeClass("selected") 6669 p.addClass("selected") 6670 6671 $("#properties-kota-pengiriman").val(pickupCity) 6672 $("#province").val("Jakarta") 6673 $("#properties-alamat-penerima").val(pickupAddress) 6674 $("#properties-kodepos").val(pickupZip) 6675 }) 6676 6677 $("#cities").change(function(e){ 6678 e.preventDefault() 6679 $(this).parent(".row").find("p.error").remove() 6680 $("#full-date").val("Full Calendar") 6681 $("#deliveryDate, #deliveryDateFull label ").show() 6682 $("#deliveryDateFull").removeClass("filled") 6683 $(".btnChangeDeliveryDate").addClass("hide") 6684 $("#full-date").prop('disabled', false); 6685 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6686 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6687 const step3 = $("#step-3") 6688 $("#cityNote").remove() 6689 $("#noteDeliveryDate").hide() 6690 $("#noteDeliveryDate").empty() 6691 let v = $(this).val() 6692 let v2 = $('option:selected', this).attr('data-city'); 6693 let v3 = $('option:selected', this).attr('data-province'); 6694 let price = $('option:selected', this).attr('data-price'); 6695 $("#country").val(v) 6696 $("#properties-kota-pengiriman").val(v) 6697 $("#properties-shipping").val(price) 6698 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6699 $("#properties-delivery-date, #properties-delivery-time").val("-") 6700 $("#propDeliveryDate, #propDeliveryTime").val("") 6701 let note = $('option:selected', this).attr('data-note'); 6702 if(v === 'Kota Lainnya') { 6703 $("#noteDeliveryDate").show() 6704 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6705 $("#zip").attr("required", false) 6706 $("#zip").hide() 6707 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6708 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6709 $("#row-delivery-date, #row-delivery-time").hide() 6710 $("#properties-shipping").val("") 6711 // $(this).parents(".setup-content").attr("id", "step-2") 6712 6713 } else { 6714 $("#noteDeliveryDate").hide() 6715 $("#zip").attr("required", true) 6716 $("#zip").show() 6717 $("#row-delivery-date, #row-delivery-time").show() 6718 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6719 $("#deliveryDate").find("button").removeClass("stop") 6720 // $(this).parents(".setup-content").attr("id", "step-1") 6721 6722 } 6723 6724 6725 6726 // if(v !== 'Jakarta') { 6727 // $("[data-type=upsell]").hide() 6728 // } else { 6729 // $("[data-type=upsell]").show() 6730 // } 6731 // $('.collection-addons')[0].swiper.update(); 6732 6733 6734 getProvince(v) 6735 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6736 renderZip(v, v2, v3) 6737 6738 disabledSameDay() 6739 6740 6741 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6742 6743 $("#cardOccasion, #navAddon, .collection-addons").hide() 6744 6745 $("[data-addon=giftcard]").show() 6746 $("[data-addon=giftcard]").click() 6747 $("#itemAddons").show() 6748 $("#flower-step").addClass("nonjadetabek") 6749 } else { 6750 $("#cardOccasion, #navAddon, .collection-addons").show() 6751 $("[data-addon=all]").click() 6752 $("#flower-step").removeClass("nonjadetabek") 6753 } 6754 6755 if(v !== '') { 6756 $("#personalizeBtn .btn").attr("disabled", false) 6757 } else { 6758 $("#personalizeBtn .btn").attr("disabled", true) 6759 } 6760 6761 }) 6762 6763 $("#zip").change(function(e){
6764 let v = $(this).val() 6765 var city = $("#cities").find('option:selected'); 6766 $("#properties-kodepos").val(v) 6767 if(city === 'Kota Lainnya') { 6768 $(this).attr("required", true) 6769 $("#recipient-address").val("") 6770 } 6771 }) 6772 6773 6774 var minDate = +7 6775 6776 6777 6778 $("#full-date").datepicker({ 6779 minDate, 6780 dateFormat: 'Mdd_yy', //Nop22_2021, 6781 6782 beforeShowDay: disabledays, 6783 6784 onSelect: function (date) { 6785 $("#deliveryDate, #deliveryDateFull label ").hide() 6786 $("#deliveryDateFull").addClass("filled") 6787 $(".btnChangeDeliveryDate").removeClass("hide") 6788 $("#full-date").prop('disabled', true); 6789 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6790 $(".date-full").addClass("selected") 6791 $(".date-single, .calendar-group").removeClass("selected") 6792 $("#propDeliveryTime").val('') 6793 $("#properties-delivery-time").val('-') 6794 $(".time-single").removeClass("selected") 6795 6796 6797 } 6798 }); 6799 6800 $(".btnChangeDeliveryDate").click(function(){ 6801 $("#deliveryDate, #deliveryDateFull label ").show() 6802 $("#deliveryDateFull").removeClass("filled") 6803 $(".btnChangeDeliveryDate").addClass("hide") 6804 $("#full-date").prop('disabled', false); 6805 }) 6806 6807 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6808 e.preventDefault() 6809 $(this).parents("#row-delivery-date").find("p.error").remove() 6810 const fulldate = $(this).data("fulldate") 6811 const day = $(this).data("day") 6812 const date = $(this).data("date")
6813 const month = $(this).data("month") 6814 const year = $(this).data("year") 6815 const off_pagi = $(this).data("offpagi") 6816 const off_siang = $(this).data("offsiang") 6817 const off_Malam = $(this).data("offMalam") 6818 $(".calendarbutton").removeClass("selected") 6819 $(this).addClass("selected") 6820 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6821 $("#propDeliveryTime").val('') 6822 $("#properties-delivery-time").val('-') 6823 $(".calendarbutton2").removeClass("selected") 6824 $("#full-date").val("Full Calendar") 6825 6826 6827 if(off_pagi && timeOfDay > off_pagi) { 6828 $("[data-time=Morning]").attr("disabled", true) 6829 } else { 6830 $("[data-time=Morning]").attr("disabled", false) 6831 } 6832 if(off_siang && timeOfDay > off_siang) { 6833 $("[data-time=Afternoon]").attr("disabled", true) 6834 } else { 6835 $("[data-time=Afternoon]").attr("disabled", false) 6836 } 6837 6838 6839 6840 }) 6841 6842 if(today === 14 && timeOfDay > 17.00) { 6843 $("#deliveryDate button:first-child").attr("disabled", true) 6844 } 6845 6846 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6847 e.preventDefault() 6848 const time = $(this).data("time") 6849 const date = $("#propDeliveryDate").val() 6850 if(date == '') { 6851 return alert('Silakan pilih tanggal terlebih dahulu') 6852 } 6853 $(".calendarbutton2").removeClass("selected") 6854 $(this).addClass("selected") 6855 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 6856 }) 6857 6858 $('textarea.has-limit, input.has-limit').keyup(function () { 6859 max = this.getAttribute("maxlength"); 6860 let len = $(this).val().length; 6861 let limit = $(this).siblings(".limit"); 6862 if (len > max) { 6863 alert('you have reached the limit'); 6864 } else { 6865 limit.text(`${len}/${max}`); 6866 } 6867 }); 6868 6869 $("#button-action-step .btn").click(function(){ 6870 $(this).find("span").text("Processing..."); 6871 }); 6872 6873 $(".finishBtn").on('click', function() { 6874 $(this).addClass("is-adding"); 6875 // $(this).click(); 6876 }); 6877 6878 $('.setup-panel .nav-item a.btn-success').trigger('click'); 6879 6880 $("#button-action .btn").click(function(){ 6881 $("#flower-step").addClass("block"); 6882 $("#button-action").hide(); 6883 }); 6884 6885 $(".close-how-order").click(function(){ 6886 $("#flower-step").removeClass("block"); 6887 $("#button-action").show(); 6888 }); 6889 6890 $("#input-foto, #input-video").change(function(e){ 6891 readURL(this); 6892 }); 6893 6894 $("#logoPapan").change(function(){ 6895 readURLPapan(this); 6896 }); 6897 6898 $("#address-upload").change(async function(){ 6899 const upload_address = await readURLAddress(this) 6900 if(upload_address) { 6901 const url = upload_address.url 6902 $(".props-address-upload").val(url) 6903 $(".form-address").addClass("address-uploaded") 6904 $(".form-address-upload").addClass("uploaded") 6905 6906 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 6907 } 6908 }) 6909 6910 $(".address-manualy").click(function(){ 6911 $(".form-address-upload").removeClass("uploaded"); 6912 $(".photo-address").hide(); 6913 $(".form-address").removeClass("address-uploaded") 6914 $("#formAddressPurchase").find(".form-control").attr("required", true) 6915 }); 6916 6917 $(".case-video-preview").delegate(".replace-video", "click", function(){ 6918 $("#input-video").trigger("click") 6919 }) 6920 6921 $('.date-single').click(function(e) { 6922 e.preventDefault(); 6923 $('.date-single').removeClass('selected'); 6924 $('#full-date').removeClass('selected'); 6925 $(this).addClass('selected'); 6926 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 6927 }); 6928 $('#full-date').click(function(e){ 6929 e.preventDefault(); 6930 $('.date-single').removeClass('selected'); 6931 $(this).addClass('selected'); 6932 }); 6933 6934 // $("tr").each(function(){ 6935 // if($(this).text().match('SKU')) { 6936 // $(".sku-product").html($(this).parents("table").html()) 6937 // } 6938 // }) 6939 6940 $("#product-image").scroll(function(){ 6941 $(".desc-add").each(function(){ 6942 const img = $(this).find("img") 6943 const src = img.data("src") 6944 img.attr("src", src) 6945 }) 6946 }) 6947 6948 $(".product-fixed").hide() 6949 6950 let target = $("#personalizeBtn") 6951 6952 6953 $(".product-meta").scroll(function() { 6954 if ($(window).scrollTop() >= target.offset().top ) { 6955 $(".product-fixed").addClass("show") 6956 } else { 6957 $(".product-fixed").removeClass("show") 6958 } 6959 }); 6960 6961 $(window).scroll(function() { 6962 if ($(window).scrollTop() >= target.offset().top ) { 6963 $(".product-fixed").addClass("show") 6964 } else { 6965 $(".product-fixed").removeClass("show") 6966 } 6967 }); 6968 }); 6969 </script>
6969 6970 6971
6971<script> 6972 // 6973 </script>
6973 6974 6975
6975<script> 6976 $(document).ready(function(){ 6977 $('table tr td').each(function(){ 6978 var texto = $(this).text(); 6979 var nextto = $(this).next("td"); 6980 var sku = $("#data-sku").val() 6981 if(texto == 'SKU'){ 6982 nextto.text(sku) 6983 } 6984 }); 6985 6986 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 6987 $(".stamped-summary-actions-newreview").text("Tulis Review"); 6988 $("#tab-questions").text("Pertanyaan"); 6989 6990 $(".freeship .icon").click(function(){ 6991 $(".fs-content").slideToggle(); 6992 $(this).parents(".freeship").toggleClass("expand"); 6993 }); 6994 6995 var $easyzoom = $('.easyzoom').easyZoom(); 6996 // Setup thumbnails example 6997 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 6998 $('.thumbnails').on('click', 'a', function(e) { 6999 var $this = $(this); 7000 e.preventDefault(); 7001 // Use EasyZoom's `swap` method 7002 api1.swap($this.data('standard'), $this.attr('href')); 7003 }); 7004 7005 $('#playerID').click(function(){ 7006 var videoURL = $('#VdoID').attr('src'), 7007 dataplay = $('#VdoID').attr('data-play'); 7008 7009 //for check autoplay 7010 //if not set autoplay=1 7011 if(dataplay == 0 ){ 7012 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7013 $('#VdoID').attr('data-play',1); 7014 } 7015 else{ 7016 var videoURL = $('#VdoID').attr('src'); 7017 videoURL = videoURL.replace("?autoplay=1", ""); 7018 $('#VdoID').prop('src',''); 7019 $('#VdoID').prop('src',videoURL); 7020 7021 $('#VdoID').attr('data-play',0); 7022 } 7023 7024 }); 7025 7026 $(".product-photo-thumb-video").click(function(e){ 7027 e.preventDefault(); 7028 7029 var newEmbed = $(this).attr('href'); 7030 $("#featured-image-product").addClass("img-video"); 7031 $("#ProductPhotoImg").hide(); 7032 $("#featured-image-product .video").show(); 7033 $("#featured-image-product iframe").attr('src', newEmbed); 7034 $("#VdoID")[0].src += "&autoplay=1"; 7035 }); 7036 $(".product-single__thumbnail").click(function(evt){ 7037 evt.preventDefault(); 7038 $("#featured-image-product").removeClass("img-video"); 7039 $("#ProductPhotoImg").show(); 7040 $("#featured-image-product .video").hide(); 7041 $("#featured-image-product iframe").attr('src', ''); 7042 }); 7043 7044 if($('#product-meta .short-desc > div').length >= 1){ 7045 //console.log('div detected') 7046 var replacer = $('#product-meta .short-desc > div').contents(); 7047 $('#product-meta .short-desc > div').replaceWith(replacer); 7048 7049 var cAssured = $('.c-assured').detach(); 7050 cAssured.insertAfter('.meta-sds .stock-info'); 7051 } 7052 7053 7054 7055 $(".heading-toggle").click(function(){ 7056 $(this).parent().toggleClass("open") 7057 7058 }); 7059 }); 7060 </script>
7060 7061 7062 7063
7063<script type="application/json" id="ProductJson-Product"> 7064 7065 {"id":8144957800663,"title":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026."} 7066 </script>
7066 7067 7068
7068<script type="application/json" id="VariantJson-Product"> 7069 [ 7070 7071 { 7072 "incoming": false, 7073 "next_incoming_date": null 7074 } 7075 7076 ] 7077 </script>
7077 7078 7079 7080 7081 7082 </div> 7083 7084 7085
7085<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7085 7086 <style> 7087 .stamped-review-header-title, 7088 .stamped-review-header .author, 7089 .stamped-review-content-body, 7090 .stamped-sort-select, 7091 .stamped-review-header .verified-badge[data-type=buyer]:after, 7092 .stamped-review-header-byline, 7093 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7094 .stamped-review {margin-bottom: 0;} 7095 .stamped-review-body {padding-left: 65px;} 7096 .stamped-review:first-child {padding-top: 25px;} 7097 .stamped-review-content {clear: none;} 7098 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7099 .stamped-review-reply-body {padding-left: 65px;} 7100 .stamped-review-header .author {text-transform: capitalize;} 7101 .stamped-questions .stamped-review-content {padding-left: 65px;} 7102 7103 .stamped-pagination {margin: 20px 0 0;} 7104 .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;} 7105 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7106 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7107 .stamped-pagination li:hover a {background: #ddd;} 7108 .stamped-pagination .next {border-right: 1px solid #ccc;} 7109 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7110 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7111 7112 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7113 #stamped-pagination-question span {font-size: 14px;} 7114 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7115 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7116 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7117 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7118 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7119 7120 @media (max-width: 480px){ 7121 .stamped-review-reply {margin-left: 0!important;} 7122 select.stamped-sort-select {font-size: 13px!important;} 7123 } 7124 7125 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7126 display: block !important; 7127 } 7128 </style> 7129
7129<script> 7130 var selectCallback = function(variant, selector) { 7131 timber.productPage({ 7132 money_format: "Rp {{amount_no_decimals}}", 7133 variant: variant, 7134 selector: selector 7135 }); 7136 }; 7137 7138 jQuery(function($) { 7139 new Shopify.OptionSelectors('productSelect', { 7140 product: 7141 7142 7143 7144 7145 7146 {"id":8144957800663,"title":"RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eHadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026."}, 7147 onVariantSelected: selectCallback, 7148 enableHistoryState: true 7149 }); 7150 7151 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7152 7153 7154 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7155 7156 $('.selector-wrapper').hide(); 7157 7158 }); 7159 </script>
7159 7160 7161 7162 7163
7163<script type="application/ld+json"> 7164 { 7165 "@context": "http://schema.org", 7166 "@type": "Product", 7167 "offers": { 7168 "@type": "Offer", 7169 "availability":"https://schema.org/InStock", 7170 "price": 835000, 7171 "priceValidUntil": "05-10-2025", 7172 "priceCurrency": "IDR", 7173 "url": "https://www.louerunepiscine.com/les-piscines" 7174 }, 7175 "brand": { 7176 "@type": "Brand", 7177 "name": "Outerbloom Florist" 7178 }, 7179 "sku": "8144957800663", 7180 "gtin13": "Jawa", 7181 "name": "RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat", 7182 "description": "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.", 7183 "category": "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.", 7184 "url": "https://www.louerunepiscine.com/les-piscines", 7185 "image": { 7186 "@type": "ImageObject", 7187 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7188 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7189 "name": "RAJADANA : Slot Pulsa Kekinian Dengan Sistem Akses Cepat", 7190 "width": 1024, 7191 "height": 1024 7192 } 7193 } 7194 </script>
7194 7195 7196 7197 7198 7199 7200
7200<script id="bss-ltap-hide-price" type="text/javascript" > 7201 !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)}))}
7201)),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)}
7201)),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()}
7201if("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)}
7201if(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");
7201c&&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
7201-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");
7201i&&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
7201--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
7201opify.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");
7201e.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=
7201o.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");
7201if(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();
7201let 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()}]); 7202 </script>
7202 7203 7204 </main> 7205 7206 <div id="shopify-section-newsletter" class="shopify-section"><br> 7207 <style> 7208 #shopify-section-newsletter { 7209 background: url('https://imgstore.io/images/2025/05/21/background-gelap.jpeg'); 7210 background-attachment: fixed; 7211 margin-bottom: 0; 7212 } 7213 input:-webkit-autofill, 7214 input:-webkit-autofill:hover, 7215 input:-webkit-autofill:active, 7216 input:-webkit-autofill:focus { 7217 -webkit-box-shadow:0 0 0 50px white inset; 7218 -webkit-text-fill-color: #ffffff; 7219 } 7220 .section-newsletter { 7221 max-width: 800px; 7222 margin: auto; 7223 padding: 50px 0; 7224 } 7225 .section-newsletter h2 { 7226 font-weight: 700; 7227 font-size: 24px; 7228 } 7229 .section-newsletter input[type="email"] { 7230 width: 100%; 7231 text-align: center; 7232 border: none; 7233 border-bottom: 1px solid #ffffff; 7234 font-size: 16px; 7235 color: #757575; 7236 background-color: #eeeeee; 7237 } 7238 .section-newsletter .row label { 7239 font-size: 14px; 7240 cursor: pointer; 7241 } 7242 .section-newsletter .radio-inline input { 7243 width: auto; 7244 } 7245 .section-newsletter .btn { 7246 width: 130px; 7247 border: 1px solid #ffffff; 7248 box-shadow: none; 7249 font-size: 16px; 7250 font-weight: 500; 7251 text-transform: uppercase; 7252 } 7253 .section-newsletter form { 7254 margin: 30px 0 60px; 7255 } 7256 .section-newsletter input[type="radio"] { 7257 position: absolute; 7258 width: 1px; 7259 height: 1px; 7260 } 7261 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7262 position: relative; 7263 padding-left: 28px; 7264 cursor: pointer; 7265 line-height: 20px; 7266 display: inline-block; 7267 color: #666; 7268 } 7269 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7270 content: ''; 7271 position: absolute; 7272 left: 0; 7273 top: 0; 7274 width: 18px; 7275 height: 18px; 7276 border: 1px solid #ddd; 7277 border-radius: 100%; 7278 background: #fff; 7279 } 7280 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7281 content: ''; 7282 width: 12px; 7283 height: 12px; 7284 background: #ffffff; 7285 position: absolute; 7286 top: 3px; 7287 left: 3px; 7288 border-radius: 100%; 7289 -webkit-transition: all 0.2s ease; 7290 transition: all 0.2s ease; 7291 } 7292 .section-newsletter [type="radio"]:not(:checked) + label:after { 7293 opacity: 0; 7294 -webkit-transform: scale(0); 7295 transform: scale(0); 7296 } 7297 .opt-newsletter {display:none;} 7298 .footer-newsletter p, .footer-newsletter p a { 7299 color: #757575; 7300 } 7301 @media (max-width:991px){ 7302 .section-newsletter h2 { 7303 font-size: 32px; 7304 } 7305 .section-newsletter input { 7306 width: 300px; 7307 font-size: 14px; 7308 } 7309 .section-newsletter { 7310 padding: 50px 20px; 7311 } 7312 } 7313 @media (max-width: 480px){ 7314 .section-newsletter input[type="email"] {font-size: 16px;} 7315 } 7316 </style> 7317 <style> 7318 .icon-img-footer { 7319 width: 80px; 7320 padding: 0px 5px; 7321 } 7322 @media (min-width: 768px) { 7323 .icon-img-footer { 7324 width: 120px; 7325 } 7326 } 7327 @media (min-width: 992px) { 7328 .icon-img-footer { 7329 width: 120px; 7330 } 7331 } 7332 7333 .button-login-daftar { 7334 display: grid; 7335 grid-template-columns: repeat(2, 1fr); 7336 font-weight: 700; 7337 } 7338 .button-login-daftar a { 7339 text-align: center; 7340 } 7341 .login, 7342 .register { 7343 color: #ffd700; 7344 padding: 15px 10px; 7345 font-size: 23px; 7346 } 7347 .login, 7348 .login-button { 7349 background: linear-gradient(to bottom,#000000 0,#000000 100%); 7350 border: 2px solid #ffd700; 7351 } 7352 .register, 7353 .register-button { 7354 background: linear-gradient(to bottom,#000000 0,#000000 100%); 7355 border: 2px solid #ffd700; 7356 } 7357 7358 7359 7360 </style> 7361 7362 <!-- wp:html --> 7363
7363<script> 7364 document.addEventListener('DOMContentLoaded', 7365 function(){const faqItems=document.querySelectorAll('.faq-item'); 7366 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7367 question.addEventListener('click', 7368 ()=>{const isActive=item.classList.contains('active'); 7369 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7370 if(!isActive){item.classList.add('active')}})})}); 7371 </script>
7371 7372 7373 7374 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7375 </div> 7376 <div class="faq-section"> 7377 <h2>FAQ</h2> 7378<div class="faq-container"> 7379 <div class="faq-item"> 7380 <button class="faq-question">1. Apa itu RAJADANA?<span></span></button> 7381 <div class="faq-answer"> 7382 <p>RAJADANA adalah platform content eksklusif game hiburan tanpa batas yang menghadirkan berbagai informasi terbaru seputar game slot online, hiburan digital modern, serta akses permainan dengan sistem cepat, ringan, dan stabil untuk pengalaman bermain yang lebih nyaman di tahun 2026.</p> 7383 </div> 7384 </div> 7385 7386 <div class="faq-item"> 7387 <button class="faq-question">2. Apa keunggulan RAJADANA dibanding platform lainnya?<span></span></button> 7388 <div class="faq-answer"> 7389 <p>RAJADANA memiliki berbagai keunggulan seperti akses cepat tanpa loading lama, tampilan modern yang mudah digunakan, kompatibel di berbagai perangkat, serta menyediakan update game hiburan terbaru secara konsisten sehingga pengguna dapat menikmati pengalaman digital yang lebih praktis dan efisien.</p> 7390 </div> 7391 </div> 7392 7393 <div class="faq-item"> 7394 <button class="faq-question">3. Apakah RAJADANA aman digunakan?<span></span></button> 7395 <div class="faq-answer"> 7396 <p>Ya, RAJADANA mengutamakan keamanan dan kenyamanan pengguna dengan sistem yang stabil serta perlindungan akses modern. Platform ini dirancang untuk menjaga performa tetap optimal sehingga pengguna dapat menikmati hiburan online tanpa khawatir terhadap gangguan teknis yang tidak diinginkan.</p> 7397 </div> 7398 </div> 7399 7400 <div class="faq-item"> 7401 <button class="faq-question">4. Apakah RAJADANA bisa diakses melalui smartphone?<span></span></button> 7402 <div class="faq-answer"> 7403 <p>Tentu saja. RAJADANA dapat diakses melalui smartphone, tablet, maupun desktop dengan tampilan yang tetap responsif dan ringan. Hal ini membuat pengguna lebih fleksibel dalam menikmati content hiburan kapan saja dan di mana saja.</p> 7404 </div> 7405 </div> 7406 7407 <div class="faq-item"> 7408 <button class="faq-question">5. Bagaimana cara mengakses RAJADANA?<span></span></button> 7409 <div class="faq-answer"> 7410 <p>Untuk mengakses RAJADANA, pengguna hanya perlu membuka link resmi yang tersedia kemudian login melalui sistem yang cepat dan mudah. Setelah berhasil masuk, seluruh content game hiburan dan informasi terbaru dapat langsung dinikmati tanpa proses yang rumit.</p> 7411 </div> 7412 </div> 7413</div> 7414 7415 </div> 7416 7417 </div> 7418 7419 </div> 7420 7421 7422 <div class="overlay overlay-cart"></div> 7423 <div id="CartDrawer" class="drawer drawer--right"> 7424 <div class="drawer__header pl-2 pr-2"> 7425 <div class="drawer__icon-cart display-table-cell"> 7426 <a href="/cart" class=""> 7427 <svg class="icon icon-cart" version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7427005-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> 7428 </a> 7429 </div> 7430 <div class="drawer__title h4">Keranjang Belanja</div> 7431 <div class="drawer__close js-drawer-close"> 7432 <button type="button"> 7433 <svg class="icon icon-close" version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="32" height="32" viewBox="0 0 32 32"> 7434 <title>icon-close</title> 7435 <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> 7436 </svg> 7437 </button> 7438 </div> 7439 </div> 7440 <div id="CartContainer" class="p-2"></div> 7441 </div> 7442 7443
7443<script> 7444 7445 </script>
7445 7446
7446<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7446 7447 <!-- /snippets/ajax-cart-template.liquid --> 7448 7449
7449<script id="CartTemplate" type="text/template"> 7450 7451 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7452 <div class="ajaxcart__inner" {{ cart.item_count }}> 7453 {{#items}} 7454 <div class="ajaxcart__product"> 7455 <div class="ajaxcart__row" data-line="{{line}}"> 7456 <div class="grid"> 7457 <div class="grid__item one-quarter"> 7458 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7459 </div> 7460 <div class="grid__item three-quarters"> 7461 <p class="d-block mb-3"> 7462 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7463 {{#if variation}} 7464 <span class="ajaxcart__product-meta p">{{variation}}</span> 7465 {{/if}} 7466 {{#properties}} 7467 {{#each this}} 7468 {{#if this}} 7469 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7470 {{/if}} 7471 {{/each}} 7472 {{/properties}} 7473 7474 </p> 7475 <div class="grid--full display-table"> 7476 <div class="grid__item display-table-cell one-half"> 7477 <div class="ajaxcart__qty"> 7478 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7479 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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> 7480 <span class="visually-hidden">Kurangi jumlah barang</span> 7481 </button> 7482 <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]*"> 7483 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7484 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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> 7485 <span class="visually-hidden">Tambahkan jumlah barang</span> 7486 </button> 7487 </div> 7488 </div> 7489 <div class="grid__item display-table-cell one-half text-right"> 7490 {{#if discountsApplied}} 7491 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7492 <br><span class="h4">{{{linePrice}}}</span> 7493 {{else}} 7494 <span class="h4">{{{linePrice}}}</span> 7495 {{/if}} 7496 </div> 7497 </div> 7498 {{#if discountsApplied}} 7499 <div class="grid--full display-table"> 7500 <div class="grid__item text-right"> 7501 {{#each discounts}} 7502 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7503 {{/each}} 7504 </div> 7505 </div> 7506 {{/if}} 7507 </div> 7508 </div> 7509 </div> 7510 </div> 7511 </div> 7512 </div> 7513 {{/items}} 7514 </div> 7515 <div class="ajaxcart__footer"> 7516 <div class="grid--full cart-subtotal py-2"> 7517 <p>Subtotal</p> 7518 <h3 class="primary">{{{totalPrice}}}</h3> 7519 {{#if totalCartDiscount}} 7520 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7521 {{/if}} 7522 </div> 7523 7524 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7525 7526 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7527 </div> 7528 </form> 7529 7530 </script>
7530 7531
7531<script id="AjaxQty" type="text/template"> 7532 7533 <div class="ajaxcart__qty"> 7534 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7535 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="24" viewBox="0 0 32 32"> 7536 <title>icon-minus</title> 7537 <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> 7538 </svg> 7539 <span class="visually-hidden">Kurangi jumlah barang</span> 7540 </button> 7541 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7542 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7543 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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> 7544 <span class="visually-hidden">Tambahkan jumlah barang</span> 7545 </button> 7546 </div> 7547 7548 </script>
7548 7549
7549<script id="JsQty" type="text/template"> 7550 7551 <div class="js-qty mx-auto mt-2"> 7552 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7553 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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> 7554 <span class="visually-hidden">Kurangi jumlah barang</span> 7555 </button> 7556 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7557 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7558 <svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.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> 7559 <span class="visually-hidden">Tambahkan jumlah barang</span> 7560 </button> 7561 </div> 7562 7563 </script>
7563 7564 7565 <style> 7566 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7567 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7568 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7569 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7570 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7571 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7572 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7573 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7574 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7575 </style> 7576
7576<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7576 7577
7577<script> 7578 jQuery(function($) { 7579 ajaxCart.init({ 7580 formSelector: '#AddToCartForm', 7581 cartContainer: '#CartContainer', 7582 addToCartSelector: '#AddToCartXX', 7583 cartCountSelector: '#CartCount, #CartCount2', 7584 cartCostSelector: '#CartCost', 7585 moneyFormat: "Rp {{amount_no_decimals}}" 7586 }); 7587 }); 7588 7589 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7590 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7591 timber.RightDrawer.open(); 7592 }); 7593 </script>
7593 7594 7595 7596 7597 7598 <style> 7599 /** Search AutoComplete **/ 7600 .resultsearch .ui-menu-item[data-cat="Collection"], 7601 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7602 .resultsearch .ui-widget.ui-widget-content { 7603 width: 100%; 7604 top: 48px; 7605 border: none; 7606 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7607 } 7608 .resultsearch .ui-menu-item {text-align: left;} 7609 .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;} 7610 .ui-state-active { 7611 border: none!important; 7612 background-color: #fafafa!important; 7613 color: #000!important; 7614 } 7615 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7616 .ui-menu .ui-menu-item {line-height: normal;} 7617 </style> 7618
7618<script> 7619 $(window).load(function(){ 7620 7621 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;} 7622 7623 $.widget("custom.catcomplete", $.ui.autocomplete, { 7624 _renderMenu: function (ul, items) { 7625 // have search reults split up in categories 7626 var that = this, 7627 currentCategory = ""; 7628 $.each(items, function (index, item) { 7629 if (item.category != currentCategory) { 7630 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7631 currentCategory = item.category; 7632 } 7633 that._renderItemData(ul, item); 7634 }); 7635 } 7636 }); 7637 7638 // higlight searched for term 7639 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7640 var term = this.element.val(), 7641 html = item.label.replace( term, "<b>$&</b>" ); 7642 return $( "<li>" ) 7643 .append(format(item)) 7644 .appendTo( ul ); 7645 }; 7646 7647 7648 var data = [ 7649 { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius âï¸ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries âï¸ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer âï¸ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn âï¸ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft S
7649weetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
7649,{ 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: " " }
7649,{ 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: " " }
7649,{ 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
7649dal", 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-
7649hampers", 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
7649o-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: " " }
7649,{ 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: " " }
7649,{ 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: " " }
7649,{ 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: " " }
7649,{ 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: " " }
7649,{ 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: " " }
7649,{ 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: " " }
7649,{ 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: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "Hadir sebagai RAJADANA content terbaru yang menyediakan game slot online dan hiburan seru dengan fitur lengkap, akses cepat, dan update terkini 2026. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus âï¸ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-
7649bali", 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: " " },{ 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: " " }
7649,{ 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
7649dal", 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: " " }, 7650 { 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" }
7650,{ 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" }
7650,{ 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" } 7651 ]; 7652 7653 7654 $( ".header-input-search" ).catcomplete({ 7655 appendTo: ".searchResult",source: function(request, response) { 7656 var results = $.ui.autocomplete.filter(data, request.term); 7657 var predicate = function () { 7658 var counter = { Collection: 0, Produk: 0 }; 7659 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7660 return fn 7661 }(); 7662 response(results.filter(predicate)); 7663 }, 7664 minLength:1, 7665 //results are clickable 7666 select: function( event, ui ) {window.location = ui.item.url;} 7667 }); 7668 $( ".header-input-search2" ).catcomplete({ 7669 appendTo: ".searchResult2", 7670 source: function(request, response) { 7671 var results = $.ui.autocomplete.filter(data, request.term); 7672 var predicate = function () { 7673 var counter = { Collection: 0, Produk: 0 }; 7674 var fn = function(item) { 7675 counter[item.category] += 1; 7676 return (counter[item.category] <= 5); 7677 } 7678 return fn 7679 }(); 7680 response(results.filter(predicate)); 7681 }, 7682 minLength:1, 7683 //results are clickable 7684 select: function( event, ui ) { 7685 window.location = ui.item.url; 7686 } 7687 }); 7688 }); 7689 </script>
7689 7690 7691
7691<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7691 7692
7692<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7692 7693 7694
7694<script> 7695 ( function() { 7696 var youtube = document.querySelectorAll( ".youtube" ); 7697 for (var i = 0; i < youtube.length; i++) { 7698 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7699 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7700 var image = new Image(); 7701 image.src = source; 7702 image.setAttribute("data-src", datasource); 7703 image.classList.add("swiper-lazy"); 7704 image.addEventListener( "load", function() { 7705 youtube[ i ].appendChild( image ); 7706 }( i ) ); 7707 youtube[i].addEventListener( "click", function() { 7708 var iframe = document.createElement( "iframe" ); 7709 iframe.setAttribute( "width", "480" ); 7710 iframe.setAttribute( "height", "480" ); 7711 iframe.setAttribute( "frameborder", "0" ); 7712 iframe.setAttribute( "allowfullscreen", "" ); 7713 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7714 this.innerHTML = ""; 7715 this.appendChild( iframe ); 7716 } ); 7717 }; 7718 7719 } )(); 7720 7721 /* Lazy Load */ 7722 const mainLazyLoad = new LazyLoad({threshold:400}); 7723 $(document).ready(function(){ 7724 7725 $("selectxxx").addClass("needsclick"); 7726 FastClick.attach(document.body); 7727 7728 var $customSelects = $('.select-search'); 7729 $customSelects.select2({ 7730 templateResult: function(result, container) { 7731 if (!result.id) { 7732 return result.text; 7733 } 7734 container.className += ' needsclick'; 7735 return result.text; 7736 } 7737 }); 7738 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7739 $(document).on('select2:open', () => { 7740 document.querySelector('.select2-search__field').focus(); 7741 }); 7742 7743 7744 $(".overlay").click(function(){ 7745 $(".js-drawer-close").click(); 7746 }); 7747 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7748 $("html").toggleClass("nav_open"); 7749 }); 7750 7751 $('.swatch-element label').on('click', function(){ 7752 var srcImg = $(this).data('src'); 7753 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7754 if ($(this).attr("href") == srcImg) { 7755 $(this).trigger('click'); 7756 } 7757 }); 7758 }); 7759 var defaultValue = $(".swatch input:checked").val() 7760 7761 $('#purchaseProduct .swatch [type=radio]').change(function() { 7762 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7763 var optionValue = $(this).val(); 7764 console.log(optionIndex, optionValue) 7765 var value = parseInt(optionValue.split(' ')[0]) 7766 $(this) 7767 .closest('#purchaseProduct') 7768 .find('.single-option-selector') 7769 .eq(optionIndex) 7770 .val(optionValue) 7771 .trigger('change'); 7772 7773 }); 7774 7775 }); 7776 $(document).ready(function(){ 7777 $(".nav-search a").click(function(e){ 7778 e.preventDefault(); 7779 $(".icon-navsearch").toggle(); 7780 $(".icon-navclose").toggle(); 7781 $(".site-nav__item > .site-nav__link").toggle(); 7782 $(".open-search").toggle(); 7783 $(".open-search input").focus(); 7784 }); 7785 $(".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'>"); 7786 if ($(window).width() < 768) { 7787 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7788 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7789 $(".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'>"); 7790 } else { 7791 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7792 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7793 $(".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'>"); 7794 } 7795 $(".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'>"); 7796 $(".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'>"); 7797 }); 7798 </script>
7798 7799 7800 7801 7802 7803
7803<script type="text/javascript"> 7804 var wishlistpage = 0; 7805 7806 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 7807 </script>
7807 7808 7809 <!-- Remove duplicate wishlist.js reference --> 7810 <style> 7811 .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)}} 7812 </style> 7813 7814 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 7815 <div class="modal-dialog" role="document"> 7816 <div class="modal-content"> 7817 <div class="modal-body">Your Wishlist is empty!</div> 7818 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 7819 </div> 7820 </div> 7821 </div> 7822 7823 <div class="wishlist-model"> 7824 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 7825 <div class="modal-dialog white-modal"> 7826 <div class="modal-content"> 7827 <div class="modal-header"> 7828 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 7829 <svg class="icon icon-close" version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="32" height="32" viewBox="0 0 32 32"> 7830 <title>icon-close</title> 7831 <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> 7832 </svg> 7833 </button> 7834 </div> 7835 <div class="modal-body"> 7836 <div class="wishlist-left"> 7837 <div class="wishlist-note">
7838 <span class="cirle"><svg version="1.1" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="32" height="32" viewBox="0 0 32 32"> 7839 <title>icon-check</title> 7840 <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> 7841 </svg></span> 7842 Product added to <a href="/pages/wish-list">Wishlist</a> 7843 </div> 7844 <div class="wishlist-product"> 7845 <div class="product-left"> 7846 <div class="wishlist-image"></div> 7847 </div> 7848 <div class="product-right"> 7849 <div class="wishlist-name"></div> 7850 <div class="wishlist-price"></div> 7851 </div> 7852 </div> 7853 </div> 7854 <div class="wishlist-right"> 7855 <div class="wishlist-cart"> 7856 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 7857 <div class="others-bottom"> 7858 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 7859 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 7860 <span id="AddToCartText" class="">Beli Sekarang</span> 7861 </button> 7862 </div> 7863 <div id="wishlist-variants-container" class="variants-wrapper"></div> 7864 <div class="quantity-content"> 7865 <label>QTY</label> 7866 <input type="number" size="5" class="" name="quantity" value="1" /> 7867 </div> 7868 </form> 7869 </div> 7870 </div> 7871 </div> 7872 </div> 7873 </div> 7874 </div> 7875 </div> 7876 7877 7878 <style> 7879 .stamped-badge[data-rating="0.0"]{display: none !Important;} 7880 7881 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 7882 border-radius: 0px; 7883 } 7884 .stamped-review-body { 7885 padding-left: 0px !important; 7886 } 7887 #product-reviews .stamped-header:after { 7888 display:none !Important; 7889 } 7890 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 7891 font-family:inherit !important; 7892 } 7893 </style> 7894 7895 7896 7897 <div id='stamped-rewards-init' class='stamped-rewards-init' 7898 data-key-public='' 7899 7900 ></div> 7901 7902
7902<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7902 7903 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 7904
7904<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7904 7905 7906
7906<script> 7907 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 7908 </script>
7908 7909
7909<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7909<style> 7910 .jss59 { 7911 background-color: rgba(0, 0, 0, 0.6); 7912 } 7913 .MuiBackdrop-root { 7914 top: 0; 7915 left: 0; 7916 right: 0; 7917 bottom: 0; 7918 display: flex; 7919 z-index: -1; 7920 position: fixed; 7921 align-items: center; 7922 justify-content: center; 7923 background-color: rgba(0, 0, 0, 0.5); 7924 -webkit-tap-highlight-color: transparent; 7925 } 7926 .MuiDialog-scrollPaper { 7927 display: flex; 7928 align-items: center; 7929 justify-content: center; 7930 } 7931 .MuiDialog-container { 7932 height: 100%; 7933 outline: 0; 7934 } 7935 .MuiPaper-elevation24 { 7936 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); 7937 } 7938 .MuiDialog-paper { 7939 margin: 32px; 7940 position: relative; 7941 overflow-y: auto; 7942 } 7943 .MuiDialog-paperScrollPaper { 7944 display: flex; 7945 max-height: calc(100% - 64px); 7946 flex-direction: column; 7947 } 7948 .MuiDialog-paperWidthSm { 7949 max-width: 600px; 7950 } 7951 #location-lock-dialog { 7952 top: 20%; 7953 left: 0; 7954 right: 0; 7955 width: 30%; 7956 margin: 0px auto; 7957 display: block; 7958 padding: 30px; 7959 z-index: 99999; 7960 position: fixed; 7961 font-size: 14px; 7962 background: rgb(0, 0, 0); 7963 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 7964 text-align: center; 7965 font-family: Roboto, Arial, sans-serif; 7966 line-height: 1; 7967 border-radius: 8px; 7968 -webkit-font-smoothing: subpixel-antialiased; 7969 } 7970 .MuiButtonBase-root { 7971 color: inherit; 7972 border: 0; 7973 cursor: pointer; 7974 margin: 0; 7975 display: inline-flex; 7976 outline: 0; 7977 padding: 0; 7978 position: relative; 7979 align-items: center; 7980 user-select: none; 7981 border-radius: 0; 7982 vertical-align: middle; 7983 -moz-appearance: none; 7984 justify-content: center; 7985 text-decoration: none; 7986 background-color: transparent; 7987 -webkit-appearance: none; 7988 -webkit-tap-highlight-color: transparent; 7989 } 7990 .MuiIconButton-root { 7991 flex: 0 0 auto; 7992 color: rgba(0, 0, 0, 0.54); 7993 padding: 12px; 7994 overflow: visible; 7995 font-size: 1.5rem; 7996 text-align: center; 7997 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7998 border-radius: 50%; 7999 } 8000 .MuiIconButton-label { 8001 width: 100%; 8002 display: flex; 8003 align-items: inherit; 8004 justify-content: inherit; 8005 } 8006 .MuiSvgIcon-root { 8007 fill: currentColor; 8008 width: 1em; 8009 height: 1em; 8010 display: inline-block; 8011 font-size: 1.5rem; 8012 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8013 flex-shrink: 0; 8014 user-select: none; 8015 } 8016 .MuiTouchRipple-root { 8017 top: 0; 8018 left: 0; 8019 right: 0; 8020 bottom: 0; 8021 z-index: 0; 8022 overflow: hidden; 8023 position: absolute; 8024 border-radius: inherit; 8025 pointer-events: none; 8026 } 8027 .jss36 { 8028 color: #222222; 8029 font-size: 24px; 8030 font-family: Roboto, Arial, sans-serif; 8031 font-weight: 500; 8032 } 8033 .jss37 { 8034 color: #555555; 8035 padding: 10px 0px 0px; 8036 font-size: 14px; 8037 } 8038 .MuiFormGroup-root { 8039 display: flex; 8040 flex-wrap: wrap; 8041 flex-direction: column; 8042 } 8043 .MuiFormGroup-row { 8044 flex-direction: row; 8045 } 8046 .jss63 { 8047 width: 85%; 8048 margin: 15px auto; 8049 display: flex; 8050 padding: 11px 0px 0px; 8051 justify-content: space-evenly; 8052 } 8053 .MuiFormControlLabel-root { 8054 cursor: pointer; 8055 display: inline-flex; 8056 align-items: center; 8057 margin-left: -11px; 8058 margin-right: 16px; 8059 vertical-align: middle; 8060 -webkit-tap-highlight-color: transparent; 8061 } 8062 .jss70 { 8063 margin: 0; 8064 } 8065 .MuiButtonBase-root { 8066 color: inherit; 8067 border: 0; 8068 cursor: pointer; 8069 margin: 0; 8070 display: inline-flex; 8071 outline: 0; 8072 padding: 0; 8073 position: relative; 8074 align-items: center; 8075 user-select: none; 8076 border-radius: 0; 8077 vertical-align: middle; 8078 -moz-appearance: none; 8079 justify-content: center; 8080 text-decoration: none; 8081 background-color: transparent; 8082 -webkit-appearance: none; 8083 -webkit-tap-highlight-color: transparent; 8084 } 8085 .MuiIconButton-root { 8086 flex: 0 0 auto; 8087 color: rgba(0, 0, 0, 0.54); 8088 padding: 12px; 8089 overflow: visible; 8090 font-size: 1.5rem; 8091 text-align: center; 8092 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8093 border-radius: 50%; 8094 } 8095 .MuiIconButton-colorSecondary { 8096 color: #f50057; 8097 } 8098 .jss71 { 8099 padding: 9px; 8100 } 8101 .MuiRadio-root { 8102 color: rgba(0, 0, 0, 0.54); 8103 } 8104 .jss64 { 8105 padding: 2px; 8106 } 8107 .MuiRadio-colorSecondary.Mui-checked { 8108 color: #f50057; 8109 } 8110 .MuiIconButton-label { 8111 width: 100%; 8112 display: flex; 8113 align-items: inherit; 8114 justify-content: inherit; 8115 } 8116 .MuiTypography-root { 8117 margin: 0; 8118 } 8119 .MuiTypography-body1 { 8120 font-size: 18px; 8121 font-family: Roboto,sans-serif; 8122 font-weight: 400; 8123 line-height: 1.5; 8124 } 8125 .location-popup_area-block__sp9Ws { 8126 display: -moz-box; 8127 display: flex; 8128 -moz-box-orient: vertical; 8129 -moz-box-direction: normal; 8130 flex-direction: column; 8131 -moz-box-pack: center; 8132 justify-content: center; 8133 position: relative; 8134 margin: 10px 10% 0;
8135 } 8136 .location-popup_pin-search-box__3l5mJ { 8137 width: 100%; 8138 display: -moz-box; 8139 display: flex; 8140 -moz-box-align: center; 8141 align-items: center; 8142 } 8143 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8144 position: absolute; 8145 z-index: 999; 8146 } 8147 .location-popup_place-icon__jSG0Q { 8148 color: #ffffff; 8149 padding-left: 8px; 8150 } 8151 .location-popup_place-icon__jSG0Q svg { 8152 width: 18px; 8153 height: 18px; 8154 } 8155 .location-popup_cancel-icon__FHujU { 8156 color: #fff; 8157 right: 10px; 8158 width: 16px; 8159 cursor: pointer; 8160 height: 16px; 8161 display: none; 8162 padding: 5px; 8163 position: absolute; 8164 background: #999; 8165 text-align: center; 8166 border-radius: 50%; 8167 } 8168 .location-popup_pin-search-box__3l5mJ>div>select { 8169 /* -webkit-box-shadow: 0 0 10px #ffffff; 8170 box-shadow: 0 0 10px #ffffff; */ 8171 text-transform: capitalize; 8172 border: 1px solid #ffffff; 8173 color: #ffffff; 8174 width: 100%; 8175 margin: 0; 8176 display: -moz-box; 8177 display: flex; 8178 padding: 0 30px; 8179 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8180 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8181 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8182 font-size: 16px; 8183 border-radius: 4px; 8184 height: 44px; 8185 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8186 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8187 } 8188 .MuiButtonBase-root { 8189 color: inherit; 8190 border: 0; 8191 cursor: pointer; 8192 margin: 0; 8193 display: inline-flex; 8194 outline: 0; 8195 padding: 0; 8196 position: relative; 8197 align-items: center; 8198 user-select: none; 8199 border-radius: 0; 8200 vertical-align: middle; 8201 -moz-appearance: none; 8202 justify-content: center; 8203 text-decoration: none; 8204 background-color: transparent; 8205 -webkit-appearance: none; 8206 -webkit-tap-highlight-color: transparent; 8207 } 8208 .MuiButton-root { 8209 color: rgba(0, 0, 0, 0.87); 8210 padding: 6px 16px; 8211 font-size: 0.875rem; 8212 min-width: 64px; 8213 box-sizing: border-box; 8214 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; 8215 font-family: Roboto,sans-serif; 8216 font-weight: 500; 8217 line-height: 1.75; 8218 border-radius: 4px; 8219 text-transform: uppercase; 8220 } 8221 .MuiButton-contained { 8222 color: rgba(0, 0, 0, 0.87); 8223 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); 8224 background-color: #e0e0e0; 8225 } 8226 .MuiButtonBase-root.Mui-disabled { 8227 cursor: default; 8228 pointer-events: none; 8229 } 8230 .MuiButton-label { 8231 width: 100%; 8232 display: inherit; 8233 align-items: inherit; 8234 justify-content: inherit; 8235 } 8236 .cartButton_login_content__2j1f7 { 8237 display: -moz-box; 8238 display: flex; 8239 text-align: center; 8240 z-index: 9; 8241 font-size: 18px; 8242 font-weight: 500; 8243 color: #fff; 8244 } 8245 8246 .jss35 { 8247 top: 5px; 8248 right: 5px; 8249 padding: 4px; 8250 position: absolute; 8251 border-radius: 50%; 8252 } 8253 .jss67 { 8254 cursor: pointer; 8255 font-size: 15px; 8256 line-height: 1.3; 8257 padding-left: 5px; 8258 } 8259 .jss69 { 8260 color: #222222; 8261 } 8262 .jss80 { 8263 color: #fff; 8264 width: 100%; 8265 height: 52px; 8266 padding: 11px 16px; 8267 font-size: 18px; 8268 min-width: 88px; 8269 min-height: 36px; 8270 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; 8271 font-weight: 500; 8272 line-weight: 1em; 8273 border-radius: 4px; 8274 text-transform: uppercase; 8275 background-color: #E87325; 8276 } 8277 @media (min-width: 991px){ 8278 .cartButton_login_content__2j1f7 { 8279 font-weight: 500; 8280 } 8281 } 8282 8283 @media (max-width: 992px) { 8284 #location-lock-dialog { 8285 width: 100%; 8286 top: auto; 8287 bottom: 0; 8288 padding-left: 0; 8289 padding-right: 0; 8290 } 8291 .MuiFormGroup-row { 8292 display: block 8293 } 8294 .MuiIconButton-label input { 8295 margin: 0; 8296 } 8297 } 8298 </style> 8299 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8300 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8301 <div tabindex="0" data-test="sentinelStart"></div> 8302 <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;"> 8303 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8304 <div class="jss31 undefined" id="location-lock-dialog"> 8305 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8306 <span class="MuiIconButton-label"> 8307 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8308 <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> 8309 </svg> 8310 </span> 8311 <span class="MuiTouchRipple-root"></span> 8312 </button> 8313 <div> 8314 <div class="jss36">Select Delivery Location</div> 8315 <div class="jss37">Select a delivery location to see product availability</div> 8316 </div> 8317 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8318 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8319 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8320 <span class="MuiIconButton-label"> 8321 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8322 <span class="jss41"></span> 8323 </span> 8324 <span class="MuiTouchRipple-root"></span> 8325 </span> 8326 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8327 <span class="jss67 jss69">Jabodetabek</span> 8328 </span> 8329 </label> 8330 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8331 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8332 <span class="MuiIconButton-label"> 8333 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8334 <span class="jss40"></span> 8335 </span> 8336 <span class="MuiTouchRipple-root"></span> 8337 </span> 8338 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8339 <span class="jss67 jss68">Outside Jabodetabek</span> 8340 </span> 8341 </label> 8342 </div> 8343 <div> 8344 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8345 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8346 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8347 <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> 8348 </div> 8349 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8350 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8351 </div> 8352 <div style="width: 100%;"> 8353 <select id="choose-location" class="form-control"> 8354 <option value="">Choose Location</option> 8355 <option value="jakarta">Jakarta</option> 8356 <option value="bogor">Bogor</option> 8357 <option value="depok">Depok</option> 8358 <option value="tangerang">Tangerang</option> 8359 <option value="bekasi">Bekasi</option> 8360 </select> 8361 </div> 8362 </div> 8363 </div> 8364 </div> 8365 <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=""> 8366 <span class="MuiButton-label">
8367 <span class=""></span> 8368 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8369 </span> 8370 </button> 8371 </div> 8372 </div> 8373 </div> 8374 <div tabindex="0" data-test="sentinelEnd"></div> 8375 </div> 8376 8377
8377<script> 8378 const jabodetabek = [ 8379 { 8380 "code": "jakarta", 8381 "city": "jakarta", 8382 "zip": [] 8383 }, 8384 { 8385 "code": "bogor", 8386 "city": "bogor", 8387 "zip": [] 8388 }, 8389 { 8390 "code": "depok", 8391 "city": "depok", 8392 "zip": [] 8393 }, 8394 { 8395 "code": "tangerang", 8396 "city": "tangerang", 8397 "zip": [] 8398 }, 8399 { 8400 "code": "bekasi", 8401 "city": "bekasi", 8402 "zip": [] 8403 } 8404 ] 8405 let cityNonJabodetabek = [ 8406 8407 8408 8409 8410 "pengiriman_aceh", 8411 8412 8413 8414 8415 8416 "pengiriman_ambon", 8417 8418 8419 8420 8421 8422 "pengiriman_atambua", 8423 8424 8425 8426 8427 8428 "pengiriman_badung", 8429 8430 8431 8432 8433 8434 "pengiriman_bali", 8435 8436 8437 8438 8439 8440 "pengiriman_balikpapan", 8441 8442 8443 8444 8445 8446 "pengiriman_bandar lampung", 8447 8448 8449 8450 8451 8452 "pengiriman_bandung", 8453 8454 8455 8456 8457 8458 "pengiriman_bandung barat", 8459 8460 8461 8462 8463 8464 "pengiriman_banjarmasin", 8465 8466 8467 8468 8469 8470 "pengiriman_banyumas", 8471 8472 8473 8474 8475 8476 "pengiriman_banyuwangi", 8477 8478 8479 8480 8481 8482 "pengiriman_batam", 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 "pengiriman_biak", 8493 8494 8495 8496 8497 8498 "pengiriman_binjai", 8499 8500 8501 8502 8503 8504 "pengiriman_blitar", 8505 8506 8507 8508 8509 8510 "pengiriman_blora", 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 "pengiriman_bojonegoro", 8521 8522 8523 8524 8525 8526 "pengiriman_boyolali", 8527 8528 8529 8530 8531 8532 "pengiriman_bukittinggi", 8533 8534 8535 8536 8537 8538 "pengiriman_buleleng", 8539 8540 8541 8542 8543 8544 "pengiriman_ciamis", 8545 8546 8547 8548 8549 8550 "pengiriman_cianjur", 8551 8552 8553 8554 8555 8556 "pengiriman_cibinong", 8557 8558 8559 8560 8561 8562 "pengiriman_cikarang", 8563 8564 8565 8566 8567 8568 "pengiriman_cikupa", 8569 8570 8571 8572 8573 8574 "pengiriman_cilacap", 8575 8576 8577 8578 8579 8580 "pengiriman_cileunyi", 8581 8582 8583 8584 8585 8586 "pengiriman_cimahi", 8587 8588 8589 8590 8591 8592 "pengiriman_cirebon", 8593 8594 8595 8596 8597 8598 "pengiriman_ciwidey", 8599 8600 8601 8602 8603 8604 "pengiriman_deli serdang", 8605 8606 8607 8608 8609 8610 "pengiriman_demak", 8611 8612 8613 8614 8615 8616 "pengiriman_denpasar", 8617 8618 8619 8620 8621 8622 8623 "pengiriman_garut", 8624 8625 8626 8627 8628 8629 "pengiriman_gianyar", 8630 8631 8632 8633 8634 8635 "pengiriman_gresik", 8636 8637 8638 8639 8640 8641 "pengiriman_gunung kidul", 8642 8643 8644 8645 8646 8647 8648 "pengiriman_jambi", 8649 8650 8651 8652 8653 8654 "pengiriman_jayapura", 8655 8656 8657 8658 8659 8660 "pengiriman_jember", 8661 8662 8663 8664 8665 8666 "pengiriman_jepara", 8667 8668 8669 8670 8671 8672 "pengiriman_jombang", 8673 8674 8675 8676 8677 8678 "pengiriman_karanganyar", 8679 8680 8681 8682 8683 8684 "pengiriman_karawang", 8685 8686 8687 8688 8689 8690 "pengiriman_karo", 8691 8692 8693 8694 8695 8696 "pengiriman_kebumen", 8697 8698 8699 8700 8701 8702 "pengiriman_kediri", 8703 8704 8705 8706 8707 8708 "pengiriman_keerom", 8709 8710 8711 8712 8713 8714 "pengiriman_kendal", 8715 8716 8717 8718 8719 8720 "pengiriman_klaten", 8721 8722 8723 8724 8725 8726 "pengiriman_kudus", 8727 8728 8729 8730 8731 8732 "pengiriman_kupang", 8733 8734 8735 8736 8737 8738 "pengiriman_lainnya", 8739 8740 8741 8742 8743 8744 "pengiriman_lamongan", 8745 8746 8747 8748 8749 8750 "pengiriman_lampung", 8751 8752 8753 8754 8755 8756 "pengiriman_lampung barat", 8757 8758 8759 8760 8761 8762 "pengiriman_lembang", 8763 8764 8765 8766 8767 8768 "pengiriman_lombok", 8769 8770 8771 8772 8773 8774 "pengiriman_lumajang", 8775 8776 8777 8778 8779 8780 "pengiriman_madiun", 8781 8782 8783 8784 8785 8786 "pengiriman_magelang", 8787 8788 8789 8790 8791 8792 "pengiriman_majalengka", 8793 8794 8795 8796 8797 8798 "pengiriman_makassar", 8799 8800 8801 8802 8803 8804 "pengiriman_malang", 8805 8806 8807 8808 8809 8810 "pengiriman_manado", 8811 8812 8813 8814 8815 8816 "pengiriman_medan", 8817 8818 8819 8820 8821 8822 "pengiriman_mengwi", 8823 8824 8825 8826 8827 8828 "pengiriman_mojokerto", 8829 8830 8831 8832 8833 8834 "pengiriman_nganjuk", 8835 8836 8837 8838 8839 8840 "pengiriman_ngawi", 8841 8842 8843 8844 8845 8846 "pengiriman_padang", 8847 8848 8849 8850 8851 8852 "pengiriman_palembang", 8853 8854 8855 8856 8857 8858 "pengiriman_pasuruan", 8859 8860 8861 8862 8863 8864 "pengiriman_pati", 8865 8866 8867 8868 8869 8870 "pengiriman_pekalongan", 8871 8872 8873 8874 8875 8876 "pengiriman_pekanbaru", 8877 8878 8879 8880 8881 8882 "pengiriman_pemalang", 8883 8884 8885 8886 8887 8888 "pengiriman_ponorogo", 8889 8890 8891 8892 8893 8894 "pengiriman_pontianak", 8895 8896 8897 8898 8899 8900 "pengiriman_probolinggo", 8901 8902 8903 8904 8905 8906 "pengiriman_purbalingga", 8907 8908 8909 8910 8911 8912 "pengiriman_purwakarta", 8913 8914 8915 8916 8917 8918 "pengiriman_purwokerto", 8919 8920 8921 8922 8923 8924 "pengiriman_rembang", 8925 8926 8927 8928 8929 8930 "pengiriman_riau", 8931 8932 8933 8934 8935 8936 "pengiriman_salatiga", 8937 8938 8939 8940 8941 8942 "pengiriman_samarinda", 8943 8944 8945 8946 8947 8948 "pengiriman_semarang", 8949 8950 8951 8952 8953 8954 "pengiriman_sentani", 8955 8956 8957 8958 8959 8960 "pengiriman_serang", 8961 8962 8963 8964 8965 8966 "pengiriman_sidoarjo", 8967 8968 8969 8970 8971 8972 "pengiriman_singkawang", 8973 8974 8975 8976 8977 8978 "pengiriman_sragen", 8979 8980 8981 8982 8983 8984 "pengiriman_subang", 8985 8986 8987 8988 8989 8990 "pengiriman_sukabumi", 8991 8992 8993 8994 8995 8996 "pengiriman_sumbawa", 8997 8998 8999 9000 9001 9002 "pengiriman_surabaya", 9003 9004 9005 9006 9007 9008 "pengiriman_surakarta solo", 9009 9010 9011 9012 9013 "pengiriman_tasikmalaya", 9014 9015 9016 9017 9018 9019 "pengiriman_tegal", 9020 9021 9022 9023 9024 9025 "pengiriman_timika", 9026 9027 9028 9029 9030 9031 "pengiriman_wamena", 9032 9033 9034 9035 9036 9037 "pengiriman_wiyung", 9038 9039 9040 9041 9042 9043 "pengiriman_wonokromo", 9044 9045 9046 9047 9048 9049 "pengiriman_yogyakarta", 9050 9051 ] 9052 console.log(cityNonJabodetabek) 9053 let non_jabodetabek = [] 9054 for(var i=0;i<cityNonJabodetabek.length;i++) { 9055 const obj = { 9056 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 9057 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 9058 "zip": [] 9059 } 9060 non_jabodetabek.push(obj) 9061 } 9062 let current_location = getCookie("location_delivery") 9063 $("[name=location]").change(function(){ 9064 let v = $(this).val() 9065 let option = [] 9066 if(v == 'Jabodetabek') { 9067 for(var i=0;i<jabodetabek.length;i++) { 9068 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 9069 option.push(jabodetabekHtml) 9070 } 9071 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 9072 } else { 9073 for(var i=0;i<non_jabodetabek.length;i++) { 9074 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 9075 option.push(nonjabodetabekHtml) 9076 } 9077 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 9078 } 9079 }) 9080 9081 $("#location-lock-submit").click(function(e){
9082 let select = $("#choose-location") 9083 let value = select.val().toLowerCase() 9084 console.log(value) 9085 if(select.val() == "") { 9086 return alert("Choose Your Location") 9087 e.preventDefault() 9088 } 9089 setCookie("location_delivery",value,1000000); 9090 9091 location.reload(); 9092 9093 }) 9094 9095 $("#close-popup-delivery").click(function(){ 9096 $(".MuiDialog-root").hide() 9097 if(!current_location){ 9098 setCookie("location_delivery","jakarta",1000000); 9099 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 9100 } 9101 }) 9102 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 9103 $(".MuiDialog-root").show() 9104 }) 9105 9106 9107 if(!current_location){ 9108 9109 } else { 9110 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 9111 console.log(current_location) 9112 $("#choose-location").each(function(){ 9113 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 9114 $("#jabodetabek").trigger("click") 9115 } else { 9116 $("#non-jabodetabek").trigger("click") 9117 } 9118 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 9119 }) 9120 } 9121 9122 // 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'){ 9123 // $("#timeMalam").attr("disabled", false) 9124 // } else { 9125 // $("#timeMalam").attr("disabled", true) 9126 // } 9127 9128 if(current_location && current_location != 'jakarta') { 9129 $("#self-pickup").attr("disabled", true) 9130 } 9131 9132 function setCookie(name,value,days) { 9133 var expires = ""; 9134 if (days) { 9135 var date = new Date(); 9136 date.setTime(date.getTime() + (days*24*60*60*1000)); 9137 expires = "; expires=" + date.toUTCString(); 9138 } 9139 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 9140 } 9141 function getCookie(name) { 9142 var nameEQ = name + "="; 9143 var ca = document.cookie.split(';'); 9144 for(var i=0;i < ca.length;i++) { 9145 var c = ca[i]; 9146 while (c.charAt(0)==' ') c = c.substring(1,c.length); 9147 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 9148 } 9149 return null; 9150 } 9151 </script>
9151 9152 <!-- One Tap --> 9153
9153<script> 9154 console.log("Outerbloom..."); 9155 </script>
9155 9156 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 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 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 9204
9204<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9204 9205
9205<script> 9206 const widgetConfig = { 9207 id: "clz7897za002cz7otleaz0d3d", 9208 showQuickResponse: false, 9209 quickResponsesData: [], 9210 themeColor: "#ffffff", 9211 widgetText: "", 9212 radiusType: "circle", 9213 widgetIconType: "whatsapp", 9214 position: "right", 9215 storeLogo: "", 9216 storeName: "Outerbloom", 9217 storeDescription: "", 9218 size: "small", 9219 showCard: false, 9220 widgetColorType: "solid", 9221 widgetColor1: "#008069", 9222 widgetColor2: "#008069", 9223 social: { 9224 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 9225 values: { 9226 instagram: { 9227 enabled: false, 9228 value: "", 9229 }, 9230 facebook: { 9231 enabled: false, 9232 value: "", 9233 }, 9234 email: { 9235 enabled: false, 9236 value: "", 9237 }, 9238 x: { 9239 enabled: false, 9240 value: "", 9241 }, 9242 tiktok: { 9243 enabled: false, 9244 value: "", 9245 }, 9246 linkedin: { 9247 enabled: false, 9248 value: "", 9249 }, 9250 youtube: { 9251 enabled: false, 9252 value: "", 9253 }, 9254 }, 9255 }, 9256 }; 9257 9258 function initializeWidget() { 9259 if (typeof BBBWidget !== 'undefined') { 9260 BBBWidget.init(widgetConfig); 9261 } else { 9262 setTimeout(initializeWidget, 100); 9263 } 9264 } 9265 9266 initializeWidget();</script>
9266 9267 9268 9269 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 9270 9271 9272 <div style="position: fixed; bottom: 0; right: 0"></div> 9273 9274
9274<script> 9275 console.info("bitlogin extension version: v2.5.7"); 9276 9277 const googleScript = document.createElement("script"); 9278 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 9279 document.head.append(googleScript); 9280 9281 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 9282 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 9283 9284 const appearance = {"style":"square","hasShadow":true,"domain":"outerbloom1.myshopify.com","colorScheme":"match","backgroundColor":"#ffffff","outlineColor":"#ffe100","textColor":"#700000","position":"top","hideDivider":false,"dividerText":"","size":"small","format":"contentFlex","language":"en","buttonText":"Continue With","redirectLink":"\/account","googleOneTap":true,"googleOneTapBanner":true,"captureAdditionalData":true,"customerTag":"bitLogin","redirectOneTapDesktop":"[{\"label\":\"Account\",\"label2\":\"Desktop: Account\",\"value\":\"account\",\"parentValue\":\"Desktop\"}]","redirectOneTapMobile":"[{\"label\":\"Thank you page\",\"label2\":\"Mobile: Thank you page\",\"value\":\"thank_you\",\"parentValue\":\"Mobile\"}]","watermark":true,"buttonList":{"google":"Continue with Google","facebook":"Continue with Facebook","apple":"Continue with Apple","whatsapp":"Continue with WhatsApp","microsoft":"Continue with Microsoft","twitter":"Continue with X","amazon":"Continue with Amazon","instagram":"Continue with Instagram","magic_link":"Continue with Magic Link","mobile_app":"Continue with Mobile App","linkedin":"Continue with LinkedIn"}}; 9285 const config = [{"domain":"outerbloom1.myshopify.com","provider":"FACEBOOK","enabledMobile":false,"enabledWeb":true,"clientId":"922184709213757","clientSecret":"e3c874c8bce6da4211538ebda706d1cb","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"GOOGLE","enabledMobile":true,"enabledWeb":true,"clientId":"933600373534-vk6hiu9lqrtbblj0357q0gsoo7mqvsd0.apps.googleusercontent.com","clientSecret":"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","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":true,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"APPLE","enabledMobile":true,"enabledWeb":true,"clientId":"com.bitlogin.outerbloom","clientSecret":"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","appleTeamId":"1A","applePrivateKey":"1A","usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"WHATSAPP","enabledMobile":false,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"MICROSOFT","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"TWITTER","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"AMAZON","enabledMobile":false,"enabledWeb":false,"clientId":"amzn1.application-oa2-client.5b560a5e3e2943d6b25c50cd6dca5532","clientSecret":"amz
9285n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 9286 const redirectUrl = appearance.redirectLink; 9287 9288 let locationCacheSet = false; 9289 let errorLocation = false; 9290 let oneTapSet = false; 9291 9292 let bitloginCache = { 9293 appearance: appearance, 9294 config: config 9295 }; 9296 9297 let isInitializing = false; 9298 const queue = []; 9299 9300 // Add CSS for the popup 9301 const popupStyles = document.createElement('style'); 9302 popupStyles.textContent = ` 9303 /* Styles for login popup */ 9304 .bitlogin-popup-overlay { 9305 position: fixed; 9306 top: 0; 9307 left: 0; 9308 width: 100%; 9309 height: 100%; 9310 background: rgba(0, 0, 0, 0.45); 9311 backdrop-filter: blur(4px); 9312 display: flex; 9313 align-items: center; 9314 justify-content: center; 9315 opacity: 0; 9316 transition: opacity 0.3s ease-in-out; 9317 z-index: 999999; 9318 } 9319 9320 .bitlogin-popup-overlay.visible { 9321 opacity: 1; 9322 } 9323 9324 .bitlogin-popup { 9325 background: #FFFFFF; 9326 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 9327 border-radius: 16px; 9328 width: 100%; 9329 max-width: 560px; 9330 display: flex; 9331 overflow: hidden; 9332 position: relative; 9333 opacity: 0; 9334 transform: translateY(20px) scale(0.98); 9335 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 9336 } 9337 9338 .bitlogin-popup.visible { 9339 opacity: 1; 9340 transform: translateY(0) scale(1); 9341 } 9342 9343 .bitlogin-popup-with-image { 9344 max-width: 640px; 9345 } 9346 9347 .bitlogin-popup-right-image { 9348 flex-direction: row-reverse; 9349 } 9350 9351 .bitlogin-popup-image { 9352 object-fit: cover; 9353 width: 50%; 9354 height: auto; 9355 } 9356 9357 .bitlogin-popup-content { 9358 padding: 32px; 9359 position: relative; 9360 width: 50%; 9361 } 9362 9363 .bitlogin-popup-close { 9364 position: absolute; 9365 top: 16px; 9366 right: 16px; 9367 background: white; 9368 border: none; 9369 width: 30px; 9370 height: 30px; 9371 display: flex; 9372 align-items: center; 9373 justify-content: center; 9374 cursor: pointer; 9375 transition: background-color 0.2s; 9376 color: inherit; 9377 padding: 0; 9378 } 9379 9380 .bitlogin-popup-close:hover { 9381 background-color: #e5e5e5; 9382 } 9383 9384 .bitlogin-popup-buttons { 9385 display: flex; 9386 flex-direction: column; 9387 gap: 12px; 9388 margin-top: 24px; 9389 } 9390 9391 /* Button styles within popup - override width for popup buttons */ 9392 .bitlogin-popup-buttons #google-login, 9393 .bitlogin-popup-buttons #facebook-login, 9394 .bitlogin-popup-buttons #apple-login, 9395 .bitlogin-popup-buttons #whatsapp-login, 9396 .bitlogin-popup-buttons #microsoft-login, 9397 .bitlogin-popup-buttons #twitter-login, 9398 .bitlogin-popup-buttons #amazon-login, 9399 .bitlogin-popup-buttons #instagram-login, 9400 .bitlogin-popup-buttons #magic-link-login, 9401 .bitlogin-popup-buttons #mobile-app-login { 9402 width: 100% !important; 9403 font-family: inherit !important; 9404 } 9405 9406 .bitlogin-popup-footer { 9407 margin-top: 32px; 9408 text-align: center; 9409 font-size: 14px; 9410 opacity: 0.6; 9411 } 9412 9413 /* Modern Typography */ 9414 .bitlogin-popup h2 { 9415 margin-top: 12px; 9416 font-size: 21px !important; 9417 line-height: 1.2 !important; 9418 font-weight: 700 !important; 9419 letter-spacing: -0.02em !important; 9420 margin-bottom: 16px !important; 9421 } 9422 9423 .bitlogin-popup-header { 9424 position: relative; 9425 margin-bottom: 24px; 9426 } 9427 9428 /* Modern gradient accent */ 9429 .bitlogin-popup-content > div { 9430 font-size: 16px !important; 9431 line-height: 1.2 !important; 9432 opacity: 0.85 !important; 9433 } 9434 9435 /* Enhanced button interactions */ 9436 .bitlogin-popup-buttons button { 9437 position: relative; 9438 overflow: hidden; 9439 } 9440 9441 @keyframes ripple { 9442 0% { 9443 transform: scale(0, 0); 9444 opacity: 0.5; 9445 } 9446 100% { 9447 transform: scale(100, 100); 9448 opacity: 0; 9449 } 9450 } 9451 9452 /* Responsive adjustments */ 9453 @media (max-width: 640px) { 9454 .bitlogin-popup { 9455 max-width: 90%; 9456 width: 90%; 9457 margin: 0 16px; 9458 } 9459 9460 .bitlogin-popup-with-image { 9461 flex-direction: column !important; 9462 } 9463 9464 .bitlogin-popup-image { 9465 width: 100%; 9466 height: 180px; 9467 } 9468 9469 .bitlogin-popup-content { 9470 padding: 24px; 9471 } 9472 9473 .bitlogin-popup h2 { 9474 font-size: 24px !important; 9475 } 9476 } 9477 `; 9478
9479 document.head.appendChild(popupStyles); 9480 9481 // Add fonts link for different font options 9482 const fontsLink = document.createElement('link'); 9483 fontsLink.rel = 'stylesheet'; 9484 fontsLink.href = 'https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Roboto:wght@400;500&family=Open+Sans:wght@400;500;600&family=Noto+Sans:wght@400;500;600&family=Lato:wght@400;700&family=Poppins:wght@400;500;600&family=Quicksand:wght@400;500;600&family=Raleway:wght@400;500;600&family=PT+Sans:wght@400;700&family=Oswald:wght@400;500;600&display=swap'; 9485 document.head.appendChild(fontsLink); 9486 9487 (async () => { 9488 try { 9489 let host = window.location.host; 9490 if (host === "admin.shopify.com") { 9491 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 9492 } 9493 9494 const urlSearchParams = new URLSearchParams(window.location.search); 9495 const checkoutUrl = urlSearchParams.get("checkout_url"); 9496 9497 async function init({ inputRef, index }) { 9498 if (isInitializing) { 9499 queue.push(() => init({ inputRef, index })); 9500 return; 9501 } 9502 9503 isInitializing = true; 9504 9505 try { 9506 let bitLoginSectionRoot = document.querySelector( 9507 `.bitlogin-root[data-index="${index}"]` 9508 ); 9509 9510 const formRef = inputRef?.closest( 9511 "form:not([action='/account/recover'])" 9512 ); 9513 9514 if (formRef && !bitLoginSectionRoot) { 9515 await getLocation(); 9516 9517 bitLoginSectionRoot = document.createElement(`div`); 9518 9519 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 9520 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 9521 9522 updateAppearance({ 9523 formRef, 9524 rootRef: bitLoginSectionRoot, 9525 host, 9526 }); 9527 } 9528 } catch (err) { 9529 console.error(`error while initiating bitlogin extensions`, err); 9530 } finally { 9531 // Release the lock 9532 isInitializing = false; 9533 9534 // Check if there are pending items in the queue 9535 if (queue.length > 0) { 9536 // Process the next function in the queue 9537 const nextFunction = queue.shift(); 9538 nextFunction(); 9539 } 9540 } 9541 } 9542 9543 function initAll() { 9544 return new Promise((resolve, reject) => { 9545 setTimeout(async () => { 9546 const inputRefs = document.querySelectorAll( 9547 'input[name="customer[email]"]' 9548 ); 9549 9550 for (let i = 0; i < inputRefs.length; i++) { 9551 const currentInputRef = inputRefs[i]; 9552 const isVisible = isElementVisible(currentInputRef); 9553 9554 if (isVisible) { 9555 await init({ inputRef: currentInputRef, index: i }); 9556 } 9557 } 9558 9559 resolve("ok"); 9560 }, 100); 9561 }); 9562 } 9563 9564 const observer = new MutationObserver((mutationsList) => { 9565 for (let mutation of mutationsList) { 9566 initAll(); 9567 } 9568 }); 9569 9570 observer.observe(document.body, { 9571 childList: true, 9572 subtree: true, 9573 attributes: true, 9574 }); 9575 9576 initAll(); 9577 9578 if (appearance.googleOneTap) { 9579 setupOneTap({ host, checkoutUrl }); 9580 } 9581 9582 // Initialize popup 9583 await initPopup(host); 9584 } catch (error) { 9585 console.error("Error initializing BitLogin:", error); 9586 } 9587 })(); 9588 9589 async function initPopup(host) { 9590 // Check if user is already logged in using Liquid checks properly 9591 const isLoggedIn = false || 9592 document.querySelector('.customer-logout-link') || 9593 document.querySelector('.account-link') || 9594 window.location.pathname.includes('/account'); 9595 9596 if (isLoggedIn) { 9597 return; // User is logged in, don't show popup 9598 } 9599 9600 try { 9601 // Fetch the popup configuration 9602 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 9603 .then(res => res.json()) 9604 .catch(err => { 9605 console.error('Error fetching popup configuration:', err); 9606 return null; 9607 }); 9608 9609 if (!popupConfig || !popupConfig.enabled) { 9610 return;
9610 // Don't show popup if disabled or config not found 9611 } 9612 9613 // Create popup after 10 seconds 9614 setTimeout(() => { 9615 // Check if user is still on the page and still not logged in 9616 if (document.visibilityState === 'visible') { 9617 // Additional check in case user logged in during the 10 second wait 9618 const currentlyLoggedIn = false || 9619 document.querySelector('.customer-logout-link') || 9620 document.querySelector('.account-link'); 9621 9622 if (!currentlyLoggedIn) { 9623 createLoginPopup(popupConfig, host); 9624 } 9625 } 9626 }, 10000); 9627 } catch (error) { 9628 console.error('Error initializing popup:', error); 9629 } 9630 } 9631 9632 function createLoginPopup(popupConfig, host) { 9633 // Font mapping 9634 const fontFamilyMap = { 9635 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 9636 montserrat: 'Montserrat, sans-serif', 9637 roboto: 'Roboto, sans-serif', 9638 open_sans: 'Open Sans, sans-serif', 9639 noto_sans: 'Noto Sans, sans-serif', 9640 lato: 'Lato, sans-serif', 9641 poppins: 'Poppins, sans-serif', 9642 quicksand: 'Quicksand, sans-serif', 9643 raleway: 'Raleway, sans-serif', 9644 pt_sans: 'PT Sans, sans-serif', 9645 oswald: 'Oswald, sans-serif', 9646 }; 9647 9648 // Create overlay 9649 const overlay = document.createElement('div'); 9650 overlay.className = 'bitlogin-popup-overlay'; 9651 9652 // Create popup container with appropriate styling 9653 const popup = document.createElement('div'); 9654 popup.className = 'bitlogin-popup'; 9655 9656 if (popupConfig.layout === 'default') { 9657 popup.style.maxWidth = '400px'; 9658 } 9659 9660 // Function to close the popup 9661 const closePopup = () => { 9662 overlay.classList.remove('visible'); 9663 popup.classList.remove('visible'); 9664 setTimeout(() => { 9665 if (document.body.contains(overlay)) { 9666 document.body.removeChild(overlay); 9667 } 9668 }, 300); 9669 }; 9670 9671 // Add click handler to the overlay to close when clicking outside 9672 overlay.addEventListener('click', (event) => { 9673 // Close only if clicking directly on the overlay, not its children 9674 if (event.target === overlay) { 9675 closePopup(); 9676 } 9677 }); 9678 9679 // Add escape key handler to close popup 9680 document.addEventListener('keydown', (event) => { 9681 if (event.key === 'Escape' && document.body.contains(overlay)) { 9682 closePopup(); 9683 } 9684 }); 9685 9686 // Create layout with image if specified 9687 let contentWrapper; 9688 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 9689 popup.classList.add('bitlogin-popup-with-image'); 9690 9691 if (popupConfig.layout === 'right') { 9692 popup.classList.add('bitlogin-popup-right-image'); 9693 } 9694 9695 // Add image 9696 const image = document.createElement('img'); 9697 image.className = 'bitlogin-popup-image'; 9698 image.src = popupConfig.popupImage; 9699 image.alt = 'Login'; 9700 image.loading = 'lazy'; 9701 popup.appendChild(image); 9702 9703 // Create content container 9704 contentWrapper = document.createElement('div'); 9705 contentWrapper.className = 'bitlogin-popup-content'; 9706 9707 if (popupConfig.layout === 'right') { 9708 const closeButton = document.createElement('button'); 9709 closeButton.className = 'bitlogin-popup-close'; 9710 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 9711 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9712 </svg>`; 9713 closeButton.setAttribute('aria-label', 'Close'); 9714 closeButton.onclick = closePopup; 9715 9716 popup.appendChild(closeButton); 9717 } 9718 } else { 9719 contentWrapper = document.createElement('div'); 9720 contentWrapper.className = 'bitlogin-popup-content'; 9721 contentWrapper.style.width = '100%'; 9722 } 9723 9724 // Set background style 9725 if (popupConfig.backgroundTheme === 'gradient') { 9726 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 9727 } else { 9728 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 9729 } 9730 9731 // Apply font family 9732 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 9733 9734 if (popupConfig.layout !== 'right') { 9735 const closeButton = document.createElement('button'); 9736 closeButton.className = 'bitlogin-popup-close'; 9737 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 9738 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9739 </svg>`; 9740 closeButton.setAttribute('aria-label', 'Close'); 9741 closeButton.onclick = closePopup; 9742 9743 contentWrapper.appendChild(closeButton); 9744 } 9745 9746 // Add heading with subtle animation effect 9747 const header = document.createElement('div'); 9748 header.className = 'bitlogin-popup-header'; 9749 9750 const heading = document.createElement('h2'); 9751 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9751its'; 9752 heading.style.color = popupConfig.fontColor; 9753 header.appendChild(heading); 9754 9755 // Add body text with improved formatting 9756 const bodyText = document.createElement('div'); 9757 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 9758 bodyText.style.color = popupConfig.fontColor; 9759 header.appendChild(bodyText); 9760 9761 contentWrapper.appendChild(header); 9762 9763 // Create buttons container with modern styling 9764 const buttonsContainer = document.createElement('div'); 9765 buttonsContainer.className = 'bitlogin-popup-buttons'; 9766 9767 // Add social buttons 9768 const providerLabels = { 9769 'GOOGLE': 'Continue with Google', 9770 'FACEBOOK': 'Continue with Facebook', 9771 'APPLE': 'Continue with Apple', 9772 'WHATSAPP': 'Continue with WhatsApp', 9773 'MAGIC_LINK': 'Continue with Email', 9774 }; 9775 9776 // Add first login provider button 9777 if (popupConfig.loginProvider1 !== 'NONE') { 9778 const buttonConfig = { 9779 theme: popupConfig.colorScheme || 'match', 9780 customColor: popupConfig.textColor, 9781 format: 'contentFlex', 9782 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 9783 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9784 style: popupConfig.style || 'rounded', 9785 size: popupConfig.size || 'medium', 9786 colorScheme: popupConfig.colorScheme || 'match', 9787 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9788 textColor: popupConfig.textColor || '#FFFFFF', 9789 outlineColor: popupConfig.outlineColor || '#3B82F6', 9790 host: host 9791 }; 9792 9793 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 9794 9795 // Handle click event - this overrides the default click handler in createSocialLoginButton 9796 button1.onclick = () => { 9797 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 9798 closePopup(); 9799 }; 9800 9801 buttonsContainer.appendChild(button1); 9802 } 9803 9804 // Add second login provider button if enabled 9805 if (popupConfig.loginProvider2 !== 'NONE') { 9806 const buttonConfig = { 9807 theme: popupConfig.colorScheme || 'match', 9808 customColor: popupConfig.textColor, 9809 format: 'contentFlex', 9810 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 9811 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9812 style: popupConfig.style || 'rounded', 9813 size: popupConfig.size || 'medium', 9814 colorScheme: popupConfig.colorScheme || 'match', 9815 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9816 textColor: popupConfig.textColor || '#FFFFFF', 9817 outlineColor: popupConfig.outlineColor || '#3B82F6', 9818 host: host 9819 }; 9820 9821 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 9822 9823 // Handle click event - this overrides the default click handler in createSocialLoginButton 9824 button2.onclick = () => { 9825 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 9826 closePopup(); 9827 }; 9828 9829 buttonsContainer.appendChild(button2); 9830 } 9831 9832 contentWrapper.appendChild(buttonsContainer); 9833 9834 // Append content to popup 9835 popup.appendChild(contentWrapper); 9836 9837 // Append popup to overlay 9838 overlay.appendChild(popup); 9839 9840 // Append overlay to body 9841 document.body.appendChild(overlay); 9842 9843 // Trigger animation with slight delay for better perceived performance 9844 setTimeout(() => { 9845 overlay.classList.add('visible'); 9846 setTimeout(() => { 9847 popup.classList.add('visible'); 9848 }, 50); 9849 }, 10); 9850 } 9851 9852 window.addEventListener("load", () => { 9853 window.addEventListener("message", (event) => { 9854 const receivedData = event.data; 9855 9856 if (receivedData.type === "authorize") { 9857 post( 9858 JSON.parse( 9859 JSON.stringify({ 9860 "customer[email]": receivedData.email, 9861 "customer[password]": receivedData.password, 9862 form_type: "customer_login", 9863 utf8: "â", 9864 return_url: redirectUrl, 9865 }) 9866 ) 9867 ); 9868 } else if (receivedData.type === "rejected") { 9869 if (receivedData.reason === "customer_account_disabled") { 9870 showAlert( 9871 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 9872 ); 9873 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 9874 showAlert( 9875 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 9876 ); 9877 } else if (receivedData.reason === "customer_exist_email_not_set") { 9878 showAlert( 9879 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 9880 ); 9881 } 9882 } 9883 9884 if (receivedData.type === "customer_authenticated") { 9885 // Dispatch a custom event that merchants can listen for to implement their custom logic 9886 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 9887 detail: { 9888 provider: receivedData.provider, 9889 customer: receivedData.customer, 9890 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 9891 } 9892 }); 9893 9894 // Dispatch the event on the window object so merchants can listen for it 9895 window.dispatchEvent(customerAuthEvent); 9896 9897 } 9898 }); 9899 }); 9900 9901 // Reusable functions for social login buttons 9902 function createSocialLoginButton(provider, config = {}) { 9903 const { 9904 theme = 'match', 9905 customColor = null, 9906 format = 'contentFlex', 9907 buttonText = null, 9908 hasShadow = true, 9909 style = 'rounded', 9910 size = 'medium', 9911 colorScheme = 'match', 9912 backgroundColor = '#3B82F6', 9913 textColor = '#FFFFFF', 9914 outlineColor = '#3B82F6', 9915 rootRef = null, 9916 host = null 9917 } = config; 9918 9919 // Create button element with appropriate ID and attributes 9920 const button = document.createElement('button'); 9921 button.id = `${provider.toLowerCase()}-login`; 9922 button.type = 'button'; 9923 9924 // Set the inner SVG based on provider 9925 switch (provider.toUpperCase()) {
9926 case 'GOOGLE': 9927 button.innerHTML = googleLoginIcon(theme, customColor); 9928 break; 9929 case 'FACEBOOK': 9930 button.innerHTML = facebookLoginIcon(theme, customColor); 9931 break; 9932 case 'APPLE': 9933 button.innerHTML = appleLoginIcon(theme, customColor); 9934 break; 9935 case 'WHATSAPP': 9936 button.innerHTML = whatsappLoginIcon(theme, customColor); 9937 break; 9938 case 'MICROSOFT': 9939 button.innerHTML = microsoftLoginIcon(theme, customColor); 9940 break; 9941 case 'TWITTER': 9942 button.innerHTML = twitterLoginIcon(theme, customColor); 9943 break; 9944 case 'AMAZON': 9945 button.innerHTML = amazonLoginIcon(theme, customColor); 9946 break; 9947 case 'INSTAGRAM': 9948 button.innerHTML = instagramLoginIcon(theme, customColor); 9949 break; 9950 case 'MAGIC_LINK': 9951 button.innerHTML = magicLinkLoginIcon(theme, customColor); 9952 break; 9953 case 'MOBILE_APP': 9954 button.innerHTML = mobileAppLoginIcon(theme, customColor); 9955 break; 9956 case 'LINKEDIN': 9957 button.innerHTML = linkedinLoginIcon(theme, customColor); 9958 break; 9959 } 9960 9961 // Add text if format isn't icon-only and buttonText is provided 9962 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 9963 button.innerHTML += `<p>${buttonText}</p>`; 9964 } 9965 9966 // Apply styling 9967 // Shadow 9968 if (hasShadow) { 9969 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 9970 button.style["box-shadow"] = shadowProperties; 9971 } 9972 9973 // Border radius 9974 const radiusProperties = 9975 style === "rounded" 9976 ? "8px" 9977 : style === "square" 9978 ? "0px" 9979 : style === "fullRounded" 9980 ? format === "wrapperFlexContainerOnlyLogo" 9981 ? "50%" 9982 : "50px" 9983 : undefined; 9984 button.style["border-radius"] = radiusProperties; 9985 9986 // Size 9987 const sizeProperties = 9988 size === "medium" 9989 ? "12px" 9990 : size === "small" 9991 ? "8px" 9992 : size === "large" 9993 ? "16px" 9994 : "8px"; 9995 9996 button.style["padding-block"] = sizeProperties; 9997 9998 // Format styling 9999 if (format) { 10000 if ( 10001 format === "contentFlexReverse" || 10002 format === "contentFlexCenterReverse" 10003 ) { 10004 const flexDir = `row-reverse`; 10005 button.style["flex-direction"] = flexDir; 10006 } 10007 10008 if ( 10009 format === "contentFlexCenter" || 10010 format === "contentFlexCenterReverse" 10011 ) { 10012 const justifyContent = `center`; 10013 button.style["justify-content"] = justifyContent; 10014 } else if ( 10015 format === "contentFlex" || 10016 format === "contentFlexReverse" 10017 ) { 10018 const buttonTextElement = button.querySelector("p"); 10019 if (buttonTextElement) { 10020 buttonTextElement.style["flex-grow"] = 1; 10021 buttonTextElement.style["text-align"] = "center"; 10022 } 10023 } 10024 10025 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 10026 rootRef.style["flex-direction"] = "row"; 10027 rootRef.style["gap"] = "8px"; 10028 rootRef.style["display"] = "flex"; 10029 rootRef.style["flex-wrap"] = "wrap"; 10030 10031 const sizeMapping = { 10032 small: "52px", 10033 medium: "62px", 10034 large: "72px", 10035 }; 10036 const buttonSize = sizeMapping[size] || "52px"; 10037 10038 button.style["margin"] = 0; 10039 button.style["width"] = buttonSize; 10040 button.style["height"] = buttonSize; 10041 button.style["display"] = "flex"; 10042 button.style["align-items"] = "center"; 10043 button.style["justify-content"] = "center"; 10044 10045 const svgElement = button.querySelector("svg"); 10046 if (svgElement) { 10047 svgElement.style["flex"] = "none"; 10048 } 10049 } 10050 } 10051 10052 // Color scheme styling 10053 if (colorScheme === "black") { 10054 button.classList.add("scheme-black"); 10055 } else if (colorScheme === "white") { 10056 button.classList.add("scheme-white"); 10057 } else if (colorScheme === "custom") { 10058 button.style["background-color"] = backgroundColor; 10059 button.style["color"] = textColor; 10060 button.style["border-color"] = outlineColor; 10061 10062 const darkenColor = (color, percentage) => { 10063 const value = parseInt(color.slice(1), 16); 10064 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 10065 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 10066 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 10067 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 10068 }; 10069 10070 button.addEventListener("mouseover", () => {
10071 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 10072 }); 10073 button.addEventListener("mouseout", () => { 10074 button.style["background-color"] = backgroundColor; 10075 }); 10076 } else if (colorScheme === "match") { 10077 button.classList.add("scheme-match"); 10078 } else if (colorScheme === "matchOutline") { 10079 button.classList.add("scheme-match-outline"); 10080 } 10081 10082 // Add click event listener if host is provided 10083 if (host) { 10084 button.addEventListener("click", () => 10085 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 10086 ); 10087 } 10088 10089 return button; 10090 } 10091 10092 function setupSocialLoginButtons(config, rootRef, data, host) { 10093 // Clear any existing content 10094 rootRef.innerHTML = ''; 10095 10096 const sortedEnabledProviders = config 10097 .filter(c => c.enabledWeb) 10098 .sort((a, b) => a.position - b.position); 10099 10100 sortedEnabledProviders.forEach(provider => { 10101 const key = provider.provider; 10102 const lowerKey = key.toLowerCase(); 10103 10104 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 10105 ? (lowerKey === 'twitter' 10106 ? data.buttonList.twitter.replace('Twitter', 'X') 10107 : data.buttonList[lowerKey]) 10108 : null; 10109 10110 const button = createSocialLoginButton(key, { 10111 theme: data.colorScheme || 'match', 10112 customColor: data.textColor, 10113 format: data.format, 10114 buttonText: buttonText, 10115 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 10116 style: data.style, 10117 size: data.size, 10118 colorScheme: data.colorScheme, 10119 backgroundColor: data.backgroundColor, 10120 textColor: data.textColor, 10121 outlineColor: data.outlineColor, 10122 rootRef: rootRef, 10123 host: host 10124 }); 10125 10126 rootRef.appendChild(button); 10127 }); 10128 10129 return rootRef; 10130 } 10131 10132 function updateAppearance({ formRef, rootRef, host }) { 10133 if (!formRef) return; 10134 10135 const data = bitloginCache.appearance || { 10136 style: "square", 10137 hasShadow: false, 10138 colorScheme: "match", 10139 backgroundColor: "#FFFFFF", 10140 outlineColor: "#000000", 10141 textColor: "#000000", 10142 position: "bottom", 10143 hideDivider: "false", 10144 dividerText: "OR", 10145 size: "small", 10146 format: "contentFlex", 10147 language: "en", 10148 buttonText: "Continue with", 10149 redirectLink: "/account", 10150 googleOneTap: true, 10151 googleOneTapBanner: true, 10152 customerTag: "bitLogin", 10153 redirectOneTapDesktop: null, 10154 redirectOneTapMobile: null, 10155 buttonList: { 10156 google: "Continue with Google", 10157 facebook: "Continue with Facebook", 10158 apple: "Continue with Apple", 10159 whatsapp: "Continue with WhatsApp", 10160 microsoft: "Continue with Microsoft", 10161 twitter: "Continue with X", 10162 amazon: "Continue with Amazon", 10163 instagram: "Continue with Instagram", 10164 magic_link: "Continue with Magic Link", 10165 mobile_app: "Continue with Mobile App", 10166 linkedin: "Continue with LinkedIn", 10167 }, 10168 }; 10169 10170 // Use the new setupSocialLoginButtons function to create and configure all buttons 10171 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 10172 10173 let divider; 10174 10175 if (!data.hideDivider) { 10176 divider = document.createElement("div"); 10177 const dividerStyle = "text-align:center;margin-block:16px"; 10178 divider.setAttribute("style", dividerStyle); 10179 divider.innerHTML = data.dividerText; 10180 } 10181 10182 if (data.position === "bottom") { 10183 if (divider) { 10184 formRef.appendChild(divider); 10185 } 10186 formRef.appendChild(rootRef); 10187 } else if (data.position === "top") { 10188 if (divider) { 10189 formRef.prepend(divider); 10190 } 10191 formRef.prepend(rootRef); 10192 } 10193 } 10194 10195 10196 async function onClickSocialLogin({ provider, host }) { 10197 const rand = Math.random().toString(); 10198 10199 const locationQueryString = bitloginCache.location 10200 ? `&${objectToQueryString(bitloginCache.location)}` 10201 : ""; 10202 10203 const width = 800; 10204 const height = 600; 10205 const left = (window.screen.width / 2) - (width / 2); 10206 const top = (window.screen.height / 2) - (height / 2) - 50; 10207
10208 if(provider === 'whatsapp') { 10209 window.open( 10210 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 10211 "mywindow", 10212 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 10213 ); 10214 } else { 10215 window.open( 10216 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 10217 "mywindow", 10218 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 10219 ); 10220 } 10221 } 10222 10223 function objectToQueryString(obj) { 10224 return Object.keys(obj) 10225 .map((key) => { 10226 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 10227 }) 10228 .join("&"); 10229 } 10230 10231 async function getLocation() { 10232 if (locationCacheSet) return; 10233 10234 try { 10235 const response = await fetch("https://ipapi.co/json/"); 10236 10237 if (!response.ok) { 10238 console.error(`error retrieving location...`, response.status); 10239 errorLocation = true; 10240 } else { 10241 const data = await response.json(); 10242 10243 const { city, region, country_name, country_code } = data; 10244 10245 const formattedLocationData = { 10246 city, 10247 region, 10248 country_name, 10249 country_code, 10250 }; 10251 10252 bitloginCache.location = formattedLocationData; 10253 locationCacheSet = true; 10254 errorLocation = false; 10255 } 10256 } catch (err) { 10257 console.error(`error fetching location`, err); 10258 errorLocation = true; 10259 } 10260 } 10261 10262 function post(params) { 10263 // The rest of this code assumes you are not using a library. 10264 // It can be made less verbose if you use one. 10265 const form = document.createElement("form"); 10266 form.method = "post"; 10267 form.action = `/account/login`; 10268 form.acceptCharset = "UTF-8"; 10269 form.setAttribute("data-login-with-shop-sign-in", "true"); 10270 form.setAttribute("novalidate", "novalidate"); 10271 10272 for (const key in params) { 10273 if (params.hasOwnProperty(key)) { 10274 const hiddenField = document.createElement("input"); 10275 hiddenField.type = "hidden"; 10276 hiddenField.name = key; 10277 hiddenField.value = params[key]; 10278 10279 form.appendChild(hiddenField); 10280 } 10281 } 10282 10283 document.body.appendChild(form); 10284 form.submit(); 10285 } 10286 10287 async function setupOneTap({ host, checkoutUrl }) { 10288 if (oneTapSet) return; 10289 10290 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 10291 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 10292 10293 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 10294 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 10295 10296 const currentPath = window.location.pathname.toLowerCase(); 10297 const currentUrl = window.location.href.toLowerCase(); 10298 10299 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 10300 switch (value) { 10301 case 'home': 10302 return currentPath === '/'; 10303 case 'product': 10304 return currentPath.startsWith('/products/'); 10305 case 'collections': 10306 return currentPath.startsWith('/collections'); 10307 case 'cart': 10308 return currentPath === '/cart'; 10309 case 'checkout': 10310 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 10311 case 'thank_you': 10312 return currentPath.includes('/thank_you'); 10313 case 'account': 10314 return currentPath.startsWith('/account'); 10315 case 'pages': 10316 return currentPath.startsWith('/pages'); 10317 case 'blogs': 10318 return currentPath === '/blogs' || currentPath === '/blogs/news'; 10319 case 'blog_post': 10320 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 10321 default: 10322 return false; 10323 } 10324 }); 10325 10326 if (shouldHideGoogleOneTap) return; 10327 10328 const oneTapClientId = bitloginCache.config.find( 10329 (config) => config.provider === "GOOGLE" 10330 )?.clientId; 10331 10332 const isLoggedIn = false; 10333 10334 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 10335 const googleOneTapButton = document.createElement("div"); 10336 googleOneTapButton.setAttribute("id", "g_id_onload"); 10337 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 10338 googleOneTapButton.setAttribute("data-context", "signin"); 10339 googleOneTapButton.setAttribute( 10340 "data-callback", 10341 "handleGoogleOneTapResponse" 10342 ); 10343 googleOneTapButton.setAttribute("data-itp_support", "true"); 10344 10345 const googleOneTapScript = document.createElement("script"); 10346 10347 googleOneTapScript.innerHTML += ` 10348 function handleGoogleOneTapResponse(response) { 10349 if (response.credential) { 10350 const idToken = response.credential; 10351 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 10352 method: 'POST', 10353 headers: { 'Content-Type': 'application/json' }, 10354 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 10355 }).then(response => { 10356 response.json().then((data) => { 10357 post( 10358 JSON.parse( 10359 JSON.stringify({ 10360 "customer[email]": data.email, 10361 "customer[password]": data.password, 10362 form_type: "customer_login", 10363 utf8: "â", 10364 return_url: redirectUrl, 10365 }) 10366 ) 10367 ); 10368 }); 10369 }).catch(error => { 10370 console.error('Error occurred:', error); 10371 }); 10372 } else { 10373 console.error('No credential available'); 10374 } 10375 } 10376 `; 10377 10378 document.body.append(googleOneTapButton); 10379 document.body.append(googleOneTapScript); 10380 } 10381 10382 oneTapSet = true; 10383 } 10384
10385 const googleLoginIcon = ( 10386 theme, 10387 customColor 10388 ) => ` 10389 ${ 10390 theme === "match" || theme === "matchOutline" || theme === "custom" 10391 ? `<svg 10392 xmlns='https://ik.imagekit.io/kktbpaqjn/logorajadana.png' 10393 xmlns:v='https://vecta.io/nano' 10394 width='24' 10395 height='24' 10396 viewBox='0 0 186.69 190.5' 10397 > 10398 <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="${ 10399 theme === "custom" ? customColor : "#4285f4" 10400 }"/><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="${ 10401 theme === "custom" ? customColor : "#34a853" 10402 }"/><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="${ 10403 theme === "custom" ? customColor : "#fbbc05" 10404 }"/><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="${ 10405 theme === "custom" ? customColor : "#ea4335" 10406 }" clip-path="none" mask="none"/></g> 10407 </svg>` 10408 : `<svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 10409 <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="${ 10410 theme !== "black" ? "black" : "white" 10411 }"/> 10412 <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="${ 10413 theme !== "black" ? "black" : "white" 10414 }"/> 10415 <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="${ 10416 theme !== "black" ? "black" : "white" 10417 }"/> 10418 <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="${ 10419 theme !== "black" ? "black" : "white" 10420 }"/> 10421 </svg>` 10422 }`; 10423 10424 const appleLoginIcon = ( 10425 theme, 10426 customColor 10427 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 10428 <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="${ 10429 theme === "custom" 10430 ? customColor 10431 : theme === "match" || theme === "black" 10432 ? "white" 10433 : "black" 10434 }"/> 10435 </svg>`; 10436 10437 const facebookLoginIcon = ( 10438 theme, 10439 customColor 10440 ) => ` 10441 ${ 10442 theme === "match" || theme === "matchOutline" || theme === "custom" 10443 ? `<svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 10444 <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="${ 10445 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 10446 }"/> 10447 <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="${ 10448 theme === "match" ? "#1778f2" : "transparent" 10449 }"/> 10450 </svg>` 10451 : `<svg xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" width="24" height="25" viewB
10451ox="0 0 24 25" fill="none"> 10452 <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="${ 10453 theme === "black" ? "white" : "black" 10454 }"/> 10455 <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="${ 10456 theme === "black" ? "black" : "white" 10457 }"/> 10458 </svg>` 10459 }`; 10460 10461 const whatsappLoginIcon = ( 10462 theme, 10463 customColor 10464 ) => `<svg 10465 viewBox="0 0 24 24" 10466 fill="none" 10467 width="24" 10468 height="25" 10469 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10470 > 10471 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 10472 <g 10473 id="SVGRepo_tracerCarrier" 10474 stroke-linecap="round" 10475 stroke-linejoin="round" 10476 ></g> 10477 <g id="SVGRepo_iconCarrier"> 10478 <path 10479 fill-rule="evenodd" 10480 clip-rule="evenodd" 10481 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" 10482 fill="${ 10483 theme === "match" || theme === "black" 10484 ? "#ffffff" 10485 : theme === "white" 10486 ? "#000000" 10487 : theme === "matchOutline" 10488 ? "#25d366" 10489 : customColor 10490 }" 10491 ></path> 10492 </g> 10493 </svg>`; 10494 10495 const microsoftLoginIcon = ( 10496 theme, 10497 customColor 10498 ) => `<svg 10499 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10500 width="25" 10501 height="25" 10502 viewBox="0 0 48 48"> 10503 <path fill="${ 10504 theme === "match" || theme == "matchOutline" 10505 ? "#ff5722" 10506 : theme === "black" 10507 ? "#ffffff" 10508 : theme === "white" 10509 ? "#000000" 10510 : customColor 10511 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 10512 <path 10513 fill="${ 10514 theme === "match" || theme == "matchOutline" 10515 ? "#4caf50" 10516 : theme === "black" 10517 ? "#ffffff" 10518 : theme === "white" 10519 ? "#000000" 10520 : customColor 10521 }" 10522 d="M26 6H42V22H26z" 10523 transform="rotate(-180 34 14)"></path> 10524 <path 10525 fill="${ 10526 theme === "match" || theme == "matchOutline" 10527 ? "#ffc107" 10528 : theme === "black" 10529 ? "#ffffff" 10530 : theme === "white" 10531 ? "#000000" 10532 : customColor 10533 }" 10534 d="M26 26H42V42H26z" 10535 transform="rotate(-180 34 34)"></path> 10536 <path fill="${ 10537 theme === "match" || theme == "matchOutline" 10538 ? "#03a9f4" 10539 : theme === "black" 10540 ? "#ffffff" 10541 : theme === "white" 10542 ? "#000000" 10543 : customColor 10544 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 10545 </svg>`; 10546 10547 const twitterLoginIcon = ( 10548 theme, 10549 customColor 10550 ) => `<svg 10551 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10552 width="25" 10553 height="25" 10554 viewBox="0 0 48 48"> 10555 <polygon fill="${ 10556 theme === "match" || theme === "black" 10557 ? "#ffffff" 10558 : theme === "matchOutline" || theme === "white" 10559 ? "#000000" 10560 : customColor 10561 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 10562 <polygon 10563 fill="${ 10564 theme === "match" || theme === "black" 10565 ? "#000000" 10566 : theme === "matchOutline" || theme === "white" 10567 ? "#ffffff" 10568 : customColor 10569 }" 10570 fill-rule="evenodd" 10571 points="31.143,41 7.82,7 16.777,7 40.1,41" 10572 clip-rule="evenodd"></polygon> 10573 <path 10574 fill="${ 10575 theme === "match" || theme === "black" 10576 ? "#ffffff" 10577 : theme === "matchOutline" || theme === "white" 10578 ? "#000000" 10579 : customColor 10580 }" 10581 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 10582 </svg>`; 10583 10584 const amazonLoginIcon = (theme, customColor) => ` 10585 <svg 10586 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10587 x="0px" 10588 y="0px" 10589 width="25" 10590 height="25"
10591 viewBox="0 0 50 50" 10592 > 10593 <path 10594 fill="${ 10595 theme === "black" 10596 ? "#ffffff" 10597 : theme === "matchOutline" 10598 ? "#FF9900" 10599 : theme === "white" || theme === "match" 10600 ? "#000000" 10601 : customColor 10602 }" 10603 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" 10604 ></path> 10605 </svg>`; 10606 10607 const instagramLoginIcon= (theme, customColor) => ` 10608 <svg 10609 width="25" 10610 height="25" 10611 viewBox="0 0 25 24" 10612 fill="none" 10613 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png"> 10614 <path 10615 fill-rule="evenodd" 10616 clip-rule="evenodd" 10617 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.
1061764321C8.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" 10618 fill="url(#paint0_radial_378_3535)" /> 10619 <path 10620 fill-rule="evenodd" 10621 clip-rule="evenodd" 10622 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" 10623 fill="url(#paint0_radial_378_3535)" /> 10624 <path 10625 fill-rule="evenodd" 10626 clip-rule="evenodd" 10627 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.
1062764321C8.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" 10628 fill="url(#paint0_radial_378_3535)" /> 10629 <path 10630 fill-rule="evenodd" 10631 clip-rule="evenodd" 10632 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" 10633 fill="url(#paint1_radial_378_3535)" /> 10634 <defs> 10635 <radialGradient 10636 id="paint0_radial_378_3535" 10637 cx="0" 10638 cy="0" 10639 r="1" 10640 gradientUnits="userSpaceOnUse" 10641 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 10642 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 10643 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 10644 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 10645 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 10646 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 10647 </radialGradient> 10648 <radialGradient 10649 id="paint1_radial_378_3535" 10650 cx="0" 10651 cy="0" 10652 r="1" 10653 gradientUnits="userSpaceOnUse" 10654 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 10655 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 10656 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 10657 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 10658 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 10659 </radialGradient> 10660 </defs> 10661 </svg>`; 10662 10663 const magicLinkLoginIcon = (theme, customColor) => ` 10664 <svg 10665 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10666 width="25" 10667 height="25" 10668 fill="none"
10669 viewBox="0 0 25 25" 10670 > 10671 <path 10672 fill="${ 10673 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 10674 }" 10675 fillRule="evenodd" 10676 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" 10677 clipRule="evenodd" 10678 ></path> 10679 </svg>`; 10680 10681 const mobileAppLoginIcon = (theme, customColor) => ` 10682 <svg 10683 width="20" 10684 height="24" 10685 viewBox="0 0 12 16" 10686 fill="none" 10687 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10688 > 10689 <path 10690 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" 10691 fill=${ 10692 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 10693 } 10694 /> 10695 </svg> 10696 `; 10697 10698 const linkedinLoginIcon = (theme, customColor) => ` 10699 <svg 10700 xmlns="https://ik.imagekit.io/kktbpaqjn/logorajadana.png" 10701 width="25" 10702 height="24" 10703 viewBox="0 0 25 24" 10704 fill="none" 10705 > 10706 <path 10707 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" 10708 fill=${ 10709 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 10710 } 10711 /> 10712 </svg> 10713 `; 10714 10715 function isElementVisible(element) { 10716 return ( 10717 document.body.contains(element) && 10718 getComputedStyle(element).display !== "none" && 10719 getComputedStyle(element).visibility !== "hidden" && 10720 getComputedStyle(element).opacity !== "0" && 10721 !element.hasAttribute("hidden") && 10722 !isAncestorHidden(element) 10723 ); 10724 } 10725 10726 function isAncestorHidden(element) { 10727 let parent = element.parentElement; 10728 while (parent) { 10729 if ( 10730 getComputedStyle(parent).display === "none" || 10731 getComputedStyle(parent).visibility === "hidden" || 10732 getComputedStyle(parent).opacity === "0" || 10733 parent.hasAttribute("hidden") 10734 ) { 10735 return true; 10736 } 10737 parent = parent.parentElement; 10738 } 10739 return false; 10740 } 10741 10742 function showAlert(message) { 10743 const alertBox = document.createElement("div"); 10744 alertBox.textContent = message; 10745 alertBox.style.position = "fixed"; 10746 alertBox.style.top = "20px"; 10747 alertBox.style.right = "-300px"; // Start off-screen 10748 alertBox.style.backgroundColor = "#000000"; // Black background 10749 alertBox.style.color = "#ffffff"; // White text 10750 alertBox.style.padding = "15px"; 10751 alertBox.style.borderRadius = "8px"; 10752 alertBox.style.zIndex = "1000"; 10753 alertBox.style.transition = 10754 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 10755 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 10756 10757 document.body.appendChild(alertBox); 10758 10759 // Slide in 10760 requestAnimationFrame(() => { 10761 alertBox.style.right = "20px"; // Move into view 10762 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 10763 }); 10764 10765 // Slide out and remove the alert after a few seconds 10766 setTimeout(() => { 10767 alertBox.style.opacity = "0"; // Fade out 10768 alertBox.style.right = "-300px"; // Move out of view 10769 10770 // Wait for the transition to finish before removing the element 10771 setTimeout(() => { 10772 document.body.removeChild(alertBox); 10773 }, 500); // Match this duration with the exit transition duration 10774 }, 3000); 10775 } 10776 </script>
10776 10777 10778 <style> 10779 .daftarku-fixed-footer { 10780 display: flex; 10781 justify-content: space-around; 10782 position: fixed; 10783 background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%); 10784 box-shadow: 0 0 12px #ffd700; 10785 outline: none; 10786 padding: 5px 0; 10787 box-shadow: 0 0 0 0 2px 2px #198f01; 10788 left: 0; 10789 right: 0; 10790 bottom: 0; 10791 z-index: 99; 10792 border-radius: 40px 40px 0px 0px; 10793 border-style:dashed; 10794 10795 } 10796 10797 .daftarku-fixed-footer a { 10798 flex-basis: calc((100% - 15px*6)/ 5); 10799 text-decoration: none; 10800 display: flex; 10801 flex-direction: column; 10802 justify-content: center; 10803 align-items: center; 10804 color: #fff; 10805 max-width: 75px; 10806 font-size: 12px; 10807 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 10808 } 10809 10810 .daftarku-fixed-footer a:hover { 10811 font-weight: bold; 10812 } 10813 10814 .daftarku-fixed-footer .center { 10815 transform: scale(1.5) translateY(-5px); 10816 background: center no-repeat; 10817 background-size: contain; 10818 background-color: inherit; 10819 border-radius: 50%; 10820 } 10821 10822 .daftarku-fixed-footer img { 10823 max-width: 20px; 10824 margin-bottom: 0; 10825 max-height: 20px; 10826 } 10827 </style> 10828 10829 <div class="daftarku-fixed-footer"> 10830 <a href="https://77.louerunepiscine.com/" rel="nofollow noopener" target="_blank"> 10831 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI"> 10832 PROMO 10833 </a> 10834 <a href="https://77.louerunepiscine.com/" rel="nofollow noopener" target="_blank"> 10835 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN"> 10836 LOGIN 10837 </a> 10838 <a href="https://77.louerunepiscine.com/" rel="nofollow noopener" target="_blank" class="tada"> 10839 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR"> 10840 DAFTAR 10841 </a> 10842 <a href="https://77.louerunepiscine.com/" rel="nofollow noopener" target="_blank"> 10843 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP"> 10844 WHATSAPP 10845 </a> 10846 <a href="https://77.louerunepiscine.com/" rel="nofollow noopener" target="_blank" 10847 class="js_live_chat_link live-chat-link"> 10848 <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/06/17/live-chat.png" alt="Live Chat"> 10849 Live Chat 10850 </a> 10851 </div> 10852 </div> 10853
10853<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"d1f6ecb0d44247bca15f2f6072300f64","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10853
10853
10854<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"d1f6ecb0d44247bca15f2f6072300f64","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10854
10854
10855<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"5d9ec6a55a004d5dad324d165b2ea53b","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 10855
10855
10856<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"5d9ec6a55a004d5dad324d165b2ea53b","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 10856
10856
10857<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"20ff63c89e444c93b1e62632aa7a7e4e","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 10857
10857
10858<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"beb08133c55c4987a3c7a5b6870f762a","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 10858
10858
10859<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":"d7c21eac8e3547a1833c8f023b961fa9","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 10859
10859
10860<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":"d7c21eac8e3547a1833c8f023b961fa9","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 10860
10860
10861<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":"d7c21eac8e3547a1833c8f023b961fa9","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 10861
10861
10862<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":"d7c21eac8e3547a1833c8f023b961fa9","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 10862
10862
10863<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"d7c21eac8e3547a1833c8f023b961fa9","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 10863
10863
10864<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"d7c21eac8e3547a1833c8f023b961fa9","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10864
10864
10865<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"d7c21eac8e3547a1833c8f023b961fa9","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10865
10865
10866<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"c5bce40100ef4ba1ad1913e24b1f71c9","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 10866
10866
10867<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":"c5bce40100ef4ba1ad1913e24b1f71c9","r":1,"spa":2}' crossorigin="anonymous"></script>
10867 10868</body> 10869 </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.