1 2 3 4 5 6 7<!doctype html> 8 <html class="no-js"> 9 <head> 10 <meta charset="utf-8"> 11 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 12 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 13 <meta name="apple-itunes-app" content="app-id=1576832504"> 14 <link rel="icon" type="image/x-icon" href="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png"> 15 <!-- Title and description --> 16 <title>KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia</title> 17 <meta name="description" content="KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses."> 18 <meta name="keywords" content="kebuntoto, kebuntoto login, kebuntoto daftar, kebuntoto situs, toto macau"/> 19 <meta content='index, follow, nosnippet' name='robots'> 20 <link rel="canonical" href="https://hasilmacau88.com/"> 21 <link rel="amphtml" href="https://terbaru.hasilmacau88.live/"/> 22 <link rel="alternate" href="https://hasilmacau88.com/" hreflang="ar" /> 23 <link rel="alternate" href="https://hasilmacau88.com/" hreflang="ru" /> 24 <link rel="alternate" href="https://terbaru.hasilmacau88.live/"> 25 <link rel="alternate" href="https://terbaru.hasilmacau88.live/" hreflang="id"> 26 <link rel="alternate" href="https://terbaru.hasilmacau88.live/" hreflang="en"> 27 <link rel="alternate" href="https://terbaru.hasilmacau88.live/" hreflang="en"> 28 <link rel="alternate" href="https://terbaru.hasilmacau88.live/" hreflang="x-default"> 29 <link rel="alternate" hreflang="id-ID" href="https://terbaru.hasilmacau88.live/" /> 30 <link rel="alternate" hreflang="en-US" href="https://terbaru.hasilmacau88.live/" /> 31 <link rel="alternate" hreflang="en-SG" href="https://terbaru.hasilmacau88.live/" /> 32 <!-- /snippets/social-meta-tags.liquid --> 33 <meta property="og:type" content="KEBUNTOTO"> 34 <meta property="og:title" content="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia"> 35 <meta property="og:image" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 36 <meta property="og:image:secure_url" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 37 <meta property="og:image" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 38 <meta property="og:image:secure_url" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 39 <meta property="og:image" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 40 <meta property="og:image:secure_url" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 41 <meta property="og:description" content="KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses."> 42 <meta property="og:price:amount" content="10,000-,"> 43 <meta property="og:price:currency" content="IDR"> 44 <meta property="og:url" content="https://hasilmacau88.com/"> 45 <meta property="og:site_name" content="KEBUNTOTO"> 46 <meta name="twitter:site" content="@KEBUNTOTO"> 47 <meta name="twitter:card" content="summary"> 48 <meta name="twitter:title" content="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia"> 49 <meta name="twitter:description" content="KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses."> 50 <meta name="twitter:image" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 51 <meta name="twitter:image:width" content="600"> 52 <meta name="twitter:image:height" content="600"> 53 <link rel="shortcut icon" href="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png" type="image/png"> 54 <meta name="theme-color" content="#ffffff"> 55 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 56 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 57 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
57<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
57 58
58<script 59 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 60 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 61 crossorigin="anonymous" 62 referrerpolicy="no-referrer" 63 defer 64 ></script>
64 65 66 <div class="button-login-daftar"> 67 <a class="login" href="https://terbaru.hasilmacau88.live/" rel="nofollow noreferrer" style="color: white;"> 68 LOGIN 69 </a> 70 <a class="register" href="https://terbaru.hasilmacau88.live/" rel="nofollow noreferrer" style="color: white;"> 71 DAFTAR 72 </a> 73 </div> 74 75
75<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
75 76 77 78 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 79 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 80 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 81
81<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
81 82
82<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
82 83
83<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
83 84
84<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
84 85 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 86 <link rel="alternate" type="application/json+oembed" href="https://hasilmacau88.com/"> 87 <link hreflang="id-ID" href="https://hasilmacau88.com/" rel="alternate"/> 88
88<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
88 89
89<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
89 90
90<script>var Shopify = Shopify || {}; 91 Shopify.shop = "outerbloom1.myshopify.com"; 92 Shopify.locale = "en"; 93 Shopify.currency = {"active":"IDR","rate":"1.0"}; 94 Shopify.country = "ID"; 95 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 96 Shopify.theme.handle = "null"; 97 Shopify.theme.style = {"id":null,"handle":null}; 98 Shopify.cdnHost = "outerbloom.com/cdn"; 99 Shopify.routes = Shopify.routes || {}; 100 Shopify.routes.root = "/";</script>
100 101
101<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
101 102
102<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>
102 103
103<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
103 104
104<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 105 "></script>
105 106
106<script>(function() { 107 var isLoaded = false; 108 function asyncLoad() { 109 if (isLoaded) return; 110 isLoaded = true; 111 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"]; 112 for (var i = 0; i < urls.length; i++) { 113 var s = document.createElement('script'); 114 s.type = 'text/javascript'; 115 s.async = true; 116 s.src = urls[i]; 117 var x = document.getElementsByTagName('script')[0]; 118 x.parentNode.insertBefore(s, x); 119 } 120 }; 121 if(window.attachEvent) { 122 window.attachEvent('onload', asyncLoad); 123 } else { 124 window.addEventListener('load', asyncLoad, false); 125 } 126 })();</script>
126 127
127<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>
127 128
128<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
128 129
129<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>
129 130
130<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>
130 131
131<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)}}; 132 </script>
132 133
133<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 134 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); 135 </script>
135 136
136<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})}})); 137 </script>
137 138 139
139<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
139 140 <!-- /snippets/oldIE-js.liquid --> 141 142 143 <!--[if lt IE 9]> 144
144<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
144 145
145<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
145 146 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 147 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 148
148<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
148 149 <![endif]--> 150 151 152 153 154 155 <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"> 156 <link href="https:\/kebuntotohasil.com/apply" rel="dns-prefetch"> 157
157<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:\/kebuntotohasil.com/apply/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>
157 158
158<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:\/kebuntotohasil.com/apply/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":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","url":"\/products\/blossom-shine","type":"KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakse
158s."},"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\":\"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia\",\"url\":\"\/products\/blossom-shine\",\"type\":\"KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
158<script> 159 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 160 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 161 window.ShopifyAnalytics.meta.currency = 'IDR'; 162 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.","variants":[{"id":44083045826775,"price":1000000 163 ,"name":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 164 for (var attr in meta) { 165 window.ShopifyAnalytics.meta[attr] = meta[attr]; 166 } 167 </script>
167 168
168<script class="analytics"> 169 (function () { 170 var customDocumentWrite = function(content) { 171 var jquery = null; 172 173 if (window.jQuery) { 174 jquery = window.jQuery; 175 } else if (window.Checkout && window.Checkout.$) { 176 jquery = window.Checkout.$; 177 } 178 179 if (jquery) { 180 jquery('body').append(content); 181 } 182 }; 183 184 var hasLoggedConversion = function(token) { 185 if (token) { 186 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 187 } 188 return false; 189 } 190 191 var setCookieIfConversion = function(token) { 192 if (token) { 193 var twoMonthsFromNow = new Date(Date.now()); 194 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 195 196 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 197 } 198 } 199 200 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 201 if (trekkie.integrations) { 202 return; 203 } 204 trekkie.methods = [ 205 'identify', 206 'page', 207 'ready', 208 'track', 209 'trackForm', 210 'trackLink' 211 ]; 212 trekkie.factory = function(method) { 213 return function() { 214 var args = Array.prototype.slice.call(arguments); 215 args.unshift(method); 216 trekkie.push(args); 217 return trekkie; 218 }; 219 }; 220 for (var i = 0; i < trekkie.methods.length; i++) { 221 var key = trekkie.methods[i]; 222 trekkie[key] = trekkie.factory(key); 223 } 224 trekkie.load = function(config) { 225 trekkie.config = config || {}; 226 trekkie.config.initialDocumentCookie = document.cookie; 227 var first = document.getElementsByTagName('script')[0]; 228 var script = document.createElement('script'); 229 script.type = 'text/javascript'; 230 script.onerror = function(e) { 231 var scriptFallback = document.createElement('script'); 232 scriptFallback.type = 'text/javascript'; 233 scriptFallback.onerror = function(error) { 234 var Monorail = { 235 produce: function produce(monorailDomain, schemaId, payload) { 236 var currentMs = new Date().getTime(); 237 var event = { 238 schema_id: schemaId, 239 payload: payload, 240 metadata: { 241 event_created_at_ms: currentMs, 242 event_sent_at_ms: currentMs 243 } 244 }; 245 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 246 }, 247 sendRequest: function sendRequest(endpointUrl, payload) { 248 // Try the sendBeacon API 249 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 250 var blobData = new window.Blob([payload], { 251 type: 'text/plain' 252 }); 253 254 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 255 return true; 256 } // sendBeacon was not successful 257 258 } // XHR beacon 259 260 var xhr = new XMLHttpRequest(); 261 262 try { 263 xhr.open('POST', endpointUrl); 264 xhr.setRequestHeader('Content-Type', 'text/plain'); 265 xhr.send(payload); 266 } catch (e) { 267 console.log(e); 268 } 269 270 return false; 271 }, 272 isIos12: function isIos12() { 273 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 274 } 275 }; 276 Monorail.produce('monorail-edge.shopifysvc.com', 277 'trekkie_storefront_load_errors/1.1', 278 {shop_id: 15896833, 279 theme_id: 153139282135, 280 app_name: "storefront", 281 context_url: window.location.href, 282 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 283 284 }; 285 scriptFallback.async = true; 286 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 287 first.parentNode.insertBefore(scriptFallback, first); 288 }; 289 script.async = true; 290 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 291 first.parentNode.insertBefore(script, first); 292 }; 293 trekkie.load( 294 {"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}} 295 ); 296 297 var loaded = false;
298 trekkie.ready(function() { 299 if (loaded) return; 300 loaded = true; 301 302 window.ShopifyAnalytics.lib = window.trekkie; 303 304 var originalDocumentWrite = document.write; 305 document.write = customDocumentWrite; 306 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 307 document.write = originalDocumentWrite; 308 309 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 310 311 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 312 var token = match? match[1]: undefined; 313 if (!hasLoggedConversion(token)) { 314 setCookieIfConversion(token); 315 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 316 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 317 } 318 }); 319 320 321 var eventsListenerScript = document.createElement('script'); 322 eventsListenerScript.async = true; 323 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 324 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 325 326 })();</script>
326 327
327<script> 328 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 329 window.ga = function ga() { 330 (window.ga.q = window.ga.q || []).push(arguments); 331 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 332 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 333 } 334 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."); 335 }; 336 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 337 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 338 } 339 } 340 </script>
340 341
341<script 342 defer 343 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 344 data-application="storefront-renderer" 345 data-shop-id="15896833" 346 data-render-region="gcp-asia-southeast1" 347 data-page-type="product" 348 data-theme-instance-id="153139282135" 349 data-theme-name="" 350 data-theme-version="" 351 data-monorail-region="shop_domain" 352 data-resource-timing-sampling-rate="10" 353 data-shs="true" 354 data-shs-beacon="true" 355 data-shs-export-with-fetch="true" 356 data-shs-logs-sample-rate="1" 357 ></script>
357 358 359
359<script type="application/ld+json"> 360{ 361 "@context": "https://schema.org", 362 "@type": "Product", 363 "name": "KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia", 364 "image": "https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif", 365 "description": "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.", 366 "brand": { 367 "@type": "Brand", 368 "name": "KEBUNTOTO" 369 }, 370 "sku": "KEBUNTOTO-LOGIN", 371 "mpn": "TOTO-MACAU", 372 "url": "https://hasilmacau88.com/", 373 "offers": { 374 "@type": "Offer", 375 "url": "https://hasilmacau88.com/", 376 "priceCurrency": "USD", 377 "price": "11", 378 "priceValidUntil": "2026-11-25", 379 "itemCondition": "https://schema.org/NewCondition", 380 "availability": "https://schema.org/InStock", 381 "seller": { 382 "@type": "Organization", 383 "name": "KEBUNTOTO" 384 } 385 }, 386 "aggregateRating": { 387 "@type": "AggregateRating", 388 "ratingValue": "5.0", 389 "reviewCount": 89426 390 }, 391 "review": [ 392 { 393 "@type": "Review", 394 "reviewRating": { 395 "@type": "Rating", 396 "ratingValue": "5", 397 "bestRating": "5" 398 }, 399 "author": { 400 "@type": "Person", 401 "name": "Galen Wiratma" 402 }, 403 "reviewBody": "Begitu lihat hasil Toto Macau di KEBUNTOTO, rasanya lebih simpel. Tidak banyak tampilan yang bikin penuh mata, datanya langsung kelihatan dan gampang dipantau." 404 }, 405 { 406 "@type": "Review", 407 "reviewRating": { 408 "@type": "Rating", 409 "ratingValue": "5", 410 "bestRating": "5" 411 }, 412 "author": { 413 "@type": "Person", 414 "name": "Arsyan Devandra" 415 }, 416 "reviewBody": "KEBUNTOTO cukup beda buat saya karena hasil Macau-nya disusun rapi. Cocok buat pemain yang ingin cek update cepat tanpa harus buka banyak halaman." 417 }, 418 { 419 "@type": "Review", 420 "reviewRating": { 421 "@type": "Rating", 422 "ratingValue": "5", 423 "bestRating": "5" 424 }, 425 "author": { 426 "@type": "Person", 427 "name": "Raviel Mahesa" 428 }, 429 "reviewBody": "Saya biasanya cari hasil yang mudah dibaca dari HP, dan KEBUNTOTO cukup nyaman untuk itu. Update Toto Macau-nya jelas, tampilannya juga tidak bikin bingung." 430 }, 431 { 432 "@type": "Review", 433 "reviewRating": { 434 "@type": "Rating", 435 "ratingValue": "5", 436 "bestRating": "5" 437 }, 438 "author": { 439 "@type": "Person", 440 "name": "Darel Vionata" 441 }, 442 "reviewBody": "Buat pantauan pemain Asia, KEBUNTOTO terasa praktis. Hasil terbaru Toto Macau bisa dilihat dengan lebih cepat, jadi tidak perlu lama-lama cari info." 443 }, 444 { 445 "@type": "Review", 446 "reviewRating": { 447 "@type": "Rating", 448 "ratingValue": "5", 449 "bestRating": "5" 450 }, 451 "author": { 452 "@type": "Person", 453 "name": "Naufan Elgard" 454 }, 455 "reviewBody": "Yang saya suka, KEBUNTOTO menyajikan hasil Macau dengan gaya yang sederhana tapi tetap lengkap. Buat cek harian, ini enak banget karena informasinya langsung ketemu." 456 } 457 ] 458} 459</script>
vendor: 1 bytes, line 459
459
460<script type="application/ld+json"> 461{ 462 "@context": "https://schema.org", 463 "@type": "BreadcrumbList", 464 "itemListElement": [ 465 { 466 "@type": "ListItem", 467 "position": 1, 468 "name": "KEBUNTOTO", 469 "item": "https://hasilmacau88.com/" 470 }, 471 { 472 "@type": "ListItem", 473 "position": 2, 474 "name": "KEBUNTOTO LOGIN", 475 "item": "https://hasilmacau88.com/" 476 }, 477 { 478 "@type": "ListItem", 479 "position": 3, 480 "name": "KEBUNTOTO DAFTAR", 481 "item": "https://hasilmacau88.com/" 482 }, 483 { 484 "@type": "ListItem", 485 "position": 4, 486 "name": "KEBUNTOTO SITUS", 487 "item": "https://hasilmacau88.com/" 488 }, 489 { 490 "@type": "ListItem", 491 "position": 9, 492 "name": "TOTO MACAU", 493 "item": "https://hasilmacau88.com/" 494 }, 495 { 496 "@type": "ListItem", 497 "position": 9, 498 "name": "KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia", 499 "item": "https://hasilmacau88.com/" 500 } 501 ] 502} 503</script>
503 504
504<script type="application/ld+json"> 505 { 506 "@context": "https://schema.org", 507 "@type": "Organization", 508 "name": "KEBUNTOTO", 509 "url": "https://hasilmacau88.com/", 510 "logo": "https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif", 511 "sameAs": ["https://www.facebook.com/KEBUNTOTO", "https://twitter.com/KEBUNTOTO", "https://www.instagram.com/KEBUNTOTO"], 512 "contactPoint": { 513 "@type": "ContactPoint", 514 "telephone": "+62-812-8874-1411", 515 "contactType": "customer support", 516 "areaServed": "ID", 517 "availableLanguage": ["Indonesian", "English"] 518 } 519 } 520 </script>
520 521
522<script type="application/ld+json" id="faq-schema"> 523{ 524 "@context": "https://schema.org", 525 "@graph": [ 526 { 527 "@type": "FAQPage", 528 "mainEntity": [ 529 { 530 "@type": "Question", 531 "name": "Kapan pemain Asia bisa melihat hasil Toto Macau terbaru di KEBUNTOTO?", 532 "acceptedAnswer": { 533 "@type": "Answer", 534 "text": "Pemain bisa memantau hasil Toto Macau terbaru melalui KEBUNTOTO saat update sudah tersedia. Informasinya dibuat rapi agar mudah dicek tanpa harus mencari ke banyak tempat." 535 } 536 }, 537 { 538 "@type": "Question", 539 "name": "Apa yang membuat hasil Toto Macau di KEBUNTOTO enak dipantau setiap hari?", 540 "acceptedAnswer": { 541 "@type": "Answer", 542 "text": "Penyajiannya sederhana, jelas, dan tidak membingungkan. Pemain bisa langsung melihat hasil terbaru dengan tampilan yang mudah dibaca, baik dari HP maupun desktop." 543 } 544 }, 545 { 546 "@type": "Question", 547 "name": "Apakah KEBUNTOTO cocok untuk pemain yang ingin pantauan cepat?", 548 "acceptedAnswer": { 549 "@type": "Answer", 550 "text": "Cocok, karena KEBUNTOTO menghadirkan akses yang praktis untuk melihat update hasil Toto Macau. Pemain bisa lebih mudah mengikuti perkembangan terbaru tanpa proses yang ribet." 551 } 552 }, 553 { 554 "@type": "Question", 555 "name": "Kenapa hasil Toto Macau untuk pemain Asia perlu disajikan dengan rapi?", 556 "acceptedAnswer": { 557 "@type": "Answer", 558 "text": "Karena pemain dari berbagai wilayah membutuhkan informasi yang jelas dan mudah dipahami. Dengan data yang tersusun rapi, hasil terbaru bisa lebih cepat dibaca dan tidak bikin bingung." 559 } 560 }, 561 { 562 "@type": "Question", 563 "name": "Apa yang bisa didapat pemain dari update hasil Toto Macau di KEBUNTOTO?", 564 "acceptedAnswer": { 565 "@type": "Answer", 566 "text": "Pemain bisa mendapatkan pantauan hasil terbaru, data yang lebih mudah dibaca, dan akses informasi yang nyaman. Semua dibuat agar pengalaman cek hasil terasa lebih praktis setiap hari." 567 } 568 } 569 ] 570 }, 571 { 572 "@type": "Product", 573 "name": "KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia", 574 "image": "https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif", 575 "description": "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.", 576 "url": "https://hasilmacau88.com/", 577 "aggregateRating": { 578 "@type": "AggregateRating", 579 "ratingValue": "5.0", 580 "reviewCount": "8080" 581 }, 582 "review": [ 583 { 584 "@type": "Review", 585 "author": { "@type": "Person", "name": "Galen Wiratma" }, 586 "datePublished": "2026-05-29", 587 "reviewBody": "Begitu lihat hasil Toto Macau di KEBUNTOTO, rasanya lebih simpel. Tidak banyak tampilan yang bikin penuh mata, datanya langsung kelihatan dan gampang dipantau.", 588 "name": "KEBUNTOTO" 589 }, 590 { 591 "@type": "Review", 592 "author": { "@type": "Person", "name": "Arsyan Devandra" }, 593 "datePublished": "2026-05-17", 594 "reviewBody": "KEBUNTOTO cukup beda buat saya karena hasil Macau-nya disusun rapi. Cocok buat pemain yang ingin cek update cepat tanpa harus buka banyak halaman.", 595 "name": "KEBUNTOTO LOGIN" 596 }, 597 { 598 "@type": "Review", 599 "author": { "@type": "Person", "name": "Raviel Mahesa" }, 600 "datePublished": "2026-05-24", 601 "reviewBody": "Saya biasanya cari hasil yang mudah dibaca dari HP, dan KEBUNTOTO cukup nyaman untuk itu. Update Toto Macau-nya jelas, tampilannya juga tidak bikin bingung.", 602 "name": "KEBUNTOTO DAFTAR" 603 }, 604 { 605 "@type": "Review", 606 "author": { "@type": "Person", "name": "Darel Vionata" }, 607 "datePublished": "2026-05-03", 608 "reviewBody": "Buat pantauan pemain Asia, KEBUNTOTO terasa praktis. Hasil terbaru Toto Macau bisa dilihat dengan lebih cepat, jadi tidak perlu lama-lama cari info.", 609 "name": "TOTO MACAU" 610 } 611 ] 612 } 613 ] 614} 615</script>
615 616
617<script type="application/ld+json"> 618{ 619 "@context": "https://schema.org", 620 "@type": "HowTo", 621 "name": "Cara Mengakses Link Toto Macau Resmi Terlengkap KEBUNTOTO", 622 "description": "Panduan langkah demi langkah untuk mengakses situs KEBUNTOTO, memilih game Toto Macau, dan menemukan rekomendasi pasaran Toto Macau dengan peluang kemenangan terbaik hari ini.", 623 "image": "https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png", 624 "step": [ 625 { 626 "@type": "HowToStep", 627 "name": "Akses Link Resmi KEBUNTOTO", 628 "text": "Kunjungi link resmi KEBUNTOTO LOGIN untuk memastikan akses ke Toto Macau terlengkap dengan sistem permainan yang aman dan stabil.", 629 "url": "https://hasilmacau88.com/", 630 "image": "https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 631 }, 632 { 633 "@type": "HowToStep", 634 "name": "Pilih Pasaran Toto Macau yang diinginkan", 635 "text": "Telusuri pasaran Toto Macau dengan feeling ataupun prediksi angka yang menurutmu membawa keburuntungan dan menghasilkan kemenangan yang luar biasa.", 636 "image": "https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 637 }, 638 { 639 "@type": "HowToStep", 640 "name": "Perhatikan Prediksi dan Pasaran Toto Macau", 641 "text": "Pastikan memilih pasaran dengan prediksi angka yang dirasakan akan membawa kemenangan tinggi dari yang sudah disediakan situs KEBUNTOTO.", 642 "image": "https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 643 }, 644 { 645 "@type": "HowToStep", 646 "name": "Manfaatkan Bonus dan Promo", 647 "text": "Gunakan bonus dan promo yang tersedia di KEBUNTOTO untuk menambah modal bermain dan meriah keuntungan.", 648 "image": "https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 649 }, 650 { 651 "@type": "HowToStep", 652 "name": "Mainkan Toto Macau dengan Bijak", 653 "text": "Kelola modal dengan baik dan bermain secara disiplin agar pengalaman bermain Toto Macau tetap aman dan menyenangkan.", 654 "image": "https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 655 } 656 ], 657 "tool": [ 658 { 659 "@type": "HowToTool", 660 "name": "Perangkat smartphone atau komputer" 661 }, 662 { 663 "@type": "HowToTool", 664 "name": "Koneksi internet stabil" 665 } 666 ], 667 "totalTime": "PT5M" 668} 669</script>
669 670 671 </head><body 672 data-template="product" 673 id="blossom-shine" 674 class="template-product template-product" 675 > 676 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 676-679
676 677 <noscript 678 ><iframe 679 src="https://www.googletagmanager.com/ns.html?id=
679GTM-MF9VVZX
vendor: 129 bytes, lines 679-685
679" 680 height="0" 681 width="0" 682 style="display:none;visibility:hidden" 683 ></iframe 684 ></noscript> 685
685<!-- End Google Tag Manager (noscript) --> 686 687 688 689 <div class="header-wrapper"> 690 691 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 692 693 <style> 694#notification { 695 z-index: 99; 696 width: 100%; 697 transition: top 0.2s ease-in-out; 698} 699 700#notification.promo-up { 701 top: -48px !important; 702} 703 704.promo-bg { 705 width: 100%; 706 padding: 6px 0; 707 /* Gradient horizontal kiri - tengah - kanan */ 708 background: linear-gradient(to right, #000000, #2bff00, #000000); 709} 710 711.notification__message p { 712 margin: 0; 713 color: #ffffff; 714 font-size: 20px !important; 715 font-weight: bold; 716} 717 718.notification__message p a { 719 text-decoration: underline; 720 color: #ffffff; 721} 722 723@media (max-width: 991px){ 724 .notification__message p { 725 font-size: 14px !important; 726 } 727} 728</style> 729 730 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 731 <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"> 732 <div class="page-width notification__inner "> 733 734 735 <div class="notification__message text-center"> 736 <p>KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia</p> 737 </div> 738 </div> 739 </div> 740 741 742 743 744 </div> 745 <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"/> 746 747 748 <header style="background: black;"> 749 <div class="container"> 750 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 751 <a href="https://hasilmacau88.com/"> 752 <img src="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" alt="LOGO KEBUNTOTO" style="width: 190px;"></a> 753 <link href="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png" rel="shortcut icon" type="image/x-icon" /> 754 <div id="menu-hamburger" class="d-lg-none"> 755 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="16" height="10" viewBox="0 0 16 10" fill="none"> 756 <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"/> 757 </svg> 758 759 <a href="/"><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" viewBox="0 0 854 78.29"> 760 <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> 761 </svg> 762 </a> 763 </div> 764 765 <div class="header-icon-right header-icons col-3"> 766 <div class="icon icon-account-header d-none d-lg-block"> 767 <a href="https://hasilmacau88.com/"> 768 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="20" height="21" viewBox="0 0 20 21" fill="none"> 769 <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"/> 770 <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"/> 771 </svg> 772 773 </a> 774 </div> 775 <div class="icon icon-wishlist-header"> 776 <a href="https://hasilmacau88.com/"> 777 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 778 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
7786 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 779 </svg> 780 781 <span class="wishlist-count d-none">0</span> 782 </a> 783 </div> 784 <div class="icon icon-cart-header"> 785 <a href="https://hasilmacau88.com/"> 786 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="22" height="21" viewBox="0 0 22 21" fill="none"> 787 <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"/> 788 <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"/> 789 </svg> 790 791 </a> 792 </div> 793 </div> 794 </div> 795 </div> 796 </header> 797 798 <nav class="nav-header" style="background: linear-gradient(to bottom, #000000 0%, #2bff00 50%, #000000 100%);"> 799 <div class="nav-account-mobile row m-0 d-lg-none"> 800 <div class="col-6 welcome-cust p-0"> 801 802 <h1 class="logo"> 803 <a href="https://hasilmacau88.com/"> 804 <img src="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" alt="KEBUNTOTO" style="max-height:60px;"> 805 </a> 806 </h1> 807 808 809 </div> 810 811 <div class="col-6 login-register text-right p-0"> 812 <a href="https://terbaru.hasilmacau88.live/">Log In</a> | <a href="https://terbaru.hasilmacau88.live/">Sign Up</a> 813 </div> 814 </div> 815 <ul class="nav-menu container"> 816 817 <li class=" nav-menu container"> 818 <a href="https://hasilmacau88.com/"> 819 <span style="color: #000000;">KEBUNTOTO</span> 820 821 <li class="nav-menu container"> 822 <a href="https://hasilmacau88.com/"> 823 <span style="color: #000000;">KEBUNTOTO LOGIN</span> 824 825 <li class=" nav-menu container"> 826 <a href="https://hasilmacau88.com/"> 827 <span style="color: #000000;">KEBUNTOTO DAFTAR</span> 828 829 <li class=" nav-menu container"> 830 <a href="https://hasilmacau88.com/"> 831 <span style="color: #000000;">KEBUNTOTO SITUS</span> 832 833 <li class=" nav-menu container"> 834 <a href="https://hasilmacau88.com/"> 835 <span style="color: #000000;">TOTO MACAU</span> 836 837 <div class="overlay-nav"> 838 <!-- Mobile Close Button in Overlay --> 839 <button id="nav-close" class="nav-close-btn d-lg-none"> 840 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 841 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 842 </svg> 843 </button> 844 </div> 845 846
846<script> 847 if ($(window).width() < 992) { 848 // Level 1 menu accordion (main menu items) 849 $(".nav-menu .nav-menu container > a").click(function(e){ 850 e.preventDefault() 851 const parentLi = $(this).parent() 852 const isCurrentlyOpen = parentLi.hasClass("menu-open") 853 854 // Close all other open menus (accordion behavior) 855 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 856 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 857 858 // Toggle current menu 859 if (isCurrentlyOpen) { 860 parentLi.removeClass("menu-open") 861 $(this).next(".megamenu").slideUp() 862 } else { 863 parentLi.addClass("menu-open") 864 $(this).next(".megamenu").slideDown() 865 } 866 }) 867 868 // Level 2 menu accordion (submenu items with grandchildren) 869 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 870 e.preventDefault() 871 const parentLi = $(this).parent() 872 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 873 const grandchild = $(this).next(".grandchild") 874 875 // Close all other open submenus in the same dropdown (accordion behavior) 876 parentLi.siblings('.has-submenu').removeClass("submenu-open") 877 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 878 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 879 880 // Toggle current submenu 881 if (isCurrentlyOpen) { 882 parentLi.removeClass("submenu-open") 883 grandchild.slideUp() 884 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 885 } else { 886 parentLi.addClass("submenu-open") 887 grandchild.slideDown() 888 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 889 } 890 }) 891 892 $("#menu-hamburger").click(function(e){ 893 e.preventDefault() 894 $("body").toggleClass("nav_open") 895 }) 896 897 // Handle close button click 898 $("#nav-close").click(function(e){ 899 e.preventDefault() 900 $("body").removeClass("nav_open") 901 // Close all open menus when close button is clicked 902 $(".nav-menu .nav-menu container").removeClass("menu-open") 903 $(".nav-menu .megamenu").slideUp() 904 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 905 $(".dropdown-menu .grandchild").slideUp() 906 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 907 }) 908 } 909 910 $(".overlay-nav").click(function(e){ 911 e.preventDefault() 912 $("body").removeClass("nav_open") 913 // Close all open menus when overlay is clicked 914 $(".nav-menu .nav-menu container").removeClass("menu-open") 915 $(".nav-menu .megamenu").slideUp() 916 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 917 $(".dropdown-menu .grandchild").slideUp() 918 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 919 }) 920 </script>
920 921 922 923 </div> 924 925 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 926 #search-trigger { 927 cursor: pointer; 928 } 929 #search-popup { 930 display: none; 931 position: fixed; 932 left: 0; 933 width: 100%; 934 top: 0; 935 height: 100%; 936 justify-content: center; 937 z-index: 9999; 938 background: rgb(196 196 196 / 30%); 939 } 940 #search-input { 941 align-self: center; 942 width: 100%; 943 height: 80px; 944 position: absolute; 945 top: 0; 946 border-bottom: 0.5px solid #A3A3A3; 947 background-color: #fff; 948 } 949 #search-input * { 950 align-self: center; 951 } 952 #search-type { 953 width: 100%; 954 border: none; 955 padding-right: 20px; 956 padding-left: 20px; 957 font-size: 16px; 958 color: #757575; 959 } 960 #search-btn { 961 font-size: 16px; 962 font-weight: 500; 963 } 964 #search-result { 965 min-height: 490px; 966 width: 100%; 967 padding-top: 80px; 968 } 969 #search-result .container { 970 background-color: #fff; 971 padding: 20px 40px; 972 } 973 body.search-popup-open { 974 /* .search-popup-open */ 975 overflow: hidden; 976 } 977 .search-popup-open #loc_delivery { 978 display: none 979 } 980 .search-header svg { 981 display: none; 982 cursor: pointer; 983 } 984 .wrapper-search-popup { 985 max-height: calc(100vh - 150px); 986 overflow-y: auto; 987 overflow-x: hidden; 988 } 989 990 .group-recommend { 991 padding: 20px 40px; 992 } 993 994 .resultsearch { 995 display: none; 996 } 997 .results { padding: 20px 40px } 998 .resultsearch label { 999 font-weight: 600; 1000 padding-bottom: 20px; 1001 display: block; 1002 margin-bottom: 20px; 1003 border-bottom: 1px solid #AAAAAA; 1004 } 1005 1006 ul.result_product { 1007 max-height: 300px; 1008 overflow: auto; 1009 } 1010 1011 .group-promotion ul { 1012 margin: 0; 1013 } 1014 .group-promotion li { 1015 list-style: none; 1016 margin-bottom: 12px; 1017 } 1018 .group-promotion li a { 1019 color: inherit; 1020 } 1021 1022 .group-recent { 1023 position: relative; 1024 padding: 20px 40px; 1025 } 1026 .group-recent ul { 1027 margin: 0; 1028 } 1029 .group-recent li { 1030 list-style: none; 1031 display: inline-block; 1032 margin-right: 60px; 1033 } 1034 .group-recent li a { 1035 color: inherit; 1036 } 1037 1038 .last-search svg { 1039 width: 20px; 1040 vertical-align: middle; 1041 } 1042 ul.last-search a { 1043 vertical-align: middle; 1044 padding: 0 10px; 1045 } 1046 ul.last-search li span { 1047 cursor: pointer; 1048 } 1049 .delete-all-history { 1050 position: absolute; 1051 top: 25px; 1052 right: 40px; 1053 text-decoration: underline; 1054 color: #e11d1d; 1055 cursor: pointer; 1056 font-size: 12px; 1057 } 1058 1059 form.search.search-modal__form { 1060 position: relative; 1061 } 1062 1063 button.search__button svg { 1064 width: 25px; 1065 color: #495057; 1066 fill: #757582; 1067 } 1068 1069 button.search__button.field__button { 1070 position: absolute; 1071 top: 50%; 1072 margin-top: -12px; 1073 } 1074 1075 .close-search { 1076 display: none; 1077 position: absolute; 1078 right: 65px; 1079 top: 10px; 1080 cursor: pointer; 1081 } 1082 1083 .site-overlay { 1084 position: fixed; 1085 top: 0; 1086 width: 100vw; 1087 height: 100vh; 1088 z-index: 1000; 1089 background: #0000005c; 1090 visibility: hidden; 1091 opacity: 0; 1092 pointer-events: none; 1093 transition: all .3s linear; 1094 display: block !important; 1095 } 1096 1097 .search-popup-open .site-overlay { 1098 opacity: 1; 1099 visibility: visible; 1100 pointer-events: all; 1101 z-index: -1; 1102 cursor: pointer; 1103 } 1104 1105 @media (min-width: 991px) { 1106 .group-recent ul { 1107 column-count: 3; 1108 } 1109 .group-promotion li a { 1110 font-size: 12px; 1111 font-weight: 400; 1112 } 1113 .group-recent li a { 1114 font-size: 12px; 1115 font-weight: 400; 1116 } 1117 } 1118 1119 .moreresult { 1120 padding: 10px 40px; 1121 border-top: 1px solid #AAAAAA; 1122 } 1123 .moreresult * { 1124 align-self: center; 1125 } 1126 .moreresult p { 1127 margin: 0; 1128 font-size: 12px !important; 1129 } 1130 .moreresult svg { 1131 width: 13px; 1132 } 1133 1134 @media (max-width: 992px) { 1135 .icon-key-mobile { 1136 height: auto!important; 1137 width: 10px!important; 1138 } 1139 body.grid-view.search-popup-open .products { 1140 -ms-flex: 0 0 100%!important; 1141 flex: 0 0 100%!important; 1142 max-width: 100%!important; 1143 } 1144 button.search__button svg {
1145 width: 20px; 1146 } 1147 #search-result { 1148 padding-left: 0; 1149 padding-right: 0; 1150 } 1151 #search-result { 1152 padding-top: 55px; 1153 } 1154 #search-input { 1155 height: 55px; 1156 } 1157 .group-recommend { 1158 padding: 20px; 1159 } 1160 #search-input .container { 1161 padding: 0 20px; 1162 } 1163 #search-type { 1164 font-size: 14px; 1165 } 1166 #search-btn { 1167 font-size: 12px; 1168 text-decoration: underline; 1169 } 1170 .results { 1171 padding: 20px; 1172 } 1173 .group-recommend h3 { 1174 font-size: 16px; 1175 } 1176 .products .card-body { 1177 padding: 8px 0px 10px; 1178 } 1179 .moreresult { 1180 padding: 10px 20px; 1181 } 1182 } 1183 </style> 1184 <style type="text/css"> 1185 div.advertisement-placeholder { 1186 text-align: center; 1187 padding-bottom: 20px; 1188 display: flex; 1189 flex-direction: column; 1190 justify-content: center; 1191 } 1192 div.advertisement-text p { 1193 margin: 0; 1194 font-family: Open Sans; 1195 font-style: normal; 1196 font-weight: normal; 1197 font-size: 10px; 1198 line-height: 20px; 1199 color: #999999; 1200 } 1201 div.advertisement-banner { 1202 margin: 0px auto; 1203 } 1204 div#div-gpt-ad-billboard-placeholder { 1205 width: 996px; 1206 margin: 0 auto; 1207 background: #F5F5F5; 1208 padding-bottom: unset !important; 1209 min-height: 200px; 1210 } 1211 div#div-gpt-ad-lb-placeholder { 1212 background: #F5F5F5; 1213 padding-bottom: unset !important; 1214 min-height: 280px; 1215 } 1216 .faq-section{ 1217 max-width:1200px; 1218 margin:50px auto; 1219 padding:40px 20px; 1220 position:relative; 1221 background-color: rgba(0, 0, 0, 0.1); 1222 backdrop-filter: blur(25px); 1223 border-radius: 20px; 1224 } 1225 1226 .faq-section::before{ 1227 content:""; 1228 position:absolute; 1229 top:0;left:50%; 1230 transform:translateX(-50%); 1231 width:80%; 1232 height:2px; 1233 background:linear-gradient(90deg,transparent,#ffffff,transparent) 1234 } 1235 1236 .faq-section h2{ 1237 text-align:center; 1238 font-size:34px;font-weight:700; 1239 margin-bottom:50px; 1240 background: linear-gradient(135deg, #2bff00, #2bff00, #2bff00); 1241 -webkit-background-clip:text; 1242 -webkit-text-fill-color:transparent; 1243 background-clip:text; 1244 font-family:"Poppins",sans-serif;letter-spacing:1px 1245 } 1246 1247 .faq-container{ 1248 display:flex; 1249 flex-direction:column; 1250 gap:25px 1251 } 1252 1253 .faq-item{ 1254 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 1255 border:2px solid #cecece; 1256 border-radius:20px;overflow:hidden; 1257 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 1258 } 1259 1260 .faq-item:hover{ 1261 border-color:#d80000; 1262 transform:translateX(10px); 1263 box-shadow:0 12px 35px rgba(253, 187, 4, 0.25) 1264 } 1265 1266 .faq-question{width:100%; 1267 padding:28px 35px;background:transparent; 1268 color:#ffffff; 1269 font-size:18px; 1270 font-weight:600; 1271 text-align:left; 1272 border:none;cursor:pointer; 1273 display:flex; 1274 justify-content:space-between; 1275 align-items:center; 1276 font-family:"Poppins",sans-serif; 1277 transition:all .3s ease 1278 } 1279 1280 .faq-question:hover{ 1281 color:#2bff00 1282 } 1283 1284 .faq-question::after{ 1285 content:'+'; 1286 font-size:32px; 1287 font-weight:300; 1288 transition:all .4s ease; 1289 color:#2bff00; 1290 width:40px; 1291 height:40px; 1292 display:flex; 1293 align-items:center; 1294 justify-content:center; 1295 border:2px solid #2bff00;border-radius:50%; 1296 background:rgba(0, 0, 0, 0.1) 1297 } 1298 1299 .faq-item.active .faq-question::after{ 1300 transform:rotate(135deg); 1301 background:linear-gradient(to bottom, #2bff00 0%, #2bff00 50%, #2bff00 100%); 1302 color:#000;border-color:transparent 1303 } 1304 1305 .faq-answer{ 1306 max-height:0; 1307 overflow:hidden; 1308 transition:max-height .5s ease,padding .5s ease; 1309 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1310 padding:0 35px 1311 } 1312 1313 .faq-item.active .faq-answer{ 1314 max-height:800px;padding:30px 35px; 1315 border-top:1px solid #2bff00 1316 } 1317 1318 .faq-answer p{ 1319 color:#e0e0e0; 1320 font-size:16px; 1321 line-height:2; 1322 margin:0; 1323 font-family:"Poppins",sans-serif 1324 } 1325 1326 @media 1327 (max-width:768px) 1328 { 1329 1330 .faq-section 1331 {padding:30px 15px} 1332 1333 .faq-section h2 1334 {font-size:26px} 1335 1336 .faq-question 1337 {font-size:16px; 1338 padding:22px 25px} 1339 1340 .faq-question::after 1341 {width:35px; 1342 height:35px; 1343 font-size:28px} 1344 1345 .faq-answer 1346 {padding:0 25px} 1347 1348 .faq-item.active .faq-answer 1349 {padding:25px} 1350 1351 .faq-item:hover 1352 {transform:translateX(5px)} 1353 } 1354 </style> 1355 <div id="search-popup"> 1356 <div id="search-input" class="row"> 1357 <div class="container w-100"> 1358 <form 1359 action="/search" 1360 method="get" 1361 role="search" 1362 class="search search-modal__form d-flex justify-content-between" 1363 > 1364 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1365 <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"/> 1366 </svg> 1367 1368 <input type="hidden" name="type" value="product"> 1369 <input 1370 type="text" 1371 id="search-type" 1372 name="q" 1373 class="search-popup" 1374 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1375 > 1376 <div class="close-search"><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1377 <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
137712.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"/> 1378 </svg> 1379 </div> 1380 <button id="search-btn">Search</button> 1381 </form> 1382 </div> 1383 </div> 1384 <div id="search-result" class="container m-auto"> 1385 <div class="container p-0"> 1386 <div class="group-promotion"> 1387 <div class="resultsearch"> 1388 <div class="row results"> 1389 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1390 <label>SUGGESTIONS</label> 1391 <ul class="result_collection"></ul> 1392 </div> 1393 <div class="col-12 col-lg-6"> 1394 <label>PRODUCTS</label> 1395 <ul class="result_product"></ul> 1396 </div> 1397 </div> 1398 <div class="d-flex justify-content-between moreresult m-0"> 1399 <p>Search for<span></span></p> 1400 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="32" height="32" viewBox="0 0 32 32"> 1401 <title>icon-arrow-right</title> 1402 <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> 1403 </svg> 1404 </div> 1405 </div> 1406 </div> 1407 <div class="group-recent hide"> 1408 <h3>RECENT SEARCH</h3> 1409 <span class="delete-all-history">Hapus riwayat</span> 1410 <ul class="last-search"></ul> 1411 </div> 1412 <div class="group-recommend"> 1413 <h3>YOU MAY ALSO LIKE</h3> 1414 1415 1416 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1417 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1418 1419 1420 <div class="swiper-slide card"> 1421 1422 1423 1424 1425 <div class="products" data-lazy="false"> 1426 <div class="bg-products"> 1427 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1428 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1429 <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.
142911233C11.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"/> 1430 </svg> 1431 1432 </div> 1433 <a href="/products/mid-autumn-of-love-mooncake"> 1434 1435 <div class="product-card-img-container p-0 position-relative"> 1436 1437 <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"> 1438 </div> 1439 <div class="card-body product-card-info"> 1440 <h5 class="h5 mb-0"> 1441 Mid Autumn of Love Mooncake 1442 </h5> 1443 <div class="product-card-price"> 1444 1445 <div class="product-price-sale"> 1446 <s class="product-card-price-before card-money">Rp 588.000</s> 1447 <span class="product-card-discount small"> 1448 (-40%) 1449 </span> 1450 </div> 1451 1452 1453 1454 <div class="price-discount"> 1455 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1456 </div> 1457 1458 1459 1460 1461 1462 </div> 1463 1464 </div> 1465 </a> 1466 </div> 1467 1468 </div> 1469 1470 </div> 1471 1472 1473 1474 <div class="swiper-slide card"> 1475 1476 1477 1478 1479 <div class="products" data-lazy="false"> 1480 <div class="bg-products"> 1481 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1482 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1483 <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.
148311233C11.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"/> 1484 </svg> 1485 1486 </div> 1487 <a href="/products/mid-autumn-of-joy-mooncake"> 1488 1489 <div class="product-card-img-container p-0 position-relative"> 1490 1491 <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"> 1492 </div> 1493 <div class="card-body product-card-info"> 1494 <h5 class="h5 mb-0"> 1495 Mid Autumn of Joy Mooncake 1496 </h5> 1497 <div class="product-card-price"> 1498 1499 <div class="product-price-sale"> 1500 <s class="product-card-price-before card-money">Rp 888.000</s> 1501 <span class="product-card-discount small"> 1502 (-33%) 1503 </span> 1504 </div> 1505 1506 1507 1508 <div class="price-discount"> 1509 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1510 </div> 1511 1512 1513 1514 1515 1516 </div> 1517 1518 </div> 1519 </a> 1520 </div> 1521 1522 </div> 1523 1524 </div> 1525 1526 1527 1528 <div class="swiper-slide card"> 1529 1530 1531 1532 1533 <div class="products" data-lazy="false"> 1534 <div class="bg-products"> 1535 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1536 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1537 <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.
153711233C11.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"/> 1538 </svg> 1539 1540 </div> 1541 <a href="/products/mid-autumn-of-fortune-mooncake"> 1542 1543 <div class="product-card-img-container p-0 position-relative"> 1544 1545 <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"> 1546 </div> 1547 <div class="card-body product-card-info"> 1548 <h5 class="h5 mb-0"> 1549 Mid Autumn of Fortune Mooncake 1550 </h5> 1551 <div class="product-card-price"> 1552 1553 <div class="product-price-sale"> 1554 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1555 <span class="product-card-discount small"> 1556 (-33%) 1557 </span> 1558 </div> 1559 1560 1561 1562 <div class="price-discount"> 1563 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1564 </div> 1565 1566 1567 1568 1569 1570 </div> 1571 1572 </div> 1573 </a> 1574 </div> 1575 1576 </div> 1577 1578 </div> 1579 1580 1581 1582 <div class="swiper-slide card"> 1583 1584 1585 1586 1587 <div class="products" data-lazy="false"> 1588 <div class="bg-products"> 1589 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1590 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1591 <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.
159111233C11.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"/> 1592 </svg> 1593 1594 </div> 1595 <a href="/products/mid-autumn-festival-mooncake"> 1596 1597 <div class="product-card-img-container p-0 position-relative"> 1598 1599 <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"> 1600 </div> 1601 <div class="card-body product-card-info"> 1602 <h5 class="h5 mb-0"> 1603 Mid Autumn Festival Mooncake 1604 </h5> 1605 <div class="product-card-price"> 1606 1607 <div class="product-price-sale"> 1608 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1609 <span class="product-card-discount small"> 1610 (-23%) 1611 </span> 1612 </div> 1613 1614 1615 1616 <div class="price-discount"> 1617 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1618 </div> 1619 1620 1621 1622 1623 1624 </div> 1625 1626 </div> 1627 </a> 1628 </div> 1629 1630 </div> 1631 1632 </div> 1633 1634 1635 1636 <div class="swiper-slide card"> 1637 1638 1639 1640 1641 <div class="products" data-lazy="false"> 1642 <div class="bg-products"> 1643 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1644 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1645 <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.
164511233C11.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"/> 1646 </svg> 1647 1648 </div> 1649 <a href="/products/the-jade-bouquet"> 1650 1651 <div class="product-card-img-container p-0 position-relative"> 1652 1653 <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"> 1654 </div> 1655 <div class="card-body product-card-info"> 1656 <h5 class="h5 mb-0"> 1657 The Jade Bouquet 1658 </h5> 1659 <div class="product-card-price"> 1660 1661 <div class="product-price-sale"> 1662 <s class="product-card-price-before card-money">Rp 435.000</s> 1663 <span class="product-card-discount small"> 1664 (-34%) 1665 </span> 1666 </div> 1667 1668 1669 1670 <div class="price-discount"> 1671 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1672 </div> 1673 1674 1675 1676 1677 1678 </div> 1679 1680 </div> 1681 </a> 1682 </div> 1683 1684 </div> 1685 1686 </div> 1687 1688 1689 1690 <div class="swiper-slide card"> 1691 1692 1693 1694 1695 <div class="products" data-lazy="false"> 1696 <div class="bg-products"> 1697 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1698 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1699 <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.
169911233C11.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"/> 1700 </svg> 1701 1702 </div> 1703 <a href="/products/the-selena-bouquet"> 1704 1705 <div class="product-card-img-container p-0 position-relative"> 1706 1707 <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"> 1708 </div> 1709 <div class="card-body product-card-info"> 1710 <h5 class="h5 mb-0"> 1711 The Selena Bouquet 1712 </h5> 1713 <div class="product-card-price"> 1714 1715 <div class="product-price-sale"> 1716 <s class="product-card-price-before card-money">Rp 335.000</s> 1717 <span class="product-card-discount small"> 1718 (-29%) 1719 </span> 1720 </div> 1721 1722 1723 1724 <div class="price-discount"> 1725 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1726 </div> 1727 1728 1729 1730 1731 1732 </div> 1733 1734 </div> 1735 </a> 1736 </div> 1737 1738 </div> 1739 1740 </div> 1741 1742 1743 1744 <div class="swiper-slide card"> 1745 1746 1747 1748 1749 <div class="products" data-lazy="false"> 1750 <div class="bg-products"> 1751 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1752 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1753 <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.
175311233C11.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"/> 1754 </svg> 1755 1756 </div> 1757 <a href="/products/the-viola-bouquet"> 1758 1759 <div class="product-card-img-container p-0 position-relative"> 1760 1761 <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"> 1762 </div> 1763 <div class="card-body product-card-info"> 1764 <h5 class="h5 mb-0"> 1765 The Viola Bouquet 1766 </h5> 1767 <div class="product-card-price"> 1768 1769 <div class="product-price-sale"> 1770 <s class="product-card-price-before card-money">Rp 385.000</s> 1771 <span class="product-card-discount small"> 1772 (-25%) 1773 </span> 1774 </div> 1775 1776 1777 1778 <div class="price-discount"> 1779 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1780 </div> 1781 1782 1783 1784 1785 1786 </div> 1787 1788 </div> 1789 </a> 1790 </div> 1791 1792 </div> 1793 1794 </div> 1795 1796 1797 1798 <div class="swiper-slide card"> 1799 1800 1801 1802 1803 <div class="products" data-lazy="false"> 1804 <div class="bg-products"> 1805 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1806 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1807 <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.
180711233C11.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"/> 1808 </svg> 1809 1810 </div> 1811 <a href="/products/the-minerva-bouquet"> 1812 1813 <div class="product-card-img-container p-0 position-relative"> 1814 1815 <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"> 1816 </div> 1817 <div class="card-body product-card-info"> 1818 <h5 class="h5 mb-0"> 1819 The Minerva Bouquet 1820 </h5> 1821 <div class="product-card-price"> 1822 1823 <div class="product-price-sale"> 1824 <s class="product-card-price-before card-money">Rp 385.000</s> 1825 <span class="product-card-discount small"> 1826 (-25%) 1827 </span> 1828 </div> 1829 1830 1831 1832 <div class="price-discount"> 1833 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1834 </div> 1835 1836 1837 1838 1839 1840 </div> 1841 1842 </div> 1843 </a> 1844 </div> 1845 1846 </div> 1847 1848 </div> 1849 1850 1851 1852 <div class="swiper-slide card"> 1853 1854 1855 1856 1857 <div class="products" data-lazy="false"> 1858 <div class="bg-products"> 1859 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1860 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1861 <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.
186111233C11.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"/> 1862 </svg> 1863 1864 </div> 1865 <a href="/products/congraduations-bouquet"> 1866 1867 <div class="product-card-img-container p-0 position-relative"> 1868 1869 <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"> 1870 </div> 1871 <div class="card-body product-card-info"> 1872 <h5 class="h5 mb-0"> 1873 Congraduations Bouquet 1874 </h5> 1875 <div class="product-card-price"> 1876 1877 <div class="product-price-sale"> 1878 <s class="product-card-price-before card-money">Rp 380.000</s> 1879 <span class="product-card-discount small"> 1880 (-25%) 1881 </span> 1882 </div> 1883 1884 1885 1886 <div class="price-discount"> 1887 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1888 </div> 1889 1890 </div> 1891 1892 </div> 1893 </a> 1894 </div> 1895 1896 </div> 1897 1898 </div> 1899 1900 1901 1902 <div class="swiper-slide card"> 1903 1904 1905 1906 1907 <div class="products" data-lazy="false"> 1908 <div class="bg-products"> 1909 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1910 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1911 <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.
191111233C11.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"/> 1912 </svg> 1913 1914 </div> 1915 <a href="/products/grad-gorgeous-bouquet"> 1916 1917 <div class="product-card-img-container p-0 position-relative"> 1918 1919 <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"> 1920 </div> 1921 <div class="card-body product-card-info"> 1922 <h5 class="h5 mb-0"> 1923 Grad & Gorgeous Bouquet 1924 </h5> 1925 <div class="product-card-price"> 1926 1927 <div class="product-price-sale"> 1928 <s class="product-card-price-before card-money">Rp 380.000</s> 1929 <span class="product-card-discount small"> 1930 (-25%) 1931 </span> 1932 </div> 1933 1934 1935 1936 <div class="price-discount"> 1937 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1938 </div> 1939 1940 1941 1942 1943 1944 </div> 1945 1946 </div> 1947 </a> 1948 </div> 1949 1950 </div> 1951 1952 </div> 1953 1954 1955 </div> 1956 </div> 1957 1958 </div> 1959 </div> 1960 </div> 1961 1962 <div class="site-overlay" style="display: none"></div> 1963 </div> 1964
1964<script> 1965 1966 var swiper = new Swiper('.popup-recommend', { 1967 slidesPerView : 4, 1968 spaceBetween: 30, 1969 lazy: true , 1970 speed: 300, 1971 breakpoints: { 1972 // when window width is <= 576px 1973 576: { 1974 slidesPerView: 2, 1975 spaceBetween: 10, 1976 freeMode: true, 1977 resistance : true, 1978 resistanceRatio : 0, 1979 freeModeMomentumRatio : 0.45, 1980 freeModeMomentumVelocityRatio : 1.5 1981 }, 1982 768: { 1983 slidesPerView: 2, 1984 spaceBetween: 10 1985 }, 1986 992: { 1987 slidesPerView: 3, 1988 spaceBetween: 20 1989 } 1990 } 1991 }); 1992 1993 const searchContainer = $("#search-popup") 1994 const searchInput = $(".search-popup") 1995 const result_collection = $('.result_collection') 1996 const result_product = $('.result_product') 1997 const resultsearch = $('.resultsearch') 1998 const resultrecommend = $(".group-recommend") 1999 const moreresult = $(".moreresult") 2000 2001 searchInput.keyup(function(){ 2002 const input = $(this).val() 2003 moreresult.find("p span").text(` â${input}â`) 2004 if(input.length > 2) { 2005 $(".close-search").show() 2006 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 2007 $.ajax({ 2008 type: 'GET', 2009 url, 2010 beforeSend: function() { 2011 // setting a timeout 2012 // $(placeholder).addClass('loading'); 2013 }, 2014 success: function(response) { 2015 resultsearch.show() 2016 resultrecommend.hide() 2017 result_collection.html("") 2018 result_product.html("") 2019 const collections = response.resources.results.collections 2020 const products = response.resources.results.products 2021 let collection_length = collections.length 2022 let product_length = products.length 2023 // if(collections.length > 5) { 2024 // collection_length = 5 2025 // } 2026 // if(products.length > 5) { 2027 // product_length = 5 2028 // } 2029 for(let i=0;i<collection_length;i++){ 2030 const title = collections[i].title 2031 const url = collections[i].url 2032 let html_collection 2033 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 2034 html_collection = ` 2035 <li class="item" data-title="${title}"> 2036 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 2037 </li> 2038 ` 2039 } 2040 result_collection.append(html_collection) 2041 } 2042 for(let i=0;i<product_length;i++){ 2043 const title = products[i].title 2044 const url = products[i].url 2045 const image = products[i].featured_image.url 2046 const vendor = products[i].vendor 2047 let html_product 2048 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 2049 html_product = ` 2050 <li class="item" data-vendor="${vendor}"> 2051 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 2052 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 2053 </a> 2054 </li> 2055 ` 2056 } 2057 result_product.append(html_product) 2058 } 2059 }, 2060 error: function(xhr) { // if error occured 2061 alert("Error occured.please try again"); 2062 }, 2063 complete: function(response) { 2064 // $(placeholder).removeClass('loading'); 2065 }, 2066 dataType: 'JSON' 2067 }); 2068 } else { 2069 result_collection.html("") 2070 result_product.html("") 2071 2072 resultsearch.hide() 2073 resultrecommend.show() 2074 } 2075 }) 2076 2077 moreresult.click(function(){ 2078 $("#search-btn").trigger("click"); 2079 }) 2080 2081 $(".close-search").click(function(){ 2082 $(this).hide() 2083 searchInput.val("") 2084 searchInput.focus() 2085 resultsearch.hide() 2086 resultrecommend.show() 2087 }) 2088 2089 function setCookie(name,value,days) { 2090 var expires = ""; 2091 if (days) { 2092 var date = new Date(); 2093 date.setTime(date.getTime() + (days*24*60*60*1000)); 2094 expires = "; expires=" + date.toUTCString(); 2095 } 2096 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 2097 } 2098 function getCookie(name) { 2099 var nameEQ = name + "="; 2100 var ca = document.cookie.split(';');
2101 for(var i=0;i < ca.length;i++) { 2102 var c = ca[i]; 2103 while (c.charAt(0)==' ') c = c.substring(1,c.length); 2104 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 2105 } 2106 return null; 2107 } 2108 let last_search_name = [] 2109 let last_search_url = [] 2110 $(".group-recent").hide() 2111 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 2112 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 2113 $(".group-recent").show() 2114 last_search_name = getCookie("last_search_name"); 2115 last_search_url = getCookie("last_search_url"); 2116 const arrName = last_search_name.substring(1).split(',').reverse() 2117 const arrUrl = last_search_url.substring(1).split(',').reverse() 2118 console.log(arrName, 'Array Name') 2119 console.log(arrUrl, 'Array Url') 2120 let length = arrName.length 2121 if(arrName.length > 5) { 2122 length = 5 2123 } 2124 for(let n=0;n<length;n++){ 2125 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 2126 $(".group-recent ul").append(html2) 2127 } 2128 } 2129 } 2130 console.log(last_search_name, 'Name') 2131 console.log(last_search_url, 'url') 2132 2133 resultsearch.delegate(".item a", "click", function(){ 2134 let name = [last_search_name] 2135 let url = [last_search_url] 2136 name.push($(this).attr('data-title')) 2137 url.push($(this).attr('data-url')) 2138 setCookie("last_search_name",name,7); 2139 setCookie("last_search_url",url,7); 2140 }) 2141 2142 $(".delete-all-history").click(function() { 2143 setCookie("last_search_name",null,0); 2144 setCookie("last_search_url",null,0); 2145 $(".last-search").hide(); 2146 setTimeout(function(){ 2147 location.reload(); 2148 }, 500); 2149 }) 2150 2151 $("#search-trigger").click(function(){ 2152 search_open() 2153 }) 2154 $(".icon-search-mobile").click(function(){ 2155 search_open() 2156 }) 2157 $(".search-header svg").click(function(){ 2158 search_close() 2159 }) 2160 $(".icon-key-mobile").click(function(){ 2161 search_close() 2162 }) 2163 2164 function search_open() { 2165 $("body").addClass("search-popup-open") 2166 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 2167 $("#search-popup, .search-header svg, .icon-key-mobile").show() 2168 $(".search-popup").focus() 2169 $('.popup-recommend')[0].swiper.update(); 2170 } 2171 function search_close() { 2172 $("body").removeClass("search-popup-open") 2173 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 2174 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 2175 searchInput.val("") 2176 resultsearch.hide() 2177 resultrecommend.show() 2178 } 2179 2180 $(".site-overlay").click(function(){ 2181 search_close() 2182 }) 2183 </script>
2183 2184 2185 </div> 2186 </div> 2187 2188 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 2189 <main class="main-content pt-0" role="main"> 2190 2191 <div id="breadcrumbProduct" class="d-none d-lg-block"> 2192 <style> 2193 #breadcrumbProduct { 2194 padding: 20px 0; 2195 } 2196 #breadcrumbProduct ul { 2197 display: flex; 2198 padding: 0; 2199 list-style: none; 2200 margin: 0; 2201 gap: 12px; 2202 } 2203 #breadcrumbProduct ul li { 2204 text-transform: uppercase; 2205 margin: 0; 2206 font-size: 12px; 2207 } 2208 #breadcrumbProduct ul li a { 2209 color: #757575; 2210 } 2211 2212 #breadcrumbProduct ul li svg { 2213 width: 10px; 2214 height: 10px; 2215 padding: 0; 2216 color: #757575; 2217 vertical-align: middle; 2218 } 2219 </style> 2220 <div class="container" style="color: #ffffff;"> 2221 <ul role="navigation" aria-label="breadcrumbs"> 2222 <li><a href="https://hasilmacau88.com/" style="color: #ffffff;">KEBUNTOTO</a></li> 2223 <li><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2224 <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"/> 2225 </svg></li> 2226 <li><a href="https://hasilmacau88.com/" style="color: #ffffff;">KEBUNTOTO LOGIN</a></li> 2227 <li><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2228 <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"/> 2229 </svg></li> 2230 <li><a href="https://hasilmacau88.com/" style="color: #ffffff;">TOTO MACAU</a></li> 2231 <li><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2232 <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"/> 2233 </svg></li> 2234 <li><a style="color: #ffffff;">KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia</a></li> 2235 2236 2237 </ul> 2238 </div> 2239 2240 </div> 2241 2242 2243 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="//outerbloom.com/cdn/shop/t/138/assets/product.css?v=31392998782552138141759380387" rel="stylesheet" type="text/css" media="all" /> 2244 2245 2246 <style> 2247 .bg-card { 2248 background-color: #000000; 2249 } 2250 </style> 2251 2252 <!-- /templates/product.liquid --> 2253 2254 2255 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2256 2257 2258 <div class="product-standing-flower" data-product-type="flowerBoard"> 2259 <meta itemprop="url" content="https://hasilmacau88.com/"> 2260 <meta itemprop="image" content="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 2261 2262 2263 2264 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2265 <div class="product-single" style="background-image: url(https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png); background-attachment: fixed;"> 2266 <div id="product-top" class="container"> 2267 <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;"> 2268 <div id="product-image" class="col-lg-7 text-center"> 2269 <div class="product-image"> 2270 <div class="row no-gutters"> 2271 2272 <div id="product-featured-image" class="row w-100"> 2273 2274 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2275 2276 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2277 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2278 2279 <li class="swiper-slide" data-type="image"> 2280 <a 2281 href="files/Blossom-Shine-WM.jpg" 2282 data-standard="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2283 data-image="files/Blossom-Shine-WM.jpg" 2284 data-position="1" 2285 class="product-single__thumbnail" 2286 > 2287 <img 2288 class="lazyload w-100" 2289 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2290 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2291 width="" 2292 height="" 2293 > 2294 </a> 2295 </li> 2296 2297 2298 2299 2300 <li class="swiper-slide" data-type="image"> 2301 <a 2302 href="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2303 data-standard="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2304 data-image="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2305 data-position="2" 2306 class="product-single__thumbnail" 2307 > 2308 <img 2309 class="lazyload w-100" 2310 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2311 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2312 width="" 2313 height="" 2314 > 2315 </a> 2316 </li> 2317 2318 2319 2320 2321 <li class="swiper-slide" data-type="image"> 2322 <a 2323 href="files/Blossom-Shine_3-WM.jpg" 2324 data-standard="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2325 data-image="files/Blossom-Shine_3-WM.jpg" 2326 data-position="3" 2327 class="product-single__thumbnail" 2328 > 2329 <img 2330 class="lazyload w-100" 2331 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2332 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2333 width="" 2334 height="" 2335 > 2336 </a> 2337 </li> 2338 2339 2340 2341 2342 <li class="swiper-slide" data-type="image"> 2343 <a 2344 href="files/Blossom-Shine_4.jpg" 2345 data-standard="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2346 data-image="files/Blossom-Shine_4.jpg" 2347 data-position="4" 2348 class="product-single__thumbnail" 2349 > 2350 <img 2351 class="lazyload w-100" 2352 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2353 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2354 width="" 2355 height="" 2356 > 2357 </a> 2358 </li> 2359 2360 2361 2362 </ul> 2363 </div> 2364 2365 </div> 2366 2367 <div 2368 id="featured-image-product" 2369 class="col-lg-10 col-12 d-none d-lg-block" 2370 > 2371 <div class="swiper-container gallery-top"> 2372 <div class="swiper-slide product-single__image"> 2373 2374 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2375 2376 2377 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2378 <a href="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png"> 2379 <img 2380 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2381 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2382 id="ProductPhotoImg" 2383 class="lazyload" 2384 > 2385 2386 </a> 2387 </div> 2388 </div> 2389 2390 </div> 2391 <div class="swiper-slide product-single__video" style="display: none"> 2392 <video 2393 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2394 playsinline 2395 loop 2396 muted 2397 ></video> 2398 </div> 2399 </div>
2400 </div> 2401 </div> 2402 2403 <div id="featured-image-product2" class="col-12 d-lg-none"> 2404 <div class="swiper-container gallery-mobile"> 2405 <ul class="swiper-wrapper"> 2406 <li class="swiper-slide img"> 2407 2408 <img 2409 class="swiper-lazy" 2410 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2411 data-src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2412 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2413 width="" 2414 height="" 2415 > 2416 2417 </li> 2418 2419 2420 <li class="swiper-slide img"> 2421 2422 <img 2423 class="swiper-lazy" 2424 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2425 data-src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2426 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2427 width="" 2428 height="" 2429 > 2430 2431 </li> 2432 2433 2434 <li class="swiper-slide img"> 2435 2436 <img 2437 class="swiper-lazy" 2438 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2439 data-src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2440 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2441 width="" 2442 height="" 2443 > 2444 2445 </li> 2446 2447 2448 <li class="swiper-slide img"> 2449 2450 <img 2451 class="swiper-lazy" 2452 src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2453 data-src="https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png" 2454 alt="KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia" 2455 width="" 2456 height="" 2457 > 2458 2459 </li> 2460 2461 2462 </ul> 2463 2464 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div> 2465 <div class="swiper-button-next"><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2466 <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"/> 2467 </svg></div> 2468 2469 <!-- Add Pagination --> 2470 <div class="swiper-pagination"></div> 2471 2472 </div> 2473 </div> 2474 2475 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2476 <!-- product video --> 2477 <style> 2478 .c-pdp-product-info { 2479 background-color: #000000 !important; 2480 padding: 12px; 2481 margin: 0; 2482 color: white; 2483 } 2484 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2485 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2486 .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;} 2487 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2488 .close-video .icon{width:30px;height:30px;} 2489 /*responsive iframe */ 2490 .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);} 2491 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2492 2493 .youtube { 2494 background-color: #000; 2495 margin-bottom: 30px; 2496 position: relative; 2497 padding-top: 56.25%; 2498 overflow: hidden; 2499 cursor: pointer; 2500 width: 100%; 2501 } 2502 .swiper-slide .youtube { 2503 max-width: 480px; 2504 } 2505 .youtube img { 2506 width: 100%; 2507 top: -16.82%; 2508 left: 0; 2509 opacity: 0.7; 2510 } 2511 .youtube .play-button { 2512 width: 90px; 2513 height: 60px; 2514 background-color: #333; 2515 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2516 z-index: 1; 2517 opacity: 0.8; 2518 border-radius: 6px; 2519 } 2520 .youtube .play-button:before { 2521 content: ""; 2522 border-style: solid; 2523 border-width: 15px 0 15px 26.0px; 2524 border-color: transparent transparent transparent #fff; 2525 } 2526 .youtube img, 2527 .youtube .play-button { 2528 cursor: pointer; 2529 } 2530 .youtube img, 2531 .youtube iframe, 2532 .youtube .play-button, 2533 .youtube .play-button:before { 2534 position: absolute; 2535 } 2536 .youtube .play-button, 2537 .youtube .play-button:before { 2538 top: 50%; 2539 left: 50%; 2540 transform: translate3d( -50%, -50%, 0 ); 2541 } 2542 .youtube iframe { 2543 height: 100%; 2544 width: 100%; 2545 top: 0; 2546 left: 0; 2547 } 2548 </style> 2549 2550 2551 </div> 2552 </div> 2553 2554 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2555 2556 </div> 2557 2558
2558<script> 2559 if ($(window).width() < 991) { 2560 var direction = 'horizontal' 2561 } else { 2562 var direction = 'vertical' 2563 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2564 } 2565 var swiper = new Swiper('.gallery-thumbs', { 2566 2567 direction, 2568 slidesPerView: 4.5, 2569 spaceBetween: 12, 2570 navigation: { 2571 nextEl: '.swiper-button-next', 2572 prevEl: '.swiper-button-prev', 2573 } 2574 }); 2575 2576 var swiper = new Swiper('.gallery-mobile', { 2577 //loop: true, 2578 lazy: true, 2579 speed: 300, 2580 resistance : true, 2581 resistanceRatio : 0, 2582 freeModeMomentumRatio : 0.45, 2583 freeModeMomentumVelocityRatio : 1.5, 2584 navigation: { 2585 nextEl: '.swiper-button-next', 2586 prevEl: '.swiper-button-prev', 2587 }, 2588 pagination: { 2589 el: '.swiper-pagination' 2590 }, 2591 useCSS3Transforms: false, 2592 loop: false, 2593 on: { 2594 init: function () { 2595 console.log('swiper initialized'); 2596 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2597 currentVideo.trigger('play'); 2598 }, 2599 }, 2600 }); 2601 2602 /* GET ALL VIDEOS */ 2603 var sliderVideos = $(".swiper-slide video"); 2604 2605 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2606 swiper.on('slideChange', function () { 2607 console.log('slide changed'); 2608 /* stop all videos */ 2609 sliderVideos.each(function( index ) { 2610 this.currentTime = 0; 2611 }); 2612 2613 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2614 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2615 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2616 prevVideo.trigger('stop'); 2617 currentVideo.trigger('play'); 2618 }); 2619 2620 2621 $("[data-video]").click(function(){ 2622 const file = $(this).data("video") 2623 $(".product-single__video").show() 2624 $(".product-single__image").hide() 2625 $(".product-single__video").find("video").attr("src", file) 2626 $(".product-single__video").find("video")[0].play(); 2627 }) 2628 $("[data-image]").click(function(){ 2629 $(".product-single__video").hide() 2630 $(".product-single__image").show() 2631 $(".product-single__video").find("video")[0].pause(); 2632 }) 2633 2634 $("#product-image .swiper-slide").each(function(){ 2635 let width = $(this).width() 2636 $(this).height(width) 2637 }) 2638 2639 $(window).resize(function() { 2640 $("#product-image .swiper-slide").each(function(){ 2641 let width = $(this).width() 2642 $(this).height(width) 2643 }) 2644 }) 2645 </script>
2645 2646 2647 </div> 2648 2649 2650 <div class="grid__item_product-info mb-3"> 2651 <div class="c-pdp-product-info"> 2652 <h2 style="color: #2bff00;">KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia</h2> 2653 <p><a href="https://hasilmacau88.com/" style="color: #2bff00;">KEBUNTOTO</a> menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia yang ingin mendapatkan informasi dengan cara lebih cepat, jelas, dan tidak ribet. Setiap update hasil disajikan dengan tampilan yang rapi, sehingga pemain bisa langsung melihat data penting tanpa harus membuka banyak halaman lain. Buat yang rutin mengikuti perkembangan Toto Macau, KEBUNTOTO terasa praktis karena informasinya mudah dibaca dari HP maupun desktop, cocok untuk pantauan harian yang simpel tapi tetap lengkap.</p> 2654 <p style="text-align: justify; color: #ffffff;">Selain menghadirkan hasil terbaru, KEBUNTOTO juga dibuat agar pemain lebih nyaman saat mencari update <a href="https://hasilmacau88.com/" style="color: #2bff00;">Toto Macau</a> setiap hari. Penyajian datanya tidak dibuat berlebihan, jadi pemain bisa langsung fokus ke informasi yang dibutuhkan. Inilah yang membuat banyak pemain merasa KEBUNTOTO berbeda, karena hasil Macau yang ditampilkan terasa lebih bersih, mudah dipantau, dan relevan untuk seluruh pemain Asia yang ingin mengikuti update dengan lebih santai dan terarah.</p> 2655 </ul> 2656 </div> 2657 </div> 2658 2659 2660 2661 <style> 2662 .c-pdp-product-info__service--active { 2663 font-size: 12px; 2664 padding-left: 10px; 2665 text-align: left; 2666 max-width: 550px; 2667 margin: auto; 2668 } 2669 .c-pdp-product-info__service--active li { 2670 list-style: disc; 2671 } 2672 .c-pdp-product-info { 2673 background-color: #f5f5f5; 2674 padding: 12px; 2675 margin: 0; 2676 } 2677 .freeship em { 2678 font-style: italic; 2679 font-size: 12px !important; 2680 } 2681 2682 2683 </style> 2684 2685
2685<script> 2686 $(document).ready(function(){ 2687 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2688 $(".c-pdp-product-info__service").addClass("no-bullet"); 2689 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2690 } 2691 }); 2692 </script>
2692 2693 2694 </div> 2695 <div id="product-meta" class="col-lg-5 p-0"> 2696 <div class="product-meta"> 2697 <style> 2698 .product-meta--review {margin-top:10px} 2699 .freeship * {font-size: 14px !important;font-style: normal;} 2700 </style> 2701 <h1 itemprop="name" class="mb-2" style="color: rgb(21, 255, 0); font-weight: bold;">KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia</h1> 2702 2703 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2704 <meta itemprop="priceCurrency" content="IDR"> 2705 2706 <link itemprop="availability" href="https://schema.org/InStock"> 2707
2707<script 2708 type="text/javascript" 2709 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2710 async="async" 2711 ></script>
2711 2712 2713 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2714 2715 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2716 2717 <div class="row no-gutters mb-3"> 2718 <span 2719 id="ProductPrice" 2720 class="h2 ProductPrice" 2721 itemprop="price" 2722 content="835000" style="color: #ffffff;" 2723 > 2724 Rp 5.000 2725 </span> 2726 <div class="discount-product-detail"> 2727 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2728 Rp 100.000 2729 </p> 2730 <span class=" tag-discount"> 2731 2732 2733 <span id="newDiscount" class="product-tag persentase-discount hide"> 2734 (90%) 2735 </span><br> 2736 2737 </span> 2738 </div> 2739 </div> 2740 2741 <div class="row no-gutters meta-sds"> 2742 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2743 2744 2745 <span 2746 id="ProductStock-Product" 2747 class="product-single__stock mb-2 hide" 2748 > 2749 2750 2751 2752 2753 Barang dikirim pada 2754 2755 2756 2757 </span> 2758 2759 <style> 2760 .short-desc-desktop { 2761 margin-bottom: 2rem; 2762 color: white; 2763 } 2764 .short-desc ul li:nth-child(n + 4) { 2765 display: none; 2766 } 2767 .short-desc ul li.showList:nth-child(n + 4) { 2768 display: list-item; 2769 } 2770 label.more { 2771 display: none; 2772 } 2773 label.more.showMe { 2774 display: block; 2775 font-size: 12px; 2776 text-transform: uppercase; 2777 font-weight: 700; 2778 cursor: pointer; 2779 } 2780 </style> 2781 2782 <div class="short-desc-desktop d-none d-lg-block"> 2783 <div class="short-desc"> 2784 2785 <p>KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.</p> 2786 </div> 2787 <label class="more">Show More â</label>
2788 </div><br> 2789 2790 2791
2791<script> 2792 var liCount; 2793 $(document).ready(function () { 2794 $(".short-desc ul").each(function() { 2795 liCount = $(this).children("li").length; 2796 if (liCount > 3) { 2797 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2798 } 2799 }); 2800 2801 $(".more").click(function () { 2802 //$(".short-desc").find("li").addClass("showList"); 2803 // $(this).hide(); 2804 $("#product-desc").find("ul").show() 2805 $('html, body').animate({ 2806 scrollTop: $("#product-desc").offset().top - 250 2807 }, 2000); 2808 $("#product-desc").css("height","auto"); 2809 $("#more_content").remove(); 2810 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2811 }); 2812 }); 2813 </script>
2813 2814 2815 2816 </div> 2817 </div> 2818 2819 <div id="purchaseProduct"> 2820 2821 2822 2823 2824 <style> 2825 .variant-metafield { 2826 display: block!important; 2827 width: 1px; 2828 padding: 0; 2829 border-color: #fff; 2830 } 2831 .select2-results__option[aria-disabled] { 2832 display: none; 2833 } 2834 2835 .towel-bordir { 2836 width: 100%; 2837 display: flex; 2838 align-items: center; 2839 justify-content: space-around; 2840 } 2841 </style> 2842 2843 2844 2845 2846
2846<script> 2847 2848 2849 </script>
2849 2850 2851 2852 2853 2854 2855 2856 <select 2857 name="id[]" 2858 id="productSelect" 2859 class="product-single__variants ignore hide hide" 2860 > 2861 2862 2863 2864 <option 2865 2866 selected="selected" 2867 2868 data-sku="OBVSTF1086" 2869 value="44083045826775" 2870 > 2871 Default Title 2872 </option> 2873 2874 2875 2876 </select> 2877 2878
2878<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2878 2879 2880
2880<script> 2881 $('.size-chart-open-popup').magnificPopup({ 2882 type:'inline', 2883 midClick: true 2884 }); 2885 </script>
2885 2886 2887 2888 2889 2890 <div class="upload-image-preview"> 2891 2892 2893 2894 2895 2896 <style> 2897 .file-dnd * { 2898 margin: 0; 2899 padding: 0; 2900 box-sizing: border-box; 2901 } 2902 .file-dnd { 2903 width: 100%; 2904 height: 250px; 2905 border: 1px solid #ddd; 2906 border-radius: 10px; 2907 padding: 15px; 2908 display: flex; 2909 flex-direction: column; 2910 gap: 10px; 2911 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2912 margin: auto; 2913 } 2914 .file-dnd input { 2915 display: none; 2916 } 2917 .file-dnd .before-upload { 2918 border: 1px dashed #888; 2919 flex: 1; 2920 border-radius: 5px; 2921 display: flex; 2922 justify-content: center; 2923 align-items: center; 2924 text-align: center; 2925 cursor: pointer; 2926 } 2927 .file-dnd .before-upload > div { 2928 display: flex; 2929 flex-direction: column; 2930 align-items: center; 2931 gap: 8px; 2932 } 2933 .file-dnd .before-upload > div h4 { 2934 width: 150px; 2935 } 2936 .file-dnd .before-upload > div p { 2937 font-size: 12px !important; 2938 color: #555; 2939 } 2940 .file-dnd.active .before-upload { 2941 border: 1px solid #5750d9; 2942 background-color: #f5f5ff; 2943 } 2944 .file-dnd .after-upload { 2945 position: relative; 2946 display: none; 2947 } 2948 .file-dnd .after-upload img { 2949 width: 100%; 2950 border-radius: 5px; 2951 max-height: 180px; 2952 object-fit: contain; 2953 display: block; 2954 } 2955 .file-dnd .after-upload .clear-btn { 2956 position: absolute; 2957 top: 10px; 2958 right: 10px; 2959 background: rgba(0, 0, 0, 0.5); 2960 width: 15px; 2961 height: 15px; 2962 text-align: center; 2963 line-height: 15px; 2964 border-radius: 50%; 2965 color: #fff; 2966 cursor: pointer; 2967 font-size: 14px; 2968 } 2969 </style> 2970 2971 <div 2972 class="file-dnd mb-3" 2973 2974 style="display: none" 2975 2976 > 2977 <label for="upload-photo">Upload your Photo:</label> 2978 <input type="file" id="upload-photo" accept="image/*"> 2979 <input type="hidden" data-properties="Photo"> 2980 <div class="before-upload"> 2981 <div> 2982 <svg id="surface1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2983 <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> 2984 <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> 2985 <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> 2986 </svg> 2987 2988 <h4>Drag & Drop Photo file or Browse</h4> 2989 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2990 </div> 2991 </div> 2992 <div class="after-upload"> 2993 <div class="clear-btn">×</div> 2994 <img src="" width="" height=""> 2995 </div> 2996 </div> 2997
2997<script> 2998 function applyDndFile(el) { 2999 const parent = document.querySelector(".file-dnd") 3000 const beforeUploadEl = el.querySelector(".before-upload") 3001 const afterUploadEl = el.querySelector(".after-upload") 3002 const inputFile = el.querySelector("input[type=file]") 3003 const imagePreview = el.querySelector(".after-upload img") 3004 const clearBtn = el.querySelector(".after-upload .clear-btn") 3005 const inputProps = parent.querySelector("[data-properties]"); 3006 3007 async function upload(name, uri, type) { 3008 try { 3009 const filename = name.split('.')[0] 3010 let formData = new FormData(); 3011 formData.append("file", uri); 3012 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3013 method: "POST", 3014 body: formData 3015 }) 3016 if(response) { 3017 const res = await response.json() 3018 return res 3019 } 3020 } catch(err){ 3021 console.log(err) 3022 } 3023 } 3024 3025 function showImagePreview(img) { 3026 if(img){ 3027 const blobUrl = URL.createObjectURL(img) 3028 imagePreview.src = blobUrl 3029 afterUploadEl.style.display = "block" 3030 beforeUploadEl.style.display = "none" 3031 } 3032 } 3033 3034 beforeUploadEl.addEventListener("click", (e) => { 3035 e.preventDefault() 3036 inputFile.click() 3037 }) 3038 3039 inputFile.addEventListener("change", async (e) => { 3040 e.preventDefault() 3041 showImagePreview(e.target.files[0]) 3042 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3043 inputProps.value = uploadData?.url 3044 }) 3045 3046 clearBtn.addEventListener("click", (e) => { 3047 afterUploadEl.style.display = "none" 3048 beforeUploadEl.style.display = "flex" 3049 inputProps.value = "" 3050 }) 3051 3052 beforeUploadEl.addEventListener("dragover", (e) => { 3053 e.preventDefault() 3054 el.classList.add("active") 3055 }) 3056 3057 beforeUploadEl.addEventListener("dragleave", (e) => { 3058 e.preventDefault() 3059 el.classList.remove("active") 3060 }) 3061 3062 beforeUploadEl.addEventListener("drop", async (e) => { 3063 e.preventDefault() 3064 el.classList.remove("active") 3065 showImagePreview(e.dataTransfer.files[0]) 3066 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3067 console.log(uploadData) 3068 inputProps.value = uploadData?.url 3069 }) 3070 } 3071 3072 applyDndFile(document.querySelector(".file-dnd")) 3073 3074 $(document).ready(function(){ 3075 $(".variant-swatch").change(function(){ 3076 const v = $(this).val().toLowerCase() 3077 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3078 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3079 $(".file-dnd").hide() 3080 $(".file-dnd").find("[data-properties]").val("") 3081 $(".after-upload").hide() 3082 $(".before-upload").css("display", "flex") 3083 }) 3084 }) 3085 </script>
3085 3086 3087 </div> 3088 3089 3090 <div class="delivery-city mb-4"> 3091 <a href="https://terbaru.hasilmacau88.live/"> 3092 <center><img src="https://imgbest.store/images/2026/06/13/gif-panjang-kebuntoto.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 3093 <h4 class="fw-600 text-uppercase mb-15" style="color: #ffd900; font-weight: bold;">KEBUNTOTO hadir sebagai tempat di mana para pecinta toto macau berkumpul untuk melihat hasil terbaru yang telah diluncurkan untuk seluruh pemain asia dengan angka yang jelas dan akurat langsung dari pusat.</h4> 3094 <div class="row justify-content-between m-0"> 3095 <select id="cities" class="form-control select-search" required> 3096 <option value="">Login Dan Mainkan toto macau Pasaran Favorit Kalian dan Rasakan Sensasi Kemenangan besar & memuaskan di KEBUNTOTO Sekarang.</option> 3097 </select> 3098 </div> 3099 </div> 3100 3101 <style> 3102 @media (max-width: 768px) { 3103 .select2-search__field { 3104 pointer-events: none !important; 3105 } 3106 3107 .select2-search { 3108 display: none !important; 3109 } 3110 } 3111 </style> 3112 3113
3113<script> 3114 $(document).ready(function() { 3115 // Check if mobile 3116 if (window.innerWidth <= 768) { 3117 // When cities select2 opens on mobile, remove focus from search 3118 $('#cities').on('select2:open', function() { 3119 setTimeout(function() { 3120 $('.select2-search__field').blur(); 3121 $('.select2-search__field').prop('readonly', true); 3122 }, 100); 3123 }); 3124 } 3125 }); 3126 </script>
3126 3127 3128 <style> 3129 .icon-img-footer { 3130 width: 80px; 3131 padding: 0px 5px; 3132 } 3133 @media (min-width: 768px) { 3134 .icon-img-footer { 3135 width: 120px; 3136 } 3137 } 3138 @media (min-width: 992px) { 3139 .icon-img-footer { 3140 width: 120px; 3141 } 3142 } 3143 3144 3145 </style> 3146<style> 3147 :root { 3148 --brand: #00fffb; 3149 --brand-mid: #009297; 3150 --brand-dark: #006962; 3151 --border: #e5e7eb; 3152 --bg: #fff; 3153 --shadow: 0 6px 15px rgba(0, 0, 0, .08); 3154 } 3155 3156 .app-card { 3157 max-width: 650px; 3158 margin: 25px auto; 3159 background: var(--bg); 3160 border-radius: 14px; 3161 overflow: hidden; 3162 box-shadow: var(--shadow); 3163 border: 1px solid var(--border); 3164 transition: transform .2s, box-shadow .3s; 3165 font-family: system-ui, Arial, sans-serif; 3166 font-size: .92rem; 3167 } 3168 3169 .app-card:hover { 3170 transform: translateY(-2px); 3171 box-shadow: 0 10px 25px rgba(0, 0, 0, .12); 3172 } 3173 3174 .app-header { 3175 padding: 12px 16px; 3176 text-align: center; 3177 background: linear-gradient(135deg, #000000, #ffd700, #000000); 3178 color: #fff; 3179 font-weight: 800; 3180 font-size: 1.15rem; 3181 text-shadow: 0 1px 2px rgba(0, 0, 0, .3); 3182 } 3183 3184 .app-table { 3185 width: 100%; 3186 border-collapse: collapse; 3187 } 3188 3189 .app-table th, 3190 .app-table td { 3191 padding: 8px 12px; 3192 vertical-align: middle; 3193 } 3194 3195 .app-table th { 3196 width: 35%; 3197 background: #e7e7e7; 3198 color: #585858; 3199 font-weight: 700; 3200 letter-spacing: .2px; 3201 text-transform: uppercase; 3202 font-size: .85rem; 3203 } 3204 3205 .app-table td { 3206 border-bottom: 1px solid var(--border); 3207 color: #1f1f1f; 3208 font-size: .9rem; 3209 text-align: center; 3210 } 3211 3212 @media (max-width: 640px) { 3213 .app-table, 3214 .app-table tbody, 3215 .app-table tr, 3216 .app-table th, 3217 .app-table td { 3218 display: block; 3219 width: 100%; 3220 } 3221 } 3222 3223 .review-section { 3224 max-width: 850px; 3225 margin: 30px auto; 3226 display: flex; 3227 flex-direction: column; 3228 gap: 18px; 3229 font-family: system-ui, Arial, sans-serif; 3230 } 3231 3232 .review-card { 3233 background: #f5f5f5; 3234 padding: 16px 20px; 3235 border-radius: 10px; 3236 border-left: 5px solid #000000; 3237 box-shadow: 0 3px 6px rgba(0, 0, 0, .05); 3238 transition: all .25s ease-in-out; 3239 } 3240 3241 .review-card:hover { 3242 transform: translateY(-3px); 3243 box-shadow: 0 5px 10px rgba(0, 0, 0, .08); 3244 } 3245 3246 .review-author { 3247 font-weight: 700; 3248 color: var(--brand-dark); 3249 margin-bottom: 4px; 3250 display: flex; 3251 align-items: center; 3252 gap: 6px; 3253 font-size: .92rem; 3254 } 3255 3256 .review-author::before { 3257 content: "ð¤"; 3258 font-size: 1rem; 3259 } 3260 3261 .review-card p { 3262 margin: 0; 3263 color: #222; 3264 font-size: .94rem; 3265 } 3266 3267 .review-rating { 3268 margin-left: auto; 3269 font-weight: 700; 3270 } 3271 3272 .stars { 3273 --rating: 5; 3274 --star-size: 1rem; 3275 --star-gap: 2px; 3276 --star-empty: #e5e7eb; 3277 --star-fill: #f4c430; 3278 position: relative; 3279 display: inline-block; 3280 font-size: var(--star-size); 3281 line-height: 1; 3282 letter-spacing: var(--star-gap); 3283 } 3284 3285 .stars::before { 3286 content: "â â â â â "; 3287 color: var(--star-empty); 3288 } 3289 3290 .stars::after { 3291 content: "â â â â â "; 3292 color: var(--star-fill); 3293 position: absolute; 3294 left: 0; 3295 top: 0; 3296 width: calc((var(--rating) / 5) * 100%); 3297 overflow: hidden; 3298 white-space: nowrap; 3299 pointer-events: none; 3300 } 3301 3302 .stars.lg { 3303 --star-size: 1.1rem; 3304 letter-spacing: 3px; 3305 } 3306 3307 .badge { 3308 display: inline-flex; 3309 align-items: center; 3310 gap: 8px; 3311 flex-wrap: wrap; 3312 } 3313 3314 .badge small { 3315 color: #555; 3316 font-weight: 600; 3317 } 3318</style> 3319 3320<div class="review-section"> 3321 <div class="review-card"> 3322 <div class="review-author"> 3323 Galen Wiratma
3324 <span class="review-rating stars" style="--rating: 5" aria-label="Rating 5.0 dari 5"></span> 3325 </div> 3326 <p> 3327 Begitu lihat hasil Toto Macau di KEBUNTOTO, rasanya lebih simpel. Tidak banyak tampilan yang bikin penuh mata, datanya langsung kelihatan dan gampang dipantau. 3328 </p> 3329 </div> 3330 3331 <div class="review-card"> 3332 <div class="review-author"> 3333 Arsyan Devandra 3334 <span class="review-rating stars" style="--rating: 4.8" aria-label="Rating 4.8 dari 5"></span> 3335 </div> 3336 <p> 3337 KEBUNTOTO cukup beda buat saya karena hasil Macau-nya disusun rapi. Cocok buat pemain yang ingin cek update cepat tanpa harus buka banyak halaman. 3338 </p> 3339 </div> 3340 3341 <div class="review-card"> 3342 <div class="review-author"> 3343 Raviel Mahesa 3344 <span class="review-rating stars" style="--rating: 4.9" aria-label="Rating 4.9 dari 5"></span> 3345 </div> 3346 <p> 3347 Saya biasanya cari hasil yang mudah dibaca dari HP, dan KEBUNTOTO cukup nyaman untuk itu. Update Toto Macau-nya jelas, tampilannya juga tidak bikin bingung. 3348 </p> 3349 </div> 3350</div> 3351 3352<div class="review-card"> 3353 <div class="review-author"> 3354 Darel Vionata 3355 <span class="review-rating stars" style="--rating: 4.9" aria-label="Rating 4.9 dari 5"></span> 3356 </div> 3357 <p> 3358 Buat pantauan pemain Asia, KEBUNTOTO terasa praktis. Hasil terbaru Toto Macau bisa dilihat dengan lebih cepat, jadi tidak perlu lama-lama cari info. 3359 </p> 3360 </div> 3361</div> 3362 3363 3364 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3365 <div class="purchaseArea"> 3366 <div class="sectionPurchase sectionPurchaseSpotify"> 3367 <div class="wrapperPurchase"> 3368 <div class="headerPurchase"> 3369 <h3>personalize spotify photo print</h3> 3370 <a class="close-purchase-popup"> 3371 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3372 <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> 3373 </svg> 3374 </a> 3375 </div> 3376 <div class="contentPurchase"> 3377 <div class="spotifyAddons"></div> 3378 </div> 3379 3380 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3381 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3382 <button class="back-purchase-button back-addon text-uppercase"> 3383 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 3384 <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> 3385 </svg> 3386 <span>Back</span> 3387 </button> 3388 </div> 3389 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3390 <button class="btn next-purchase-button next-addon text-uppercase"> 3391 <span>continue without add-ons</span> 3392 </button> 3393 </div> 3394 </div> 3395 </div> 3396 </div> 3397 </div> 3398 </div> 3399 3400 <style> 3401 #PBarNextFrameWrapper { 3402 display: none; 3403 } 3404 #backgroundPopup { 3405 display: none; 3406 position: fixed; 3407 _position: absolute; 3408 height: 100%; 3409 width: 100%; 3410 top: 0; 3411 left: 0; 3412 background: rgb(117 117 117 / 24%); 3413 z-index: 1; 3414 } 3415 .sectionPurchase { 3416 height: 100%; 3417 position: relative; 3418 max-width: 1344px; 3419 background-color: #fff; 3420 padding: 0; 3421 overflow: hidden; /* Changed from auto to hidden */ 3422 display: flex; 3423 flex-direction: column; 3424 } 3425 .sectionPurchase.purchaseAddonSpotify { 3426 max-width: 1070px!important; 3427 max-height: 765px!important; 3428 } 3429 .sectionPurchaseBoard { 3430 max-width: 872px!important; 3431 max-height: 821px!important; 3432 } 3433 .purchaseAddonSpotify .btn-action { 3434 position: absolute; 3435 bottom: 0; 3436 left: 0; 3437 width: 100%; 3438 display: flex; 3439 gap: 10px; 3440 } 3441 .wrapperPurchase { 3442 position: relative; 3443 height: 100%; 3444 display: flex; 3445 flex-direction: column; 3446 } 3447 3448 /* New styles for scrollable content and sticky button */ 3449 .purchase-content { 3450 flex: 1; 3451 overflow-y: auto; 3452 overflow-x: hidden; 3453 padding: 20px; 3454 } 3455 3456 .purchase-button-wrapper { 3457 position: sticky; 3458 bottom: 0; 3459 background-color: #fff; 3460 border-top: 1px solid #e0e0e0; 3461 padding: 15px 0; 3462 margin-top: auto; 3463 z-index: 10; 3464 } 3465 3466 .purchasePopup { 3467 display: none; 3468 position: fixed; 3469 background: rgb(117 117 117 / 24%); 3470 z-index: 999; 3471 padding: 40px; 3472 font-size: 13px; 3473 top: 0; 3474 left: 0; 3475 width: 100%; 3476 height: 100%; 3477 } 3478 .popupPurchaseClose{ 3479 font-size:14px; 3480 line-height:14px; 3481 right:45px; 3482 top:45px; 3483 position:absolute; 3484 color:#6fa5fd; 3485 font-weight:700; 3486 display:block; 3487 cursor: pointer; 3488 } 3489 3490 .headerPurchase { 3491 margin-bottom: 30px; 3492 display: flex; 3493 justify-content: space-between; 3494 } 3495 3496 .headerPurchase h3 { 3497 font-size: 16px; 3498 text-transform: uppercase; 3499 } 3500 3501 .sectionPurchaseBoard .headerPurchase { 3502 margin-bottom: 15px; 3503 } 3504 3505 .sectionPurchaseBoard .formAddressPurchase { 3506 padding-top: 0; 3507 } 3508 3509 .purchaseArea { 3510 position: relative; 3511 height: 100%; 3512 } 3513 3514 .purchaseArea h4 { 3515 width: 100%; 3516 font-size: 12px; 3517 font-weight: 600; 3518 margin-bottom: 10px; 3519 text-transform: uppercase; 3520 } 3521 3522 .menuPurchase { 3523 margin-bottom: 30px; 3524 } 3525 3526 .menuPurchase ul { 3527 list-style-type: none; 3528 margin: 0; 3529 } 3530 3531 .menuPurchase ul li { 3532 display: inline-block; 3533 border: 1px solid #ffffff; 3534 padding: 5px 20px; 3535 margin-right: 5px; 3536 margin-bottom: 10px; 3537 font-size: 12px; 3538 font-weight: 400; 3539 } 3540 3541 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3542 background-color: #ffffff; 3543 color: #ffffff; 3544 } 3545 3546 .contentPurchase h5 { 3547 font-size: 12px; 3548 margin-bottom: 10px; 3549 font-weight: 400; 3550 overflow: hidden; 3551 } 3552 3553 /* Card */ 3554 3555 #itemCards { 3556 max-height: 430px; 3557 overflow: auto; 3558 } 3559 3560 .item-cards { 3561 width: 100%; 3562 } 3563 .item-card.selected { 3564 border: 1px solid #ffffff; 3565 } 3566 .item-card:hover { 3567 border: 1px solid #C4C4C4; 3568 } 3569 .item-cards .item-card { 3570 position: relative; 3571 width: calc(33% - 10px); 3572 max-width: calc(33% - 10px); 3573 flex: 0 0 calc(33% - 10px); 3574 margin-bottom: 20px; 3575 } 3576 .item-cards .item-card label, 3577 .item-addons .item-addon label { 3578 position: absolute; 3579 left: 0; 3580 width: 100%; 3581 height: 100%; 3582 } 3583 .item-cards .item-card .card-image img, 3584 .item-addons .item-addon .card-image img { 3585 display: block; 3586 width: 100%; 3587 } 3588 .item-card .card-meta, 3589 .item-addon .card-meta { 3590 padding: 10px 5px 5px; 3591 } 3592 .item-card.selected .card-meta, 3593 .item-addon.selected .card-meta, 3594 .item-card.selected .card-qty { 3595 background-color: #ffffff; 3596 color: #fff; 3597 visibility: visible!important; 3598 } 3599 .item-card:hover .card-meta, 3600 .item-addon:hover .card-meta, 3601 .item-card:hover .card-qty { 3602 background-color: #C4C4C4; 3603 color: #fff; 3604 visibility: visible!important; 3605 } 3606 .item-cards .item-card p, 3607 .item-addons .item-addon p { 3608 font-size: 12px !important; 3609 margin: 0; 3610 font-weight: 600; 3611 } 3612 .item-card .card-meta input, 3613 .item-addon .card-meta input { 3614 display: none; 3615 } 3616 .item-cards .item-card h5, 3617 .item-addons .item-addon h5 { 3618 text-transform: uppercase; 3619 max-height: 35px; 3620 } 3621 3622 @media (max-width: 768px) { 3623 .item-cards .item-card {
3624 width: calc(50% - 10px); 3625 max-width: calc(50% - 10px); 3626 flex: 0 0 calc(50% - 10px); 3627 margin-bottom: 0; 3628 } 3629 } 3630 3631 .card-qty { 3632 display: flex; 3633 padding: 5px; 3634 visibility: hidden; 3635 background-color: #fff !important; 3636 z-index: 999; 3637 } 3638 .card-qty a { 3639 border-width: 1px; 3640 width: 30%; 3641 cursor: pointer; 3642 text-align: center; 3643 align-self: center; 3644 height: 28px; 3645 display: block; 3646 position: relative; 3647 } 3648 .card-qty a svg { 3649 position: absolute; 3650 top: 50%; 3651 left: 50%; 3652 transform: translate(-50%, -50%); 3653 text-align: center; 3654 } 3655 input.btn-qty { 3656 border-width: 0px; 3657 border-radius: 0; 3658 background-color: #fff; 3659 -webkit-appearance: none; 3660 box-shadow: none !important; 3661 -webkit-box-shadow: none !important; 3662 -moz-box-shadow: none!important; 3663 width: 40%; 3664 border-left: 1px solid #c4c4c4; 3665 border-right: 1px solid #c4c4c4; 3666 padding: 0; 3667 } 3668 3669 .sectionPurchaseBoard #itemAddons .item-card { 3670 width: calc(20% - 15px); 3671 max-width: calc(20% - 15px); 3672 flex: 0 0 calc(20% - 15px); 3673 } 3674 3675 .purchase-button { 3676 width: 100%; 3677 padding: 0; /* Reset padding as it's now handled by wrapper */ 3678 margin: 0; 3679 } 3680 3681 .sectionPurchaseBoard .purchase-button { 3682 margin-top: 0 !important; /* Reset margin */ 3683 } 3684 3685 .back-purchase-button, .back-spotify { 3686 width: 139px; 3687 border: 1px solid; 3688 height: 43px; 3689 } 3690 .purchase-button .btn { 3691 width: 297px; 3692 height: 43px; 3693 background-color: #ffffff; 3694 color: #ffffff; 3695 } 3696 .purchase-button .btn[disabled] { 3697 background-color: #EEEEEE; 3698 } 3699 .back-purchase-button svg, .back-spotify svg { 3700 align-self: center; 3701 vertical-align: middle; 3702 margin-right: 10px; 3703 } 3704 3705 #purchaseProduct .row .error { 3706 font-size: 12px !important; 3707 color: orange; 3708 margin-top: 5px; 3709 } 3710 3711 .reviewCardPurchase { 3712 max-width: 448px; 3713 float: right; 3714 } 3715 3716 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3717 .addon-item * {align-self: center;font-size: 12px;} 3718 .addon-itm-title {width: 360px;} 3719 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3720 3721 .propsAddonSpotify p { 3722 margin: 0; 3723 display: flex; 3724 font-size: 12px !important; 3725 margin-bottom: 5px; 3726 } 3727 .propsAddonSpotify p span:first-child { 3728 text-transform: uppercase; 3729 font-weight: 600; 3730 -ms-flex: 0 0 150px; 3731 flex: 0 0 150px; 3732 max-width: 150px; 3733 } 3734 3735 .addonsPurchase .addons { 3736 max-height: 250px; 3737 overflow: auto; 3738 } 3739 3740 .btn .loading:after { 3741 content: ""; 3742 display: inline-block; 3743 width: 20px; 3744 height: 20px; 3745 padding: 3px; 3746 aspect-ratio: 1; 3747 border-radius: 50%; 3748 background: #FFFFFF; 3749 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3750 -webkit-mask: var(--_m); 3751 mask: var(--_m); 3752 -webkit-mask-composite: source-out; 3753 mask-composite: subtract; 3754 animation: l3 1s infinite linear; 3755 margin: auto; 3756 vertical-align: middle; 3757 margin-left: 10px; 3758 } 3759 3760 #qrcode img, #qrcode canvas { 3761 width: 50px; 3762 position: absolute; 3763 top: 12px; 3764 left: 16px; 3765 } 3766 3767 .t-preview { 3768 position: absolute; 3769 top: 17px; 3770 left: 75px; 3771 } 3772 .t-preview p { 3773 margin: 0; 3774 font-size: 12px !important; 3775 } 3776 .t-preview .h3 { 3777 font-size: 16px !important; 3778 margin-bottom: 5px; 3779 font-weight: 600; 3780 } 3781 .scanCard { 3782 width: 100%; 3783 border: 1px solid; 3784 height: 76px; 3785 background-color: #fff; 3786 } 3787 .scanCard > div > img { 3788 position: absolute; 3789 right: 0; 3790 width: 55px; 3791 } 3792 3793 @keyframes l3 { 3794 100% { 3795 transform: rotate(1turn); 3796 } 3797 } 3798 3799 @media (min-width: 991px) { 3800 .sectionPurchase { 3801 height: 100%; 3802 position: relative; 3803 max-width: 1344px; 3804 background-color: #fff; 3805 top: 50%; 3806 left: 50%; 3807 transform: translate(-50%, -50%); 3808 } 3809 .headerPurchase h3 { 3810 font-size: 20px; 3811 } 3812 .purchaseArea h4 { 3813 font-size: 16px; 3814 } 3815 3816 .menuPurchase ul li { 3817 font-size: 16px; 3818 } 3819 3820 .contentPurchase { 3821 margin-bottom: 30px; 3822 } 3823 .contentPurchase h5 { 3824 font-size: 16px; 3825 } 3826 3827 .item-cards .item-card p, 3828 .item-addons .item-addon p { 3829 font-size: 16px !important; 3830 } 3831 3832 .cards { 3833 float: right; 3834 width: 400px; 3835 } 3836 3837 .item-cards .item-card { 3838 width: calc(25% - 30px); 3839 max-width: calc(25% - 30px); 3840 flex: 0 0 calc(25% - 30px); 3841 } 3842 3843 #itemAddons .item-card { 3844 position: relative; 3845 width: calc(16% - 40px); 3846 max-width: calc(16% - 40px); 3847 flex: 0 0 calc(16% - 40px); 3848 } 3849 3850 .purchase-button-wrapper { 3851 padding: 10px 20px; 3852 } 3853 } 3854 3855 @media (max-width: 1200px) { 3856 .item-cards .item-card { 3857 width: calc(33% - 30px); 3858 max-width: calc(33% - 30px); 3859 flex: 0 0 calc(33% - 30px); 3860 } 3861 } 3862 3863 @media (max-width: 992px) { 3864 .purchasePopup { 3865 padding: 0; 3866 } 3867 .item-cards .item-card h5, 3868 .item-addons .item-addon h5 { 3869 max-height: 30px; 3870 } 3871 3872 .back-purchase-button, .back-spotify, .next-purchase-button { 3873 width: 100%; 3874 } 3875 .addon-itm-title { 3876 width: 300px; 3877 } 3878 .addon-itm-line-price { 3879 margin-right: 10px; 3880 } 3881 .t-preview { 3882 top: 10px; 3883 } 3884 3885 .card-qty a { 3886 height: 15px; 3887 } 3888 3889 .purchase-button-wrapper { 3890 padding: 15px; 3891 } 3892 } 3893 3894 @media (max-width: 576px) { 3895 .purchase-button .btn { 3896 width: 100%!important; 3897 } 3898 .purchase-button > .col-12 { 3899 padding-left: 0; 3900 padding-right: 0; 3901 } 3902 } 3903 </style> 3904 3905 3906 <div class="purchasePopup"> 3907 <div class="purchaseArea"> 3908 3909 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3910 <div class="wrapperPurchase"> 3911 <div class="purchase-content"> 3912 <div class="headerPurchase"> 3913 <h3 class="text-uppercase"> 3914 3915 customize your flower board 3916 3917 </h3> 3918 <a class="close-purchase-popup"> 3919 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3920 <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"/> 3921 </svg> 3922 </a> 3923 3924 </div> 3925 <div class="contentPurchase"> 3926 <div class="row"> 3927 3928 <div class="col-12"> 3929 3930 3931 <style> 3932 3933 3934 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3935 .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;} 3936 3937 .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;} 3938 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3939 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3940 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3941 .svgLogoPapan p span {font-size: 12px;color: #ffd700;} 3942 .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;} 3943 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3944 #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;} 3945 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3946 .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;} 3947 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3948 3949 @media (min-width: 991px) { 3950 .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);} 3951 .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);} 3952 } 3953 </style> 3954 3955 <input type="hidden" data-properties="penerima" value="-"> 3956 <div class="customize-papan"> 3957 <div class="container"> 3958 <div class="field-papan group-field-1 form-group"> 3959 <div class="input-field">
3960 <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. 3961 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3962 <p class="limit">0/100</p> 3963 <div id="suggest-messages"> 3964 <a id="show_note_papan1" href="#"> 3965 <div class="suggest-message" id="note_btn_div1"> 3966 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3967 </div> 3968 </a> 3969 <a id="show_note_papan2" href="#"> 3970 <div class="suggest-message" id="note_btn_div2"> 3971 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3972 </div> 3973 </a> 3974 <a id="show_note_papan3" href="#"> 3975 <div class="suggest-message" id="note_btn_div3"> 3976 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3977 </div> 3978 </a> 3979 </div> 3980 </div> 3981 </div> 3982 <div class="hide"> 3983 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3984 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3985 </div> 3986 <div class="hide"> 3987 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3988 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3989 </div> 3990 <div class="hide"> 3991 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3992 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3993 </div> 3994 <div class="field-papan group-field-2 form-group"> 3995 3996 <label for="logoPapan" onclick="" class="input-field field-logo"> 3997 3998 3999 4000 <div class="btn-upload-papan w-100"> 4001 <?xml version="1.0" encoding="UTF-8"?> 4002 <img src="" style="display:none"> 4003 <div class="svgLogoPapan"> 4004 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="22" height="26" viewBox="0 0 22 26" fill="none"> 4005 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 4006 </svg> 4007 <p>Upload Logo <span>*optional</span></p> 4008 </div> 4009 </div> 4010 4011 </label> 4012 4013 <input 4014 type="hidden" 4015 data-properties="papan-logo" 4016 value="" 4017 > 4018 <input 4019 type="file" 4020 id="logoPapan" 4021 accept="image/*" 4022 style="position: absolute;width: 1px;height: 1px;padding: 0" 4023 > 4024 4025 <div class="input-field"> 4026 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 4027 <p class="limit">0/35</p> 4028 </div> 4029 4030 </div> 4031 4032 </div> 4033 </div> 4034 </div> 4035 4036 </div> 4037 </div> 4038 4039 </div> 4040 <div class="purchase-button-wrapper"> 4041 <div class="purchase-button btn-card row m-0"> 4042 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4043 4044 </div> 4045 <div class="btn-next-card col-12 col-lg-10 text-right"> 4046 4047 4048 <button 4049 4050 4051 4052 class="btn next-purchase-button text-uppercase" 4053 4054 disabled 4055 4056 > 4057 <span>save your flower board</span> 4058 </button> 4059 </div> 4060 </div> 4061 4062 </div> 4063 </div> 4064 </div> 4065 4066 4067 4068 <div 4069 class="sectionPurchase sectionPurchaseBoard hide" 4070 data-section="address" 4071 > 4072 <div class="wrapperPurchase"> 4073 <div class="purchase-content"> 4074 <div class="headerPurchase"> 4075 <h3> 4076 Complete Your Order 4077 </h3> 4078 <a class="close-purchase-popup"> 4079 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4080 <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"/> 4081 </svg> 4082 </a> 4083 4084 </div> 4085 <div class="contentPurchase"> 4086 <div class="row"> 4087 <div class="col-12 position-relative"> 4088 <div class="addressPurchase"> 4089 4090 <h4 class="text-uppercase">recipient delivery address</h4> 4091 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 4092 4093 <div class="formAddressPurchase row"> 4094 <div class="col-12"> 4095 <form> 4096 <div class="form-group row mb-2 mb-lg-4"> 4097 <div class="col-6 position-relative"> 4098 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 4099 <label for="first_name" class="input__label">First Name<span>*</span></label> 4100 </div> 4101 <div class="col-6 position-relative"> 4102 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 4103 <label for="last_name" class="input__label">Last Name<span>*</span></label> 4104 </div> 4105 <input type="hidden" data-properties="nama-penerima"> 4106 </div> 4107 4108 <h4 class="text-uppercase">how you want to input your address</h4> 4109 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 4110 <div class="col-6 position-relative"> 4111 <label class="address-manualy"> 4112 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="18" height="17" viewBox="0 0 18 17" fill="none"> 4113 <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.9
41131216 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
41135 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"/> 4114 </svg> 4115 <span>Input Address Manually</span> 4116 </label> 4117 </div> 4118 <div class="col-6 position-relative"> 4119 <label for="address-upload" class="address-upload"> 4120 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="12" height="13" viewBox="0 0 12 13" fill="none"> 4121 <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"/> 4122 </svg> 4123 <span>Upload Address Picture</span> 4124 </label> 4125 <input 4126 id="address-upload" 4127 type="file" 4128 accept="image/png, image/jpeg" 4129 style="position: absolute; padding: 0;width: 1px;height: 1px" 4130 > 4131 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 4132 </div> 4133 </div> 4134 <img width="150" height="" src="" class="photo-address" style="display: none;"> 4135 4136 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4137 <div class="col-12"> 4138 <textarea 4139 id="delivery_address" 4140 data-properties="alamat-penerima" 4141 class="form-control input__field col-12" 4142 placeholder="" 4143 required 4144 ></textarea> 4145 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4146 4147 </div> 4148 </div> 4149 <div class="form-group row mb-2 mb-lg-4 form-address"> 4150 <div class="col-6 position-relative"> 4151 <input 4152 id="recipient_number" 4153 type="text" 4154 data-properties="telepon-penerima" 4155 class="form-control input__field" 4156 placeholder="" 4157 required 4158 > 4159 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4160 </div> 4161 <div class="col-6 position-relative"> 4162 <input 4163 id="company" 4164 type="text" 4165 data-properties="company" 4166 class="form-control input__field" 4167 placeholder="" 4168 > 4169 <label for="company" class="input__label">Company (Optional)</label> 4170 </div> 4171 </div> 4172 <div class="form-group row mb-2 mb-lg-4 form-address"> 4173 <div class="col-6 position-relative"> 4174 <input 4175 id="province" 4176 type="text" 4177 class="form-control input__field" 4178 placeholder="" 4179 value="Jakarta" 4180 data-properties="province" 4181 > 4182 <label for="province" class="input__label">Province</label> 4183 </div> 4184 <div class="col-6 position-relative"> 4185 <select id="zip" class="form-control select-search" required></select> 4186 </div> 4187 </div> 4188 </form> 4189 </div> 4190 </div> 4191 </div> 4192 <div class="addonsPurchase"> 4193 <h4 class="text-uppercase">add-ons</h4> 4194 <div class="addons"> 4195 <p>No Add-Ons</p> 4196 <!-- 4197 <button class="add-addon"> 4198 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4199 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4200 </svg>
4201 <span>Enhance my moment with Add-ons</span> 4202 </button> 4203 --> 4204 </div> 4205 </div> 4206 </div> 4207 4208 </div> 4209 </div> 4210 4211
4211<script> 4212 document.addEventListener('DOMContentLoaded', function() { 4213 // Detect iOS 4214 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4215 4216 if (isIOS) { 4217 document.querySelector('.formAddressPurchase').classList.add('ios'); 4218 4219 // iOS specific fixes 4220 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4221 4222 inputs.forEach(function(input) { 4223 // Force enable touch events on iOS 4224 input.style.webkitUserSelect = 'text'; 4225 input.style.webkitTouchCallout = 'default'; 4226 input.style.pointerEvents = 'auto'; 4227 input.style.touchAction = 'manipulation'; 4228 4229 // Add explicit touch event listeners for iOS 4230 input.addEventListener('touchstart', function(e) { 4231 e.stopPropagation(); 4232 this.focus(); 4233 }, { passive: false }); 4234 4235 input.addEventListener('touchend', function(e) { 4236 e.preventDefault(); 4237 e.stopPropagation(); 4238 this.focus(); 4239 this.click(); 4240 }, { passive: false }); 4241 4242 // Force focus on tap for iOS 4243 input.addEventListener('click', function(e) { 4244 e.stopPropagation(); 4245 if (document.activeElement !== this) { 4246 this.focus(); 4247 } 4248 }); 4249 }); 4250 4251 // Fix for label overlapping on iOS 4252 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4253 labels.forEach(function(label) { 4254 label.style.pointerEvents = 'none'; 4255 label.addEventListener('touchstart', function(e) { 4256 e.preventDefault(); 4257 var input = this.parentNode.querySelector('.input__field'); 4258 if (input) { 4259 input.focus(); 4260 } 4261 }); 4262 }); 4263 } 4264 4265 // Handle input state for all browsers, especially iOS 4266 var inputs = document.querySelectorAll('.input__field'); 4267 4268 inputs.forEach(function(input) { 4269 // Handle input events 4270 input.addEventListener('input', function() { 4271 if (this.value.trim() !== '') { 4272 this.classList.add('has-value'); 4273 } else { 4274 this.classList.remove('has-value'); 4275 } 4276 }); 4277 4278 // Handle focus 4279 input.addEventListener('focus', function() { 4280 this.classList.add('focused'); 4281 // iOS specific: ensure input is visible 4282 if (isIOS) { 4283 setTimeout(function() { 4284 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4285 }, 300); 4286 } 4287 }); 4288 4289 // Handle blur 4290 input.addEventListener('blur', function() { 4291 this.classList.remove('focused'); 4292 if (this.value.trim() !== '') { 4293 this.classList.add('has-value'); 4294 } else { 4295 this.classList.remove('has-value'); 4296 } 4297 }); 4298 4299 // Initial check for pre-filled values 4300 if (input.value.trim() !== '') { 4301 input.classList.add('has-value'); 4302 } 4303 }); 4304 4305 // Additional iOS fixes 4306 if (isIOS) { 4307 // Prevent iOS Safari from adding default styling 4308 document.addEventListener('touchstart', function() {}, { passive: true }); 4309 4310 // Fix viewport issues on iOS 4311 var viewport = document.querySelector('meta[name=viewport]'); 4312 if (viewport) { 4313 viewport.setAttribute('content', 4314 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4315 ); 4316 } 4317 } 4318 }); 4319 </script>
4319 4320 </div> 4321 <div class="purchase-button-wrapper"> 4322 <div class="purchase-button btn-address row m-0"> 4323 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4324 4325 <button class="back-purchase-button back-address text-uppercase"> 4326 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 4327 <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"/> 4328 </svg> 4329 <span>Back</span> 4330 </button> 4331 4332 </div> 4333 <div class="btn-next-card col-12 col-lg-10 text-right"> 4334 4335 <!-- 4336 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4337 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 4338 <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"/> 4339 </svg> 4340 <span>Back</span> 4341 </button> 4342 --> 4343 4344 4345 <button 4346 4347 id="addtocart-card" 4348 4349 class="btn next-address text-uppercase" 4350 4351 > 4352 <span>add to cart</span> 4353 </button> 4354 </div> 4355 </div> 4356 4357 </div> 4358 </div> 4359 </div> 4360 4361 </div> 4362 </div> 4363 <div id="backgroundPopup"></div> 4364 4365 4366 4367 <input 4368 data-index="1" 4369 type="hidden" 4370 id="properties-delivery-date" 4371 name="properties[Delivery Date]" 4372 value="-" 4373 > 4374 <input 4375 data-index="2" 4376 type="hidden" 4377 id="properties-delivery-time" 4378 name="properties[Delivery Time]" 4379 value="-" 4380 > 4381 <input 4382 data-index="4" 4383 type="hidden" 4384 id="properties-nama-penerima" 4385 name="properties[Nama Penerima]" 4386 value="-" 4387 > 4388 <input 4389 data-index="5" 4390 type="hidden" 4391 id="properties-alamat-penerima" 4392 name="properties[Alamat Penerima]" 4393 value="-" 4394 > 4395 <input 4396 data-index="6" 4397 type="hidden" 4398 id="properties-kodepos" 4399 name="properties[Kodepos]" 4400 value="-" 4401 > 4402 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4403 4404 4405 <input 4406 data-index="8" 4407 type="hidden" 4408 id="properties-kartu-nama-penerima" 4409 name="properties[Kartu Nama Penerima]" 4410 value="-" 4411 > 4412 4413 <textarea 4414 data-index="9" 4415 type="hidden" 4416 id="properties-kartu-pesan" 4417 name="properties[Kartu Pesan]" 4418 style="display: none" 4419 >-</textarea> 4420 4421 4422 4423 <input 4424 data-index="10" 4425 type="hidden" 4426 id="properties-kartu-nama-pengirim" 4427 name="properties[Kartu Nama Pengirim]" 4428 value="-" 4429 > 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 <!-- Additional Shipping --> 4449 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4450 <input 4451 type="hidden" 4452 id="properties-kota-pengiriman-country" 4453 name="properties[Country]" 4454 value="Indonesia" 4455 > 4456 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4457 4458 <input type="hidden" id="properties-time" name="properties[Time]"> 4459 <input type="hidden" id="properties-card" name="properties[Card]"> 4460 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4461 4462 <input 4463 type="hidden" 4464 id="properties-company" 4465 name="properties[Company]" 4466 value="" 4467 > 4468
4468<script> 4469 4470 $(document).ready(function(){ 4471 4472 var text_max_papan1=150; 4473 var msg_text_papan1=""; 4474 $('#kartu-ucapan-ucapan').keyup(function(){ 4475 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4476 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4477 }); 4478 4479 var notes_papan1 = [ 4480 4481 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4482 4483 ]; 4484 $('#show_note_papan1').click(function(event){ 4485 event.preventDefault(); 4486 var idx_papan1=parseInt($('#note_id_papan1').val()); 4487 if(isNaN(idx_papan1)){ 4488 idx_papan1=0; 4489 }else{ 4490 idx_papan1++; 4491 idx_papan1=idx_papan1%notes_papan1.length; 4492 } 4493 var note_papan1=notes_papan1[idx_papan1][1]; 4494 $('#note_id_papan1').val(idx_papan1); 4495 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4496 $('#msgDelivery').val(note_papan1); 4497 4498 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4499 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4500 if(isNaN(idx_2_papan1)){ 4501 idx_2_papan1=0; 4502 }else{ 4503 idx_2_papan1++; 4504 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4505 } 4506 $('#note_btn_id_papan1').val(idx_2_papan1); 4507 //var note_btn=note_btn_text[idx_2][1]; 4508 //$('#note_btn').text(note_btn); 4509 }); 4510 4511 var text_max_papan2=150; 4512 var msg_text_papan2=""; 4513 $('#kartu-ucapan-ucapan').keyup(function(){ 4514 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4515 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4516 }); 4517 4518 var notes_papan2 = [ 4519 4520 [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)."] 4521 4522 ]; 4523 $('#show_note_papan2').click(function(event){ 4524 event.preventDefault(); 4525 var idx_papan2=parseInt($('#note_id_papan2').val()); 4526 if(isNaN(idx_papan2)){ 4527 idx_papan2=0; 4528 }else{ 4529 idx_papan2++; 4530 idx_papan2=idx_papan2%notes_papan2.length; 4531 } 4532 var note_papan2=notes_papan2[idx_papan2][1]; 4533 $('#note_id_papan2').val(idx_papan2); 4534 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4535 $('#msgDelivery').val(note_papan2); 4536 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4537 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4538 if(isNaN(idx_2_papan2)){ 4539 idx_2_papan2=0; 4540 }else{ 4541 idx_2_papan2++; 4542 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4543 } 4544 $('#note_btn_id_papan2').val(idx_2_papan2); 4545 //var note_btn=note_btn_text[idx_2][1]; 4546 //$('#note_btn').text(note_btn); 4547 }); 4548 4549 var text_max_papan3=150; 4550 var msg_text_papan3=""; 4551 $('#kartu-ucapan-ucapan').keyup(function(){ 4552 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4553 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4554 }); 4555 4556 var notes_papan3 = [ 4557 4558 [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)."] 4559 4560 ]; 4561 $('#show_note_papan3').click(function(event){ 4562 event.preventDefault(); 4563 var idx_papan3=parseInt($('#note_id_papan3').val()); 4564 if(isNaN(idx_papan3)){ 4565 idx_papan3=0; 4566 }else{ 4567 idx_papan3++; 4568 idx_papan3=idx_papan3%notes_papan3.length; 4569 } 4570 var note_papan3=notes_papan3[idx_papan3][1]; 4571 $('#note_id_papan3').val(idx_papan3); 4572 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4573 $('#msgDelivery').val(note_papan3);
4574 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4575 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4576 if(isNaN(idx_2_papan3)){ 4577 idx_2_papan3=0; 4578 }else{ 4579 idx_2_papan3++; 4580 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4581 } 4582 $('#note_btn_id_papan3').val(idx_2_papan3); 4583 //var note_btn=note_btn_text[idx_2][1]; 4584 //$('#note_btn').text(note_btn); 4585 }); 4586 4587 var text_max_papan4=150; 4588 var msg_text_papan4=""; 4589 $('#kartu-ucapan-ucapan').keyup(function(){ 4590 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4591 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4592 }); 4593 4594 $('#show_note_papan4').click(function(event){ 4595 var notes_papan4 = [ 4596 [0,"Hereâs to youâsteadier, stronger and better every day."], 4597 [1,"Warmest wishes for a speedy recovery!"], 4598 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4599 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4600 ]; 4601 event.preventDefault(); 4602 var idx_papan4=parseInt($('#note_id_papan4').val()); 4603 console.log(idx_papan4, 'idx_papan4') 4604 if(isNaN(idx_papan4)){ 4605 idx_papan4=0; 4606 }else{ 4607 idx_papan4++; 4608 idx_papan4=idx_papan4%notes_papan4.length; 4609 } 4610 var note_papan4=notes_papan4[idx_papan4][1]; 4611 $('#note_id_papan4').val(idx_papan4); 4612 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4613 console.log(note_papan4, 'note_papan4') 4614 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4615 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4616 if(isNaN(idx_2_papan4)){ 4617 idx_2_papan4=0; 4618 }else{ 4619 idx_2_papan4++; 4620 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4621 } 4622 $('#note_btn_id_papan4').val(idx_2_papan4); 4623 }); 4624 4625 /* 4626 $("#jenisPapan").change(function(){ 4627 $( "select option:selected").each(function(){ 4628 if($(this).attr("value")=="Happy Wedding"){ 4629 $("#suggest-messages a").hide(); 4630 $("#show_note_papan1").show(); 4631 $("#kartu-ucapan-papan").val(""); 4632 } 4633 if($(this).attr("value")=="Congratulations"){ 4634 $("#suggest-messages a").hide(); 4635 $("#show_note_papan2").show(); 4636 $("#kartu-ucapan-papan").val(""); 4637 } 4638 if($(this).attr("value")=="Duka Cita"){ 4639 $("#suggest-messages a").hide(); 4640 $("#show_note_papan3").show(); 4641 $("#kartu-ucapan-papan").val(""); 4642 } 4643 }); 4644 }).change(); 4645 */ 4646 4647 4648 4649 4650 4651 $(".variant-metafield").each(function(){ 4652 const t = $(this) 4653 const id = t.attr("id") 4654 const target = $(`[data-select=${id}]`) 4655 t.on('select2:selecting', function(e) { 4656 const data = e.params.args.data 4657 target.val(data.text) 4658 }); 4659 }) 4660 }) 4661 </script>
4661 4662 4663 <div id="popupCart"> 4664 <div class="container"> 4665 <div class="wrapperPopupCart"> 4666 <div class="headerPopupCart"> 4667 <div class="d-flex pl-5 pr-5 p-4"> 4668 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4669 <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"/> 4670 </svg> 4671 <span>item added to your cart</span> 4672 </div> 4673 <a class="close-purchase-popup"> 4674 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4675 <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"/> 4676 </svg> 4677 </a> 4678 4679 </div> 4680 <div class="contentPopupCart"> 4681 <div class="pl-5 pr-5 p-4"> 4682 <div class="itemContent row m-0 justify-content-between"> 4683 <div class="col-2 align-self-center"> 4684 4685 <img 4686 class="d-block" 4687 width="80" 4688 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4689 > 4690 </div> 4691 <div class="col-10 align-self-center"> 4692 <div class="row pl-3"> 4693 <div class="col-12 col-lg-7"> 4694 <span class="titleCartPopup text-uppercase">KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia</span> 4695 </div> 4696 <div class="d-flex justify-content-end col-12 col-lg-5"> 4697 <span class="deleteCartPopup hide">Delete</span> 4698 <span class="lineCartPrice align-self-center">Rp 10.000</span> 4699 </div> 4700 </div> 4701 </div> 4702 </div> 4703 <div class="itemProperties"> 4704 4705 <div class="propDeliver"> 4706 <h4>delivery option detail</h4> 4707 <p> 4708 <span>delivery city</span> 4709 <span class="propDeliveryCity">jakarta</span> 4710 </p> 4711 <p> 4712 <span>delivery date</span> 4713 <span class="propDeliveryDate">24/03/2025</span> 4714 </p> 4715 <p> 4716 <span>delivery time</span> 4717 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4718 </p> 4719 </div> 4720 <div class="propAddress"> 4721 <h4>delivery option detail</h4> 4722 <p> 4723 <span>RECIPIENT NAME</span> 4724 <span class="propDeliveryName">jane doe</span> 4725 </p> 4726 <p> 4727 <span>delivery address</span> 4728 <span class="propDeliveryAddress" 4729 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4730 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4731 > 4732 </p> 4733 <p> 4734 <span>recipient phone number</span> 4735 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4736 </p> 4737 <p> 4738 <span>PROVINCE</span> 4739 <span class="propDeliveryProv">Jakarta</span> 4740 </p> 4741 <p> 4742 <span>postal code</span> 4743 <span class="propDeliveryZip">12710</span> 4744 </p> 4745 4746 4747 </div> 4748 4749 </div> 4750 <div class="itemAddonCart"> 4751 <div class="toggleAddonCart d-flex justify-content-between"> 4752 <h4>add-ons (0)</h4> 4753 <svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4754 <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"/> 4755 </svg> 4756 </div> 4757 <div class="wrapperItemAddonCart"></div> 4758 </div> 4759 4760 </div> 4761 </div>
4762 <div class="footerPopupCart"> 4763 <div class="row m-0 pl-5 pr-5 p-4"> 4764 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4765 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4766 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4767 </div> 4768 </div> 4769 </div> 4770 </div> 4771 </div> 4772 4773 4774
4774<script> 4775 const shareButton = document.getElementById('shareButton'); 4776 4777 shareButton.addEventListener('click', () => { 4778 if (navigator.share) { 4779 navigator.share({ 4780 title: "KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia", 4781 url: "/products/blossom-shine", 4782 text: 'Check out this page!' 4783 }) 4784 .then(() => console.log('Successful share')) 4785 .catch((error) => console.log('Error sharing', error)); 4786 } else { 4787 alert('Web Share API is not supported in this browser.'); 4788 } 4789 }); 4790 4791 // Inventory validation function 4792 function checkInventoryStatus() { 4793 const productSelect = document.getElementById('productSelect'); 4794 const purchaseButton = document.querySelector('#personalizeBtn button'); 4795 4796 if (!productSelect || !purchaseButton) return; 4797 4798 const selectedVariantId = productSelect.value; 4799 4800 // Get variant data from Shopify 4801 fetch(`/products/blossom-shine.js`) 4802 .then(response => response.json()) 4803 .then(product => { 4804 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4805 4806 if (selectedVariant) { 4807 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4808 selectedVariant.inventory_management === 'shopify' && 4809 selectedVariant.inventory_policy !== 'continue'; 4810 4811 if (isOutOfStock) { 4812 purchaseButton.disabled = true; 4813 purchaseButton.textContent = 'Out of Stock'; 4814 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4815 purchaseButton.style.backgroundColor = '#cccccc'; 4816 purchaseButton.style.cursor = 'not-allowed'; 4817 } else { 4818 // Check if button was disabled due to other conditions 4819 4820 4821 4822 4823 4824 4825 4826 4827 const isOtherDisabled = false || true || false; 4828 4829 if (!isOtherDisabled) { 4830 purchaseButton.disabled = false; 4831 purchaseButton.textContent = 'customize your flower board'; 4832 purchaseButton.removeAttribute('data-out-of-stock'); 4833 purchaseButton.style.backgroundColor = ''; 4834 purchaseButton.style.cursor = ''; 4835 } 4836 } 4837 } 4838 }) 4839 .catch(error => { 4840 console.error('Error checking inventory:', error); 4841 }); 4842 } 4843 4844 // Check inventory on page load 4845 document.addEventListener('DOMContentLoaded', function() { 4846 checkInventoryStatus(); 4847 4848 // Listen for variant changes 4849 const productSelect = document.getElementById('productSelect'); 4850 if (productSelect) { 4851 productSelect.addEventListener('change', checkInventoryStatus); 4852 } 4853 }); 4854 4855 // Prevent form submission if out of stock 4856 document.addEventListener('click', function(e) { 4857 if (e.target.matches('button[data-out-of-stock="true"]')) { 4858 e.preventDefault(); 4859 e.stopPropagation(); 4860 alert('This product is currently out of stock and cannot be purchased.'); 4861 return false; 4862 } 4863 }); 4864 </script>
4864 4865 4866 4867 4868 </div> 4869 4870 </div> 4871 </div> 4872 </div> 4873 </div> 4874 <div id="product-bottom"> 4875 4876 <div class="container"> 4877 4878 4879 4880 4881 4882 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4883 <div class="short-desc"> 4884 <ul> 4885 <li><strong>KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.</strong></li> 4886 </div> 4887 <label class="more-mobile">Show More â</label> 4888 </div> 4889 4890 <style> 4891 .animated-title { 4892 text-align: center; 4893 font-weight: bold; 4894 color: #079c02; 4895 font-size: 28px; 4896 position: relative; 4897 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4898 } 4899 4900 /* Efek glow / bercahaya hijau */ 4901 @keyframes glow { 4902 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4903 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4904 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4905 } 4906 4907 /* Efek gerakan naik turun */ 4908 @keyframes moveUpDown { 4909 0% { transform: translateY(0px); } 4910 50% { transform: translateY(-5px); } 4911 100% { transform: translateY(0px); } 4912 } 4913 </style> 4914 4915
4915<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4915 4916
4916<script> 4917 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}); 4918 4919 const productType = $("[data-product-type]").data("product-type") 4920 const productDate = Date.parse(new Date()) 4921 4922 const shop = 'outerbloom1.myshopify.com' 4923 const host = 'https://app.asmaraku.com' 4924 // const host = 'http://localhost:5001' 4925 4926 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4927 4928 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4929 4930 $("#properties-time").val(new Date().getTime()) 4931 4932 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4933 4934 if(!isIOS) { 4935 $("#full-date").attr("type", "button") 4936 } 4937 4938 let dateTime = new Date(); 4939 let today = dateTime.getDate(); 4940 let day = dateTime.getDay(); 4941 let hour = dateTime.getHours(); 4942 let min = dateTime.getMinutes(); 4943 let timeOfDay = hour + (min / 100); 4944 4945 async function getFetch(url) { 4946 const response = await fetch(url); 4947 let status = false 4948 let result 4949 if(response.ok) { 4950 status = true 4951 result = await response.json(); 4952 } 4953 return { 4954 status, 4955 data: result 4956 } 4957 } 4958 4959 4960 4961 function setCookie(cname, cvalue, exMins) { 4962 var d = new Date(); 4963 d.setTime(d.getTime() + (exMins*60*1000)); 4964 var expires = "expires="+d.toUTCString(); 4965 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4966 } 4967 4968 function getCookie(cname) { 4969 let name = cname + "="; 4970 let decodedCookie = decodeURIComponent(document.cookie); 4971 let ca = decodedCookie.split(';'); 4972 for(let i = 0; i <ca.length; i++) { 4973 let c = ca[i]; 4974 while (c.charAt(0) == ' ') { 4975 c = c.substring(1); 4976 } 4977 if (c.indexOf(name) == 0) { 4978 return c.substring(name.length, c.length); 4979 } 4980 } 4981 return ""; 4982 } 4983 4984 async function renderDate() { 4985 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 4986 console.log(dataDate, 'renderDate') 4987 const data = dataDate?.data 4988 const date = data.date 4989 const time = data.time 4990 4991 console.log(date, 'DATE') 4992 4993 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4994 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4995 const htmlDate = [] 4996 for(let i = 0;i < date.length;i++) { 4997 const full = date[i].date 4998 const d = new Date(date[i].date); 4999 const day = weekday[d.getDay()]; 5000 const dt = d.getDate(); 5001 const mt = monthly[d.getMonth()]; 5002 const yr = d.getFullYear(); 5003 const isDate = Boolean(date[i].isEnabled) 5004 const cutoffpagi = date[i].cutoff?.pagi 5005 const cutoffsiang = date[i].cutoff?.siang 5006 const cutoffMalam = date[i].cutoff?.Malam 5007 var html = ` 5008 <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'}> 5009 ${dt === today ? 5010 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 5011 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 5012 } 5013 </button> 5014 ` 5015 htmlDate.push(html) 5016 } 5017 const htmlTime = [] 5018 for(var i = 0;i < time.length;i++) { 5019 const timeText = time[i].text 5020 const timeTime = time[i].time 5021 const timeEnabled = time[i].isEnabled 5022 var html = ` 5023 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 5024 ` 5025 htmlTime.push(html) 5026 } 5027 const deliveryDate = document.getElementById("deliveryDate"); 5028 if(deliveryDate) { 5029 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 5030 $("#deliveryTime").html(htmlTime) 5031 if(productType !== '') { 5032 console.log("clarity event " + productType + ' calendaring') 5033 window.clarity("event", `${productType} calendaringSchedule`) 5034 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 5035 } 5036 } 5037 } 5038 5039 async function getProvince(city) { 5040 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 5041 console.log(province, 'province') 5042 $("#province").val(province) 5043 } 5044 5045 async function renderAddress() { 5046 let current 5047 if(getCookie("location_delivery")){ 5048 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 5049 } 5050 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 5051 console.log(address) 5052 const data = address?.data?.city 5053 const htmlAddress = [] 5054 const grouping = []
5055 for(let i = 0;i < data?.length;i++) { 5056 if(data[i]){ 5057 if(data[i]?.group) { 5058 grouping.push(data[i].group) 5059 } 5060 const price = rupiah.format(data[i]?.rate) 5061 let promo = '(Promo Free Delivery)' 5062 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 5063 promo = '(at SCBD, Ashta)' 5064 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 5065 promo = '(at Kuningan, ITC Kuningan)' 5066 } else if(data[i]?.name === 'BSD - PickUp'){ 5067 promo = '(at Goldfinch Gading Serpong)' 5068 } else if(data[i]?.name === 'Kota Lainnya'){ 5069 promo = '' 5070 } 5071 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>`) 5072 } 5073 } 5074 5075 const deliveryCity = document.getElementById("cities"); 5076 if(deliveryCity) { 5077 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 5078 if(!isIOS) { 5079 $(deliveryCity).select2(); 5080 } 5081 } 5082 } 5083 5084 async function renderZip(v, v2, v3) { 5085 const deliveryZip = document.getElementById("zip"); 5086 if(v === '') { 5087 return 5088 } 5089 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 5090 let zip = dataZip?.data?.zip 5091 console.log(zip) 5092 let htmlZip = [] 5093 for(let i = 0; i < zip?.length;i++) { 5094 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 5095 } 5096 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 5097 } 5098 5099 renderDate() 5100 renderAddress() 5101 5102 let rupiah = new Intl.NumberFormat('id-ID', { 5103 style: 'currency', 5104 currency: 'IDR', 5105 maximumFractionDigits: 0, 5106 minimumFractionDigits: 0 5107 }); 5108 5109 async function insertCard(data) { 5110 const response = await fetch(`${host}/api/card/new`, { 5111 method: "POST", 5112 headers: { 5113 'Content-Type': 'application/json', 5114 }, 5115 body: data 5116 }) 5117 const result = await response.json() 5118 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 5119 $("#greetingCard").attr("data-index", rowIndex) 5120 return result 5121 } 5122 5123 async function updateCard(data){ 5124 const rowIndex = $("#greetingCard").data("index") 5125 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 5126 method: "PUT", 5127 headers: { 5128 'Content-Type': 'application/json', 5129 }, 5130 body: data 5131 }) 5132 return response 5133 } 5134 5135 function bytesToSize(bytes) { 5136 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 5137 for (var i = 0; i < sizes.length; i++) { 5138 if (bytes <= 1024) { 5139 return bytes + ' ' + sizes[i]; 5140 } else { 5141 bytes = parseFloat(bytes / 1024).toFixed(2) 5142 } 5143 } 5144 return bytes + ' P'; 5145 } 5146 5147 async function uploadMedia(uri, type) { 5148 nameq = $("#properties-nama-penerima").val() 5149 dear = $("#properties-kartu-nama-penerima").val() 5150 card = $("[data-properties=ucapan]").val() 5151 sender = $("#properties-kartu-nama-pengirim").val() 5152 photo = $("#properties-photo").val() 5153 video = $("#properties-video").val() 5154 status = "Product" 5155 5156 const name = qrID 5157 let formData = new FormData(); 5158 formData.append("file", uri); 5159 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5160 method: "POST", 5161 body: formData 5162 }) 5163 const result = await response.json(); 5164 if(result) { 5165 const url = result.url 5166 if(type === 'image/jpeg') { 5167 $("#properties-photo").val(url) 5168 $(".preview-image").show() 5169 $(".remove-image").show() 5170 photo = url 5171 } else { 5172 $("#properties-video").val(url) 5173 $("#label-input-video span").text("Change File") 5174 $(".case-qrcode-preview p").text("Scan here for a secret message") 5175 $(".remove-media").show() 5176 $("#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>`) 5177 $("[for=input-video]").hide() 5178 video = url 5179 } 5180 $(".case-video-preview").show() 5181 $(".steps-card-preview").removeClass("loading") 5182 // updateCard(nameq, dear, card, sender, photo, video, status) 5183 5184 $(".nextBtn").attr("disabled", false) 5185 } 5186 } 5187 5188 function randomString(length, chars) { 5189 var result = ''; 5190 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5191 return result; 5192 } 5193 5194 function getNoteCity(fulldate) { 5195 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5196 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5197 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5198 const d = new Date(h_1); 5199 const day = weekday[d.getDay()]; 5200 const dt = d.getDate(); 5201 const mt = monthly[d.getMonth()]; 5202 const yr = d.getFullYear(); 5203 const p = $("#cities").parent(".form-group") 5204 } 5205 5206 function disabledSameDay() { 5207 let btnFirst = $("#deliveryDate").find("button:first-child") 5208 let getDay = new Date().getDay(); 5209 5210 5211 5212 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5213 if(hour >= 14.00){ 5214 btnFirst.attr("disabled", true) 5215 } 5216 } else if(getDay == 6){ 5217 if(hour >= 16.00){ 5218 btnFirst.attr("disabled", true) 5219 } 5220 } else if(getDay == 0){ 5221 if(hour >= 16.00){ 5222 btnFirst.attr("disabled", true) 5223 } 5224 } 5225 5226 5227 } 5228 5229 function disabledays(date) { 5230 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5231 //if u have to disable a list of day 5232 let removeDays 5233 5234 5235 5236 removeDays = ["2025-2-13", "2025-2-14"]; 5237 5238 if ($.inArray(ymd, removeDays) >= 0) { 5239 return [false]; 5240 } else { 5241 let day = date.getDay(); 5242 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5243 return [(day == 0), '']; 5244 } 5245 5246 if(day == 0){ 5247 return [(day == 0), '']; 5248 } 5249 5250 5251 return [(day != 0), '']; 5252 } 5253 } 5254 5255 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5256 /* Written by Deden Fathurahman ([email protected]). */ 5257 ( function( factory ) { 5258 if ( typeof define === "function" && define.amd ) { 5259 5260 // AMD. Register as an anonymous module. 5261 define( [ "../widgets/datepicker" ], factory ); 5262 } else { 5263 5264 // Browser globals 5265 factory( jQuery.datepicker ); 5266 } 5267 }( function( datepicker ) { 5268 5269 datepicker.regional.id = { 5270 closeText: "Tutup", 5271 prevText: "<mundur", 5272 nextText: "maju>", 5273 currentText: "Today", 5274 monthNames: [ "January","February","March","April","May","Juny", 5275 "July","August","September","October","November","December" ], 5276 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5277 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5278 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5279 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5280 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5281 weekHeader: "Mg", 5282 dateFormat: "D, dd M", 5283 firstDay: 0, 5284 isRTL: false, 5285 showMonthAfterYear: false, 5286 yearSuffix: "" }; 5287 datepicker.setDefaults( datepicker.regional.id ); 5288 5289 return datepicker.regional.id; 5290 5291 } ) ); 5292 5293 function loadPopup() { 5294 $("#backgroundPopup").fadeIn("slow"); 5295 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5296 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5297 if(firstSection.hasClass("purchasePersonalize")) { 5298 if(productType !== '') { 5299 console.log("clarity event " + productType + ' personalize') 5300 window.clarity("event", `${productType} cardPersonalization`) 5301 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5302 } 5303 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5304 console.log("clarity event " + productType + ' personalizeBoard') 5305 window.clarity("event", `${productType} personalizeBoard`) 5306 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5307 } 5308 firstSection.removeClass("hide") 5309 5310 // Auto-trigger addon loading when addon section becomes visible 5311 setTimeout(function() { 5312 const addonSection = $(".purchaseAddon") 5313 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5314 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5315 $("[data-addon=upsell-all]").trigger("click") 5316 } 5317 } 5318 }, 200) 5319 } 5320 5321 function disablePopup() { 5322 $("#backgroundPopup").fadeOut("slow"); 5323 $(".purchasePopup").fadeOut("slow"); 5324 $("#popupCart").fadeOut("slow"); 5325 } 5326
5327 function scrollTo(parent, div, dur) { 5328 $(parent).animate({ 5329 scrollTop: $(div).offset().top 5330 }, dur); 5331 } 5332 5333 function loadPopupPersonalize() { 5334 const div = "#purchaseProduct" 5335 const p = "html, body, .product-meta" 5336 $("p.error").remove() 5337 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5338 const isCity = $("#cities[required]") 5339 const isDate = $("#propDeliveryDate[required]") 5340 const isTime = $("#propDeliveryTime[required]") 5341 // loadPopup() 5342 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5343 loadPopup() 5344 } 5345 if(isCity.val() == '') { 5346 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5347 scrollTo(p, div, 500) 5348 } 5349 if(isDate.val() == '') { 5350 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5351 scrollTo(p, div, 500) 5352 } 5353 if(isTime.val() == '') { 5354 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5355 scrollTo(p, div, 500) 5356 } 5357 } 5358 5359 function quantityCounter() { 5360 $(document).on("click", ".item-card.selected .q_up", function () { 5361 var C = $(this).attr("data-id"), 5362 S = 5363 parseInt( 5364 $(this) 5365 .siblings(".quantity-cart-" + C) 5366 .val() 5367 ) + 1; 5368 $(this).attr("data-quantity", S), 5369 $(this) 5370 .siblings(".quantity-cart-" + C) 5371 .val(S); 5372 }), 5373 $(document).on("click", ".item-card.selected .q_down", function () { 5374 var C = $(this).attr("data-id"), 5375 S = parseInt( 5376 $(this) 5377 .siblings(".quantity-cart-" + C) 5378 .val() 5379 ); 5380 0 < S && $(this).attr("data-quantity", S - 1), 5381 0 < S && 5382 $(this) 5383 .siblings(".quantity-cart-" + C) 5384 .val(S - 1); 5385 }); 5386 } 5387 5388 quantityCounter() 5389 5390 const itemAddon = $(".item-card").length 5391 const nofree = $(".nofree").length 5392 5393 const upsell = '' 5394 5395 if(nofree === itemAddon) { 5396 // $("#itemAddons").html("<p>No Items available</p>") 5397 } 5398 5399 $("#itemAddons .item-card").each(function(e){ 5400 $("#itemAddons").attr("data-length", e) 5401 }) 5402 5403 $("[data-addon]").click(function(){ 5404 5405 5406 5407 const t = $(this) 5408 5409 const data = t.data("addon") 5410 5411 $("[data-addon]").removeClass("selected") 5412 t.addClass("selected") 5413 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5414 const products = data.products 5415 const html = [] 5416 for(let i = 0; i < products.length; i++) { 5417 const id = products[i].id 5418 const variantId = products[i].variants[0].id 5419 const img = products[i].images[0].src 5420 let img2 = img.split('.jpg')[0] 5421 const title = products[i].title 5422 const price = products[i].variants[0].price 5423 const tags = products[i].tags 5424 const qty = products[i].variants[0].available 5425 let type_upsell = '' 5426 if(tags.includes('upsell-item-standing')) { 5427 type_upsell = 'standing' 5428 } 5429 console.log(type_upsell) 5430 if(type_upsell !== '') { 5431 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}"> 5432 5433 <div class="card-image"> 5434 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5435 </div> 5436 <div class="card-meta"> 5437 <h5>${title}</h5> 5438 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5439 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5440 </div> 5441 <div class="card-qty"> 5442 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5443 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5443" value="0" data-price=${price} name="quantity"> 5444 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5445 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5446 </svg></a> 5447 </div> 5448 </div>` 5449 html.push(body) 5450 } 5451 } 5452 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5453 $("#itemAddons").attr("data-length", products.length) 5454 // $('#itemAddons')[0].swiper.update(); 5455 }); 5456 }) 5457 5458 async function isAddon(){ 5459 let ids = [] 5460 $("#itemAddons .item-card.selected").each(function(i, e){ 5461 const id = $(this).data("id") 5462 ids.push(id) 5463 }) 5464 console.log(ids) 5465 return ids 5466 } 5467 5468 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5469 const t = $(this).parent() 5470 const id = t.data("id") 5471 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5472 t.toggleClass("selected"); 5473 //$(this).next("input").toggleAttr('name', 'id[]'); 5474 if (t.hasClass('selected')) { 5475 t.find("input").val(1) 5476 t.find("input").attr('name', 'id[]'); 5477 } else { 5478 t.find("input").val(0) 5479 t.find("input").removeAttr('name'); 5480 } 5481 $("#properties-addons").val(addons) 5482 const is = await isAddon() 5483 if(is.length === 0) { 5484 btn.text("continue without add-ons") 5485 return 5486 } 5487 if(is.includes(8835692069079)) { 5488 btn.text("personalize acrylic frame") 5489 } else { 5490 btn.text("Continue") 5491 } 5492 5493 }) 5494 5495 async function myAddon(data) { 5496 const c = $(".addonsPurchase .addons") 5497 let items = [] 5498 5499 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5500 // if(spotifyAddons.length > 0) { 5501 // $(spotifyAddons).each(function(i, e){ 5502 // const spotifyLink = $(this).find(".spotifyLink").val() 5503 // const spotifySong = $(this).find(".spotifySong").val() 5504 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5505 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5506 // if(spotifyLink !== '') { 5507 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5508 // <div class="addon-itm-img"> 5509 // <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"/> 5510 // </div> 5511 // <div class="addon-itm-title"> 5512 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5513 // </div> 5514 // <div class="addon-itm-line-total"> 5515 // <span>Rp 99.000</span> 5516 // </div> 5517 // </div> 5518 // <div class="propsAddonSpotify row m-0"> 5519 // <div class="col-12 col-lg-2"></div> 5520 // <div class="col-12 col-lg-10"> 5521 // <p> 5522 // <span>spotify link</span> 5523 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5524 // </p> 5525 // <p> 5526 // <span>uploaded photo</span> 5527 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5528 // </p> 5529 // <p> 5530 // <span>song / playlist name</span> 5531 // <span class="spotifySongAddon">${spotifySong}</span> 5532 // </p> 5533 // <p> 5534 // <span>artist name</span> 5535 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5536 // </p> 5537 // </div> 5538 // </div>` 5539 // items.push(spotifyAddon) 5540 // } 5541 // }) 5542 // } 5543 for(let i = 0; i < data.length; i++) { 5544 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5545 const img = data[i].image 5546 const title = data[i].title
5547 const qty = data[i].qty 5548 const price = data[i].price 5549 const total = Number(qty) * Number(price) 5550 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5551 <div class="addon-itm-img"> 5552 <img src="${img}" alt="" width="70"/> 5553 </div> 5554 <div class="addon-itm-title"> 5555 <span>${title}</span> 5556 </div> 5557 <div class="addon-itm-line-price"> 5558 <span>${rupiah.format(price)}</span> 5559 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5560 </div> 5561 <div class="addon-itm-line-total"> 5562 <span>${rupiah.format(total)}</span> 5563 </div> 5564 </div>` 5565 items.push(addons) 5566 } 5567 } 5568 c.html(items) 5569 const parent = $(".purchaseAddon") 5570 const next = parent.next(".sectionPurchase") 5571 parent.addClass("hide") 5572 next.removeClass("hide") 5573 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5574 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5575 } 5576 5577 async function listAddon() { 5578 const data = $("#itemAddons").find(".selected") 5579 let ids = [] 5580 $(data).each(function(){ 5581 const id = $(this).data("variant") 5582 const image = $(this).find(".card-image img").attr("src") 5583 const title = $(this).find(".card-meta h5").text() 5584 const qty = $(this).find(".card-qty input").val() 5585 const price = $(this).find(".card-qty input").data("price") 5586 ids.push({ 5587 id: Number(id), 5588 image, 5589 title, 5590 qty, 5591 price 5592 }) 5593 }) 5594 myAddon(ids) 5595 } 5596 5597 async function customSpotify(idx, length, type){ 5598 let isCard = false 5599 5600 let p = $(".purchasePopupSpotify") 5601 const preLink = $(".spotifyLinkFirst").val() 5602 $("[data-index]").hide() 5603 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5604 p.find(".regulerAddons, .purchase-button").hide() 5605 p.find(".spotifyAddons").show() 5606 5607 const data = await trackUrl(preLink) 5608 5609 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://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="13" height="11" viewB
5609ox="0 0 13 11" fill="none"> 5610 <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"/> 5611 </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://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="13" height="11" viewB
5611ox="0 0 13 11" fill="none"> 5612 <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"/> 5613 </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>` 5614 // console.log(html) 5615 5616 $(".spotifyAddons").append(html) 5617 5618 $(`[data-index=${idx}]`).show() 5619 5620 if (preLink !== '') { 5621 $(".btn-action .btn").attr("disabled", false) 5622 } else { 5623 $(".btn-action .btn").attr("disabled", true) 5624 } 5625 5626 return html 5627 5628 } 5629 5630 $(".spotifyLinkFirst").keyup(async function(){ 5631 const v = $(this).val() 5632 if(v.includes('spotify:user:spotify')) { 5633 const correct = v.split('user:spotify:')[1] 5634 console.log(correct, 'BNER') 5635 $(this).val(correct) 5636 return 5637 } 5638 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5639 const data = await trackUrl(v) 5640 if(!data || !data.status) { 5641 $(this).parent().addClass("error") 5642 // $(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>`) 5643 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5644 return 5645 } 5646 $(this).parent().removeClass("error") 5647 // $(this).parent().remove("txt-error") 5648 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5649 } else { 5650 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5651 } 5652 }) 5653 5654 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5655 const parent = $(this).parents(".purchaseAddon") 5656 const next = parent.next(".sectionPurchase") 5657 if(next.hasClass("purchaseAddress")) { 5658 if(productType !== '') { 5659 console.log("clarity event " + productType + ' purchaseDelivery') 5660 window.clarity("event", `${productType} purchaseDelivery`) 5661 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5662 } 5663 } 5664 const data = $("#itemAddons").find(".selected") 5665 const length = $(".quantity-cart-46067682607319").val() 5666 const checked = data.length; 5667 if(checked > 0) { 5668 if(length > 0) { 5669 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5670 customSpotify(1, length, 'addon') 5671 } else { 5672 listAddon() 5673 } 5674 } else { 5675 parent.addClass("hide") 5676 next.removeClass("hide") 5677 } 5678 }) 5679 5680 $("#personalizeBtnSpotify .btn").click(async function(){ 5681 const isCity = $("#cities[required]") 5682 const isDate = $("#propDeliveryDate[required]") 5683 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5684 alert('Please choose Delivery City & Delivery Date') 5685 return 5686 } 5687 const data = await customSpotify(1, 1, 'product') 5688 if(data) { 5689 $("#backgroundPopup").fadeIn("slow"); 5690 $(".purchasePopupSpotify").fadeIn("slow"); 5691 5692 if(productType !== '') { 5693 console.log("clarity event " + productType + ' spotify') 5694 window.clarity("event", `${productType} spotify`) 5695 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5696 } 5697 } 5698 }) 5699 5700 function formatBytes(bytes, decimals = 2) { 5701 if (!+bytes) return '0 Bytes' 5702
5703 const k = 1024 5704 const dm = decimals < 0 ? 0 : decimals 5705 const sizes = ['B', 'KB', 'MB'] 5706 5707 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5708 5709 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5710 } 5711 5712 async function trackUrl(link){ 5713 try { 5714 let trackId = link.split('/').pop().split('?')[0]; 5715 let type = '' 5716 if(link.includes("spotify:")) { 5717 const uri = link.split('spotify:')[1] 5718 trackId = uri.split(':')[1] 5719 type = uri.split(':')[0] + 's' 5720 } else { 5721 if(link.match('track')){ 5722 type = 'tracks' 5723 } else if(link.match('playlist')) { 5724 type = 'playlists' 5725 } else if(link.match('artist')) { 5726 type = 'artists' 5727 } else if(link.match('album')) { 5728 type = 'albums' 5729 } 5730 } 5731 console.log(`${host}/api/spotify/${type}/${trackId}`) 5732 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5733 console.log(data, 'DATA') 5734 const song = data?.data?.name 5735 const artist = data?.data?.artist 5736 return { 5737 song, artist, type, trackId, status: data.status 5738 } 5739 } catch(err) { 5740 console.log(err) 5741 } 5742 } 5743 5744 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5745 const parent = $(this).parents("[data-index]") 5746 const preview = parent.find(".previewImage") 5747 const file = $(this)[0].files[0]; 5748 if (file) { 5749 const reader = new FileReader(); 5750 reader.onload = async function(e) { 5751 parent.find(".uploadResult label").hide() 5752 parent.find(".uploadedResult").remove() 5753 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5754 <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> 5755 <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;">
5755<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 5756 <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 /> 5757 </svg> 5758 </span></div></div>`) 5759 parent.find(".frameImageUploaded svg").hide() 5760 parent.find(".frameImage").addClass("uploaded") 5761 preview.attr("src", e.target.result); 5762 preview.show(); 5763 let formData = new FormData(); 5764 formData.append("file", file); 5765 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5766 method: "POST", 5767 body: formData 5768 }) 5769 const result = await response.json(); 5770 if(result){ 5771 parent.find(".resultPhotoSpotify").val(result.url) 5772 } 5773 } 5774 5775 reader.readAsDataURL(file); 5776 } else { 5777 preview.hide(); 5778 } 5779 }); 5780 5781 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5782 $(this).next("input[type=file]").trigger("click") 5783 }) 5784 5785 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5786 $(this).parents("input[type=file]").trigger("click") 5787 }) 5788 5789 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5790 const parent = $(this).parents("[data-index]") 5791 parent.find(".uploadPhotoSpotify").val("") 5792 parent.find(".uploadResult label").show() 5793 parent.find(".uploadedResult").remove() 5794 parent.find(".frameImageUploaded svg").show() 5795 parent.find(".previewImage").hide() 5796 parent.find(".frameImage").removeClass("uploaded") 5797 }) 5798 5799 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5800 const parent = $(this).parents("[data-index]") 5801 parent.toggleClass("checked") 5802 }) 5803 5804 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5805 const parent = $(this).parents("[data-index]") 5806 const link = $(this).val() 5807 const data = await trackUrl(link) 5808 5809 console.log(data) 5810 5811 if(data.song) { 5812 parent.find(".spotifySong").val(data.song) 5813 parent.find(".spotifyData").find("h3").text(data.song) 5814 } 5815 if(data.artist) { 5816 parent.find(".spotifyArtist").val(data.artist) 5817 parent.find(".spotifyData").find("p").text(data.artist) 5818 } 5819 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5820 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5821 if (data.status === true) { 5822 parent.find(".btn-action .btn").attr("disabled", false) 5823 } else { 5824 parent.find(".btn-action .btn").attr("disabled", true) 5825 } 5826 }) 5827
5828 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5829 const parent = $(this).parents("[data-index]") 5830 const v = $(this).val() 5831 parent.find(".spotifyData h3").text(v) 5832 }) 5833 5834 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5835 const parent = $(this).parents("[data-index]") 5836 const v = $(this).val() 5837 parent.find(".spotifyData p").text(v) 5838 }) 5839 5840 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5841 const parent = $(this).parents("[data-index]") 5842 const length = parent.data("length") 5843 const index = parent.data("index") 5844 const indexNext = Number(index) + 1 5845 customSpotify(indexNext, length, 'addon') 5846 }) 5847 5848 5849 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5850 const parent = $(this).parents(".purchaseAddon") 5851 const next = parent.next(".sectionPurchase") 5852 parent.addClass("hide") 5853 next.removeClass("hide") 5854 next.find(".purchase-button").show() 5855 listAddon() 5856 }) 5857 5858 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5859 const t = $(this).parents("[data-index]") 5860 const parent = $(this).parents(".sectionPurchase") 5861 const current = t.data("index") 5862 const prevCurrent = Number(current) - 1 5863 if(current == 1) { 5864 parent.removeClass("purchaseAddonSpotify") 5865 parent.find(".purchase-button").show() 5866 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5867 $(".spotifyAddons").empty() 5868 $(".regulerAddons").show() 5869 return 5870 } 5871 t.hide() 5872 t.prev("[data-index]").show() 5873 t.remove() 5874 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5875 }) 5876 5877 $("#personalizeBtn .btn").click(async function() { 5878 loadPopupPersonalize() 5879 }); 5880 5881 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5882 $(".sectionPurchaseSpotify").hide() 5883 loadPopupPersonalize() 5884 }) 5885 5886 $(".close-purchase-popup").click(function() { 5887 disablePopup(); 5888 }); 5889 $("#backgroundPopup").click(function() { 5890 // disablePopup(); 5891 }); 5892 5893 $("#popupCart .close-purchase-popup").click(function() { 5894 location.reload() 5895 }); 5896 5897 $('#popupCart').on('hide.bs.modal', function (e) { 5898 location.reload() 5899 }) 5900 5901 $(".next-card").click(function(){ 5902 const parent = $(this).parents(".sectionPurchase") 5903 const next = parent.next(".sectionPurchase") 5904 parent.addClass("hide") 5905 next.removeClass("hide") 5906 }) 5907 5908 $(".back-purchase-button").click(function(){ 5909 const parent = $(this).parents(".sectionPurchase") 5910 const prev = parent.prev(".sectionPurchase") 5911 parent.addClass("hide") 5912 prev.removeClass("hide") 5913 }) 5914 5915 $(document).keypress(function(e) { 5916 if (e.keyCode == 27 && popupStatus == 1) { 5917 disablePopup(); 5918 } 5919 }); 5920 5921 const parentImg = $(".case-img-preview") 5922 const parentVid = $(".case-video-preview") 5923 5924 function readURL(input) { 5925 if (input.files && input.files[0]) { 5926 let reader = new FileReader(); 5927 5928 let type = 'image/jpeg' 5929 const size = input.files[0].size 5930 if(input.files[0].type.match('video/')){ 5931 type = 'video/mp4' 5932 if(size > 15728640) { 5933 alert('File size exceeds maximum limit 15 MB') 5934 return 5935 } 5936 } else { 5937 if(size > 5242880) { 5938 alert('File size exceeds maximum limit 5 MB') 5939 return 5940 } 5941 } 5942 5943 reader.onload = function (e) { 5944 $(".nextBtn").attr("disabled", true) 5945 if(type === 'image/jpeg') { 5946 5947 $('.placeholder-image').hide(); 5948 $('.preview-image').show() 5949 $('.preview-image').attr('src', e.target.result); 5950 5951 } else { 5952 // parentVid.find(".ajax-loader").show(); 5953 $(".steps-card-preview").addClass("loading") 5954 } 5955 } 5956 5957 5958 5959 reader.readAsDataURL(input.files[0]); 5960 } 5961 } 5962 5963 async function readURLPapan(input) { 5964 if (input.files && input.files[0]) { 5965 let reader = new FileReader(); 5966 5967 reader.onload = function (e) { 5968 $('.btn-upload-papan').siblings('label').hide(); 5969 $('.btn-upload-papan img').attr('src', e.target.result); 5970 $('.btn-upload-papan img').show(); 5971 $('.svgLogoPapan').hide(); 5972 } 5973 5974 const type = 'image/jpeg' 5975 const name = `logo-8144957800663-${Date.parse(new Date())}` 5976 5977 let formData = new FormData(); 5978 formData.append("file", input.files[0]); 5979 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5980 method: "POST", 5981 body: formData 5982 }) 5983 const result = await response.json(); 5984 if(result) { 5985 const url = result.url 5986 $("[data-properties=papan-logo]").val(url) 5987 } 5988
5989 reader.readAsDataURL(input.files[0]); 5990 } 5991 } 5992 5993 async function readURLAddress(input) { 5994 console.log(input, 'readURLAddress') 5995 if (input.files && input.files[0]) { 5996 let reader = new FileReader(); 5997 5998 reader.onload = function (e) { 5999 $('.photo-address').attr('src', e.target.result); 6000 $('.photo-address').show(); 6001 } 6002 6003 const type = 'image/jpeg' 6004 const name = input.files[0].name?.split('.')[0] 6005 6006 let formData = new FormData(); 6007 formData.append("file", input.files[0]); 6008 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6009 method: "POST", 6010 body: formData 6011 }) 6012 const result = await response.json(); 6013 6014 reader.readAsDataURL(input.files[0]); 6015 6016 return result 6017 } 6018 } 6019 6020 6021 6022 6023 async function addToCartUang() { 6024 var productAddOnId1 = 42122101162199; 6025 var productAddOnId2 = 42122101194967; 6026 var product_id = 8144957800663 6027 const data = { 6028 items: [ 6029 { 6030 quantity: $("#Quantity-" + productAddOnId1).val(), 6031 id: productAddOnId1, 6032 "properties": { "Time": $("#properties-time").val() } 6033 }, 6034 { 6035 quantity: $("#Quantity-" + productAddOnId2).val(), 6036 id: productAddOnId2, 6037 "properties": { "Time": $("#properties-time").val() } 6038 } 6039 ] 6040 } 6041 await fetch(window.Shopify.routes.root + 'cart/add.js', { 6042 method: 'POST', 6043 headers: { 6044 'Content-Type': 'application/json' 6045 }, 6046 body: JSON.stringify(data) 6047 }) 6048 .then(response => { 6049 console.error('Sukses Buket Uang:', response); 6050 $(".form-flower").submit() 6051 }) 6052 .catch((error) => { 6053 console.error('Error Buket Uang:', error); 6054 $(".form-flower").submit() 6055 }); 6056 } 6057 6058 async function saveCard(){ 6059 let isCard = true 6060 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 6061 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 6062 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 6063 const foto = $("#properties-photo").val() 6064 const video = $("#properties-video").val() 6065 const data = JSON.stringify({ 6066 "id": qrID, 6067 "penerima": $("#properties-nama-penerima").val(), 6068 "kartu_penerima": kartu_penerima, 6069 "kartu_ucapan": kartu_ucapan, 6070 "kartu_pengirim": kartu_pengirim, 6071 "foto": foto, 6072 "video": video, 6073 "productId": "8144957800663", 6074 "order_name": "", 6075 "status": "Cart" 6076 }) 6077 6078 6079 } 6080 6081 async function additem(items){ 6082 try { 6083 let formData = items 6084 if(items?.length) { 6085 formData = { 6086 'items': items 6087 }; 6088 } 6089 6090 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 6091 method: 'POST', 6092 headers: { 6093 'Content-Type': 'application/json', 6094 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 6095 }, 6096 body: JSON.stringify(formData) 6097 }) 6098 6099 const data = await add.json(); 6100 return data 6101 } catch(err){ 6102 console.log('Error additem', err) 6103 } 6104 } 6105 6106 async function addons(){ 6107 let items = [] 6108 $(".addon-item").each(function(){ 6109 const p = $(this) 6110 const props = p.next(".propsAddonSpotify") 6111 const id = $(this).data("id") 6112 const quantity = $(this).data("qty") 6113 const propId = $("#properties-time").val() 6114 let properties = {} 6115 if(id === 46067682607319) { 6116 const link = props.find(".spotifyLinkAddon").text() 6117 const photo = props.find(".spotifyFotoAddon").text() 6118 const song = props.find(".spotifySongAddon").text() 6119 const artist = props.find(".spotifyArtistAddon").text() 6120 properties = { 6121 id: propId, 6122 "Spotify Link": link !== '' ? link : '-', 6123 "Spotify Photo": photo !== '' ? photo : '-', 6124 "Spotify Song": song !== '' ? song : '-', 6125 "Spotify Artist": artist !== '' ? artist : '-', 6126 type: 'addon' 6127 } 6128 } else { 6129 properties = { 6130 "id": propId, 6131 "type": "addon" 6132 } 6133 } 6134 items.push({ 6135 id, 6136 quantity, 6137 properties 6138 }) 6139 }) 6140 return items 6141 } 6142 6143 async function propItems() { 6144 let props = {} 6145 $("[data-properties]").each(function(e){ 6146 let elementType = this.tagName;
6147 const k = $(this).data("properties") 6148 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') { 6149 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6150 if(v !== '') { 6151 props[k] = v?.replace(/[\s\n]/g, ''); 6152 } 6153 } 6154 }) 6155 return props 6156 } 6157 6158 async function showPopupCart(items){ 6159 if(productType !== '') { 6160 console.log("clarity event " + productType + ' completeOrder') 6161 window.clarity("event", `${productType} completeOrder`) 6162 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6163 } 6164 $("#popupCart").show() 6165 6166 $(".propDeliveryCity").text($("#cities").val()) 6167 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6168 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6169 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6170 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6171 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6172 $(".propDeliveryProv").text($("#province").val()) 6173 $(".propDeliveryZip").text($("#zip").val()) 6174 6175 6176 6177 const addons = [] 6178 if(items && items.length > 0) { 6179 for(let i = 1; i < items.length; i++) { 6180 const spotifyLink = items[i].properties['Spotify Link'] 6181 const spotifyPhoto = items[i].properties['Spotify Photo'] 6182 const spotifySong = items[i].properties['Spotify Song'] 6183 const spotifyArtist = items[i].properties['Spotify Artist'] 6184 const price = items[i].price / 100 6185 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6186 <div class="col-12 col-lg-2"></div> 6187 <div class="col-12 col-lg-10"> 6188 <p> 6189 <span>spotify link</span> 6190 <span>${spotifyLink}</span> 6191 </p> 6192 <p> 6193 <span>Upload Photo</span> 6194 <span>${spotifyPhoto}</span> 6195 </p> 6196 <p> 6197 <span>song / playlist name</span> 6198 <span>${spotifySong}</span> 6199 </p> 6200 <p> 6201 <span>artist name</span> 6202 <span>${spotifyArtist}</span> 6203 </p> 6204 </div> 6205 </div>` : ''; 6206 addons.push(`<div class="row m-0"> 6207 <div class="imgAddonCart col-2"> 6208 <img 6209 width="43" 6210 src="${items[i].image}" 6211 alt="" 6212 > 6213 </div> 6214 <div class="imgAddonTitlePrice col-10 align-self-center"> 6215 <div class="row justify-content-between m-0"> 6216 <div class="col-12 col-lg-8"> 6217 <h5>${items[i].title}</h5> 6218 </div> 6219 <div class="col-12 col-lg-4 text-lg-right"> 6220 <span>${rupiah.format(price)}</span> 6221 </div> 6222 </div> 6223 </div> 6224 </div>${props}`) 6225 } 6226 } 6227 // console.log(addons) 6228 if(addons.length === 0) { 6229 $(".itemAddonCart").hide() 6230 return 6231 } 6232 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6233 $(".wrapperItemAddonCart").html(addons) 6234 } 6235 6236 const money = (money) => { 6237 return new Intl.NumberFormat('id-ID', 6238 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6239 ).format(money); 6240 } 6241 6242 async function showNoteMoney() { 6243 let qty50k = $("[data-properties='Uang 50k']").val() 6244 let qty100k = $("[data-properties='Uang 100k']").val() 6245 const total50k = Number(qty50k) * 50000 6246 const total100k = Number(qty100k) * 100000 6247 const total_all = total50k + total100k 6248 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6249 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6250 $(".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://terbaru.hasilmacau88.live/" target="_blank" style="text-decoration: underline;
6250 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6251 } 6252 6253 async function removeImage() { 6254 const data = JSON.stringify({ 6255 "ID": $("#properties-properties-qrId").val(), 6256 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6257 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6258 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6259 "Nama Penerima": $("#properties-nama-penerima").val(), 6260 "Order Number":"", 6261 "Status":"Product", 6262 "Foto": "", 6263 "Media": $("#properties-video").val(), 6264 "Image": "8144957800663" 6265 }) 6266 const remove = updateCard(data) 6267 if(remove) { 6268 $(this).hide() 6269 $("#properties-photo").val("-") 6270 $(".placeholder-image").show() 6271 $(".preview-image").attr("src", "") 6272 } 6273 } 6274 6275 async function removeVideo() { 6276 const data = JSON.stringify({ 6277 "ID": $("#properties-properties-qrId").val(), 6278 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6279 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6280 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6281 "Nama Penerima": $("#properties-nama-penerima").val(), 6282 "Order Number":"", 6283 "Status":"Product", 6284 "Foto": $("#properties-photo").val(), 6285 "Media": "", 6286 "Image": "8144957800663" 6287 }) 6288 const remove = updateCard(data) 6289 if(remove) { 6290 $("#properties-video").val("-") 6291 $(this).find("img").hide() 6292 $(this).hide() 6293 $(this).prev("p").text("Add video to make it more special (optional)") 6294 $("#label-input-video").show() 6295 $("#label-input-video span").text("Upload Video") 6296 $(".case-video-preview p span").remove() 6297 } 6298 } 6299 6300 async function loadItemOccasion(t, occasion) { 6301 const name = occasion?.replace('greeting-card-', '') 6302 $("#kartu-ucapan").val("") 6303 $("[data-occassion]").removeClass("selected") 6304 $("[data-properties=ucapan]").val("") 6305 $("#save-card").attr("disabled", true) 6306 t.addClass("selected") 6307 $("#show_note").attr("data-card-occassion", name) 6308 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6309 const products = data.products 6310 const html = [] 6311 for(let i = 0; i < products.length; i++) { 6312 const id = products[i].id 6313 const variantId = products[i].variants[0].id 6314 const img = products[i].images[0].src 6315 const title = products[i].title 6316 const price = products[i].variants[0].price 6317 const qty = products[i].variants[0].inventory_quantity 6318 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6319 <label for="card-${variantId}"></label> 6320 <div class="card-image"> 6321 <img src="${img}" alt="${title}" width="" height="" /> 6322 </div> 6323 <div class="card-meta text-center"> 6324 <h5>${title}</h5> 6325 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6326 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6327 </div> 6328 </div>` 6329 html.push(body) 6330 } 6331 const withoutCard = `<div class="item-card item-without-card"> 6332 <label for="card-0"></label> 6333 <div class="card-image"> 6334 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6335 </div> 6336 <div class="card-meta text-center"> 6337 <h5>
6337Send without a greeting card</h5> 6338 <input id="card-0" type="radio" name="id" value="" data-price=""> 6339 </div> 6340 </div>` 6341 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6342 }); 6343 } 6344 6345 $(document).ready(function(){ 6346 6347 // Observer to auto-trigger addon loading when addon section becomes visible 6348 const addonObserver = new MutationObserver(function(mutations) { 6349 mutations.forEach(function(mutation) { 6350 const target = $(mutation.target) 6351 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6352 if(!target.hasClass('hide')) { 6353 // Addon section just became visible, ensure items are loaded 6354 setTimeout(function() { 6355 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6356 console.log("Auto-triggering addon load...") 6357 $("[data-addon=upsell-all]").trigger("click") 6358 } 6359 }, 150) 6360 } 6361 } 6362 }) 6363 }) 6364 6365 // Start observing addon section 6366 const addonSection = document.querySelector('.purchaseAddon') 6367 if(addonSection) { 6368 addonObserver.observe(addonSection, { 6369 attributes: true, 6370 attributeFilter: ['class'] 6371 }) 6372 } 6373 6374 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6375 6376 $(this).find("span").addClass("loading") 6377 let isValid = true 6378 $(".formAddressPurchase [required]").each(function(){ 6379 const t = $(this) 6380 const input = t.val() 6381 const p = t.parent() 6382 if(input === '') { 6383 p.addClass("error") 6384 isValid = false 6385 } 6386 }) 6387 6388 if(!isValid) { 6389 $(this).find("span").removeClass("loading") 6390 return 6391 } 6392 6393 let items = [] 6394 const mainProps = { 6395 6396 "Delivery Date": $("#propDeliveryDate").val(), 6397 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6398 "Kota Pengiriman": $("#cities").val(), 6399 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6400 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6401 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6402 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6403 6404 6405 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6406 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6407 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6408 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6409 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6410 6411 6412 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6413 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6414 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6415 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6416 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6417 "type": 'product' 6418 } 6419 const props = await propItems() 6420 properties = {...mainProps, ...props }; 6421 const id = $("#productSelect").find('option:selected').val() 6422 console.log(id, 'main ID') 6423 const mainItem = { 6424 id: Number(id), 6425 quantity: 1, 6426 properties 6427 } 6428 items.push(mainItem) 6429 const cardId = $("#itemCards").find(".selected input").val() 6430 const cardItem = { 6431 id: Number(cardId), 6432 quantity: 1, 6433 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6434 } 6435 console.log(cardId, 'cardId') 6436 if(cardId) { 6437 items.push(cardItem) 6438 } 6439 const addon = await addons() 6440 if(addon) { 6441 for(let i = 0;
6441 i < addon.length; i++){ 6442 items.push({ 6443 id: addon[i].id, 6444 quantity: addon[i].quantity, 6445 properties: addon[i].properties 6446 }) 6447 } 6448 } 6449 const addItems = await additem(items) 6450 console.log(addItems.items, 'add items') 6451 if(addItems) { 6452 $(this).find("span").removeClass("loading") 6453 disablePopup() 6454 showPopupCart(addItems.items) 6455 6456 localStorage.setItem("items", JSON.stringify(addItems.items)) 6457 } 6458 }) 6459 6460 $("#addtocart-cart .btn").click(async function(){ 6461 const id = $("#productSelect").find('option:selected').val() 6462 const mainProps = { 6463 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6464 type: 'product' 6465 } 6466 const props = await propItems() 6467 const properties = { ...mainProps, ...props }; 6468 const items = { 6469 id: Number(id), 6470 quantity: 1, 6471 properties 6472 } 6473 const addItems = await additem(items) 6474 if(addItems) { 6475 showPopupCart(addItems.items) 6476 localStorage.setItem("items", JSON.stringify(addItems)) 6477 } 6478 }) 6479 6480 $(".formAddressPurchase [required]").change(function(){ 6481 const t = $(this) 6482 const p = t.parent() 6483 const v = t.val() 6484 if(v !== '') { 6485 p.removeClass("error") 6486 } 6487 }) 6488 6489 $("#save-card").click(async function(){ 6490 const parent = $(this).parents(".sectionPurchase") 6491 const next = parent.next(".sectionPurchase") 6492 $(this).find("span").addClass("loading") 6493 const card = await saveCard() 6494 console.log(card, 'ssaveCCC') 6495 if(card?.status === 200 || card?.status === 201) { 6496 $(".scanCard").removeClass("hide") 6497 $(this).find("span").removeClass("loading") 6498 parent.addClass("hide") 6499 next.removeClass("hide") 6500 if(next.hasClass("purchaseAddon")) { 6501 $("[data-addon=upsell-all]").click() 6502 console.log("clarity event addons") 6503 window.clarity("event", `${productType} add-ons`) 6504 // Ensure addon items are loaded when entering addon popup 6505 setTimeout(function() { 6506 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6507 $("[data-addon=upsell-all]").trigger("click") 6508 } 6509 }, 100) 6510 } 6511 if(next.hasClass("purchaseAddress")) { 6512 $("#zip").select2() 6513 } 6514 } 6515 }) 6516 6517 $("#skip-card").click(async function(){ 6518 $("#greetingCard [data-properties]").val("") 6519 $("#properties-photo").val("") 6520 $("#properties-video").val("") 6521 const parent = $(this).parents(".sectionPurchase") 6522 const next = parent.next(".sectionPurchase") 6523 parent.addClass("hide") 6524 next.removeClass("hide") 6525 // $("#itemCards").html("") 6526 removeImage() 6527 removeVideo() 6528 if(next.hasClass("purchaseAddon")) { 6529 $("[data-addon='upsell-all']").click() 6530 console.log("clarity event addons") 6531 window.clarity("event", `${productType} add-ons`) 6532 // Ensure addon items are loaded when entering addon popup 6533 setTimeout(function() { 6534 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6535 $("[data-addon='upsell-all']").trigger("click") 6536 } 6537 }, 100) 6538 } 6539 if(next.hasClass("purchaseAddress")) { 6540 $("#zip").select2() 6541 } 6542 }) 6543 6544 $("#msgCard").click(async function(){ 6545 $(this).parent().addClass("loading") 6546 let occasion = $(".selected[data-occassion]").data("occassion") 6547 occasion = occasion?.replace("greeting-card-", "") 6548 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6549 const d = data?.data 6550 for(let i = 0; i < d.length; i++) { 6551 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6552 const greeting = d[num]?.Greeting 6553 $(".greetingCard textarea").val(greeting) 6554 $(this).parent().removeClass("loading") 6555 } 6556 $("#save-card").attr("disabled", false) 6557 }) 6558 6559 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6560 const parent = $(this).parents(".sectionPurchase") 6561 const next = parent.next(".sectionPurchase") 6562 parent.addClass("hide") 6563 next.removeClass("hide") 6564 }) 6565 6566 $("#editCard").click(function(){ 6567 $(".custom-card").show() 6568 $(".preview-card").hide() 6569 }) 6570 6571 $("#first_name, #last_name").change(function(){ 6572 const v = $(this).val() 6573 const first_name = $("#first_name").val() 6574 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6575 $("[data-properties=nama-penerima]").val(first_name+last_name) 6576 }) 6577 6578 $("[data-occassion]").click(function(){ 6579 const t = $(this) 6580 const p = t.parents(".sectionPurchase") 6581 // $(".greetingCard").addClass("disabled") 6582 const occasion = t.data("occassion") 6583 loadItemOccasion(t, occasion) 6584 }) 6585 6586 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6587 const id = $(this).parent(".item-card").data("id") 6588 const t = $(this).parent(".item-card") 6589 const target = t.find("input") 6590 const v = $('.item-card input[type="radio"]:checked').val(); 6591 $("#itemCards .item-card").removeClass("selected") 6592 t.addClass("selected") 6593 $("#itemCards .item-card").find("input").attr("name", "") 6594 if(target.length > 0) { 6595 target.attr("name", "id[]") 6596 $("#properties-card").val(id) 6597 $(".greetingCard").removeClass("disabled") 6598 $("#skip-card").attr("disabled", false) 6599 } else { 6600 $("#properties-card").val("") 6601 } 6602 }) 6603 6604 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6605 const parent = $(this).parents(".sectionPurchase") 6606 const next = parent.next(".sectionPurchase") 6607 $(".greetingCard").addClass("disabled") 6608 parent.addClass("hide") 6609 next.removeClass("hide") 6610 $("[data-addon=upsell-all]").click() 6611 $("#zip").select2() 6612 }) 6613 6614 $("[data-properties=ucapan]").keyup(function(){ 6615 const v = $(this).val() 6616 const p = $(this).parents(".sectionPurchase") 6617 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6618 if(v.length > 3) { 6619 p.find(".next-purchase-button").attr("disabled", false) 6620 } else { 6621 p.find(".next-purchase-button").attr("disabled", true) 6622 } 6623 }) 6624 6625 $("[data-properties=penerima]").keyup(function(){ 6626 const v = $(this).val() 6627 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6628 }) 6629 6630 $("[data-properties=pengirim]").keyup(function(){ 6631 const v = $(this).val() 6632 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6633 }) 6634 6635 $(document).click(function(e){ 6636 6637 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6638 // $('#popupCart').fadeOut('slow'); 6639 // location.reload() 6640 }); 6641 6642 $(".toggleAddonCart").click(function(){ 6643 const p = $(this).parent(".itemAddonCart") 6644 p.toggleClass("open") 6645 }) 6646 6647 $(".btnViewCart").click(function(){ 6648 window.location.href = "https://outerbloom.com/cart"; 6649 }) 6650 6651 $(".btnViewCheckout").click(async function(){ 6652 $(this).find("span").addClass("loading") 6653 let zip = $("#zip").val() 6654 const first_name = $("#first_name").val() 6655 const last_name = $("#last_name").val() 6656 const company = $("#company").val() !== '' ? $("#company").val() : '' 6657 const address1 = $("#delivery_address").val() 6658 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6659 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6660 const phone = $("#recipient_number").val() 6661 const city = $("#cities").val() 6662 const province = $("#province").val() 6663 const country = 'Indonesia' 6664 const ver = Date.parse(new Date()) 6665 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}` 6666 6667 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6668 if(clear.status === 200) { 6669 const savedItem = window.localStorage.getItem("items"); 6670 const items = JSON.parse(savedItem) 6671 const addItems = await additem(items) 6672 console.log(addItems, 'new addItems') 6673 if(addItems) { 6674 window.location.href = `https://outerbloom.com/checkout?${params}`; 6675 } 6676 } 6677 }) 6678 6679 $(".btnContinueShopping").click(function(){ 6680 window.location.href = "https://outerbloom.com/"; 6681 }) 6682 6683 if (isIOS) { 6684 $(".empty-state-card").click(function(){ 6685 $("#input-foto").trigger("click") 6686 }) 6687 $(".btn-upload-image").click(function(){ 6688 $("#input-foto").trigger("click") 6689 }) 6690 $("[for=input-video]").click(function(){ 6691 $("#input-video").trigger("click") 6692 }) 6693 $(".btn-upload-papan").click(function(){ 6694 $("#logoPapan").trigger("click") 6695 }) 6696 } 6697 6698 $("[data-properties]").each(function(){ 6699 const select = $(this).parents(".form-group").find("select") 6700 $(this).change(function(){ 6701 const name = $(this).data("properties") 6702 const v = $(this).val() 6703 if (name == 'telepon-penerima') { 6704 let phone = v.replace(/[^0-9]/g, '') 6705 $(this).val(phone); 6706 $("#properties-telepon-penerima").val(phone) 6707 $('.iti__search-input').val('-') 6708 } else { 6709 $("#properties-" + name).val(v) 6710 } 6711 }) 6712 select.on("change", function(){ 6713 const name = $(this).data("properties") 6714 const v = $(this).val() 6715 $("#properties-" + name).val(v) 6716 }) 6717 }) 6718 6719 $("#show_note").click(function(){ 6720 nameq = $("#properties-nama-penerima").val() 6721 dear = $("#properties-kartu-nama-penerima").val() 6722 card = $("[data-properties=ucapan]").val() 6723 sender = $("#properties-kartu-nama-pengirim").val() 6724 photo = $("#properties-photo").val() 6725 video = $("#properties-video").val() 6726 updateCard(nameq, dear, card, sender, photo, video, status) 6727 }) 6728 6729 $(".remove-image").click(function(e){ 6730 e.preventDefault() 6731 $(this).find("img").show() 6732 removeImage() 6733 }) 6734 6735 $(".remove-media").click(function(e){ 6736 e.preventDefault() 6737 $(this).find("img").show() 6738 removeVideo() 6739 }) 6740 6741 6742 6743 $("[data-delivery_method]").click(function(e){ 6744 e.preventDefault() 6745 const t = $(this) 6746 const data = t.data("delivery_method") 6747 $("[data-delivery_method]").removeClass("selected") 6748 t.addClass("selected") 6749 $("#cities").val("") 6750 $("#properties-delivery-date").val("-") 6751 $("#deliveryDate button").removeClass("selected") 6752 $("#full-date").val("Full Calendar â") 6753 $("#propDeliveryDate").val("") 6754 const step3 = $("#step-3") 6755 if(data.match('PickUp')) { 6756 $(".selfpickup-point").show() 6757 step3.find("[data-finished=false]").hide() 6758 $("#panel-4").hide() 6759 step3.find("[data-finished=true]").show() 6760 $("#cities").attr("required", false) 6761 $("#form-group-city").hide() 6762 $("#row-delivery-time").hide() 6763 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6764 $("#propDeliveryTime").attr("required", false) 6765 // $("#deliveryDate").find("button:first-child").addClass("stop") 6766 $(".form-selfpickup").show() 6767 $(".form-delivery").hide() 6768 $(".form-delivery").find("input, textarea, select").val("") 6769 $(".form-delivery").find("input, textarea, select").attr("required", false) 6770 $("#properties-shipping").val("0") 6771 $("#noteDeliveryDate").hide() 6772 $(".form-delivery .form-control").attr("required", false) 6773 $("#stepNav4").hide() 6774 6775 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6776 6777 6778 6779 if(timeOfDay >= 16.01){ 6780 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6781 } 6782 } else { 6783 6784 6785 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6786 step3.find("[data-finished=false]").show() 6787 $("#panel-4").show() 6788 step3.find("[data-finished=true]").hide() 6789 $("#cities").attr("required", true) 6790 $(".selfpickup-point").hide() 6791 $("#form-group-city").show() 6792 $("#cities").val('').trigger('change'); 6793 $("#properties-kota-pengiriman").val("-") 6794 6795 $("#row-delivery-date, #row-delivery-time").show() 6796 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6797 $("#deliveryDate").find("button").removeClass("stop") 6798 $(".form-selfpickup").hide() 6799 $(".form-delivery").show() 6800 $(".form-delivery").find("input, textarea, select").attr("required", true)
6801 $(".form-delivery [data-properties]").attr("readonly", false) 6802 $("#properties-kodepos").val("-") 6803 $("#properties-alamat-penerima").val("-") 6804 $(".form-delivery .form-control").attr("required", true) 6805 $(this).parents(".setup-content").attr("id", "step-1") 6806 6807 $("#stepNav4").show() 6808 } 6809 }) 6810 6811 $("[name=selfpickup]").click(function(){ 6812 const p = $(this).parents(".row-pickup") 6813 const pickupCity = $("input[name='selfpickup']:checked").val(); 6814 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6815 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6816 6817 $(".row-pickup").removeClass("selected") 6818 p.addClass("selected") 6819 6820 $("#properties-kota-pengiriman").val(pickupCity) 6821 $("#province").val("Jakarta") 6822 $("#properties-alamat-penerima").val(pickupAddress) 6823 $("#properties-kodepos").val(pickupZip) 6824 }) 6825 6826 $("#cities").change(function(e){ 6827 e.preventDefault() 6828 $(this).parent(".row").find("p.error").remove() 6829 $("#full-date").val("Full Calendar") 6830 $("#deliveryDate, #deliveryDateFull label ").show() 6831 $("#deliveryDateFull").removeClass("filled") 6832 $(".btnChangeDeliveryDate").addClass("hide") 6833 $("#full-date").prop('disabled', false); 6834 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6835 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6836 const step3 = $("#step-3") 6837 $("#cityNote").remove() 6838 $("#noteDeliveryDate").hide() 6839 $("#noteDeliveryDate").empty() 6840 let v = $(this).val() 6841 let v2 = $('option:selected', this).attr('data-city'); 6842 let v3 = $('option:selected', this).attr('data-province'); 6843 let price = $('option:selected', this).attr('data-price'); 6844 $("#country").val(v) 6845 $("#properties-kota-pengiriman").val(v) 6846 $("#properties-shipping").val(price) 6847 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6848 $("#properties-delivery-date, #properties-delivery-time").val("-") 6849 $("#propDeliveryDate, #propDeliveryTime").val("") 6850 let note = $('option:selected', this).attr('data-note'); 6851 if(v === 'Kota Lainnya') { 6852 $("#noteDeliveryDate").show() 6853 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6854 $("#zip").attr("required", false) 6855 $("#zip").hide() 6856 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6857 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6858 $("#row-delivery-date, #row-delivery-time").hide() 6859 $("#properties-shipping").val("") 6860 // $(this).parents(".setup-content").attr("id", "step-2") 6861 6862 } else { 6863 $("#noteDeliveryDate").hide() 6864 $("#zip").attr("required", true) 6865 $("#zip").show() 6866 $("#row-delivery-date, #row-delivery-time").show() 6867 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6868 $("#deliveryDate").find("button").removeClass("stop") 6869 // $(this).parents(".setup-content").attr("id", "step-1") 6870 6871 } 6872 6873 6874 6875 // if(v !== 'Jakarta') { 6876 // $("[data-type=upsell]").hide() 6877 // } else { 6878 // $("[data-type=upsell]").show() 6879 // } 6880 // $('.collection-addons')[0].swiper.update(); 6881 6882 6883 getProvince(v) 6884 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6885 renderZip(v, v2, v3) 6886 6887 disabledSameDay() 6888 6889 6890 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6891 6892 $("#cardOccasion, #navAddon, .collection-addons").hide() 6893 6894 $("[data-addon=giftcard]").show() 6895 $("[data-addon=giftcard]").click() 6896 $("#itemAddons").show() 6897 $("#flower-step").addClass("nonjadetabek") 6898 } else { 6899 $("#cardOccasion, #navAddon, .collection-addons").show() 6900 $("[data-addon=all]").click() 6901 $("#flower-step").removeClass("nonjadetabek") 6902 } 6903 6904 if(v !== '') { 6905 $("#personalizeBtn .btn").attr("disabled", false) 6906 } else { 6907 $("#personalizeBtn .btn").attr("disabled", true) 6908 } 6909 6910 }) 6911 6912 $("#zip").change(function(e){ 6913 let v = $(this).val() 6914 var city = $("#cities").find('option:selected'); 6915 $("#properties-kodepos").val(v) 6916 if(city === 'Kota Lainnya') { 6917 $(this).attr("required", true) 6918 $("#recipient-address").val("") 6919 } 6920 }) 6921 6922 6923 var minDate = +7 6924 6925 6926 6927 $("#full-date").datepicker({ 6928 minDate, 6929 dateFormat: 'Mdd_yy', //Nop22_2021, 6930 6931 beforeShowDay: disabledays, 6932 6933 onSelect: function (date) { 6934 $("#deliveryDate, #deliveryDateFull label ").hide() 6935 $("#deliveryDateFull").addClass("filled") 6936 $(".btnChangeDeliveryDate").removeClass("hide") 6937 $("#full-date").prop('disabled', true); 6938 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6939 $(".date-full").addClass("selected") 6940 $(".date-single, .calendar-group").removeClass("selected") 6941 $("#propDeliveryTime").val('') 6942 $("#properties-delivery-time").val('-') 6943 $(".time-single").removeClass("selected") 6944 6945 6946 } 6947 }); 6948 6949 $(".btnChangeDeliveryDate").click(function(){ 6950 $("#deliveryDate, #deliveryDateFull label ").show() 6951 $("#deliveryDateFull").removeClass("filled") 6952 $(".btnChangeDeliveryDate").addClass("hide") 6953 $("#full-date").prop('disabled', false); 6954 }) 6955 6956 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6957 e.preventDefault() 6958 $(this).parents("#row-delivery-date").find("p.error").remove() 6959 const fulldate = $(this).data("fulldate") 6960 const day = $(this).data("day") 6961 const date = $(this).data("date")
6962 const month = $(this).data("month") 6963 const year = $(this).data("year") 6964 const off_pagi = $(this).data("offpagi") 6965 const off_siang = $(this).data("offsiang") 6966 const off_Malam = $(this).data("offMalam") 6967 $(".calendarbutton").removeClass("selected") 6968 $(this).addClass("selected") 6969 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6970 $("#propDeliveryTime").val('') 6971 $("#properties-delivery-time").val('-') 6972 $(".calendarbutton2").removeClass("selected") 6973 $("#full-date").val("Full Calendar") 6974 6975 6976 if(off_pagi && timeOfDay > off_pagi) { 6977 $("[data-time=Morning]").attr("disabled", true) 6978 } else { 6979 $("[data-time=Morning]").attr("disabled", false) 6980 } 6981 if(off_siang && timeOfDay > off_siang) { 6982 $("[data-time=Afternoon]").attr("disabled", true) 6983 } else { 6984 $("[data-time=Afternoon]").attr("disabled", false) 6985 } 6986 6987 6988 6989 }) 6990 6991 if(today === 14 && timeOfDay > 17.00) { 6992 $("#deliveryDate button:first-child").attr("disabled", true) 6993 } 6994 6995 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6996 e.preventDefault() 6997 const time = $(this).data("time") 6998 const date = $("#propDeliveryDate").val() 6999 if(date == '') { 7000 return alert('Silakan pilih tanggal terlebih dahulu') 7001 } 7002 $(".calendarbutton2").removeClass("selected") 7003 $(this).addClass("selected") 7004 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 7005 }) 7006 7007 $('textarea.has-limit, input.has-limit').keyup(function () { 7008 max = this.getAttribute("maxlength"); 7009 let len = $(this).val().length; 7010 let limit = $(this).siblings(".limit"); 7011 if (len > max) { 7012 alert('you have reached the limit'); 7013 } else { 7014 limit.text(`${len}/${max}`); 7015 } 7016 }); 7017 7018 $("#button-action-step .btn").click(function(){ 7019 $(this).find("span").text("Processing..."); 7020 }); 7021 7022 $(".finishBtn").on('click', function() { 7023 $(this).addClass("is-adding"); 7024 // $(this).click(); 7025 }); 7026 7027 $('.setup-panel .nav-item a.btn-success').trigger('click'); 7028 7029 $("#button-action .btn").click(function(){ 7030 $("#flower-step").addClass("block"); 7031 $("#button-action").hide(); 7032 }); 7033 7034 $(".close-how-order").click(function(){ 7035 $("#flower-step").removeClass("block"); 7036 $("#button-action").show(); 7037 }); 7038 7039 $("#input-foto, #input-video").change(function(e){ 7040 readURL(this); 7041 }); 7042 7043 $("#logoPapan").change(function(){ 7044 readURLPapan(this); 7045 }); 7046 7047 $("#address-upload").change(async function(){ 7048 const upload_address = await readURLAddress(this) 7049 if(upload_address) { 7050 const url = upload_address.url 7051 $(".props-address-upload").val(url) 7052 $(".form-address").addClass("address-uploaded") 7053 $(".form-address-upload").addClass("uploaded") 7054 7055 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 7056 } 7057 }) 7058 7059 $(".address-manualy").click(function(){ 7060 $(".form-address-upload").removeClass("uploaded"); 7061 $(".photo-address").hide(); 7062 $(".form-address").removeClass("address-uploaded") 7063 $("#formAddressPurchase").find(".form-control").attr("required", true) 7064 }); 7065 7066 $(".case-video-preview").delegate(".replace-video", "click", function(){ 7067 $("#input-video").trigger("click") 7068 }) 7069 7070 $('.date-single').click(function(e) { 7071 e.preventDefault(); 7072 $('.date-single').removeClass('selected'); 7073 $('#full-date').removeClass('selected'); 7074 $(this).addClass('selected'); 7075 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 7076 }); 7077 $('#full-date').click(function(e){ 7078 e.preventDefault(); 7079 $('.date-single').removeClass('selected'); 7080 $(this).addClass('selected'); 7081 }); 7082 7083 // $("tr").each(function(){ 7084 // if($(this).text().match('SKU')) { 7085 // $(".sku-product").html($(this).parents("table").html()) 7086 // } 7087 // }) 7088 7089 $("#product-image").scroll(function(){ 7090 $(".desc-add").each(function(){ 7091 const img = $(this).find("img") 7092 const src = img.data("src") 7093 img.attr("src", src) 7094 }) 7095 }) 7096 7097 $(".product-fixed").hide() 7098 7099 let target = $("#personalizeBtn") 7100 7101 7102 $(".product-meta").scroll(function() { 7103 if ($(window).scrollTop() >= target.offset().top ) { 7104 $(".product-fixed").addClass("show") 7105 } else { 7106 $(".product-fixed").removeClass("show") 7107 } 7108 }); 7109 7110 $(window).scroll(function() { 7111 if ($(window).scrollTop() >= target.offset().top ) { 7112 $(".product-fixed").addClass("show") 7113 } else { 7114 $(".product-fixed").removeClass("show") 7115 } 7116 }); 7117 }); 7118 </script>
7118 7119 7120
7120<script> 7121 // 7122 </script>
7122 7123 7124
7124<script> 7125 $(document).ready(function(){ 7126 $('table tr td').each(function(){ 7127 var texto = $(this).text(); 7128 var nextto = $(this).next("td"); 7129 var sku = $("#data-sku").val() 7130 if(texto == 'SKU'){ 7131 nextto.text(sku) 7132 } 7133 }); 7134 7135 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 7136 $(".stamped-summary-actions-newreview").text("Tulis Review"); 7137 $("#tab-questions").text("Pertanyaan"); 7138 7139 $(".freeship .icon").click(function(){ 7140 $(".fs-content").slideToggle(); 7141 $(this).parents(".freeship").toggleClass("expand"); 7142 }); 7143 7144 var $easyzoom = $('.easyzoom').easyZoom(); 7145 // Setup thumbnails example 7146 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 7147 $('.thumbnails').on('click', 'a', function(e) { 7148 var $this = $(this); 7149 e.preventDefault(); 7150 // Use EasyZoom's `swap` method 7151 api1.swap($this.data('standard'), $this.attr('href')); 7152 }); 7153 7154 $('#playerID').click(function(){ 7155 var videoURL = $('#VdoID').attr('src'), 7156 dataplay = $('#VdoID').attr('data-play'); 7157 7158 //for check autoplay 7159 //if not set autoplay=1 7160 if(dataplay == 0 ){ 7161 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7162 $('#VdoID').attr('data-play',1); 7163 } 7164 else{ 7165 var videoURL = $('#VdoID').attr('src'); 7166 videoURL = videoURL.replace("?autoplay=1", ""); 7167 $('#VdoID').prop('src',''); 7168 $('#VdoID').prop('src',videoURL); 7169 7170 $('#VdoID').attr('data-play',0); 7171 } 7172 7173 }); 7174 7175 $(".product-photo-thumb-video").click(function(e){ 7176 e.preventDefault(); 7177 7178 var newEmbed = $(this).attr('href'); 7179 $("#featured-image-product").addClass("img-video"); 7180 $("#ProductPhotoImg").hide(); 7181 $("#featured-image-product .video").show(); 7182 $("#featured-image-product iframe").attr('src', newEmbed); 7183 $("#VdoID")[0].src += "&autoplay=1"; 7184 }); 7185 $(".product-single__thumbnail").click(function(evt){ 7186 evt.preventDefault(); 7187 $("#featured-image-product").removeClass("img-video"); 7188 $("#ProductPhotoImg").show(); 7189 $("#featured-image-product .video").hide(); 7190 $("#featured-image-product iframe").attr('src', ''); 7191 }); 7192 7193 if($('#product-meta .short-desc > div').length >= 1){ 7194 //console.log('div detected') 7195 var replacer = $('#product-meta .short-desc > div').contents(); 7196 $('#product-meta .short-desc > div').replaceWith(replacer); 7197 7198 var cAssured = $('.c-assured').detach(); 7199 cAssured.insertAfter('.meta-sds .stock-info'); 7200 } 7201 7202 7203 7204 $(".heading-toggle").click(function(){ 7205 $(this).parent().toggleClass("open") 7206 7207 }); 7208 }); 7209 </script>
7209 7210 7211 7212
7212<script type="application/json" id="ProductJson-Product"> 7213 7214 {"id":8144957800663,"title":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eKEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses."} 7215 </script>
7215 7216 7217
7217<script type="application/json" id="VariantJson-Product"> 7218 [ 7219 7220 { 7221 "incoming": false, 7222 "next_incoming_date": null 7223 } 7224 7225 ] 7226 </script>
7226 7227 7228 7229 7230 7231 </div> 7232 7233 7234
7234<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7234 7235 <style> 7236 .stamped-review-header-title, 7237 .stamped-review-header .author, 7238 .stamped-review-content-body, 7239 .stamped-sort-select, 7240 .stamped-review-header .verified-badge[data-type=buyer]:after, 7241 .stamped-review-header-byline, 7242 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7243 .stamped-review {margin-bottom: 0;} 7244 .stamped-review-body {padding-left: 65px;} 7245 .stamped-review:first-child {padding-top: 25px;} 7246 .stamped-review-content {clear: none;} 7247 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7248 .stamped-review-reply-body {padding-left: 65px;} 7249 .stamped-review-header .author {text-transform: capitalize;} 7250 .stamped-questions .stamped-review-content {padding-left: 65px;} 7251 7252 .stamped-pagination {margin: 20px 0 0;} 7253 .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;} 7254 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7255 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7256 .stamped-pagination li:hover a {background: #ddd;} 7257 .stamped-pagination .next {border-right: 1px solid #ccc;} 7258 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7259 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7260 7261 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7262 #stamped-pagination-question span {font-size: 14px;} 7263 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7264 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7265 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7266 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7267 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7268 7269 @media (max-width: 480px){ 7270 .stamped-review-reply {margin-left: 0!important;} 7271 select.stamped-sort-select {font-size: 13px!important;} 7272 } 7273 7274 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7275 display: block !important; 7276 } 7277 </style> 7278
7278<script> 7279 var selectCallback = function(variant, selector) { 7280 timber.productPage({ 7281 money_format: "Rp {{amount_no_decimals}}", 7282 variant: variant, 7283 selector: selector 7284 }); 7285 }; 7286 7287 jQuery(function($) { 7288 new Shopify.OptionSelectors('productSelect', { 7289 product: 7290 7291 7292 7293 7294 7295 {"id":8144957800663,"title":"KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eKEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses."}, 7296 onVariantSelected: selectCallback, 7297 enableHistoryState: true 7298 }); 7299 7300 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7301 7302 7303 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7304 7305 $('.selector-wrapper').hide(); 7306 7307 }); 7308 </script>
7308 7309 7310 7311 7312
7312<script type="application/ld+json"> 7313 { 7314 "@context": "http://schema.org", 7315 "@type": "Product", 7316 "offers": { 7317 "@type": "Offer", 7318 "availability":"https://schema.org/InStock", 7319 "price": 835000, 7320 "priceValidUntil": "05-10-2025", 7321 "priceCurrency": "IDR", 7322 "url": "https://hasilmacau88.com/" 7323 }, 7324 "brand": { 7325 "@type": "Brand", 7326 "name": "Outerbloom Florist" 7327 }, 7328 "sku": "8144957800663", 7329 "gtin13": "Jawa", 7330 "name": "KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia", 7331 "description": "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.", 7332 "category": "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses.", 7333 "url": "https://hasilmacau88.com/", 7334 "image": { 7335 "@type": "ImageObject", 7336 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7337 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7338 "name": "KEBUNTOTO | Hasil Terbaru Toto Macau Telah Diluncurkan untuk Seluruh Pemain Asia", 7339 "width": 1024, 7340 "height": 1024 7341 } 7342 } 7343 </script>
7343 7344 7345 7346 7347 7348 7349
7349<script id="bss-ltap-hide-price" type="text/javascript" > 7350 !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)}))}
7350)),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)}
7350)),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()}
7350if("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)}
7350if(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");
7350c&&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
7350-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");
7350i&&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
7350--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
7350opify.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");
7350e.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=
7350o.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");
7350if(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();
7350let 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()}]); 7351 </script>
7351 7352 7353 </main> 7354 7355 <div id="shopify-section-newsletter" class="shopify-section"><br> 7356 7357 <style> 7358/* Section Newsletter */ 7359#shopify-section-newsletter { 7360 background: url(https://imgbest.store/images/2026/06/16/KEBUNTOTO-Hasil-Terbaru-Toto-Macau-Telah-Diluncurkan-untuk-Seluruh-Pemain-Asia.png); 7361 background-attachment: fixed; 7362 margin-bottom: 0; 7363} 7364 7365input:-webkit-autofill, 7366input:-webkit-autofill:hover, 7367input:-webkit-autofill:active, 7368input:-webkit-autofill:focus { 7369 -webkit-box-shadow: 0 0 0 50px white inset; 7370 -webkit-text-fill-color: #ffffff; 7371} 7372 7373.section-newsletter { 7374 max-width: 800px; 7375 margin: auto; 7376 padding: 50px 0; 7377} 7378 7379.section-newsletter h2 { 7380 font-weight: 700; 7381 font-size: 24px; 7382} 7383 7384.section-newsletter input[type="email"] { 7385 width: 100%; 7386 text-align: center; 7387 border: none; 7388 border-bottom: 1px solid #ffffff; 7389 font-size: 16px; 7390 color: #757575; 7391 background-color: #eeeeee; 7392} 7393 7394.section-newsletter .row label { 7395 font-size: 14px; 7396 cursor: pointer; 7397} 7398 7399.section-newsletter .radio-inline input { 7400 width: auto; 7401} 7402 7403.section-newsletter .btn { 7404 width: 130px; 7405 border: 1px solid #ffffff; 7406 box-shadow: none; 7407 font-size: 16px; 7408 font-weight: 500; 7409 text-transform: uppercase; 7410} 7411 7412.section-newsletter form { 7413 margin: 30px 0 60px; 7414} 7415 7416.section-newsletter input[type="radio"] { 7417 position: absolute; 7418 width: 1px; 7419 height: 1px; 7420} 7421 7422.section-newsletter [type="radio"]:checked + label, 7423.section-newsletter [type="radio"]:not(:checked) + label { 7424 position: relative; 7425 padding-left: 28px; 7426 cursor: pointer; 7427 line-height: 20px; 7428 display: inline-block; 7429 color: #666; 7430} 7431 7432.section-newsletter [type="radio"]:checked + label:before, 7433.section-newsletter [type="radio"]:not(:checked) + label:before { 7434 content: ''; 7435 position: absolute; 7436 left: 0; 7437 top: 0; 7438 width: 18px; 7439 height: 18px; 7440 border: 1px solid #ddd; 7441 border-radius: 100%; 7442 background: #fff; 7443} 7444 7445.section-newsletter [type="radio"]:checked + label:after, 7446.section-newsletter [type="radio"]:not(:checked) + label:after { 7447 content: ''; 7448 width: 12px; 7449 height: 12px; 7450 background: #ffffff; 7451 position: absolute; 7452 top: 3px; 7453 left: 3px; 7454 border-radius: 100%; 7455 transition: all 0.2s ease; 7456} 7457 7458.section-newsletter [type="radio"]:not(:checked) + label:after { 7459 opacity: 0; 7460 transform: scale(0); 7461} 7462 7463.opt-newsletter { display: none; } 7464 7465.footer-newsletter p, 7466.footer-newsletter p a { 7467 color: #757575; 7468} 7469 7470@media (max-width:991px){ 7471 .section-newsletter h2 { 7472 font-size: 32px; 7473 } 7474 .section-newsletter input { 7475 width: 300px; 7476 font-size: 14px; 7477 } 7478 .section-newsletter { 7479 padding: 50px 20px; 7480 } 7481} 7482 7483@media (max-width: 480px){ 7484 .section-newsletter input[type="email"] { 7485 font-size: 16px; 7486 } 7487} 7488 7489/* Icon Footer */ 7490.icon-img-footer { 7491 width: 80px; 7492 padding: 0px 5px; 7493} 7494 7495@media (min-width: 768px) { 7496 .icon-img-footer { 7497 width: 120px; 7498 } 7499} 7500 7501@media (min-width: 992px) { 7502 .icon-img-footer { 7503 width: 120px; 7504 } 7505} 7506 7507/* Tombol Login & Daftar */ 7508.button-login-daftar { 7509 display: grid; 7510 grid-template-columns: repeat(2, 1fr); 7511 font-weight: 700; 7512} 7513 7514.button-login-daftar a { 7515 text-align: center; 7516 display: block; 7517} 7518 7519.login, 7520.register { 7521 color: #000000; 7522 padding: 15px 10px; 7523 font-size: 23px; 7524 border: 6px solid #d4d4d4; 7525 /* Gradient horizontal: kiri - tengah - kanan */ 7526 background: linear-gradient(to right, #000000 0%, #2bff00 50%, #000000 100%); 7527} 7528 7529.login, 7530.login-button { 7531 background: linear-gradient(to right, #000000 0%, #2bff00 50%, #000000 100%); 7532 border: 6px solid #d4d4d4; 7533} 7534 7535.register, 7536.register-button { 7537 background: linear-gradient(to right, #000000 0%, #2bff00 50%, #000000 100%); 7538 border: 6px solid #d4d4d4; 7539} 7540 7541</style> 7542 7543 7544 <!-- wp:html --> 7545
7545<script> 7546 document.addEventListener('DOMContentLoaded', 7547 function(){const faqItems=document.querySelectorAll('.faq-item'); 7548 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7549 question.addEventListener('click', 7550 ()=>{const isActive=item.classList.contains('active'); 7551 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7552 if(!isActive){item.classList.add('active')}})})}); 7553 </script>
7553 7554 7555 7556 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7557 </div> 7558 <div class="faq-section"> 7559 <h2>FAQ KEBUNTOTO</h2> 7560 <div class="faq-container"> 7561 7562 <div class="faq-item"> 7563 <button class="faq-question"> 7564 Kapan pemain Asia bisa melihat hasil Toto Macau terbaru di KEBUNTOTO? 7565 <span></span> 7566 </button> 7567 <div class="faq-answer"> 7568 <p> 7569 Pemain bisa memantau hasil Toto Macau terbaru melalui KEBUNTOTO saat update sudah tersedia. Informasinya dibuat rapi agar mudah dicek tanpa harus mencari ke banyak tempat. 7570 </p> 7571 </div> 7572 </div> 7573 7574 <div class="faq-item"> 7575 <button class="faq-question"> 7576 Apa yang membuat hasil Toto Macau di KEBUNTOTO enak dipantau setiap hari? 7577 <span></span> 7578 </button> 7579 <div class="faq-answer"> 7580 <p> 7581 Penyajiannya sederhana, jelas, dan tidak membingungkan. Pemain bisa langsung melihat hasil terbaru dengan tampilan yang mudah dibaca, baik dari HP maupun desktop. 7582 </p> 7583 </div> 7584 </div> 7585 7586 <div class="faq-item"> 7587 <button class="faq-question"> 7588 Apakah KEBUNTOTO cocok untuk pemain yang ingin pantauan cepat? 7589 <span></span> 7590 </button> 7591 <div class="faq-answer"> 7592 <p> 7593 Cocok, karena KEBUNTOTO menghadirkan akses yang praktis untuk melihat update hasil Toto Macau. Pemain bisa lebih mudah mengikuti perkembangan terbaru tanpa proses yang ribet. 7594 </p> 7595 </div> 7596 </div> 7597 7598 <div class="faq-item"> 7599 <button class="faq-question"> 7600 Kenapa hasil Toto Macau untuk pemain Asia perlu disajikan dengan rapi? 7601 <span></span> 7602 </button> 7603 <div class="faq-answer"> 7604 <p> 7605 Karena pemain dari berbagai wilayah membutuhkan informasi yang jelas dan mudah dipahami. Dengan data yang tersusun rapi, hasil terbaru bisa lebih cepat dibaca dan tidak bikin bingung. 7606 </p> 7607 </div> 7608 </div> 7609 7610 <div class="faq-item"> 7611 <button class="faq-question"> 7612 Apa yang bisa didapat pemain dari update hasil Toto Macau di KEBUNTOTO? 7613 <span></span> 7614 </button> 7615 <div class="faq-answer"> 7616 <p> 7617 Pemain bisa mendapatkan pantauan hasil terbaru, data yang lebih mudah dibaca, dan akses informasi yang nyaman. Semua dibuat agar pengalaman cek hasil terasa lebih praktis setiap hari. 7618 </p> 7619 </div> 7620 </div> 7621</div> 7622 7623 </div> 7624 7625 </div> 7626 7627 7628 <div class="overlay overlay-cart"></div> 7629 <div id="CartDrawer" class="drawer drawer--right"> 7630 <div class="drawer__header pl-2 pr-2"> 7631 <div class="drawer__icon-cart display-table-cell"> 7632 <a href="/cart" class=""> 7633 <svg class="icon icon-cart" version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7633005-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> 7634 </a> 7635 </div> 7636 <div class="drawer__title h4">Keranjang Belanja</div> 7637 <div class="drawer__close js-drawer-close"> 7638 <button type="button"> 7639 <svg class="icon icon-close" version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="32" height="32" viewBox="0 0 32 32"> 7640 <title>icon-close</title> 7641 <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> 7642 </svg> 7643 </button> 7644 </div> 7645 </div> 7646 <div id="CartContainer" class="p-2"></div> 7647 </div> 7648 7649
7649<script> 7650 7651 </script>
7651 7652
7652<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7652 7653 <!-- /snippets/ajax-cart-template.liquid --> 7654 7655
7655<script id="CartTemplate" type="text/template"> 7656 7657 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7658 <div class="ajaxcart__inner" {{ cart.item_count }}> 7659 {{#items}} 7660 <div class="ajaxcart__product"> 7661 <div class="ajaxcart__row" data-line="{{line}}"> 7662 <div class="grid"> 7663 <div class="grid__item one-quarter"> 7664 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7665 </div> 7666 <div class="grid__item three-quarters"> 7667 <p class="d-block mb-3"> 7668 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7669 {{#if variation}} 7670 <span class="ajaxcart__product-meta p">{{variation}}</span> 7671 {{/if}} 7672 {{#properties}} 7673 {{#each this}} 7674 {{#if this}} 7675 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7676 {{/if}} 7677 {{/each}} 7678 {{/properties}} 7679 7680 </p> 7681 <div class="grid--full display-table"> 7682 <div class="grid__item display-table-cell one-half"> 7683 <div class="ajaxcart__qty"> 7684 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7685 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7686 <span class="visually-hidden">Kurangi jumlah barang</span> 7687 </button> 7688 <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]*"> 7689 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7690 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7691 <span class="visually-hidden">Tambahkan jumlah barang</span> 7692 </button> 7693 </div> 7694 </div> 7695 <div class="grid__item display-table-cell one-half text-right"> 7696 {{#if discountsApplied}} 7697 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7698 <br><span class="h4">{{{linePrice}}}</span> 7699 {{else}} 7700 <span class="h4">{{{linePrice}}}</span> 7701 {{/if}} 7702 </div> 7703 </div> 7704 {{#if discountsApplied}} 7705 <div class="grid--full display-table"> 7706 <div class="grid__item text-right"> 7707 {{#each discounts}} 7708 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7709 {{/each}} 7710 </div> 7711 </div> 7712 {{/if}} 7713 </div> 7714 </div> 7715 </div> 7716 </div> 7717 </div> 7718 </div> 7719 {{/items}} 7720 </div> 7721 <div class="ajaxcart__footer"> 7722 <div class="grid--full cart-subtotal py-2"> 7723 <p>Subtotal</p> 7724 <h3 class="primary">{{{totalPrice}}}</h3> 7725 {{#if totalCartDiscount}} 7726 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7727 {{/if}} 7728 </div> 7729 7730 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7731 7732 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7733 </div> 7734 </form> 7735 7736 </script>
7736 7737
7737<script id="AjaxQty" type="text/template"> 7738 7739 <div class="ajaxcart__qty"> 7740 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7741 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="24" viewBox="0 0 32 32"> 7742 <title>icon-minus</title> 7743 <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> 7744 </svg> 7745 <span class="visually-hidden">Kurangi jumlah barang</span> 7746 </button> 7747 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7748 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7749 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7750 <span class="visually-hidden">Tambahkan jumlah barang</span> 7751 </button> 7752 </div> 7753 7754 </script>
7754 7755
7755<script id="JsQty" type="text/template"> 7756 7757 <div class="js-qty mx-auto mt-2"> 7758 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7759 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7760 <span class="visually-hidden">Kurangi jumlah barang</span> 7761 </button> 7762 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7763 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7764 <svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7765 <span class="visually-hidden">Tambahkan jumlah barang</span> 7766 </button> 7767 </div> 7768 7769 </script>
7769 7770 7771 <style> 7772 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7773 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7774 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7775 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7776 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7777 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7778 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7779 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7780 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7781 </style> 7782
7782<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7782 7783
7783<script> 7784 jQuery(function($) { 7785 ajaxCart.init({ 7786 formSelector: '#AddToCartForm', 7787 cartContainer: '#CartContainer', 7788 addToCartSelector: '#AddToCartXX', 7789 cartCountSelector: '#CartCount, #CartCount2', 7790 cartCostSelector: '#CartCost', 7791 moneyFormat: "Rp {{amount_no_decimals}}" 7792 }); 7793 }); 7794 7795 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7796 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7797 timber.RightDrawer.open(); 7798 }); 7799 </script>
7799 7800 7801 7802 7803 7804 <style> 7805 /** Search AutoComplete **/ 7806 .resultsearch .ui-menu-item[data-cat="Collection"], 7807 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7808 .resultsearch .ui-widget.ui-widget-content { 7809 width: 100%; 7810 top: 48px; 7811 border: none; 7812 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7813 } 7814 .resultsearch .ui-menu-item {text-align: left;} 7815 .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;} 7816 .ui-state-active { 7817 border: none!important; 7818 background-color: #fafafa!important; 7819 color: #000!important; 7820 } 7821 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7822 .ui-menu .ui-menu-item {line-height: normal;} 7823 </style> 7824
7824<script> 7825 $(window).load(function(){ 7826 7827 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;} 7828 7829 $.widget("custom.catcomplete", $.ui.autocomplete, { 7830 _renderMenu: function (ul, items) { 7831 // have search reults split up in categories 7832 var that = this, 7833 currentCategory = ""; 7834 $.each(items, function (index, item) { 7835 if (item.category != currentCategory) { 7836 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7837 currentCategory = item.category; 7838 } 7839 that._renderItemData(ul, item); 7840 }); 7841 } 7842 }); 7843 7844 // higlight searched for term 7845 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7846 var term = this.element.val(), 7847 html = item.label.replace( term, "<b>$&</b>" ); 7848 return $( "<li>" ) 7849 .append(format(item)) 7850 .appendTo( ul ); 7851 }; 7852 7853 7854 var data = [ 7855 { 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
7855llection", 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: " " }
7855,{ 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: " " }
7855,{ 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: " " }
7855,{ 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
7855dal", 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-
7855hampers", 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
7855o-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: " " }
7855,{ 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: " " }
7855,{ 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: " " }
7855,{ 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: " " }
7855,{ 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: " " }
7855,{ 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: " " }
7855,{ 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: " " }
7855,{ 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: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakse
7855s.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "KEBUNTOTO menjadi tempat pantauan hasil Toto Macau terbaru untuk pemain Asia, menyajikan update harian yang jelas, mudah dibaca, dan praktis diakses. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus âï¸ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " }
7855,{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " },{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " }
7855,{ 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
7855dal", 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: " " }, 7856 { 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" }
7856,{ 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" }
7856,{ 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" } 7857 ]; 7858 7859 7860 $( ".header-input-search" ).catcomplete({ 7861 appendTo: ".searchResult",source: function(request, response) { 7862 var results = $.ui.autocomplete.filter(data, request.term); 7863 var predicate = function () { 7864 var counter = { Collection: 0, Produk: 0 }; 7865 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7866 return fn 7867 }(); 7868 response(results.filter(predicate)); 7869 }, 7870 minLength:1, 7871 //results are clickable 7872 select: function( event, ui ) {window.location = ui.item.url;} 7873 }); 7874 $( ".header-input-search2" ).catcomplete({ 7875 appendTo: ".searchResult2", 7876 source: function(request, response) { 7877 var results = $.ui.autocomplete.filter(data, request.term); 7878 var predicate = function () { 7879 var counter = { Collection: 0, Produk: 0 }; 7880 var fn = function(item) { 7881 counter[item.category] += 1; 7882 return (counter[item.category] <= 5); 7883 } 7884 return fn 7885 }(); 7886 response(results.filter(predicate)); 7887 }, 7888 minLength:1, 7889 //results are clickable 7890 select: function( event, ui ) { 7891 window.location = ui.item.url; 7892 } 7893 }); 7894 }); 7895 </script>
7895 7896 7897
7897<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7897 7898
7898<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7898 7899 7900
7900<script> 7901 ( function() { 7902 var youtube = document.querySelectorAll( ".youtube" ); 7903 for (var i = 0; i < youtube.length; i++) { 7904 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7905 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7906 var image = new Image(); 7907 image.src = source; 7908 image.setAttribute("data-src", datasource); 7909 image.classList.add("swiper-lazy"); 7910 image.addEventListener( "load", function() { 7911 youtube[ i ].appendChild( image ); 7912 }( i ) ); 7913 youtube[i].addEventListener( "click", function() { 7914 var iframe = document.createElement( "iframe" ); 7915 iframe.setAttribute( "width", "480" ); 7916 iframe.setAttribute( "height", "480" ); 7917 iframe.setAttribute( "frameborder", "0" ); 7918 iframe.setAttribute( "allowfullscreen", "" ); 7919 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7920 this.innerHTML = ""; 7921 this.appendChild( iframe ); 7922 } ); 7923 }; 7924 7925 } )(); 7926 7927 /* Lazy Load */ 7928 const mainLazyLoad = new LazyLoad({threshold:400}); 7929 $(document).ready(function(){ 7930 7931 $("selectxxx").addClass("needsclick"); 7932 FastClick.attach(document.body); 7933 7934 var $customSelects = $('.select-search'); 7935 $customSelects.select2({ 7936 templateResult: function(result, container) { 7937 if (!result.id) { 7938 return result.text; 7939 } 7940 container.className += ' needsclick'; 7941 return result.text; 7942 } 7943 }); 7944 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7945 $(document).on('select2:open', () => { 7946 document.querySelector('.select2-search__field').focus(); 7947 }); 7948 7949 7950 $(".overlay").click(function(){ 7951 $(".js-drawer-close").click(); 7952 }); 7953 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7954 $("html").toggleClass("nav_open"); 7955 }); 7956 7957 $('.swatch-element label').on('click', function(){ 7958 var srcImg = $(this).data('src'); 7959 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7960 if ($(this).attr("href") == srcImg) { 7961 $(this).trigger('click'); 7962 } 7963 }); 7964 }); 7965 var defaultValue = $(".swatch input:checked").val() 7966 7967 $('#purchaseProduct .swatch [type=radio]').change(function() { 7968 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7969 var optionValue = $(this).val(); 7970 console.log(optionIndex, optionValue) 7971 var value = parseInt(optionValue.split(' ')[0]) 7972 $(this) 7973 .closest('#purchaseProduct') 7974 .find('.single-option-selector') 7975 .eq(optionIndex) 7976 .val(optionValue) 7977 .trigger('change'); 7978 7979 }); 7980 7981 }); 7982 $(document).ready(function(){ 7983 $(".nav-search a").click(function(e){ 7984 e.preventDefault(); 7985 $(".icon-navsearch").toggle(); 7986 $(".icon-navclose").toggle(); 7987 $(".site-nav__item > .site-nav__link").toggle(); 7988 $(".open-search").toggle(); 7989 $(".open-search input").focus(); 7990 }); 7991 $(".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'>"); 7992 if ($(window).width() < 768) { 7993 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7994 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7995 $(".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'>"); 7996 } else { 7997 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7998 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7999 $(".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'>"); 8000 } 8001 $(".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'>"); 8002 $(".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'>"); 8003 }); 8004 </script>
8004 8005 8006 8007 8008 8009 8010 8011 8012
8012<script type="text/javascript"> 8013 var wishlistpage = 0; 8014 8015 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 8016 </script>
8016 8017 8018 <!-- Remove duplicate wishlist.js reference --> 8019 <style> 8020 .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)}} 8021 </style> 8022 8023 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 8024 <div class="modal-dialog" role="document"> 8025 <div class="modal-content"> 8026 <div class="modal-body">Your Wishlist is empty!</div> 8027 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 8028 </div> 8029 </div> 8030 </div> 8031 8032 <div class="wishlist-model"> 8033 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 8034 <div class="modal-dialog white-modal"> 8035 <div class="modal-content"> 8036 <div class="modal-header"> 8037 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 8038 <svg class="icon icon-close" version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="32" height="32" viewBox="0 0 32 32"> 8039 <title>icon-close</title> 8040 <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> 8041 </svg> 8042 </button> 8043 </div> 8044 <div class="modal-body"> 8045 <div class="wishlist-left"> 8046 <div class="wishlist-note">
8047 <span class="cirle"><svg version="1.1" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="32" height="32" viewBox="0 0 32 32"> 8048 <title>icon-check</title> 8049 <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> 8050 </svg></span> 8051 Product added to <a href="/pages/wish-list">Wishlist</a> 8052 </div> 8053 <div class="wishlist-product"> 8054 <div class="product-left"> 8055 <div class="wishlist-image"></div> 8056 </div> 8057 <div class="product-right"> 8058 <div class="wishlist-name"></div> 8059 <div class="wishlist-price"></div> 8060 </div> 8061 </div> 8062 </div> 8063 <div class="wishlist-right"> 8064 <div class="wishlist-cart"> 8065 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 8066 <div class="others-bottom"> 8067 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 8068 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 8069 <span id="AddToCartText" class="">Beli Sekarang</span> 8070 </button> 8071 </div> 8072 <div id="wishlist-variants-container" class="variants-wrapper"></div> 8073 <div class="quantity-content"> 8074 <label>QTY</label> 8075 <input type="number" size="5" class="" name="quantity" value="1" /> 8076 </div> 8077 </form> 8078 </div> 8079 </div> 8080 </div> 8081 </div> 8082 </div> 8083 </div> 8084 </div> 8085 8086 8087 <style> 8088 .stamped-badge[data-rating="0.0"]{display: none !Important;} 8089 8090 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 8091 border-radius: 0px; 8092 } 8093 .stamped-review-body { 8094 padding-left: 0px !important; 8095 } 8096 #product-reviews .stamped-header:after { 8097 display:none !Important; 8098 } 8099 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 8100 font-family:inherit !important; 8101 } 8102 </style> 8103 8104 8105 8106 <div id='stamped-rewards-init' class='stamped-rewards-init' 8107 data-key-public='' 8108 8109 ></div> 8110 8111
8111<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8111 8112 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 8113
8113<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8113 8114 8115
8115<script> 8116 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 8117 </script>
8117 8118
8118<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8118<style> 8119 .jss59 { 8120 background-color: rgba(0, 0, 0, 0.6); 8121 } 8122 .MuiBackdrop-root { 8123 top: 0; 8124 left: 0; 8125 right: 0; 8126 bottom: 0; 8127 display: flex; 8128 z-index: -1; 8129 position: fixed; 8130 align-items: center; 8131 justify-content: center; 8132 background-color: rgba(0, 0, 0, 0.5); 8133 -webkit-tap-highlight-color: transparent; 8134 } 8135 .MuiDialog-scrollPaper { 8136 display: flex; 8137 align-items: center; 8138 justify-content: center; 8139 } 8140 .MuiDialog-container { 8141 height: 100%; 8142 outline: 0; 8143 } 8144 .MuiPaper-elevation24 { 8145 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); 8146 } 8147 .MuiDialog-paper { 8148 margin: 32px; 8149 position: relative; 8150 overflow-y: auto; 8151 } 8152 .MuiDialog-paperScrollPaper { 8153 display: flex; 8154 max-height: calc(100% - 64px); 8155 flex-direction: column; 8156 } 8157 .MuiDialog-paperWidthSm { 8158 max-width: 600px; 8159 } 8160 #location-lock-dialog { 8161 top: 20%; 8162 left: 0; 8163 right: 0; 8164 width: 30%; 8165 margin: 0px auto; 8166 display: block; 8167 padding: 30px; 8168 z-index: 99999; 8169 position: fixed; 8170 font-size: 14px; 8171 background: rgb(0, 0, 0); 8172 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 8173 text-align: center; 8174 font-family: Roboto, Arial, sans-serif; 8175 line-height: 1; 8176 border-radius: 8px; 8177 -webkit-font-smoothing: subpixel-antialiased; 8178 } 8179 .MuiButtonBase-root { 8180 color: inherit; 8181 border: 0; 8182 cursor: pointer; 8183 margin: 0; 8184 display: inline-flex; 8185 outline: 0; 8186 padding: 0; 8187 position: relative; 8188 align-items: center; 8189 user-select: none; 8190 border-radius: 0; 8191 vertical-align: middle; 8192 -moz-appearance: none; 8193 justify-content: center; 8194 text-decoration: none; 8195 background-color: transparent; 8196 -webkit-appearance: none; 8197 -webkit-tap-highlight-color: transparent; 8198 } 8199 .MuiIconButton-root { 8200 flex: 0 0 auto; 8201 color: rgba(0, 0, 0, 0.54); 8202 padding: 12px; 8203 overflow: visible; 8204 font-size: 1.5rem; 8205 text-align: center; 8206 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8207 border-radius: 50%; 8208 } 8209 .MuiIconButton-label { 8210 width: 100%; 8211 display: flex; 8212 align-items: inherit; 8213 justify-content: inherit; 8214 } 8215 .MuiSvgIcon-root { 8216 fill: currentColor; 8217 width: 1em; 8218 height: 1em; 8219 display: inline-block; 8220 font-size: 1.5rem; 8221 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8222 flex-shrink: 0; 8223 user-select: none; 8224 } 8225 .MuiTouchRipple-root { 8226 top: 0; 8227 left: 0; 8228 right: 0; 8229 bottom: 0; 8230 z-index: 0; 8231 overflow: hidden; 8232 position: absolute; 8233 border-radius: inherit; 8234 pointer-events: none; 8235 } 8236 .jss36 { 8237 color: #222222; 8238 font-size: 24px; 8239 font-family: Roboto, Arial, sans-serif; 8240 font-weight: 500; 8241 } 8242 .jss37 { 8243 color: #555555; 8244 padding: 10px 0px 0px; 8245 font-size: 14px; 8246 } 8247 .MuiFormGroup-root { 8248 display: flex; 8249 flex-wrap: wrap; 8250 flex-direction: column; 8251 } 8252 .MuiFormGroup-row { 8253 flex-direction: row; 8254 } 8255 .jss63 { 8256 width: 85%; 8257 margin: 15px auto; 8258 display: flex; 8259 padding: 11px 0px 0px; 8260 justify-content: space-evenly; 8261 } 8262 .MuiFormControlLabel-root { 8263 cursor: pointer; 8264 display: inline-flex; 8265 align-items: center; 8266 margin-left: -11px; 8267 margin-right: 16px; 8268 vertical-align: middle; 8269 -webkit-tap-highlight-color: transparent; 8270 } 8271 .jss70 { 8272 margin: 0; 8273 } 8274 .MuiButtonBase-root { 8275 color: inherit; 8276 border: 0; 8277 cursor: pointer; 8278 margin: 0; 8279 display: inline-flex; 8280 outline: 0; 8281 padding: 0; 8282 position: relative; 8283 align-items: center; 8284 user-select: none; 8285 border-radius: 0; 8286 vertical-align: middle; 8287 -moz-appearance: none; 8288 justify-content: center; 8289 text-decoration: none; 8290 background-color: transparent; 8291 -webkit-appearance: none; 8292 -webkit-tap-highlight-color: transparent; 8293 } 8294 .MuiIconButton-root { 8295 flex: 0 0 auto; 8296 color: rgba(0, 0, 0, 0.54); 8297 padding: 12px; 8298 overflow: visible; 8299 font-size: 1.5rem; 8300 text-align: center; 8301 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8302 border-radius: 50%; 8303 } 8304 .MuiIconButton-colorSecondary { 8305 color: #f50057; 8306 } 8307 .jss71 { 8308 padding: 9px; 8309 } 8310 .MuiRadio-root { 8311 color: rgba(0, 0, 0, 0.54); 8312 } 8313 .jss64 { 8314 padding: 2px; 8315 } 8316 .MuiRadio-colorSecondary.Mui-checked { 8317 color: #f50057; 8318 } 8319 .MuiIconButton-label { 8320 width: 100%; 8321 display: flex; 8322 align-items: inherit; 8323 justify-content: inherit; 8324 } 8325 .MuiTypography-root { 8326 margin: 0; 8327 } 8328 .MuiTypography-body1 { 8329 font-size: 18px; 8330 font-family: Roboto,sans-serif; 8331 font-weight: 400; 8332 line-height: 1.5; 8333 } 8334 .location-popup_area-block__sp9Ws { 8335 display: -moz-box; 8336 display: flex; 8337 -moz-box-orient: vertical; 8338 -moz-box-direction: normal; 8339 flex-direction: column; 8340 -moz-box-pack: center; 8341 justify-content: center; 8342 position: relative; 8343 margin: 10px 10% 0; 8344 } 8345 .location-popup_pin-search-box__3l5mJ { 8346 width: 100%; 8347 display: -moz-box; 8348 display: flex; 8349 -moz-box-align: center; 8350 align-items: center; 8351 } 8352 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8353 position: absolute; 8354 z-index: 999; 8355 } 8356 .location-popup_place-icon__jSG0Q { 8357 color: #ffffff; 8358 padding-left: 8px; 8359 } 8360 .location-popup_place-icon__jSG0Q svg { 8361 width: 18px; 8362 height: 18px; 8363 } 8364 .location-popup_cancel-icon__FHujU { 8365 color: #fff; 8366 right: 10px; 8367 width: 16px; 8368 cursor: pointer; 8369 height: 16px; 8370 display: none; 8371 padding: 5px; 8372 position: absolute; 8373 background: #999; 8374 text-align: center; 8375 border-radius: 50%; 8376 } 8377 .location-popup_pin-search-box__3l5mJ>div>select { 8378 /* -webkit-box-shadow: 0 0 10px #ffffff; 8379 box-shadow: 0 0 10px #ffffff; */ 8380 text-transform: capitalize; 8381 border: 1px solid #ffffff; 8382 color: #ffffff; 8383 width: 100%; 8384 margin: 0; 8385 display: -moz-box; 8386 display: flex;
8387 padding: 0 30px; 8388 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8389 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8390 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8391 font-size: 16px; 8392 border-radius: 4px; 8393 height: 44px; 8394 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8395 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8396 } 8397 .MuiButtonBase-root { 8398 color: inherit; 8399 border: 0; 8400 cursor: pointer; 8401 margin: 0; 8402 display: inline-flex; 8403 outline: 0; 8404 padding: 0; 8405 position: relative; 8406 align-items: center; 8407 user-select: none; 8408 border-radius: 0; 8409 vertical-align: middle; 8410 -moz-appearance: none; 8411 justify-content: center; 8412 text-decoration: none; 8413 background-color: transparent; 8414 -webkit-appearance: none; 8415 -webkit-tap-highlight-color: transparent; 8416 } 8417 .MuiButton-root { 8418 color: rgba(0, 0, 0, 0.87); 8419 padding: 6px 16px; 8420 font-size: 0.875rem; 8421 min-width: 64px; 8422 box-sizing: border-box; 8423 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; 8424 font-family: Roboto,sans-serif; 8425 font-weight: 500; 8426 line-height: 1.75; 8427 border-radius: 4px; 8428 text-transform: uppercase; 8429 } 8430 .MuiButton-contained { 8431 color: rgba(0, 0, 0, 0.87); 8432 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); 8433 background-color: #e0e0e0; 8434 } 8435 .MuiButtonBase-root.Mui-disabled { 8436 cursor: default; 8437 pointer-events: none; 8438 } 8439 .MuiButton-label { 8440 width: 100%; 8441 display: inherit; 8442 align-items: inherit; 8443 justify-content: inherit; 8444 } 8445 .cartButton_login_content__2j1f7 { 8446 display: -moz-box; 8447 display: flex; 8448 text-align: center; 8449 z-index: 9; 8450 font-size: 18px; 8451 font-weight: 500; 8452 color: #fff; 8453 } 8454 8455 .jss35 { 8456 top: 5px; 8457 right: 5px; 8458 padding: 4px; 8459 position: absolute; 8460 border-radius: 50%; 8461 } 8462 .jss67 { 8463 cursor: pointer; 8464 font-size: 15px; 8465 line-height: 1.3; 8466 padding-left: 5px; 8467 } 8468 .jss69 { 8469 color: #222222; 8470 } 8471 .jss80 { 8472 color: #fff; 8473 width: 100%; 8474 height: 52px; 8475 padding: 11px 16px; 8476 font-size: 18px; 8477 min-width: 88px; 8478 min-height: 36px; 8479 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; 8480 font-weight: 500; 8481 line-weight: 1em; 8482 border-radius: 4px; 8483 text-transform: uppercase; 8484 background-color: #E87325; 8485 } 8486 @media (min-width: 991px){ 8487 .cartButton_login_content__2j1f7 { 8488 font-weight: 500; 8489 } 8490 } 8491 8492 @media (max-width: 992px) { 8493 #location-lock-dialog { 8494 width: 100%; 8495 top: auto; 8496 bottom: 0; 8497 padding-left: 0; 8498 padding-right: 0; 8499 } 8500 .MuiFormGroup-row { 8501 display: block 8502 } 8503 .MuiIconButton-label input { 8504 margin: 0; 8505 } 8506 } 8507 </style> 8508 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8509 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8510 <div tabindex="0" data-test="sentinelStart"></div> 8511 <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;"> 8512 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8513 <div class="jss31 undefined" id="location-lock-dialog"> 8514 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 8515 <span class="MuiIconButton-label"> 8516 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8517 <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> 8518 </svg> 8519 </span>
8520 <span class="MuiTouchRipple-root"></span> 8521 </button> 8522 <div> 8523 <div class="jss36">Select Delivery Location</div> 8524 <div class="jss37">Select a delivery location to see product availability</div> 8525 </div> 8526 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8527 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8528 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8529 <span class="MuiIconButton-label"> 8530 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8531 <span class="jss41"></span> 8532 </span> 8533 <span class="MuiTouchRipple-root"></span> 8534 </span> 8535 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8536 <span class="jss67 jss69">Jabodetabek</span> 8537 </span> 8538 </label> 8539 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8540 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8541 <span class="MuiIconButton-label"> 8542 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8543 <span class="jss40"></span> 8544 </span> 8545 <span class="MuiTouchRipple-root"></span> 8546 </span> 8547 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8548 <span class="jss67 jss68">Outside Jabodetabek</span> 8549 </span> 8550 </label> 8551 </div> 8552 <div> 8553 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8554 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8555 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8556 <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> 8557 </div> 8558 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8559 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8560 </div> 8561 <div style="width: 100%;"> 8562 <select id="choose-location" class="form-control"> 8563 <option value="">Choose Location</option> 8564 <option value="jakarta">Jakarta</option> 8565 <option value="bogor">Bogor</option> 8566 <option value="depok">Depok</option> 8567 <option value="tangerang">Tangerang</option> 8568 <option value="bekasi">Bekasi</option> 8569 </select> 8570 </div> 8571 </div> 8572 </div> 8573 </div> 8574 <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=""> 8575 <span class="MuiButton-label"> 8576 <span class=""></span> 8577 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8578 </span> 8579 </button> 8580 </div> 8581 </div> 8582 </div> 8583 <div tabindex="0" data-test="sentinelEnd"></div> 8584 </div> 8585 8586
8586<script> 8587 const jabodetabek = [ 8588 { 8589 "code": "jakarta", 8590 "city": "jakarta", 8591 "zip": [] 8592 }, 8593 { 8594 "code": "bogor", 8595 "city": "bogor", 8596 "zip": [] 8597 }, 8598 { 8599 "code": "depok", 8600 "city": "depok", 8601 "zip": [] 8602 }, 8603 { 8604 "code": "tangerang", 8605 "city": "tangerang", 8606 "zip": [] 8607 }, 8608 { 8609 "code": "bekasi", 8610 "city": "bekasi", 8611 "zip": [] 8612 } 8613 ] 8614 let cityNonJabodetabek = [ 8615 8616 "pengiriman_aceh", 8617 8618 8619 8620 8621 8622 "pengiriman_ambon", 8623 8624 8625 8626 8627 8628 "pengiriman_atambua", 8629 8630 8631 8632 8633 8634 "pengiriman_badung", 8635 8636 8637 8638 8639 8640 "pengiriman_bali", 8641 8642 8643 8644 8645 8646 "pengiriman_balikpapan", 8647 8648 8649 8650 8651 8652 "pengiriman_bandar lampung", 8653 8654 8655 8656 8657 8658 "pengiriman_bandung", 8659 8660 8661 8662 8663 8664 "pengiriman_bandung barat", 8665 8666 8667 8668 8669 8670 "pengiriman_banjarmasin", 8671 8672 8673 8674 8675 8676 "pengiriman_banyumas", 8677 8678 8679 8680 8681 8682 "pengiriman_banyuwangi", 8683 8684 8685 8686 8687 8688 "pengiriman_batam", 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 "pengiriman_biak", 8699 8700 8701 8702 8703 8704 "pengiriman_binjai", 8705 8706 8707 8708 8709 8710 "pengiriman_blitar", 8711 8712 8713 8714 8715 8716 "pengiriman_blora", 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 "pengiriman_bojonegoro", 8727 8728 8729 8730 8731 8732 "pengiriman_boyolali", 8733 8734 8735 8736 8737 8738 "pengiriman_bukittinggi", 8739 8740 8741 8742 8743 8744 "pengiriman_buleleng", 8745 8746 8747 8748 8749 8750 "pengiriman_ciamis", 8751 8752 8753 8754 8755 8756 "pengiriman_cianjur", 8757 8758 8759 8760 8761 8762 "pengiriman_cibinong", 8763 8764 8765 8766 8767 8768 "pengiriman_cikarang", 8769 8770 8771 8772 8773 8774 "pengiriman_cikupa", 8775 8776 8777 8778 8779 8780 "pengiriman_cilacap", 8781 8782 8783 8784 8785 8786 "pengiriman_cileunyi", 8787 8788 8789 8790 8791 8792 "pengiriman_cimahi", 8793 8794 8795 8796 8797 8798 "pengiriman_cirebon", 8799 8800 8801 8802 8803 8804 "pengiriman_ciwidey", 8805 8806 8807 8808 8809 8810 "pengiriman_deli serdang", 8811 8812 8813 8814 8815 8816 "pengiriman_demak", 8817 8818 8819 8820 8821 8822 "pengiriman_denpasar", 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 "pengiriman_garut", 8833 8834 8835 8836 8837 8838 "pengiriman_gianyar", 8839 8840 8841 8842 8843 8844 "pengiriman_gresik", 8845 8846 8847 8848 8849 8850 "pengiriman_gunung kidul", 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 "pengiriman_jambi", 8861 8862 8863 8864 8865 8866 "pengiriman_jayapura", 8867 8868 8869 8870 8871 8872 "pengiriman_jember", 8873 8874 8875 8876 8877 8878 "pengiriman_jepara", 8879 8880 8881 8882 8883 8884 "pengiriman_jombang", 8885 8886 8887 8888 8889 8890 "pengiriman_karanganyar", 8891 8892 8893 8894 8895 8896 "pengiriman_karawang", 8897 8898 8899 8900 8901 8902 "pengiriman_karo", 8903 8904 8905 8906 8907 8908 "pengiriman_kebumen", 8909 8910 8911 8912 8913 8914 "pengiriman_kediri", 8915 8916 8917 8918 8919 8920 "pengiriman_keerom", 8921 8922 8923 8924 8925 8926 "pengiriman_kendal", 8927 8928 8929 8930 8931 8932 "pengiriman_klaten", 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 "pengiriman_kudus", 8943 8944 8945 8946 8947 8948 "pengiriman_kupang", 8949 8950 8951 8952 8953 8954 "pengiriman_lainnya", 8955 8956 8957 8958 8959 8960 "pengiriman_lamongan", 8961 8962 8963 8964 8965 8966 "pengiriman_lampung", 8967 8968 8969 8970 8971 8972 "pengiriman_lampung barat", 8973 8974 8975 8976 8977 8978 "pengiriman_lembang", 8979 8980 8981 8982 8983 8984 "pengiriman_lombok", 8985 8986 8987 8988 8989 8990 "pengiriman_lumajang", 8991 8992 8993 8994 8995 8996 "pengiriman_madiun", 8997 8998 8999 9000 9001 9002 "pengiriman_magelang", 9003 9004 9005 9006 9007 9008 "pengiriman_majalengka", 9009 9010 9011 9012 9013 9014 "pengiriman_makassar", 9015 9016 9017 9018 9019 9020 "pengiriman_malang", 9021 9022 9023 9024 9025 9026 "pengiriman_manado", 9027 9028 9029 9030 9031 9032 "pengiriman_medan", 9033 9034 9035 9036 9037 9038 "pengiriman_mengwi", 9039 9040 9041 9042 9043 9044 "pengiriman_mojokerto", 9045 9046 9047 9048 9049 9050 "pengiriman_nganjuk", 9051 9052 9053 9054 9055 9056 "pengiriman_ngawi", 9057 9058 9059 9060 9061 9062 "pengiriman_padang", 9063 9064 9065 9066 9067 9068 "pengiriman_palembang", 9069 9070 9071 9072 9073 9074 "pengiriman_pasuruan", 9075 9076 9077 9078 9079 9080 "pengiriman_pati", 9081 9082 9083 9084 9085 9086 "pengiriman_pekalongan", 9087 9088 9089 9090 9091 9092 "pengiriman_pekanbaru", 9093 9094 9095 9096 9097 9098 "pengiriman_pemalang", 9099 9100 9101 9102 9103 9104 "pengiriman_ponorogo", 9105 9106 9107 9108 9109 9110 "pengiriman_pontianak", 9111 9112 9113 9114 9115 9116 "pengiriman_probolinggo", 9117 9118 9119 9120 9121 9122 "pengiriman_purbalingga", 9123 9124 9125 9126 9127 9128 "pengiriman_purwakarta", 9129 9130 9131 9132 9133 9134 "pengiriman_purwokerto", 9135 9136 9137 9138 9139 9140 "pengiriman_rembang", 9141 9142 9143 9144 9145 9146 "pengiriman_riau", 9147 9148 9149 9150 9151 9152 "pengiriman_salatiga", 9153 9154 9155 9156 9157 9158 "pengiriman_samarinda", 9159 9160 9161 9162 9163 9164 "pengiriman_semarang", 9165 9166 9167 9168 9169 9170 "pengiriman_sentani", 9171 9172 9173 9174 9175 9176 "pengiriman_serang", 9177 9178 9179 9180 9181 9182 "pengiriman_sidoarjo", 9183 9184 9185 9186 9187 9188 "pengiriman_singkawang", 9189 9190 9191 9192 9193 9194 "pengiriman_sragen", 9195 9196 9197 9198 9199 9200 "pengiriman_subang", 9201 9202 9203 9204 9205 9206 "pengiriman_sukabumi", 9207 9208 9209 9210 9211 9212 "pengiriman_sumbawa", 9213 9214 9215 9216 9217 9218 "pengiriman_surabaya", 9219 9220 9221 9222 9223 9224 "pengiriman_surakarta solo", 9225 9226 9227 9228 9229 9230 "pengiriman_tasikmalaya", 9231 9232 9233 9234 9235 9236 "pengiriman_tegal", 9237 9238 9239 9240 9241 9242 "pengiriman_timika", 9243 9244 9245 9246 9247 9248 "pengiriman_wamena", 9249 9250 9251 9252 9253 9254 "pengiriman_wiyung", 9255 9256 9257 9258 9259 9260 "pengiriman_wonokromo", 9261 9262 9263 9264 9265 9266 "pengiriman_yogyakarta", 9267 9268 9269 ] 9270 console.log(cityNonJabodetabek) 9271 let non_jabodetabek = [] 9272 for(var i=0;i<cityNonJabodetabek.length;i++) { 9273 const obj = { 9274 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 9275 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 9276 "zip": [] 9277 } 9278 non_jabodetabek.push(obj) 9279 } 9280 let current_location = getCookie("location_delivery") 9281 $("[name=location]").change(function(){ 9282 let v = $(this).val() 9283 let option = [] 9284 if(v == 'Jabodetabek') { 9285 for(var i=0;i<jabodetabek.length;i++) { 9286 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 9287 option.push(jabodetabekHtml) 9288 } 9289 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 9290 } else { 9291 for(var i=0;i<non_jabodetabek.length;i++) { 9292 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 9293 option.push(nonjabodetabekHtml) 9294 } 9295 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 9296 } 9297 }) 9298 9299 $("#location-lock-submit").click(function(e){ 9300 let select = $("#choose-location") 9301 let value = select.val().toLowerCase() 9302 console.log(value) 9303 if(select.val() == "") { 9304 return alert("Choose Your Location") 9305 e.preventDefault() 9306 }
9307 setCookie("location_delivery",value,1000000); 9308 9309 location.reload(); 9310 9311 }) 9312 9313 $("#close-popup-delivery").click(function(){ 9314 $(".MuiDialog-root").hide() 9315 if(!current_location){ 9316 setCookie("location_delivery","jakarta",1000000); 9317 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 9318 } 9319 }) 9320 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 9321 $(".MuiDialog-root").show() 9322 }) 9323 9324 9325 if(!current_location){ 9326 9327 } else { 9328 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 9329 console.log(current_location) 9330 $("#choose-location").each(function(){ 9331 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 9332 $("#jabodetabek").trigger("click") 9333 } else { 9334 $("#non-jabodetabek").trigger("click") 9335 } 9336 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 9337 }) 9338 } 9339 9340 // 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'){ 9341 // $("#timeMalam").attr("disabled", false) 9342 // } else { 9343 // $("#timeMalam").attr("disabled", true) 9344 // } 9345 9346 if(current_location && current_location != 'jakarta') { 9347 $("#self-pickup").attr("disabled", true) 9348 } 9349 9350 function setCookie(name,value,days) { 9351 var expires = ""; 9352 if (days) { 9353 var date = new Date(); 9354 date.setTime(date.getTime() + (days*24*60*60*1000)); 9355 expires = "; expires=" + date.toUTCString(); 9356 } 9357 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 9358 } 9359 function getCookie(name) { 9360 var nameEQ = name + "="; 9361 var ca = document.cookie.split(';'); 9362 for(var i=0;i < ca.length;i++) { 9363 var c = ca[i]; 9364 while (c.charAt(0)==' ') c = c.substring(1,c.length); 9365 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 9366 } 9367 return null; 9368 } 9369 </script>
9369 9370 <!-- One Tap --> 9371
9371<script> 9372 console.log("Outerbloom..."); 9373 </script>
9373 9374 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 9375 9376 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 9377
9377<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
9377 9378
9378<script> 9379 const widgetConfig = { 9380 id: "clz7897za002cz7otleaz0d3d", 9381 showQuickResponse: false, 9382 quickResponsesData: [], 9383 themeColor: "#ffffff", 9384 widgetText: "", 9385 radiusType: "circle", 9386 widgetIconType: "whatsapp", 9387 position: "right", 9388 storeLogo: "", 9389 storeName: "Outerbloom", 9390 storeDescription: "", 9391 size: "small", 9392 showCard: false, 9393 widgetColorType: "solid", 9394 widgetColor1: "#008069", 9395 widgetColor2: "#008069", 9396 social: { 9397 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 9398 values: { 9399 instagram: { 9400 enabled: false, 9401 value: "", 9402 }, 9403 facebook: { 9404 enabled: false, 9405 value: "", 9406 }, 9407 email: { 9408 enabled: false, 9409 value: "", 9410 }, 9411 x: { 9412 enabled: false, 9413 value: "", 9414 }, 9415 tiktok: { 9416 enabled: false, 9417 value: "", 9418 }, 9419 linkedin: { 9420 enabled: false, 9421 value: "", 9422 }, 9423 youtube: { 9424 enabled: false, 9425 value: "", 9426 }, 9427 }, 9428 }, 9429 }; 9430 9431 function initializeWidget() { 9432 if (typeof BBBWidget !== 'undefined') { 9433 BBBWidget.init(widgetConfig); 9434 } else { 9435 setTimeout(initializeWidget, 100); 9436 } 9437 } 9438 9439 initializeWidget();</script>
9439 9440 9441 9442 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 9443 9444 9445 <div style="position: fixed; bottom: 0; right: 0"></div> 9446 9447
9447<script> 9448 console.info("bitlogin extension version: v2.5.7"); 9449 9450 const googleScript = document.createElement("script"); 9451 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 9452 document.head.append(googleScript); 9453 9454 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 9455 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 9456 9457 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"}}; 9458 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
9458n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 9459 const redirectUrl = appearance.redirectLink; 9460 9461 let locationCacheSet = false; 9462 let errorLocation = false; 9463 let oneTapSet = false; 9464 9465 let bitloginCache = { 9466 appearance: appearance, 9467 config: config 9468 }; 9469 9470 let isInitializing = false; 9471 const queue = []; 9472 9473 // Add CSS for the popup 9474 const popupStyles = document.createElement('style'); 9475 popupStyles.textContent = ` 9476 /* Styles for login popup */ 9477 .bitlogin-popup-overlay { 9478 position: fixed; 9479 top: 0; 9480 left: 0; 9481 width: 100%; 9482 height: 100%; 9483 background: rgba(0, 0, 0, 0.45); 9484 backdrop-filter: blur(4px); 9485 display: flex; 9486 align-items: center; 9487 justify-content: center; 9488 opacity: 0; 9489 transition: opacity 0.3s ease-in-out; 9490 z-index: 999999; 9491 } 9492 9493 .bitlogin-popup-overlay.visible { 9494 opacity: 1; 9495 } 9496 9497 .bitlogin-popup { 9498 background: #FFFFFF; 9499 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 9500 border-radius: 16px; 9501 width: 100%; 9502 max-width: 560px; 9503 display: flex; 9504 overflow: hidden; 9505 position: relative; 9506 opacity: 0; 9507 transform: translateY(20px) scale(0.98); 9508 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 9509 } 9510 9511 .bitlogin-popup.visible { 9512 opacity: 1; 9513 transform: translateY(0) scale(1); 9514 } 9515 9516 .bitlogin-popup-with-image { 9517 max-width: 640px; 9518 } 9519 9520 .bitlogin-popup-right-image { 9521 flex-direction: row-reverse; 9522 } 9523 9524 .bitlogin-popup-image { 9525 object-fit: cover; 9526 width: 50%; 9527 height: auto; 9528 } 9529 9530 .bitlogin-popup-content { 9531 padding: 32px; 9532 position: relative; 9533 width: 50%; 9534 } 9535 9536 .bitlogin-popup-close { 9537 position: absolute; 9538 top: 16px; 9539 right: 16px; 9540 background: white; 9541 border: none; 9542 width: 30px; 9543 height: 30px; 9544 display: flex; 9545 align-items: center; 9546 justify-content: center; 9547 cursor: pointer; 9548 transition: background-color 0.2s; 9549 color: inherit; 9550 padding: 0; 9551 } 9552 9553 .bitlogin-popup-close:hover { 9554 background-color: #e5e5e5; 9555 } 9556 9557 .bitlogin-popup-buttons { 9558 display: flex; 9559 flex-direction: column; 9560 gap: 12px; 9561 margin-top: 24px; 9562 } 9563 9564 /* Button styles within popup - override width for popup buttons */ 9565 .bitlogin-popup-buttons #google-login, 9566 .bitlogin-popup-buttons #facebook-login, 9567 .bitlogin-popup-buttons #apple-login, 9568 .bitlogin-popup-buttons #whatsapp-login, 9569 .bitlogin-popup-buttons #microsoft-login, 9570 .bitlogin-popup-buttons #twitter-login, 9571 .bitlogin-popup-buttons #amazon-login, 9572 .bitlogin-popup-buttons #instagram-login, 9573 .bitlogin-popup-buttons #magic-link-login, 9574 .bitlogin-popup-buttons #mobile-app-login { 9575 width: 100% !important; 9576 font-family: inherit !important; 9577 } 9578 9579 .bitlogin-popup-footer { 9580 margin-top: 32px; 9581 text-align: center; 9582 font-size: 14px; 9583 opacity: 0.6; 9584 } 9585 9586 /* Modern Typography */ 9587 .bitlogin-popup h2 { 9588 margin-top: 12px; 9589 font-size: 21px !important; 9590 line-height: 1.2 !important; 9591 font-weight: 700 !important; 9592 letter-spacing: -0.02em !important; 9593 margin-bottom: 16px !important; 9594 } 9595 9596 .bitlogin-popup-header { 9597 position: relative; 9598 margin-bottom: 24px; 9599 } 9600 9601 /* Modern gradient accent */ 9602 .bitlogin-popup-content > div { 9603 font-size: 16px !important; 9604 line-height: 1.2 !important; 9605 opacity: 0.85 !important; 9606 } 9607 9608 /* Enhanced button interactions */ 9609 .bitlogin-popup-buttons button { 9610 position: relative; 9611 overflow: hidden; 9612 } 9613 9614 @keyframes ripple { 9615 0% { 9616 transform: scale(0, 0); 9617 opacity: 0.5; 9618 } 9619 100% { 9620 transform: scale(100, 100); 9621 opacity: 0; 9622 } 9623 } 9624 9625 /* Responsive adjustments */ 9626 @media (max-width: 640px) { 9627 .bitlogin-popup { 9628 max-width: 90%; 9629 width: 90%; 9630 margin: 0 16px; 9631 } 9632 9633 .bitlogin-popup-with-image { 9634 flex-direction: column !important; 9635 } 9636 9637 .bitlogin-popup-image { 9638 width: 100%; 9639 height: 180px; 9640 } 9641 9642 .bitlogin-popup-content { 9643 padding: 24px; 9644 } 9645 9646 .bitlogin-popup h2 { 9647 font-size: 24px !important; 9648 } 9649 } 9650 `; 9651
9652 document.head.appendChild(popupStyles); 9653 9654 // Add fonts link for different font options 9655 const fontsLink = document.createElement('link'); 9656 fontsLink.rel = 'stylesheet'; 9657 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'; 9658 document.head.appendChild(fontsLink); 9659 9660 (async () => { 9661 try { 9662 let host = window.location.host; 9663 if (host === "admin.shopify.com") { 9664 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 9665 } 9666 9667 const urlSearchParams = new URLSearchParams(window.location.search); 9668 const checkoutUrl = urlSearchParams.get("checkout_url"); 9669 9670 async function init({ inputRef, index }) { 9671 if (isInitializing) { 9672 queue.push(() => init({ inputRef, index })); 9673 return; 9674 } 9675 9676 isInitializing = true; 9677 9678 try { 9679 let bitLoginSectionRoot = document.querySelector( 9680 `.bitlogin-root[data-index="${index}"]` 9681 ); 9682 9683 const formRef = inputRef?.closest( 9684 "form:not([action='/account/recover'])" 9685 ); 9686 9687 if (formRef && !bitLoginSectionRoot) { 9688 await getLocation(); 9689 9690 bitLoginSectionRoot = document.createElement(`div`); 9691 9692 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 9693 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 9694 9695 updateAppearance({ 9696 formRef, 9697 rootRef: bitLoginSectionRoot, 9698 host, 9699 }); 9700 } 9701 } catch (err) { 9702 console.error(`error while initiating bitlogin extensions`, err); 9703 } finally { 9704 // Release the lock 9705 isInitializing = false; 9706 9707 // Check if there are pending items in the queue 9708 if (queue.length > 0) { 9709 // Process the next function in the queue 9710 const nextFunction = queue.shift(); 9711 nextFunction(); 9712 } 9713 } 9714 } 9715 9716 function initAll() { 9717 return new Promise((resolve, reject) => { 9718 setTimeout(async () => { 9719 const inputRefs = document.querySelectorAll( 9720 'input[name="customer[email]"]' 9721 ); 9722 9723 for (let i = 0; i < inputRefs.length; i++) { 9724 const currentInputRef = inputRefs[i]; 9725 const isVisible = isElementVisible(currentInputRef); 9726 9727 if (isVisible) { 9728 await init({ inputRef: currentInputRef, index: i }); 9729 } 9730 } 9731 9732 resolve("ok"); 9733 }, 100); 9734 }); 9735 } 9736 9737 const observer = new MutationObserver((mutationsList) => { 9738 for (let mutation of mutationsList) { 9739 initAll(); 9740 } 9741 }); 9742 9743 observer.observe(document.body, { 9744 childList: true, 9745 subtree: true, 9746 attributes: true, 9747 }); 9748 9749 initAll(); 9750 9751 if (appearance.googleOneTap) { 9752 setupOneTap({ host, checkoutUrl }); 9753 } 9754 9755 // Initialize popup 9756 await initPopup(host); 9757 } catch (error) { 9758 console.error("Error initializing BitLogin:", error); 9759 } 9760 })(); 9761 9762 async function initPopup(host) { 9763 // Check if user is already logged in using Liquid checks properly 9764 const isLoggedIn = false || 9765 document.querySelector('.customer-logout-link') || 9766 document.querySelector('.account-link') || 9767 window.location.pathname.includes('/account'); 9768 9769 if (isLoggedIn) { 9770 return; // User is logged in, don't show popup 9771 } 9772 9773 try { 9774 // Fetch the popup configuration 9775 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 9776 .then(res => res.json()) 9777 .catch(err => { 9778 console.error('Error fetching popup configuration:', err); 9779 return null; 9780 }); 9781 9782 if (!popupConfig || !popupConfig.enabled) { 9783 return;
9783 // Don't show popup if disabled or config not found 9784 } 9785 9786 // Create popup after 10 seconds 9787 setTimeout(() => { 9788 // Check if user is still on the page and still not logged in 9789 if (document.visibilityState === 'visible') { 9790 // Additional check in case user logged in during the 10 second wait 9791 const currentlyLoggedIn = false || 9792 document.querySelector('.customer-logout-link') || 9793 document.querySelector('.account-link'); 9794 9795 if (!currentlyLoggedIn) { 9796 createLoginPopup(popupConfig, host); 9797 } 9798 } 9799 }, 10000); 9800 } catch (error) { 9801 console.error('Error initializing popup:', error); 9802 } 9803 } 9804 9805 function createLoginPopup(popupConfig, host) { 9806 // Font mapping 9807 const fontFamilyMap = { 9808 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 9809 montserrat: 'Montserrat, sans-serif', 9810 roboto: 'Roboto, sans-serif', 9811 open_sans: 'Open Sans, sans-serif', 9812 noto_sans: 'Noto Sans, sans-serif', 9813 lato: 'Lato, sans-serif', 9814 poppins: 'Poppins, sans-serif', 9815 quicksand: 'Quicksand, sans-serif', 9816 raleway: 'Raleway, sans-serif', 9817 pt_sans: 'PT Sans, sans-serif', 9818 oswald: 'Oswald, sans-serif', 9819 }; 9820 9821 // Create overlay 9822 const overlay = document.createElement('div'); 9823 overlay.className = 'bitlogin-popup-overlay'; 9824 9825 // Create popup container with appropriate styling 9826 const popup = document.createElement('div'); 9827 popup.className = 'bitlogin-popup'; 9828 9829 if (popupConfig.layout === 'default') { 9830 popup.style.maxWidth = '400px'; 9831 } 9832 9833 // Function to close the popup 9834 const closePopup = () => { 9835 overlay.classList.remove('visible'); 9836 popup.classList.remove('visible'); 9837 setTimeout(() => { 9838 if (document.body.contains(overlay)) { 9839 document.body.removeChild(overlay); 9840 } 9841 }, 300); 9842 }; 9843 9844 // Add click handler to the overlay to close when clicking outside 9845 overlay.addEventListener('click', (event) => { 9846 // Close only if clicking directly on the overlay, not its children 9847 if (event.target === overlay) { 9848 closePopup(); 9849 } 9850 }); 9851 9852 // Add escape key handler to close popup 9853 document.addEventListener('keydown', (event) => { 9854 if (event.key === 'Escape' && document.body.contains(overlay)) { 9855 closePopup(); 9856 } 9857 }); 9858 9859 // Create layout with image if specified 9860 let contentWrapper; 9861 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 9862 popup.classList.add('bitlogin-popup-with-image'); 9863 9864 if (popupConfig.layout === 'right') { 9865 popup.classList.add('bitlogin-popup-right-image'); 9866 } 9867 9868 // Add image 9869 const image = document.createElement('img'); 9870 image.className = 'bitlogin-popup-image'; 9871 image.src = popupConfig.popupImage; 9872 image.alt = 'Login'; 9873 image.loading = 'lazy'; 9874 popup.appendChild(image); 9875 9876 // Create content container 9877 contentWrapper = document.createElement('div'); 9878 contentWrapper.className = 'bitlogin-popup-content'; 9879 9880 if (popupConfig.layout === 'right') { 9881 const closeButton = document.createElement('button'); 9882 closeButton.className = 'bitlogin-popup-close'; 9883 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 9884 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9885 </svg>`; 9886 closeButton.setAttribute('aria-label', 'Close'); 9887 closeButton.onclick = closePopup; 9888 9889 popup.appendChild(closeButton); 9890 } 9891 } else { 9892 contentWrapper = document.createElement('div'); 9893 contentWrapper.className = 'bitlogin-popup-content'; 9894 contentWrapper.style.width = '100%'; 9895 } 9896 9897 // Set background style 9898 if (popupConfig.backgroundTheme === 'gradient') { 9899 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 9900 } else { 9901 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 9902 } 9903 9904 // Apply font family 9905 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 9906 9907 if (popupConfig.layout !== 'right') { 9908 const closeButton = document.createElement('button'); 9909 closeButton.className = 'bitlogin-popup-close'; 9910 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 9911 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9912 </svg>`; 9913 closeButton.setAttribute('aria-label', 'Close'); 9914 closeButton.onclick = closePopup; 9915 9916 contentWrapper.appendChild(closeButton); 9917 } 9918 9919 // Add heading with subtle animation effect 9920 const header = document.createElement('div'); 9921 header.className = 'bitlogin-popup-header'; 9922 9923 const heading = document.createElement('h2'); 9924 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9924its'; 9925 heading.style.color = popupConfig.fontColor; 9926 header.appendChild(heading); 9927 9928 // Add body text with improved formatting 9929 const bodyText = document.createElement('div'); 9930 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 9931 bodyText.style.color = popupConfig.fontColor; 9932 header.appendChild(bodyText); 9933 9934 contentWrapper.appendChild(header); 9935 9936 // Create buttons container with modern styling 9937 const buttonsContainer = document.createElement('div'); 9938 buttonsContainer.className = 'bitlogin-popup-buttons'; 9939 9940 // Add social buttons 9941 const providerLabels = { 9942 'GOOGLE': 'Continue with Google', 9943 'FACEBOOK': 'Continue with Facebook', 9944 'APPLE': 'Continue with Apple', 9945 'WHATSAPP': 'Continue with WhatsApp', 9946 'MAGIC_LINK': 'Continue with Email', 9947 }; 9948 9949 // Add first login provider button 9950 if (popupConfig.loginProvider1 !== 'NONE') { 9951 const buttonConfig = { 9952 theme: popupConfig.colorScheme || 'match', 9953 customColor: popupConfig.textColor, 9954 format: 'contentFlex', 9955 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 9956 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9957 style: popupConfig.style || 'rounded', 9958 size: popupConfig.size || 'medium', 9959 colorScheme: popupConfig.colorScheme || 'match', 9960 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9961 textColor: popupConfig.textColor || '#FFFFFF', 9962 outlineColor: popupConfig.outlineColor || '#3B82F6', 9963 host: host 9964 }; 9965 9966 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 9967 9968 // Handle click event - this overrides the default click handler in createSocialLoginButton 9969 button1.onclick = () => { 9970 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 9971 closePopup(); 9972 }; 9973 9974 buttonsContainer.appendChild(button1); 9975 } 9976 9977 // Add second login provider button if enabled 9978 if (popupConfig.loginProvider2 !== 'NONE') { 9979 const buttonConfig = { 9980 theme: popupConfig.colorScheme || 'match', 9981 customColor: popupConfig.textColor, 9982 format: 'contentFlex', 9983 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 9984 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9985 style: popupConfig.style || 'rounded', 9986 size: popupConfig.size || 'medium', 9987 colorScheme: popupConfig.colorScheme || 'match', 9988 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9989 textColor: popupConfig.textColor || '#FFFFFF', 9990 outlineColor: popupConfig.outlineColor || '#3B82F6', 9991 host: host 9992 }; 9993 9994 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 9995 9996 // Handle click event - this overrides the default click handler in createSocialLoginButton 9997 button2.onclick = () => { 9998 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 9999 closePopup(); 10000 }; 10001 10002 buttonsContainer.appendChild(button2); 10003 } 10004 10005 contentWrapper.appendChild(buttonsContainer); 10006 10007 // Append content to popup 10008 popup.appendChild(contentWrapper); 10009 10010 // Append popup to overlay 10011 overlay.appendChild(popup); 10012 10013 // Append overlay to body 10014 document.body.appendChild(overlay); 10015 10016 // Trigger animation with slight delay for better perceived performance 10017 setTimeout(() => { 10018 overlay.classList.add('visible'); 10019 setTimeout(() => { 10020 popup.classList.add('visible'); 10021 }, 50); 10022 }, 10); 10023 } 10024 10025 window.addEventListener("load", () => { 10026 window.addEventListener("message", (event) => { 10027 const receivedData = event.data; 10028 10029 if (receivedData.type === "authorize") { 10030 post( 10031 JSON.parse( 10032 JSON.stringify({ 10033 "customer[email]": receivedData.email, 10034 "customer[password]": receivedData.password, 10035 form_type: "customer_login", 10036 utf8: "â", 10037 return_url: redirectUrl, 10038 }) 10039 ) 10040 ); 10041 } else if (receivedData.type === "rejected") { 10042 if (receivedData.reason === "customer_account_disabled") { 10043 showAlert( 10044 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 10045 ); 10046 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 10047 showAlert( 10048 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 10049 ); 10050 } else if (receivedData.reason === "customer_exist_email_not_set") { 10051 showAlert( 10052 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 10053 ); 10054 } 10055 } 10056 10057 if (receivedData.type === "customer_authenticated") { 10058 // Dispatch a custom event that merchants can listen for to implement their custom logic 10059 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 10060 detail: { 10061 provider: receivedData.provider, 10062 customer: receivedData.customer, 10063 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 10064 } 10065 }); 10066 10067 // Dispatch the event on the window object so merchants can listen for it 10068 window.dispatchEvent(customerAuthEvent); 10069 10070 } 10071 }); 10072 }); 10073 10074 // Reusable functions for social login buttons 10075 function createSocialLoginButton(provider, config = {}) { 10076 const { 10077 theme = 'match', 10078 customColor = null, 10079 format = 'contentFlex', 10080 buttonText = null, 10081 hasShadow = true, 10082 style = 'rounded', 10083 size = 'medium', 10084 colorScheme = 'match', 10085 backgroundColor = '#3B82F6', 10086 textColor = '#FFFFFF', 10087 outlineColor = '#3B82F6', 10088 rootRef = null, 10089 host = null 10090 } = config; 10091 10092 // Create button element with appropriate ID and attributes 10093 const button = document.createElement('button'); 10094 button.id = `${provider.toLowerCase()}-login`; 10095 button.type = 'button'; 10096 10097 // Set the inner SVG based on provider 10098 switch (provider.toUpperCase()) {
10099 case 'GOOGLE': 10100 button.innerHTML = googleLoginIcon(theme, customColor); 10101 break; 10102 case 'FACEBOOK': 10103 button.innerHTML = facebookLoginIcon(theme, customColor); 10104 break; 10105 case 'APPLE': 10106 button.innerHTML = appleLoginIcon(theme, customColor); 10107 break; 10108 case 'WHATSAPP': 10109 button.innerHTML = whatsappLoginIcon(theme, customColor); 10110 break; 10111 case 'MICROSOFT': 10112 button.innerHTML = microsoftLoginIcon(theme, customColor); 10113 break; 10114 case 'TWITTER': 10115 button.innerHTML = twitterLoginIcon(theme, customColor); 10116 break; 10117 case 'AMAZON': 10118 button.innerHTML = amazonLoginIcon(theme, customColor); 10119 break; 10120 case 'INSTAGRAM': 10121 button.innerHTML = instagramLoginIcon(theme, customColor); 10122 break; 10123 case 'MAGIC_LINK': 10124 button.innerHTML = magicLinkLoginIcon(theme, customColor); 10125 break; 10126 case 'MOBILE_APP': 10127 button.innerHTML = mobileAppLoginIcon(theme, customColor); 10128 break; 10129 case 'LINKEDIN': 10130 button.innerHTML = linkedinLoginIcon(theme, customColor); 10131 break; 10132 } 10133 10134 // Add text if format isn't icon-only and buttonText is provided 10135 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 10136 button.innerHTML += `<p>${buttonText}</p>`; 10137 } 10138 10139 // Apply styling 10140 // Shadow 10141 if (hasShadow) { 10142 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 10143 button.style["box-shadow"] = shadowProperties; 10144 } 10145 10146 // Border radius 10147 const radiusProperties = 10148 style === "rounded" 10149 ? "8px" 10150 : style === "square" 10151 ? "0px" 10152 : style === "fullRounded" 10153 ? format === "wrapperFlexContainerOnlyLogo" 10154 ? "50%" 10155 : "50px" 10156 : undefined; 10157 button.style["border-radius"] = radiusProperties; 10158 10159 // Size 10160 const sizeProperties = 10161 size === "medium" 10162 ? "12px" 10163 : size === "small" 10164 ? "8px" 10165 : size === "large" 10166 ? "16px" 10167 : "8px"; 10168 10169 button.style["padding-block"] = sizeProperties; 10170 10171 // Format styling 10172 if (format) { 10173 if ( 10174 format === "contentFlexReverse" || 10175 format === "contentFlexCenterReverse" 10176 ) { 10177 const flexDir = `row-reverse`; 10178 button.style["flex-direction"] = flexDir; 10179 } 10180 10181 if ( 10182 format === "contentFlexCenter" || 10183 format === "contentFlexCenterReverse" 10184 ) { 10185 const justifyContent = `center`; 10186 button.style["justify-content"] = justifyContent; 10187 } else if ( 10188 format === "contentFlex" || 10189 format === "contentFlexReverse" 10190 ) { 10191 const buttonTextElement = button.querySelector("p"); 10192 if (buttonTextElement) { 10193 buttonTextElement.style["flex-grow"] = 1; 10194 buttonTextElement.style["text-align"] = "center"; 10195 } 10196 } 10197 10198 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 10199 rootRef.style["flex-direction"] = "row"; 10200 rootRef.style["gap"] = "8px"; 10201 rootRef.style["display"] = "flex"; 10202 rootRef.style["flex-wrap"] = "wrap"; 10203 10204 const sizeMapping = { 10205 small: "52px", 10206 medium: "62px", 10207 large: "72px", 10208 }; 10209 const buttonSize = sizeMapping[size] || "52px"; 10210 10211 button.style["margin"] = 0; 10212 button.style["width"] = buttonSize; 10213 button.style["height"] = buttonSize; 10214 button.style["display"] = "flex"; 10215 button.style["align-items"] = "center"; 10216 button.style["justify-content"] = "center"; 10217 10218 const svgElement = button.querySelector("svg"); 10219 if (svgElement) { 10220 svgElement.style["flex"] = "none"; 10221 } 10222 } 10223 } 10224 10225 // Color scheme styling 10226 if (colorScheme === "black") { 10227 button.classList.add("scheme-black"); 10228 } else if (colorScheme === "white") { 10229 button.classList.add("scheme-white"); 10230 } else if (colorScheme === "custom") { 10231 button.style["background-color"] = backgroundColor; 10232 button.style["color"] = textColor; 10233 button.style["border-color"] = outlineColor; 10234 10235 const darkenColor = (color, percentage) => { 10236 const value = parseInt(color.slice(1), 16); 10237 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 10238 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 10239 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 10240 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 10241 }; 10242 10243 button.addEventListener("mouseover", () => {
10244 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 10245 }); 10246 button.addEventListener("mouseout", () => { 10247 button.style["background-color"] = backgroundColor; 10248 }); 10249 } else if (colorScheme === "match") { 10250 button.classList.add("scheme-match"); 10251 } else if (colorScheme === "matchOutline") { 10252 button.classList.add("scheme-match-outline"); 10253 } 10254 10255 // Add click event listener if host is provided 10256 if (host) { 10257 button.addEventListener("click", () => 10258 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 10259 ); 10260 } 10261 10262 return button; 10263 } 10264 10265 function setupSocialLoginButtons(config, rootRef, data, host) { 10266 // Clear any existing content 10267 rootRef.innerHTML = ''; 10268 10269 const sortedEnabledProviders = config 10270 .filter(c => c.enabledWeb) 10271 .sort((a, b) => a.position - b.position); 10272 10273 sortedEnabledProviders.forEach(provider => { 10274 const key = provider.provider; 10275 const lowerKey = key.toLowerCase(); 10276 10277 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 10278 ? (lowerKey === 'twitter' 10279 ? data.buttonList.twitter.replace('Twitter', 'X') 10280 : data.buttonList[lowerKey]) 10281 : null; 10282 10283 const button = createSocialLoginButton(key, { 10284 theme: data.colorScheme || 'match', 10285 customColor: data.textColor, 10286 format: data.format, 10287 buttonText: buttonText, 10288 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 10289 style: data.style, 10290 size: data.size, 10291 colorScheme: data.colorScheme, 10292 backgroundColor: data.backgroundColor, 10293 textColor: data.textColor, 10294 outlineColor: data.outlineColor, 10295 rootRef: rootRef, 10296 host: host 10297 }); 10298 10299 rootRef.appendChild(button); 10300 }); 10301 10302 return rootRef; 10303 } 10304 10305 function updateAppearance({ formRef, rootRef, host }) { 10306 if (!formRef) return; 10307 10308 const data = bitloginCache.appearance || { 10309 style: "square", 10310 hasShadow: false, 10311 colorScheme: "match", 10312 backgroundColor: "#FFFFFF", 10313 outlineColor: "#000000", 10314 textColor: "#000000", 10315 position: "bottom", 10316 hideDivider: "false", 10317 dividerText: "OR", 10318 size: "small", 10319 format: "contentFlex", 10320 language: "en", 10321 buttonText: "Continue with", 10322 redirectLink: "/account", 10323 googleOneTap: true, 10324 googleOneTapBanner: true, 10325 customerTag: "bitLogin", 10326 redirectOneTapDesktop: null, 10327 redirectOneTapMobile: null, 10328 buttonList: { 10329 google: "Continue with Google", 10330 facebook: "Continue with Facebook", 10331 apple: "Continue with Apple", 10332 whatsapp: "Continue with WhatsApp", 10333 microsoft: "Continue with Microsoft", 10334 twitter: "Continue with X", 10335 amazon: "Continue with Amazon", 10336 instagram: "Continue with Instagram", 10337 magic_link: "Continue with Magic Link", 10338 mobile_app: "Continue with Mobile App", 10339 linkedin: "Continue with LinkedIn", 10340 }, 10341 }; 10342 10343 // Use the new setupSocialLoginButtons function to create and configure all buttons 10344 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 10345 10346 let divider; 10347 10348 if (!data.hideDivider) { 10349 divider = document.createElement("div"); 10350 const dividerStyle = "text-align:center;margin-block:16px"; 10351 divider.setAttribute("style", dividerStyle); 10352 divider.innerHTML = data.dividerText; 10353 } 10354 10355 if (data.position === "bottom") { 10356 if (divider) { 10357 formRef.appendChild(divider); 10358 } 10359 formRef.appendChild(rootRef); 10360 } else if (data.position === "top") { 10361 if (divider) { 10362 formRef.prepend(divider); 10363 } 10364 formRef.prepend(rootRef); 10365 } 10366 } 10367 10368 10369 async function onClickSocialLogin({ provider, host }) { 10370 const rand = Math.random().toString(); 10371 10372 const locationQueryString = bitloginCache.location 10373 ? `&${objectToQueryString(bitloginCache.location)}` 10374 : ""; 10375 10376 const width = 800; 10377 const height = 600; 10378 const left = (window.screen.width / 2) - (width / 2); 10379 const top = (window.screen.height / 2) - (height / 2) - 50; 10380 10381 if(provider === 'whatsapp') { 10382 window.open( 10383 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 10384 "mywindow", 10385 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 10386 ); 10387 } else { 10388 window.open( 10389 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 10390 "mywindow", 10391 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 10392 ); 10393 } 10394 } 10395 10396 function objectToQueryString(obj) { 10397 return Object.keys(obj) 10398 .map((key) => { 10399 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 10400 }) 10401 .join("&"); 10402 } 10403 10404 async function getLocation() { 10405 if (locationCacheSet) return; 10406 10407 try { 10408 const response = await fetch("https://ipapi.co/json/"); 10409 10410 if (!response.ok) { 10411 console.error(`error retrieving location...`, response.status); 10412 errorLocation = true; 10413 } else { 10414 const data = await response.json(); 10415 10416 const { city, region, country_name, country_code } = data; 10417 10418 const formattedLocationData = { 10419 city, 10420 region, 10421 country_name, 10422 country_code, 10423 }; 10424 10425 bitloginCache.location = formattedLocationData; 10426 locationCacheSet = true; 10427 errorLocation = false;
10428 } 10429 } catch (err) { 10430 console.error(`error fetching location`, err); 10431 errorLocation = true; 10432 } 10433 } 10434 10435 function post(params) { 10436 // The rest of this code assumes you are not using a library. 10437 // It can be made less verbose if you use one. 10438 const form = document.createElement("form"); 10439 form.method = "post"; 10440 form.action = `/account/login`; 10441 form.acceptCharset = "UTF-8"; 10442 form.setAttribute("data-login-with-shop-sign-in", "true"); 10443 form.setAttribute("novalidate", "novalidate"); 10444 10445 for (const key in params) { 10446 if (params.hasOwnProperty(key)) { 10447 const hiddenField = document.createElement("input"); 10448 hiddenField.type = "hidden"; 10449 hiddenField.name = key; 10450 hiddenField.value = params[key]; 10451 10452 form.appendChild(hiddenField); 10453 } 10454 } 10455 10456 document.body.appendChild(form); 10457 form.submit(); 10458 } 10459 10460 async function setupOneTap({ host, checkoutUrl }) { 10461 if (oneTapSet) return; 10462 10463 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 10464 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 10465 10466 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 10467 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 10468 10469 const currentPath = window.location.pathname.toLowerCase(); 10470 const currentUrl = window.location.href.toLowerCase(); 10471 10472 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 10473 switch (value) { 10474 case 'home': 10475 return currentPath === '/'; 10476 case 'product': 10477 return currentPath.startsWith('/products/'); 10478 case 'collections': 10479 return currentPath.startsWith('/collections'); 10480 case 'cart': 10481 return currentPath === '/cart'; 10482 case 'checkout': 10483 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 10484 case 'thank_you': 10485 return currentPath.includes('/thank_you'); 10486 case 'account': 10487 return currentPath.startsWith('/account'); 10488 case 'pages': 10489 return currentPath.startsWith('/pages'); 10490 case 'blogs': 10491 return currentPath === '/blogs' || currentPath === '/blogs/news'; 10492 case 'blog_post': 10493 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 10494 default: 10495 return false; 10496 } 10497 }); 10498 10499 if (shouldHideGoogleOneTap) return; 10500 10501 const oneTapClientId = bitloginCache.config.find( 10502 (config) => config.provider === "GOOGLE" 10503 )?.clientId; 10504 10505 const isLoggedIn = false; 10506 10507 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 10508 const googleOneTapButton = document.createElement("div"); 10509 googleOneTapButton.setAttribute("id", "g_id_onload"); 10510 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 10511 googleOneTapButton.setAttribute("data-context", "signin"); 10512 googleOneTapButton.setAttribute( 10513 "data-callback", 10514 "handleGoogleOneTapResponse" 10515 ); 10516 googleOneTapButton.setAttribute("data-itp_support", "true"); 10517 10518 const googleOneTapScript = document.createElement("script"); 10519 10520 googleOneTapScript.innerHTML += ` 10521 function handleGoogleOneTapResponse(response) { 10522 if (response.credential) { 10523 const idToken = response.credential; 10524 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 10525 method: 'POST', 10526 headers: { 'Content-Type': 'application/json' }, 10527 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 10528 }).then(response => { 10529 response.json().then((data) => { 10530 post( 10531 JSON.parse( 10532 JSON.stringify({ 10533 "customer[email]": data.email, 10534 "customer[password]": data.password, 10535 form_type: "customer_login", 10536 utf8: "â", 10537 return_url: redirectUrl, 10538 }) 10539 ) 10540 ); 10541 }); 10542 }).catch(error => { 10543 console.error('Error occurred:', error); 10544 }); 10545 } else { 10546 console.error('No credential available'); 10547 } 10548 } 10549 `; 10550 10551 document.body.append(googleOneTapButton); 10552 document.body.append(googleOneTapScript); 10553 } 10554 10555 oneTapSet = true; 10556 } 10557 10558 const googleLoginIcon = ( 10559 theme, 10560 customColor 10561 ) => ` 10562 ${ 10563 theme === "match" || theme === "matchOutline" || theme === "custom" 10564 ? `<svg 10565 xmlns='https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif' 10566 xmlns:v='https://vecta.io/nano' 10567 width='24' 10568 height='24'
10569 viewBox='0 0 186.69 190.5' 10570 > 10571 <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="${ 10572 theme === "custom" ? customColor : "#4285f4" 10573 }"/><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="${ 10574 theme === "custom" ? customColor : "#34a853" 10575 }"/><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="${ 10576 theme === "custom" ? customColor : "#fbbc05" 10577 }"/><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="${ 10578 theme === "custom" ? customColor : "#ea4335" 10579 }" clip-path="none" mask="none"/></g> 10580 </svg>` 10581 : `<svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="25" height="25" viewBox="0 0 25 25" fill="none"> 10582 <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="${ 10583 theme !== "black" ? "black" : "white" 10584 }"/> 10585 <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="${ 10586 theme !== "black" ? "black" : "white" 10587 }"/> 10588 <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="${ 10589 theme !== "black" ? "black" : "white" 10590 }"/> 10591 <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="${ 10592 theme !== "black" ? "black" : "white" 10593 }"/> 10594 </svg>` 10595 }`; 10596 10597 const appleLoginIcon = ( 10598 theme, 10599 customColor 10600 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 10601 <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="${ 10602 theme === "custom" 10603 ? customColor 10604 : theme === "match" || theme === "black" 10605 ? "white" 10606 : "black" 10607 }"/> 10608 </svg>`; 10609 10610 const facebookLoginIcon = ( 10611 theme, 10612 customColor 10613 ) => ` 10614 ${ 10615 theme === "match" || theme === "matchOutline" || theme === "custom" 10616 ? `<svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="25" viewBox="0 0 24 25" fill="none"> 10617 <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="${ 10618 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 10619 }"/> 10620 <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="${ 10621 theme === "match" ? "#1778f2" : "transparent" 10622 }"/> 10623 </svg>` 10624 : `<svg xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" width="24" height="25" viewB
10624ox="0 0 24 25" fill="none"> 10625 <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="${ 10626 theme === "black" ? "white" : "black" 10627 }"/> 10628 <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="${ 10629 theme === "black" ? "black" : "white" 10630 }"/> 10631 </svg>` 10632 }`; 10633 10634 const whatsappLoginIcon = ( 10635 theme, 10636 customColor 10637 ) => `<svg 10638 viewBox="0 0 24 24" 10639 fill="none" 10640 width="24" 10641 height="25" 10642 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10643 > 10644 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 10645 <g 10646 id="SVGRepo_tracerCarrier" 10647 stroke-linecap="round" 10648 stroke-linejoin="round" 10649 ></g> 10650 <g id="SVGRepo_iconCarrier"> 10651 <path 10652 fill-rule="evenodd" 10653 clip-rule="evenodd" 10654 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" 10655 fill="${ 10656 theme === "match" || theme === "black" 10657 ? "#ffffff" 10658 : theme === "white" 10659 ? "#000000" 10660 : theme === "matchOutline" 10661 ? "#25d366" 10662 : customColor 10663 }" 10664 ></path> 10665 </g> 10666 </svg>`; 10667 10668 const microsoftLoginIcon = ( 10669 theme, 10670 customColor 10671 ) => `<svg 10672 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10673 width="25" 10674 height="25" 10675 viewBox="0 0 48 48"> 10676 <path fill="${ 10677 theme === "match" || theme == "matchOutline" 10678 ? "#ff5722" 10679 : theme === "black" 10680 ? "#ffffff" 10681 : theme === "white" 10682 ? "#000000" 10683 : customColor 10684 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 10685 <path 10686 fill="${ 10687 theme === "match" || theme == "matchOutline" 10688 ? "#4caf50" 10689 : theme === "black" 10690 ? "#ffffff" 10691 : theme === "white" 10692 ? "#000000" 10693 : customColor 10694 }" 10695 d="M26 6H42V22H26z" 10696 transform="rotate(-180 34 14)"></path> 10697 <path 10698 fill="${ 10699 theme === "match" || theme == "matchOutline" 10700 ? "#ffc107" 10701 : theme === "black" 10702 ? "#ffffff" 10703 : theme === "white" 10704 ? "#000000" 10705 : customColor 10706 }" 10707 d="M26 26H42V42H26z" 10708 transform="rotate(-180 34 34)"></path> 10709 <path fill="${ 10710 theme === "match" || theme == "matchOutline" 10711 ? "#03a9f4" 10712 : theme === "black" 10713 ? "#ffffff" 10714 : theme === "white" 10715 ? "#000000" 10716 : customColor 10717 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 10718 </svg>`; 10719 10720 const twitterLoginIcon = ( 10721 theme, 10722 customColor 10723 ) => `<svg 10724 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10725 width="25" 10726 height="25" 10727 viewBox="0 0 48 48"> 10728 <polygon fill="${ 10729 theme === "match" || theme === "black" 10730 ? "#ffffff" 10731 : theme === "matchOutline" || theme === "white" 10732 ? "#000000" 10733 : customColor 10734 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 10735 <polygon 10736 fill="${ 10737 theme === "match" || theme === "black" 10738 ? "#000000" 10739 : theme === "matchOutline" || theme === "white" 10740 ? "#ffffff" 10741 : customColor 10742 }" 10743 fill-rule="evenodd" 10744 points="31.143,41 7.82,7 16.777,7 40.1,41" 10745 clip-rule="evenodd"></polygon> 10746 <path 10747 fill="${ 10748 theme === "match" || theme === "black" 10749 ? "#ffffff" 10750 : theme === "matchOutline" || theme === "white" 10751 ? "#000000" 10752 : customColor 10753 }" 10754 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 10755 </svg>`; 10756 10757 const amazonLoginIcon = (theme, customColor) => ` 10758 <svg 10759 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10760 x="0px" 10761 y="0px" 10762 width="25" 10763 height="25"
10764 viewBox="0 0 50 50" 10765 > 10766 <path 10767 fill="${ 10768 theme === "black" 10769 ? "#ffffff" 10770 : theme === "matchOutline" 10771 ? "#FF9900" 10772 : theme === "white" || theme === "match" 10773 ? "#000000" 10774 : customColor 10775 }" 10776 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" 10777 ></path> 10778 </svg>`; 10779 10780 const instagramLoginIcon= (theme, customColor) => ` 10781 <svg 10782 width="25" 10783 height="25" 10784 viewBox="0 0 25 24" 10785 fill="none" 10786 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif"> 10787 <path 10788 fill-rule="evenodd" 10789 clip-rule="evenodd" 10790 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.
1079064321C8.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" 10791 fill="url(#paint0_radial_378_3535)" /> 10792 <path 10793 fill-rule="evenodd" 10794 clip-rule="evenodd" 10795 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" 10796 fill="url(#paint0_radial_378_3535)" /> 10797 <path 10798 fill-rule="evenodd" 10799 clip-rule="evenodd" 10800 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.
1080064321C8.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" 10801 fill="url(#paint0_radial_378_3535)" /> 10802 <path 10803 fill-rule="evenodd" 10804 clip-rule="evenodd" 10805 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" 10806 fill="url(#paint1_radial_378_3535)" /> 10807 <defs> 10808 <radialGradient 10809 id="paint0_radial_378_3535" 10810 cx="0" 10811 cy="0" 10812 r="1" 10813 gradientUnits="userSpaceOnUse" 10814 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 10815 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 10816 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 10817 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 10818 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 10819 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 10820 </radialGradient> 10821 <radialGradient 10822 id="paint1_radial_378_3535" 10823 cx="0" 10824 cy="0" 10825 r="1" 10826 gradientUnits="userSpaceOnUse" 10827 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 10828 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 10829 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 10830 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 10831 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 10832 </radialGradient> 10833 </defs> 10834 </svg>`; 10835 10836 const magicLinkLoginIcon = (theme, customColor) => ` 10837 <svg 10838 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10839 width="25" 10840 height="25" 10841 fill="none"
10842 viewBox="0 0 25 25" 10843 > 10844 <path 10845 fill="${ 10846 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 10847 }" 10848 fillRule="evenodd" 10849 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" 10850 clipRule="evenodd" 10851 ></path> 10852 </svg>`; 10853 10854 const mobileAppLoginIcon = (theme, customColor) => ` 10855 <svg 10856 width="20" 10857 height="24" 10858 viewBox="0 0 12 16" 10859 fill="none" 10860 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10861 > 10862 <path 10863 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" 10864 fill=${ 10865 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 10866 } 10867 /> 10868 </svg> 10869 `; 10870 10871 const linkedinLoginIcon = (theme, customColor) => ` 10872 <svg 10873 xmlns="https://imgbest.store/images/2026/06/01/LOGO-GIF-KEBUN.gif" 10874 width="25" 10875 height="24" 10876 viewBox="0 0 25 24" 10877 fill="none" 10878 > 10879 <path 10880 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" 10881 fill=${ 10882 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 10883 } 10884 /> 10885 </svg> 10886 `; 10887 10888 function isElementVisible(element) { 10889 return ( 10890 document.body.contains(element) && 10891 getComputedStyle(element).display !== "none" && 10892 getComputedStyle(element).visibility !== "hidden" && 10893 getComputedStyle(element).opacity !== "0" && 10894 !element.hasAttribute("hidden") && 10895 !isAncestorHidden(element) 10896 ); 10897 } 10898 10899 function isAncestorHidden(element) { 10900 let parent = element.parentElement; 10901 while (parent) { 10902 if ( 10903 getComputedStyle(parent).display === "none" || 10904 getComputedStyle(parent).visibility === "hidden" || 10905 getComputedStyle(parent).opacity === "0" || 10906 parent.hasAttribute("hidden") 10907 ) { 10908 return true; 10909 } 10910 parent = parent.parentElement; 10911 } 10912 return false; 10913 } 10914 10915 function showAlert(message) { 10916 const alertBox = document.createElement("div"); 10917 alertBox.textContent = message; 10918 alertBox.style.position = "fixed"; 10919 alertBox.style.top = "20px"; 10920 alertBox.style.right = "-300px"; // Start off-screen 10921 alertBox.style.backgroundColor = "#000000"; // Black background 10922 alertBox.style.color = "#ffffff"; // White text 10923 alertBox.style.padding = "15px"; 10924 alertBox.style.borderRadius = "8px"; 10925 alertBox.style.zIndex = "1000"; 10926 alertBox.style.transition = 10927 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 10928 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 10929 10930 document.body.appendChild(alertBox); 10931 10932 // Slide in 10933 requestAnimationFrame(() => { 10934 alertBox.style.right = "20px"; // Move into view 10935 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 10936 }); 10937 10938 // Slide out and remove the alert after a few seconds 10939 setTimeout(() => { 10940 alertBox.style.opacity = "0"; // Fade out 10941 alertBox.style.right = "-300px"; // Move out of view 10942 10943 // Wait for the transition to finish before removing the element 10944 setTimeout(() => { 10945 document.body.removeChild(alertBox); 10946 }, 500); // Match this duration with the exit transition duration 10947 }, 3000); 10948 } 10949 </script>
10949 10950 10951 <style> 10952.daftarku-fixed-footer { 10953 display: flex; 10954 justify-content: space-around; 10955 position: fixed; 10956 left: 0; 10957 right: 0; 10958 bottom: 0; 10959 z-index: 99; 10960 padding: 5px 0; 10961 border-radius: 40px 40px 0 0; 10962 border-style: dashed; 10963 /* Gradient horizontal kiri-tengah-kanan */ 10964 background: linear-gradient(to right, #000000, #2bff00, #000000); 10965 box-shadow: 0 0 12px #dbdbdb; 10966 outline: none; 10967} 10968 10969.daftarku-fixed-footer a { 10970 flex-basis: calc((100% - 15px*6)/5); 10971 text-decoration: none; 10972 display: flex; 10973 flex-direction: column; 10974 justify-content: center; 10975 align-items: center; 10976 color: #fff; 10977 max-width: 75px; 10978 font-size: 12px; 10979 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 10980} 10981 10982.daftarku-fixed-footer a:hover { 10983 font-weight: bold; 10984} 10985 10986.daftarku-fixed-footer .center { 10987 transform: scale(1.5) translateY(-5px); 10988 background: center no-repeat; 10989 background-size: contain; 10990 background-color: inherit; 10991 border-radius: 50%; 10992} 10993 10994.daftarku-fixed-footer img { 10995 max-width: 30px; 10996 max-height: 30px; 10997 margin-bottom: 0; 10998} 10999</style> 11000 11001 <div class="daftarku-fixed-footer"> 11002 <a href="https://terbaru.hasilmacau88.live/" rel="nofollow noopener" target="_blank"> 11003 <img layout="intrinsic" height="30px" width="30px" src="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png" alt="PROMOSI"> 11004 PROMO 11005 </a> 11006 <a href="https://terbaru.hasilmacau88.live/" rel="nofollow noopener" target="_blank"> 11007 <img layout="intrinsic" height="30px" width="30px" src="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png" alt="LOGIN"> 11008 LOGIN 11009 </a> 11010 <a href="https://terbaru.hasilmacau88.live/" rel="nofollow noopener" target="_blank" class="tada"> 11011 <img layout="intrinsic" height="30px" width="30px" src="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png" alt="DAFTAR"> 11012 DAFTAR 11013 </a> 11014 <a href="https://terbaru.hasilmacau88.live/" rel="nofollow noopener" target="_blank" 11015 class="js_live_chat_link live-chat-link"> 11016 <img class="live-chat-icon" layout="intrinsic" height="30px" width="30px" src="https://imgbest.store/images/2026/03/29/favicon-kebuntoto.png" alt="Live Chat"> 11017 Live Chat 11018 </a> 11019 </div> 11020 </div> 11021
11021<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1496c6c168314d5ba25fec5ffebcba92","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
11021 11022
11022<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"35c0090c7d544a5ebd6cb76e1773c81a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11022
11022
11023<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1ee2ccbada1c4a408938a31140cbccef","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11023
11023
11024<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"5f80b552d3d14bd6a988a79c643c3b0f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11024
11024
11025<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"bd4a1bdaab4c445d80d2d23ed1efd4a1","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11025
11025
11026<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"e88ce8c1c33a4ffd98c05e4b7dfde52b","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11026
11026
11027<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ee65bb49086b47eaa57abf7b51739110","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11027
11027
11028<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"63853f95dbca404ab18d9ff85ffe2440","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11028
11028
11029<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"3da0d7293a774ef694880e1ea14b3463","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11029
11029
11030<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"3da0d7293a774ef694880e1ea14b3463","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11030
11030
11031<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"425e45c4c1f447e9809c4c85d6b60bc7","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11031
11031
11032<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"01790e0cb61849d6b9129ac62d7feae7","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11032
11032
11033<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0b193c936b0c4e10a51bc038d919919a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11033
11033
11034<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0b193c936b0c4e10a51bc038d919919a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11034
11034
11035<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0b193c936b0c4e10a51bc038d919919a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11035
11035
11036<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0b193c936b0c4e10a51bc038d919919a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11036
11036
11037<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0b193c936b0c4e10a51bc038d919919a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11037
11037
11038<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"0b193c936b0c4e10a51bc038d919919a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11038
11038
11039<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"7df66b113f9c45c0af3fff2ab1686f2e","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11039
11039
11040<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"7df66b113f9c45c0af3fff2ab1686f2e","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11040
11040
11041<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"7df66b113f9c45c0af3fff2ab1686f2e","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11041
11041
11042<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"7df66b113f9c45c0af3fff2ab1686f2e","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11042
11042
11043<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"7df66b113f9c45c0af3fff2ab1686f2e","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11043
11043
11044<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11044
11044
11045<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11045
11045
11046<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11046
11046
11047<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11047
11047
11048<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11048
11048
11049<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11049
11049
11050<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11050
11050
11051<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"50df27520d98481eb5da78c4ea0e2f27","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11051
11051
11052<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"7f2273edfafb4ea984a0077f2af6fb8a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11052
11052
11053<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"7f2273edfafb4ea984a0077f2af6fb8a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11053
11053
11054<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"7f2273edfafb4ea984a0077f2af6fb8a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11054
11054
11055<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"7f2273edfafb4ea984a0077f2af6fb8a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11055
11055
11056<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"b896bcaed7174a3eb1e8bf97ec27b0d4","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11056
11056
11057<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"b896bcaed7174a3eb1e8bf97ec27b0d4","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 11057
11057
11058<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":"b896bcaed7174a3eb1e8bf97ec27b0d4","r":1,"spa":2}' crossorigin="anonymous"></script>
11058 11059</body> 11060 </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.