1 <!doctype html> 2 <html class="no-js"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 7 <meta name="apple-itunes-app" content="app-id=1576832504"> 8 <link rel="icon" type="image/x-icon" href="https://imgstore.io/images/2025/02/15/icon.png"> 9 <title>OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</title> 10 <meta name="description" content="OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."> 11 <meta name="keywords" content="olxtoto, toto macau, result macau, macau pools, keluaran macau, data toto macau" /> 12 <link rel="canonical" href="https://www.walkingfishtx.com/our-team"> 13 <link rel="amphtml" href="https://ampa-hnst.b-cdn.net/walkingfishtx.html"/> 14 <meta property="og:type" content="TOTO MACAU"> 15 <meta property="og:title" content="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"> 16 <meta property="og:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 17 <meta property="og:image:secure_url" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 18 <meta property="og:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 19 <meta property="og:image:secure_url" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 20 <meta property="og:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 21 <meta property="og:image:secure_url" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 22 <meta property="og:description" content="OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."> 23 <meta property="og:price:amount" content="10,000-,"> 24 <meta property="og:price:currency" content="IDR"> 25 <meta property="og:url" content="https://www.walkingfishtx.com/our-team"> 26 <meta property="og:site_name" content="OLXTOTO"> 27 <meta name="twitter:site" content="@OLXTOTO"> 28 <meta name="twitter:card" content="summary"> 29 <meta name="twitter:title" content="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025"> 30 <meta name="twitter:description" content="OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."> 31 <meta name="twitter:image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 32 <meta name="twitter:image:width" content="600"> 33 <meta name="twitter:image:height" content="600"> 34 <link rel="shortcut icon" href="https://imgstore.io/images/2025/02/15/icon.png" type="image/png"> 35 <meta name="theme-color" content="#ffffff"> 36 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 37 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 38 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
38<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
38 39
39<script 40 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 41 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 42 crossorigin="anonymous" 43 referrerpolicy="no-referrer" 44 defer 45 ></script>
45 46
46<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
46 47
47<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
47<!-- Facebook Pixel Code --> 48
48<script>
vendor: 462 bytes, lines 48-57
48 49 !function(f,b,e,v,n,t,s) 50 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 51 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 52 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 53 n.queue=[];t=b.createElement(e);t.async=!0; 54 t.src=v;s=b.getElementsByTagName(e)[0]; 55 s.parentNode.insertBefore(t,s)}(window, document,'script', 56 'https://connect.facebook.net/en_US/fbevents.js'); 57 fbq('init', '
57165971065669324
vendor: 42 bytes, lines 57-59
57'); 58 fbq('track', 'PageView'); 59
59</script>
59 60 <noscript 61 ><img 62 height="1" 63 width="1" 64 style="display:none" 65 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 66 ></noscript> 67 <!-- End Facebook Pixel Code --> 68 69 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 70 <!-- 71 Global site tag (gtag.js) - Google Analytics -->
vendor: 75 bytes, lines 71-72
71 72 <script async src="https://www.googletagmanager.com/gtag/js?id=
72G-X26HYP4083
vendor: 23 bytes, lines 72-73
72"></script> 73
73<script> 74
vendor: 170 bytes, lines 74-78
74window.dataLayer = window.dataLayer || []; 75 function gtag(){dataLayer.push(arguments);} 76 gtag('js', new Date()); 77 78 gtag('config', '
78G-X26HYP4083
vendor: 15 bytes, lines 78-79
78'); 79
79</script>
79 80 <!-- Global site tag (gtag.js) - Google Analytics --> 81 82 <div class="button-login-daftar"> 83 <a class="login" href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noreferrer"> 84 LOGIN 85 </a> 86 <a class="register" href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noreferrer"> 87 DAFTAR 88 </a> 89 </div> 90 91
91<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
91 92 93 <!-- Bing UET --> 94
94<script> 95 (function(w,d,t,r,u) 96 { 97 var f,n,i; 98 w[u]=w[u]||[],f=function() 99 { 100 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 101 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 102 }, 103 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 104 { 105 var s=this.readyState; 106 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 107 }, 108 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 109 }) 110 (window,document,"script","//bat.bing.com/bat.js","uetq"); 111 </script>
111 112
112<script> 113 window.uetq = window.uetq || []; 114 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 115 </script>
115 116 <!-- End Bing UET --> 117 118 <!-- Microsoft Clarity --> 119
119<script type="text/javascript"> 120 (function(c,l,a,r,i,t,y){ 121 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 122 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 123 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 124 })(window, document, "clarity", "script", "h7rbxqry9k"); 125 </script>
125 126 <!-- End Microsoft Clarity --> 127 128 129 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 130 131 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 132 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 133 134
134<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
134 135
135<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
135 136
136<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
136 137
137<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
137 138 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 139 <link rel="alternate" type="application/json+oembed" href="https://www.walkingfishtx.com/our-team.oembed"> 140
140<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
140 141
141<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
141 142
142<script>var Shopify = Shopify || {}; 143 Shopify.shop = "outerbloom1.myshopify.com"; 144 Shopify.locale = "en"; 145 Shopify.currency = {"active":"IDR","rate":"1.0"}; 146 Shopify.country = "ID"; 147 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 148 Shopify.theme.handle = "null"; 149 Shopify.theme.style = {"id":null,"handle":null}; 150 Shopify.cdnHost = "outerbloom.com/cdn"; 151 Shopify.routes = Shopify.routes || {}; 152 Shopify.routes.root = "/";</script>
152 153
153<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
153 154
154<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>
154 155
155<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
155 156
156<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 157 "></script>
157 158
158<script>(function() { 159 var isLoaded = false; 160 function asyncLoad() { 161 if (isLoaded) return; 162 isLoaded = true; 163 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"]; 164 for (var i = 0; i < urls.length; i++) { 165 var s = document.createElement('script'); 166 s.type = 'text/javascript'; 167 s.async = true; 168 s.src = urls[i]; 169 var x = document.getElementsByTagName('script')[0]; 170 x.parentNode.insertBefore(s, x); 171 } 172 }; 173 if(window.attachEvent) { 174 window.attachEvent('onload', asyncLoad); 175 } else { 176 window.addEventListener('load', asyncLoad, false); 177 } 178 })();</script>
178 179
179<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>
179 180
180<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
180 181
181<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>
181 182
182<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>
182 183
183<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)}}; 184 </script>
184 185
185<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 186 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); 187 </script>
187 188
188<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})}})); 189 </script>
189 190
190<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
190 191 <!-- /snippets/oldIE-js.liquid --> 192 <!--[if lt IE 9]> 193
193<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
193 194
194<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
194 195 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 196 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 197
197<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
197 198 <![endif]--> 199<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"> 200 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 201
201<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>
201 202
202<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":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","url":"\/products\/blossom-shine","type":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."},"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\":\"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025\",\"url\":\"\/products\/blossom-shine\",\"type\":\"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
202<script> 203 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 204 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 205 window.ShopifyAnalytics.meta.currency = 'IDR'; 206 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.","variants":[{"id":44083045826775,"price":1000000 207 ,"name":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 208 for (var attr in meta) { 209 window.ShopifyAnalytics.meta[attr] = meta[attr]; 210 } 211 </script>
211 212
212<script class="analytics"> 213 (function () { 214 var customDocumentWrite = function(content) { 215 var jquery = null; 216 217 if (window.jQuery) { 218 jquery = window.jQuery; 219 } else if (window.Checkout && window.Checkout.$) { 220 jquery = window.Checkout.$; 221 } 222 223 if (jquery) { 224 jquery('body').append(content); 225 } 226 }; 227 228 var hasLoggedConversion = function(token) { 229 if (token) { 230 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 231 } 232 return false; 233 } 234 235 var setCookieIfConversion = function(token) { 236 if (token) { 237 var twoMonthsFromNow = new Date(Date.now()); 238 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 239 240 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 241 } 242 } 243 244 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 245 if (trekkie.integrations) { 246 return; 247 } 248 trekkie.methods = [ 249 'identify', 250 'page', 251 'ready', 252 'track', 253 'trackForm', 254 'trackLink' 255 ]; 256 trekkie.factory = function(method) { 257 return function() { 258 var args = Array.prototype.slice.call(arguments); 259 args.unshift(method); 260 trekkie.push(args); 261 return trekkie; 262 }; 263 }; 264 for (var i = 0; i < trekkie.methods.length; i++) { 265 var key = trekkie.methods[i]; 266 trekkie[key] = trekkie.factory(key); 267 } 268 trekkie.load = function(config) { 269 trekkie.config = config || {}; 270 trekkie.config.initialDocumentCookie = document.cookie; 271 var first = document.getElementsByTagName('script')[0]; 272 var script = document.createElement('script'); 273 script.type = 'text/javascript'; 274 script.onerror = function(e) { 275 var scriptFallback = document.createElement('script'); 276 scriptFallback.type = 'text/javascript'; 277 scriptFallback.onerror = function(error) { 278 var Monorail = { 279 produce: function produce(monorailDomain, schemaId, payload) { 280 var currentMs = new Date().getTime(); 281 var event = { 282 schema_id: schemaId, 283 payload: payload, 284 metadata: { 285 event_created_at_ms: currentMs, 286 event_sent_at_ms: currentMs 287 } 288 }; 289 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 290 }, 291 sendRequest: function sendRequest(endpointUrl, payload) { 292 // Try the sendBeacon API 293 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 294 var blobData = new window.Blob([payload], { 295 type: 'text/plain' 296 }); 297 298 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 299 return true; 300 } // sendBeacon was not successful 301 302 } // XHR beacon 303 304 var xhr = new XMLHttpRequest(); 305 306 try { 307 xhr.open('POST', endpointUrl); 308 xhr.setRequestHeader('Content-Type', 'text/plain'); 309 xhr.send(payload); 310 } catch (e) { 311 console.log(e); 312 } 313 314 return false; 315 }, 316 isIos12: function isIos12() { 317 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 318 } 319 }; 320 Monorail.produce('monorail-edge.shopifysvc.com', 321 'trekkie_storefront_load_errors/1.1', 322 {shop_id: 15896833, 323 theme_id: 153139282135, 324 app_name: "storefront", 325 context_url: window.location.href, 326 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 327 328 }; 329 scriptFallback.async = true; 330 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 331 first.parentNode.insertBefore(scriptFallback, first); 332 }; 333 script.async = true; 334 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 335 first.parentNode.insertBefore(script, first); 336 }; 337 trekkie.load( 338 {"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}} 339 ); 340 341 var loaded = false;
342 trekkie.ready(function() { 343 if (loaded) return; 344 loaded = true; 345 346 window.ShopifyAnalytics.lib = window.trekkie; 347 348 var originalDocumentWrite = document.write; 349 document.write = customDocumentWrite; 350 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 351 document.write = originalDocumentWrite; 352 353 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 354 355 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 356 var token = match? match[1]: undefined; 357 if (!hasLoggedConversion(token)) { 358 setCookieIfConversion(token); 359 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 360 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 361 } 362 }); 363 364 365 var eventsListenerScript = document.createElement('script'); 366 eventsListenerScript.async = true; 367 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 368 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 369 370 })();</script>
370 371
371<script> 372 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 373 window.ga = function ga() { 374 (window.ga.q = window.ga.q || []).push(arguments); 375 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 376 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 377 } 378 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."); 379 }; 380 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 381 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 382 } 383 } 384 </script>
384 385
385<script 386 defer 387 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 388 data-application="storefront-renderer" 389 data-shop-id="15896833" 390 data-render-region="gcp-asia-southeast1" 391 data-page-type="product" 392 data-theme-instance-id="153139282135" 393 data-theme-name="" 394 data-theme-version="" 395 data-monorail-region="shop_domain" 396 data-resource-timing-sampling-rate="10" 397 data-shs="true" 398 data-shs-beacon="true" 399 data-shs-export-with-fetch="true" 400 data-shs-logs-sample-rate="1" 401 ></script>
401 402 </head><body 403 data-template="product" 404 id="blossom-shine" 405 class="template-product template-product" 406 > 407 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 407-410
407 408 <noscript 409 ><iframe 410 src="https://www.googletagmanager.com/ns.html?id=
410GTM-MF9VVZX
vendor: 129 bytes, lines 410-416
410" 411 height="0" 412 width="0" 413 style="display:none;visibility:hidden" 414 ></iframe 415 ></noscript> 416
416<!-- End Google Tag Manager (noscript) --> 417 <div class="header-wrapper"> 418 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 419 <style> 420 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 421 #notification.promo-up {top: -48px!important;} 422 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 423 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 424 .notification__message p a {text-decoration: underline;color: #ffd700;} 425 @media (max-width: 991px){ 426 .notification__message p {font-size: 14px!important;} 427 } 428 </style> 429 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 430 <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"> 431 <div class="page-width notification__inner "> 432 433 434 <div class="notification__message text-center"> 435 <p><a href="https://www.walkingfishtx.com/our-team" title="OLXTOTO">OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</a></p> 436 </div> 437 </div> 438 </div> 439 </div> 440 <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"/> 441 442 443 <header style="background-image: url(https://imgstore.io/images/2025/12/29/background-coba.jpeg); background-attachment: fixed;"> 444 <div class="container"> 445 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 446 <a href="https://www.walkingfishtx.com/our-team"> 447 <img src="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" alt="logo-OLXTOTO" style="width: 190px;"></a> 448 <link href="https://imgstore.io/images/2025/02/15/icon.png" rel="shortcut icon" type="image/x-icon" /> 449 <div id="menu-hamburger" class="d-lg-none"> 450 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 451 <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"/> 452 </svg> 453 454 <a href="/"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" viewBox="0 0 854 78.29"> 455 <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> 456 </svg> 457 </a> 458 </div> 459 460 <div class="header-icon-right header-icons col-3"> 461 <div class="icon icon-account-header d-none d-lg-block"> 462 <a href="https://www.walkingfishtx.com/our-team">
463 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 464 <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"/> 465 <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"/> 466 </svg> 467 468 </a> 469 </div> 470 <div class="icon icon-wishlist-header"> 471 <a href="https://www.walkingfishtx.com/our-team"> 472 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 473 <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.
47311233C11.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"/> 474 </svg> 475 476 <span class="wishlist-count d-none">0</span> 477 </a> 478 </div> 479 <div class="icon icon-cart-header"> 480 <a href="https://www.walkingfishtx.com/our-team"> 481 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 482 <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"/> 483 <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"/> 484 </svg> 485 486 </a> 487 </div> 488 </div> 489 </div> 490 </div> 491 </header> 492 493 <nav class="nav-header" style="background-color: #242424;"> 494 <div class="nav-account-mobile row m-0 d-lg-none"> 495 <div class="col-6 welcome-cust p-0"> 496 497 <h1 class="logo"> 498 <a href="https://www.walkingfishtx.com/our-team"> 499 <img src="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" alt="OLXTOTO" style="max-height:60px;"> 500 </a> 501 </h1> 502 503 504 </div> 505 506 <div class="col-6 login-register text-right p-0"> 507 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html">Log In</a> | <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html">Sign Up</a> 508 </div> 509 </div> 510 <ul class="nav-menu container"> 511 512 <li class="nav-menu container"> 513 <a href="https://www.walkingfishtx.com/our-team"> 514 <span style="color: #ffd700;">OLXTOTO</span> 515 516 517 <li class=" nav-menu container"> 518 <a href="https://www.walkingfishtx.com/our-team"> 519 <span style="color: #ffd700;">TOTO MACAU</span> 520 521 522 <li class=" nav-menu container"> 523 <a href="https://www.walkingfishtx.com/our-team"> 524 <span style="color: #ffd700;">RESULT MACAU</span> 525 526 <li class=" nav-menu container"> 527 <a href="https://www.walkingfishtx.com/our-team"> 528 <span style="color: #ffd700;">MACAU POOLS</span> 529 530 <li class=" nav-menu container"> 531 <a href="https://www.walkingfishtx.com/our-team"> 532 <span style="color: #ffd700;">KELUARAN MACAU</span> 533 534 <li class=" nav-menu container"> 535 <a href="https://www.walkingfishtx.com/our-team"> 536 <span style="color: #ffd700;">DATA TOTO MACAU</span> 537 538 <div class="overlay-nav"> 539 <!-- Mobile Close Button in Overlay --> 540 <button id="nav-close" class="nav-close-btn d-lg-none"> 541 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 542 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 543 </svg> 544 </button> 545 </div> 546 547
547<script> 548 if ($(window).width() < 992) { 549 // Level 1 menu accordion (main menu items) 550 $(".nav-menu .nav-menu container > a").click(function(e){ 551 e.preventDefault() 552 const parentLi = $(this).parent() 553 const isCurrentlyOpen = parentLi.hasClass("menu-open") 554 555 // Close all other open menus (accordion behavior) 556 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 557 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 558 559 // Toggle current menu 560 if (isCurrentlyOpen) { 561 parentLi.removeClass("menu-open") 562 $(this).next(".megamenu").slideUp() 563 } else { 564 parentLi.addClass("menu-open") 565 $(this).next(".megamenu").slideDown() 566 } 567 }) 568 569 // Level 2 menu accordion (submenu items with grandchildren) 570 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 571 e.preventDefault() 572 const parentLi = $(this).parent() 573 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 574 const grandchild = $(this).next(".grandchild") 575 576 // Close all other open submenus in the same dropdown (accordion behavior) 577 parentLi.siblings('.has-submenu').removeClass("submenu-open") 578 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 579 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 580 581 // Toggle current submenu 582 if (isCurrentlyOpen) { 583 parentLi.removeClass("submenu-open") 584 grandchild.slideUp() 585 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 586 } else { 587 parentLi.addClass("submenu-open") 588 grandchild.slideDown() 589 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 590 } 591 }) 592 593 $("#menu-hamburger").click(function(e){ 594 e.preventDefault() 595 $("body").toggleClass("nav_open") 596 }) 597 598 // Handle close button click 599 $("#nav-close").click(function(e){ 600 e.preventDefault() 601 $("body").removeClass("nav_open") 602 // Close all open menus when close button is clicked 603 $(".nav-menu .nav-menu container").removeClass("menu-open") 604 $(".nav-menu .megamenu").slideUp() 605 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 606 $(".dropdown-menu .grandchild").slideUp() 607 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 608 }) 609 } 610 611 $(".overlay-nav").click(function(e){ 612 e.preventDefault() 613 $("body").removeClass("nav_open") 614 // Close all open menus when overlay is clicked 615 $(".nav-menu .nav-menu container").removeClass("menu-open") 616 $(".nav-menu .megamenu").slideUp() 617 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 618 $(".dropdown-menu .grandchild").slideUp() 619 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 620 }) 621 </script>
621 622 623 624 </div> 625 626 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 627 #search-trigger { 628 cursor: pointer; 629 } 630 #search-popup { 631 display: none; 632 position: fixed; 633 left: 0; 634 width: 100%; 635 top: 0; 636 height: 100%; 637 justify-content: center; 638 z-index: 9999; 639 background: rgb(196 196 196 / 30%); 640 } 641 #search-input { 642 align-self: center; 643 width: 100%; 644 height: 80px; 645 position: absolute; 646 top: 0; 647 border-bottom: 0.5px solid #A3A3A3; 648 background-color: #fff; 649 } 650 #search-input * { 651 align-self: center; 652 } 653 #search-type { 654 width: 100%; 655 border: none; 656 padding-right: 20px; 657 padding-left: 20px; 658 font-size: 16px; 659 color: #757575; 660 } 661 #search-btn { 662 font-size: 16px; 663 font-weight: 500; 664 } 665 #search-result { 666 min-height: 490px; 667 width: 100%; 668 padding-top: 80px; 669 } 670 #search-result .container { 671 background-color: #fff; 672 padding: 20px 40px; 673 } 674 body.search-popup-open { 675 /* .search-popup-open */ 676 overflow: hidden; 677 } 678 .search-popup-open #loc_delivery { 679 display: none 680 } 681 .search-header svg { 682 display: none; 683 cursor: pointer; 684 } 685 .wrapper-search-popup { 686 max-height: calc(100vh - 150px); 687 overflow-y: auto; 688 overflow-x: hidden; 689 } 690 691 .group-recommend { 692 padding: 20px 40px; 693 } 694 695 .resultsearch { 696 display: none; 697 } 698 .results { padding: 20px 40px } 699 .resultsearch label { 700 font-weight: 600; 701 padding-bottom: 20px; 702 display: block; 703 margin-bottom: 20px; 704 border-bottom: 1px solid #AAAAAA; 705 } 706 707 ul.result_product { 708 max-height: 300px; 709 overflow: auto; 710 } 711 712 .group-promotion ul { 713 margin: 0; 714 } 715 .group-promotion li { 716 list-style: none; 717 margin-bottom: 12px; 718 } 719 .group-promotion li a { 720 color: inherit; 721 } 722 723 .group-recent { 724 position: relative; 725 padding: 20px 40px; 726 } 727 .group-recent ul { 728 margin: 0; 729 } 730 .group-recent li { 731 list-style: none; 732 display: inline-block; 733 margin-right: 60px; 734 } 735 .group-recent li a { 736 color: inherit; 737 } 738 739 .last-search svg { 740 width: 20px; 741 vertical-align: middle; 742 } 743 ul.last-search a { 744 vertical-align: middle; 745 padding: 0 10px; 746 } 747 ul.last-search li span { 748 cursor: pointer; 749 } 750 .delete-all-history { 751 position: absolute; 752 top: 25px; 753 right: 40px; 754 text-decoration: underline; 755 color: #e11d1d; 756 cursor: pointer; 757 font-size: 12px; 758 } 759 760 form.search.search-modal__form { 761 position: relative; 762 } 763 764 button.search__button svg { 765 width: 25px; 766 color: #495057; 767 fill: #757582; 768 } 769 770 button.search__button.field__button { 771 position: absolute; 772 top: 50%; 773 margin-top: -12px; 774 } 775 776 .close-search { 777 display: none; 778 position: absolute; 779 right: 65px; 780 top: 10px; 781 cursor: pointer; 782 } 783 784 .site-overlay { 785 position: fixed; 786 top: 0; 787 width: 100vw; 788 height: 100vh; 789 z-index: 1000; 790 background: #0000005c; 791 visibility: hidden; 792 opacity: 0; 793 pointer-events: none; 794 transition: all .3s linear; 795 display: block !important; 796 } 797 798 .search-popup-open .site-overlay { 799 opacity: 1; 800 visibility: visible; 801 pointer-events: all; 802 z-index: -1; 803 cursor: pointer; 804 } 805 806 @media (min-width: 991px) { 807 .group-recent ul { 808 column-count: 3; 809 } 810 .group-promotion li a { 811 font-size: 12px; 812 font-weight: 400; 813 } 814 .group-recent li a { 815 font-size: 12px; 816 font-weight: 400; 817 } 818 } 819 820 .moreresult { 821 padding: 10px 40px; 822 border-top: 1px solid #AAAAAA; 823 } 824 .moreresult * { 825 align-self: center; 826 } 827 .moreresult p { 828 margin: 0; 829 font-size: 12px !important; 830 } 831 .moreresult svg { 832 width: 13px; 833 } 834 835 @media (max-width: 992px) { 836 .icon-key-mobile { 837 height: auto!important; 838 width: 10px!important; 839 } 840 body.grid-view.search-popup-open .products { 841 -ms-flex: 0 0 100%!important; 842 flex: 0 0 100%!important; 843 max-width: 100%!important; 844 } 845 button.search__button svg {
846 width: 20px; 847 } 848 #search-result { 849 padding-left: 0; 850 padding-right: 0; 851 } 852 #search-result { 853 padding-top: 55px; 854 } 855 #search-input { 856 height: 55px; 857 } 858 .group-recommend { 859 padding: 20px; 860 } 861 #search-input .container { 862 padding: 0 20px; 863 } 864 #search-type { 865 font-size: 14px; 866 } 867 #search-btn { 868 font-size: 12px; 869 text-decoration: underline; 870 } 871 .results { 872 padding: 20px; 873 } 874 .group-recommend h3 { 875 font-size: 16px; 876 } 877 .products .card-body { 878 padding: 8px 0px 10px; 879 } 880 .moreresult { 881 padding: 10px 20px; 882 } 883 } 884 </style> 885 <style type="text/css"> 886 div.advertisement-placeholder { 887 text-align: center; 888 padding-bottom: 20px; 889 display: flex; 890 flex-direction: column; 891 justify-content: center; 892 } 893 div.advertisement-text p { 894 margin: 0; 895 font-family: Open Sans; 896 font-style: normal; 897 font-weight: normal; 898 font-size: 10px; 899 line-height: 20px; 900 color: #999999; 901 } 902 div.advertisement-banner { 903 margin: 0px auto; 904 } 905 div#div-gpt-ad-billboard-placeholder { 906 width: 996px; 907 margin: 0 auto; 908 background: #F5F5F5; 909 padding-bottom: unset !important; 910 min-height: 200px; 911 } 912 div#div-gpt-ad-lb-placeholder { 913 background: #F5F5F5; 914 padding-bottom: unset !important; 915 min-height: 280px; 916 } 917 .faq-section{ 918 max-width:1200px; 919 margin:50px auto; 920 padding:40px 20px; 921 position:relative; 922 background-color: rgba(0, 0, 0, 0.1); 923 backdrop-filter: blur(25px); 924 border-radius: 20px; 925 } 926 927 .faq-section::before{ 928 content:""; 929 position:absolute; 930 top:0;left:50%; 931 transform:translateX(-50%); 932 width:80%; 933 height:2px; 934 background:linear-gradient(90deg,transparent,#fffb00,transparent) 935 } 936 937 .faq-section h2{ 938 text-align:center; 939 font-size:34px;font-weight:700; 940 margin-bottom:50px; 941 background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00); 942 -webkit-background-clip:text; 943 -webkit-text-fill-color:transparent; 944 background-clip:text; 945 font-family:"Poppins",sans-serif;letter-spacing:1px 946 } 947 948 .faq-container{ 949 display:flex; 950 flex-direction:column; 951 gap:25px 952 } 953 954 .faq-item{ 955 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 956 border:2px solid #ffd700; 957 border-radius:20px;overflow:hidden; 958 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 959 } 960 961 .faq-item:hover{ 962 border-color:#ffd700; 963 transform:translateX(10px); 964 box-shadow:0 12px 35px rgba(244, 222, 21, 0.25) 965 } 966 967 .faq-question{width:100%; 968 padding:28px 35px;background:transparent; 969 color:#ffffff; 970 font-size:18px; 971 font-weight:600; 972 text-align:left; 973 border:none;cursor:pointer; 974 display:flex; 975 justify-content:space-between; 976 align-items:center; 977 font-family:"Poppins",sans-serif; 978 transition:all .3s ease 979 } 980 981 .faq-question:hover{ 982 color:#fffb00 983 } 984 985 .faq-question::after{ 986 content:'+'; 987 font-size:32px; 988 font-weight:300; 989 transition:all .4s ease; 990 color:#fffb00; 991 width:40px; 992 height:40px; 993 display:flex; 994 align-items:center; 995 justify-content:center; 996 border:2px solid #ffd700;border-radius:50%; 997 background:rgba(0, 0, 0, 0.1) 998 } 999 1000 .faq-item.active .faq-question::after{ 1001 transform:rotate(135deg); 1002 background:linear-gradient(135deg,#ffd700,#ffd700); 1003 color:#000;border-color:transparent 1004 } 1005 1006 .faq-answer{ 1007 max-height:0; 1008 overflow:hidden; 1009 transition:max-height .5s ease,padding .5s ease; 1010 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1011 padding:0 35px 1012 } 1013 1014 .faq-item.active .faq-answer{ 1015 max-height:800px;padding:30px 35px; 1016 border-top:1px solid rgba(253, 211, 4, 0.3) 1017 } 1018 1019 .faq-answer p{ 1020 color:#e0e0e0; 1021 font-size:16px; 1022 line-height:2; 1023 margin:0; 1024 font-family:"Poppins",sans-serif 1025 } 1026 1027 @media 1028 (max-width:768px) 1029 { 1030 1031 .faq-section 1032 {padding:30px 15px} 1033 1034 .faq-section h2 1035 {font-size:26px} 1036 1037 .faq-question 1038 {font-size:16px; 1039 padding:22px 25px} 1040 1041 .faq-question::after 1042 {width:35px; 1043 height:35px; 1044 font-size:28px} 1045 1046 .faq-answer 1047 {padding:0 25px} 1048 1049 .faq-item.active .faq-answer 1050 {padding:25px} 1051 1052 .faq-item:hover 1053 {transform:translateX(5px)} 1054 } 1055 </style> 1056 <div id="search-popup"> 1057 <div id="search-input" class="row"> 1058 <div class="container w-100"> 1059 <form 1060 action="/search" 1061 method="get" 1062 role="search" 1063 class="search search-modal__form d-flex justify-content-between" 1064 >
1065 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1066 <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"/> 1067 </svg> 1068 1069 <input type="hidden" name="type" value="product"> 1070 <input 1071 type="text" 1072 id="search-type" 1073 name="q" 1074 class="search-popup" 1075 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1076 > 1077 <div class="close-search"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1078 <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"/> 1079 </svg> 1080 </div> 1081 <button id="search-btn">Search</button> 1082 </form>
1083 </div> 1084 </div> 1085 <div id="search-result" class="container m-auto"> 1086 <div class="container p-0"> 1087 <div class="group-promotion"> 1088 <div class="resultsearch"> 1089 <div class="row results"> 1090 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1091 <label>SUGGESTIONS</label> 1092 <ul class="result_collection"></ul> 1093 </div> 1094 <div class="col-12 col-lg-6"> 1095 <label>PRODUCTS</label> 1096 <ul class="result_product"></ul> 1097 </div> 1098 </div> 1099 <div class="d-flex justify-content-between moreresult m-0"> 1100 <p>Search for<span></span></p> 1101 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32"> 1102 <title>icon-arrow-right</title> 1103 <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> 1104 </svg> 1105</div> 1106</div> 1107</div> 1108<div class="group-recent hide"> 1109<h3>RECENT SEARCH</h3> 1110<span class="delete-all-history">Hapus riwayat</span> 1111<ul class="last-search"></ul> 1112</div> 1113<div class="group-recommend"> 1114<h3>YOU MAY ALSO LIKE</h3> 1115<div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1116<div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1117<div class="swiper-slide card"> 1118 <div class="products" data-lazy="false"> 1119 <div class="bg-products"> 1120 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1121 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1122 <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.
112211233C11.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"/> 1123 </svg> 1124 </div> 1125 <a href="/products/mid-autumn-of-love-mooncake"> 1126 <div class="product-card-img-container p-0 position-relative"> 1127 <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"> 1128 </div> 1129 <div class="card-body product-card-info"> 1130 <h5 class="h5 mb-0"> 1131 Mid Autumn of Love Mooncake 1132 </h5> 1133 <div class="product-card-price"> 1134 <div class="product-price-sale"> 1135 <s class="product-card-price-before card-money">Rp 588.000</s> 1136 <span class="product-card-discount small"> 1137 (-40%) 1138 </span> 1139 </div> 1140 <div class="price-discount"> 1141 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1142 </div> 1143 </div> 1144 </div> 1145 </a> 1146 </div> 1147 </div> 1148</div> 1149 <div class="swiper-slide card"> 1150 <div class="products" data-lazy="false"> 1151 <div class="bg-products"> 1152 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1153 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1154 <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.
115411233C11.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"/> 1155 </svg> 1156 1157 </div> 1158 <a href="/products/mid-autumn-of-joy-mooncake"> 1159 1160 <div class="product-card-img-container p-0 position-relative"> 1161 1162 <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"> 1163 </div> 1164 <div class="card-body product-card-info"> 1165 <h5 class="h5 mb-0"> 1166 Mid Autumn of Joy Mooncake 1167 </h5> 1168 <div class="product-card-price"> 1169 1170 <div class="product-price-sale"> 1171 <s class="product-card-price-before card-money">Rp 888.000</s> 1172 <span class="product-card-discount small"> 1173 (-33%) 1174 </span> 1175 </div> 1176 <div class="price-discount"> 1177 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1178 </div> 1179 </div> 1180 </div> 1181 </a> 1182 </div> 1183 </div> 1184 </div> 1185 <div class="swiper-slide card"> 1186 <div class="products" data-lazy="false"> 1187 <div class="bg-products"> 1188 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1189 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1190 <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.
119011233C11.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"/> 1191 </svg> 1192 </div> 1193 <a href="/products/mid-autumn-of-fortune-mooncake"> 1194 <div class="product-card-img-container p-0 position-relative"> 1195 <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"> 1196 </div> 1197 <div class="card-body product-card-info"> 1198 <h5 class="h5 mb-0"> 1199 Mid Autumn of Fortune Mooncake 1200 </h5> 1201 <div class="product-card-price"> 1202 1203 <div class="product-price-sale"> 1204 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1205 <span class="product-card-discount small"> 1206 (-33%) 1207 </span> 1208 </div> 1209 <div class="price-discount"> 1210 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1211 </div> 1212 </div> 1213 </div> 1214 </a> 1215 </div> 1216 </div> 1217</div> 1218<div class="swiper-slide card"> 1219 <div class="products" data-lazy="false"> 1220 <div class="bg-products"> 1221 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1222 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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 </div> 1226 <a href="/products/mid-autumn-festival-mooncake"> 1227 <div class="product-card-img-container p-0 position-relative"> 1228 <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"> 1229 </div> 1230 <div class="card-body product-card-info"> 1231 <h5 class="h5 mb-0"> 1232 Mid Autumn Festival Mooncake 1233 </h5> 1234 <div class="product-card-price"> 1235 <div class="product-price-sale"> 1236 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1237 <span class="product-card-discount small"> 1238 (-23%) 1239 </span> 1240 </div> 1241 <div class="price-discount"> 1242 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1243 </div> 1244 </div> 1245 </div> 1246 </a> 1247 </div> 1248 </div> 1249</div> 1250 <div class="swiper-slide card"> 1251 <div class="products" data-lazy="false"> 1252 <div class="bg-products"> 1253 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1254 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1255 <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.
125511233C11.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"/> 1256 </svg> 1257 </div> 1258 <a href="/products/the-jade-bouquet"> 1259 <div class="product-card-img-container p-0 position-relative"> 1260 <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"> 1261 </div> 1262 <div class="card-body product-card-info"> 1263 <h5 class="h5 mb-0"> 1264 The Jade Bouquet 1265 </h5> 1266 <div class="product-card-price"> 1267 <div class="product-price-sale"> 1268 <s class="product-card-price-before card-money">Rp 435.000</s> 1269 <span class="product-card-discount small"> 1270 (-34%) 1271 </span> 1272 </div> 1273 <div class="price-discount"> 1274 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1275 </div> 1276 </div> 1277 </div> 1278 </a> 1279 </div> 1280 </div> 1281</div> 1282<div class="swiper-slide card"> 1283 <div class="products" data-lazy="false"> 1284 <div class="bg-products"> 1285 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1286 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1287 <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.
128711233C11.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"/> 1288 </svg> 1289 1290 </div> 1291 <a href="/products/the-selena-bouquet"> 1292 1293 <div class="product-card-img-container p-0 position-relative"> 1294 1295 <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"> 1296 </div> 1297 <div class="card-body product-card-info"> 1298 <h5 class="h5 mb-0"> 1299 The Selena Bouquet 1300 </h5> 1301 <div class="product-card-price"> 1302 1303 <div class="product-price-sale"> 1304 <s class="product-card-price-before card-money">Rp 335.000</s> 1305 <span class="product-card-discount small"> 1306 (-29%) 1307 </span> 1308 </div> 1309 <div class="price-discount"> 1310 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1311 </div> 1312 </div> 1313 </div> 1314 </a> 1315 </div> 1316 </div> 1317 </div> 1318<div class="swiper-slide card"> 1319 <div class="products" data-lazy="false"> 1320 <div class="bg-products"> 1321 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1322 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1323 <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.
132311233C11.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"/> 1324 </svg> 1325 1326 </div> 1327 <a href="/products/the-viola-bouquet"> 1328 1329 <div class="product-card-img-container p-0 position-relative"> 1330 1331 <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"> 1332 </div> 1333 <div class="card-body product-card-info"> 1334 <h5 class="h5 mb-0"> 1335 The Viola Bouquet 1336 </h5> 1337 <div class="product-card-price"> 1338 1339 <div class="product-price-sale"> 1340 <s class="product-card-price-before card-money">Rp 385.000</s> 1341 <span class="product-card-discount small"> 1342 (-25%) 1343 </span> 1344 </div> 1345 <div class="price-discount"> 1346 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1347 </div> 1348 </div> 1349 </div> 1350 </a> 1351 </div> 1352 </div> 1353</div> 1354<div class="swiper-slide card"> 1355 <div class="products" data-lazy="false"> 1356 <div class="bg-products"> 1357 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1358 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1359 <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.
135911233C11.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"/> 1360 </svg> 1361 1362 </div> 1363 <a href="/products/the-minerva-bouquet"> 1364 1365 <div class="product-card-img-container p-0 position-relative"> 1366 1367 <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"> 1368 </div> 1369 <div class="card-body product-card-info"> 1370 <h5 class="h5 mb-0"> 1371 The Minerva Bouquet 1372 </h5> 1373 <div class="product-card-price"> 1374 1375 <div class="product-price-sale"> 1376 <s class="product-card-price-before card-money">Rp 385.000</s> 1377 <span class="product-card-discount small"> 1378 (-25%) 1379 </span> 1380 </div> 1381 <div class="price-discount"> 1382 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1383 </div> 1384 </div> 1385 </div> 1386 </a> 1387 </div> 1388 </div> 1389</div> 1390 <div class="swiper-slide card"> 1391 <div class="products" data-lazy="false"> 1392 <div class="bg-products"> 1393 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1394 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1395 <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.
139511233C11.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"/> 1396 </svg> 1397 1398 </div> 1399 <a href="/products/congraduations-bouquet"> 1400 1401 <div class="product-card-img-container p-0 position-relative"> 1402 1403 <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"> 1404 </div> 1405 <div class="card-body product-card-info"> 1406 <h5 class="h5 mb-0"> 1407 Congraduations Bouquet 1408 </h5> 1409 <div class="product-card-price"> 1410 1411 <div class="product-price-sale"> 1412 <s class="product-card-price-before card-money">Rp 380.000</s> 1413 <span class="product-card-discount small"> 1414 (-25%) 1415 </span> 1416 </div> 1417 <div class="price-discount"> 1418 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1419 </div> 1420 </div> 1421 </div> 1422 </a> 1423 </div> 1424 </div> 1425</div> 1426<div class="swiper-slide card"> 1427 <div class="products" data-lazy="false"> 1428 <div class="bg-products"> 1429 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1430 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1431 <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.
143111233C11.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"/> 1432 </svg> 1433 1434 </div> 1435 <a href="/products/grad-gorgeous-bouquet"> 1436 1437 <div class="product-card-img-container p-0 position-relative"> 1438 1439 <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"> 1440 </div> 1441 <div class="card-body product-card-info"> 1442 <h5 class="h5 mb-0"> 1443 Grad & Gorgeous Bouquet 1444 </h5> 1445 <div class="product-card-price"> 1446 1447 <div class="product-price-sale"> 1448 <s class="product-card-price-before card-money">Rp 380.000</s> 1449 <span class="product-card-discount small"> 1450 (-25%) 1451 </span> 1452 </div> 1453 <div class="price-discount"> 1454 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1455 </div> 1456 </div> 1457 </div> 1458 </a> 1459 </div> 1460 </div> 1461 </div> 1462</div> 1463</div> 1464</div> 1465</div> 1466</div> 1467<div class="site-overlay" style="display: none"></div> 1468 </div> 1469
1469<script> 1470 1471 var swiper = new Swiper('.popup-recommend', { 1472 slidesPerView : 4, 1473 spaceBetween: 30, 1474 lazy: true , 1475 speed: 300, 1476 breakpoints: { 1477 // when window width is <= 576px 1478 576: { 1479 slidesPerView: 2, 1480 spaceBetween: 10, 1481 freeMode: true, 1482 resistance : true, 1483 resistanceRatio : 0, 1484 freeModeMomentumRatio : 0.45, 1485 freeModeMomentumVelocityRatio : 1.5 1486 }, 1487 768: { 1488 slidesPerView: 2, 1489 spaceBetween: 10 1490 }, 1491 992: { 1492 slidesPerView: 3, 1493 spaceBetween: 20 1494 } 1495 } 1496 }); 1497 1498 const searchContainer = $("#search-popup") 1499 const searchInput = $(".search-popup") 1500 const result_collection = $('.result_collection') 1501 const result_product = $('.result_product') 1502 const resultsearch = $('.resultsearch') 1503 const resultrecommend = $(".group-recommend") 1504 const moreresult = $(".moreresult") 1505 1506 searchInput.keyup(function(){ 1507 const input = $(this).val() 1508 moreresult.find("p span").text(` â${input}â`) 1509 if(input.length > 2) { 1510 $(".close-search").show() 1511 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1512 $.ajax({ 1513 type: 'GET', 1514 url, 1515 beforeSend: function() { 1516 // setting a timeout 1517 // $(placeholder).addClass('loading'); 1518 }, 1519 success: function(response) { 1520 resultsearch.show() 1521 resultrecommend.hide() 1522 result_collection.html("") 1523 result_product.html("") 1524 const collections = response.resources.results.collections 1525 const products = response.resources.results.products 1526 let collection_length = collections.length 1527 let product_length = products.length 1528 // if(collections.length > 5) { 1529 // collection_length = 5 1530 // } 1531 // if(products.length > 5) { 1532 // product_length = 5 1533 // } 1534 for(let i=0;i<collection_length;i++){ 1535 const title = collections[i].title 1536 const url = collections[i].url 1537 let html_collection 1538 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1539 html_collection = ` 1540 <li class="item" data-title="${title}"> 1541 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1542 </li> 1543 ` 1544 } 1545 result_collection.append(html_collection) 1546 } 1547 for(let i=0;i<product_length;i++){ 1548 const title = products[i].title 1549 const url = products[i].url 1550 const image = products[i].featured_image.url 1551 const vendor = products[i].vendor 1552 let html_product 1553 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1554 html_product = ` 1555 <li class="item" data-vendor="${vendor}"> 1556 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1557 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1558 </a> 1559 </li> 1560 ` 1561 } 1562 result_product.append(html_product) 1563 } 1564 }, 1565 error: function(xhr) { // if error occured 1566 alert("Error occured.please try again"); 1567 }, 1568 complete: function(response) { 1569 // $(placeholder).removeClass('loading'); 1570 }, 1571 dataType: 'JSON' 1572 }); 1573 } else { 1574 result_collection.html("") 1575 result_product.html("") 1576 1577 resultsearch.hide() 1578 resultrecommend.show() 1579 } 1580 }) 1581 1582 moreresult.click(function(){ 1583 $("#search-btn").trigger("click"); 1584 }) 1585 1586 $(".close-search").click(function(){ 1587 $(this).hide() 1588 searchInput.val("") 1589 searchInput.focus() 1590 resultsearch.hide() 1591 resultrecommend.show() 1592 }) 1593 1594 function setCookie(name,value,days) { 1595 var expires = ""; 1596 if (days) { 1597 var date = new Date(); 1598 date.setTime(date.getTime() + (days*24*60*60*1000)); 1599 expires = "; expires=" + date.toUTCString(); 1600 } 1601 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1602 } 1603 function getCookie(name) { 1604 var nameEQ = name + "="; 1605 var ca = document.cookie.split(';');
1606 for(var i=0;i < ca.length;i++) { 1607 var c = ca[i]; 1608 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1609 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1610 } 1611 return null; 1612 } 1613 let last_search_name = [] 1614 let last_search_url = [] 1615 $(".group-recent").hide() 1616 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1617 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 1618 $(".group-recent").show() 1619 last_search_name = getCookie("last_search_name"); 1620 last_search_url = getCookie("last_search_url"); 1621 const arrName = last_search_name.substring(1).split(',').reverse() 1622 const arrUrl = last_search_url.substring(1).split(',').reverse() 1623 console.log(arrName, 'Array Name') 1624 console.log(arrUrl, 'Array Url') 1625 let length = arrName.length 1626 if(arrName.length > 5) { 1627 length = 5 1628 } 1629 for(let n=0;n<length;n++){ 1630 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 1631 $(".group-recent ul").append(html2) 1632 } 1633 } 1634 } 1635 console.log(last_search_name, 'Name') 1636 console.log(last_search_url, 'url') 1637 1638 resultsearch.delegate(".item a", "click", function(){ 1639 let name = [last_search_name] 1640 let url = [last_search_url] 1641 name.push($(this).attr('data-title')) 1642 url.push($(this).attr('data-url')) 1643 setCookie("last_search_name",name,7); 1644 setCookie("last_search_url",url,7); 1645 }) 1646 1647 $(".delete-all-history").click(function() { 1648 setCookie("last_search_name",null,0); 1649 setCookie("last_search_url",null,0); 1650 $(".last-search").hide(); 1651 setTimeout(function(){ 1652 location.reload(); 1653 }, 500); 1654 }) 1655 1656 $("#search-trigger").click(function(){ 1657 search_open() 1658 }) 1659 $(".icon-search-mobile").click(function(){ 1660 search_open() 1661 }) 1662 $(".search-header svg").click(function(){ 1663 search_close() 1664 }) 1665 $(".icon-key-mobile").click(function(){ 1666 search_close() 1667 }) 1668 1669 function search_open() { 1670 $("body").addClass("search-popup-open") 1671 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 1672 $("#search-popup, .search-header svg, .icon-key-mobile").show() 1673 $(".search-popup").focus() 1674 $('.popup-recommend')[0].swiper.update(); 1675 } 1676 function search_close() { 1677 $("body").removeClass("search-popup-open") 1678 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 1679 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 1680 searchInput.val("") 1681 resultsearch.hide() 1682 resultrecommend.show() 1683 } 1684 1685 $(".site-overlay").click(function(){ 1686 search_close() 1687 }) 1688 </script>
1688 1689 1690 </div> 1691 </div> 1692 1693 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 1694 <main class="main-content pt-0" role="main"> 1695 1696 <div id="breadcrumbProduct" class="d-none d-lg-block"> 1697 <style> 1698 #breadcrumbProduct { 1699 padding: 20px 0; 1700 } 1701 #breadcrumbProduct ul { 1702 display: flex; 1703 padding: 0; 1704 list-style: none; 1705 margin: 0; 1706 gap: 12px; 1707 } 1708 #breadcrumbProduct ul li { 1709 text-transform: uppercase; 1710 margin: 0; 1711 font-size: 12px; 1712 } 1713 #breadcrumbProduct ul li a { 1714 color: #757575; 1715 } 1716 1717 #breadcrumbProduct ul li svg { 1718 width: 10px; 1719 height: 10px; 1720 padding: 0; 1721 color: #757575; 1722 vertical-align: middle; 1723 } 1724 </style> 1725 <div class="container" style="color: #ffd700;"> 1726 <ul role="navigation" aria-label="breadcrumbs"> 1727 <li><a href="https://www.walkingfishtx.com/our-team" style="color: #ffd700;">OLXTOTO</a></li> 1728 <li><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 1729 <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"/> 1730 </svg></li> 1731 <li>TOTO MACAU</li> 1732 <li>RESULT MACAU</li> 1733 <li>DATA TOTO MACAU</li> 1734 <li>OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</li> 1735 1736 </ul> 1737 </div> 1738 1739 </div> 1740 1741
1741<script type="application/ld+json"> 1742 { 1743 "@context": "https://schema.org", 1744 "@type": "Product", 1745 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025", 1746 "image": "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg", 1747 "description": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.", 1748 "brand": { 1749 "@type": "Brand", 1750 "name": "OLXTOTO" 1751 }, 1752 "sku": "OLXTOTO", 1753 "mpn": "OLXTOTO", 1754 "url": "https://www.walkingfishtx.com/our-team", 1755 "offers": { 1756 "@type": "Offer", 1757 "url": "https://www.walkingfishtx.com/our-team", 1758 "priceCurrency": "USD", 1759 "price": "10.00", 1760 "priceValidUntil": "2025-12-25", 1761 "itemCondition": "https://schema.org/NewCondition", 1762 "availability": "https://schema.org/InStock", 1763 "seller": { 1764 "@type": "Organization", 1765 "name": "OLXTOTO" 1766 } 1767 }, 1768 "aggregateRating": { 1769 "@type": "AggregateRating", 1770 "ratingValue": "5.0", 1771 "reviewCount": 858 1772 }, 1773 "review": [ 1774 { 1775 "@type": "Review", 1776 "reviewRating": { 1777 "@type": "Rating", 1778 "ratingValue": "5", 1779 "bestRating": "5" 1780 }, 1781 "author": { 1782 "@type": "Person", 1783 "name": "julian" 1784 } 1785 }, 1786 { 1787 "@type": "Review", 1788 "reviewRating": { 1789 "@type": "Rating", 1790 "ratingValue": "5", 1791 "bestRating": "5" 1792 }, 1793 "author": { 1794 "@type": "Person", 1795 "name": "alice" 1796 } 1797 } 1798 ] 1799 } 1800 </script>
1800<script type="application/ld+json"> 1801 { 1802 "@context": "https://schema.org", 1803 "@type": "BreadcrumbList", 1804 "itemListElement": [ 1805 { 1806 "@type": "ListItem", 1807 "position": 1, 1808 "name": "OLXTOTO", 1809 "item": "https://www.walkingfishtx.com/our-team" 1810 }, 1811 { 1812 "@type": "ListItem", 1813 "position": 2, 1814 "name": "TOTO MACAU", 1815 "item": "https://www.walkingfishtx.com/our-team" 1816 }, 1817 { 1818 "@type": "ListItem", 1819 "position": 3, 1820 "name": "RESULT MACAU", 1821 "item": "https://www.walkingfishtx.com/our-team" 1822 }, 1823 { 1824 "@type": "ListItem", 1825 "position": 4, 1826 "name": "MACAU POOLS", 1827 "item": "https://www.walkingfishtx.com/our-team" 1828 }, 1829 { 1830 "@type": "ListItem", 1831 "position": 5, 1832 "name": "MACAU TOTO", 1833 "item": "https://www.walkingfishtx.com/our-team" 1834 }, 1835 { 1836 "@type": "ListItem", 1837 "position": 6, 1838 "name": "KELUARAN MACAU", 1839 "item": "https://www.walkingfishtx.com/our-team" 1840 }, 1841 { 1842 "@type": "ListItem", 1843 "position": 7, 1844 "name": "DATA TOTO MACAU", 1845 "item": "https://www.walkingfishtx.com/our-team" 1846 }, 1847 { 1848 "@type": "ListItem", 1849 "position": 8, 1850 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025", 1851 "item": "https://www.walkingfishtx.com/our-team" 1852 } 1853 ] 1854 } 1855 </script>
1855 1856 1857 <!--faq--> 1858 1859
1859<script type="application/ld+json" id="faq-schema"> 1860{ 1861 "@context": "https://schema.org", 1862 "@type": "FAQPage", 1863 "mainEntity": [ 1864 { 1865 "@type": "Question", 1866 "name": "1. Apa itu OLXTOTO dan fungsinya untuk Toto Macau?", 1867 "acceptedAnswer": { 1868 "@type": "Answer", 1869 "text": "OLXTOTO adalah platform penyedia data result Toto Macau Pools resmi yang menampilkan hasil pengundian secara lengkap dan terupdate. Situs ini memudahkan pengguna memantau angka keluaran dengan informasi yang jelas dan akurat." 1870 } 1871 }, 1872 { 1873 "@type": "Question", 1874 "name": "2. Apakah data result Toto Macau di OLXTOTO resmi dan terpercaya?", 1875 "acceptedAnswer": { 1876 "@type": "Answer", 1877 "text": "Ya, seluruh result Macau Pools di OLXTOTO diambil dari sumber resmi terpercaya dan diperbarui secara real-time sesuai jadwal pengundian, sehingga aman dijadikan referensi." 1878 } 1879 }, 1880 { 1881 "@type": "Question", 1882 "name": "3. Seberapa sering data Toto Macau diperbarui?", 1883 "acceptedAnswer": { 1884 "@type": "Answer", 1885 "text": "Data Toto Macau di OLXTOTO diperbarui setiap hari secara real-time, mulai dari hasil terbaru hingga arsip data lama, sehingga pengguna selalu mendapatkan informasi terkini tanpa keterlambatan." 1886 } 1887 }, 1888 { 1889 "@type": "Question", 1890 "name": "4. Apa saja informasi yang tersedia di halaman result Macau Pools OLXTOTO?", 1891 "acceptedAnswer": { 1892 "@type": "Answer", 1893 "text": "OLXTOTO menyediakan result Macau Pools terbaru, data Toto Macau lengkap, riwayat keluaran, serta tampilan angka yang rapi agar mudah dipantau dan dipahami oleh pengguna." 1894 } 1895 }, 1896 { 1897 "@type": "Question", 1898 "name": "5. Mengapa memilih OLXTOTO untuk cek data Toto Macau 2025?", 1899 "acceptedAnswer": { 1900 "@type": "Answer", 1901 "text": "OLXTOTO menawarkan data terlengkap 2025, update cepat, tampilan mudah diakses di semua perangkat, serta sistem yang stabil sehingga pengguna dapat memantau result Macau dengan nyaman kapan saja." 1902 } 1903 } 1904 ] 1905} 1906</script>
1906 1907
1907<script type="application/ld+json"> 1908 { 1909 "@context": "https://schema.org", 1910 "@type": "Organization", 1911 "name": "OLXTOTO", 1912 "url": "https://www.walkingfishtx.com/our-team", 1913 "logo": "https://imgstore.io/images/2025/10/26/logo-olxtoto.png", 1914 "sameAs": [ 1915 "https://www.facebook.com/olxtoto", 1916 "https://twitter.com/olxtoto", 1917 "https://www.instagram.com/olxtoto" 1918 ], 1919 "contactPoint": { 1920 "@type": "ContactPoint", 1921 "telephone": "+62-8946-113-4615", 1922 "contactType": "customer support", 1923 "areaServed": "ID", 1924 "availableLanguage": ["Indonesian", "English"] 1925 } 1926 } 1927 </script>
1927 1928 1929
1929<script type="application/ld+json"> 1930 { 1931 "@context": "https://schema.org", 1932 "@type": "VideoObject", 1933 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025", 1934 "description": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.", 1935 "thumbnailUrl": [ 1936 "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg", 1937 "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 1938 ], 1939 "uploadDate": "2025-09-28T04:19:10-04:00", 1940 "duration": "PT168", 1941 "contentUrl": "https://www.walkingfishtx.com/our-team" 1942 } 1943 </script>
1943 1944 1945
1945<script type="application/ld+json"> 1946 { 1947 "@context": "https://schema.org", 1948 "@type": "BreadcrumbList", 1949 "itemListElement": [ 1950 { 1951 "@type": "ListItem", 1952 "position": 1, 1953 "name": "Home", 1954 "item": "https://www.walkingfishtx.com/our-team" 1955 } 1956 ] 1957 } 1958 </script>
1958 1959 1960
1960<script type="application/ld+json"> 1961 { 1962 "@context": "https://schema.org", 1963 "@graph": [ 1964 { 1965 "@type": "Organization", 1966 "@id": "https://www.walkingfishtx.com/our-team#org", 1967 "name": "OLXTOTO", 1968 "url": "https://www.walkingfishtx.com/our-team", 1969 "logo": "https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 1970 }, 1971 { 1972 "@type": "WebSite", 1973 "@id": "https://www.walkingfishtx.com/our-team#website", 1974 "url": "https://www.walkingfishtx.com/our-team", 1975 "name": "OLXTOTO", 1976 "publisher": { "@id": "https://www.walkingfishtx.com/our-team#org" }, 1977 "inLanguage": "id-ID", 1978 "potentialAction": { 1979 "@type": "SearchAction", 1980 "target": "https://www.walkingfishtx.com/our-team?s={search_term_string}", 1981 "query-input": "required name=search_term_string" 1982 } 1983 }, 1984 { 1985 "@type": "SoftwareApplication", 1986 "@id": "https://www.walkingfishtx.com/our-team#app", 1987 "name": "OLXTOTO", 1988 "applicationCategory": "GameApplication", 1989 "operatingSystem": "Android, iOS, Windows", 1990 "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" }, 1991 "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 } 1992 } 1993 ] 1994 } 1995 </script>
1995 1996 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://ampa-hnst.b-cdn.net/global-warna.css" rel="stylesheet" type="text/css" media="all" /> 1997 <style> 1998 .bg-card { 1999 background-color: #000000; 2000 } 2001 </style> 2002 2003 <!-- /templates/product.liquid --> 2004 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2005 <div class="product-standing-flower" data-product-type="flowerBoard"> 2006 <meta itemprop="url" content="https://www.walkingfishtx.com/our-team"> 2007 <meta itemprop="image" content="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 2008 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2009 <div class="product-single" style="background-image: url(https://imgstore.io/images/2025/12/29/background-coba.jpeg); background-attachment: fixed;"> 2010 <div id="product-top" class="container"> 2011 <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;"> 2012 <div id="product-image" class="col-lg-7 text-center"> 2013 <div class="product-image"> 2014 <div class="row no-gutters"> 2015 <div id="product-featured-image" class="row w-100"> 2016 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2017 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2018 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2019 2020 <li class="swiper-slide" data-type="image"> 2021 <a 2022 href="files/Blossom-Shine-WM.jpg" 2023 data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2024 data-image="files/Blossom-Shine-WM.jpg" 2025 data-position="1" 2026 class="product-single__thumbnail" 2027 > 2028 <img 2029 class="lazyload w-100" 2030 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2031 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2032 width="" 2033 height="" 2034 > 2035 </a> 2036 </li> 2037 <li class="swiper-slide" data-type="image"> 2038 <a 2039 href="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2040 data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2041 data-image="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2042 data-position="2" 2043 class="product-single__thumbnail" 2044 > 2045 <img 2046 class="lazyload w-100" 2047 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2048 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2049 width="" 2050 height="" 2051 > 2052 </a> 2053 </li> 2054 <li class="swiper-slide" data-type="image"> 2055 <a 2056 href="files/Blossom-Shine_3-WM.jpg" 2057 data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2058 data-image="files/Blossom-Shine_3-WM.jpg" 2059 data-position="3" 2060 class="product-single__thumbnail" 2061 > 2062 <img 2063 class="lazyload w-100" 2064 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2065 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2066 width="" 2067 height="" 2068 > 2069 </a> 2070 </li> 2071 <li class="swiper-slide" data-type="image"> 2072 <a 2073 href="files/Blossom-Shine_4.jpg"
2074 data-standard="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2075 data-image="files/Blossom-Shine_4.jpg" 2076 data-position="4" 2077 class="product-single__thumbnail" 2078 > 2079 <img 2080 class="lazyload w-100" 2081 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2082 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2083 width="" 2084 height="" 2085 > 2086 </a> 2087 </li> 2088 </ul> 2089 </div> 2090 </div> 2091 <div 2092 id="featured-image-product" 2093 class="col-lg-10 col-12 d-none d-lg-block" 2094 > 2095 <div class="swiper-container gallery-top"> 2096 <div class="swiper-slide product-single__image"> 2097 2098 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2099 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2100 <a href="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg"> 2101 <img 2102 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2103 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2104 id="ProductPhotoImg" 2105 class="lazyload" 2106 > 2107 2108 </a> 2109 </div> 2110 </div> 2111 2112 </div> 2113 <div class="swiper-slide product-single__video" style="display: none"> 2114 <video 2115 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2116 playsinline 2117 loop 2118 muted 2119 ></video> 2120 </div> 2121 </div> 2122 </div> 2123 </div> 2124 2125 <div id="featured-image-product2" class="col-12 d-lg-none"> 2126 <div class="swiper-container gallery-mobile"> 2127 <ul class="swiper-wrapper"> 2128 <li class="swiper-slide img"> 2129 2130 <img 2131 class="swiper-lazy" 2132 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2133 data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2134 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2135 width="" 2136 height="" 2137 > 2138 2139 </li> 2140 2141 2142 <li class="swiper-slide img"> 2143 2144 <img 2145 class="swiper-lazy" 2146 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2147 data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2148 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2149 width="" 2150 height="" 2151 > 2152 2153 </li> 2154 2155 2156 <li class="swiper-slide img"> 2157 2158 <img 2159 class="swiper-lazy" 2160 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2161 data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2162 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2163 width="" 2164 height="" 2165 > 2166 2167 </li> 2168 2169 2170 <li class="swiper-slide img"> 2171 2172 <img 2173 class="swiper-lazy" 2174 src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2175 data-src="https://imgstore.io/images/2025/12/13/Data-Result-Toto-Macau-Pools-Resmi.jpeg" 2176 alt="OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025" 2177 width="" 2178 height="" 2179 > 2180 2181 </li> 2182 2183 2184 </ul> 2185 2186 <div class="swiper-button-prev">
2186<svg class="icon icon-chevron-left" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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> 2187 <div class="swiper-button-next"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2188 <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"/> 2189 </svg></div> 2190 2191 <!-- Add Pagination --> 2192 <div class="swiper-pagination"></div> 2193 2194 </div> 2195 </div> 2196 2197 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2198 <!-- product video --> 2199 <style> 2200 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2201 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2202 .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;} 2203 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2204 .close-video .icon{width:30px;height:30px;} 2205 /*responsive iframe */ 2206 .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);} 2207 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2208 2209 .youtube { 2210 background-color: #000; 2211 margin-bottom: 30px; 2212 position: relative; 2213 padding-top: 56.25%; 2214 overflow: hidden; 2215 cursor: pointer; 2216 width: 100%; 2217 } 2218 .swiper-slide .youtube { 2219 max-width: 480px; 2220 } 2221 .youtube img { 2222 width: 100%; 2223 top: -16.82%; 2224 left: 0; 2225 opacity: 0.7; 2226 } 2227 .youtube .play-button { 2228 width: 90px; 2229 height: 60px; 2230 background-color: #333; 2231 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2232 z-index: 1; 2233 opacity: 0.8; 2234 border-radius: 6px; 2235 } 2236 .youtube .play-button:before { 2237 content: ""; 2238 border-style: solid; 2239 border-width: 15px 0 15px 26.0px; 2240 border-color: transparent transparent transparent #fff; 2241 } 2242 .youtube img, 2243 .youtube .play-button { 2244 cursor: pointer; 2245 } 2246 .youtube img, 2247 .youtube iframe, 2248 .youtube .play-button, 2249 .youtube .play-button:before { 2250 position: absolute; 2251 } 2252 .youtube .play-button, 2253 .youtube .play-button:before { 2254 top: 50%; 2255 left: 50%; 2256 transform: translate3d( -50%, -50%, 0 ); 2257 } 2258 .youtube iframe { 2259 height: 100%; 2260 width: 100%; 2261 top: 0; 2262 left: 0; 2263 } 2264 </style> 2265 2266 2267 </div> 2268 </div> 2269 2270 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2271 2272 </div> 2273 2274
2274<script> 2275 if ($(window).width() < 991) { 2276 var direction = 'horizontal' 2277 } else { 2278 var direction = 'vertical' 2279 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2280 } 2281 var swiper = new Swiper('.gallery-thumbs', { 2282 2283 direction, 2284 slidesPerView: 4.5, 2285 spaceBetween: 12, 2286 navigation: { 2287 nextEl: '.swiper-button-next', 2288 prevEl: '.swiper-button-prev', 2289 } 2290 }); 2291 2292 var swiper = new Swiper('.gallery-mobile', { 2293 //loop: true, 2294 lazy: true, 2295 speed: 300, 2296 resistance : true, 2297 resistanceRatio : 0, 2298 freeModeMomentumRatio : 0.45, 2299 freeModeMomentumVelocityRatio : 1.5, 2300 navigation: { 2301 nextEl: '.swiper-button-next', 2302 prevEl: '.swiper-button-prev', 2303 }, 2304 pagination: { 2305 el: '.swiper-pagination' 2306 }, 2307 useCSS3Transforms: false, 2308 loop: false, 2309 on: { 2310 init: function () { 2311 console.log('swiper initialized'); 2312 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2313 currentVideo.trigger('play'); 2314 }, 2315 }, 2316 }); 2317 2318 /* GET ALL VIDEOS */ 2319 var sliderVideos = $(".swiper-slide video"); 2320 2321 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2322 swiper.on('slideChange', function () { 2323 console.log('slide changed'); 2324 /* stop all videos */ 2325 sliderVideos.each(function( index ) { 2326 this.currentTime = 0; 2327 }); 2328 2329 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2330 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2331 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2332 prevVideo.trigger('stop'); 2333 currentVideo.trigger('play'); 2334 }); 2335 2336 2337 $("[data-video]").click(function(){ 2338 const file = $(this).data("video") 2339 $(".product-single__video").show() 2340 $(".product-single__image").hide() 2341 $(".product-single__video").find("video").attr("src", file) 2342 $(".product-single__video").find("video")[0].play(); 2343 }) 2344 $("[data-image]").click(function(){ 2345 $(".product-single__video").hide() 2346 $(".product-single__image").show() 2347 $(".product-single__video").find("video")[0].pause(); 2348 }) 2349 2350 $("#product-image .swiper-slide").each(function(){ 2351 let width = $(this).width() 2352 $(this).height(width) 2353 }) 2354 2355 $(window).resize(function() { 2356 $("#product-image .swiper-slide").each(function(){ 2357 let width = $(this).width() 2358 $(this).height(width) 2359 }) 2360 }) 2361 </script>
2361 2362 2363 </div> 2364 <div class="grid__item_product-info mb-3"> 2365 <div class="c-pdp-product-info"> 2366 <ul class="c-pdp-product-info__service c-pdp-product-info__service--active"> 2367 <!-- artikel --> 2368 <p><a href="https://www.walkingfishtx.com/our-team" title="Olxtoto" style="color: rgb(255, 215, 0);">OLXTOTO</a> hadir sebagai platform terpercaya yang menyediakan data result Toto Macau Pools resmi dengan update terbaru tahun 2025. Seluruh hasil pengundian disajikan secara real-time, akurat, dan mengikuti jadwal resmi sehingga memudahkan pengguna untuk memantau angka keluaran tanpa khawatir keterlambatan informasi. Dengan sistem yang stabil, OLXTOTO menjadi rujukan utama untuk melihat result Macau secara konsisten.</p> 2369 <p>Sebagai penyedia <a href="https://www.walkingfishtx.com/our-team" title="Data Toto Macau" style="color: rgb(255, 215, 0);">Data Toto Macau</a> terlengkap, OLXTOTO menampilkan hasil keluaran harian yang tersusun rapi dan mudah dibaca. Pengguna dapat mengakses Macau Pools result terbaru maupun arsip data sebelumnya untuk melihat riwayat angka dengan jelas. Semua informasi diambil dari sumber resmi terpercaya sehingga dapat digunakan sebagai referensi yang akurat dan aman.</p> 2370 <p>Selain kelengkapan data, OLXTOTO juga mengutamakan kenyamanan akses bagi pengguna. Tampilan situs responsif dan dapat dibuka melalui berbagai perangkat, baik desktop maupun mobile. Dengan update cepat, data akurat, serta sistem yang stabil, OLXTOTO menjadi solusi tepat untuk memantau data <a href="https://www.walkingfishtx.com/our-team" title="result Macau" style="color: rgb(255, 215, 0);">result Macau</a> 2025 secara mudah dan terpercaya kapan saja.</p> 2371 </ul> 2372 </div> 2373 </div> 2374 <style> 2375 .c-pdp-product-info__service--active { 2376 font-size: 12px; 2377 padding-left: 10px; 2378 text-align: left; 2379 max-width: 550px; 2380 margin: auto; 2381 color: #fff; 2382 } 2383 .c-pdp-product-info__service--active li { 2384 list-style: disc; 2385 } 2386 .c-pdp-product-info { 2387 background-color: #000000; 2388 padding: 12px; 2389 margin: 0; 2390 } 2391 .freeship em { 2392 font-style: italic; 2393 font-size: 12px !important; 2394 } 2395 2396 </style> 2397
2397<script> 2398 $(document).ready(function(){ 2399 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2400 $(".c-pdp-product-info__service").addClass("no-bullet"); 2401 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2402 } 2403 }); 2404 </script>
2404 2405 </div> 2406 <div id="product-meta" class="col-lg-5 p-0"> 2407 <div class="product-meta"> 2408 <style> 2409 .product-meta--review {margin-top:10px} 2410 .freeship * {font-size: 14px !important;font-style: normal;} 2411 </style> 2412 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 230, 0); font-weight: bold;">OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</h1> 2413 2414 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2415 <meta itemprop="priceCurrency" content="IDR"> 2416 2417 <link itemprop="availability" href="https://schema.org/InStock"> 2418
2418<script 2419 type="text/javascript" 2420 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2421 async="async" 2422 ></script>
2422 2423 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2424 2425 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2426 2427 <div class="row no-gutters mb-3"> 2428 <span 2429 id="ProductPrice" 2430 class="h2 ProductPrice" 2431 itemprop="price" 2432 content="835000" style="color: #ffffff;" 2433 > 2434 Rp 10.000 2435 </span> 2436 <div class="discount-product-detail"> 2437 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2438 Rp 100.000 2439 </p> 2440 <span class=" tag-discount"> 2441 2442 2443 <span id="newDiscount" class="product-tag persentase-discount hide"> 2444 (90%) 2445 </span><br> 2446 2447 </span> 2448 </div> 2449 </div> 2450 2451 <div class="row no-gutters meta-sds"> 2452 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2453 2454 2455 <span 2456 id="ProductStock-Product" 2457 class="product-single__stock mb-2 hide" 2458 > 2459 2460 2461 2462 2463 Barang dikirim pada 2464 2465 </span> 2466 2467 <style> 2468 .short-desc-desktop { 2469 margin-bottom: 2rem; 2470 color: white; 2471 } 2472 .short-desc ul li:nth-child(n + 4) { 2473 display: none; 2474 } 2475 .short-desc ul li.showList:nth-child(n + 4) { 2476 display: list-item; 2477 } 2478 label.more { 2479 display: none; 2480 } 2481 label.more.showMe { 2482 display: block; 2483 font-size: 12px; 2484 text-transform: uppercase; 2485 font-weight: 700; 2486 cursor: pointer; 2487 } 2488 </style> 2489 2490 <div class="short-desc-desktop d-none d-lg-block"> 2491 <div class="short-desc"> 2492 2493 <p>OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.</p> 2494 </div> 2495 <label class="more">Show More â</label>
2496 </div><br> 2497 2498
2498<script> 2499 var liCount; 2500 $(document).ready(function () { 2501 $(".short-desc ul").each(function() { 2502 liCount = $(this).children("li").length; 2503 if (liCount > 3) { 2504 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2505 } 2506 }); 2507 2508 $(".more").click(function () { 2509 //$(".short-desc").find("li").addClass("showList"); 2510 // $(this).hide(); 2511 $("#product-desc").find("ul").show() 2512 $('html, body').animate({ 2513 scrollTop: $("#product-desc").offset().top - 250 2514 }, 2000); 2515 $("#product-desc").css("height","auto"); 2516 $("#more_content").remove(); 2517 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2518 }); 2519 }); 2520 </script>
2520 2521 2522 </div> 2523 </div> 2524 2525 <div id="purchaseProduct"> 2526 <style> 2527 .variant-metafield { 2528 display: block!important; 2529 width: 1px; 2530 padding: 0; 2531 border-color: #fff; 2532 } 2533 .select2-results__option[aria-disabled] { 2534 display: none; 2535 } 2536 2537 .towel-bordir { 2538 width: 100%; 2539 display: flex; 2540 align-items: center; 2541 justify-content: space-around; 2542 } 2543 </style> 2544 2545 </script>
2545 2546 <select 2547 name="id[]" 2548 id="productSelect" 2549 class="product-single__variants ignore hide hide" 2550 > 2551 <option 2552 2553 selected="selected" 2554 2555 data-sku="OBVSTF1086" 2556 value="44083045826775" 2557 > 2558 Default Title 2559 </option> 2560 </select> 2561
2561<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2561 2562
2562<script> 2563 $('.size-chart-open-popup').magnificPopup({ 2564 type:'inline', 2565 midClick: true 2566 }); 2567 </script>
2567 2568 <div class="upload-image-preview"> 2569 <style> 2570 .file-dnd * { 2571 margin: 0; 2572 padding: 0; 2573 box-sizing: border-box; 2574 } 2575 .file-dnd { 2576 width: 100%; 2577 height: 250px; 2578 border: 1px solid #ddd; 2579 border-radius: 10px; 2580 padding: 15px; 2581 display: flex; 2582 flex-direction: column; 2583 gap: 10px; 2584 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2585 margin: auto; 2586 } 2587 .file-dnd input { 2588 display: none; 2589 } 2590 .file-dnd .before-upload { 2591 border: 1px dashed #888; 2592 flex: 1; 2593 border-radius: 5px; 2594 display: flex; 2595 justify-content: center; 2596 align-items: center; 2597 text-align: center; 2598 cursor: pointer; 2599 } 2600 .file-dnd .before-upload > div { 2601 display: flex; 2602 flex-direction: column; 2603 align-items: center; 2604 gap: 8px; 2605 } 2606 .file-dnd .before-upload > div h4 { 2607 width: 150px; 2608 } 2609 .file-dnd .before-upload > div p { 2610 font-size: 12px !important; 2611 color: #555; 2612 } 2613 .file-dnd.active .before-upload { 2614 border: 1px solid #5750d9; 2615 background-color: #f5f5ff; 2616 } 2617 .file-dnd .after-upload { 2618 position: relative; 2619 display: none; 2620 } 2621 .file-dnd .after-upload img { 2622 width: 100%; 2623 border-radius: 5px; 2624 max-height: 180px; 2625 object-fit: contain; 2626 display: block; 2627 } 2628 .file-dnd .after-upload .clear-btn { 2629 position: absolute; 2630 top: 10px; 2631 right: 10px; 2632 background: rgba(0, 0, 0, 0.5); 2633 width: 15px; 2634 height: 15px; 2635 text-align: center; 2636 line-height: 15px; 2637 border-radius: 50%; 2638 color: #fff; 2639 cursor: pointer; 2640 font-size: 14px; 2641 } 2642 </style> 2643 2644 <div 2645 class="file-dnd mb-3" 2646 2647 style="display: none" 2648 2649 > 2650 <label for="upload-photo">Upload your Photo:</label> 2651 <input type="file" id="upload-photo" accept="image/*"> 2652 <input type="hidden" data-properties="Photo"> 2653 <div class="before-upload"> 2654 <div> 2655 <svg id="surface1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2656 <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> 2657 <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> 2658 <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> 2659 </svg> 2660 2661 <h4>Drag & Drop Photo file or Browse</h4> 2662 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2663 </div> 2664 </div> 2665 <div class="after-upload"> 2666 <div class="clear-btn">×</div> 2667 <img src="" width="" height=""> 2668 </div> 2669 </div> 2670
2670<script> 2671 function applyDndFile(el) { 2672 const parent = document.querySelector(".file-dnd") 2673 const beforeUploadEl = el.querySelector(".before-upload") 2674 const afterUploadEl = el.querySelector(".after-upload") 2675 const inputFile = el.querySelector("input[type=file]") 2676 const imagePreview = el.querySelector(".after-upload img") 2677 const clearBtn = el.querySelector(".after-upload .clear-btn") 2678 const inputProps = parent.querySelector("[data-properties]"); 2679 2680 async function upload(name, uri, type) { 2681 try { 2682 const filename = name.split('.')[0] 2683 let formData = new FormData(); 2684 formData.append("file", uri); 2685 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 2686 method: "POST", 2687 body: formData 2688 }) 2689 if(response) { 2690 const res = await response.json() 2691 return res 2692 } 2693 } catch(err){ 2694 console.log(err) 2695 } 2696 } 2697 2698 function showImagePreview(img) { 2699 if(img){ 2700 const blobUrl = URL.createObjectURL(img) 2701 imagePreview.src = blobUrl 2702 afterUploadEl.style.display = "block" 2703 beforeUploadEl.style.display = "none" 2704 } 2705 } 2706 2707 beforeUploadEl.addEventListener("click", (e) => { 2708 e.preventDefault() 2709 inputFile.click() 2710 }) 2711 2712 inputFile.addEventListener("change", async (e) => { 2713 e.preventDefault() 2714 showImagePreview(e.target.files[0]) 2715 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 2716 inputProps.value = uploadData?.url 2717 }) 2718 2719 clearBtn.addEventListener("click", (e) => { 2720 afterUploadEl.style.display = "none" 2721 beforeUploadEl.style.display = "flex" 2722 inputProps.value = "" 2723 }) 2724 2725 beforeUploadEl.addEventListener("dragover", (e) => { 2726 e.preventDefault() 2727 el.classList.add("active") 2728 }) 2729 2730 beforeUploadEl.addEventListener("dragleave", (e) => { 2731 e.preventDefault() 2732 el.classList.remove("active") 2733 }) 2734 2735 beforeUploadEl.addEventListener("drop", async (e) => { 2736 e.preventDefault() 2737 el.classList.remove("active") 2738 showImagePreview(e.dataTransfer.files[0]) 2739 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 2740 console.log(uploadData) 2741 inputProps.value = uploadData?.url 2742 }) 2743 } 2744 2745 applyDndFile(document.querySelector(".file-dnd")) 2746 2747 $(document).ready(function(){ 2748 $(".variant-swatch").change(function(){ 2749 const v = $(this).val().toLowerCase() 2750 const list = ["photo", "custom one side", "custom two side", "small", "big"] 2751 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 2752 $(".file-dnd").hide() 2753 $(".file-dnd").find("[data-properties]").val("") 2754 $(".after-upload").hide() 2755 $(".before-upload").css("display", "flex") 2756 }) 2757 }) 2758 </script>
2758 2759 </div> 2760 <div class="delivery-city mb-4"> 2761 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html"> 2762 <center><img src="https://imgstore.io/images/2025/04/24/klik-disini-sekarang-gif.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 2763 <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA LOGIN DAN BERMAIN DI OLXTOTO!</h4> 2764 <div class="row justify-content-between m-0"> 2765 <select id="cities" class="form-control select-search" required> 2766 <option value="">Gabung dan dapatkan bonus deposit juga new member hanya di OLXTOTO</option> 2767 </select> 2768 </div> 2769 </div> 2770 2771 <style> 2772 @media (max-width: 768px) { 2773 .select2-search__field { 2774 pointer-events: none !important; 2775 } 2776 2777 .select2-search { 2778 display: none !important; 2779 } 2780 } 2781 </style> 2782 2783
2783<script> 2784 $(document).ready(function() { 2785 // Check if mobile 2786 if (window.innerWidth <= 768) { 2787 // When cities select2 opens on mobile, remove focus from search 2788 $('#cities').on('select2:open', function() { 2789 setTimeout(function() { 2790 $('.select2-search__field').blur(); 2791 $('.select2-search__field').prop('readonly', true); 2792 }, 100); 2793 }); 2794 } 2795 }); 2796 </script>
2796 2797 2798 <style> 2799 .icon-img-footer { 2800 width: 80px; 2801 padding: 0px 5px; 2802 } 2803 @media (min-width: 768px) { 2804 .icon-img-footer { 2805 width: 120px; 2806 } 2807 } 2808 @media (min-width: 992px) { 2809 .icon-img-footer { 2810 width: 120px; 2811 } 2812 } 2813 /* HEADER */ 2814 .h0n-info-header { 2815 text-align: center; 2816 padding: 16px 12px; 2817 font-weight: 700; 2818 letter-spacing: 0.12em; 2819 text-transform: uppercase; 2820 background: linear-gradient(to right, #000, #000); 2821 color: #ffd700; 2822 } 2823 2824 /* ===== LIST TESTIMONI ===== */ 2825 .h0n-testimoni-list { 2826 width: 100%; 2827 padding: 14px 16px 20px; 2828 display: flex; 2829 flex-direction: column; 2830 gap: 14px; 2831 } 2832 2833 /* ITEM TESTIMONI */ 2834 .h0n-testimoni-item { 2835 padding: 12px 16px 14px; 2836 border-left: 3px solid #ffd700; 2837 background: rgba(0, 0, 0, 0.72); 2838 border-radius: 10px; 2839 position: relative; 2840 overflow: hidden; 2841 transform: translateY(14px); 2842 opacity: 0; 2843 animation: h0n-testi-in 650ms ease-out forwards; 2844 } 2845 2846 /* Background alternasi */ 2847 .h0n-testimoni-item:nth-child(odd) { 2848 background: rgba(0, 0, 0, 0.82); 2849 } 2850 2851 /* Delay animasi */ 2852 .h0n-testimoni-item:nth-child(1) { animation-delay: 150ms; } 2853 .h0n-testimoni-item:nth-child(2) { animation-delay: 300ms; } 2854 .h0n-testimoni-item:nth-child(3) { animation-delay: 450ms; } 2855 2856 /* Glow biru */ 2857 .h0n-testimoni-item::before { 2858 content: ""; 2859 position: absolute; 2860 inset: -40%; 2861 background: radial-gradient(circle at top left, 2862 rgba(220, 29, 29, 0.2), 2863 transparent 60% 2864 ); 2865 opacity: 0; 2866 animation: h0n-glow 4s ease-in-out infinite; 2867 pointer-events: none; 2868 } 2869 2870 /* HOVER */ 2871 .h0n-testimoni-item:hover { 2872 transform: translateY(6px) scale(1.015); 2873 box-shadow: 0 0 18px rgba(220, 29, 29, 0.45); 2874 } 2875 2876 /* TEXT */ 2877 .h0n-testimoni-name { 2878 font-weight: 700; 2879 letter-spacing: 0.04em; 2880 margin-bottom: 2px; 2881 color: #f0ef23; 2882 } 2883 2884 .h0n-testimoni-meta { 2885 font-size: 11px; 2886 opacity: 0.9; 2887 margin-bottom: 6px; 2888 } 2889 2890 .h0n-testimoni-text { 2891 font-size: 12px; 2892 line-height: 1.5; 2893 color: #e8e8e8; 2894 } 2895 2896 /* ===== ANIMASI ===== */ 2897 @keyframes h0n-card-fade { 2898 from { opacity: 0; transform: translateY(10px); } 2899 to { opacity: 1; transform: translateY(0); } 2900 } 2901 2902 @keyframes h0n-testi-in { 2903 0% { opacity: 0; transform: translateY(18px); } 2904 100% { opacity: 1; transform: translateY(0); } 2905 } 2906 2907 @keyframes h0n-glow { 2908 0% { opacity: 0; transform: translateX(-10px); } 2909 50% { opacity: 0.55; transform: translateX(10px); } 2910 100% { opacity: 0; transform: translateX(30px); } 2911 } 2912 2913 /* ===== RESPONSIVE ===== */ 2914 @media (max-width: 768px) { 2915 .h0n-testimoni-list { 2916 padding: 12px 12px 16px; 2917 } 2918 2919 .h0n-testimoni-item { 2920 padding: 10px 12px 12px; 2921 } 2922 } 2923 2924 </style> 2925 <div id="row-delivery-date" class="row m-0 mb-3"> 2926 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(236, 236, 67);">Ciptakan Kemenanganmu Dengan Atur Tanggal Bermain Toto Macau</h4> 2927 <div id="deliveryDate" class="m-0"></div> 2928 <div id="deliveryDateFull"> 2929 <div class=""> 2930 <input 2931 type="text" 2932 id="full-date" 2933 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 2934 value="Full Calendar" 2935 > 2936 <label for="full-date"><svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32"> 2937 <title>icon-arrow-right</title> 2938 <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> 2939 </svg></label> 2940 </div> 2941 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 2942 </div> 2943 <div class="form-group p-0"> 2944 <input type="text" id="propDeliveryDate" required class="hide">
2945 </div> 2946 </div> 2947 2948 2949 <div id="row-delivery-time" class="row m-0 mb-3"> 2950 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 2951 SEO Student 2952 </h4> 2953 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 2954 <div class="form-group p-0"> 2955 <input type="text" id="propDeliveryTime" class="hide" required> 2956 </div> 2957 </div> 2958 <div id="personalizeBtn"> 2959 2960 <button 2961 class="btn text-uppercase w-100 fw-400" 2962 2963 > 2964 2965 customize your flower board 2966 2967 </button> 2968 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 2969 <div class="button-share text-center"> 2970 <p id="shareButton" class="d-flex gap-2"><span>OLXTOTO</span><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 2971 <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"/> 2972 </svg> 2973 </p> 2974 </div> 2975 <div class="button-wishlist text-center"> 2976 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 2977 <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"/> 2978 </svg> 2979 <!-- 2980 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 2981 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 18.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"/> 2982 </svg> 2983 --> 2984 </p> 2985 2986 </div> 2987 </div> 2988 </div> 2989 </div> 2990 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 2991 <div class="purchaseArea"> 2992 <div class="sectionPurchase sectionPurchaseSpotify"> 2993 <div class="wrapperPurchase"> 2994 <div class="headerPurchase"> 2995 <h3>personalize spotify photo print</h3> 2996 <a class="close-purchase-popup"> 2997 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 2998 <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> 2999 </svg> 3000 </a> 3001 </div> 3002 <div class="contentPurchase"> 3003 <div class="spotifyAddons"></div> 3004 </div> 3005 3006 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3007 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3008 <button class="back-purchase-button back-addon text-uppercase"> 3009 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://img
3009store.io/images/2025/10/26/logo-olxtoto.png"> 3010 <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> 3011 </svg> 3012 <span>Back</span> 3013 </button> 3014 </div> 3015 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3016 <button class="btn next-purchase-button next-addon text-uppercase"> 3017 <span>continue without add-ons</span> 3018 </button> 3019 </div> 3020 </div> 3021 </div> 3022 </div> 3023 </div> 3024 </div> 3025 <br> 3026 <div class="h0n-info-card h0n-testimoni-section"> 3027 <h2 class="h0n-info-header"> 3028 Testimoni Pemain OLXTOTO 3029 </h2> 3030 3031 <div class="h0n-testimoni-list"> 3032 <!-- Testimoni 1 --> 3033 <div class="h0n-testimoni-item"> 3034 <div class="h0n-testimoni-name">Danu Nainggolan â Medan</div> 3035 <div class="h0n-testimoni-meta"> 3036 â â â â â ⢠Bergabung ± 2 tahun 3037 </div> 3038 <div class="h0n-testimoni-text"> 3039 âOLXTOTO jadi andalan saya untuk cek result Toto Macau. Update-nya selalu cepat dan real-time, datanya rapi, dan sangat mudah dipahami setiap hari.â 3040 </div> 3041 </div> 3042 3043 <!-- Testimoni 2 --> 3044 <div class="h0n-testimoni-item"> 3045 <div class="h0n-testimoni-name">Kristop Sanjaya â Jakarta</div> 3046 <div class="h0n-testimoni-meta"> 3047 â â â â â ⢠Pengguna aktif 3048 </div> 3049 <div class="h0n-testimoni-text"> 3050 âSaya pilih OLXTOTO karena data Macau Pools yang ditampilkan lengkap dan jelas. Hasilnya diambil dari sumber resmi, jadi lebih percaya untuk dijadikan referensi.â 3051 </div> 3052 </div> 3053 3054 <!-- Testimoni 3 --> 3055 <div class="h0n-testimoni-item"> 3056 <div class="h0n-testimoni-name">Liu Kang â Bali</div> 3057 <div class="h0n-testimoni-meta"> 3058 â â â â â ⢠Rutin login 3059 </div> 3060 <div class="h0n-testimoni-text"> 3061 âAkses OLXTOTO selalu lancar baik lewat HP maupun desktop. Buat pantau data Toto Macau terbaru tanpa gangguan, situs ini menurut saya paling praktisâ 3062 </div> 3063 </div> 3064 </div> 3065 </div> 3066 <style> 3067 #PBarNextFrameWrapper { 3068 display: none; 3069 } 3070 #backgroundPopup { 3071 display: none; 3072 position: fixed; 3073 _position: absolute; 3074 height: 100%; 3075 width: 100%; 3076 top: 0; 3077 left: 0; 3078 background: rgb(117 117 117 / 24%); 3079 z-index: 1; 3080 } 3081 .sectionPurchase { 3082 height: 100%; 3083 position: relative; 3084 max-width: 1344px; 3085 background-color: #fff; 3086 padding: 0; 3087 overflow: hidden; /* Changed from auto to hidden */ 3088 display: flex; 3089 flex-direction: column; 3090 } 3091 .sectionPurchase.purchaseAddonSpotify { 3092 max-width: 1070px!important; 3093 max-height: 765px!important; 3094 } 3095 .sectionPurchaseBoard { 3096 max-width: 872px!important; 3097 max-height: 821px!important; 3098 } 3099 .purchaseAddonSpotify .btn-action { 3100 position: absolute; 3101 bottom: 0; 3102 left: 0; 3103 width: 100%; 3104 display: flex; 3105 gap: 10px; 3106 } 3107 .wrapperPurchase { 3108 position: relative; 3109 height: 100%; 3110 display: flex; 3111 flex-direction: column; 3112 } 3113 3114 /* New styles for scrollable content and sticky button */ 3115 .purchase-content { 3116 flex: 1; 3117 overflow-y: auto; 3118 overflow-x: hidden; 3119 padding: 20px; 3120 } 3121 3122 .purchase-button-wrapper { 3123 position: sticky; 3124 bottom: 0; 3125 background-color: #fff; 3126 border-top: 1px solid #e0e0e0; 3127 padding: 15px 0; 3128 margin-top: auto; 3129 z-index: 10; 3130 } 3131 3132 .purchasePopup { 3133 display: none; 3134 position: fixed; 3135 background: rgb(117 117 117 / 24%); 3136 z-index: 999; 3137 padding: 40px; 3138 font-size: 13px; 3139 top: 0; 3140 left: 0; 3141 width: 100%; 3142 height: 100%; 3143 } 3144 .popupPurchaseClose{ 3145 font-size:14px; 3146 line-height:14px; 3147 right:45px; 3148 top:45px; 3149 position:absolute; 3150 color:#6fa5fd; 3151 font-weight:700; 3152 display:block; 3153 cursor: pointer; 3154 } 3155 3156 .headerPurchase { 3157 margin-bottom: 30px; 3158 display: flex; 3159 justify-content: space-between; 3160 } 3161 3162 .headerPurchase h3 { 3163 font-size: 16px; 3164 text-transform: uppercase; 3165 } 3166 3167 .sectionPurchaseBoard .headerPurchase { 3168 margin-bottom: 15px; 3169 } 3170 3171 .sectionPurchaseBoard .formAddressPurchase { 3172 padding-top: 0; 3173 } 3174 3175 .purchaseArea { 3176 position: relative; 3177 height: 100%; 3178 } 3179 3180 .purchaseArea h4 { 3181 width: 100%; 3182 font-size: 12px; 3183 font-weight: 600; 3184 margin-bottom: 10px; 3185 text-transform: uppercase; 3186 } 3187 3188 .menuPurchase { 3189 margin-bottom: 30px; 3190 } 3191 3192 .menuPurchase ul { 3193 list-style-type: none; 3194 margin: 0; 3195 } 3196 3197 .menuPurchase ul li { 3198 display: inline-block; 3199 border: 1px solid #ffffff; 3200 padding: 5px 20px; 3201 margin-right: 5px; 3202 margin-bottom: 10px; 3203 font-size: 12px; 3204 font-weight: 400; 3205 } 3206 3207 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3208 background-color: #ffffff; 3209 color: #ffffff; 3210 } 3211 3212 .contentPurchase h5 { 3213 font-size: 12px; 3214 margin-bottom: 10px; 3215 font-weight: 400; 3216 overflow: hidden; 3217 } 3218 3219 /* Card */ 3220 3221 #itemCards { 3222 max-height: 430px; 3223 overflow: auto; 3224 } 3225 3226 .item-cards { 3227 width: 100%; 3228 } 3229 .item-card.selected { 3230 border: 1px solid #ffffff; 3231 } 3232 .item-card:hover { 3233 border: 1px solid #C4C4C4; 3234 } 3235 .item-cards .item-card { 3236 position: relative; 3237 width: calc(33% - 10px); 3238 max-width: calc(33% - 10px); 3239 flex: 0 0 calc(33% - 10px); 3240 margin-bottom: 20px; 3241 } 3242 .item-cards .item-card label, 3243 .item-addons .item-addon label { 3244 position: absolute; 3245 left: 0; 3246 width: 100%; 3247 height: 100%; 3248 } 3249 .item-cards .item-card .card-image img, 3250 .item-addons .item-addon .card-image img { 3251 display: block; 3252 width: 100%; 3253 } 3254 .item-card .card-meta, 3255 .item-addon .card-meta { 3256 padding: 10px 5px 5px; 3257 } 3258 .item-card.selected .card-meta, 3259 .item-addon.selected .card-meta, 3260 .item-card.selected .card-qty { 3261 background-color: #ffffff; 3262 color: #fff; 3263 visibility: visible!important; 3264 } 3265 .item-card:hover .card-meta, 3266 .item-addon:hover .card-meta, 3267 .item-card:hover .card-qty { 3268 background-color: #C4C4C4; 3269 color: #fff; 3270 visibility: visible!important; 3271 } 3272 .item-cards .item-card p, 3273 .item-addons .item-addon p { 3274 font-size: 12px !important; 3275 margin: 0; 3276 font-weight: 600; 3277 } 3278 .item-card .card-meta input, 3279 .item-addon .card-meta input { 3280 display: none; 3281 } 3282 .item-cards .item-card h5, 3283 .item-addons .item-addon h5 { 3284 text-transform: uppercase; 3285 max-height: 35px; 3286 } 3287 3288 @media (max-width: 768px) { 3289 .item-cards .item-card {
3290 width: calc(50% - 10px); 3291 max-width: calc(50% - 10px); 3292 flex: 0 0 calc(50% - 10px); 3293 margin-bottom: 0; 3294 } 3295 } 3296 3297 .card-qty { 3298 display: flex; 3299 padding: 5px; 3300 visibility: hidden; 3301 background-color: #fff !important; 3302 z-index: 999; 3303 } 3304 .card-qty a { 3305 border-width: 1px; 3306 width: 30%; 3307 cursor: pointer; 3308 text-align: center; 3309 align-self: center; 3310 height: 28px; 3311 display: block; 3312 position: relative; 3313 } 3314 .card-qty a svg { 3315 position: absolute; 3316 top: 50%; 3317 left: 50%; 3318 transform: translate(-50%, -50%); 3319 text-align: center; 3320 } 3321 input.btn-qty { 3322 border-width: 0px; 3323 border-radius: 0; 3324 background-color: #fff; 3325 -webkit-appearance: none; 3326 box-shadow: none !important; 3327 -webkit-box-shadow: none !important; 3328 -moz-box-shadow: none!important; 3329 width: 40%; 3330 border-left: 1px solid #c4c4c4; 3331 border-right: 1px solid #c4c4c4; 3332 padding: 0; 3333 } 3334 3335 .sectionPurchaseBoard #itemAddons .item-card { 3336 width: calc(20% - 15px); 3337 max-width: calc(20% - 15px); 3338 flex: 0 0 calc(20% - 15px); 3339 } 3340 3341 .purchase-button { 3342 width: 100%; 3343 padding: 0; /* Reset padding as it's now handled by wrapper */ 3344 margin: 0; 3345 } 3346 3347 .sectionPurchaseBoard .purchase-button { 3348 margin-top: 0 !important; /* Reset margin */ 3349 } 3350 3351 .back-purchase-button, .back-spotify { 3352 width: 139px; 3353 border: 1px solid; 3354 height: 43px; 3355 } 3356 .purchase-button .btn { 3357 width: 297px; 3358 height: 43px; 3359 background-color: #ffffff; 3360 color: #ffffff; 3361 } 3362 .purchase-button .btn[disabled] { 3363 background-color: #EEEEEE; 3364 } 3365 .back-purchase-button svg, .back-spotify svg { 3366 align-self: center; 3367 vertical-align: middle; 3368 margin-right: 10px; 3369 } 3370 3371 #purchaseProduct .row .error { 3372 font-size: 12px !important; 3373 color: orange; 3374 margin-top: 5px; 3375 } 3376 3377 .reviewCardPurchase { 3378 max-width: 448px; 3379 float: right; 3380 } 3381 3382 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3383 .addon-item * {align-self: center;font-size: 12px;} 3384 .addon-itm-title {width: 360px;} 3385 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3386 3387 .propsAddonSpotify p { 3388 margin: 0; 3389 display: flex; 3390 font-size: 12px !important; 3391 margin-bottom: 5px; 3392 } 3393 .propsAddonSpotify p span:first-child { 3394 text-transform: uppercase; 3395 font-weight: 600; 3396 -ms-flex: 0 0 150px; 3397 flex: 0 0 150px; 3398 max-width: 150px; 3399 } 3400 3401 .addonsPurchase .addons { 3402 max-height: 250px; 3403 overflow: auto; 3404 } 3405 3406 .btn .loading:after { 3407 content: ""; 3408 display: inline-block; 3409 width: 20px; 3410 height: 20px; 3411 padding: 3px; 3412 aspect-ratio: 1; 3413 border-radius: 50%; 3414 background: #FFFFFF; 3415 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3416 -webkit-mask: var(--_m); 3417 mask: var(--_m); 3418 -webkit-mask-composite: source-out; 3419 mask-composite: subtract; 3420 animation: l3 1s infinite linear; 3421 margin: auto; 3422 vertical-align: middle; 3423 margin-left: 10px; 3424 } 3425 3426 #qrcode img, #qrcode canvas { 3427 width: 50px; 3428 position: absolute; 3429 top: 12px; 3430 left: 16px; 3431 } 3432 3433 .t-preview { 3434 position: absolute; 3435 top: 17px; 3436 left: 75px; 3437 } 3438 .t-preview p { 3439 margin: 0; 3440 font-size: 12px !important; 3441 } 3442 .t-preview .h3 { 3443 font-size: 16px !important; 3444 margin-bottom: 5px; 3445 font-weight: 600; 3446 } 3447 .scanCard { 3448 width: 100%; 3449 border: 1px solid; 3450 height: 76px; 3451 background-color: #fff; 3452 } 3453 .scanCard > div > img { 3454 position: absolute; 3455 right: 0; 3456 width: 55px; 3457 } 3458 3459 @keyframes l3 { 3460 100% { 3461 transform: rotate(1turn); 3462 } 3463 } 3464 3465 @media (min-width: 991px) { 3466 .sectionPurchase { 3467 height: 100%; 3468 position: relative; 3469 max-width: 1344px; 3470 background-color: #fff; 3471 top: 50%; 3472 left: 50%; 3473 transform: translate(-50%, -50%); 3474 } 3475 .headerPurchase h3 { 3476 font-size: 20px; 3477 } 3478 .purchaseArea h4 { 3479 font-size: 16px; 3480 } 3481 3482 .menuPurchase ul li { 3483 font-size: 16px; 3484 } 3485 3486 .contentPurchase { 3487 margin-bottom: 30px; 3488 } 3489 .contentPurchase h5 { 3490 font-size: 16px; 3491 } 3492 3493 .item-cards .item-card p, 3494 .item-addons .item-addon p { 3495 font-size: 16px !important; 3496 } 3497 3498 .cards { 3499 float: right; 3500 width: 400px; 3501 } 3502 3503 .item-cards .item-card { 3504 width: calc(25% - 30px); 3505 max-width: calc(25% - 30px); 3506 flex: 0 0 calc(25% - 30px); 3507 } 3508 3509 #itemAddons .item-card { 3510 position: relative; 3511 width: calc(16% - 40px); 3512 max-width: calc(16% - 40px); 3513 flex: 0 0 calc(16% - 40px); 3514 } 3515 3516 .purchase-button-wrapper { 3517 padding: 10px 20px; 3518 } 3519 } 3520 3521 @media (max-width: 1200px) { 3522 .item-cards .item-card { 3523 width: calc(33% - 30px); 3524 max-width: calc(33% - 30px); 3525 flex: 0 0 calc(33% - 30px); 3526 } 3527 } 3528 3529 @media (max-width: 992px) { 3530 .purchasePopup { 3531 padding: 0; 3532 } 3533 .item-cards .item-card h5, 3534 .item-addons .item-addon h5 { 3535 max-height: 30px; 3536 } 3537 3538 .back-purchase-button, .back-spotify, .next-purchase-button { 3539 width: 100%; 3540 } 3541 .addon-itm-title { 3542 width: 300px; 3543 } 3544 .addon-itm-line-price { 3545 margin-right: 10px; 3546 } 3547 .t-preview { 3548 top: 10px; 3549 } 3550 3551 .card-qty a { 3552 height: 15px; 3553 } 3554 3555 .purchase-button-wrapper { 3556 padding: 15px; 3557 } 3558 } 3559 3560 @media (max-width: 576px) { 3561 .purchase-button .btn { 3562 width: 100%!important; 3563 } 3564 .purchase-button > .col-12 { 3565 padding-left: 0; 3566 padding-right: 0; 3567 } 3568 } 3569 </style> 3570 3571 3572 <div class="purchasePopup"> 3573 <div class="purchaseArea"> 3574 3575 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3576 <div class="wrapperPurchase"> 3577 <div class="purchase-content"> 3578 <div class="headerPurchase"> 3579 <h3 class="text-uppercase"> 3580 customize your flower board 3581 </h3> 3582 <a class="close-purchase-popup">
3583 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3584 <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"/> 3585 </svg> 3586 </a> 3587 </div> 3588 <div class="contentPurchase"> 3589 <div class="row"> 3590<div class="col-12"> 3591 <style> 3592 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3593 .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;} 3594 3595 .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;} 3596 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3597 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3598 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3599 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3600 .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;} 3601 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3602 #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;} 3603 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3604 .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;} 3605 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3606 3607 @media (min-width: 991px) { 3608 .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);} 3609 .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);} 3610 } 3611 </style> 3612 3613 <input type="hidden" data-properties="penerima" value="-"> 3614 <div class="customize-papan"> 3615 <div class="container"> 3616 <div class="field-papan group-field-1 form-group"> 3617 <div class="input-field"> 3618 <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. 3619 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3620 <p class="limit">0/100</p> 3621 <div id="suggest-messages"> 3622 <a id="show_note_papan1" href="#"> 3623 <div class="suggest-message" id="note_btn_div1"> 3624 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3625 </div> 3626 </a> 3627 <a id="show_note_papan2" href="#"> 3628 <div class="suggest-message" id="note_btn_div2"> 3629 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3630 </div> 3631 </a> 3632 <a id="show_note_papan3" href="#"> 3633 <div class="suggest-message" id="note_btn_div3"> 3634 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3635 </div> 3636 </a> 3637 </div> 3638 </div>
3639 </div> 3640 <div class="hide"> 3641 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3642 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3643 </div> 3644 <div class="hide"> 3645 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3646 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3647 </div> 3648 <div class="hide"> 3649 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3650 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3651 </div> 3652 <div class="field-papan group-field-2 form-group"> 3653 3654 <label for="logoPapan" onclick="" class="input-field field-logo"> 3655 <div class="btn-upload-papan w-100"> 3656 <?xml version="1.0" encoding="UTF-8"?> 3657 <img src="" style="display:none"> 3658 <div class="svgLogoPapan"> 3659 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 3660 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 3661 </svg> 3662 <p>Upload Logo <span>*optional</span></p> 3663 </div> 3664 </div> 3665 3666 </label> 3667 3668 <input 3669 type="hidden" 3670 data-properties="papan-logo" 3671 value="" 3672 > 3673 <input 3674 type="file" 3675 id="logoPapan" 3676 accept="image/*" 3677 style="position: absolute;width: 1px;height: 1px;padding: 0" 3678 > 3679 3680 <div class="input-field"> 3681 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 3682 <p class="limit">0/35</p> 3683 </div> 3684 3685 </div> 3686 3687 </div> 3688 </div> 3689 </div> 3690 3691 </div> 3692 </div> 3693 3694 </div> 3695 <div class="purchase-button-wrapper"> 3696 <div class="purchase-button btn-card row m-0"> 3697 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3698 3699 </div> 3700 <div class="btn-next-card col-12 col-lg-10 text-right"> 3701 3702 3703 <button 3704 3705 3706 3707 class="btn next-purchase-button text-uppercase" 3708 3709 disabled 3710 3711 > 3712 <span>save your flower board</span> 3713 </button> 3714 </div> 3715 </div> 3716 3717 </div> 3718 </div> 3719 </div> 3720 3721 3722 3723 <div 3724 class="sectionPurchase sectionPurchaseBoard hide" 3725 data-section="address" 3726 > 3727 <div class="wrapperPurchase"> 3728 <div class="purchase-content"> 3729 <div class="headerPurchase"> 3730 <h3> 3731 Complete Your Order 3732 </h3> 3733 <a class="close-purchase-popup"> 3734 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3735 <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"/> 3736 </svg> 3737 </a> 3738 3739 </div> 3740 <div class="contentPurchase"> 3741 <div class="row"> 3742 <div class="col-12 position-relative"> 3743 <div class="addressPurchase"> 3744 3745 <h4 class="text-uppercase">recipient delivery address</h4> 3746 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 3747 3748 <div class="formAddressPurchase row"> 3749 <div class="col-12"> 3750 <form> 3751 <div class="form-group row mb-2 mb-lg-4"> 3752 <div class="col-6 position-relative"> 3753 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 3754 <label for="first_name" class="input__label">First Name<span>*</span></label> 3755 </div> 3756 <div class="col-6 position-relative"> 3757 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 3758 <label for="last_name" class="input__label">Last Name<span>*</span></label> 3759 </div> 3760 <input type="hidden" data-properties="nama-penerima"> 3761 </div> 3762 3763 <h4 class="text-uppercase">how you want to input your address</h4> 3764 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 3765 <div class="col-6 position-relative"> 3766 <label class="address-manualy">
3767 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 3768 <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.91216 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
37685 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"/> 3769 </svg> 3770 <span>Input Address Manually</span> 3771 </label> 3772 </div> 3773 <div class="col-6 position-relative"> 3774 <label for="address-upload" class="address-upload"> 3775 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 3776 <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"/> 3777 </svg> 3778 <span>Upload Address Picture</span> 3779 </label> 3780 <input 3781 id="address-upload" 3782 type="file" 3783 accept="image/png, image/jpeg" 3784 style="position: absolute; padding: 0;width: 1px;height: 1px" 3785 > 3786 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 3787 </div> 3788 </div> 3789 <img width="150" height="" src="" class="photo-address" style="display: none;"> 3790 3791 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 3792 <div class="col-12"> 3793 <textarea 3794 id="delivery_address" 3795 data-properties="alamat-penerima" 3796 class="form-control input__field col-12" 3797 placeholder="" 3798 required 3799 ></textarea> 3800 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 3801 3802 </div> 3803 </div> 3804 <div class="form-group row mb-2 mb-lg-4 form-address"> 3805 <div class="col-6 position-relative"> 3806 <input 3807 id="recipient_number" 3808 type="text" 3809 data-properties="telepon-penerima" 3810 class="form-control input__field" 3811 placeholder="" 3812 required 3813 > 3814 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 3815 </div> 3816 <div class="col-6 position-relative"> 3817 <input 3818 id="company" 3819 type="text" 3820 data-properties="company" 3821 class="form-control input__field" 3822 placeholder="" 3823 > 3824 <label for="company" class="input__label">Company (Optional)</label> 3825 </div> 3826 </div> 3827 <div class="form-group row mb-2 mb-lg-4 form-address"> 3828 <div class="col-6 position-relative"> 3829 <input 3830 id="province" 3831 type="text" 3832 class="form-control input__field" 3833 placeholder="" 3834 value="Jakarta" 3835 data-properties="province" 3836 > 3837 <label for="province" class="input__label">Province</label> 3838 </div> 3839 <div class="col-6 position-relative"> 3840 <select id="zip" class="form-control select-search" required></select> 3841 </div> 3842 </div> 3843 </form> 3844 </div> 3845 </div> 3846 </div> 3847 <div class="addonsPurchase"> 3848 <h4 class="text-uppercase">add-ons</h4> 3849 <div class="addons"> 3850 <p>No Add-Ons</p> 3851 <!-- 3852 <button class="add-addon">
3853 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 3854 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 3855 </svg> 3856 <span>Enhance my moment with Add-ons</span> 3857 </button> 3858 --> 3859 </div> 3860 </div> 3861 </div> 3862 3863 </div> 3864 </div> 3865 3866
3866<script> 3867 document.addEventListener('DOMContentLoaded', function() { 3868 // Detect iOS 3869 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 3870 3871 if (isIOS) { 3872 document.querySelector('.formAddressPurchase').classList.add('ios'); 3873 3874 // iOS specific fixes 3875 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 3876 3877 inputs.forEach(function(input) { 3878 // Force enable touch events on iOS 3879 input.style.webkitUserSelect = 'text'; 3880 input.style.webkitTouchCallout = 'default'; 3881 input.style.pointerEvents = 'auto'; 3882 input.style.touchAction = 'manipulation'; 3883 3884 // Add explicit touch event listeners for iOS 3885 input.addEventListener('touchstart', function(e) { 3886 e.stopPropagation(); 3887 this.focus(); 3888 }, { passive: false }); 3889 3890 input.addEventListener('touchend', function(e) { 3891 e.preventDefault(); 3892 e.stopPropagation(); 3893 this.focus(); 3894 this.click(); 3895 }, { passive: false }); 3896 3897 // Force focus on tap for iOS 3898 input.addEventListener('click', function(e) { 3899 e.stopPropagation(); 3900 if (document.activeElement !== this) { 3901 this.focus(); 3902 } 3903 }); 3904 }); 3905 3906 // Fix for label overlapping on iOS 3907 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 3908 labels.forEach(function(label) { 3909 label.style.pointerEvents = 'none'; 3910 label.addEventListener('touchstart', function(e) { 3911 e.preventDefault(); 3912 var input = this.parentNode.querySelector('.input__field'); 3913 if (input) { 3914 input.focus(); 3915 } 3916 }); 3917 }); 3918 } 3919 3920 // Handle input state for all browsers, especially iOS 3921 var inputs = document.querySelectorAll('.input__field'); 3922 3923 inputs.forEach(function(input) { 3924 // Handle input events 3925 input.addEventListener('input', function() { 3926 if (this.value.trim() !== '') { 3927 this.classList.add('has-value'); 3928 } else { 3929 this.classList.remove('has-value'); 3930 } 3931 }); 3932 3933 // Handle focus 3934 input.addEventListener('focus', function() { 3935 this.classList.add('focused'); 3936 // iOS specific: ensure input is visible 3937 if (isIOS) { 3938 setTimeout(function() { 3939 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 3940 }, 300); 3941 } 3942 }); 3943 3944 // Handle blur 3945 input.addEventListener('blur', function() { 3946 this.classList.remove('focused'); 3947 if (this.value.trim() !== '') { 3948 this.classList.add('has-value'); 3949 } else { 3950 this.classList.remove('has-value'); 3951 } 3952 }); 3953 3954 // Initial check for pre-filled values 3955 if (input.value.trim() !== '') { 3956 input.classList.add('has-value'); 3957 } 3958 }); 3959 3960 // Additional iOS fixes 3961 if (isIOS) { 3962 // Prevent iOS Safari from adding default styling 3963 document.addEventListener('touchstart', function() {}, { passive: true }); 3964 3965 // Fix viewport issues on iOS 3966 var viewport = document.querySelector('meta[name=viewport]'); 3967 if (viewport) { 3968 viewport.setAttribute('content', 3969 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 3970 ); 3971 } 3972 } 3973 }); 3974 </script>
3974 3975 </div> 3976 <div class="purchase-button-wrapper"> 3977 <div class="purchase-button btn-address row m-0"> 3978 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3979 3980 <button class="back-purchase-button back-address text-uppercase"> 3981 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 3982 <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"/> 3983 </svg> 3984 <span>Back</span> 3985 </button> 3986 3987 </div> 3988 <div class="btn-next-card col-12 col-lg-10 text-right"> 3989 3990 <!-- 3991 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 3992 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 3993 <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"/> 3994 </svg> 3995 <span>Back</span> 3996 </button> 3997 --> 3998 <button 3999 4000 id="addtocart-card" 4001 4002 class="btn next-address text-uppercase" 4003 4004 > 4005 <span>add to cart</span> 4006 </button> 4007 </div> 4008 </div> 4009 4010 </div> 4011 </div> 4012 </div> 4013 4014 </div> 4015 </div> 4016 <div id="backgroundPopup"></div> 4017 <input 4018 data-index="1" 4019 type="hidden" 4020 id="properties-delivery-date" 4021 name="properties[Delivery Date]" 4022 value="-" 4023 > 4024 <input 4025 data-index="2" 4026 type="hidden" 4027 id="properties-delivery-time" 4028 name="properties[Delivery Time]" 4029 value="-" 4030 > 4031 <input 4032 data-index="4" 4033 type="hidden" 4034 id="properties-nama-penerima" 4035 name="properties[Nama Penerima]" 4036 value="-" 4037 > 4038 <input 4039 data-index="5" 4040 type="hidden" 4041 id="properties-alamat-penerima" 4042 name="properties[Alamat Penerima]" 4043 value="-" 4044 > 4045 <input 4046 data-index="6" 4047 type="hidden" 4048 id="properties-kodepos" 4049 name="properties[Kodepos]" 4050 value="-" 4051 > 4052 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4053 <input 4054 data-index="8" 4055 type="hidden" 4056 id="properties-kartu-nama-penerima" 4057 name="properties[Kartu Nama Penerima]" 4058 value="-" 4059 > 4060 4061 <textarea 4062 data-index="9" 4063 type="hidden" 4064 id="properties-kartu-pesan" 4065 name="properties[Kartu Pesan]" 4066 style="display: none" 4067 >-</textarea> 4068 <input 4069 data-index="10" 4070 type="hidden" 4071 id="properties-kartu-nama-pengirim" 4072 name="properties[Kartu Nama Pengirim]" 4073 value="-" 4074 > 4075 4076 <!-- Additional Shipping --> 4077 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4078 <input 4079 type="hidden" 4080 id="properties-kota-pengiriman-country" 4081 name="properties[Country]" 4082 value="Indonesia" 4083 > 4084 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4085 4086 <input type="hidden" id="properties-time" name="properties[Time]"> 4087 <input type="hidden" id="properties-card" name="properties[Card]"> 4088 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4089 4090 <input 4091 type="hidden" 4092 id="properties-company" 4093 name="properties[Company]" 4094 value="" 4095 > 4096
4096<script> 4097 4098 $(document).ready(function(){ 4099 4100 var text_max_papan1=150; 4101 var msg_text_papan1=""; 4102 $('#kartu-ucapan-ucapan').keyup(function(){ 4103 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4104 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4105 }); 4106 4107 var notes_papan1 = [ 4108 4109 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4110 4111 ]; 4112 $('#show_note_papan1').click(function(event){ 4113 event.preventDefault(); 4114 var idx_papan1=parseInt($('#note_id_papan1').val()); 4115 if(isNaN(idx_papan1)){ 4116 idx_papan1=0; 4117 }else{ 4118 idx_papan1++; 4119 idx_papan1=idx_papan1%notes_papan1.length; 4120 } 4121 var note_papan1=notes_papan1[idx_papan1][1]; 4122 $('#note_id_papan1').val(idx_papan1); 4123 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4124 $('#msgDelivery').val(note_papan1); 4125 4126 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4127 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4128 if(isNaN(idx_2_papan1)){ 4129 idx_2_papan1=0; 4130 }else{ 4131 idx_2_papan1++; 4132 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4133 } 4134 $('#note_btn_id_papan1').val(idx_2_papan1); 4135 //var note_btn=note_btn_text[idx_2][1]; 4136 //$('#note_btn').text(note_btn); 4137 }); 4138 4139 var text_max_papan2=150; 4140 var msg_text_papan2=""; 4141 $('#kartu-ucapan-ucapan').keyup(function(){ 4142 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4143 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4144 }); 4145 4146 var notes_papan2 = [ 4147 4148 [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)."] 4149 4150 ]; 4151 $('#show_note_papan2').click(function(event){ 4152 event.preventDefault(); 4153 var idx_papan2=parseInt($('#note_id_papan2').val()); 4154 if(isNaN(idx_papan2)){ 4155 idx_papan2=0; 4156 }else{ 4157 idx_papan2++; 4158 idx_papan2=idx_papan2%notes_papan2.length; 4159 } 4160 var note_papan2=notes_papan2[idx_papan2][1]; 4161 $('#note_id_papan2').val(idx_papan2); 4162 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4163 $('#msgDelivery').val(note_papan2); 4164 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4165 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4166 if(isNaN(idx_2_papan2)){ 4167 idx_2_papan2=0; 4168 }else{ 4169 idx_2_papan2++; 4170 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4171 } 4172 $('#note_btn_id_papan2').val(idx_2_papan2); 4173 //var note_btn=note_btn_text[idx_2][1]; 4174 //$('#note_btn').text(note_btn); 4175 }); 4176 4177 var text_max_papan3=150; 4178 var msg_text_papan3=""; 4179 $('#kartu-ucapan-ucapan').keyup(function(){ 4180 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4181 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4182 }); 4183 4184 var notes_papan3 = [ 4185 4186 [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)."] 4187 4188 ]; 4189 $('#show_note_papan3').click(function(event){ 4190 event.preventDefault(); 4191 var idx_papan3=parseInt($('#note_id_papan3').val()); 4192 if(isNaN(idx_papan3)){ 4193 idx_papan3=0; 4194 }else{ 4195 idx_papan3++; 4196 idx_papan3=idx_papan3%notes_papan3.length; 4197 } 4198 var note_papan3=notes_papan3[idx_papan3][1]; 4199 $('#note_id_papan3').val(idx_papan3); 4200 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4201 $('#msgDelivery').val(note_papan3);
4202 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4203 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4204 if(isNaN(idx_2_papan3)){ 4205 idx_2_papan3=0; 4206 }else{ 4207 idx_2_papan3++; 4208 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4209 } 4210 $('#note_btn_id_papan3').val(idx_2_papan3); 4211 //var note_btn=note_btn_text[idx_2][1]; 4212 //$('#note_btn').text(note_btn); 4213 }); 4214 4215 var text_max_papan4=150; 4216 var msg_text_papan4=""; 4217 $('#kartu-ucapan-ucapan').keyup(function(){ 4218 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4219 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4220 }); 4221 4222 $('#show_note_papan4').click(function(event){ 4223 var notes_papan4 = [ 4224 [0,"Hereâs to youâsteadier, stronger and better every day."], 4225 [1,"Warmest wishes for a speedy recovery!"], 4226 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4227 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4228 ]; 4229 event.preventDefault(); 4230 var idx_papan4=parseInt($('#note_id_papan4').val()); 4231 console.log(idx_papan4, 'idx_papan4') 4232 if(isNaN(idx_papan4)){ 4233 idx_papan4=0; 4234 }else{ 4235 idx_papan4++; 4236 idx_papan4=idx_papan4%notes_papan4.length; 4237 } 4238 var note_papan4=notes_papan4[idx_papan4][1]; 4239 $('#note_id_papan4').val(idx_papan4); 4240 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4241 console.log(note_papan4, 'note_papan4') 4242 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4243 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4244 if(isNaN(idx_2_papan4)){ 4245 idx_2_papan4=0; 4246 }else{ 4247 idx_2_papan4++; 4248 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4249 } 4250 $('#note_btn_id_papan4').val(idx_2_papan4); 4251 }); 4252 4253 /* 4254 $("#jenisPapan").change(function(){ 4255 $( "select option:selected").each(function(){ 4256 if($(this).attr("value")=="Happy Wedding"){ 4257 $("#suggest-messages a").hide(); 4258 $("#show_note_papan1").show(); 4259 $("#kartu-ucapan-papan").val(""); 4260 } 4261 if($(this).attr("value")=="Congratulations"){ 4262 $("#suggest-messages a").hide(); 4263 $("#show_note_papan2").show(); 4264 $("#kartu-ucapan-papan").val(""); 4265 } 4266 if($(this).attr("value")=="Duka Cita"){ 4267 $("#suggest-messages a").hide(); 4268 $("#show_note_papan3").show(); 4269 $("#kartu-ucapan-papan").val(""); 4270 } 4271 }); 4272 }).change(); 4273 */ 4274 4275 4276 4277 4278 4279 $(".variant-metafield").each(function(){ 4280 const t = $(this) 4281 const id = t.attr("id") 4282 const target = $(`[data-select=${id}]`) 4283 t.on('select2:selecting', function(e) { 4284 const data = e.params.args.data 4285 target.val(data.text) 4286 }); 4287 }) 4288 }) 4289 </script>
4289 4290 4291 <div id="popupCart"> 4292 <div class="container"> 4293 <div class="wrapperPopupCart"> 4294 <div class="headerPopupCart"> 4295 <div class="d-flex pl-5 pr-5 p-4"> 4296 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4297 <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"/> 4298 </svg> 4299 <span>item added to your cart</span> 4300 </div> 4301 <a class="close-purchase-popup"> 4302 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4303 <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"/> 4304 </svg> 4305 </a> 4306 4307 </div> 4308 <div class="contentPopupCart"> 4309 <div class="pl-5 pr-5 p-4"> 4310 <div class="itemContent row m-0 justify-content-between"> 4311 <div class="col-2 align-self-center"> 4312 4313 <img 4314 class="d-block" 4315 width="80" 4316 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4317 > 4318 </div> 4319 <div class="col-10 align-self-center"> 4320 <div class="row pl-3"> 4321 <div class="col-12 col-lg-7"> 4322 <span class="titleCartPopup text-uppercase">OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025</span> 4323 </div> 4324 <div class="d-flex justify-content-end col-12 col-lg-5"> 4325 <span class="deleteCartPopup hide">Delete</span> 4326 <span class="lineCartPrice align-self-center">Rp 10.000</span> 4327 </div> 4328 </div> 4329 </div> 4330 </div> 4331 <div class="itemProperties"> 4332 4333 <div class="propDeliver"> 4334 <h4>delivery option detail</h4> 4335 <p> 4336 <span>delivery city</span> 4337 <span class="propDeliveryCity">jakarta</span> 4338 </p> 4339 <p> 4340 <span>delivery date</span> 4341 <span class="propDeliveryDate">24/03/2025</span> 4342 </p> 4343 <p> 4344 <span>delivery time</span> 4345 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4346 </p> 4347 </div> 4348 <div class="propAddress"> 4349 <h4>delivery option detail</h4> 4350 <p> 4351 <span>RECIPIENT NAME</span> 4352 <span class="propDeliveryName">jane doe</span> 4353 </p> 4354 <p> 4355 <span>delivery address</span> 4356 <span class="propDeliveryAddress" 4357 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4358 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4359 > 4360 </p> 4361 <p> 4362 <span>recipient phone number</span> 4363 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4364 </p> 4365 <p> 4366 <span>PROVINCE</span> 4367 <span class="propDeliveryProv">Jakarta</span> 4368 </p> 4369 <p> 4370 <span>postal code</span> 4371 <span class="propDeliveryZip">12710</span> 4372 </p> 4373 </div> 4374 </div> 4375 <div class="itemAddonCart"> 4376 <div class="toggleAddonCart d-flex justify-content-between"> 4377 <h4>add-ons (0)</h4> 4378 <svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4379 <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"/> 4380 </svg> 4381 </div> 4382 <div class="wrapperItemAddonCart"></div> 4383 </div> 4384 4385 </div> 4386 </div>
4387 <div class="footerPopupCart"> 4388 <div class="row m-0 pl-5 pr-5 p-4"> 4389 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4390 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4391 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4392 </div> 4393 </div> 4394 </div> 4395 </div> 4396 </div> 4397
4397<script> 4398 const shareButton = document.getElementById('shareButton'); 4399 4400 shareButton.addEventListener('click', () => { 4401 if (navigator.share) { 4402 navigator.share({ 4403 title: "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025", 4404 url: "/products/blossom-shine", 4405 text: 'Check out this page!' 4406 }) 4407 .then(() => console.log('Successful share')) 4408 .catch((error) => console.log('Error sharing', error)); 4409 } else { 4410 alert('Web Share API is not supported in this browser.'); 4411 } 4412 }); 4413 4414 // Inventory validation function 4415 function checkInventoryStatus() { 4416 const productSelect = document.getElementById('productSelect'); 4417 const purchaseButton = document.querySelector('#personalizeBtn button'); 4418 4419 if (!productSelect || !purchaseButton) return; 4420 4421 const selectedVariantId = productSelect.value; 4422 4423 // Get variant data from Shopify 4424 fetch(`/products/blossom-shine.js`) 4425 .then(response => response.json()) 4426 .then(product => { 4427 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4428 4429 if (selectedVariant) { 4430 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4431 selectedVariant.inventory_management === 'shopify' && 4432 selectedVariant.inventory_policy !== 'continue'; 4433 4434 if (isOutOfStock) { 4435 purchaseButton.disabled = true; 4436 purchaseButton.textContent = 'Out of Stock'; 4437 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4438 purchaseButton.style.backgroundColor = '#cccccc'; 4439 purchaseButton.style.cursor = 'not-allowed'; 4440 } else { 4441 // Check if button was disabled due to other conditions 4442 4443 const isOtherDisabled = false || true || false; 4444 4445 if (!isOtherDisabled) { 4446 purchaseButton.disabled = false; 4447 purchaseButton.textContent = 'customize your flower board'; 4448 purchaseButton.removeAttribute('data-out-of-stock'); 4449 purchaseButton.style.backgroundColor = ''; 4450 purchaseButton.style.cursor = ''; 4451 } 4452 } 4453 } 4454 }) 4455 .catch(error => { 4456 console.error('Error checking inventory:', error); 4457 }); 4458 } 4459 4460 // Check inventory on page load 4461 document.addEventListener('DOMContentLoaded', function() { 4462 checkInventoryStatus(); 4463 4464 // Listen for variant changes 4465 const productSelect = document.getElementById('productSelect'); 4466 if (productSelect) { 4467 productSelect.addEventListener('change', checkInventoryStatus); 4468 } 4469 }); 4470 4471 // Prevent form submission if out of stock 4472 document.addEventListener('click', function(e) { 4473 if (e.target.matches('button[data-out-of-stock="true"]')) { 4474 e.preventDefault(); 4475 e.stopPropagation(); 4476 alert('This product is currently out of stock and cannot be purchased.'); 4477 return false; 4478 } 4479 }); 4480 </script>
4480 4481 </div> 4482 </div> 4483 </div> 4484 </div> 4485 </div> 4486 <div id="product-bottom"> 4487 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4488 <div class="container"> 4489 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4490 <div class="short-desc"> 4491 <ul> 4492 <li><strong>OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.</strong></li> 4493 </div> 4494 <label class="more-mobile">Show More â</label> 4495 </div> 4496 4497 <style> 4498 .animated-title { 4499 text-align: center; 4500 font-weight: bold; 4501 color: #079c02; 4502 font-size: 28px; 4503 position: relative; 4504 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4505 } 4506 4507 /* Efek glow / bercahaya hijau */ 4508 @keyframes glow { 4509 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4510 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4511 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4512 } 4513 4514 /* Efek gerakan naik turun */ 4515 @keyframes moveUpDown { 4516 0% { transform: translateY(0px); } 4517 50% { transform: translateY(-5px); } 4518 100% { transform: translateY(0px); } 4519 } 4520 </style> 4521 4522
4522<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4522 4523
4523<script> 4524 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}); 4525 4526 const productType = $("[data-product-type]").data("product-type") 4527 const productDate = Date.parse(new Date()) 4528 4529 const shop = 'outerbloom1.myshopify.com' 4530 const host = 'https://app.asmaraku.com' 4531 // const host = 'http://localhost:5001' 4532 4533 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4534 4535 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4536 4537 $("#properties-time").val(new Date().getTime()) 4538 4539 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4540 4541 if(!isIOS) { 4542 $("#full-date").attr("type", "button") 4543 } 4544 4545 let dateTime = new Date(); 4546 let today = dateTime.getDate(); 4547 let day = dateTime.getDay(); 4548 let hour = dateTime.getHours(); 4549 let min = dateTime.getMinutes(); 4550 let timeOfDay = hour + (min / 100); 4551 4552 async function getFetch(url) { 4553 const response = await fetch(url); 4554 let status = false 4555 let result 4556 if(response.ok) { 4557 status = true 4558 result = await response.json(); 4559 } 4560 return { 4561 status, 4562 data: result 4563 } 4564 } 4565 4566 4567 4568 function setCookie(cname, cvalue, exMins) { 4569 var d = new Date(); 4570 d.setTime(d.getTime() + (exMins*60*1000)); 4571 var expires = "expires="+d.toUTCString(); 4572 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4573 } 4574 4575 function getCookie(cname) { 4576 let name = cname + "="; 4577 let decodedCookie = decodeURIComponent(document.cookie); 4578 let ca = decodedCookie.split(';'); 4579 for(let i = 0; i <ca.length; i++) { 4580 let c = ca[i]; 4581 while (c.charAt(0) == ' ') { 4582 c = c.substring(1); 4583 } 4584 if (c.indexOf(name) == 0) { 4585 return c.substring(name.length, c.length); 4586 } 4587 } 4588 return ""; 4589 } 4590 4591 async function renderDate() { 4592 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 4593 console.log(dataDate, 'renderDate') 4594 const data = dataDate?.data 4595 const date = data.date 4596 const time = data.time 4597 4598 console.log(date, 'DATE') 4599 4600 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4601 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4602 const htmlDate = [] 4603 for(let i = 0;i < date.length;i++) { 4604 const full = date[i].date 4605 const d = new Date(date[i].date); 4606 const day = weekday[d.getDay()]; 4607 const dt = d.getDate(); 4608 const mt = monthly[d.getMonth()]; 4609 const yr = d.getFullYear(); 4610 const isDate = Boolean(date[i].isEnabled) 4611 const cutoffpagi = date[i].cutoff?.pagi 4612 const cutoffsiang = date[i].cutoff?.siang 4613 const cutoffMalam = date[i].cutoff?.Malam 4614 var html = ` 4615 <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'}> 4616 ${dt === today ? 4617 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 4618 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 4619 } 4620 </button> 4621 ` 4622 htmlDate.push(html) 4623 } 4624 const htmlTime = [] 4625 for(var i = 0;i < time.length;i++) { 4626 const timeText = time[i].text 4627 const timeTime = time[i].time 4628 const timeEnabled = time[i].isEnabled 4629 var html = ` 4630 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 4631 ` 4632 htmlTime.push(html) 4633 } 4634 const deliveryDate = document.getElementById("deliveryDate"); 4635 if(deliveryDate) { 4636 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 4637 $("#deliveryTime").html(htmlTime) 4638 if(productType !== '') { 4639 console.log("clarity event " + productType + ' calendaring') 4640 window.clarity("event", `${productType} calendaringSchedule`) 4641 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 4642 } 4643 } 4644 } 4645 4646 async function getProvince(city) { 4647 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 4648 console.log(province, 'province') 4649 $("#province").val(province) 4650 } 4651 4652 async function renderAddress() { 4653 let current 4654 if(getCookie("location_delivery")){ 4655 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 4656 } 4657 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 4658 console.log(address) 4659 const data = address?.data?.city 4660 const htmlAddress = [] 4661 const grouping = []
4662 for(let i = 0;i < data?.length;i++) { 4663 if(data[i]){ 4664 if(data[i]?.group) { 4665 grouping.push(data[i].group) 4666 } 4667 const price = rupiah.format(data[i]?.rate) 4668 let promo = '(Promo Free Delivery)' 4669 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 4670 promo = '(at SCBD, Ashta)' 4671 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 4672 promo = '(at Kuningan, ITC Kuningan)' 4673 } else if(data[i]?.name === 'BSD - PickUp'){ 4674 promo = '(at Goldfinch Gading Serpong)' 4675 } else if(data[i]?.name === 'Kota Lainnya'){ 4676 promo = '' 4677 } 4678 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>`) 4679 } 4680 } 4681 4682 const deliveryCity = document.getElementById("cities"); 4683 if(deliveryCity) { 4684 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 4685 if(!isIOS) { 4686 $(deliveryCity).select2(); 4687 } 4688 } 4689 } 4690 4691 async function renderZip(v, v2, v3) { 4692 const deliveryZip = document.getElementById("zip"); 4693 if(v === '') { 4694 return 4695 } 4696 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 4697 let zip = dataZip?.data?.zip 4698 console.log(zip) 4699 let htmlZip = [] 4700 for(let i = 0; i < zip?.length;i++) { 4701 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 4702 } 4703 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 4704 } 4705 4706 renderDate() 4707 renderAddress() 4708 4709 let rupiah = new Intl.NumberFormat('id-ID', { 4710 style: 'currency', 4711 currency: 'IDR', 4712 maximumFractionDigits: 0, 4713 minimumFractionDigits: 0 4714 }); 4715 4716 async function insertCard(data) { 4717 const response = await fetch(`${host}/api/card/new`, { 4718 method: "POST", 4719 headers: { 4720 'Content-Type': 'application/json', 4721 }, 4722 body: data 4723 }) 4724 const result = await response.json() 4725 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 4726 $("#greetingCard").attr("data-index", rowIndex) 4727 return result 4728 } 4729 4730 async function updateCard(data){ 4731 const rowIndex = $("#greetingCard").data("index") 4732 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 4733 method: "PUT", 4734 headers: { 4735 'Content-Type': 'application/json', 4736 }, 4737 body: data 4738 }) 4739 return response 4740 } 4741 4742 function bytesToSize(bytes) { 4743 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 4744 for (var i = 0; i < sizes.length; i++) { 4745 if (bytes <= 1024) { 4746 return bytes + ' ' + sizes[i]; 4747 } else { 4748 bytes = parseFloat(bytes / 1024).toFixed(2) 4749 } 4750 } 4751 return bytes + ' P'; 4752 } 4753 4754 async function uploadMedia(uri, type) { 4755 nameq = $("#properties-nama-penerima").val() 4756 dear = $("#properties-kartu-nama-penerima").val() 4757 card = $("[data-properties=ucapan]").val() 4758 sender = $("#properties-kartu-nama-pengirim").val() 4759 photo = $("#properties-photo").val() 4760 video = $("#properties-video").val() 4761 status = "Product" 4762 4763 const name = qrID 4764 let formData = new FormData(); 4765 formData.append("file", uri); 4766 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 4767 method: "POST", 4768 body: formData 4769 }) 4770 const result = await response.json(); 4771 if(result) { 4772 const url = result.url 4773 if(type === 'image/jpeg') { 4774 $("#properties-photo").val(url) 4775 $(".preview-image").show() 4776 $(".remove-image").show() 4777 photo = url 4778 } else { 4779 $("#properties-video").val(url) 4780 $("#label-input-video span").text("Change File") 4781 $(".case-qrcode-preview p").text("Scan here for a secret message") 4782 $(".remove-media").show() 4783 $("#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>`) 4784 $("[for=input-video]").hide() 4785 video = url 4786 } 4787 $(".case-video-preview").show() 4788 $(".steps-card-preview").removeClass("loading") 4789 // updateCard(nameq, dear, card, sender, photo, video, status) 4790 4791 $(".nextBtn").attr("disabled", false) 4792 } 4793 } 4794 4795 function randomString(length, chars) { 4796 var result = ''; 4797 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 4798 return result; 4799 } 4800 4801 function getNoteCity(fulldate) { 4802 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 4803 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 4804 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4805 const d = new Date(h_1); 4806 const day = weekday[d.getDay()]; 4807 const dt = d.getDate(); 4808 const mt = monthly[d.getMonth()]; 4809 const yr = d.getFullYear(); 4810 const p = $("#cities").parent(".form-group") 4811 } 4812 4813 function disabledSameDay() { 4814 let btnFirst = $("#deliveryDate").find("button:first-child") 4815 let getDay = new Date().getDay(); 4816 4817 4818 4819 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 4820 if(hour >= 14.00){ 4821 btnFirst.attr("disabled", true) 4822 } 4823 } else if(getDay == 6){ 4824 if(hour >= 16.00){ 4825 btnFirst.attr("disabled", true) 4826 } 4827 } else if(getDay == 0){ 4828 if(hour >= 16.00){ 4829 btnFirst.attr("disabled", true) 4830 } 4831 } 4832 4833 4834 } 4835 4836 function disabledays(date) { 4837 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 4838 //if u have to disable a list of day 4839 let removeDays 4840 4841 4842 4843 removeDays = ["2025-2-13", "2025-2-14"]; 4844 4845 if ($.inArray(ymd, removeDays) >= 0) { 4846 return [false]; 4847 } else { 4848 let day = date.getDay(); 4849 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 4850 return [(day == 0), '']; 4851 } 4852 4853 if(day == 0){ 4854 return [(day == 0), '']; 4855 } 4856 4857 4858 return [(day != 0), '']; 4859 } 4860 } 4861 4862 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 4863 /* Written by Deden Fathurahman ([email protected]). */ 4864 ( function( factory ) { 4865 if ( typeof define === "function" && define.amd ) { 4866 4867 // AMD. Register as an anonymous module. 4868 define( [ "../widgets/datepicker" ], factory ); 4869 } else { 4870 4871 // Browser globals 4872 factory( jQuery.datepicker ); 4873 } 4874 }( function( datepicker ) { 4875 4876 datepicker.regional.id = { 4877 closeText: "Tutup", 4878 prevText: "<mundur", 4879 nextText: "maju>", 4880 currentText: "Today", 4881 monthNames: [ "January","February","March","April","May","Juny", 4882 "July","August","September","October","November","December" ], 4883 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 4884 "Jul","Agu","Sep","Oct","Nov","Dec" ], 4885 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 4886 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 4887 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 4888 weekHeader: "Mg", 4889 dateFormat: "D, dd M", 4890 firstDay: 0, 4891 isRTL: false, 4892 showMonthAfterYear: false, 4893 yearSuffix: "" }; 4894 datepicker.setDefaults( datepicker.regional.id ); 4895 4896 return datepicker.regional.id; 4897 4898 } ) ); 4899 4900 function loadPopup() { 4901 $("#backgroundPopup").fadeIn("slow"); 4902 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 4903 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 4904 if(firstSection.hasClass("purchasePersonalize")) { 4905 if(productType !== '') { 4906 console.log("clarity event " + productType + ' personalize') 4907 window.clarity("event", `${productType} cardPersonalization`) 4908 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 4909 } 4910 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 4911 console.log("clarity event " + productType + ' personalizeBoard') 4912 window.clarity("event", `${productType} personalizeBoard`) 4913 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 4914 } 4915 firstSection.removeClass("hide") 4916 4917 // Auto-trigger addon loading when addon section becomes visible 4918 setTimeout(function() { 4919 const addonSection = $(".purchaseAddon") 4920 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 4921 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 4922 $("[data-addon=upsell-all]").trigger("click") 4923 } 4924 } 4925 }, 200) 4926 } 4927 4928 function disablePopup() { 4929 $("#backgroundPopup").fadeOut("slow"); 4930 $(".purchasePopup").fadeOut("slow"); 4931 $("#popupCart").fadeOut("slow"); 4932 } 4933
4934 function scrollTo(parent, div, dur) { 4935 $(parent).animate({ 4936 scrollTop: $(div).offset().top 4937 }, dur); 4938 } 4939 4940 function loadPopupPersonalize() { 4941 const div = "#purchaseProduct" 4942 const p = "html, body, .product-meta" 4943 $("p.error").remove() 4944 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 4945 const isCity = $("#cities[required]") 4946 const isDate = $("#propDeliveryDate[required]") 4947 const isTime = $("#propDeliveryTime[required]") 4948 // loadPopup() 4949 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 4950 loadPopup() 4951 } 4952 if(isCity.val() == '') { 4953 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 4954 scrollTo(p, div, 500) 4955 } 4956 if(isDate.val() == '') { 4957 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 4958 scrollTo(p, div, 500) 4959 } 4960 if(isTime.val() == '') { 4961 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 4962 scrollTo(p, div, 500) 4963 } 4964 } 4965 4966 function quantityCounter() { 4967 $(document).on("click", ".item-card.selected .q_up", function () { 4968 var C = $(this).attr("data-id"), 4969 S = 4970 parseInt( 4971 $(this) 4972 .siblings(".quantity-cart-" + C) 4973 .val() 4974 ) + 1; 4975 $(this).attr("data-quantity", S), 4976 $(this) 4977 .siblings(".quantity-cart-" + C) 4978 .val(S); 4979 }), 4980 $(document).on("click", ".item-card.selected .q_down", function () { 4981 var C = $(this).attr("data-id"), 4982 S = parseInt( 4983 $(this) 4984 .siblings(".quantity-cart-" + C) 4985 .val() 4986 ); 4987 0 < S && $(this).attr("data-quantity", S - 1), 4988 0 < S && 4989 $(this) 4990 .siblings(".quantity-cart-" + C) 4991 .val(S - 1); 4992 }); 4993 } 4994 4995 quantityCounter() 4996 4997 const itemAddon = $(".item-card").length 4998 const nofree = $(".nofree").length 4999 5000 const upsell = '' 5001 5002 if(nofree === itemAddon) { 5003 // $("#itemAddons").html("<p>No Items available</p>") 5004 } 5005 5006 $("#itemAddons .item-card").each(function(e){ 5007 $("#itemAddons").attr("data-length", e) 5008 }) 5009 5010 $("[data-addon]").click(function(){ 5011 5012 const t = $(this) 5013 5014 const data = t.data("addon") 5015 5016 $("[data-addon]").removeClass("selected") 5017 t.addClass("selected") 5018 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5019 const products = data.products 5020 const html = [] 5021 for(let i = 0; i < products.length; i++) { 5022 const id = products[i].id 5023 const variantId = products[i].variants[0].id 5024 const img = products[i].images[0].src 5025 let img2 = img.split('.jpg')[0] 5026 const title = products[i].title 5027 const price = products[i].variants[0].price 5028 const tags = products[i].tags 5029 const qty = products[i].variants[0].available 5030 let type_upsell = '' 5031 if(tags.includes('upsell-item-standing')) { 5032 type_upsell = 'standing' 5033 } 5034 console.log(type_upsell) 5035 if(type_upsell !== '') { 5036 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}"> 5037 5038 <div class="card-image"> 5039 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5040 </div> 5041 <div class="card-meta"> 5042 <h5>${title}</h5> 5043 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5044 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5045 </div> 5046 <div class="card-qty"> 5047 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}">
5047<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5048 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity"> 5049 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5050 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5051 </svg></a> 5052 </div> 5053 </div>` 5054 html.push(body) 5055 } 5056 } 5057 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5058 $("#itemAddons").attr("data-length", products.length) 5059 // $('#itemAddons')[0].swiper.update(); 5060 }); 5061 }) 5062 5063 async function isAddon(){ 5064 let ids = [] 5065 $("#itemAddons .item-card.selected").each(function(i, e){ 5066 const id = $(this).data("id") 5067 ids.push(id) 5068 }) 5069 console.log(ids) 5070 return ids 5071 } 5072 5073 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5074 const t = $(this).parent() 5075 const id = t.data("id") 5076 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5077 t.toggleClass("selected"); 5078 //$(this).next("input").toggleAttr('name', 'id[]'); 5079 if (t.hasClass('selected')) { 5080 t.find("input").val(1) 5081 t.find("input").attr('name', 'id[]'); 5082 } else { 5083 t.find("input").val(0) 5084 t.find("input").removeAttr('name'); 5085 } 5086 $("#properties-addons").val(addons) 5087 const is = await isAddon() 5088 if(is.length === 0) { 5089 btn.text("continue without add-ons") 5090 return 5091 } 5092 if(is.includes(8835692069079)) { 5093 btn.text("personalize acrylic frame") 5094 } else { 5095 btn.text("Continue") 5096 } 5097 5098 }) 5099 5100 async function myAddon(data) { 5101 const c = $(".addonsPurchase .addons") 5102 let items = [] 5103 5104 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5105 // if(spotifyAddons.length > 0) { 5106 // $(spotifyAddons).each(function(i, e){ 5107 // const spotifyLink = $(this).find(".spotifyLink").val() 5108 // const spotifySong = $(this).find(".spotifySong").val() 5109 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5110 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5111 // if(spotifyLink !== '') { 5112 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5113 // <div class="addon-itm-img"> 5114 // <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"/> 5115 // </div> 5116 // <div class="addon-itm-title"> 5117 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5118 // </div> 5119 // <div class="addon-itm-line-total"> 5120 // <span>Rp 99.000</span> 5121 // </div> 5122 // </div> 5123 // <div class="propsAddonSpotify row m-0"> 5124 // <div class="col-12 col-lg-2"></div> 5125 // <div class="col-12 col-lg-10"> 5126 // <p> 5127 // <span>spotify link</span> 5128 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5129 // </p> 5130 // <p> 5131 // <span>uploaded photo</span> 5132 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5133 // </p> 5134 // <p> 5135 // <span>song / playlist name</span> 5136 // <span class="spotifySongAddon">${spotifySong}</span> 5137 // </p> 5138 // <p> 5139 // <span>artist name</span>
5140 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5141 // </p> 5142 // </div> 5143 // </div>` 5144 // items.push(spotifyAddon) 5145 // } 5146 // }) 5147 // } 5148 for(let i = 0; i < data.length; i++) { 5149 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5150 const img = data[i].image 5151 const title = data[i].title 5152 const qty = data[i].qty 5153 const price = data[i].price 5154 const total = Number(qty) * Number(price) 5155 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5156 <div class="addon-itm-img"> 5157 <img src="${img}" alt="" width="70"/> 5158 </div> 5159 <div class="addon-itm-title"> 5160 <span>${title}</span> 5161 </div> 5162 <div class="addon-itm-line-price"> 5163 <span>${rupiah.format(price)}</span> 5164 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5165 </div> 5166 <div class="addon-itm-line-total"> 5167 <span>${rupiah.format(total)}</span> 5168 </div> 5169 </div>` 5170 items.push(addons) 5171 } 5172 } 5173 c.html(items) 5174 const parent = $(".purchaseAddon") 5175 const next = parent.next(".sectionPurchase") 5176 parent.addClass("hide") 5177 next.removeClass("hide") 5178 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5179 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5180 } 5181 5182 async function listAddon() { 5183 const data = $("#itemAddons").find(".selected") 5184 let ids = [] 5185 $(data).each(function(){ 5186 const id = $(this).data("variant") 5187 const image = $(this).find(".card-image img").attr("src") 5188 const title = $(this).find(".card-meta h5").text() 5189 const qty = $(this).find(".card-qty input").val() 5190 const price = $(this).find(".card-qty input").data("price") 5191 ids.push({ 5192 id: Number(id), 5193 image, 5194 title, 5195 qty, 5196 price 5197 }) 5198 }) 5199 myAddon(ids) 5200 } 5201 5202 async function customSpotify(idx, length, type){ 5203 let isCard = false 5204 5205 let p = $(".purchasePopupSpotify") 5206 const preLink = $(".spotifyLinkFirst").val() 5207 $("[data-index]").hide() 5208 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5209 p.find(".regulerAddons, .purchase-button").hide() 5210 p.find(".spotifyAddons").show() 5211 5212 const data = await trackUrl(preLink) 5213 5214 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://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="13" height="11" viewB
5214ox="0 0 13 11" fill="none"> 5215 <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"/> 5216 </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://imgstore.io/images/2025/10/26/logo-olxtoto.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://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="13" height="11" viewB
5216ox="0 0 13 11" fill="none"> 5217 <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"/> 5218 </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>` 5219 // console.log(html) 5220 5221 $(".spotifyAddons").append(html) 5222 5223 $(`[data-index=${idx}]`).show() 5224 5225 if (preLink !== '') { 5226 $(".btn-action .btn").attr("disabled", false) 5227 } else { 5228 $(".btn-action .btn").attr("disabled", true) 5229 } 5230 5231 return html 5232 5233 } 5234 5235 $(".spotifyLinkFirst").keyup(async function(){ 5236 const v = $(this).val() 5237 if(v.includes('spotify:user:spotify')) { 5238 const correct = v.split('user:spotify:')[1] 5239 console.log(correct, 'BNER') 5240 $(this).val(correct) 5241 return 5242 } 5243 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5244 const data = await trackUrl(v) 5245 if(!data || !data.status) { 5246 $(this).parent().addClass("error") 5247 // $(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>`) 5248 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5249 return 5250 } 5251 $(this).parent().removeClass("error") 5252 // $(this).parent().remove("txt-error") 5253 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5254 } else { 5255 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5256 } 5257 }) 5258 5259 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5260 const parent = $(this).parents(".purchaseAddon") 5261 const next = parent.next(".sectionPurchase") 5262 if(next.hasClass("purchaseAddress")) { 5263 if(productType !== '') { 5264 console.log("clarity event " + productType + ' purchaseDelivery') 5265 window.clarity("event", `${productType} purchaseDelivery`) 5266 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5267 } 5268 } 5269 const data = $("#itemAddons").find(".selected") 5270 const length = $(".quantity-cart-46067682607319").val() 5271 const checked = data.length; 5272 if(checked > 0) { 5273 if(length > 0) { 5274 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5275 customSpotify(1, length, 'addon') 5276 } else { 5277 listAddon() 5278 } 5279 } else { 5280 parent.addClass("hide") 5281 next.removeClass("hide") 5282 } 5283 }) 5284 5285 $("#personalizeBtnSpotify .btn").click(async function(){ 5286 const isCity = $("#cities[required]") 5287 const isDate = $("#propDeliveryDate[required]") 5288 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5289 alert('Please choose Delivery City & Delivery Date') 5290 return 5291 } 5292 const data = await customSpotify(1, 1, 'product') 5293 if(data) { 5294 $("#backgroundPopup").fadeIn("slow"); 5295 $(".purchasePopupSpotify").fadeIn("slow"); 5296 5297 if(productType !== '') { 5298 console.log("clarity event " + productType + ' spotify') 5299 window.clarity("event", `${productType} spotify`) 5300 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5301 } 5302 } 5303 }) 5304 5305 function formatBytes(bytes, decimals = 2) { 5306 if (!+bytes) return '0 Bytes' 5307
5308 const k = 1024 5309 const dm = decimals < 0 ? 0 : decimals 5310 const sizes = ['B', 'KB', 'MB'] 5311 5312 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5313 5314 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5315 } 5316 5317 async function trackUrl(link){ 5318 try { 5319 let trackId = link.split('/').pop().split('?')[0]; 5320 let type = '' 5321 if(link.includes("spotify:")) { 5322 const uri = link.split('spotify:')[1] 5323 trackId = uri.split(':')[1] 5324 type = uri.split(':')[0] + 's' 5325 } else { 5326 if(link.match('track')){ 5327 type = 'tracks' 5328 } else if(link.match('playlist')) { 5329 type = 'playlists' 5330 } else if(link.match('artist')) { 5331 type = 'artists' 5332 } else if(link.match('album')) { 5333 type = 'albums' 5334 } 5335 } 5336 console.log(`${host}/api/spotify/${type}/${trackId}`) 5337 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5338 console.log(data, 'DATA') 5339 const song = data?.data?.name 5340 const artist = data?.data?.artist 5341 return { 5342 song, artist, type, trackId, status: data.status 5343 } 5344 } catch(err) { 5345 console.log(err) 5346 } 5347 } 5348 5349 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5350 const parent = $(this).parents("[data-index]") 5351 const preview = parent.find(".previewImage") 5352 const file = $(this)[0].files[0]; 5353 if (file) { 5354 const reader = new FileReader(); 5355 reader.onload = async function(e) { 5356 parent.find(".uploadResult label").hide() 5357 parent.find(".uploadedResult").remove() 5358 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5359 <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> 5360 <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;">
5360<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 5361 <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 /> 5362 </svg> 5363 </span></div></div>`) 5364 parent.find(".frameImageUploaded svg").hide() 5365 parent.find(".frameImage").addClass("uploaded") 5366 preview.attr("src", e.target.result); 5367 preview.show(); 5368 let formData = new FormData(); 5369 formData.append("file", file); 5370 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5371 method: "POST", 5372 body: formData 5373 }) 5374 const result = await response.json(); 5375 if(result){ 5376 parent.find(".resultPhotoSpotify").val(result.url) 5377 } 5378 } 5379 5380 reader.readAsDataURL(file); 5381 } else { 5382 preview.hide(); 5383 } 5384 }); 5385 5386 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5387 $(this).next("input[type=file]").trigger("click") 5388 }) 5389 5390 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5391 $(this).parents("input[type=file]").trigger("click") 5392 }) 5393 5394 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5395 const parent = $(this).parents("[data-index]") 5396 parent.find(".uploadPhotoSpotify").val("") 5397 parent.find(".uploadResult label").show() 5398 parent.find(".uploadedResult").remove() 5399 parent.find(".frameImageUploaded svg").show() 5400 parent.find(".previewImage").hide() 5401 parent.find(".frameImage").removeClass("uploaded") 5402 }) 5403 5404 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5405 const parent = $(this).parents("[data-index]") 5406 parent.toggleClass("checked") 5407 }) 5408 5409 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5410 const parent = $(this).parents("[data-index]") 5411 const link = $(this).val() 5412 const data = await trackUrl(link) 5413 5414 console.log(data) 5415 5416 if(data.song) { 5417 parent.find(".spotifySong").val(data.song) 5418 parent.find(".spotifyData").find("h3").text(data.song) 5419 } 5420 if(data.artist) { 5421 parent.find(".spotifyArtist").val(data.artist) 5422 parent.find(".spotifyData").find("p").text(data.artist) 5423 } 5424 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5425 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5426 if (data.status === true) { 5427 parent.find(".btn-action .btn").attr("disabled", false) 5428 } else { 5429 parent.find(".btn-action .btn").attr("disabled", true) 5430 } 5431 }) 5432
5433 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5434 const parent = $(this).parents("[data-index]") 5435 const v = $(this).val() 5436 parent.find(".spotifyData h3").text(v) 5437 }) 5438 5439 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5440 const parent = $(this).parents("[data-index]") 5441 const v = $(this).val() 5442 parent.find(".spotifyData p").text(v) 5443 }) 5444 5445 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5446 const parent = $(this).parents("[data-index]") 5447 const length = parent.data("length") 5448 const index = parent.data("index") 5449 const indexNext = Number(index) + 1 5450 customSpotify(indexNext, length, 'addon') 5451 }) 5452 5453 5454 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5455 const parent = $(this).parents(".purchaseAddon") 5456 const next = parent.next(".sectionPurchase") 5457 parent.addClass("hide") 5458 next.removeClass("hide") 5459 next.find(".purchase-button").show() 5460 listAddon() 5461 }) 5462 5463 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5464 const t = $(this).parents("[data-index]") 5465 const parent = $(this).parents(".sectionPurchase") 5466 const current = t.data("index") 5467 const prevCurrent = Number(current) - 1 5468 if(current == 1) { 5469 parent.removeClass("purchaseAddonSpotify") 5470 parent.find(".purchase-button").show() 5471 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5472 $(".spotifyAddons").empty() 5473 $(".regulerAddons").show() 5474 return 5475 } 5476 t.hide() 5477 t.prev("[data-index]").show() 5478 t.remove() 5479 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5480 }) 5481 5482 $("#personalizeBtn .btn").click(async function() { 5483 loadPopupPersonalize() 5484 }); 5485 5486 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5487 $(".sectionPurchaseSpotify").hide() 5488 loadPopupPersonalize() 5489 }) 5490 5491 $(".close-purchase-popup").click(function() { 5492 disablePopup(); 5493 }); 5494 $("#backgroundPopup").click(function() { 5495 // disablePopup(); 5496 }); 5497 5498 $("#popupCart .close-purchase-popup").click(function() { 5499 location.reload() 5500 }); 5501 5502 $('#popupCart').on('hide.bs.modal', function (e) { 5503 location.reload() 5504 }) 5505 5506 $(".next-card").click(function(){ 5507 const parent = $(this).parents(".sectionPurchase") 5508 const next = parent.next(".sectionPurchase") 5509 parent.addClass("hide") 5510 next.removeClass("hide") 5511 }) 5512 5513 $(".back-purchase-button").click(function(){ 5514 const parent = $(this).parents(".sectionPurchase") 5515 const prev = parent.prev(".sectionPurchase") 5516 parent.addClass("hide") 5517 prev.removeClass("hide") 5518 }) 5519 5520 $(document).keypress(function(e) { 5521 if (e.keyCode == 27 && popupStatus == 1) { 5522 disablePopup(); 5523 } 5524 }); 5525 5526 const parentImg = $(".case-img-preview") 5527 const parentVid = $(".case-video-preview") 5528 5529 function readURL(input) { 5530 if (input.files && input.files[0]) { 5531 let reader = new FileReader(); 5532 5533 let type = 'image/jpeg' 5534 const size = input.files[0].size 5535 if(input.files[0].type.match('video/')){ 5536 type = 'video/mp4' 5537 if(size > 15728640) { 5538 alert('File size exceeds maximum limit 15 MB') 5539 return 5540 } 5541 } else { 5542 if(size > 5242880) { 5543 alert('File size exceeds maximum limit 5 MB') 5544 return 5545 } 5546 } 5547 5548 reader.onload = function (e) { 5549 $(".nextBtn").attr("disabled", true) 5550 if(type === 'image/jpeg') { 5551 5552 $('.placeholder-image').hide(); 5553 $('.preview-image').show() 5554 $('.preview-image').attr('src', e.target.result); 5555 5556 } else { 5557 // parentVid.find(".ajax-loader").show(); 5558 $(".steps-card-preview").addClass("loading") 5559 } 5560 } 5561 5562 5563 5564 reader.readAsDataURL(input.files[0]); 5565 } 5566 } 5567 5568 async function readURLPapan(input) { 5569 if (input.files && input.files[0]) { 5570 let reader = new FileReader(); 5571 5572 reader.onload = function (e) { 5573 $('.btn-upload-papan').siblings('label').hide(); 5574 $('.btn-upload-papan img').attr('src', e.target.result); 5575 $('.btn-upload-papan img').show(); 5576 $('.svgLogoPapan').hide(); 5577 } 5578 5579 const type = 'image/jpeg' 5580 const name = `logo-8144957800663-${Date.parse(new Date())}` 5581 5582 let formData = new FormData(); 5583 formData.append("file", input.files[0]); 5584 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5585 method: "POST", 5586 body: formData 5587 }) 5588 const result = await response.json(); 5589 if(result) { 5590 const url = result.url 5591 $("[data-properties=papan-logo]").val(url) 5592 } 5593
5594 reader.readAsDataURL(input.files[0]); 5595 } 5596 } 5597 5598 async function readURLAddress(input) { 5599 console.log(input, 'readURLAddress') 5600 if (input.files && input.files[0]) { 5601 let reader = new FileReader(); 5602 5603 reader.onload = function (e) { 5604 $('.photo-address').attr('src', e.target.result); 5605 $('.photo-address').show(); 5606 } 5607 5608 const type = 'image/jpeg' 5609 const name = input.files[0].name?.split('.')[0] 5610 5611 let formData = new FormData(); 5612 formData.append("file", input.files[0]); 5613 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5614 method: "POST", 5615 body: formData 5616 }) 5617 const result = await response.json(); 5618 5619 reader.readAsDataURL(input.files[0]); 5620 5621 return result 5622 } 5623 } 5624 5625 async function addToCartUang() { 5626 var productAddOnId1 = 42122101162199; 5627 var productAddOnId2 = 42122101194967; 5628 var product_id = 8144957800663 5629 const data = { 5630 items: [ 5631 { 5632 quantity: $("#Quantity-" + productAddOnId1).val(), 5633 id: productAddOnId1, 5634 "properties": { "Time": $("#properties-time").val() } 5635 }, 5636 { 5637 quantity: $("#Quantity-" + productAddOnId2).val(), 5638 id: productAddOnId2, 5639 "properties": { "Time": $("#properties-time").val() } 5640 } 5641 ] 5642 } 5643 await fetch(window.Shopify.routes.root + 'cart/add.js', { 5644 method: 'POST', 5645 headers: { 5646 'Content-Type': 'application/json' 5647 }, 5648 body: JSON.stringify(data) 5649 }) 5650 .then(response => { 5651 console.error('Sukses Buket Uang:', response); 5652 $(".form-flower").submit() 5653 }) 5654 .catch((error) => { 5655 console.error('Error Buket Uang:', error); 5656 $(".form-flower").submit() 5657 }); 5658 } 5659 5660 async function saveCard(){ 5661 let isCard = true 5662 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 5663 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 5664 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 5665 const foto = $("#properties-photo").val() 5666 const video = $("#properties-video").val() 5667 const data = JSON.stringify({ 5668 "id": qrID, 5669 "penerima": $("#properties-nama-penerima").val(), 5670 "kartu_penerima": kartu_penerima, 5671 "kartu_ucapan": kartu_ucapan, 5672 "kartu_pengirim": kartu_pengirim, 5673 "foto": foto, 5674 "video": video, 5675 "productId": "8144957800663", 5676 "order_name": "", 5677 "status": "Cart" 5678 }) 5679 5680 5681 } 5682 5683 async function additem(items){ 5684 try { 5685 let formData = items 5686 if(items?.length) { 5687 formData = { 5688 'items': items 5689 }; 5690 } 5691 5692 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 5693 method: 'POST', 5694 headers: { 5695 'Content-Type': 'application/json', 5696 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 5697 }, 5698 body: JSON.stringify(formData) 5699 }) 5700 5701 const data = await add.json(); 5702 return data 5703 } catch(err){ 5704 console.log('Error additem', err) 5705 } 5706 } 5707 5708 async function addons(){ 5709 let items = [] 5710 $(".addon-item").each(function(){ 5711 const p = $(this) 5712 const props = p.next(".propsAddonSpotify") 5713 const id = $(this).data("id") 5714 const quantity = $(this).data("qty") 5715 const propId = $("#properties-time").val() 5716 let properties = {} 5717 if(id === 46067682607319) { 5718 const link = props.find(".spotifyLinkAddon").text() 5719 const photo = props.find(".spotifyFotoAddon").text() 5720 const song = props.find(".spotifySongAddon").text() 5721 const artist = props.find(".spotifyArtistAddon").text() 5722 properties = { 5723 id: propId, 5724 "Spotify Link": link !== '' ? link : '-', 5725 "Spotify Photo": photo !== '' ? photo : '-', 5726 "Spotify Song": song !== '' ? song : '-', 5727 "Spotify Artist": artist !== '' ? artist : '-', 5728 type: 'addon' 5729 } 5730 } else { 5731 properties = { 5732 "id": propId, 5733 "type": "addon" 5734 } 5735 } 5736 items.push({ 5737 id, 5738 quantity, 5739 properties 5740 }) 5741 }) 5742 return items 5743 } 5744 5745 async function propItems() { 5746 let props = {} 5747 $("[data-properties]").each(function(e){ 5748 let elementType = this.tagName;
5749 const k = $(this).data("properties") 5750 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') { 5751 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 5752 if(v !== '') { 5753 props[k] = v?.replace(/[\s\n]/g, ''); 5754 } 5755 } 5756 }) 5757 return props 5758 } 5759 5760 async function showPopupCart(items){ 5761 if(productType !== '') { 5762 console.log("clarity event " + productType + ' completeOrder') 5763 window.clarity("event", `${productType} completeOrder`) 5764 // window.clarity("set", productType, `completeOrder - ${productDate}`) 5765 } 5766 $("#popupCart").show() 5767 5768 $(".propDeliveryCity").text($("#cities").val()) 5769 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 5770 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 5771 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 5772 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 5773 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 5774 $(".propDeliveryProv").text($("#province").val()) 5775 $(".propDeliveryZip").text($("#zip").val()) 5776 5777 5778 5779 const addons = [] 5780 if(items && items.length > 0) { 5781 for(let i = 1; i < items.length; i++) { 5782 const spotifyLink = items[i].properties['Spotify Link'] 5783 const spotifyPhoto = items[i].properties['Spotify Photo'] 5784 const spotifySong = items[i].properties['Spotify Song'] 5785 const spotifyArtist = items[i].properties['Spotify Artist'] 5786 const price = items[i].price / 100 5787 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 5788 <div class="col-12 col-lg-2"></div> 5789 <div class="col-12 col-lg-10"> 5790 <p> 5791 <span>spotify link</span> 5792 <span>${spotifyLink}</span> 5793 </p> 5794 <p> 5795 <span>Upload Photo</span> 5796 <span>${spotifyPhoto}</span> 5797 </p> 5798 <p> 5799 <span>song / playlist name</span> 5800 <span>${spotifySong}</span> 5801 </p> 5802 <p> 5803 <span>artist name</span> 5804 <span>${spotifyArtist}</span> 5805 </p> 5806 </div> 5807 </div>` : ''; 5808 addons.push(`<div class="row m-0"> 5809 <div class="imgAddonCart col-2"> 5810 <img 5811 width="43" 5812 src="${items[i].image}" 5813 alt="" 5814 > 5815 </div> 5816 <div class="imgAddonTitlePrice col-10 align-self-center"> 5817 <div class="row justify-content-between m-0"> 5818 <div class="col-12 col-lg-8"> 5819 <h5>${items[i].title}</h5> 5820 </div> 5821 <div class="col-12 col-lg-4 text-lg-right"> 5822 <span>${rupiah.format(price)}</span> 5823 </div> 5824 </div> 5825 </div> 5826 </div>${props}`) 5827 } 5828 } 5829 // console.log(addons) 5830 if(addons.length === 0) { 5831 $(".itemAddonCart").hide() 5832 return 5833 } 5834 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 5835 $(".wrapperItemAddonCart").html(addons) 5836 } 5837 5838 const money = (money) => { 5839 return new Intl.NumberFormat('id-ID', 5840 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 5841 ).format(money); 5842 } 5843 5844 async function showNoteMoney() { 5845 let qty50k = $("[data-properties='Uang 50k']").val() 5846 let qty100k = $("[data-properties='Uang 100k']").val() 5847 const total50k = Number(qty50k) * 50000 5848 const total100k = Number(qty100k) * 100000 5849 const total_all = total50k + total100k 5850 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 5851 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 5852 $(".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://ampa-hnst.b-cdn.net/walkingfishtx.html" target="_blank" style="text-decoration: underline;
5852 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 5853 } 5854 5855 async function removeImage() { 5856 const data = JSON.stringify({ 5857 "ID": $("#properties-properties-qrId").val(), 5858 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 5859 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 5860 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 5861 "Nama Penerima": $("#properties-nama-penerima").val(), 5862 "Order Number":"", 5863 "Status":"Product", 5864 "Foto": "", 5865 "Media": $("#properties-video").val(), 5866 "Image": "8144957800663" 5867 }) 5868 const remove = updateCard(data) 5869 if(remove) { 5870 $(this).hide() 5871 $("#properties-photo").val("-") 5872 $(".placeholder-image").show() 5873 $(".preview-image").attr("src", "") 5874 } 5875 } 5876 5877 async function removeVideo() { 5878 const data = JSON.stringify({ 5879 "ID": $("#properties-properties-qrId").val(), 5880 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 5881 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 5882 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 5883 "Nama Penerima": $("#properties-nama-penerima").val(), 5884 "Order Number":"", 5885 "Status":"Product", 5886 "Foto": $("#properties-photo").val(), 5887 "Media": "", 5888 "Image": "8144957800663" 5889 }) 5890 const remove = updateCard(data) 5891 if(remove) { 5892 $("#properties-video").val("-") 5893 $(this).find("img").hide() 5894 $(this).hide() 5895 $(this).prev("p").text("Add video to make it more special (optional)") 5896 $("#label-input-video").show() 5897 $("#label-input-video span").text("Upload Video") 5898 $(".case-video-preview p span").remove() 5899 } 5900 } 5901 5902 async function loadItemOccasion(t, occasion) { 5903 const name = occasion?.replace('greeting-card-', '') 5904 $("#kartu-ucapan").val("") 5905 $("[data-occassion]").removeClass("selected") 5906 $("[data-properties=ucapan]").val("") 5907 $("#save-card").attr("disabled", true) 5908 t.addClass("selected") 5909 $("#show_note").attr("data-card-occassion", name) 5910 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 5911 const products = data.products 5912 const html = [] 5913 for(let i = 0; i < products.length; i++) { 5914 const id = products[i].id 5915 const variantId = products[i].variants[0].id 5916 const img = products[i].images[0].src 5917 const title = products[i].title 5918 const price = products[i].variants[0].price 5919 const qty = products[i].variants[0].inventory_quantity 5920 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 5921 <label for="card-${variantId}"></label> 5922 <div class="card-image"> 5923 <img src="${img}" alt="${title}" width="" height="" /> 5924 </div> 5925 <div class="card-meta text-center"> 5926 <h5>${title}</h5> 5927 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5928 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 5929 </div> 5930 </div>` 5931 html.push(body) 5932 } 5933 const withoutCard = `<div class="item-card item-without-card"> 5934 <label for="card-0"></label> 5935 <div class="card-image"> 5936 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 5937 </div> 5938 <div class="card-meta text-center"> 5939 <h5>
5939Send without a greeting card</h5> 5940 <input id="card-0" type="radio" name="id" value="" data-price=""> 5941 </div> 5942 </div>` 5943 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 5944 }); 5945 } 5946 5947 $(document).ready(function(){ 5948 5949 // Observer to auto-trigger addon loading when addon section becomes visible 5950 const addonObserver = new MutationObserver(function(mutations) { 5951 mutations.forEach(function(mutation) { 5952 const target = $(mutation.target) 5953 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 5954 if(!target.hasClass('hide')) { 5955 // Addon section just became visible, ensure items are loaded 5956 setTimeout(function() { 5957 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5958 console.log("Auto-triggering addon load...") 5959 $("[data-addon=upsell-all]").trigger("click") 5960 } 5961 }, 150) 5962 } 5963 } 5964 }) 5965 }) 5966 5967 // Start observing addon section 5968 const addonSection = document.querySelector('.purchaseAddon') 5969 if(addonSection) { 5970 addonObserver.observe(addonSection, { 5971 attributes: true, 5972 attributeFilter: ['class'] 5973 }) 5974 } 5975 5976 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 5977 5978 $(this).find("span").addClass("loading") 5979 let isValid = true 5980 $(".formAddressPurchase [required]").each(function(){ 5981 const t = $(this) 5982 const input = t.val() 5983 const p = t.parent() 5984 if(input === '') { 5985 p.addClass("error") 5986 isValid = false 5987 } 5988 }) 5989 5990 if(!isValid) { 5991 $(this).find("span").removeClass("loading") 5992 return 5993 } 5994 5995 let items = [] 5996 const mainProps = { 5997 5998 "Delivery Date": $("#propDeliveryDate").val(), 5999 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6000 "Kota Pengiriman": $("#cities").val(), 6001 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6002 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6003 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6004 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6005 6006 6007 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6008 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6009 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6010 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6011 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6012 6013 6014 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6015 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6016 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6017 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6018 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6019 "type": 'product' 6020 } 6021 const props = await propItems() 6022 properties = {...mainProps, ...props }; 6023 const id = $("#productSelect").find('option:selected').val() 6024 console.log(id, 'main ID') 6025 const mainItem = { 6026 id: Number(id), 6027 quantity: 1, 6028 properties 6029 } 6030 items.push(mainItem) 6031 const cardId = $("#itemCards").find(".selected input").val() 6032 const cardItem = { 6033 id: Number(cardId), 6034 quantity: 1, 6035 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6036 } 6037 console.log(cardId, 'cardId') 6038 if(cardId) { 6039 items.push(cardItem) 6040 } 6041 const addon = await addons() 6042 if(addon) { 6043 for(let i = 0;
6043 i < addon.length; i++){ 6044 items.push({ 6045 id: addon[i].id, 6046 quantity: addon[i].quantity, 6047 properties: addon[i].properties 6048 }) 6049 } 6050 } 6051 const addItems = await additem(items) 6052 console.log(addItems.items, 'add items') 6053 if(addItems) { 6054 $(this).find("span").removeClass("loading") 6055 disablePopup() 6056 showPopupCart(addItems.items) 6057 6058 localStorage.setItem("items", JSON.stringify(addItems.items)) 6059 } 6060 }) 6061 6062 $("#addtocart-cart .btn").click(async function(){ 6063 const id = $("#productSelect").find('option:selected').val() 6064 const mainProps = { 6065 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6066 type: 'product' 6067 } 6068 const props = await propItems() 6069 const properties = { ...mainProps, ...props }; 6070 const items = { 6071 id: Number(id), 6072 quantity: 1, 6073 properties 6074 } 6075 const addItems = await additem(items) 6076 if(addItems) { 6077 showPopupCart(addItems.items) 6078 localStorage.setItem("items", JSON.stringify(addItems)) 6079 } 6080 }) 6081 6082 $(".formAddressPurchase [required]").change(function(){ 6083 const t = $(this) 6084 const p = t.parent() 6085 const v = t.val() 6086 if(v !== '') { 6087 p.removeClass("error") 6088 } 6089 }) 6090 6091 $("#save-card").click(async function(){ 6092 const parent = $(this).parents(".sectionPurchase") 6093 const next = parent.next(".sectionPurchase") 6094 $(this).find("span").addClass("loading") 6095 const card = await saveCard() 6096 console.log(card, 'ssaveCCC') 6097 if(card?.status === 200 || card?.status === 201) { 6098 $(".scanCard").removeClass("hide") 6099 $(this).find("span").removeClass("loading") 6100 parent.addClass("hide") 6101 next.removeClass("hide") 6102 if(next.hasClass("purchaseAddon")) { 6103 $("[data-addon=upsell-all]").click() 6104 console.log("clarity event addons") 6105 window.clarity("event", `${productType} add-ons`) 6106 // Ensure addon items are loaded when entering addon popup 6107 setTimeout(function() { 6108 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6109 $("[data-addon=upsell-all]").trigger("click") 6110 } 6111 }, 100) 6112 } 6113 if(next.hasClass("purchaseAddress")) { 6114 $("#zip").select2() 6115 } 6116 } 6117 }) 6118 6119 $("#skip-card").click(async function(){ 6120 $("#greetingCard [data-properties]").val("") 6121 $("#properties-photo").val("") 6122 $("#properties-video").val("") 6123 const parent = $(this).parents(".sectionPurchase") 6124 const next = parent.next(".sectionPurchase") 6125 parent.addClass("hide") 6126 next.removeClass("hide") 6127 // $("#itemCards").html("") 6128 removeImage() 6129 removeVideo() 6130 if(next.hasClass("purchaseAddon")) { 6131 $("[data-addon='upsell-all']").click() 6132 console.log("clarity event addons") 6133 window.clarity("event", `${productType} add-ons`) 6134 // Ensure addon items are loaded when entering addon popup 6135 setTimeout(function() { 6136 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6137 $("[data-addon='upsell-all']").trigger("click") 6138 } 6139 }, 100) 6140 } 6141 if(next.hasClass("purchaseAddress")) { 6142 $("#zip").select2() 6143 } 6144 }) 6145 6146 $("#msgCard").click(async function(){ 6147 $(this).parent().addClass("loading") 6148 let occasion = $(".selected[data-occassion]").data("occassion") 6149 occasion = occasion?.replace("greeting-card-", "") 6150 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6151 const d = data?.data 6152 for(let i = 0; i < d.length; i++) { 6153 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6154 const greeting = d[num]?.Greeting 6155 $(".greetingCard textarea").val(greeting) 6156 $(this).parent().removeClass("loading") 6157 } 6158 $("#save-card").attr("disabled", false) 6159 }) 6160 6161 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6162 const parent = $(this).parents(".sectionPurchase") 6163 const next = parent.next(".sectionPurchase") 6164 parent.addClass("hide") 6165 next.removeClass("hide") 6166 }) 6167 6168 $("#editCard").click(function(){ 6169 $(".custom-card").show() 6170 $(".preview-card").hide() 6171 }) 6172 6173 $("#first_name, #last_name").change(function(){ 6174 const v = $(this).val() 6175 const first_name = $("#first_name").val() 6176 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6177 $("[data-properties=nama-penerima]").val(first_name+last_name) 6178 }) 6179 6180 $("[data-occassion]").click(function(){ 6181 const t = $(this) 6182 const p = t.parents(".sectionPurchase") 6183 // $(".greetingCard").addClass("disabled") 6184 const occasion = t.data("occassion") 6185 loadItemOccasion(t, occasion) 6186 }) 6187 6188 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6189 const id = $(this).parent(".item-card").data("id") 6190 const t = $(this).parent(".item-card") 6191 const target = t.find("input") 6192 const v = $('.item-card input[type="radio"]:checked').val(); 6193 $("#itemCards .item-card").removeClass("selected") 6194 t.addClass("selected") 6195 $("#itemCards .item-card").find("input").attr("name", "") 6196 if(target.length > 0) { 6197 target.attr("name", "id[]") 6198 $("#properties-card").val(id) 6199 $(".greetingCard").removeClass("disabled") 6200 $("#skip-card").attr("disabled", false) 6201 } else { 6202 $("#properties-card").val("") 6203 } 6204 }) 6205 6206 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6207 const parent = $(this).parents(".sectionPurchase") 6208 const next = parent.next(".sectionPurchase") 6209 $(".greetingCard").addClass("disabled") 6210 parent.addClass("hide") 6211 next.removeClass("hide") 6212 $("[data-addon=upsell-all]").click() 6213 $("#zip").select2() 6214 }) 6215 6216 $("[data-properties=ucapan]").keyup(function(){ 6217 const v = $(this).val() 6218 const p = $(this).parents(".sectionPurchase") 6219 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6220 if(v.length > 3) { 6221 p.find(".next-purchase-button").attr("disabled", false) 6222 } else { 6223 p.find(".next-purchase-button").attr("disabled", true) 6224 } 6225 }) 6226 6227 $("[data-properties=penerima]").keyup(function(){ 6228 const v = $(this).val() 6229 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6230 }) 6231 6232 $("[data-properties=pengirim]").keyup(function(){ 6233 const v = $(this).val() 6234 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6235 }) 6236 6237 $(document).click(function(e){ 6238 6239 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6240 // $('#popupCart').fadeOut('slow'); 6241 // location.reload() 6242 }); 6243 6244 $(".toggleAddonCart").click(function(){ 6245 const p = $(this).parent(".itemAddonCart") 6246 p.toggleClass("open") 6247 }) 6248 6249 $(".btnViewCart").click(function(){ 6250 window.location.href = "https://outerbloom.com/cart"; 6251 }) 6252 6253 $(".btnViewCheckout").click(async function(){ 6254 $(this).find("span").addClass("loading") 6255 let zip = $("#zip").val() 6256 const first_name = $("#first_name").val() 6257 const last_name = $("#last_name").val() 6258 const company = $("#company").val() !== '' ? $("#company").val() : '' 6259 const address1 = $("#delivery_address").val() 6260 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6261 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6262 const phone = $("#recipient_number").val() 6263 const city = $("#cities").val() 6264 const province = $("#province").val() 6265 const country = 'Indonesia' 6266 const ver = Date.parse(new Date()) 6267 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}` 6268 6269 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6270 if(clear.status === 200) { 6271 const savedItem = window.localStorage.getItem("items"); 6272 const items = JSON.parse(savedItem) 6273 const addItems = await additem(items) 6274 console.log(addItems, 'new addItems') 6275 if(addItems) { 6276 window.location.href = `https://outerbloom.com/checkout?${params}`; 6277 } 6278 } 6279 }) 6280 6281 $(".btnContinueShopping").click(function(){ 6282 window.location.href = "https://outerbloom.com/"; 6283 }) 6284 6285 if (isIOS) { 6286 $(".empty-state-card").click(function(){ 6287 $("#input-foto").trigger("click") 6288 }) 6289 $(".btn-upload-image").click(function(){ 6290 $("#input-foto").trigger("click") 6291 }) 6292 $("[for=input-video]").click(function(){ 6293 $("#input-video").trigger("click") 6294 }) 6295 $(".btn-upload-papan").click(function(){ 6296 $("#logoPapan").trigger("click") 6297 }) 6298 } 6299 6300 $("[data-properties]").each(function(){ 6301 const select = $(this).parents(".form-group").find("select") 6302 $(this).change(function(){ 6303 const name = $(this).data("properties") 6304 const v = $(this).val() 6305 if (name == 'telepon-penerima') { 6306 let phone = v.replace(/[^0-9]/g, '') 6307 $(this).val(phone); 6308 $("#properties-telepon-penerima").val(phone) 6309 $('.iti__search-input').val('-') 6310 } else { 6311 $("#properties-" + name).val(v) 6312 } 6313 }) 6314 select.on("change", function(){ 6315 const name = $(this).data("properties") 6316 const v = $(this).val() 6317 $("#properties-" + name).val(v) 6318 }) 6319 }) 6320 6321 $("#show_note").click(function(){ 6322 nameq = $("#properties-nama-penerima").val() 6323 dear = $("#properties-kartu-nama-penerima").val() 6324 card = $("[data-properties=ucapan]").val() 6325 sender = $("#properties-kartu-nama-pengirim").val() 6326 photo = $("#properties-photo").val() 6327 video = $("#properties-video").val() 6328 updateCard(nameq, dear, card, sender, photo, video, status) 6329 }) 6330 6331 $(".remove-image").click(function(e){ 6332 e.preventDefault() 6333 $(this).find("img").show() 6334 removeImage() 6335 }) 6336 6337 $(".remove-media").click(function(e){ 6338 e.preventDefault() 6339 $(this).find("img").show() 6340 removeVideo() 6341 }) 6342 6343 6344 6345 $("[data-delivery_method]").click(function(e){ 6346 e.preventDefault() 6347 const t = $(this) 6348 const data = t.data("delivery_method") 6349 $("[data-delivery_method]").removeClass("selected") 6350 t.addClass("selected") 6351 $("#cities").val("") 6352 $("#properties-delivery-date").val("-") 6353 $("#deliveryDate button").removeClass("selected") 6354 $("#full-date").val("Full Calendar â") 6355 $("#propDeliveryDate").val("") 6356 const step3 = $("#step-3") 6357 if(data.match('PickUp')) { 6358 $(".selfpickup-point").show() 6359 step3.find("[data-finished=false]").hide() 6360 $("#panel-4").hide() 6361 step3.find("[data-finished=true]").show() 6362 $("#cities").attr("required", false) 6363 $("#form-group-city").hide() 6364 $("#row-delivery-time").hide() 6365 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6366 $("#propDeliveryTime").attr("required", false) 6367 // $("#deliveryDate").find("button:first-child").addClass("stop") 6368 $(".form-selfpickup").show() 6369 $(".form-delivery").hide() 6370 $(".form-delivery").find("input, textarea, select").val("") 6371 $(".form-delivery").find("input, textarea, select").attr("required", false) 6372 $("#properties-shipping").val("0") 6373 $("#noteDeliveryDate").hide() 6374 $(".form-delivery .form-control").attr("required", false) 6375 $("#stepNav4").hide() 6376 6377 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6378 6379 6380 6381 if(timeOfDay >= 16.01){ 6382 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6383 } 6384 } else { 6385 6386 6387 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6388 step3.find("[data-finished=false]").show() 6389 $("#panel-4").show() 6390 step3.find("[data-finished=true]").hide() 6391 $("#cities").attr("required", true) 6392 $(".selfpickup-point").hide() 6393 $("#form-group-city").show() 6394 $("#cities").val('').trigger('change'); 6395 $("#properties-kota-pengiriman").val("-") 6396 6397 $("#row-delivery-date, #row-delivery-time").show() 6398 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6399 $("#deliveryDate").find("button").removeClass("stop") 6400 $(".form-selfpickup").hide() 6401 $(".form-delivery").show() 6402 $(".form-delivery").find("input, textarea, select").attr("required", true)
6403 $(".form-delivery [data-properties]").attr("readonly", false) 6404 $("#properties-kodepos").val("-") 6405 $("#properties-alamat-penerima").val("-") 6406 $(".form-delivery .form-control").attr("required", true) 6407 $(this).parents(".setup-content").attr("id", "step-1") 6408 6409 $("#stepNav4").show() 6410 } 6411 }) 6412 6413 $("[name=selfpickup]").click(function(){ 6414 const p = $(this).parents(".row-pickup") 6415 const pickupCity = $("input[name='selfpickup']:checked").val(); 6416 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6417 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6418 6419 $(".row-pickup").removeClass("selected") 6420 p.addClass("selected") 6421 6422 $("#properties-kota-pengiriman").val(pickupCity) 6423 $("#province").val("Jakarta") 6424 $("#properties-alamat-penerima").val(pickupAddress) 6425 $("#properties-kodepos").val(pickupZip) 6426 }) 6427 6428 $("#cities").change(function(e){ 6429 e.preventDefault() 6430 $(this).parent(".row").find("p.error").remove() 6431 $("#full-date").val("Full Calendar") 6432 $("#deliveryDate, #deliveryDateFull label ").show() 6433 $("#deliveryDateFull").removeClass("filled") 6434 $(".btnChangeDeliveryDate").addClass("hide") 6435 $("#full-date").prop('disabled', false); 6436 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6437 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6438 const step3 = $("#step-3") 6439 $("#cityNote").remove() 6440 $("#noteDeliveryDate").hide() 6441 $("#noteDeliveryDate").empty() 6442 let v = $(this).val() 6443 let v2 = $('option:selected', this).attr('data-city'); 6444 let v3 = $('option:selected', this).attr('data-province'); 6445 let price = $('option:selected', this).attr('data-price'); 6446 $("#country").val(v) 6447 $("#properties-kota-pengiriman").val(v) 6448 $("#properties-shipping").val(price) 6449 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6450 $("#properties-delivery-date, #properties-delivery-time").val("-") 6451 $("#propDeliveryDate, #propDeliveryTime").val("") 6452 let note = $('option:selected', this).attr('data-note'); 6453 if(v === 'Kota Lainnya') { 6454 $("#noteDeliveryDate").show() 6455 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6456 $("#zip").attr("required", false) 6457 $("#zip").hide() 6458 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6459 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6460 $("#row-delivery-date, #row-delivery-time").hide() 6461 $("#properties-shipping").val("") 6462 // $(this).parents(".setup-content").attr("id", "step-2") 6463 6464 } else { 6465 $("#noteDeliveryDate").hide() 6466 $("#zip").attr("required", true) 6467 $("#zip").show() 6468 $("#row-delivery-date, #row-delivery-time").show() 6469 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6470 $("#deliveryDate").find("button").removeClass("stop") 6471 // $(this).parents(".setup-content").attr("id", "step-1") 6472 6473 } 6474 6475 // if(v !== 'Jakarta') { 6476 // $("[data-type=upsell]").hide() 6477 // } else { 6478 // $("[data-type=upsell]").show() 6479 // } 6480 // $('.collection-addons')[0].swiper.update(); 6481 6482 6483 getProvince(v) 6484 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6485 renderZip(v, v2, v3) 6486 6487 disabledSameDay() 6488 6489 6490 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6491 6492 $("#cardOccasion, #navAddon, .collection-addons").hide() 6493 6494 $("[data-addon=giftcard]").show() 6495 $("[data-addon=giftcard]").click() 6496 $("#itemAddons").show() 6497 $("#flower-step").addClass("nonjadetabek") 6498 } else { 6499 $("#cardOccasion, #navAddon, .collection-addons").show() 6500 $("[data-addon=all]").click() 6501 $("#flower-step").removeClass("nonjadetabek") 6502 } 6503 6504 if(v !== '') { 6505 $("#personalizeBtn .btn").attr("disabled", false) 6506 } else { 6507 $("#personalizeBtn .btn").attr("disabled", true) 6508 } 6509 6510 }) 6511 6512 $("#zip").change(function(e){ 6513 let v = $(this).val() 6514 var city = $("#cities").find('option:selected'); 6515 $("#properties-kodepos").val(v) 6516 if(city === 'Kota Lainnya') { 6517 $(this).attr("required", true) 6518 $("#recipient-address").val("") 6519 } 6520 }) 6521 6522 6523 var minDate = +7 6524 6525 6526 6527 $("#full-date").datepicker({ 6528 minDate, 6529 dateFormat: 'Mdd_yy', //Nop22_2021, 6530 6531 beforeShowDay: disabledays, 6532 6533 onSelect: function (date) { 6534 $("#deliveryDate, #deliveryDateFull label ").hide() 6535 $("#deliveryDateFull").addClass("filled") 6536 $(".btnChangeDeliveryDate").removeClass("hide") 6537 $("#full-date").prop('disabled', true); 6538 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6539 $(".date-full").addClass("selected") 6540 $(".date-single, .calendar-group").removeClass("selected") 6541 $("#propDeliveryTime").val('') 6542 $("#properties-delivery-time").val('-') 6543 $(".time-single").removeClass("selected") 6544 6545 6546 } 6547 }); 6548 6549 $(".btnChangeDeliveryDate").click(function(){ 6550 $("#deliveryDate, #deliveryDateFull label ").show() 6551 $("#deliveryDateFull").removeClass("filled") 6552 $(".btnChangeDeliveryDate").addClass("hide") 6553 $("#full-date").prop('disabled', false); 6554 }) 6555 6556 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6557 e.preventDefault() 6558 $(this).parents("#row-delivery-date").find("p.error").remove() 6559 const fulldate = $(this).data("fulldate") 6560 const day = $(this).data("day") 6561 const date = $(this).data("date")
6562 const month = $(this).data("month") 6563 const year = $(this).data("year") 6564 const off_pagi = $(this).data("offpagi") 6565 const off_siang = $(this).data("offsiang") 6566 const off_Malam = $(this).data("offMalam") 6567 $(".calendarbutton").removeClass("selected") 6568 $(this).addClass("selected") 6569 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6570 $("#propDeliveryTime").val('') 6571 $("#properties-delivery-time").val('-') 6572 $(".calendarbutton2").removeClass("selected") 6573 $("#full-date").val("Full Calendar") 6574 6575 6576 if(off_pagi && timeOfDay > off_pagi) { 6577 $("[data-time=Morning]").attr("disabled", true) 6578 } else { 6579 $("[data-time=Morning]").attr("disabled", false) 6580 } 6581 if(off_siang && timeOfDay > off_siang) { 6582 $("[data-time=Afternoon]").attr("disabled", true) 6583 } else { 6584 $("[data-time=Afternoon]").attr("disabled", false) 6585 } 6586 6587 6588 6589 }) 6590 6591 if(today === 14 && timeOfDay > 17.00) { 6592 $("#deliveryDate button:first-child").attr("disabled", true) 6593 } 6594 6595 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6596 e.preventDefault() 6597 const time = $(this).data("time") 6598 const date = $("#propDeliveryDate").val() 6599 if(date == '') { 6600 return alert('Silakan pilih tanggal terlebih dahulu') 6601 } 6602 $(".calendarbutton2").removeClass("selected") 6603 $(this).addClass("selected") 6604 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 6605 }) 6606 6607 $('textarea.has-limit, input.has-limit').keyup(function () { 6608 max = this.getAttribute("maxlength"); 6609 let len = $(this).val().length; 6610 let limit = $(this).siblings(".limit"); 6611 if (len > max) { 6612 alert('you have reached the limit'); 6613 } else { 6614 limit.text(`${len}/${max}`); 6615 } 6616 }); 6617 6618 $("#button-action-step .btn").click(function(){ 6619 $(this).find("span").text("Processing..."); 6620 }); 6621 6622 $(".finishBtn").on('click', function() { 6623 $(this).addClass("is-adding"); 6624 // $(this).click(); 6625 }); 6626 6627 $('.setup-panel .nav-item a.btn-success').trigger('click'); 6628 6629 $("#button-action .btn").click(function(){ 6630 $("#flower-step").addClass("block"); 6631 $("#button-action").hide(); 6632 }); 6633 6634 $(".close-how-order").click(function(){ 6635 $("#flower-step").removeClass("block"); 6636 $("#button-action").show(); 6637 }); 6638 6639 $("#input-foto, #input-video").change(function(e){ 6640 readURL(this); 6641 }); 6642 6643 $("#logoPapan").change(function(){ 6644 readURLPapan(this); 6645 }); 6646 6647 $("#address-upload").change(async function(){ 6648 const upload_address = await readURLAddress(this) 6649 if(upload_address) { 6650 const url = upload_address.url 6651 $(".props-address-upload").val(url) 6652 $(".form-address").addClass("address-uploaded") 6653 $(".form-address-upload").addClass("uploaded") 6654 6655 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 6656 } 6657 }) 6658 6659 $(".address-manualy").click(function(){ 6660 $(".form-address-upload").removeClass("uploaded"); 6661 $(".photo-address").hide(); 6662 $(".form-address").removeClass("address-uploaded") 6663 $("#formAddressPurchase").find(".form-control").attr("required", true) 6664 }); 6665 6666 $(".case-video-preview").delegate(".replace-video", "click", function(){ 6667 $("#input-video").trigger("click") 6668 }) 6669 6670 $('.date-single').click(function(e) { 6671 e.preventDefault(); 6672 $('.date-single').removeClass('selected'); 6673 $('#full-date').removeClass('selected'); 6674 $(this).addClass('selected'); 6675 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 6676 }); 6677 $('#full-date').click(function(e){ 6678 e.preventDefault(); 6679 $('.date-single').removeClass('selected'); 6680 $(this).addClass('selected'); 6681 }); 6682 6683 // $("tr").each(function(){ 6684 // if($(this).text().match('SKU')) { 6685 // $(".sku-product").html($(this).parents("table").html()) 6686 // } 6687 // }) 6688 6689 $("#product-image").scroll(function(){ 6690 $(".desc-add").each(function(){ 6691 const img = $(this).find("img") 6692 const src = img.data("src") 6693 img.attr("src", src) 6694 }) 6695 }) 6696 6697 $(".product-fixed").hide() 6698 6699 let target = $("#personalizeBtn") 6700 6701 6702 $(".product-meta").scroll(function() { 6703 if ($(window).scrollTop() >= target.offset().top ) { 6704 $(".product-fixed").addClass("show") 6705 } else { 6706 $(".product-fixed").removeClass("show") 6707 } 6708 }); 6709 6710 $(window).scroll(function() { 6711 if ($(window).scrollTop() >= target.offset().top ) { 6712 $(".product-fixed").addClass("show") 6713 } else { 6714 $(".product-fixed").removeClass("show") 6715 } 6716 }); 6717 }); 6718 </script>
6718 6719 6720
6720<script> 6721 // 6722 </script>
6722 6723 6724
6724<script> 6725 $(document).ready(function(){ 6726 $('table tr td').each(function(){ 6727 var texto = $(this).text(); 6728 var nextto = $(this).next("td"); 6729 var sku = $("#data-sku").val() 6730 if(texto == 'SKU'){ 6731 nextto.text(sku) 6732 } 6733 }); 6734 6735 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 6736 $(".stamped-summary-actions-newreview").text("Tulis Review"); 6737 $("#tab-questions").text("Pertanyaan"); 6738 6739 $(".freeship .icon").click(function(){ 6740 $(".fs-content").slideToggle(); 6741 $(this).parents(".freeship").toggleClass("expand"); 6742 }); 6743 6744 var $easyzoom = $('.easyzoom').easyZoom(); 6745 // Setup thumbnails example 6746 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 6747 $('.thumbnails').on('click', 'a', function(e) { 6748 var $this = $(this); 6749 e.preventDefault(); 6750 // Use EasyZoom's `swap` method 6751 api1.swap($this.data('standard'), $this.attr('href')); 6752 }); 6753 6754 $('#playerID').click(function(){ 6755 var videoURL = $('#VdoID').attr('src'), 6756 dataplay = $('#VdoID').attr('data-play'); 6757 6758 //for check autoplay 6759 //if not set autoplay=1 6760 if(dataplay == 0 ){ 6761 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 6762 $('#VdoID').attr('data-play',1); 6763 } 6764 else{ 6765 var videoURL = $('#VdoID').attr('src'); 6766 videoURL = videoURL.replace("?autoplay=1", ""); 6767 $('#VdoID').prop('src',''); 6768 $('#VdoID').prop('src',videoURL); 6769 6770 $('#VdoID').attr('data-play',0); 6771 } 6772 6773 }); 6774 6775 $(".product-photo-thumb-video").click(function(e){ 6776 e.preventDefault(); 6777 6778 var newEmbed = $(this).attr('href'); 6779 $("#featured-image-product").addClass("img-video"); 6780 $("#ProductPhotoImg").hide(); 6781 $("#featured-image-product .video").show(); 6782 $("#featured-image-product iframe").attr('src', newEmbed); 6783 $("#VdoID")[0].src += "&autoplay=1"; 6784 }); 6785 $(".product-single__thumbnail").click(function(evt){ 6786 evt.preventDefault(); 6787 $("#featured-image-product").removeClass("img-video"); 6788 $("#ProductPhotoImg").show(); 6789 $("#featured-image-product .video").hide(); 6790 $("#featured-image-product iframe").attr('src', ''); 6791 }); 6792 6793 if($('#product-meta .short-desc > div').length >= 1){ 6794 //console.log('div detected') 6795 var replacer = $('#product-meta .short-desc > div').contents(); 6796 $('#product-meta .short-desc > div').replaceWith(replacer); 6797 6798 var cAssured = $('.c-assured').detach(); 6799 cAssured.insertAfter('.meta-sds .stock-info'); 6800 } 6801 6802 6803 6804 $(".heading-toggle").click(function(){ 6805 $(this).parent().toggleClass("open") 6806 6807 }); 6808 }); 6809 </script>
6809 6810 6811 6812
6812<script type="application/json" id="ProductJson-Product"> 6813 6814 {"id":8144957800663,"title":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."} 6815 </script>
6815 6816 6817
6817<script type="application/json" id="VariantJson-Product"> 6818 [ 6819 6820 { 6821 "incoming": false, 6822 "next_incoming_date": null 6823 } 6824 6825 ] 6826 </script>
6826 6827 6828 </div> 6829
6829<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
6829 6830 <style> 6831 .stamped-review-header-title, 6832 .stamped-review-header .author, 6833 .stamped-review-content-body, 6834 .stamped-sort-select, 6835 .stamped-review-header .verified-badge[data-type=buyer]:after, 6836 .stamped-review-header-byline, 6837 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 6838 .stamped-review {margin-bottom: 0;} 6839 .stamped-review-body {padding-left: 65px;} 6840 .stamped-review:first-child {padding-top: 25px;} 6841 .stamped-review-content {clear: none;} 6842 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 6843 .stamped-review-reply-body {padding-left: 65px;} 6844 .stamped-review-header .author {text-transform: capitalize;} 6845 .stamped-questions .stamped-review-content {padding-left: 65px;} 6846 6847 .stamped-pagination {margin: 20px 0 0;} 6848 .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;} 6849 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 6850 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 6851 .stamped-pagination li:hover a {background: #ddd;} 6852 .stamped-pagination .next {border-right: 1px solid #ccc;} 6853 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 6854 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 6855 6856 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 6857 #stamped-pagination-question span {font-size: 14px;} 6858 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 6859 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 6860 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 6861 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 6862 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 6863 6864 @media (max-width: 480px){ 6865 .stamped-review-reply {margin-left: 0!important;} 6866 select.stamped-sort-select {font-size: 13px!important;} 6867 } 6868 6869 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 6870 display: block !important; 6871 } 6872 </style> 6873
6873<script> 6874 var selectCallback = function(variant, selector) { 6875 timber.productPage({ 6876 money_format: "Rp {{amount_no_decimals}}", 6877 variant: variant, 6878 selector: selector 6879 }); 6880 }; 6881 6882 jQuery(function($) { 6883 new Shopify.OptionSelectors('productSelect', { 6884 product: 6885 {"id":8144957800663,"title":"OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah."}, 6886 onVariantSelected: selectCallback, 6887 enableHistoryState: true 6888 }); 6889 6890 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 6891 6892 6893 // Hide selectors if we only have 1 variant and its title contains 'Default'. 6894 6895 $('.selector-wrapper').hide(); 6896 6897 }); 6898 </script>
6898 6899
6899<script type="application/ld+json"> 6900 { 6901 "@context": "http://schema.org", 6902 "@type": "Product", 6903 "offers": { 6904 "@type": "Offer", 6905 "availability":"https://schema.org/InStock", 6906 "price": 835000, 6907 "priceValidUntil": "05-10-2025", 6908 "priceCurrency": "IDR", 6909 "url": "https://www.walkingfishtx.com/our-team" 6910 }, 6911 "brand": { 6912 "@type": "Brand", 6913 "name": "Outerbloom Florist" 6914 }, 6915 "sku": "8144957800663", 6916 "gtin13": "Jawa", 6917 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025", 6918 "description": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.", 6919 "category": "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.", 6920 "url": "https://www.walkingfishtx.com/our-team", 6921 "image": { 6922 "@type": "ImageObject", 6923 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 6924 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 6925 "name": "OLXTOTO - Data Result Toto Macau Pools Resmi Terbaru & Terlengkap 2025", 6926 "width": 1024, 6927 "height": 1024 6928 } 6929 } 6930 </script>
6930 6931
6931<script id="bss-ltap-hide-price" type="text/javascript" > 6932 !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)}))}
6932)),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)}
6932)),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()}
6932if("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)}
6932if(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");
6932c&&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
6932-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");
6932i&&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
6932--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
6932opify.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");
6932e.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=
6932o.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");
6932if(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();
6932let 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()}]); 6933 </script>
6933 6934 6935 </main> 6936 6937 <div id="shopify-section-newsletter" class="shopify-section"><br> 6938 <style> 6939 #shopify-section-newsletter { 6940 background: url('https://imgstore.io/images/2025/12/29/background-coba.jpeg'); 6941 background-attachment: fixed; 6942 margin-bottom: 0; 6943 } 6944 input:-webkit-autofill, 6945 input:-webkit-autofill:hover, 6946 input:-webkit-autofill:active, 6947 input:-webkit-autofill:focus { 6948 -webkit-box-shadow:0 0 0 50px white inset; 6949 -webkit-text-fill-color: #ffffff; 6950 } 6951 .section-newsletter { 6952 max-width: 800px; 6953 margin: auto; 6954 padding: 50px 0; 6955 } 6956 .section-newsletter h2 { 6957 font-weight: 700; 6958 font-size: 24px; 6959 } 6960 .section-newsletter input[type="email"] { 6961 width: 100%; 6962 text-align: center; 6963 border: none; 6964 border-bottom: 1px solid #ffffff; 6965 font-size: 16px; 6966 color: #757575; 6967 background-color: #eeeeee; 6968 } 6969 .section-newsletter .row label { 6970 font-size: 14px; 6971 cursor: pointer; 6972 } 6973 .section-newsletter .radio-inline input { 6974 width: auto; 6975 } 6976 .section-newsletter .btn { 6977 width: 130px; 6978 border: 1px solid #ffffff; 6979 box-shadow: none; 6980 font-size: 16px; 6981 font-weight: 500; 6982 text-transform: uppercase; 6983 } 6984 .section-newsletter form { 6985 margin: 30px 0 60px; 6986 } 6987 .section-newsletter input[type="radio"] { 6988 position: absolute; 6989 width: 1px; 6990 height: 1px; 6991 } 6992 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 6993 position: relative; 6994 padding-left: 28px; 6995 cursor: pointer; 6996 line-height: 20px; 6997 display: inline-block; 6998 color: #666; 6999 } 7000 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7001 content: ''; 7002 position: absolute; 7003 left: 0; 7004 top: 0; 7005 width: 18px; 7006 height: 18px; 7007 border: 1px solid #ddd; 7008 border-radius: 100%; 7009 background: #fff; 7010 } 7011 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7012 content: ''; 7013 width: 12px; 7014 height: 12px; 7015 background: #ffffff; 7016 position: absolute; 7017 top: 3px; 7018 left: 3px; 7019 border-radius: 100%; 7020 -webkit-transition: all 0.2s ease; 7021 transition: all 0.2s ease; 7022 } 7023 .section-newsletter [type="radio"]:not(:checked) + label:after { 7024 opacity: 0; 7025 -webkit-transform: scale(0); 7026 transform: scale(0); 7027 } 7028 .opt-newsletter {display:none;} 7029 .footer-newsletter p, .footer-newsletter p a { 7030 color: #757575; 7031 } 7032 @media (max-width:991px){ 7033 .section-newsletter h2 { 7034 font-size: 32px; 7035 } 7036 .section-newsletter input { 7037 width: 300px; 7038 font-size: 14px; 7039 } 7040 .section-newsletter { 7041 padding: 50px 20px; 7042 } 7043 } 7044 @media (max-width: 480px){ 7045 .section-newsletter input[type="email"] {font-size: 16px;} 7046 } 7047 </style> 7048 <style> 7049 .icon-img-footer { 7050 width: 80px; 7051 padding: 0px 5px; 7052 } 7053 @media (min-width: 768px) { 7054 .icon-img-footer { 7055 width: 120px; 7056 } 7057 } 7058 @media (min-width: 992px) { 7059 .icon-img-footer { 7060 width: 120px; 7061 } 7062 } 7063 7064 .button-login-daftar { 7065 display: grid; 7066 grid-template-columns: repeat(2, 1fr); 7067 font-weight: 700; 7068 } 7069 .button-login-daftar a { 7070 text-align: center; 7071 } 7072 .login, 7073 .register { 7074 color: #ffd700; 7075 padding: 15px 10px; 7076 font-size: 23px; 7077 } 7078 .login, 7079 .login-button { 7080 background: linear-gradient(to bottom,#0971d3 0,#000000 100%); 7081 border: 2px solid #ffd700; 7082 } 7083 .register, 7084 .register-button { 7085 background: linear-gradient(to bottom,#000000 0,#0971d3 100%); 7086 border: 2px solid #ffd700; 7087 } 7088 7089 </style> 7090 <!-- wp:html --> 7091
7091<script> 7092 document.addEventListener('DOMContentLoaded', 7093 function(){const faqItems=document.querySelectorAll('.faq-item'); 7094 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7095 question.addEventListener('click', 7096 ()=>{const isActive=item.classList.contains('active'); 7097 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7098 if(!isActive){item.classList.add('active')}})})}); 7099 </script>
7099 7100 7101 7102 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7103 </div> 7104 <div class="faq-section"> 7105 <h2>FAQ</h2> 7106 <div class="faq-container"> 7107 <div class="faq-item"> 7108 <button class="faq-question">1. Apa itu OLXTOTO dan fungsinya untuk Toto Macau?<span></span></button> 7109 <div class="faq-answer"><p>OLXTOTO adalah platform penyedia data result Toto Macau Pools resmi yang menampilkan hasil pengundian secara lengkap dan terupdate. Situs ini memudahkan pengguna memantau angka keluaran dengan informasi yang jelas dan akurat.</p></div> 7110 </div> 7111 <div class="faq-item"> 7112 <button class="faq-question">2. Apakah data result Toto Macau di OLXTOTO resmi dan terpercaya?<span></span></button> 7113 <div class="faq-answer"><p>Ya, seluruh result Macau Pools di OLXTOTO diambil dari sumber resmi terpercaya dan diperbarui secara real-time sesuai jadwal pengundian, sehingga aman dijadikan referensi.</p></div> 7114 </div> 7115 <div class="faq-item"> 7116 <button class="faq-question">3. Seberapa sering data Toto Macau diperbarui?<span></span></button> 7117 <div class="faq-answer"><p>Data Toto Macau di OLXTOTO diperbarui setiap hari secara real-time, mulai dari hasil terbaru hingga arsip data lama, sehingga pengguna selalu mendapatkan informasi terkini tanpa keterlambatan.</p></div> 7118 </div> 7119 <div class="faq-item"> 7120 <button class="faq-question">4. Apa saja informasi yang tersedia di halaman result Macau Pools OLXTOTO?<span></span></button> 7121 <div class="faq-answer"><p>OLXTOTO menyediakan result Macau Pools terbaru, data Toto Macau lengkap, riwayat keluaran, serta tampilan angka yang rapi agar mudah dipantau dan dipahami oleh pengguna.</p></div> 7122 </div> 7123 <div class="faq-item"> 7124 <button class="faq-question">5. Mengapa memilih OLXTOTO untuk cek data Toto Macau 2025?<span></span></button> 7125 <div class="faq-answer"><p>OLXTOTO menawarkan data terlengkap 2025, update cepat, tampilan mudah diakses di semua perangkat, serta sistem yang stabil sehingga pengguna dapat memantau result Macau dengan nyaman kapan saja.</p></div> 7126 </div> 7127 7128 </div> 7129 7130 </div> 7131 7132 </div> 7133 7134 7135 <div class="overlay overlay-cart"></div> 7136 <div id="CartDrawer" class="drawer drawer--right"> 7137 <div class="drawer__header pl-2 pr-2"> 7138 <div class="drawer__icon-cart display-table-cell"> 7139 <a href="/cart" class=""> 7140 <svg class="icon icon-cart" version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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.
7140005-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> 7141 </a> 7142 </div> 7143 <div class="drawer__title h4">Keranjang Belanja</div> 7144 <div class="drawer__close js-drawer-close"> 7145 <button type="button"> 7146 <svg class="icon icon-close" version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32"> 7147 <title>icon-close</title> 7148 <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> 7149 </svg> 7150 </button> 7151 </div> 7152 </div> 7153 <div id="CartContainer" class="p-2"></div> 7154 </div> 7155 7156
7156<script> 7157 7158 </script>
7158 7159
7159<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7159 7160 <!-- /snippets/ajax-cart-template.liquid --> 7161 7162
7162<script id="CartTemplate" type="text/template"> 7163 7164 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7165 <div class="ajaxcart__inner" {{ cart.item_count }}> 7166 {{#items}} 7167 <div class="ajaxcart__product"> 7168 <div class="ajaxcart__row" data-line="{{line}}"> 7169 <div class="grid"> 7170 <div class="grid__item one-quarter"> 7171 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7172 </div> 7173 <div class="grid__item three-quarters"> 7174 <p class="d-block mb-3"> 7175 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7176 {{#if variation}} 7177 <span class="ajaxcart__product-meta p">{{variation}}</span> 7178 {{/if}} 7179 {{#properties}} 7180 {{#each this}} 7181 {{#if this}} 7182 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7183 {{/if}} 7184 {{/each}} 7185 {{/properties}} 7186 7187 </p> 7188 <div class="grid--full display-table"> 7189 <div class="grid__item display-table-cell one-half"> 7190 <div class="ajaxcart__qty"> 7191 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7192 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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> 7193 <span class="visually-hidden">Kurangi jumlah barang</span> 7194 </button> 7195 <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]*"> 7196 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7197 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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> 7198 <span class="visually-hidden">Tambahkan jumlah barang</span> 7199 </button> 7200 </div> 7201 </div> 7202 <div class="grid__item display-table-cell one-half text-right"> 7203 {{#if discountsApplied}} 7204 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7205 <br><span class="h4">{{{linePrice}}}</span> 7206 {{else}} 7207 <span class="h4">{{{linePrice}}}</span> 7208 {{/if}} 7209 </div> 7210 </div> 7211 {{#if discountsApplied}} 7212 <div class="grid--full display-table"> 7213 <div class="grid__item text-right"> 7214 {{#each discounts}} 7215 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7216 {{/each}} 7217 </div> 7218 </div> 7219 {{/if}} 7220 </div> 7221 </div> 7222 </div> 7223 </div> 7224 </div> 7225 </div> 7226 {{/items}} 7227 </div> 7228 <div class="ajaxcart__footer"> 7229 <div class="grid--full cart-subtotal py-2"> 7230 <p>Subtotal</p> 7231 <h3 class="primary">{{{totalPrice}}}</h3> 7232 {{#if totalCartDiscount}} 7233 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7234 {{/if}} 7235 </div> 7236 7237 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7238 7239 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7240 </div> 7241 </form> 7242 7243 </script>
7243 7244
7244<script id="AjaxQty" type="text/template"> 7245 7246 <div class="ajaxcart__qty"> 7247 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7248 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="24" viewBox="0 0 32 32"> 7249 <title>icon-minus</title> 7250 <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> 7251 </svg> 7252 <span class="visually-hidden">Kurangi jumlah barang</span> 7253 </button> 7254 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7255 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7256 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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> 7257 <span class="visually-hidden">Tambahkan jumlah barang</span> 7258 </button> 7259 </div> 7260 7261 </script>
7261 7262
7262<script id="JsQty" type="text/template"> 7263 7264 <div class="js-qty mx-auto mt-2"> 7265 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7266 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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> 7267 <span class="visually-hidden">Kurangi jumlah barang</span> 7268 </button> 7269 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7270 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7271 <svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.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> 7272 <span class="visually-hidden">Tambahkan jumlah barang</span> 7273 </button> 7274 </div> 7275 7276 </script>
7276 7277 7278 <style> 7279 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7280 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7281 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7282 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7283 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7284 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7285 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7286 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7287 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7288 </style> 7289
7289<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7289 7290
7290<script> 7291 jQuery(function($) { 7292 ajaxCart.init({ 7293 formSelector: '#AddToCartForm', 7294 cartContainer: '#CartContainer', 7295 addToCartSelector: '#AddToCartXX', 7296 cartCountSelector: '#CartCount, #CartCount2', 7297 cartCostSelector: '#CartCost', 7298 moneyFormat: "Rp {{amount_no_decimals}}" 7299 }); 7300 }); 7301 7302 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7303 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7304 timber.RightDrawer.open(); 7305 }); 7306</script>
7306 7307 <style> 7308 /** Search AutoComplete **/ 7309 .resultsearch .ui-menu-item[data-cat="Collection"], 7310 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7311 .resultsearch .ui-widget.ui-widget-content { 7312 width: 100%; 7313 top: 48px; 7314 border: none; 7315 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7316 } 7317 .resultsearch .ui-menu-item {text-align: left;} 7318 .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;} 7319 .ui-state-active { 7320 border: none!important; 7321 background-color: #fafafa!important; 7322 color: #000!important; 7323 } 7324 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7325 .ui-menu .ui-menu-item {line-height: normal;} 7326 </style> 7327
7327<script> 7328 $(window).load(function(){ 7329 7330 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;} 7331 7332 $.widget("custom.catcomplete", $.ui.autocomplete, { 7333 _renderMenu: function (ul, items) { 7334 // have search reults split up in categories 7335 var that = this, 7336 currentCategory = ""; 7337 $.each(items, function (index, item) { 7338 if (item.category != currentCategory) { 7339 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7340 currentCategory = item.category; 7341 } 7342 that._renderItemData(ul, item); 7343 }); 7344 } 7345 }); 7346 7347 // higlight searched for term 7348 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7349 var term = this.element.val(), 7350 html = item.label.replace( term, "<b>$&</b>" ); 7351 return $( "<li>" ) 7352 .append(format(item)) 7353 .appendTo( ul ); 7354 }; 7355 7356 7357 var data = [ 7358 { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius âï¸ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries âï¸ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer âï¸ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn âï¸ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft Sweetbox Newborn", category: "Co
7358llection", 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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
7358dal", 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-
7358hampers", 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
7358o-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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: " " }
7358,{ 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: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "OLXTOTO menyediakan data result toto macau pools resmi terlengkap 2025 yang selalu diupdate terbaru secara real-time. Semua hasil pengundian disajikan secara akurat untuk memudahkan memantau angka dengan mudah. 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"
7358, category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " }
7358,{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " },{ label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " },{ label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " },{ label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " },{ label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " },{ label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " },{ label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " },{ label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " },{ label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " },{ label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " },{ label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " },{ label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " },{ label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " },{ label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " },{ label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " },{ label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " },{ label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " },{ label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " },{ label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " },{ label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " },{ label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " },{ label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " },{ label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " },{ label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " },{ label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " },{ label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " },{ label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " },{ label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " },{ label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " },{ label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " },{ label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " },{ label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " },{ label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " },{ label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " },{ label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " },{ label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " },{ label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " },{ label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " },{ label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " },{ label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " },{ label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " },{ label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " },{ label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " },{ label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " },{ label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " },{ label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
7358dal", 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: " " }, 7359 { 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" }
7359,{ 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" }
7359,{ 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" } 7360 ]; 7361 7362 7363 $( ".header-input-search" ).catcomplete({ 7364 appendTo: ".searchResult",source: function(request, response) { 7365 var results = $.ui.autocomplete.filter(data, request.term); 7366 var predicate = function () { 7367 var counter = { Collection: 0, Produk: 0 }; 7368 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7369 return fn 7370 }(); 7371 response(results.filter(predicate)); 7372 }, 7373 minLength:1, 7374 //results are clickable 7375 select: function( event, ui ) {window.location = ui.item.url;} 7376 }); 7377 $( ".header-input-search2" ).catcomplete({ 7378 appendTo: ".searchResult2", 7379 source: function(request, response) { 7380 var results = $.ui.autocomplete.filter(data, request.term); 7381 var predicate = function () { 7382 var counter = { Collection: 0, Produk: 0 }; 7383 var fn = function(item) { 7384 counter[item.category] += 1; 7385 return (counter[item.category] <= 5); 7386 } 7387 return fn 7388 }(); 7389 response(results.filter(predicate)); 7390 }, 7391 minLength:1, 7392 //results are clickable 7393 select: function( event, ui ) { 7394 window.location = ui.item.url; 7395 } 7396 }); 7397 }); 7398 </script>
7398 7399 7400
7400<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7400 7401
7401<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7401 7402 7403
7403<script> 7404 ( function() { 7405 var youtube = document.querySelectorAll( ".youtube" ); 7406 for (var i = 0; i < youtube.length; i++) { 7407 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7408 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7409 var image = new Image(); 7410 image.src = source; 7411 image.setAttribute("data-src", datasource); 7412 image.classList.add("swiper-lazy"); 7413 image.addEventListener( "load", function() { 7414 youtube[ i ].appendChild( image ); 7415 }( i ) ); 7416 youtube[i].addEventListener( "click", function() { 7417 var iframe = document.createElement( "iframe" ); 7418 iframe.setAttribute( "width", "480" ); 7419 iframe.setAttribute( "height", "480" ); 7420 iframe.setAttribute( "frameborder", "0" ); 7421 iframe.setAttribute( "allowfullscreen", "" ); 7422 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7423 this.innerHTML = ""; 7424 this.appendChild( iframe ); 7425 } ); 7426 }; 7427 7428 } )(); 7429 7430 /* Lazy Load */ 7431 const mainLazyLoad = new LazyLoad({threshold:400}); 7432 $(document).ready(function(){ 7433 7434 $("selectxxx").addClass("needsclick"); 7435 FastClick.attach(document.body); 7436 7437 var $customSelects = $('.select-search'); 7438 $customSelects.select2({ 7439 templateResult: function(result, container) { 7440 if (!result.id) { 7441 return result.text; 7442 } 7443 container.className += ' needsclick'; 7444 return result.text; 7445 } 7446 }); 7447 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7448 $(document).on('select2:open', () => { 7449 document.querySelector('.select2-search__field').focus(); 7450 }); 7451 7452 7453 $(".overlay").click(function(){ 7454 $(".js-drawer-close").click(); 7455 }); 7456 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7457 $("html").toggleClass("nav_open"); 7458 }); 7459 7460 $('.swatch-element label').on('click', function(){ 7461 var srcImg = $(this).data('src'); 7462 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7463 if ($(this).attr("href") == srcImg) { 7464 $(this).trigger('click'); 7465 } 7466 }); 7467 }); 7468 var defaultValue = $(".swatch input:checked").val() 7469 7470 $('#purchaseProduct .swatch [type=radio]').change(function() { 7471 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7472 var optionValue = $(this).val(); 7473 console.log(optionIndex, optionValue) 7474 var value = parseInt(optionValue.split(' ')[0]) 7475 $(this) 7476 .closest('#purchaseProduct') 7477 .find('.single-option-selector') 7478 .eq(optionIndex) 7479 .val(optionValue) 7480 .trigger('change'); 7481 7482 }); 7483 7484 }); 7485 $(document).ready(function(){ 7486 $(".nav-search a").click(function(e){ 7487 e.preventDefault(); 7488 $(".icon-navsearch").toggle(); 7489 $(".icon-navclose").toggle(); 7490 $(".site-nav__item > .site-nav__link").toggle(); 7491 $(".open-search").toggle(); 7492 $(".open-search input").focus(); 7493 }); 7494 $(".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'>"); 7495 if ($(window).width() < 768) { 7496 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7497 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7498 $(".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'>"); 7499 } else { 7500 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7501 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7502 $(".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'>"); 7503 } 7504 $(".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'>"); 7505 $(".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'>"); 7506 }); 7507 </script>
7507 7508
7508<script type="text/javascript"> 7509 var wishlistpage = 0; 7510 7511 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 7512 </script>
7512 7513 7514 <!-- Remove duplicate wishlist.js reference --> 7515 <style> 7516 .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)}} 7517 </style> 7518 7519 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 7520 <div class="modal-dialog" role="document"> 7521 <div class="modal-content"> 7522 <div class="modal-body">Your Wishlist is empty!</div> 7523 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 7524 </div> 7525 </div> 7526 </div> 7527 7528 <div class="wishlist-model"> 7529 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 7530 <div class="modal-dialog white-modal"> 7531 <div class="modal-content"> 7532 <div class="modal-header"> 7533 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 7534 <svg class="icon icon-close" version="1.1" xmlns="https://img
7534store.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32"> 7535 <title>icon-close</title> 7536 <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> 7537 </svg> 7538 </button> 7539 </div> 7540 <div class="modal-body"> 7541 <div class="wishlist-left"> 7542 <div class="wishlist-note"> 7543 <span class="cirle"><svg version="1.1" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="32" height="32" viewBox="0 0 32 32"> 7544 <title>icon-check</title> 7545 <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> 7546 </svg></span> 7547 Product added to <a href="/pages/wish-list">Wishlist</a> 7548 </div> 7549 <div class="wishlist-product"> 7550 <div class="product-left"> 7551 <div class="wishlist-image"></div> 7552 </div> 7553 <div class="product-right"> 7554 <div class="wishlist-name"></div> 7555 <div class="wishlist-price"></div> 7556 </div> 7557 </div> 7558 </div> 7559 <div class="wishlist-right"> 7560 <div class="wishlist-cart"> 7561 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 7562 <div class="others-bottom"> 7563 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 7564 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 7565 <span id="AddToCartText" class="">Beli Sekarang</span> 7566 </button> 7567 </div> 7568 <div id="wishlist-variants-container" class="variants-wrapper"></div> 7569 <div class="quantity-content"> 7570 <label>QTY</label> 7571 <input type="number" size="5" class="" name="quantity" value="1" /> 7572 </div> 7573 </form> 7574 </div> 7575 </div> 7576 </div> 7577 </div> 7578 </div> 7579 </div> 7580 </div> 7581 7582 7583 <style> 7584 .stamped-badge[data-rating="0.0"]{display: none !Important;} 7585 7586 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 7587 border-radius: 0px; 7588 } 7589 .stamped-review-body { 7590 padding-left: 0px !important; 7591 } 7592 #product-reviews .stamped-header:after { 7593 display:none !Important; 7594 } 7595 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 7596 font-family:inherit !important; 7597 } 7598 </style> 7599 7600 7601 7602 <div id='stamped-rewards-init' class='stamped-rewards-init' 7603 data-key-public='' 7604 7605 ></div> 7606 7607
7607<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7607 7608 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 7609
7609<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7609 7610 7611
7611<script> 7612 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 7613 </script>
7613 7614
7614<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7614<style> 7615 .jss59 { 7616 background-color: rgba(0, 0, 0, 0.6); 7617 } 7618 .MuiBackdrop-root { 7619 top: 0; 7620 left: 0; 7621 right: 0; 7622 bottom: 0; 7623 display: flex; 7624 z-index: -1; 7625 position: fixed; 7626 align-items: center; 7627 justify-content: center; 7628 background-color: rgba(0, 0, 0, 0.5); 7629 -webkit-tap-highlight-color: transparent; 7630 } 7631 .MuiDialog-scrollPaper { 7632 display: flex; 7633 align-items: center; 7634 justify-content: center; 7635 } 7636 .MuiDialog-container { 7637 height: 100%; 7638 outline: 0; 7639 } 7640 .MuiPaper-elevation24 { 7641 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); 7642 } 7643 .MuiDialog-paper { 7644 margin: 32px; 7645 position: relative; 7646 overflow-y: auto; 7647 } 7648 .MuiDialog-paperScrollPaper { 7649 display: flex; 7650 max-height: calc(100% - 64px); 7651 flex-direction: column; 7652 } 7653 .MuiDialog-paperWidthSm { 7654 max-width: 600px; 7655 } 7656 #location-lock-dialog { 7657 top: 20%; 7658 left: 0; 7659 right: 0; 7660 width: 30%; 7661 margin: 0px auto; 7662 display: block; 7663 padding: 30px; 7664 z-index: 99999; 7665 position: fixed; 7666 font-size: 14px; 7667 background: rgb(0, 0, 0); 7668 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 7669 text-align: center; 7670 font-family: Roboto, Arial, sans-serif; 7671 line-height: 1; 7672 border-radius: 8px; 7673 -webkit-font-smoothing: subpixel-antialiased; 7674 } 7675 .MuiButtonBase-root { 7676 color: inherit; 7677 border: 0; 7678 cursor: pointer; 7679 margin: 0; 7680 display: inline-flex; 7681 outline: 0; 7682 padding: 0; 7683 position: relative; 7684 align-items: center; 7685 user-select: none; 7686 border-radius: 0; 7687 vertical-align: middle; 7688 -moz-appearance: none; 7689 justify-content: center; 7690 text-decoration: none; 7691 background-color: transparent; 7692 -webkit-appearance: none; 7693 -webkit-tap-highlight-color: transparent; 7694 } 7695 .MuiIconButton-root { 7696 flex: 0 0 auto; 7697 color: rgba(0, 0, 0, 0.54); 7698 padding: 12px; 7699 overflow: visible; 7700 font-size: 1.5rem; 7701 text-align: center; 7702 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7703 border-radius: 50%; 7704 } 7705 .MuiIconButton-label { 7706 width: 100%; 7707 display: flex; 7708 align-items: inherit; 7709 justify-content: inherit; 7710 } 7711 .MuiSvgIcon-root { 7712 fill: currentColor; 7713 width: 1em; 7714 height: 1em; 7715 display: inline-block; 7716 font-size: 1.5rem; 7717 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7718 flex-shrink: 0; 7719 user-select: none; 7720 } 7721 .MuiTouchRipple-root { 7722 top: 0; 7723 left: 0; 7724 right: 0; 7725 bottom: 0; 7726 z-index: 0; 7727 overflow: hidden; 7728 position: absolute; 7729 border-radius: inherit; 7730 pointer-events: none; 7731 } 7732 .jss36 { 7733 color: #222222; 7734 font-size: 24px; 7735 font-family: Roboto, Arial, sans-serif; 7736 font-weight: 500; 7737 } 7738 .jss37 { 7739 color: #555555; 7740 padding: 10px 0px 0px; 7741 font-size: 14px; 7742 } 7743 .MuiFormGroup-root { 7744 display: flex; 7745 flex-wrap: wrap; 7746 flex-direction: column; 7747 } 7748 .MuiFormGroup-row { 7749 flex-direction: row; 7750 } 7751 .jss63 { 7752 width: 85%; 7753 margin: 15px auto; 7754 display: flex; 7755 padding: 11px 0px 0px; 7756 justify-content: space-evenly; 7757 } 7758 .MuiFormControlLabel-root { 7759 cursor: pointer; 7760 display: inline-flex; 7761 align-items: center; 7762 margin-left: -11px; 7763 margin-right: 16px; 7764 vertical-align: middle; 7765 -webkit-tap-highlight-color: transparent; 7766 } 7767 .jss70 { 7768 margin: 0; 7769 } 7770 .MuiButtonBase-root { 7771 color: inherit; 7772 border: 0; 7773 cursor: pointer; 7774 margin: 0; 7775 display: inline-flex; 7776 outline: 0; 7777 padding: 0; 7778 position: relative; 7779 align-items: center; 7780 user-select: none; 7781 border-radius: 0; 7782 vertical-align: middle; 7783 -moz-appearance: none; 7784 justify-content: center; 7785 text-decoration: none; 7786 background-color: transparent; 7787 -webkit-appearance: none; 7788 -webkit-tap-highlight-color: transparent; 7789 } 7790 .MuiIconButton-root { 7791 flex: 0 0 auto; 7792 color: rgba(0, 0, 0, 0.54); 7793 padding: 12px; 7794 overflow: visible; 7795 font-size: 1.5rem; 7796 text-align: center; 7797 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7798 border-radius: 50%; 7799 } 7800 .MuiIconButton-colorSecondary { 7801 color: #f50057; 7802 } 7803 .jss71 { 7804 padding: 9px; 7805 } 7806 .MuiRadio-root { 7807 color: rgba(0, 0, 0, 0.54); 7808 } 7809 .jss64 { 7810 padding: 2px; 7811 } 7812 .MuiRadio-colorSecondary.Mui-checked { 7813 color: #f50057; 7814 } 7815 .MuiIconButton-label { 7816 width: 100%; 7817 display: flex; 7818 align-items: inherit; 7819 justify-content: inherit; 7820 } 7821 .MuiTypography-root { 7822 margin: 0; 7823 } 7824 .MuiTypography-body1 { 7825 font-size: 18px; 7826 font-family: Roboto,sans-serif; 7827 font-weight: 400; 7828 line-height: 1.5; 7829 } 7830 .location-popup_area-block__sp9Ws { 7831 display: -moz-box; 7832 display: flex; 7833 -moz-box-orient: vertical; 7834 -moz-box-direction: normal; 7835 flex-direction: column; 7836 -moz-box-pack: center; 7837 justify-content: center; 7838 position: relative; 7839 margin: 10px 10% 0; 7840 } 7841 .location-popup_pin-search-box__3l5mJ { 7842 width: 100%; 7843 display: -moz-box; 7844 display: flex; 7845 -moz-box-align: center; 7846 align-items: center; 7847 } 7848 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 7849 position: absolute; 7850 z-index: 999; 7851 } 7852 .location-popup_place-icon__jSG0Q { 7853 color: #ffffff; 7854 padding-left: 8px; 7855 } 7856 .location-popup_place-icon__jSG0Q svg { 7857 width: 18px; 7858 height: 18px; 7859 } 7860 .location-popup_cancel-icon__FHujU { 7861 color: #fff; 7862 right: 10px; 7863 width: 16px; 7864 cursor: pointer; 7865 height: 16px; 7866 display: none; 7867 padding: 5px; 7868 position: absolute; 7869 background: #999; 7870 text-align: center; 7871 border-radius: 50%; 7872 } 7873 .location-popup_pin-search-box__3l5mJ>div>select { 7874 /* -webkit-box-shadow: 0 0 10px #ffffff; 7875 box-shadow: 0 0 10px #ffffff; */ 7876 text-transform: capitalize; 7877 border: 1px solid #ffffff; 7878 color: #ffffff; 7879 width: 100%; 7880 margin: 0; 7881 display: -moz-box; 7882 display: flex;
7883 padding: 0 30px; 7884 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 7885 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 7886 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 7887 font-size: 16px; 7888 border-radius: 4px; 7889 height: 44px; 7890 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 7891 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 7892 } 7893 .MuiButtonBase-root { 7894 color: inherit; 7895 border: 0; 7896 cursor: pointer; 7897 margin: 0; 7898 display: inline-flex; 7899 outline: 0; 7900 padding: 0; 7901 position: relative; 7902 align-items: center; 7903 user-select: none; 7904 border-radius: 0; 7905 vertical-align: middle; 7906 -moz-appearance: none; 7907 justify-content: center; 7908 text-decoration: none; 7909 background-color: transparent; 7910 -webkit-appearance: none; 7911 -webkit-tap-highlight-color: transparent; 7912 } 7913 .MuiButton-root { 7914 color: rgba(0, 0, 0, 0.87); 7915 padding: 6px 16px; 7916 font-size: 0.875rem; 7917 min-width: 64px; 7918 box-sizing: border-box; 7919 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; 7920 font-family: Roboto,sans-serif; 7921 font-weight: 500; 7922 line-height: 1.75; 7923 border-radius: 4px; 7924 text-transform: uppercase; 7925 } 7926 .MuiButton-contained { 7927 color: rgba(0, 0, 0, 0.87); 7928 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); 7929 background-color: #e0e0e0; 7930 } 7931 .MuiButtonBase-root.Mui-disabled { 7932 cursor: default; 7933 pointer-events: none; 7934 } 7935 .MuiButton-label { 7936 width: 100%; 7937 display: inherit; 7938 align-items: inherit; 7939 justify-content: inherit; 7940 } 7941 .cartButton_login_content__2j1f7 { 7942 display: -moz-box; 7943 display: flex; 7944 text-align: center; 7945 z-index: 9; 7946 font-size: 18px; 7947 font-weight: 500; 7948 color: #fff; 7949 } 7950 7951 .jss35 { 7952 top: 5px; 7953 right: 5px; 7954 padding: 4px; 7955 position: absolute; 7956 border-radius: 50%; 7957 } 7958 .jss67 { 7959 cursor: pointer; 7960 font-size: 15px; 7961 line-height: 1.3; 7962 padding-left: 5px; 7963 } 7964 .jss69 { 7965 color: #222222; 7966 } 7967 .jss80 { 7968 color: #fff; 7969 width: 100%; 7970 height: 52px; 7971 padding: 11px 16px; 7972 font-size: 18px; 7973 min-width: 88px; 7974 min-height: 36px; 7975 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; 7976 font-weight: 500; 7977 line-weight: 1em; 7978 border-radius: 4px; 7979 text-transform: uppercase; 7980 background-color: #E87325; 7981 } 7982 @media (min-width: 991px){ 7983 .cartButton_login_content__2j1f7 { 7984 font-weight: 500; 7985 } 7986 } 7987 7988 @media (max-width: 992px) { 7989 #location-lock-dialog { 7990 width: 100%; 7991 top: auto; 7992 bottom: 0; 7993 padding-left: 0; 7994 padding-right: 0; 7995 } 7996 .MuiFormGroup-row { 7997 display: block 7998 } 7999 .MuiIconButton-label input { 8000 margin: 0; 8001 } 8002 } 8003 </style> 8004 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8005 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8006 <div tabindex="0" data-test="sentinelStart"></div> 8007 <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;"> 8008 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8009 <div class="jss31 undefined" id="location-lock-dialog"> 8010 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 8011 <span class="MuiIconButton-label"> 8012 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8013 <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> 8014 </svg> 8015 </span>
8016 <span class="MuiTouchRipple-root"></span> 8017 </button> 8018 <div> 8019 <div class="jss36">Select Delivery Location</div> 8020 <div class="jss37">Select a delivery location to see product availability</div> 8021 </div> 8022 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8023 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8024 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8025 <span class="MuiIconButton-label"> 8026 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8027 <span class="jss41"></span> 8028 </span> 8029 <span class="MuiTouchRipple-root"></span> 8030 </span> 8031 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8032 <span class="jss67 jss69">Jabodetabek</span> 8033 </span> 8034 </label> 8035 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8036 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8037 <span class="MuiIconButton-label"> 8038 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8039 <span class="jss40"></span> 8040 </span> 8041 <span class="MuiTouchRipple-root"></span> 8042 </span> 8043 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8044 <span class="jss67 jss68">Outside Jabodetabek</span> 8045 </span> 8046 </label> 8047 </div> 8048 <div> 8049 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8050 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8051 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8052 <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> 8053 </div> 8054 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8055 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8056 </div> 8057 <div style="width: 100%;"> 8058 <select id="choose-location" class="form-control"> 8059 <option value="">Choose Location</option> 8060 <option value="jakarta">Jakarta</option> 8061 <option value="bogor">Bogor</option> 8062 <option value="depok">Depok</option> 8063 <option value="tangerang">Tangerang</option> 8064 <option value="bekasi">Bekasi</option> 8065 </select> 8066 </div> 8067 </div> 8068 </div> 8069 </div> 8070 <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=""> 8071 <span class="MuiButton-label"> 8072 <span class=""></span> 8073 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8074 </span> 8075 </button> 8076 </div> 8077 </div> 8078 </div> 8079 <div tabindex="0" data-test="sentinelEnd"></div> 8080 </div> 8081 8082
8082<script> 8083 const jabodetabek = [ 8084 { 8085 "code": "jakarta", 8086 "city": "jakarta", 8087 "zip": [] 8088 }, 8089 { 8090 "code": "bogor", 8091 "city": "bogor", 8092 "zip": [] 8093 }, 8094 { 8095 "code": "depok", 8096 "city": "depok", 8097 "zip": [] 8098 }, 8099 { 8100 "code": "tangerang", 8101 "city": "tangerang", 8102 "zip": [] 8103 }, 8104 { 8105 "code": "bekasi", 8106 "city": "bekasi", 8107 "zip": [] 8108 } 8109 ] 8110 let cityNonJabodetabek = [ 8111 8112 8113 8114 8115 "pengiriman_aceh", 8116 8117 8118 8119 8120 8121 "pengiriman_ambon", 8122 8123 8124 8125 8126 8127 "pengiriman_atambua", 8128 8129 8130 8131 8132 8133 "pengiriman_badung", 8134 8135 8136 8137 8138 8139 "pengiriman_bali", 8140 8141 8142 8143 8144 8145 "pengiriman_balikpapan", 8146 8147 8148 8149 8150 8151 "pengiriman_bandar lampung", 8152 8153 8154 8155 8156 8157 "pengiriman_bandung", 8158 8159 8160 8161 8162 8163 "pengiriman_bandung barat", 8164 8165 8166 8167 8168 8169 "pengiriman_banjarmasin", 8170 8171 8172 8173 8174 8175 "pengiriman_banyumas", 8176 8177 8178 8179 8180 8181 "pengiriman_banyuwangi", 8182 8183 8184 8185 8186 8187 "pengiriman_batam", 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 "pengiriman_biak", 8198 8199 8200 8201 8202 8203 "pengiriman_binjai", 8204 8205 8206 8207 8208 8209 "pengiriman_blitar", 8210 8211 8212 8213 8214 8215 "pengiriman_blora", 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 "pengiriman_bojonegoro", 8226 8227 8228 8229 8230 8231 "pengiriman_boyolali", 8232 8233 8234 8235 8236 8237 "pengiriman_bukittinggi", 8238 8239 8240 8241 8242 8243 "pengiriman_buleleng", 8244 8245 8246 8247 8248 8249 "pengiriman_ciamis", 8250 8251 8252 8253 8254 8255 "pengiriman_cianjur", 8256 8257 8258 8259 8260 8261 "pengiriman_cibinong", 8262 8263 8264 8265 8266 8267 "pengiriman_cikarang", 8268 8269 8270 8271 8272 8273 "pengiriman_cikupa", 8274 8275 8276 8277 8278 8279 "pengiriman_cilacap", 8280 8281 8282 8283 8284 8285 "pengiriman_cileunyi", 8286 8287 8288 8289 8290 8291 "pengiriman_cimahi", 8292 8293 8294 8295 8296 8297 "pengiriman_cirebon", 8298 8299 8300 8301 8302 8303 "pengiriman_ciwidey", 8304 8305 8306 8307 8308 8309 "pengiriman_deli serdang", 8310 8311 8312 8313 8314 8315 "pengiriman_demak", 8316 8317 8318 8319 8320 8321 "pengiriman_denpasar", 8322 8323 8324 8325 8326 8327 8328 "pengiriman_garut", 8329 8330 8331 8332 8333 8334 "pengiriman_gianyar", 8335 8336 8337 8338 8339 8340 "pengiriman_gresik", 8341 8342 8343 8344 8345 8346 "pengiriman_gunung kidul", 8347 8348 8349 8350 8351 8352 8353 "pengiriman_jambi", 8354 8355 8356 8357 8358 8359 "pengiriman_jayapura", 8360 8361 8362 8363 8364 8365 "pengiriman_jember", 8366 8367 8368 8369 8370 8371 "pengiriman_jepara", 8372 8373 8374 8375 8376 8377 "pengiriman_jombang", 8378 8379 8380 8381 8382 8383 "pengiriman_karanganyar", 8384 8385 8386 8387 8388 8389 "pengiriman_karawang", 8390 8391 8392 8393 8394 8395 "pengiriman_karo", 8396 8397 8398 8399 8400 8401 "pengiriman_kebumen", 8402 8403 8404 8405 8406 8407 "pengiriman_kediri", 8408 8409 8410 8411 8412 8413 "pengiriman_keerom", 8414 8415 8416 8417 8418 8419 "pengiriman_kendal", 8420 8421 8422 8423 8424 8425 "pengiriman_klaten", 8426 8427 8428 8429 8430 8431 "pengiriman_kudus", 8432 8433 8434 8435 8436 8437 "pengiriman_kupang", 8438 8439 8440 8441 8442 8443 "pengiriman_lainnya", 8444 8445 8446 8447 8448 8449 "pengiriman_lamongan", 8450 8451 8452 8453 8454 8455 "pengiriman_lampung", 8456 8457 8458 8459 8460 8461 "pengiriman_lampung barat", 8462 8463 8464 8465 8466 8467 "pengiriman_lembang", 8468 8469 8470 8471 8472 8473 "pengiriman_lombok", 8474 8475 8476 8477 8478 8479 "pengiriman_lumajang", 8480 8481 8482 8483 8484 8485 "pengiriman_madiun", 8486 8487 8488 8489 8490 8491 "pengiriman_magelang", 8492 8493 8494 8495 8496 8497 "pengiriman_majalengka", 8498 8499 8500 8501 8502 8503 "pengiriman_makassar", 8504 8505 8506 8507 8508 8509 "pengiriman_malang", 8510 8511 8512 8513 8514 8515 "pengiriman_manado", 8516 8517 8518 8519 8520 8521 "pengiriman_medan", 8522 8523 8524 8525 8526 8527 "pengiriman_mengwi", 8528 8529 8530 8531 8532 8533 "pengiriman_mojokerto", 8534 8535 8536 8537 8538 8539 "pengiriman_nganjuk", 8540 8541 8542 8543 8544 8545 "pengiriman_ngawi", 8546 8547 8548 8549 8550 8551 "pengiriman_padang", 8552 8553 8554 8555 8556 8557 "pengiriman_palembang", 8558 8559 8560 8561 8562 8563 "pengiriman_pasuruan", 8564 8565 8566 8567 8568 8569 "pengiriman_pati", 8570 8571 8572 8573 8574 8575 "pengiriman_pekalongan", 8576 8577 8578 8579 8580 8581 "pengiriman_pekanbaru", 8582 8583 8584 8585 8586 8587 "pengiriman_pemalang", 8588 8589 8590 8591 8592 8593 "pengiriman_ponorogo", 8594 8595 8596 8597 8598 8599 "pengiriman_pontianak", 8600 8601 8602 8603 8604 8605 "pengiriman_probolinggo", 8606 8607 8608 8609 8610 8611 "pengiriman_purbalingga", 8612 8613 8614 8615 8616 8617 "pengiriman_purwakarta", 8618 8619 8620 8621 8622 8623 "pengiriman_purwokerto", 8624 8625 8626 8627 8628 8629 "pengiriman_rembang", 8630 8631 8632 8633 8634 8635 "pengiriman_riau", 8636 8637 8638 8639 8640 8641 "pengiriman_salatiga", 8642 8643 8644 8645 8646 8647 "pengiriman_samarinda", 8648 8649 8650 8651 8652 8653 "pengiriman_semarang", 8654 8655 8656 8657 8658 8659 "pengiriman_sentani", 8660 8661 8662 8663 8664 8665 "pengiriman_serang", 8666 8667 8668 8669 8670 8671 "pengiriman_sidoarjo", 8672 8673 8674 8675 8676 8677 "pengiriman_singkawang", 8678 8679 8680 8681 8682 8683 "pengiriman_sragen", 8684 8685 8686 8687 8688 8689 "pengiriman_subang", 8690 8691 8692 8693 8694 8695 "pengiriman_sukabumi", 8696 8697 8698 8699 8700 8701 "pengiriman_sumbawa", 8702 8703 8704 8705 8706 8707 "pengiriman_surabaya", 8708 8709 8710 8711 8712 8713 "pengiriman_surakarta solo", 8714 8715 8716 8717 8718 "pengiriman_tasikmalaya", 8719 8720 8721 8722 8723 8724 "pengiriman_tegal", 8725 8726 8727 8728 8729 8730 "pengiriman_timika", 8731 8732 8733 8734 8735 8736 "pengiriman_wamena", 8737 8738 8739 8740 8741 8742 "pengiriman_wiyung", 8743 8744 8745 8746 8747 8748 "pengiriman_wonokromo", 8749 8750 8751 8752 8753 8754 "pengiriman_yogyakarta", 8755 8756 ] 8757 console.log(cityNonJabodetabek) 8758 let non_jabodetabek = [] 8759 for(var i=0;i<cityNonJabodetabek.length;i++) { 8760 const obj = { 8761 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 8762 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 8763 "zip": [] 8764 } 8765 non_jabodetabek.push(obj) 8766 } 8767 let current_location = getCookie("location_delivery") 8768 $("[name=location]").change(function(){ 8769 let v = $(this).val() 8770 let option = [] 8771 if(v == 'Jabodetabek') { 8772 for(var i=0;i<jabodetabek.length;i++) { 8773 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 8774 option.push(jabodetabekHtml) 8775 } 8776 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 8777 } else { 8778 for(var i=0;i<non_jabodetabek.length;i++) { 8779 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 8780 option.push(nonjabodetabekHtml) 8781 } 8782 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 8783 } 8784 }) 8785 8786 $("#location-lock-submit").click(function(e){ 8787 let select = $("#choose-location") 8788 let value = select.val().toLowerCase() 8789 console.log(value) 8790 if(select.val() == "") { 8791 return alert("Choose Your Location") 8792 e.preventDefault() 8793 }
8794 setCookie("location_delivery",value,1000000); 8795 8796 location.reload(); 8797 8798 }) 8799 8800 $("#close-popup-delivery").click(function(){ 8801 $(".MuiDialog-root").hide() 8802 if(!current_location){ 8803 setCookie("location_delivery","jakarta",1000000); 8804 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 8805 } 8806 }) 8807 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 8808 $(".MuiDialog-root").show() 8809 }) 8810 8811 8812 if(!current_location){ 8813 8814 } else { 8815 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 8816 console.log(current_location) 8817 $("#choose-location").each(function(){ 8818 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 8819 $("#jabodetabek").trigger("click") 8820 } else { 8821 $("#non-jabodetabek").trigger("click") 8822 } 8823 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 8824 }) 8825 } 8826 8827 // 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'){ 8828 // $("#timeMalam").attr("disabled", false) 8829 // } else { 8830 // $("#timeMalam").attr("disabled", true) 8831 // } 8832 8833 if(current_location && current_location != 'jakarta') { 8834 $("#self-pickup").attr("disabled", true) 8835 } 8836 8837 function setCookie(name,value,days) { 8838 var expires = ""; 8839 if (days) { 8840 var date = new Date(); 8841 date.setTime(date.getTime() + (days*24*60*60*1000)); 8842 expires = "; expires=" + date.toUTCString(); 8843 } 8844 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 8845 } 8846 function getCookie(name) { 8847 var nameEQ = name + "="; 8848 var ca = document.cookie.split(';'); 8849 for(var i=0;i < ca.length;i++) { 8850 var c = ca[i]; 8851 while (c.charAt(0)==' ') c = c.substring(1,c.length); 8852 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 8853 } 8854 return null; 8855 } 8856 </script>
8856 8857 <!-- One Tap --> 8858
8858<script> 8859 console.log("Outerbloom..."); 8860 </script>
8860 8861 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 8862 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 8863
8863<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
8863 8864
8864<script> 8865 const widgetConfig = { 8866 id: "clz7897za002cz7otleaz0d3d", 8867 showQuickResponse: false, 8868 quickResponsesData: [], 8869 themeColor: "#ffffff", 8870 widgetText: "", 8871 radiusType: "circle", 8872 widgetIconType: "whatsapp", 8873 position: "right", 8874 storeLogo: "", 8875 storeName: "Outerbloom", 8876 storeDescription: "", 8877 size: "small", 8878 showCard: false, 8879 widgetColorType: "solid", 8880 widgetColor1: "#008069", 8881 widgetColor2: "#008069", 8882 social: { 8883 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 8884 values: { 8885 instagram: { 8886 enabled: false, 8887 value: "", 8888 }, 8889 facebook: { 8890 enabled: false, 8891 value: "", 8892 }, 8893 email: { 8894 enabled: false, 8895 value: "", 8896 }, 8897 x: { 8898 enabled: false, 8899 value: "", 8900 }, 8901 tiktok: { 8902 enabled: false, 8903 value: "", 8904 }, 8905 linkedin: { 8906 enabled: false, 8907 value: "", 8908 }, 8909 youtube: { 8910 enabled: false, 8911 value: "", 8912 }, 8913 }, 8914 }, 8915 }; 8916 8917 function initializeWidget() { 8918 if (typeof BBBWidget !== 'undefined') { 8919 BBBWidget.init(widgetConfig); 8920 } else { 8921 setTimeout(initializeWidget, 100); 8922 } 8923 } 8924 8925 initializeWidget();</script>
8925 8926 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 8927 <div style="position: fixed; bottom: 0; right: 0"></div> 8928
8928<script> 8929 console.info("bitlogin extension version: v2.5.7"); 8930 8931 const googleScript = document.createElement("script"); 8932 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 8933 document.head.append(googleScript); 8934 8935 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 8936 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 8937 8938 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"}}; 8939 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
8939n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 8940 const redirectUrl = appearance.redirectLink; 8941 8942 let locationCacheSet = false; 8943 let errorLocation = false; 8944 let oneTapSet = false; 8945 8946 let bitloginCache = { 8947 appearance: appearance, 8948 config: config 8949 }; 8950 8951 let isInitializing = false; 8952 const queue = []; 8953 8954 // Add CSS for the popup 8955 const popupStyles = document.createElement('style'); 8956 popupStyles.textContent = ` 8957 /* Styles for login popup */ 8958 .bitlogin-popup-overlay { 8959 position: fixed; 8960 top: 0; 8961 left: 0; 8962 width: 100%; 8963 height: 100%; 8964 background: rgba(0, 0, 0, 0.45); 8965 backdrop-filter: blur(4px); 8966 display: flex; 8967 align-items: center; 8968 justify-content: center; 8969 opacity: 0; 8970 transition: opacity 0.3s ease-in-out; 8971 z-index: 999999; 8972 } 8973 8974 .bitlogin-popup-overlay.visible { 8975 opacity: 1; 8976 } 8977 8978 .bitlogin-popup { 8979 background: #FFFFFF; 8980 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 8981 border-radius: 16px; 8982 width: 100%; 8983 max-width: 560px; 8984 display: flex; 8985 overflow: hidden; 8986 position: relative; 8987 opacity: 0; 8988 transform: translateY(20px) scale(0.98); 8989 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 8990 } 8991 8992 .bitlogin-popup.visible { 8993 opacity: 1; 8994 transform: translateY(0) scale(1); 8995 } 8996 8997 .bitlogin-popup-with-image { 8998 max-width: 640px; 8999 } 9000 9001 .bitlogin-popup-right-image { 9002 flex-direction: row-reverse; 9003 } 9004 9005 .bitlogin-popup-image { 9006 object-fit: cover; 9007 width: 50%; 9008 height: auto; 9009 } 9010 9011 .bitlogin-popup-content { 9012 padding: 32px; 9013 position: relative; 9014 width: 50%; 9015 } 9016 9017 .bitlogin-popup-close { 9018 position: absolute; 9019 top: 16px; 9020 right: 16px; 9021 background: white; 9022 border: none; 9023 width: 30px; 9024 height: 30px; 9025 display: flex; 9026 align-items: center; 9027 justify-content: center; 9028 cursor: pointer; 9029 transition: background-color 0.2s; 9030 color: inherit; 9031 padding: 0; 9032 } 9033 9034 .bitlogin-popup-close:hover { 9035 background-color: #e5e5e5; 9036 } 9037 9038 .bitlogin-popup-buttons { 9039 display: flex; 9040 flex-direction: column; 9041 gap: 12px; 9042 margin-top: 24px; 9043 } 9044 9045 /* Button styles within popup - override width for popup buttons */ 9046 .bitlogin-popup-buttons #google-login, 9047 .bitlogin-popup-buttons #facebook-login, 9048 .bitlogin-popup-buttons #apple-login, 9049 .bitlogin-popup-buttons #whatsapp-login, 9050 .bitlogin-popup-buttons #microsoft-login, 9051 .bitlogin-popup-buttons #twitter-login, 9052 .bitlogin-popup-buttons #amazon-login, 9053 .bitlogin-popup-buttons #instagram-login, 9054 .bitlogin-popup-buttons #magic-link-login, 9055 .bitlogin-popup-buttons #mobile-app-login { 9056 width: 100% !important; 9057 font-family: inherit !important; 9058 } 9059 9060 .bitlogin-popup-footer { 9061 margin-top: 32px; 9062 text-align: center; 9063 font-size: 14px; 9064 opacity: 0.6; 9065 } 9066 9067 /* Modern Typography */ 9068 .bitlogin-popup h2 { 9069 margin-top: 12px; 9070 font-size: 21px !important; 9071 line-height: 1.2 !important; 9072 font-weight: 700 !important; 9073 letter-spacing: -0.02em !important; 9074 margin-bottom: 16px !important; 9075 } 9076 9077 .bitlogin-popup-header { 9078 position: relative; 9079 margin-bottom: 24px; 9080 } 9081 9082 /* Modern gradient accent */ 9083 .bitlogin-popup-content > div { 9084 font-size: 16px !important; 9085 line-height: 1.2 !important; 9086 opacity: 0.85 !important; 9087 } 9088 9089 /* Enhanced button interactions */ 9090 .bitlogin-popup-buttons button { 9091 position: relative; 9092 overflow: hidden; 9093 } 9094 9095 @keyframes ripple { 9096 0% { 9097 transform: scale(0, 0); 9098 opacity: 0.5; 9099 } 9100 100% { 9101 transform: scale(100, 100); 9102 opacity: 0; 9103 } 9104 } 9105 9106 /* Responsive adjustments */ 9107 @media (max-width: 640px) { 9108 .bitlogin-popup { 9109 max-width: 90%; 9110 width: 90%; 9111 margin: 0 16px; 9112 } 9113 9114 .bitlogin-popup-with-image { 9115 flex-direction: column !important; 9116 } 9117 9118 .bitlogin-popup-image { 9119 width: 100%; 9120 height: 180px; 9121 } 9122 9123 .bitlogin-popup-content { 9124 padding: 24px; 9125 } 9126 9127 .bitlogin-popup h2 { 9128 font-size: 24px !important; 9129 } 9130 } 9131 `; 9132
9133 document.head.appendChild(popupStyles); 9134 9135 // Add fonts link for different font options 9136 const fontsLink = document.createElement('link'); 9137 fontsLink.rel = 'stylesheet'; 9138 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'; 9139 document.head.appendChild(fontsLink); 9140 9141 (async () => { 9142 try { 9143 let host = window.location.host; 9144 if (host === "admin.shopify.com") { 9145 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 9146 } 9147 9148 const urlSearchParams = new URLSearchParams(window.location.search); 9149 const checkoutUrl = urlSearchParams.get("checkout_url"); 9150 9151 async function init({ inputRef, index }) { 9152 if (isInitializing) { 9153 queue.push(() => init({ inputRef, index })); 9154 return; 9155 } 9156 9157 isInitializing = true; 9158 9159 try { 9160 let bitLoginSectionRoot = document.querySelector( 9161 `.bitlogin-root[data-index="${index}"]` 9162 ); 9163 9164 const formRef = inputRef?.closest( 9165 "form:not([action='/account/recover'])" 9166 ); 9167 9168 if (formRef && !bitLoginSectionRoot) { 9169 await getLocation(); 9170 9171 bitLoginSectionRoot = document.createElement(`div`); 9172 9173 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 9174 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 9175 9176 updateAppearance({ 9177 formRef, 9178 rootRef: bitLoginSectionRoot, 9179 host, 9180 }); 9181 } 9182 } catch (err) { 9183 console.error(`error while initiating bitlogin extensions`, err); 9184 } finally { 9185 // Release the lock 9186 isInitializing = false; 9187 9188 // Check if there are pending items in the queue 9189 if (queue.length > 0) { 9190 // Process the next function in the queue 9191 const nextFunction = queue.shift(); 9192 nextFunction(); 9193 } 9194 } 9195 } 9196 9197 function initAll() { 9198 return new Promise((resolve, reject) => { 9199 setTimeout(async () => { 9200 const inputRefs = document.querySelectorAll( 9201 'input[name="customer[email]"]' 9202 ); 9203 9204 for (let i = 0; i < inputRefs.length; i++) { 9205 const currentInputRef = inputRefs[i]; 9206 const isVisible = isElementVisible(currentInputRef); 9207 9208 if (isVisible) { 9209 await init({ inputRef: currentInputRef, index: i }); 9210 } 9211 } 9212 9213 resolve("ok"); 9214 }, 100); 9215 }); 9216 } 9217 9218 const observer = new MutationObserver((mutationsList) => { 9219 for (let mutation of mutationsList) { 9220 initAll(); 9221 } 9222 }); 9223 9224 observer.observe(document.body, { 9225 childList: true, 9226 subtree: true, 9227 attributes: true, 9228 }); 9229 9230 initAll(); 9231 9232 if (appearance.googleOneTap) { 9233 setupOneTap({ host, checkoutUrl }); 9234 } 9235 9236 // Initialize popup 9237 await initPopup(host); 9238 } catch (error) { 9239 console.error("Error initializing BitLogin:", error); 9240 } 9241 })(); 9242 9243 async function initPopup(host) { 9244 // Check if user is already logged in using Liquid checks properly 9245 const isLoggedIn = false || 9246 document.querySelector('.customer-logout-link') || 9247 document.querySelector('.account-link') || 9248 window.location.pathname.includes('/account'); 9249 9250 if (isLoggedIn) { 9251 return; // User is logged in, don't show popup 9252 } 9253 9254 try { 9255 // Fetch the popup configuration 9256 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 9257 .then(res => res.json()) 9258 .catch(err => { 9259 console.error('Error fetching popup configuration:', err); 9260 return null; 9261 }); 9262 9263 if (!popupConfig || !popupConfig.enabled) { 9264 return;
9264 // Don't show popup if disabled or config not found 9265 } 9266 9267 // Create popup after 10 seconds 9268 setTimeout(() => { 9269 // Check if user is still on the page and still not logged in 9270 if (document.visibilityState === 'visible') { 9271 // Additional check in case user logged in during the 10 second wait 9272 const currentlyLoggedIn = false || 9273 document.querySelector('.customer-logout-link') || 9274 document.querySelector('.account-link'); 9275 9276 if (!currentlyLoggedIn) { 9277 createLoginPopup(popupConfig, host); 9278 } 9279 } 9280 }, 10000); 9281 } catch (error) { 9282 console.error('Error initializing popup:', error); 9283 } 9284 } 9285 9286 function createLoginPopup(popupConfig, host) { 9287 // Font mapping 9288 const fontFamilyMap = { 9289 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 9290 montserrat: 'Montserrat, sans-serif', 9291 roboto: 'Roboto, sans-serif', 9292 open_sans: 'Open Sans, sans-serif', 9293 noto_sans: 'Noto Sans, sans-serif', 9294 lato: 'Lato, sans-serif', 9295 poppins: 'Poppins, sans-serif', 9296 quicksand: 'Quicksand, sans-serif', 9297 raleway: 'Raleway, sans-serif', 9298 pt_sans: 'PT Sans, sans-serif', 9299 oswald: 'Oswald, sans-serif', 9300 }; 9301 9302 // Create overlay 9303 const overlay = document.createElement('div'); 9304 overlay.className = 'bitlogin-popup-overlay'; 9305 9306 // Create popup container with appropriate styling 9307 const popup = document.createElement('div'); 9308 popup.className = 'bitlogin-popup'; 9309 9310 if (popupConfig.layout === 'default') { 9311 popup.style.maxWidth = '400px'; 9312 } 9313 9314 // Function to close the popup 9315 const closePopup = () => { 9316 overlay.classList.remove('visible'); 9317 popup.classList.remove('visible'); 9318 setTimeout(() => { 9319 if (document.body.contains(overlay)) { 9320 document.body.removeChild(overlay); 9321 } 9322 }, 300); 9323 }; 9324 9325 // Add click handler to the overlay to close when clicking outside 9326 overlay.addEventListener('click', (event) => { 9327 // Close only if clicking directly on the overlay, not its children 9328 if (event.target === overlay) { 9329 closePopup(); 9330 } 9331 }); 9332 9333 // Add escape key handler to close popup 9334 document.addEventListener('keydown', (event) => { 9335 if (event.key === 'Escape' && document.body.contains(overlay)) { 9336 closePopup(); 9337 } 9338 }); 9339 9340 // Create layout with image if specified 9341 let contentWrapper; 9342 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 9343 popup.classList.add('bitlogin-popup-with-image'); 9344 9345 if (popupConfig.layout === 'right') { 9346 popup.classList.add('bitlogin-popup-right-image'); 9347 } 9348 9349 // Add image 9350 const image = document.createElement('img'); 9351 image.className = 'bitlogin-popup-image'; 9352 image.src = popupConfig.popupImage; 9353 image.alt = 'Login'; 9354 image.loading = 'lazy'; 9355 popup.appendChild(image); 9356 9357 // Create content container 9358 contentWrapper = document.createElement('div'); 9359 contentWrapper.className = 'bitlogin-popup-content'; 9360 9361 if (popupConfig.layout === 'right') { 9362 const closeButton = document.createElement('button'); 9363 closeButton.className = 'bitlogin-popup-close'; 9364 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 9365 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9366 </svg>`; 9367 closeButton.setAttribute('aria-label', 'Close'); 9368 closeButton.onclick = closePopup; 9369 9370 popup.appendChild(closeButton); 9371 } 9372 } else { 9373 contentWrapper = document.createElement('div'); 9374 contentWrapper.className = 'bitlogin-popup-content'; 9375 contentWrapper.style.width = '100%'; 9376 } 9377 9378 // Set background style 9379 if (popupConfig.backgroundTheme === 'gradient') { 9380 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 9381 } else { 9382 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 9383 } 9384 9385 // Apply font family 9386 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 9387 9388 if (popupConfig.layout !== 'right') { 9389 const closeButton = document.createElement('button'); 9390 closeButton.className = 'bitlogin-popup-close'; 9391 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://img
9391store.io/images/2025/10/26/logo-olxtoto.png"> 9392 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9393 </svg>`; 9394 closeButton.setAttribute('aria-label', 'Close'); 9395 closeButton.onclick = closePopup; 9396 9397 contentWrapper.appendChild(closeButton); 9398 } 9399 9400 // Add heading with subtle animation effect 9401 const header = document.createElement('div'); 9402 header.className = 'bitlogin-popup-header'; 9403 9404 const heading = document.createElement('h2'); 9405 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benefits'; 9406 heading.style.color = popupConfig.fontColor; 9407 header.appendChild(heading); 9408 9409 // Add body text with improved formatting 9410 const bodyText = document.createElement('div'); 9411 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 9412 bodyText.style.color = popupConfig.fontColor; 9413 header.appendChild(bodyText); 9414 9415 contentWrapper.appendChild(header); 9416 9417 // Create buttons container with modern styling 9418 const buttonsContainer = document.createElement('div'); 9419 buttonsContainer.className = 'bitlogin-popup-buttons'; 9420 9421 // Add social buttons 9422 const providerLabels = { 9423 'GOOGLE': 'Continue with Google', 9424 'FACEBOOK': 'Continue with Facebook', 9425 'APPLE': 'Continue with Apple', 9426 'WHATSAPP': 'Continue with WhatsApp', 9427 'MAGIC_LINK': 'Continue with Email', 9428 }; 9429 9430 // Add first login provider button 9431 if (popupConfig.loginProvider1 !== 'NONE') { 9432 const buttonConfig = { 9433 theme: popupConfig.colorScheme || 'match', 9434 customColor: popupConfig.textColor, 9435 format: 'contentFlex', 9436 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 9437 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9438 style: popupConfig.style || 'rounded', 9439 size: popupConfig.size || 'medium', 9440 colorScheme: popupConfig.colorScheme || 'match', 9441 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9442 textColor: popupConfig.textColor || '#FFFFFF', 9443 outlineColor: popupConfig.outlineColor || '#3B82F6', 9444 host: host 9445 }; 9446 9447 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 9448 9449 // Handle click event - this overrides the default click handler in createSocialLoginButton 9450 button1.onclick = () => { 9451 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 9452 closePopup(); 9453 }; 9454 9455 buttonsContainer.appendChild(button1); 9456 } 9457 9458 // Add second login provider button if enabled 9459 if (popupConfig.loginProvider2 !== 'NONE') { 9460 const buttonConfig = { 9461 theme: popupConfig.colorScheme || 'match', 9462 customColor: popupConfig.textColor, 9463 format: 'contentFlex', 9464 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 9465 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9466 style: popupConfig.style || 'rounded', 9467 size: popupConfig.size || 'medium', 9468 colorScheme: popupConfig.colorScheme || 'match', 9469 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9470 textColor: popupConfig.textColor || '#FFFFFF', 9471 outlineColor: popupConfig.outlineColor || '#3B82F6', 9472 host: host 9473 }; 9474 9475 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 9476 9477 // Handle click event - this overrides the default click handler in createSocialLoginButton 9478 button2.onclick = () => { 9479 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 9480 closePopup(); 9481 }; 9482 9483 buttonsContainer.appendChild(button2); 9484 } 9485 9486 contentWrapper.appendChild(buttonsContainer); 9487 9488 // Append content to popup 9489 popup.appendChild(contentWrapper); 9490 9491 // Append popup to overlay 9492 overlay.appendChild(popup); 9493 9494 // Append overlay to body 9495 document.body.appendChild(overlay); 9496 9497 // Trigger animation with slight delay for better perceived performance 9498 setTimeout(() => { 9499 overlay.classList.add('visible'); 9500 setTimeout(() => { 9501 popup.classList.add('visible'); 9502 }, 50); 9503 }, 10); 9504 } 9505 9506 window.addEventListener("load", () => { 9507 window.addEventListener("message", (event) => { 9508 const receivedData = event.data; 9509 9510 if (receivedData.type === "authorize") { 9511 post( 9512 JSON.parse( 9513 JSON.stringify({ 9514 "customer[email]": receivedData.email, 9515 "customer[password]": receivedData.password, 9516 form_type: "customer_login", 9517 utf8: "â", 9518 return_url: redirectUrl, 9519 }) 9520 ) 9521 ); 9522 } else if (receivedData.type === "rejected") { 9523 if (receivedData.reason === "customer_account_disabled") { 9524 showAlert( 9525 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 9526 ); 9527 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 9528 showAlert( 9529 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 9530 ); 9531 } else if (receivedData.reason === "customer_exist_email_not_set") { 9532 showAlert( 9533 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 9534 ); 9535 } 9536 } 9537 9538 if (receivedData.type === "customer_authenticated") { 9539 // Dispatch a custom event that merchants can listen for to implement their custom logic 9540 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 9541 detail: { 9542 provider: receivedData.provider, 9543 customer: receivedData.customer, 9544 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 9545 } 9546 }); 9547 9548 // Dispatch the event on the window object so merchants can listen for it 9549 window.dispatchEvent(customerAuthEvent); 9550 9551 } 9552 }); 9553 }); 9554 9555 // Reusable functions for social login buttons 9556 function createSocialLoginButton(provider, config = {}) { 9557 const { 9558 theme = 'match', 9559 customColor = null, 9560 format = 'contentFlex', 9561 buttonText = null, 9562 hasShadow = true, 9563 style = 'rounded', 9564 size = 'medium', 9565 colorScheme = 'match', 9566 backgroundColor = '#3B82F6', 9567 textColor = '#FFFFFF', 9568 outlineColor = '#3B82F6', 9569 rootRef = null, 9570 host = null 9571 } = config; 9572 9573 // Create button element with appropriate ID and attributes 9574 const button = document.createElement('button'); 9575 button.id = `${provider.toLowerCase()}-login`; 9576 button.type = 'button'; 9577 9578 // Set the inner SVG based on provider 9579 switch (provider.toUpperCase()) {
9580 case 'GOOGLE': 9581 button.innerHTML = googleLoginIcon(theme, customColor); 9582 break; 9583 case 'FACEBOOK': 9584 button.innerHTML = facebookLoginIcon(theme, customColor); 9585 break; 9586 case 'APPLE': 9587 button.innerHTML = appleLoginIcon(theme, customColor); 9588 break; 9589 case 'WHATSAPP': 9590 button.innerHTML = whatsappLoginIcon(theme, customColor); 9591 break; 9592 case 'MICROSOFT': 9593 button.innerHTML = microsoftLoginIcon(theme, customColor); 9594 break; 9595 case 'TWITTER': 9596 button.innerHTML = twitterLoginIcon(theme, customColor); 9597 break; 9598 case 'AMAZON': 9599 button.innerHTML = amazonLoginIcon(theme, customColor); 9600 break; 9601 case 'INSTAGRAM': 9602 button.innerHTML = instagramLoginIcon(theme, customColor); 9603 break; 9604 case 'MAGIC_LINK': 9605 button.innerHTML = magicLinkLoginIcon(theme, customColor); 9606 break; 9607 case 'MOBILE_APP': 9608 button.innerHTML = mobileAppLoginIcon(theme, customColor); 9609 break; 9610 case 'LINKEDIN': 9611 button.innerHTML = linkedinLoginIcon(theme, customColor); 9612 break; 9613 } 9614 9615 // Add text if format isn't icon-only and buttonText is provided 9616 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 9617 button.innerHTML += `<p>${buttonText}</p>`; 9618 } 9619 9620 // Apply styling 9621 // Shadow 9622 if (hasShadow) { 9623 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 9624 button.style["box-shadow"] = shadowProperties; 9625 } 9626 9627 // Border radius 9628 const radiusProperties = 9629 style === "rounded" 9630 ? "8px" 9631 : style === "square" 9632 ? "0px" 9633 : style === "fullRounded" 9634 ? format === "wrapperFlexContainerOnlyLogo" 9635 ? "50%" 9636 : "50px" 9637 : undefined; 9638 button.style["border-radius"] = radiusProperties; 9639 9640 // Size 9641 const sizeProperties = 9642 size === "medium" 9643 ? "12px" 9644 : size === "small" 9645 ? "8px" 9646 : size === "large" 9647 ? "16px" 9648 : "8px"; 9649 9650 button.style["padding-block"] = sizeProperties; 9651 9652 // Format styling 9653 if (format) { 9654 if ( 9655 format === "contentFlexReverse" || 9656 format === "contentFlexCenterReverse" 9657 ) { 9658 const flexDir = `row-reverse`; 9659 button.style["flex-direction"] = flexDir; 9660 } 9661 9662 if ( 9663 format === "contentFlexCenter" || 9664 format === "contentFlexCenterReverse" 9665 ) { 9666 const justifyContent = `center`; 9667 button.style["justify-content"] = justifyContent; 9668 } else if ( 9669 format === "contentFlex" || 9670 format === "contentFlexReverse" 9671 ) { 9672 const buttonTextElement = button.querySelector("p"); 9673 if (buttonTextElement) { 9674 buttonTextElement.style["flex-grow"] = 1; 9675 buttonTextElement.style["text-align"] = "center"; 9676 } 9677 } 9678 9679 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 9680 rootRef.style["flex-direction"] = "row"; 9681 rootRef.style["gap"] = "8px"; 9682 rootRef.style["display"] = "flex"; 9683 rootRef.style["flex-wrap"] = "wrap"; 9684 9685 const sizeMapping = { 9686 small: "52px", 9687 medium: "62px", 9688 large: "72px", 9689 }; 9690 const buttonSize = sizeMapping[size] || "52px"; 9691 9692 button.style["margin"] = 0; 9693 button.style["width"] = buttonSize; 9694 button.style["height"] = buttonSize; 9695 button.style["display"] = "flex"; 9696 button.style["align-items"] = "center"; 9697 button.style["justify-content"] = "center"; 9698 9699 const svgElement = button.querySelector("svg"); 9700 if (svgElement) { 9701 svgElement.style["flex"] = "none"; 9702 } 9703 } 9704 } 9705 9706 // Color scheme styling 9707 if (colorScheme === "black") { 9708 button.classList.add("scheme-black"); 9709 } else if (colorScheme === "white") { 9710 button.classList.add("scheme-white"); 9711 } else if (colorScheme === "custom") { 9712 button.style["background-color"] = backgroundColor; 9713 button.style["color"] = textColor; 9714 button.style["border-color"] = outlineColor; 9715 9716 const darkenColor = (color, percentage) => { 9717 const value = parseInt(color.slice(1), 16); 9718 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 9719 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 9720 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 9721 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 9722 }; 9723 9724 button.addEventListener("mouseover", () => {
9725 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 9726 }); 9727 button.addEventListener("mouseout", () => { 9728 button.style["background-color"] = backgroundColor; 9729 }); 9730 } else if (colorScheme === "match") { 9731 button.classList.add("scheme-match"); 9732 } else if (colorScheme === "matchOutline") { 9733 button.classList.add("scheme-match-outline"); 9734 } 9735 9736 // Add click event listener if host is provided 9737 if (host) { 9738 button.addEventListener("click", () => 9739 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 9740 ); 9741 } 9742 9743 return button; 9744 } 9745 9746 function setupSocialLoginButtons(config, rootRef, data, host) { 9747 // Clear any existing content 9748 rootRef.innerHTML = ''; 9749 9750 const sortedEnabledProviders = config 9751 .filter(c => c.enabledWeb) 9752 .sort((a, b) => a.position - b.position); 9753 9754 sortedEnabledProviders.forEach(provider => { 9755 const key = provider.provider; 9756 const lowerKey = key.toLowerCase(); 9757 9758 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 9759 ? (lowerKey === 'twitter' 9760 ? data.buttonList.twitter.replace('Twitter', 'X') 9761 : data.buttonList[lowerKey]) 9762 : null; 9763 9764 const button = createSocialLoginButton(key, { 9765 theme: data.colorScheme || 'match', 9766 customColor: data.textColor, 9767 format: data.format, 9768 buttonText: buttonText, 9769 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 9770 style: data.style, 9771 size: data.size, 9772 colorScheme: data.colorScheme, 9773 backgroundColor: data.backgroundColor, 9774 textColor: data.textColor, 9775 outlineColor: data.outlineColor, 9776 rootRef: rootRef, 9777 host: host 9778 }); 9779 9780 rootRef.appendChild(button); 9781 }); 9782 9783 return rootRef; 9784 } 9785 9786 function updateAppearance({ formRef, rootRef, host }) { 9787 if (!formRef) return; 9788 9789 const data = bitloginCache.appearance || { 9790 style: "square", 9791 hasShadow: false, 9792 colorScheme: "match", 9793 backgroundColor: "#FFFFFF", 9794 outlineColor: "#000000", 9795 textColor: "#000000", 9796 position: "bottom", 9797 hideDivider: "false", 9798 dividerText: "OR", 9799 size: "small", 9800 format: "contentFlex", 9801 language: "en", 9802 buttonText: "Continue with", 9803 redirectLink: "/account", 9804 googleOneTap: true, 9805 googleOneTapBanner: true, 9806 customerTag: "bitLogin", 9807 redirectOneTapDesktop: null, 9808 redirectOneTapMobile: null, 9809 buttonList: { 9810 google: "Continue with Google", 9811 facebook: "Continue with Facebook", 9812 apple: "Continue with Apple", 9813 whatsapp: "Continue with WhatsApp", 9814 microsoft: "Continue with Microsoft", 9815 twitter: "Continue with X", 9816 amazon: "Continue with Amazon", 9817 instagram: "Continue with Instagram", 9818 magic_link: "Continue with Magic Link", 9819 mobile_app: "Continue with Mobile App", 9820 linkedin: "Continue with LinkedIn", 9821 }, 9822 }; 9823 9824 // Use the new setupSocialLoginButtons function to create and configure all buttons 9825 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 9826 9827 let divider; 9828 9829 if (!data.hideDivider) { 9830 divider = document.createElement("div"); 9831 const dividerStyle = "text-align:center;margin-block:16px"; 9832 divider.setAttribute("style", dividerStyle); 9833 divider.innerHTML = data.dividerText; 9834 } 9835 9836 if (data.position === "bottom") { 9837 if (divider) { 9838 formRef.appendChild(divider); 9839 } 9840 formRef.appendChild(rootRef); 9841 } else if (data.position === "top") { 9842 if (divider) { 9843 formRef.prepend(divider); 9844 } 9845 formRef.prepend(rootRef); 9846 } 9847 } 9848 9849 9850 async function onClickSocialLogin({ provider, host }) { 9851 const rand = Math.random().toString(); 9852 9853 const locationQueryString = bitloginCache.location 9854 ? `&${objectToQueryString(bitloginCache.location)}` 9855 : ""; 9856 9857 const width = 800; 9858 const height = 600; 9859 const left = (window.screen.width / 2) - (width / 2); 9860 const top = (window.screen.height / 2) - (height / 2) - 50; 9861 9862 if(provider === 'whatsapp') { 9863 window.open( 9864 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 9865 "mywindow", 9866 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 9867 ); 9868 } else { 9869 window.open( 9870 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 9871 "mywindow", 9872 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 9873 ); 9874 } 9875 } 9876 9877 function objectToQueryString(obj) { 9878 return Object.keys(obj) 9879 .map((key) => { 9880 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 9881 }) 9882 .join("&"); 9883 } 9884 9885 async function getLocation() { 9886 if (locationCacheSet) return; 9887 9888 try { 9889 const response = await fetch("https://ipapi.co/json/"); 9890 9891 if (!response.ok) { 9892 console.error(`error retrieving location...`, response.status); 9893 errorLocation = true; 9894 } else { 9895 const data = await response.json(); 9896 9897 const { city, region, country_name, country_code } = data; 9898 9899 const formattedLocationData = { 9900 city, 9901 region, 9902 country_name, 9903 country_code, 9904 }; 9905 9906 bitloginCache.location = formattedLocationData; 9907 locationCacheSet = true; 9908 errorLocation = false;
9909 } 9910 } catch (err) { 9911 console.error(`error fetching location`, err); 9912 errorLocation = true; 9913 } 9914 } 9915 9916 function post(params) { 9917 // The rest of this code assumes you are not using a library. 9918 // It can be made less verbose if you use one. 9919 const form = document.createElement("form"); 9920 form.method = "post"; 9921 form.action = `/account/login`; 9922 form.acceptCharset = "UTF-8"; 9923 form.setAttribute("data-login-with-shop-sign-in", "true"); 9924 form.setAttribute("novalidate", "novalidate"); 9925 9926 for (const key in params) { 9927 if (params.hasOwnProperty(key)) { 9928 const hiddenField = document.createElement("input"); 9929 hiddenField.type = "hidden"; 9930 hiddenField.name = key; 9931 hiddenField.value = params[key]; 9932 9933 form.appendChild(hiddenField); 9934 } 9935 } 9936 9937 document.body.appendChild(form); 9938 form.submit(); 9939 } 9940 9941 async function setupOneTap({ host, checkoutUrl }) { 9942 if (oneTapSet) return; 9943 9944 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 9945 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 9946 9947 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 9948 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 9949 9950 const currentPath = window.location.pathname.toLowerCase(); 9951 const currentUrl = window.location.href.toLowerCase(); 9952 9953 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 9954 switch (value) { 9955 case 'home': 9956 return currentPath === '/'; 9957 case 'product': 9958 return currentPath.startsWith('/products/'); 9959 case 'collections': 9960 return currentPath.startsWith('/collections'); 9961 case 'cart': 9962 return currentPath === '/cart'; 9963 case 'checkout': 9964 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 9965 case 'thank_you': 9966 return currentPath.includes('/thank_you'); 9967 case 'account': 9968 return currentPath.startsWith('/account'); 9969 case 'pages': 9970 return currentPath.startsWith('/pages'); 9971 case 'blogs': 9972 return currentPath === '/blogs' || currentPath === '/blogs/news'; 9973 case 'blog_post': 9974 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 9975 default: 9976 return false; 9977 } 9978 }); 9979 9980 if (shouldHideGoogleOneTap) return; 9981 9982 const oneTapClientId = bitloginCache.config.find( 9983 (config) => config.provider === "GOOGLE" 9984 )?.clientId; 9985 9986 const isLoggedIn = false; 9987 9988 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 9989 const googleOneTapButton = document.createElement("div"); 9990 googleOneTapButton.setAttribute("id", "g_id_onload"); 9991 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 9992 googleOneTapButton.setAttribute("data-context", "signin"); 9993 googleOneTapButton.setAttribute( 9994 "data-callback", 9995 "handleGoogleOneTapResponse" 9996 ); 9997 googleOneTapButton.setAttribute("data-itp_support", "true"); 9998 9999 const googleOneTapScript = document.createElement("script"); 10000 10001 googleOneTapScript.innerHTML += ` 10002 function handleGoogleOneTapResponse(response) { 10003 if (response.credential) { 10004 const idToken = response.credential; 10005 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 10006 method: 'POST', 10007 headers: { 'Content-Type': 'application/json' }, 10008 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 10009 }).then(response => { 10010 response.json().then((data) => { 10011 post( 10012 JSON.parse( 10013 JSON.stringify({ 10014 "customer[email]": data.email, 10015 "customer[password]": data.password, 10016 form_type: "customer_login", 10017 utf8: "â", 10018 return_url: redirectUrl, 10019 }) 10020 ) 10021 ); 10022 }); 10023 }).catch(error => { 10024 console.error('Error occurred:', error); 10025 }); 10026 } else { 10027 console.error('No credential available'); 10028 } 10029 } 10030 `; 10031 10032 document.body.append(googleOneTapButton); 10033 document.body.append(googleOneTapScript); 10034 } 10035 10036 oneTapSet = true; 10037 } 10038 10039 const googleLoginIcon = ( 10040 theme, 10041 customColor 10042 ) => ` 10043 ${ 10044 theme === "match" || theme === "matchOutline" || theme === "custom" 10045 ? `<svg
10046 xmlns='https://imgstore.io/images/2025/10/26/logo-olxtoto.png' 10047 xmlns:v='https://vecta.io/nano' 10048 width='24' 10049 height='24' 10050 viewBox='0 0 186.69 190.5' 10051 > 10052 <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="${ 10053 theme === "custom" ? customColor : "#4285f4" 10054 }"/><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="${ 10055 theme === "custom" ? customColor : "#34a853" 10056 }"/><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="${ 10057 theme === "custom" ? customColor : "#fbbc05" 10058 }"/><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="${ 10059 theme === "custom" ? customColor : "#ea4335" 10060 }" clip-path="none" mask="none"/></g> 10061 </svg>` 10062 : `<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 10063 <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="${ 10064 theme !== "black" ? "black" : "white" 10065 }"/> 10066 <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="${ 10067 theme !== "black" ? "black" : "white" 10068 }"/> 10069 <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="${ 10070 theme !== "black" ? "black" : "white" 10071 }"/> 10072 <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="${ 10073 theme !== "black" ? "black" : "white" 10074 }"/> 10075 </svg>` 10076 }`; 10077 10078 const appleLoginIcon = ( 10079 theme, 10080 customColor 10081 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 10082 <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="${ 10083 theme === "custom" 10084 ? customColor 10085 : theme === "match" || theme === "black" 10086 ? "white" 10087 : "black" 10088 }"/> 10089 </svg>`; 10090 10091 const facebookLoginIcon = ( 10092 theme, 10093 customColor 10094 ) => ` 10095 ${ 10096 theme === "match" || theme === "matchOutline" || theme === "custom" 10097 ? `<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 10098 <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="${ 10099 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 10100 }"/> 10101 <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="${ 10102 theme === "match" ? "#1778f2" : "transparent" 10103 }"/> 10104 </svg>`
10105 : `<svg xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 10106 <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="${ 10107 theme === "black" ? "white" : "black" 10108 }"/> 10109 <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="${ 10110 theme === "black" ? "black" : "white" 10111 }"/> 10112 </svg>` 10113 }`; 10114 10115 const whatsappLoginIcon = ( 10116 theme, 10117 customColor 10118 ) => `<svg 10119 viewBox="0 0 24 24" 10120 fill="none" 10121 width="24" 10122 height="25" 10123 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10124 > 10125 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 10126 <g 10127 id="SVGRepo_tracerCarrier" 10128 stroke-linecap="round" 10129 stroke-linejoin="round" 10130 ></g> 10131 <g id="SVGRepo_iconCarrier"> 10132 <path 10133 fill-rule="evenodd" 10134 clip-rule="evenodd" 10135 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" 10136 fill="${ 10137 theme === "match" || theme === "black" 10138 ? "#ffffff" 10139 : theme === "white" 10140 ? "#000000" 10141 : theme === "matchOutline" 10142 ? "#25d366" 10143 : customColor 10144 }" 10145 ></path> 10146 </g> 10147 </svg>`; 10148 10149 const microsoftLoginIcon = ( 10150 theme, 10151 customColor 10152 ) => `<svg 10153 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10154 width="25" 10155 height="25" 10156 viewBox="0 0 48 48"> 10157 <path fill="${ 10158 theme === "match" || theme == "matchOutline" 10159 ? "#ff5722" 10160 : theme === "black" 10161 ? "#ffffff" 10162 : theme === "white" 10163 ? "#000000" 10164 : customColor 10165 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 10166 <path 10167 fill="${ 10168 theme === "match" || theme == "matchOutline" 10169 ? "#4caf50" 10170 : theme === "black" 10171 ? "#ffffff" 10172 : theme === "white" 10173 ? "#000000" 10174 : customColor 10175 }" 10176 d="M26 6H42V22H26z" 10177 transform="rotate(-180 34 14)"></path> 10178 <path 10179 fill="${ 10180 theme === "match" || theme == "matchOutline" 10181 ? "#ffc107" 10182 : theme === "black" 10183 ? "#ffffff" 10184 : theme === "white" 10185 ? "#000000" 10186 : customColor 10187 }" 10188 d="M26 26H42V42H26z" 10189 transform="rotate(-180 34 34)"></path> 10190 <path fill="${ 10191 theme === "match" || theme == "matchOutline" 10192 ? "#03a9f4" 10193 : theme === "black" 10194 ? "#ffffff" 10195 : theme === "white" 10196 ? "#000000" 10197 : customColor 10198 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 10199 </svg>`; 10200 10201 const twitterLoginIcon = ( 10202 theme, 10203 customColor 10204 ) => `<svg
10205 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10206 width="25" 10207 height="25" 10208 viewBox="0 0 48 48"> 10209 <polygon fill="${ 10210 theme === "match" || theme === "black" 10211 ? "#ffffff" 10212 : theme === "matchOutline" || theme === "white" 10213 ? "#000000" 10214 : customColor 10215 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 10216 <polygon 10217 fill="${ 10218 theme === "match" || theme === "black" 10219 ? "#000000" 10220 : theme === "matchOutline" || theme === "white" 10221 ? "#ffffff" 10222 : customColor 10223 }" 10224 fill-rule="evenodd" 10225 points="31.143,41 7.82,7 16.777,7 40.1,41" 10226 clip-rule="evenodd"></polygon> 10227 <path 10228 fill="${ 10229 theme === "match" || theme === "black" 10230 ? "#ffffff" 10231 : theme === "matchOutline" || theme === "white" 10232 ? "#000000" 10233 : customColor 10234 }" 10235 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 10236 </svg>`; 10237 10238 const amazonLoginIcon = (theme, customColor) => ` 10239 <svg 10240 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10241 x="0px" 10242 y="0px" 10243 width="25" 10244 height="25" 10245 viewBox="0 0 50 50" 10246 > 10247 <path 10248 fill="${ 10249 theme === "black" 10250 ? "#ffffff" 10251 : theme === "matchOutline" 10252 ? "#FF9900" 10253 : theme === "white" || theme === "match" 10254 ? "#000000" 10255 : customColor 10256 }" 10257 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" 10258 ></path> 10259 </svg>`; 10260 10261 const instagramLoginIcon= (theme, customColor) => ` 10262 <svg 10263 width="25" 10264 height="25" 10265 viewBox="0 0 25 24" 10266 fill="none" 10267 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png"> 10268 <path 10269 fill-rule="evenodd" 10270 clip-rule="evenodd" 10271 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.
1027164321C8.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" 10272 fill="url(#paint0_radial_378_3535)" /> 10273 <path 10274 fill-rule="evenodd" 10275 clip-rule="evenodd" 10276 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" 10277 fill="url(#paint0_radial_378_3535)" /> 10278 <path 10279 fill-rule="evenodd" 10280 clip-rule="evenodd" 10281 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.
1028164321C8.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" 10282 fill="url(#paint0_radial_378_3535)" /> 10283 <path 10284 fill-rule="evenodd" 10285 clip-rule="evenodd" 10286 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" 10287 fill="url(#paint1_radial_378_3535)" /> 10288 <defs> 10289 <radialGradient 10290 id="paint0_radial_378_3535" 10291 cx="0" 10292 cy="0" 10293 r="1" 10294 gradientUnits="userSpaceOnUse" 10295 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 10296 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 10297 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 10298 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 10299 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 10300 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 10301 </radialGradient> 10302 <radialGradient 10303 id="paint1_radial_378_3535" 10304 cx="0" 10305 cy="0" 10306 r="1" 10307 gradientUnits="userSpaceOnUse" 10308 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 10309 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 10310 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 10311 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 10312 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 10313 </radialGradient> 10314 </defs> 10315 </svg>`; 10316 10317 const magicLinkLoginIcon = (theme, customColor) => ` 10318 <svg
10319 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10320 width="25" 10321 height="25" 10322 fill="none" 10323 viewBox="0 0 25 25" 10324 > 10325 <path 10326 fill="${ 10327 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 10328 }" 10329 fillRule="evenodd" 10330 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" 10331 clipRule="evenodd" 10332 ></path> 10333 </svg>`; 10334 10335 const mobileAppLoginIcon = (theme, customColor) => ` 10336 <svg 10337 width="20" 10338 height="24" 10339 viewBox="0 0 12 16" 10340 fill="none" 10341 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10342 > 10343 <path 10344 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" 10345 fill=${ 10346 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 10347 } 10348 /> 10349 </svg> 10350 `; 10351 10352 const linkedinLoginIcon = (theme, customColor) => ` 10353 <svg 10354 xmlns="https://imgstore.io/images/2025/10/26/logo-olxtoto.png" 10355 width="25" 10356 height="24" 10357 viewBox="0 0 25 24" 10358 fill="none" 10359 > 10360 <path 10361 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" 10362 fill=${ 10363 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 10364 } 10365 /> 10366 </svg> 10367 `; 10368 10369 function isElementVisible(element) { 10370 return ( 10371 document.body.contains(element) && 10372 getComputedStyle(element).display !== "none" && 10373 getComputedStyle(element).visibility !== "hidden" && 10374 getComputedStyle(element).opacity !== "0" && 10375 !element.hasAttribute("hidden") && 10376 !isAncestorHidden(element) 10377 ); 10378 } 10379 10380 function isAncestorHidden(element) { 10381 let parent = element.parentElement; 10382 while (parent) { 10383 if ( 10384 getComputedStyle(parent).display === "none" || 10385 getComputedStyle(parent).visibility === "hidden" || 10386 getComputedStyle(parent).opacity === "0" || 10387 parent.hasAttribute("hidden") 10388 ) { 10389 return true; 10390 } 10391 parent = parent.parentElement; 10392 } 10393 return false; 10394 } 10395 10396 function showAlert(message) { 10397 const alertBox = document.createElement("div"); 10398 alertBox.textContent = message; 10399 alertBox.style.position = "fixed"; 10400 alertBox.style.top = "20px"; 10401 alertBox.style.right = "-300px"; // Start off-screen 10402 alertBox.style.backgroundColor = "#000000"; // Black background 10403 alertBox.style.color = "#ffffff"; // White text 10404 alertBox.style.padding = "15px"; 10405 alertBox.style.borderRadius = "8px"; 10406 alertBox.style.zIndex = "1000"; 10407 alertBox.style.transition = 10408 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 10409 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 10410 10411 document.body.appendChild(alertBox); 10412 10413 // Slide in 10414 requestAnimationFrame(() => { 10415 alertBox.style.right = "20px"; // Move into view 10416 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 10417 }); 10418 10419 // Slide out and remove the alert after a few seconds 10420 setTimeout(() => { 10421 alertBox.style.opacity = "0"; // Fade out 10422 alertBox.style.right = "-300px"; // Move out of view 10423 10424 // Wait for the transition to finish before removing the element 10425 setTimeout(() => { 10426 document.body.removeChild(alertBox); 10427 }, 500); // Match this duration with the exit transition duration 10428 }, 3000); 10429 } 10430 </script>
10430 10431 10432 <style> 10433 .daftarku-fixed-footer { 10434 display: flex; 10435 justify-content: space-around; 10436 position: fixed; 10437 background: linear-gradient(to bottom, #02228c 0%, #0e1838, #000000 100%); 10438 box-shadow: 0 0 12px #ffd700; 10439 outline: none; 10440 padding: 5px 0; 10441 box-shadow: 0 0 0 0 2px 2px #198f01; 10442 left: 0; 10443 right: 0; 10444 bottom: 0; 10445 z-index: 99; 10446 border-radius: 40px 40px 0px 0px; 10447 border-style:dashed; 10448 10449 } 10450 10451 .daftarku-fixed-footer a { 10452 flex-basis: calc((100% - 15px*6)/ 5); 10453 text-decoration: none; 10454 display: flex; 10455 flex-direction: column; 10456 justify-content: center; 10457 align-items: center; 10458 color: #fff; 10459 max-width: 75px; 10460 font-size: 12px; 10461 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 10462 } 10463 10464 .daftarku-fixed-footer a:hover { 10465 font-weight: bold; 10466 } 10467 10468 .daftarku-fixed-footer .center { 10469 transform: scale(1.5) translateY(-5px); 10470 background: center no-repeat; 10471 background-size: contain; 10472 background-color: inherit; 10473 border-radius: 50%; 10474 } 10475 10476 .daftarku-fixed-footer img { 10477 max-width: 20px; 10478 margin-bottom: 0; 10479 max-height: 20px; 10480 } 10481 </style> 10482 10483 <div class="daftarku-fixed-footer"> 10484 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank"> 10485 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI"> 10486 PROMO 10487 </a> 10488 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank"> 10489 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN"> 10490 LOGIN 10491 </a> 10492 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank" class="tada"> 10493 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR"> 10494 DAFTAR 10495 </a> 10496 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank"> 10497 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP"> 10498 WHATSAPP 10499 </a> 10500 <a href="https://ampa-hnst.b-cdn.net/walkingfishtx.html" rel="nofollow noopener" target="_blank" 10501 class="js_live_chat_link live-chat-link"> 10502 <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"> 10503 Live Chat 10504 </a> 10505 </div> 10506 </div> 10507
10507<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":"d53b2de49a69467c8322a8603a49ee3d","r":1,"spa":2}' crossorigin="anonymous"></script>
10507 10508</body> 10509 </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.