1 <!doctype html> 2 <html class="no-js"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 7 <meta name="apple-itunes-app" content="app-id=1576832504"> 8 <link rel="icon" type="image/x-icon" href="https://imgstore.io/images/2026/01/31/icon.png"> 9 <!-- Title and description --> 10 <title>OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik</title> 11 <meta name="description" content="OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!"> 12 <meta name="keywords" content="situs toto, toto 4d, situs 4d, situs toto togel, situs toto 4d" /> 13 <link rel="canonical" href="https://www.summitpointegc.com/golf-tee-times"> 14 <link rel="amphtml" href="https://amp.over-power.info/summitpointegc.html"/> 15 <!-- /snippets/social-meta-tags.liquid --> 16 <meta property="og:type" content="OLXTOTO"> 17 <meta property="og:title" content="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik"> 18 <meta property="og:image" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 19 <meta property="og:image:secure_url" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 20 <meta property="og:image" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 21 <meta property="og:image:secure_url" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 22 <meta property="og:image" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 23 <meta property="og:image:secure_url" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 24 <meta property="og:description" content="OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!"> 25 <meta property="og:price:amount" content="5,000-,"> 26 <meta property="og:price:currency" content="IDR"> 27 <meta property="og:url" content="https://www.summitpointegc.com/golf-tee-times"> 28 <meta property="og:site_name" content="OLXTOTO"> 29 <meta name="twitter:site" content="@OLXTOTO"> 30 <meta name="twitter:card" content="summary"> 31 <meta name="twitter:title" content="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik"> 32 <meta name="twitter:description" content="OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!"> 33 <meta name="twitter:image" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 34 <meta name="twitter:image:width" content="600"> 35 <meta name="twitter:image:height" content="600"> 36 <link rel="shortcut icon" href="https://imgstore.io/images/2026/01/31/icon.png" type="image/png"> 37 <meta name="theme-color" content="#ffffff"> 38 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 39 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 40 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
40<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
40 41
41<script 42 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 43 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 44 crossorigin="anonymous" 45 referrerpolicy="no-referrer" 46 defer 47 ></script>
47 48
48<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
48 49
49<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
49<!-- Facebook Pixel Code --> 50
50<script>
vendor: 462 bytes, lines 50-59
50 51 !function(f,b,e,v,n,t,s) 52 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 53 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 54 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 55 n.queue=[];t=b.createElement(e);t.async=!0; 56 t.src=v;s=b.getElementsByTagName(e)[0]; 57 s.parentNode.insertBefore(t,s)}(window, document,'script', 58 'https://connect.facebook.net/en_US/fbevents.js'); 59 fbq('init', '
59165971065669324
vendor: 42 bytes, lines 59-61
59'); 60 fbq('track', 'PageView'); 61
61</script>
61 62 <noscript 63 ><img 64 height="1" 65 width="1" 66 style="display:none" 67 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 68 ></noscript> 69 <!-- End Facebook Pixel Code --> 70 71 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 72 <!-- 73 Global site tag (gtag.js) - Google Analytics --
vendor: 75 bytes, lines 73-74
73 74 <script async src="https://www.googletagmanager.com/gtag/js?id=
74G-X26HYP4083
vendor: 23 bytes, lines 74-75
74"></script> 75
75<script> 76
vendor: 170 bytes, lines 76-80
76window.dataLayer = window.dataLayer || []; 77 function gtag(){dataLayer.push(arguments);} 78 gtag('js', new Date()); 79 80 gtag('config', '
80G-X26HYP4083
vendor: 15 bytes, lines 80-81
80'); 81
81</script>
81 82 Global site tag (gtag.js) - Google Analytics 83 --> 84 85 <div class="button-login-daftar"> 86 <a class="login" href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noreferrer" style="color: white;"> 87 LOGIN 88 </a> 89 <a class="register" href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noreferrer" style="color: white;"> 90 DAFTAR 91 </a> 92 </div> 93 94
94<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
94 95 96 <!-- Bing UET --> 97
97<script> 98 (function(w,d,t,r,u) 99 { 100 var f,n,i; 101 w[u]=w[u]||[],f=function() 102 { 103 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 104 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 105 }, 106 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 107 { 108 var s=this.readyState; 109 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 110 }, 111 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 112 }) 113 (window,document,"script","//bat.bing.com/bat.js","uetq"); 114 </script>
114 115
115<script> 116 window.uetq = window.uetq || []; 117 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 118 </script>
118 119 <!-- End Bing UET --> 120 121 <!-- Microsoft Clarity --> 122
122<script type="text/javascript"> 123 (function(c,l,a,r,i,t,y){ 124 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 125 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 126 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 127 })(window, document, "clarity", "script", "h7rbxqry9k"); 128 </script>
128 129 <!-- End Microsoft Clarity --> 130 131 132 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 133 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 134 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 135
135<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
135 136
136<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
136 137
137<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
137 138
138<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
138 139 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 140 <link rel="alternate" type="application/json+oembed" href="https://www.summitpointegc.com/golf-tee-times.oembed"> 141
141<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
141 142
142<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
142 143
143<script>var Shopify = Shopify || {}; 144 Shopify.shop = "outerbloom1.myshopify.com"; 145 Shopify.locale = "en"; 146 Shopify.currency = {"active":"IDR","rate":"1.0"}; 147 Shopify.country = "ID"; 148 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 149 Shopify.theme.handle = "null"; 150 Shopify.theme.style = {"id":null,"handle":null}; 151 Shopify.cdnHost = "outerbloom.com/cdn"; 152 Shopify.routes = Shopify.routes || {}; 153 Shopify.routes.root = "/";</script>
153 154
154<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
154 155
155<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>
155 156
156<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
156 157
157<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 158 "></script>
158 159
159<script>(function() { 160 var isLoaded = false; 161 function asyncLoad() { 162 if (isLoaded) return; 163 isLoaded = true; 164 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"]; 165 for (var i = 0; i < urls.length; i++) { 166 var s = document.createElement('script'); 167 s.type = 'text/javascript'; 168 s.async = true; 169 s.src = urls[i]; 170 var x = document.getElementsByTagName('script')[0]; 171 x.parentNode.insertBefore(s, x); 172 } 173 }; 174 if(window.attachEvent) { 175 window.attachEvent('onload', asyncLoad); 176 } else { 177 window.addEventListener('load', asyncLoad, false); 178 } 179 })();</script>
179 180
180<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>
180 181
181<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
181 182
182<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>
182 183
183<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>
183 184
184<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)}}; 185 </script>
185 186
186<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 187 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); 188 </script>
188 189
189<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})}})); 190 </script>
190 191 192
192<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
192 193 <!-- /snippets/oldIE-js.liquid --> 194 195 196 <!--[if lt IE 9]> 197
197<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
197 198
198<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
198 199 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 200 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 201
201<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
201 202 <![endif]--> 203 204 205 206 207 208 <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"> 209 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 210
210<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 15896833,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
210 211
211<script id="web-pixels-manager-setup">(function e(e,d,r,n,o){if(void 0===o&&(o={}),!Boolean(null===(a=null===(i=window.Shopify)||void 0===i?void 0:i.analytics)||void 0===a?void 0:a.replayQueue)){var i,a;window.Shopify=window.Shopify||{};var t=window.Shopify;t.analytics=t.analytics||{};var s=t.analytics;s.replayQueue=[],s.publish=function(e,d,r){return s.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l=function(){var e={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),u="modern"===l?"modern":"legacy",c=(null!=n?n:{modern:"",legacy:""})[u],f=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:d,hashVersion:r,buildTarget:u}),m=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:r,bundleTarget:l,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{o.browserTarget=l,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:f,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var d=window.webPixelsManager.init(e)||void 0;if(d){var r=window.Shopify.analytics;r.replayQueue.forEach((function(e){var r=e[0],n=e[1],o=e[2];d.publishCustomEvent(r,n,o)})),r.replayQueue=[],r.publish=d.publishCustomEvent,r.visitor=d.visitor,r.initialized=!0}}},onerror:function(){return m.emit({status:"failed",errorMsg:"".concat(f," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(c)?c:"",scriptDataAttributes:o}),m.emit({status:"loading"})}catch(e){m.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 15896833,storefrontBaseUrl: "https://outerbloom.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"870383831","configuration":"{\"accountID\":\"outerbloom1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"162380e6ffd3e5a2854f1aabf54537bb","type":"APP","apiClientId":32196493313,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"824574167","configuration":"{\"shop\":\"outerbloom1.myshopify.com\", \"backend\": \"api.bitbybit.studio\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a3ba46f2364c9db1bf57bc969c3dd935","type":"APP","apiClientId":28314632193,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"521994455","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-X26HYP4083\\\",\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/YjjSCKiog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/RHfSCK6og9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/dMv0CKWog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/Y2DbCJ-og9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/xwQ2CKKog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/i9yRCLGog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/T9poCKuog9gZEMHe74Yp\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"b2a88bafab3e21179ed38636efcd8a93","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"236060887","configuration":"{\"pixel_id\":\"165971065669324\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"6d8c3ef0426b37b2a9b717daeb719f58","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"62947543","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Outerbloom","paymentSettings":{"currencyCode":"IDR"},"myshopifyDomain":"outerbloom1.myshopify.com","countryCode":"ID","storefrontUrl":"https:\/\/outerbloom.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":835000.0,"currencyCode":"IDR"},"product":{"title":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","url":"\/products\/blossom-shine","type":"OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!"},"id":"44083045826775","image":{"src":"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"OBVSTF1086","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},"https://outerbloom.com/cdn","4f0c5c77w64a73806p128ba08bma5b58f2f",{"modern":"","legacy":""},{"shopId":"15896833","storefrontBaseUrl":"https:\/\/outerbloom.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"4f0c5c77w64a73806p128ba08bma5b58f2f","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik\",\"url\":\"\/products\/blossom-shine\",\"type\":\"OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
211<script> 212 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 213 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 214 window.ShopifyAnalytics.meta.currency = 'IDR'; 215 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!","variants":[{"id":44083045826775,"price":1000000 216 ,"name":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 217 for (var attr in meta) { 218 window.ShopifyAnalytics.meta[attr] = meta[attr]; 219 } 220 </script>
220 221
221<script class="analytics"> 222 (function () { 223 var customDocumentWrite = function(content) { 224 var jquery = null; 225 226 if (window.jQuery) { 227 jquery = window.jQuery; 228 } else if (window.Checkout && window.Checkout.$) { 229 jquery = window.Checkout.$; 230 } 231 232 if (jquery) { 233 jquery('body').append(content); 234 } 235 }; 236 237 var hasLoggedConversion = function(token) { 238 if (token) { 239 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 240 } 241 return false; 242 } 243 244 var setCookieIfConversion = function(token) { 245 if (token) { 246 var twoMonthsFromNow = new Date(Date.now()); 247 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 248 249 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 250 } 251 } 252 253 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 254 if (trekkie.integrations) { 255 return; 256 } 257 trekkie.methods = [ 258 'identify', 259 'page', 260 'ready', 261 'track', 262 'trackForm', 263 'trackLink' 264 ]; 265 trekkie.factory = function(method) { 266 return function() { 267 var args = Array.prototype.slice.call(arguments); 268 args.unshift(method); 269 trekkie.push(args); 270 return trekkie; 271 }; 272 }; 273 for (var i = 0; i < trekkie.methods.length; i++) { 274 var key = trekkie.methods[i]; 275 trekkie[key] = trekkie.factory(key); 276 } 277 trekkie.load = function(config) { 278 trekkie.config = config || {}; 279 trekkie.config.initialDocumentCookie = document.cookie; 280 var first = document.getElementsByTagName('script')[0]; 281 var script = document.createElement('script'); 282 script.type = 'text/javascript'; 283 script.onerror = function(e) { 284 var scriptFallback = document.createElement('script'); 285 scriptFallback.type = 'text/javascript'; 286 scriptFallback.onerror = function(error) { 287 var Monorail = { 288 produce: function produce(monorailDomain, schemaId, payload) { 289 var currentMs = new Date().getTime(); 290 var event = { 291 schema_id: schemaId, 292 payload: payload, 293 metadata: { 294 event_created_at_ms: currentMs, 295 event_sent_at_ms: currentMs 296 } 297 }; 298 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 299 }, 300 sendRequest: function sendRequest(endpointUrl, payload) { 301 // Try the sendBeacon API 302 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 303 var blobData = new window.Blob([payload], { 304 type: 'text/plain' 305 }); 306 307 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 308 return true; 309 } // sendBeacon was not successful 310 311 } // XHR beacon 312 313 var xhr = new XMLHttpRequest(); 314 315 try { 316 xhr.open('POST', endpointUrl); 317 xhr.setRequestHeader('Content-Type', 'text/plain'); 318 xhr.send(payload); 319 } catch (e) { 320 console.log(e); 321 } 322 323 return false; 324 }, 325 isIos12: function isIos12() { 326 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 327 } 328 }; 329 Monorail.produce('monorail-edge.shopifysvc.com', 330 'trekkie_storefront_load_errors/1.1', 331 {shop_id: 15896833, 332 theme_id: 153139282135, 333 app_name: "storefront", 334 context_url: window.location.href, 335 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 336 337 }; 338 scriptFallback.async = true; 339 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 340 first.parentNode.insertBefore(scriptFallback, first); 341 }; 342 script.async = true; 343 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 344 first.parentNode.insertBefore(script, first); 345 }; 346 trekkie.load( 347 {"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}} 348 ); 349 350 var loaded = false;
351 trekkie.ready(function() { 352 if (loaded) return; 353 loaded = true; 354 355 window.ShopifyAnalytics.lib = window.trekkie; 356 357 var originalDocumentWrite = document.write; 358 document.write = customDocumentWrite; 359 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 360 document.write = originalDocumentWrite; 361 362 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 363 364 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 365 var token = match? match[1]: undefined; 366 if (!hasLoggedConversion(token)) { 367 setCookieIfConversion(token); 368 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 369 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 370 } 371 }); 372 373 374 var eventsListenerScript = document.createElement('script'); 375 eventsListenerScript.async = true; 376 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 377 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 378 379 })();</script>
379 380
380<script> 381 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 382 window.ga = function ga() { 383 (window.ga.q = window.ga.q || []).push(arguments); 384 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 385 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 386 } 387 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."); 388 }; 389 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 390 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 391 } 392 } 393 </script>
393 394
394<script 395 defer 396 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 397 data-application="storefront-renderer" 398 data-shop-id="15896833" 399 data-render-region="gcp-asia-southeast1" 400 data-page-type="product" 401 data-theme-instance-id="153139282135" 402 data-theme-name="" 403 data-theme-version="" 404 data-monorail-region="shop_domain" 405 data-resource-timing-sampling-rate="10" 406 data-shs="true" 407 data-shs-beacon="true" 408 data-shs-export-with-fetch="true" 409 data-shs-logs-sample-rate="1" 410 ></script>
410 411 412
412<script type="application/ld+json"> 413{ 414 "@context": "https://schema.org", 415 "@type": "Product", 416 "name": "OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik", 417 "image": "https://imgstore.io/images/2026/02/01/logo.1.png", 418 "description": "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!", 419 "brand": { 420 "@type": "Brand", 421 "name": "OLXTOTO" 422 }, 423 "sku": "OLXTOTO-4D", 424 "mpn": "situs-toto-4D", 425 "url": "https://www.summitpointegc.com/golf-tee-times", 426 "offers": { 427 "@type": "Offer", 428 "url": "https://www.summitpointegc.com/golf-tee-times", 429 "priceCurrency": "USD", 430 "price": "11", 431 "priceValidUntil": "2026-11-25", 432 "itemCondition": "https://schema.org/NewCondition", 433 "availability": "https://schema.org/InStock", 434 "seller": { 435 "@type": "Organization", 436 "name": "OLXTOTO" 437 } 438 }, 439 "aggregateRating": { 440 "@type": "AggregateRating", 441 "ratingValue": "5.0", 442 "reviewCount": 89426 443 }, 444 "review": [ 445 { 446 "@type": "Review", 447 "reviewRating": { 448 "@type": "Rating", 449 "ratingValue": "5", 450 "bestRating": "5" 451 }, 452 "author": { 453 "@type": "Person", 454 "name": "Arief" 455 }, 456 "reviewBody": "OLXTOTO memang tempat andalan untuk main Toto 4D. Promonya selalu menarik dan mudah diakses, membuat setiap taruhan terasa lebih menguntungkan." 457 }, 458 { 459 "@type": "Review", 460 "reviewRating": { 461 "@type": "Rating", 462 "ratingValue": "4.9", 463 "bestRating": "5" 464 }, 465 "author": { 466 "@type": "Person", 467 "name": "Maya" 468 }, 469 "reviewBody": "Main di OLXTOTO nyaman banget. Semua pasaran Toto 4D lengkap, sistem deposit dan penarikan cepat, serta promo eksklusifnya bikin seru terus." 470 }, 471 { 472 "@type": "Review", 473 "reviewRating": { 474 "@type": "Rating", 475 "ratingValue": "4.8", 476 "bestRating": "5" 477 }, 478 "author": { 479 "@type": "Person", 480 "name": "Rian" 481 }, 482 "reviewBody": "Situs ini stabil dan aman, pengalaman main 4D lebih lancar. Promo menariknya selalu update, jadi kesempatan menang jadi lebih tinggi dan seru." 483 }, 484 { 485 "@type": "Review", 486 "reviewRating": { 487 "@type": "Rating", 488 "ratingValue": "5", 489 "bestRating": "5" 490 }, 491 "author": { 492 "@type": "Person", 493 "name": "Nisa" 494 }, 495 "reviewBody": "OLXTOTO pilihan tepat untuk pemain yang ingin nyaman main Toto 4D. Semua aktivitas mudah dilakukan dan promo selalu memberikan nilai tambah." 496 }, 497 { 498 "@type": "Review", 499 "reviewRating": { 500 "@type": "Rating", 501 "ratingValue": "4.9", 502 "bestRating": "5" 503 }, 504 "author": { 505 "@type": "Person", 506 "name": "Dedi" 507 }, 508 "reviewBody": "Tempat andalan 2026 untuk main Toto 4D. Promonya konsisten, platform sigap, dan semua aktivitas berjalan lancar. Cocok untuk pemain baru maupun berpengalaman." 509 } 510] 511 512} 513</script>
vendor: 1 bytes, line 513
513
514<script type="application/ld+json"> 515{ 516 "@context": "https://schema.org", 517 "@type": "BreadcrumbList", 518 "itemListElement": [ 519 { 520 "@type": "ListItem", 521 "position": 1, 522 "name": "OLXTOTO", 523 "item": "https://www.summitpointegc.com/golf-tee-times" 524 }, 525 { 526 "@type": "ListItem", 527 "position": 2, 528 "name": "SITUS TOTO", 529 "item": "https://www.summitpointegc.com/golf-tee-times" 530 }, 531 { 532 "@type": "ListItem", 533 "position": 3, 534 "name": "TOTO TOGEL", 535 "item": "https://www.summitpointegc.com/golf-tee-times" 536 }, 537 { 538 "@type": "ListItem", 539 "position": 4, 540 "name": "TOTO 4D", 541 "item": "https://www.summitpointegc.com/golf-tee-times" 542 }, 543 { 544 "@type": "ListItem", 545 "position": 5, 546 "name": "SITUS 4D", 547 "item": "https://www.summitpointegc.com/golf-tee-times" 548 }, 549 { 550 "@type": "ListItem", 551 "position": 6, 552 "name": "SITUS TOTO TOGEL", 553 "item": "https://www.summitpointegc.com/golf-tee-times" 554 }, 555 { 556 "@type": "ListItem", 557 "position": 7, 558 "name": "SITUS TOTO 4D", 559 "item": "https://www.summitpointegc.com/golf-tee-times" 560 }, 561 { 562 "@type": "ListItem", 563 "position": 8, 564 "name": "OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik", 565 "item": "https://www.summitpointegc.com/golf-tee-times" 566 } 567 ] 568} 569</script>
569 570 571
571<script type="application/ld+json"> 572 { 573 "@context": "https://schema.org", 574 "@type": "Organization", 575 "name": "OLXTOTO", 576 "url": "https://www.summitpointegc.com/golf-tee-times", 577 "logo": "https://imgstore.io/images/2026/02/01/logo.1.png", 578 "sameAs": ["https://www.facebook.com/OLXTOTO", "https://twitter.com/OLXTOTO", "https://www.instagram.com/OLXTOTO"], 579 "contactPoint": { 580 "@type": "ContactPoint", 581 "telephone": "+62-812-8874-1411", 582 "contactType": "customer support", 583 "areaServed": "ID", 584 "availableLanguage": ["Indonesian", "English"] 585 } 586 } 587 </script>
587 588
588<script type="application/ld+json"> 589{ 590 "@context": "https://schema.org", 591 "@type": "FAQPage", 592 "mainEntity": [ 593 { 594 "@type": "Question", 595 "name": "Apa itu OLXTOTO?", 596 "acceptedAnswer": { 597 "@type": "Answer", 598 "text": "OLXTOTO adalah platform Toto 4D yang menyediakan berbagai promo dan penawaran untuk pemain yang ingin mendapatkan nilai lebih dari setiap permainan." 599 } 600 }, 601 { 602 "@type": "Question", 603 "name": "Siapa saja yang bisa bermain?", 604 "acceptedAnswer": { 605 "@type": "Answer", 606 "text": "Siapa pun yang sudah memahami cara bermain Toto 4D dan ingin memanfaatkan promo serta penawaran yang tersedia dapat bergabung dan menikmati layanan yang disediakan." 607 } 608 }, 609 { 610 "@type": "Question", 611 "name": "Apakah ada promo untuk pemain baru?", 612 "acceptedAnswer": { 613 "@type": "Answer", 614 "text": "Tersedia berbagai promo yang ditujukan untuk pemain baru maupun pemain lama agar pengalaman bermain terasa lebih menguntungkan." 615 } 616 }, 617 { 618 "@type": "Question", 619 "name": "Bagaimana cara mendapatkan promo?", 620 "acceptedAnswer": { 621 "@type": "Answer", 622 "text": "Pemain cukup mengikuti ketentuan yang berlaku pada setiap penawaran. Detail promo biasanya tersedia di halaman informasi atau menu utama platform." 623 } 624 }, 625 { 626 "@type": "Question", 627 "name": "Apa keunggulan bermain di OLXTOTO?", 628 "acceptedAnswer": { 629 "@type": "Answer", 630 "text": "Fokus pada penawaran promo yang konsisten, pengalaman bermain yang nyaman, serta peluang keuntungan tambahan bagi pemain yang ingin bermain secara lebih optimal." 631 } 632 } 633 ] 634} 635</script>
vendor: 1 bytes, line 635
635
636<script type="application/ld+json"> 637{ 638 "@context": "https://schema.org", 639 "@type": "HowTo", 640 "name": "Cara Daftar dan Bermain Toto Togel 4D di OLXTOTO", 641 "description": "Panduan lengkap langkah demi langkah untuk mendaftar dan mulai bermain Toto 4D melalui OLXTOTO, situs andalan pemain yang menyediakan promo menarik dan pengalaman bermain nyaman.", 642 "image": "https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg", 643 "step": [ 644 { 645 "@type": "HowToStep", 646 "name": "Kunjungi Situs Resmi OLXTOTO", 647 "text": "Buka situs resmi OLXTOTO untuk bermain Toto 4D secara aman dan nyaman. Pastikan memilih link resmi agar bisa menikmati semua fitur dan promo yang tersedia.", 648 "url": "https://www.summitpointegc.com/golf-tee-times", 649 "image": "https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 650 }, 651 { 652 "@type": "HowToStep", 653 "name": "Isi Formulir Pendaftaran", 654 "text": "Masukkan username, password, dan data kontak yang valid. Pendaftaran dibuat mudah agar semua pemain, baik baru maupun berpengalaman, dapat langsung bermain Toto 4D.", 655 "image": "https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 656 }, 657 { 658 "@type": "HowToStep", 659 "name": "Verifikasi Akun OLXTOTO", 660 "text": "Lakukan verifikasi sesuai petunjuk untuk memastikan akun aman dan dapat digunakan tanpa kendala teknis, sehingga pengalaman bermain tetap lancar.", 661 "image": "https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 662 }, 663 { 664 "@type": "HowToStep", 665 "name": "Lakukan Deposit Pertama", 666 "text": "Masukkan saldo deposit minimal sesuai panduan. Deposit memungkinkan pemain memanfaatkan promo eksklusif dan meningkatkan peluang menang di Toto 4D.", 667 "image": "https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 668 }, 669 { 670 "@type": "HowToStep", 671 "name": "Mulai Bermain Toto 4D", 672 "text": "Pilih pasaran Toto 4D sesuai keinginan dan nikmati permainan yang seru serta menguntungkan. Semua fitur dan promo OLXTOTO siap mendukung pengalaman bermain terbaik.", 673 "image": "https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 674 } 675 ], 676 "tool": [ 677 { 678 "@type": "HowToTool", 679 "name": "Smartphone atau komputer" 680 }, 681 { 682 "@type": "HowToTool", 683 "name": "Koneksi internet yang stabil" 684 } 685 ], 686 "totalTime": "PT5M", 687 "estimatedCost": { 688 "@type": "MonetaryAmount", 689 "currency": "IDR", 690 "value": "10000" 691 }, 692 "supply": { 693 "@type": "HowToSupply", 694 "name": "Saldo deposit minimal" 695 } 696} 697</script>
697 698 699 </head><body 700 data-template="product" 701 id="blossom-shine" 702 class="template-product template-product" 703 > 704 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 704-707
704 705 <noscript 706 ><iframe 707 src="https://www.googletagmanager.com/ns.html?id=
707GTM-MF9VVZX
vendor: 129 bytes, lines 707-713
707" 708 height="0" 709 width="0" 710 style="display:none;visibility:hidden" 711 ></iframe 712 ></noscript> 713
713<!-- End Google Tag Manager (noscript) --> 714 715 716 717 <div class="header-wrapper"> 718 719 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 720 721 <style> 722 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 723 #notification.promo-up {top: -48px!important;} 724 .promo-bg {width: 100%;padding: 6px 0;background: linear-gradient(to bottom, #ffd700 0%, #000000 50%, #ffd700 100%);} 725 .notification__message p {margin: 0;color: #ffffff;font-size: 20px!important; font-weight: bold;} 726 .notification__message p a {text-decoration: underline;color: #ffffff;} 727 @media (max-width: 991px){ 728 .notification__message p {font-size: 14px!important;} 729 } 730 </style> 731 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 732 <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"> 733 <div class="page-width notification__inner "> 734 735 736 <div class="notification__message text-center"> 737 <p>Situs Toto Tempat Andalan 4D dengan Promo Menarik</p> 738 </div> 739 </div> 740 </div> 741 742 743 744 745 </div> 746 <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"/> 747 748 749 <header style="background-image: url(https://imgstore.io/images/2026/02/09/olxtogel-background.jpeg); background-attachment: fixed;"> 750 <div class="container"> 751 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 752 <a href="https://www.summitpointegc.com/golf-tee-times"> 753 <img src="https://imgstore.io/images/2026/02/01/logo.1.png" alt="LOGO OLXTOTO" style="width: 190px;"></a> 754 <link href="https://imgstore.io/images/2026/01/31/icon.png" rel="shortcut icon" type="image/x-icon" /> 755 <div id="menu-hamburger" class="d-lg-none"> 756 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 757 <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"/> 758 </svg> 759 760 <a href="/"><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" viewBox="0 0 854 78.29"> 761 <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> 762 </svg> 763 </a> 764 </div> 765 766 <div class="header-icon-right header-icons col-3"> 767 <div class="icon icon-account-header d-none d-lg-block"> 768 <a href="https://www.summitpointegc.com/golf-tee-times">
769 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 770 <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"/> 771 <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"/> 772 </svg> 773 774 </a> 775 </div> 776 <div class="icon icon-wishlist-header"> 777 <a href="https://www.summitpointegc.com/golf-tee-times"> 778 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 779 <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.
77911233C11.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"/> 780 </svg> 781 782 <span class="wishlist-count d-none">0</span> 783 </a> 784 </div> 785 <div class="icon icon-cart-header"> 786 <a href="https://www.summitpointegc.com/golf-tee-times"> 787 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 788 <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"/> 789 <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"/> 790 </svg> 791 792 </a> 793 </div> 794 </div> 795 </div> 796 </div> 797 </header> 798 799 <nav class="nav-header" style="background: linear-gradient(to bottom, #ffd700 0%, #000000 50%, #313131 100%);"> 800 <div class="nav-account-mobile row m-0 d-lg-none"> 801 <div class="col-6 welcome-cust p-0"> 802 803 <h1 class="logo"> 804 <a href="https://www.summitpointegc.com/golf-tee-times"> 805 <img src="https://imgstore.io/images/2026/02/01/logo.1.png" alt="OLXTOTO" style="max-height:60px;"> 806 </a> 807 </h1> 808 809 810 </div> 811 812 <div class="col-6 login-register text-right p-0"> 813 <a href="https://amp.over-power.info/summitpointegc.html">Log In</a> | <a href="https://amp.over-power.info/summitpointegc.html">Sign Up</a> 814 </div> 815 </div> 816 <ul class="nav-menu container"> 817 818 <li class="nav-menu container"> 819 <a href="https://www.summitpointegc.com/golf-tee-times"> 820 <span style="color: #ffffff;">OLXTOTO</span> 821 822 823 <li class=" nav-menu container"> 824 <a href="https://www.summitpointegc.com/golf-tee-times"> 825 <span style="color: #ffffff;">SITUS TOTO</span> 826 827 828 <li class=" nav-menu container"> 829 <a href="https://www.summitpointegc.com/golf-tee-times"> 830 <span style="color: #ffffff;">TOTO TOGEL</span> 831 832 <li class=" nav-menu container"> 833 <a href="https://www.summitpointegc.com/golf-tee-times"> 834 <span style="color: #ffffff;">TOTO 4D</span> 835 836 <li class=" nav-menu container"> 837 <a href="https://www.summitpointegc.com/golf-tee-times"> 838 <span style="color: #ffffff;">SITUS 4D</span> 839 840 <li class=" nav-menu container"> 841 <a href="https://www.summitpointegc.com/golf-tee-times"> 842 <span style="color: #ffffff;">SITUS TOTO TOGEL</span> 843 844 <li class=" nav-menu container"> 845 <a href="https://www.summitpointegc.com/golf-tee-times"> 846 <span style="color: #ffffff;">SITUS TOTO 4D</span> 847 848 <div class="overlay-nav"> 849 <!-- Mobile Close Button in Overlay --> 850 <button id="nav-close" class="nav-close-btn d-lg-none"> 851 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 852 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 853 </svg> 854 </button> 855 </div> 856 857
857<script> 858 if ($(window).width() < 992) { 859 // Level 1 menu accordion (main menu items) 860 $(".nav-menu .nav-menu container > a").click(function(e){ 861 e.preventDefault() 862 const parentLi = $(this).parent() 863 const isCurrentlyOpen = parentLi.hasClass("menu-open") 864 865 // Close all other open menus (accordion behavior) 866 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 867 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 868 869 // Toggle current menu 870 if (isCurrentlyOpen) { 871 parentLi.removeClass("menu-open") 872 $(this).next(".megamenu").slideUp() 873 } else { 874 parentLi.addClass("menu-open") 875 $(this).next(".megamenu").slideDown() 876 } 877 }) 878 879 // Level 2 menu accordion (submenu items with grandchildren) 880 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 881 e.preventDefault() 882 const parentLi = $(this).parent() 883 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 884 const grandchild = $(this).next(".grandchild") 885 886 // Close all other open submenus in the same dropdown (accordion behavior) 887 parentLi.siblings('.has-submenu').removeClass("submenu-open") 888 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 889 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 890 891 // Toggle current submenu 892 if (isCurrentlyOpen) { 893 parentLi.removeClass("submenu-open") 894 grandchild.slideUp() 895 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 896 } else { 897 parentLi.addClass("submenu-open") 898 grandchild.slideDown() 899 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 900 } 901 }) 902 903 $("#menu-hamburger").click(function(e){ 904 e.preventDefault() 905 $("body").toggleClass("nav_open") 906 }) 907 908 // Handle close button click 909 $("#nav-close").click(function(e){ 910 e.preventDefault() 911 $("body").removeClass("nav_open") 912 // Close all open menus when close button is clicked 913 $(".nav-menu .nav-menu container").removeClass("menu-open") 914 $(".nav-menu .megamenu").slideUp() 915 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 916 $(".dropdown-menu .grandchild").slideUp() 917 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 918 }) 919 } 920 921 $(".overlay-nav").click(function(e){ 922 e.preventDefault() 923 $("body").removeClass("nav_open") 924 // Close all open menus when overlay is clicked 925 $(".nav-menu .nav-menu container").removeClass("menu-open") 926 $(".nav-menu .megamenu").slideUp() 927 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 928 $(".dropdown-menu .grandchild").slideUp() 929 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 930 }) 931 </script>
931 932 933 934 </div> 935 936 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 937 #search-trigger { 938 cursor: pointer; 939 } 940 #search-popup { 941 display: none; 942 position: fixed; 943 left: 0; 944 width: 100%; 945 top: 0; 946 height: 100%; 947 justify-content: center; 948 z-index: 9999; 949 background: rgb(196 196 196 / 30%); 950 } 951 #search-input { 952 align-self: center; 953 width: 100%; 954 height: 80px; 955 position: absolute; 956 top: 0; 957 border-bottom: 0.5px solid #A3A3A3; 958 background-color: #fff; 959 } 960 #search-input * { 961 align-self: center; 962 } 963 #search-type { 964 width: 100%; 965 border: none; 966 padding-right: 20px; 967 padding-left: 20px; 968 font-size: 16px; 969 color: #757575; 970 } 971 #search-btn { 972 font-size: 16px; 973 font-weight: 500; 974 } 975 #search-result { 976 min-height: 490px; 977 width: 100%; 978 padding-top: 80px; 979 } 980 #search-result .container { 981 background-color: #fff; 982 padding: 20px 40px; 983 } 984 body.search-popup-open { 985 /* .search-popup-open */ 986 overflow: hidden; 987 } 988 .search-popup-open #loc_delivery { 989 display: none 990 } 991 .search-header svg { 992 display: none; 993 cursor: pointer; 994 } 995 .wrapper-search-popup { 996 max-height: calc(100vh - 150px); 997 overflow-y: auto; 998 overflow-x: hidden; 999 } 1000 1001 .group-recommend { 1002 padding: 20px 40px; 1003 } 1004 1005 .resultsearch { 1006 display: none; 1007 } 1008 .results { padding: 20px 40px } 1009 .resultsearch label { 1010 font-weight: 600; 1011 padding-bottom: 20px; 1012 display: block; 1013 margin-bottom: 20px; 1014 border-bottom: 1px solid #AAAAAA; 1015 } 1016 1017 ul.result_product { 1018 max-height: 300px; 1019 overflow: auto; 1020 } 1021 1022 .group-promotion ul { 1023 margin: 0; 1024 } 1025 .group-promotion li { 1026 list-style: none; 1027 margin-bottom: 12px; 1028 } 1029 .group-promotion li a { 1030 color: inherit; 1031 } 1032 1033 .group-recent { 1034 position: relative; 1035 padding: 20px 40px; 1036 } 1037 .group-recent ul { 1038 margin: 0; 1039 } 1040 .group-recent li { 1041 list-style: none; 1042 display: inline-block; 1043 margin-right: 60px; 1044 } 1045 .group-recent li a { 1046 color: inherit; 1047 } 1048 1049 .last-search svg { 1050 width: 20px; 1051 vertical-align: middle; 1052 } 1053 ul.last-search a { 1054 vertical-align: middle; 1055 padding: 0 10px; 1056 } 1057 ul.last-search li span { 1058 cursor: pointer; 1059 } 1060 .delete-all-history { 1061 position: absolute; 1062 top: 25px; 1063 right: 40px; 1064 text-decoration: underline; 1065 color: #e11d1d; 1066 cursor: pointer; 1067 font-size: 12px; 1068 } 1069 1070 form.search.search-modal__form { 1071 position: relative; 1072 } 1073 1074 button.search__button svg { 1075 width: 25px; 1076 color: #495057; 1077 fill: #757582; 1078 } 1079 1080 button.search__button.field__button { 1081 position: absolute; 1082 top: 50%; 1083 margin-top: -12px; 1084 } 1085 1086 .close-search { 1087 display: none; 1088 position: absolute; 1089 right: 65px; 1090 top: 10px; 1091 cursor: pointer; 1092 } 1093 1094 .site-overlay { 1095 position: fixed; 1096 top: 0; 1097 width: 100vw; 1098 height: 100vh; 1099 z-index: 1000; 1100 background: #0000005c; 1101 visibility: hidden; 1102 opacity: 0; 1103 pointer-events: none; 1104 transition: all .3s linear; 1105 display: block !important; 1106 } 1107 1108 .search-popup-open .site-overlay { 1109 opacity: 1; 1110 visibility: visible; 1111 pointer-events: all; 1112 z-index: -1; 1113 cursor: pointer; 1114 } 1115 1116 @media (min-width: 991px) { 1117 .group-recent ul { 1118 column-count: 3; 1119 } 1120 .group-promotion li a { 1121 font-size: 12px; 1122 font-weight: 400; 1123 } 1124 .group-recent li a { 1125 font-size: 12px; 1126 font-weight: 400; 1127 } 1128 } 1129 1130 .moreresult { 1131 padding: 10px 40px; 1132 border-top: 1px solid #AAAAAA; 1133 } 1134 .moreresult * { 1135 align-self: center; 1136 } 1137 .moreresult p { 1138 margin: 0; 1139 font-size: 12px !important; 1140 } 1141 .moreresult svg { 1142 width: 13px; 1143 } 1144 1145 @media (max-width: 992px) { 1146 .icon-key-mobile { 1147 height: auto!important; 1148 width: 10px!important; 1149 } 1150 body.grid-view.search-popup-open .products { 1151 -ms-flex: 0 0 100%!important; 1152 flex: 0 0 100%!important; 1153 max-width: 100%!important; 1154 } 1155 button.search__button svg {
1156 width: 20px; 1157 } 1158 #search-result { 1159 padding-left: 0; 1160 padding-right: 0; 1161 } 1162 #search-result { 1163 padding-top: 55px; 1164 } 1165 #search-input { 1166 height: 55px; 1167 } 1168 .group-recommend { 1169 padding: 20px; 1170 } 1171 #search-input .container { 1172 padding: 0 20px; 1173 } 1174 #search-type { 1175 font-size: 14px; 1176 } 1177 #search-btn { 1178 font-size: 12px; 1179 text-decoration: underline; 1180 } 1181 .results { 1182 padding: 20px; 1183 } 1184 .group-recommend h3 { 1185 font-size: 16px; 1186 } 1187 .products .card-body { 1188 padding: 8px 0px 10px; 1189 } 1190 .moreresult { 1191 padding: 10px 20px; 1192 } 1193 } 1194 </style> 1195 <style type="text/css"> 1196 div.advertisement-placeholder { 1197 text-align: center; 1198 padding-bottom: 20px; 1199 display: flex; 1200 flex-direction: column; 1201 justify-content: center; 1202 } 1203 div.advertisement-text p { 1204 margin: 0; 1205 font-family: Open Sans; 1206 font-style: normal; 1207 font-weight: normal; 1208 font-size: 10px; 1209 line-height: 20px; 1210 color: #999999; 1211 } 1212 div.advertisement-banner { 1213 margin: 0px auto; 1214 } 1215 div#div-gpt-ad-billboard-placeholder { 1216 width: 996px; 1217 margin: 0 auto; 1218 background: #F5F5F5; 1219 padding-bottom: unset !important; 1220 min-height: 200px; 1221 } 1222 div#div-gpt-ad-lb-placeholder { 1223 background: #F5F5F5; 1224 padding-bottom: unset !important; 1225 min-height: 280px; 1226 } 1227 .faq-section{ 1228 max-width:1200px; 1229 margin:50px auto; 1230 padding:40px 20px; 1231 position:relative; 1232 background-color: rgba(0, 0, 0, 0.1); 1233 backdrop-filter: blur(25px); 1234 border-radius: 20px; 1235 } 1236 1237 .faq-section::before{ 1238 content:""; 1239 position:absolute; 1240 top:0;left:50%; 1241 transform:translateX(-50%); 1242 width:80%; 1243 height:2px; 1244 background:linear-gradient(90deg,transparent,#ffd700,transparent) 1245 } 1246 1247 .faq-section h2{ 1248 text-align:center; 1249 font-size:34px;font-weight:700; 1250 margin-bottom:50px; 1251 background: linear-gradient(135deg, #676767, #ebebeb, #67676
12517); 1252 -webkit-background-clip:text; 1253 -webkit-text-fill-color:transparent; 1254 background-clip:text; 1255 font-family:"Poppins",sans-serif;letter-spacing:1px 1256 } 1257 1258 .faq-container{ 1259 display:flex; 1260 flex-direction:column; 1261 gap:25px 1262 } 1263 1264 .faq-item{ 1265 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 1266 border:2px solid #ffd700; 1267 border-radius:20px;overflow:hidden; 1268 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 1269 } 1270 1271 .faq-item:hover{ 1272 border-color:#ffd700; 1273 transform:translateX(10px); 1274 box-shadow:0 12px 35px rgba(253, 4, 4, 0.25) 1275 } 1276 1277 .faq-question{width:100%; 1278 padding:28px 35px;background:transparent; 1279 color:#ffffff; 1280 font-size:18px; 1281 font-weight:600; 1282 text-align:left; 1283 border:none;cursor:pointer; 1284 display:flex; 1285 justify-content:space-between; 1286 align-items:center; 1287 font-family:"Poppins",sans-serif; 1288 transition:all .3s ease 1289 } 1290 1291 .faq-question:hover{ 1292 color:#ffd700 1293 } 1294 1295 .faq-question::after{ 1296 content:'+'; 1297 font-size:32px; 1298 font-weight:300; 1299 transition:all .4s ease; 1300 color:#ffd700; 1301 width:40px; 1302 height:40px; 1303 display:flex; 1304 align-items:center; 1305 justify-content:center; 1306 border:2px solid #ffd700;border-radius:50%; 1307 background:rgba(0, 0, 0, 0.1) 1308 } 1309 1310 .faq-item.active .faq-question::after{ 1311 transform:rotate(135deg); 1312 background:linear-gradient(to bottom, #1b0f00 0%, #ffd700 50%, #1b0f00 100%); 1313 color:#000;border-color:transparent 1314 } 1315 1316 .faq-answer{ 1317 max-height:0; 1318 overflow:hidden; 1319 transition:max-height .5s ease,padding .5s ease; 1320 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1321 padding:0 35px 1322 } 1323 1324 .faq-item.active .faq-answer{ 1325 max-height:800px;padding:30px 35px; 1326 border-top:1px solid rgba(253, 4, 4, 0.3) 1327 } 1328 1329 .faq-answer p{ 1330 color:#e0e0e0; 1331 font-size:16px; 1332 line-height:2; 1333 margin:0; 1334 font-family:"Poppins",sans-serif 1335 } 1336 1337 @media 1338 (max-width:768px) 1339 { 1340 1341 .faq-section 1342 {padding:30px 15px} 1343 1344 .faq-section h2 1345 {font-size:26px} 1346 1347 .faq-question 1348 {font-size:16px; 1349 padding:22px 25px} 1350 1351 .faq-question::after 1352 {width:35px; 1353 height:35px; 1354 font-size:28px} 1355 1356 .faq-answer 1357 {padding:0 25px} 1358 1359 .faq-item.active .faq-answer 1360 {padding:25px} 1361 1362 .faq-item:hover 1363 {transform:translateX(5px)} 1364 } 1365 </style> 1366 <div id="search-popup"> 1367 <div id="search-input" class="row"> 1368 <div class="container w-100"> 1369 <form 1370 action="/search" 1371 method="get" 1372 role="search" 1373 class="search search-modal__form d-flex justify-content-between" 1374 > 1375 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1376 <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"/> 1377 </svg> 1378 1379 <input type="hidden" name="type" value="product"> 1380 <input 1381 type="text" 1382 id="search-type" 1383 name="q" 1384 class="search-popup" 1385 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1386 > 1387 <div class="close-search">
1387<svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1388 <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/> 1389 </svg> 1390 </div> 1391 <button id="search-btn">Search</button> 1392 </form>
1393 </div> 1394 </div> 1395 <div id="search-result" class="container m-auto"> 1396 <div class="container p-0"> 1397 <div class="group-promotion"> 1398 <div class="resultsearch"> 1399 <div class="row results"> 1400 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1401 <label>SUGGESTIONS</label> 1402 <ul class="result_collection"></ul> 1403 </div> 1404 <div class="col-12 col-lg-6"> 1405 <label>PRODUCTS</label> 1406 <ul class="result_product"></ul> 1407 </div> 1408 </div> 1409 <div class="d-flex justify-content-between moreresult m-0"> 1410 <p>Search for<span></span></p> 1411 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="32" height="32" viewBox="0 0 32 32"> 1412 <title>icon-arrow-right</title> 1413 <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> 1414 </svg> 1415 </div> 1416 </div> 1417 </div> 1418 <div class="group-recent hide"> 1419 <h3>RECENT SEARCH</h3> 1420 <span class="delete-all-history">Hapus riwayat</span> 1421 <ul class="last-search"></ul> 1422 </div> 1423 <div class="group-recommend"> 1424 <h3>YOU MAY ALSO LIKE</h3> 1425 1426 1427 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1428 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1429 1430 1431 <div class="swiper-slide card"> 1432 1433 1434 1435 1436 <div class="products" data-lazy="false"> 1437 <div class="bg-products"> 1438 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1439 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1440 <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.
144011233C11.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"/> 1441 </svg> 1442 1443 </div> 1444 <a href="/products/mid-autumn-of-love-mooncake"> 1445 1446 <div class="product-card-img-container p-0 position-relative"> 1447 1448 <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"> 1449 </div> 1450 <div class="card-body product-card-info"> 1451 <h5 class="h5 mb-0"> 1452 Mid Autumn of Love Mooncake 1453 </h5> 1454 <div class="product-card-price"> 1455 1456 <div class="product-price-sale"> 1457 <s class="product-card-price-before card-money">Rp 588.000</s> 1458 <span class="product-card-discount small"> 1459 (-40%) 1460 </span> 1461 </div> 1462 1463 1464 1465 <div class="price-discount"> 1466 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1467 </div> 1468 1469 1470 1471 1472 1473 </div> 1474 1475 </div> 1476 </a> 1477 </div> 1478 1479 </div> 1480 1481 </div> 1482 1483 1484 1485 <div class="swiper-slide card"> 1486 1487 1488 1489 1490 <div class="products" data-lazy="false"> 1491 <div class="bg-products"> 1492 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1493 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1494 <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.
149411233C11.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"/> 1495 </svg> 1496 1497 </div> 1498 <a href="/products/mid-autumn-of-joy-mooncake"> 1499 1500 <div class="product-card-img-container p-0 position-relative"> 1501 1502 <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"> 1503 </div> 1504 <div class="card-body product-card-info"> 1505 <h5 class="h5 mb-0"> 1506 Mid Autumn of Joy Mooncake 1507 </h5> 1508 <div class="product-card-price"> 1509 1510 <div class="product-price-sale"> 1511 <s class="product-card-price-before card-money">Rp 888.000</s> 1512 <span class="product-card-discount small"> 1513 (-33%) 1514 </span> 1515 </div> 1516 1517 1518 1519 <div class="price-discount"> 1520 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1521 </div> 1522 1523 1524 1525 1526 1527 </div> 1528 1529 </div> 1530 </a> 1531 </div> 1532 1533 </div> 1534 1535 </div> 1536 1537 1538 1539 <div class="swiper-slide card"> 1540 1541 1542 1543 1544 <div class="products" data-lazy="false"> 1545 <div class="bg-products"> 1546 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1547 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1548 <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.
154811233C11.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"/> 1549 </svg> 1550 1551 </div> 1552 <a href="/products/mid-autumn-of-fortune-mooncake"> 1553 1554 <div class="product-card-img-container p-0 position-relative"> 1555 1556 <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"> 1557 </div> 1558 <div class="card-body product-card-info"> 1559 <h5 class="h5 mb-0"> 1560 Mid Autumn of Fortune Mooncake 1561 </h5> 1562 <div class="product-card-price"> 1563 1564 <div class="product-price-sale"> 1565 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1566 <span class="product-card-discount small"> 1567 (-33%) 1568 </span> 1569 </div> 1570 1571 1572 1573 <div class="price-discount"> 1574 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1575 </div> 1576 1577 1578 1579 1580 1581 </div> 1582 1583 </div> 1584 </a> 1585 </div> 1586 1587 </div> 1588 1589 </div> 1590 1591 1592 1593 <div class="swiper-slide card"> 1594 1595 1596 1597 1598 <div class="products" data-lazy="false"> 1599 <div class="bg-products"> 1600 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1601 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1602 <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.
160211233C11.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"/> 1603 </svg> 1604 1605 </div> 1606 <a href="/products/mid-autumn-festival-mooncake"> 1607 1608 <div class="product-card-img-container p-0 position-relative"> 1609 1610 <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"> 1611 </div> 1612 <div class="card-body product-card-info"> 1613 <h5 class="h5 mb-0"> 1614 Mid Autumn Festival Mooncake 1615 </h5> 1616 <div class="product-card-price"> 1617 1618 <div class="product-price-sale"> 1619 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1620 <span class="product-card-discount small"> 1621 (-23%) 1622 </span> 1623 </div> 1624 1625 1626 1627 <div class="price-discount"> 1628 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1629 </div> 1630 1631 1632 1633 1634 1635 </div> 1636 1637 </div> 1638 </a> 1639 </div> 1640 1641 </div> 1642 1643 </div> 1644 1645 1646 1647 <div class="swiper-slide card"> 1648 1649 1650 1651 1652 <div class="products" data-lazy="false"> 1653 <div class="bg-products"> 1654 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1655 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1656 <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.
165611233C11.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"/> 1657 </svg> 1658 1659 </div> 1660 <a href="/products/the-jade-bouquet"> 1661 1662 <div class="product-card-img-container p-0 position-relative"> 1663 1664 <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"> 1665 </div> 1666 <div class="card-body product-card-info"> 1667 <h5 class="h5 mb-0"> 1668 The Jade Bouquet 1669 </h5> 1670 <div class="product-card-price"> 1671 1672 <div class="product-price-sale"> 1673 <s class="product-card-price-before card-money">Rp 435.000</s> 1674 <span class="product-card-discount small"> 1675 (-34%) 1676 </span> 1677 </div> 1678 1679 1680 1681 <div class="price-discount"> 1682 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1683 </div> 1684 1685 1686 1687 1688 1689 </div> 1690 1691 </div> 1692 </a> 1693 </div> 1694 1695 </div> 1696 1697 </div> 1698 1699 1700 1701 <div class="swiper-slide card"> 1702 1703 1704 1705 1706 <div class="products" data-lazy="false"> 1707 <div class="bg-products"> 1708 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1709 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1710 <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.
171011233C11.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"/> 1711 </svg> 1712 1713 </div> 1714 <a href="/products/the-selena-bouquet"> 1715 1716 <div class="product-card-img-container p-0 position-relative"> 1717 1718 <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"> 1719 </div> 1720 <div class="card-body product-card-info"> 1721 <h5 class="h5 mb-0"> 1722 The Selena Bouquet 1723 </h5> 1724 <div class="product-card-price"> 1725 1726 <div class="product-price-sale"> 1727 <s class="product-card-price-before card-money">Rp 335.000</s> 1728 <span class="product-card-discount small"> 1729 (-29%) 1730 </span> 1731 </div> 1732 1733 1734 1735 <div class="price-discount"> 1736 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1737 </div> 1738 1739 1740 1741 1742 1743 </div> 1744 1745 </div> 1746 </a> 1747 </div> 1748 1749 </div> 1750 1751 </div> 1752 1753 1754 1755 <div class="swiper-slide card"> 1756 1757 1758 1759 1760 <div class="products" data-lazy="false"> 1761 <div class="bg-products"> 1762 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1763 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1764 <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.
176411233C11.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"/> 1765 </svg> 1766 1767 </div> 1768 <a href="/products/the-viola-bouquet"> 1769 1770 <div class="product-card-img-container p-0 position-relative"> 1771 1772 <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"> 1773 </div> 1774 <div class="card-body product-card-info"> 1775 <h5 class="h5 mb-0"> 1776 The Viola Bouquet 1777 </h5> 1778 <div class="product-card-price"> 1779 1780 <div class="product-price-sale"> 1781 <s class="product-card-price-before card-money">Rp 385.000</s> 1782 <span class="product-card-discount small"> 1783 (-25%) 1784 </span> 1785 </div> 1786 1787 1788 1789 <div class="price-discount"> 1790 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1791 </div> 1792 1793 1794 1795 1796 1797 </div> 1798 1799 </div> 1800 </a> 1801 </div> 1802 1803 </div> 1804 1805 </div> 1806 1807 1808 1809 <div class="swiper-slide card"> 1810 1811 1812 1813 1814 <div class="products" data-lazy="false"> 1815 <div class="bg-products"> 1816 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1817 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1818 <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.
181811233C11.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"/> 1819 </svg> 1820 1821 </div> 1822 <a href="/products/the-minerva-bouquet"> 1823 1824 <div class="product-card-img-container p-0 position-relative"> 1825 1826 <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"> 1827 </div> 1828 <div class="card-body product-card-info"> 1829 <h5 class="h5 mb-0"> 1830 The Minerva Bouquet 1831 </h5> 1832 <div class="product-card-price"> 1833 1834 <div class="product-price-sale"> 1835 <s class="product-card-price-before card-money">Rp 385.000</s> 1836 <span class="product-card-discount small"> 1837 (-25%) 1838 </span> 1839 </div> 1840 1841 1842 1843 <div class="price-discount"> 1844 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1845 </div> 1846 1847 1848 1849 1850 1851 </div> 1852 1853 </div> 1854 </a> 1855 </div> 1856 1857 </div> 1858 1859 </div> 1860 1861 1862 1863 <div class="swiper-slide card"> 1864 1865 1866 1867 1868 <div class="products" data-lazy="false"> 1869 <div class="bg-products"> 1870 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1871 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1872 <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.
187211233C11.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"/> 1873 </svg> 1874 1875 </div> 1876 <a href="/products/congraduations-bouquet"> 1877 1878 <div class="product-card-img-container p-0 position-relative"> 1879 1880 <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"> 1881 </div> 1882 <div class="card-body product-card-info"> 1883 <h5 class="h5 mb-0"> 1884 Congraduations Bouquet 1885 </h5> 1886 <div class="product-card-price"> 1887 1888 <div class="product-price-sale"> 1889 <s class="product-card-price-before card-money">Rp 380.000</s> 1890 <span class="product-card-discount small"> 1891 (-25%) 1892 </span> 1893 </div> 1894 1895 1896 1897 <div class="price-discount"> 1898 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1899 </div> 1900 1901 1902 1903 1904 1905 </div> 1906 1907 </div> 1908 </a> 1909 </div> 1910 1911 </div> 1912 1913 </div> 1914 1915 1916 1917 <div class="swiper-slide card"> 1918 1919 1920 1921 1922 <div class="products" data-lazy="false"> 1923 <div class="bg-products"> 1924 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1925 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1926 <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.
192611233C11.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"/> 1927 </svg> 1928 1929 </div> 1930 <a href="/products/grad-gorgeous-bouquet"> 1931 1932 <div class="product-card-img-container p-0 position-relative"> 1933 1934 <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"> 1935 </div> 1936 <div class="card-body product-card-info"> 1937 <h5 class="h5 mb-0"> 1938 Grad & Gorgeous Bouquet 1939 </h5> 1940 <div class="product-card-price"> 1941 1942 <div class="product-price-sale"> 1943 <s class="product-card-price-before card-money">Rp 380.000</s> 1944 <span class="product-card-discount small"> 1945 (-25%) 1946 </span> 1947 </div> 1948 1949 1950 1951 <div class="price-discount"> 1952 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1953 </div> 1954 1955 1956 1957 1958 1959 </div> 1960 1961 </div> 1962 </a> 1963 </div> 1964 1965 </div> 1966 1967 </div> 1968 1969 1970 </div> 1971 </div> 1972 1973 </div> 1974 </div> 1975 </div> 1976 1977 <div class="site-overlay" style="display: none"></div> 1978 </div> 1979
1979<script> 1980 1981 var swiper = new Swiper('.popup-recommend', { 1982 slidesPerView : 4, 1983 spaceBetween: 30, 1984 lazy: true , 1985 speed: 300, 1986 breakpoints: { 1987 // when window width is <= 576px 1988 576: { 1989 slidesPerView: 2, 1990 spaceBetween: 10, 1991 freeMode: true, 1992 resistance : true, 1993 resistanceRatio : 0, 1994 freeModeMomentumRatio : 0.45, 1995 freeModeMomentumVelocityRatio : 1.5 1996 }, 1997 768: { 1998 slidesPerView: 2, 1999 spaceBetween: 10 2000 }, 2001 992: { 2002 slidesPerView: 3, 2003 spaceBetween: 20 2004 } 2005 } 2006 }); 2007 2008 const searchContainer = $("#search-popup") 2009 const searchInput = $(".search-popup") 2010 const result_collection = $('.result_collection') 2011 const result_product = $('.result_product') 2012 const resultsearch = $('.resultsearch') 2013 const resultrecommend = $(".group-recommend") 2014 const moreresult = $(".moreresult") 2015 2016 searchInput.keyup(function(){ 2017 const input = $(this).val() 2018 moreresult.find("p span").text(` â${input}â`) 2019 if(input.length > 2) { 2020 $(".close-search").show() 2021 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 2022 $.ajax({ 2023 type: 'GET', 2024 url, 2025 beforeSend: function() { 2026 // setting a timeout 2027 // $(placeholder).addClass('loading'); 2028 }, 2029 success: function(response) { 2030 resultsearch.show() 2031 resultrecommend.hide() 2032 result_collection.html("") 2033 result_product.html("") 2034 const collections = response.resources.results.collections 2035 const products = response.resources.results.products 2036 let collection_length = collections.length 2037 let product_length = products.length 2038 // if(collections.length > 5) { 2039 // collection_length = 5 2040 // } 2041 // if(products.length > 5) { 2042 // product_length = 5 2043 // } 2044 for(let i=0;i<collection_length;i++){ 2045 const title = collections[i].title 2046 const url = collections[i].url 2047 let html_collection 2048 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 2049 html_collection = ` 2050 <li class="item" data-title="${title}"> 2051 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 2052 </li> 2053 ` 2054 } 2055 result_collection.append(html_collection) 2056 } 2057 for(let i=0;i<product_length;i++){ 2058 const title = products[i].title 2059 const url = products[i].url 2060 const image = products[i].featured_image.url 2061 const vendor = products[i].vendor 2062 let html_product 2063 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 2064 html_product = ` 2065 <li class="item" data-vendor="${vendor}"> 2066 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 2067 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 2068 </a> 2069 </li> 2070 ` 2071 } 2072 result_product.append(html_product) 2073 } 2074 }, 2075 error: function(xhr) { // if error occured 2076 alert("Error occured.please try again"); 2077 }, 2078 complete: function(response) { 2079 // $(placeholder).removeClass('loading'); 2080 }, 2081 dataType: 'JSON' 2082 }); 2083 } else { 2084 result_collection.html("") 2085 result_product.html("") 2086 2087 resultsearch.hide() 2088 resultrecommend.show() 2089 } 2090 }) 2091 2092 moreresult.click(function(){ 2093 $("#search-btn").trigger("click"); 2094 }) 2095 2096 $(".close-search").click(function(){ 2097 $(this).hide() 2098 searchInput.val("") 2099 searchInput.focus() 2100 resultsearch.hide() 2101 resultrecommend.show() 2102 }) 2103 2104 function setCookie(name,value,days) { 2105 var expires = ""; 2106 if (days) { 2107 var date = new Date(); 2108 date.setTime(date.getTime() + (days*24*60*60*1000)); 2109 expires = "; expires=" + date.toUTCString(); 2110 } 2111 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 2112 } 2113 function getCookie(name) { 2114 var nameEQ = name + "="; 2115 var ca = document.cookie.split(';');
2116 for(var i=0;i < ca.length;i++) { 2117 var c = ca[i]; 2118 while (c.charAt(0)==' ') c = c.substring(1,c.length); 2119 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 2120 } 2121 return null; 2122 } 2123 let last_search_name = [] 2124 let last_search_url = [] 2125 $(".group-recent").hide() 2126 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 2127 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 2128 $(".group-recent").show() 2129 last_search_name = getCookie("last_search_name"); 2130 last_search_url = getCookie("last_search_url"); 2131 const arrName = last_search_name.substring(1).split(',').reverse() 2132 const arrUrl = last_search_url.substring(1).split(',').reverse() 2133 console.log(arrName, 'Array Name') 2134 console.log(arrUrl, 'Array Url') 2135 let length = arrName.length 2136 if(arrName.length > 5) { 2137 length = 5 2138 } 2139 for(let n=0;n<length;n++){ 2140 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 2141 $(".group-recent ul").append(html2) 2142 } 2143 } 2144 } 2145 console.log(last_search_name, 'Name') 2146 console.log(last_search_url, 'url') 2147 2148 resultsearch.delegate(".item a", "click", function(){ 2149 let name = [last_search_name] 2150 let url = [last_search_url] 2151 name.push($(this).attr('data-title')) 2152 url.push($(this).attr('data-url')) 2153 setCookie("last_search_name",name,7); 2154 setCookie("last_search_url",url,7); 2155 }) 2156 2157 $(".delete-all-history").click(function() { 2158 setCookie("last_search_name",null,0); 2159 setCookie("last_search_url",null,0); 2160 $(".last-search").hide(); 2161 setTimeout(function(){ 2162 location.reload(); 2163 }, 500); 2164 }) 2165 2166 $("#search-trigger").click(function(){ 2167 search_open() 2168 }) 2169 $(".icon-search-mobile").click(function(){ 2170 search_open() 2171 }) 2172 $(".search-header svg").click(function(){ 2173 search_close() 2174 }) 2175 $(".icon-key-mobile").click(function(){ 2176 search_close() 2177 }) 2178 2179 function search_open() { 2180 $("body").addClass("search-popup-open") 2181 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 2182 $("#search-popup, .search-header svg, .icon-key-mobile").show() 2183 $(".search-popup").focus() 2184 $('.popup-recommend')[0].swiper.update(); 2185 } 2186 function search_close() { 2187 $("body").removeClass("search-popup-open") 2188 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 2189 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 2190 searchInput.val("") 2191 resultsearch.hide() 2192 resultrecommend.show() 2193 } 2194 2195 $(".site-overlay").click(function(){ 2196 search_close() 2197 }) 2198 </script>
2198 2199 2200 </div> 2201 </div> 2202 2203 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 2204 <main class="main-content pt-0" role="main"> 2205 2206 <div id="breadcrumbProduct" class="d-none d-lg-block"> 2207 <style> 2208 #breadcrumbProduct { 2209 padding: 20px 0; 2210 } 2211 #breadcrumbProduct ul { 2212 display: flex; 2213 padding: 0; 2214 list-style: none; 2215 margin: 0; 2216 gap: 12px; 2217 } 2218 #breadcrumbProduct ul li { 2219 text-transform: uppercase; 2220 margin: 0; 2221 font-size: 12px; 2222 } 2223 #breadcrumbProduct ul li a { 2224 color: #757575; 2225 } 2226 2227 #breadcrumbProduct ul li svg { 2228 width: 10px; 2229 height: 10px; 2230 padding: 0; 2231 color: #757575; 2232 vertical-align: middle; 2233 } 2234 </style> 2235 <div class="container" style="color: #ffffff;"> 2236 <ul role="navigation" aria-label="breadcrumbs"> 2237 <li><a href="https://www.summitpointegc.com/golf-tee-times" style="color: #ffffff;">OLXTOTO</a></li> 2238 <li><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2239 <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"/> 2240 </svg></li> 2241 <li><a href="https://www.summitpointegc.com/golf-tee-times" style="color: #ffffff;">SITUS TOTO</a></li> 2242 <li><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2243 <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"/> 2244 </svg></li> 2245 <li><a href="https://www.summitpointegc.com/golf-tee-times" style="color: #ffffff;">TOTO 4D</a></li> 2246 <li><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2247 <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"/> 2248 </svg></li> 2249 <li><a href="https://www.summitpointegc.com/golf-tee-times" style="color: #ffffff;">SITUS TOTO 4D</a></li> 2250 <li><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2251 <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"/> 2252 </svg></li> 2253 <li><a style="color: #ffffff;">OLXTOTO DAFTAR</a></li> 2254 2255 2256 </ul> 2257 </div> 2258 2259 </div> 2260 2261 2262 <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" /> 2263 2264 2265 <style> 2266 .bg-card { 2267 background-color: #000000; 2268 } 2269 </style> 2270 2271 <!-- /templates/product.liquid --> 2272 2273 2274 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2275 2276 2277 <div class="product-standing-flower" data-product-type="flowerBoard"> 2278 <meta itemprop="url" content="https://www.summitpointegc.com/golf-tee-times"> 2279 <meta itemprop="image" content="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 2280 2281 2282 2283 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2284 <div class="product-single" style="background-image: url(https://imgstore.io/images/2026/02/09/olxtogel-background.jpeg); background-attachment: fixed;"> 2285 <div id="product-top" class="container"> 2286 <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;"> 2287 <div id="product-image" class="col-lg-7 text-center"> 2288 <div class="product-image"> 2289 <div class="row no-gutters"> 2290 2291 <div id="product-featured-image" class="row w-100"> 2292 2293 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2294 2295 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2296 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2297 2298 <li class="swiper-slide" data-type="image"> 2299 <a 2300 href="files/Blossom-Shine-WM.jpg"
2301 data-standard="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2302 data-image="files/Blossom-Shine-WM.jpg" 2303 data-position="1" 2304 class="product-single__thumbnail" 2305 > 2306 <img 2307 class="lazyload w-100" 2308 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2309 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2310 width="" 2311 height="" 2312 > 2313 </a> 2314 </li> 2315 2316 2317 2318 2319 <li class="swiper-slide" data-type="image"> 2320 <a 2321 href="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2322 data-standard="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2323 data-image="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2324 data-position="2" 2325 class="product-single__thumbnail" 2326 > 2327 <img 2328 class="lazyload w-100" 2329 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2330 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2331 width="" 2332 height="" 2333 > 2334 </a> 2335 </li> 2336 2337 2338 2339 2340 <li class="swiper-slide" data-type="image"> 2341 <a 2342 href="files/Blossom-Shine_3-WM.jpg" 2343 data-standard="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2344 data-image="files/Blossom-Shine_3-WM.jpg" 2345 data-position="3" 2346 class="product-single__thumbnail" 2347 > 2348 <img 2349 class="lazyload w-100" 2350 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2351 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2352 width="" 2353 height="" 2354 > 2355 </a> 2356 </li> 2357 2358 2359 2360 2361 <li class="swiper-slide" data-type="image"> 2362 <a 2363 href="files/Blossom-Shine_4.jpg" 2364 data-standard="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2365 data-image="files/Blossom-Shine_4.jpg" 2366 data-position="4" 2367 class="product-single__thumbnail" 2368 > 2369 <img 2370 class="lazyload w-100" 2371 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2372 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2373 width="" 2374 height="" 2375 > 2376 </a> 2377 </li> 2378 2379 2380 2381 </ul> 2382 </div> 2383 2384 </div> 2385 2386 <div 2387 id="featured-image-product" 2388 class="col-lg-10 col-12 d-none d-lg-block" 2389 > 2390 <div class="swiper-container gallery-top"> 2391 <div class="swiper-slide product-single__image"> 2392 2393 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2394 2395 2396 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2397 <a href="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg"> 2398 <img 2399 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2400 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2401 id="ProductPhotoImg" 2402 class="lazyload" 2403 > 2404 2405 </a> 2406 </div> 2407 </div> 2408 2409 </div> 2410 <div class="swiper-slide product-single__video" style="display: none"> 2411 <video 2412 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2413 playsinline 2414 loop 2415 muted 2416 ></video> 2417 </div> 2418 </div> 2419 </div> 2420 </div> 2421 2422 <div id="featured-image-product2" class="col-12 d-lg-none"> 2423 <div class="swiper-container gallery-mobile"> 2424 <ul class="swiper-wrapper"> 2425 <li class="swiper-slide img"> 2426 2427 <img 2428 class="swiper-lazy" 2429 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2430 data-src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2431 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2432 width="" 2433 height="" 2434 > 2435 2436 </li> 2437 2438 2439 <li class="swiper-slide img"> 2440 2441 <img 2442 class="swiper-lazy" 2443 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2444 data-src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2445 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2446 width="" 2447 height="" 2448 > 2449 2450 </li> 2451 2452 2453 <li class="swiper-slide img"> 2454 2455 <img 2456 class="swiper-lazy" 2457 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2458 data-src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2459 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2460 width="" 2461 height="" 2462 > 2463 2464 </li> 2465 2466 2467 <li class="swiper-slide img"> 2468 2469 <img 2470 class="swiper-lazy" 2471 src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2472 data-src="https://imgstore.io/images/2026/02/17/OLXTOTO-Situs-Toto-Tempat-Andalan-4D-dengan-Promo-Menarik.jpeg" 2473 alt="OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik" 2474 width="" 2475 height="" 2476 > 2477 2478 </li> 2479 2480 2481 </ul> 2482 2483 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div> 2484 <div class="swiper-button-next">
2484<svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2485 <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"/> 2486 </svg></div> 2487 2488 <!-- Add Pagination --> 2489 <div class="swiper-pagination"></div> 2490 2491 </div> 2492 </div> 2493 2494 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2495 <!-- product video --> 2496 <style> 2497 .c-pdp-product-info { 2498 background-color: #000000 !important; 2499 padding: 12px; 2500 margin: 0; 2501 color: white; 2502 } 2503 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2504 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2505 .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;} 2506 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2507 .close-video .icon{width:30px;height:30px;} 2508 /*responsive iframe */ 2509 .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);} 2510 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2511 2512 .youtube { 2513 background-color: #000; 2514 margin-bottom: 30px; 2515 position: relative; 2516 padding-top: 56.25%; 2517 overflow: hidden; 2518 cursor: pointer; 2519 width: 100%; 2520 } 2521 .swiper-slide .youtube { 2522 max-width: 480px; 2523 } 2524 .youtube img { 2525 width: 100%; 2526 top: -16.82%; 2527 left: 0; 2528 opacity: 0.7; 2529 } 2530 .youtube .play-button { 2531 width: 90px; 2532 height: 60px; 2533 background-color: #333; 2534 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2535 z-index: 1; 2536 opacity: 0.8; 2537 border-radius: 6px; 2538 } 2539 .youtube .play-button:before { 2540 content: ""; 2541 border-style: solid; 2542 border-width: 15px 0 15px 26.0px; 2543 border-color: transparent transparent transparent #fff; 2544 } 2545 .youtube img, 2546 .youtube .play-button { 2547 cursor: pointer; 2548 } 2549 .youtube img, 2550 .youtube iframe, 2551 .youtube .play-button, 2552 .youtube .play-button:before { 2553 position: absolute; 2554 } 2555 .youtube .play-button, 2556 .youtube .play-button:before { 2557 top: 50%; 2558 left: 50%; 2559 transform: translate3d( -50%, -50%, 0 ); 2560 } 2561 .youtube iframe { 2562 height: 100%; 2563 width: 100%; 2564 top: 0; 2565 left: 0; 2566 } 2567 </style> 2568 2569 2570 </div> 2571 </div> 2572 2573 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2574 2575 </div> 2576 2577
2577<script> 2578 if ($(window).width() < 991) { 2579 var direction = 'horizontal' 2580 } else { 2581 var direction = 'vertical' 2582 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2583 } 2584 var swiper = new Swiper('.gallery-thumbs', { 2585 2586 direction, 2587 slidesPerView: 4.5, 2588 spaceBetween: 12, 2589 navigation: { 2590 nextEl: '.swiper-button-next', 2591 prevEl: '.swiper-button-prev', 2592 } 2593 }); 2594 2595 var swiper = new Swiper('.gallery-mobile', { 2596 //loop: true, 2597 lazy: true, 2598 speed: 300, 2599 resistance : true, 2600 resistanceRatio : 0, 2601 freeModeMomentumRatio : 0.45, 2602 freeModeMomentumVelocityRatio : 1.5, 2603 navigation: { 2604 nextEl: '.swiper-button-next', 2605 prevEl: '.swiper-button-prev', 2606 }, 2607 pagination: { 2608 el: '.swiper-pagination' 2609 }, 2610 useCSS3Transforms: false, 2611 loop: false, 2612 on: { 2613 init: function () { 2614 console.log('swiper initialized'); 2615 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2616 currentVideo.trigger('play'); 2617 }, 2618 }, 2619 }); 2620 2621 /* GET ALL VIDEOS */ 2622 var sliderVideos = $(".swiper-slide video"); 2623 2624 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2625 swiper.on('slideChange', function () { 2626 console.log('slide changed'); 2627 /* stop all videos */ 2628 sliderVideos.each(function( index ) { 2629 this.currentTime = 0; 2630 }); 2631 2632 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2633 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2634 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2635 prevVideo.trigger('stop'); 2636 currentVideo.trigger('play'); 2637 }); 2638 2639 2640 $("[data-video]").click(function(){ 2641 const file = $(this).data("video") 2642 $(".product-single__video").show() 2643 $(".product-single__image").hide() 2644 $(".product-single__video").find("video").attr("src", file) 2645 $(".product-single__video").find("video")[0].play(); 2646 }) 2647 $("[data-image]").click(function(){ 2648 $(".product-single__video").hide() 2649 $(".product-single__image").show() 2650 $(".product-single__video").find("video")[0].pause(); 2651 }) 2652 2653 $("#product-image .swiper-slide").each(function(){ 2654 let width = $(this).width() 2655 $(this).height(width) 2656 }) 2657 2658 $(window).resize(function() { 2659 $("#product-image .swiper-slide").each(function(){ 2660 let width = $(this).width() 2661 $(this).height(width) 2662 }) 2663 }) 2664 </script>
2664 2665 2666 </div> 2667<br> 2668 2669 2670 <div class="grid__item_product-info mb-3"> 2671 <div class="c-pdp-product-info"> 2672 <h2 style="color: #eeff00;">Situs Toto Tempat Andalan 4D dengan Promo Menarik</h2> 2673 <p style="text-align: justify; color: #ffffff;"><a href="https://www.summitpointegc.com/golf-tee-times" style="color: #FFFF00;">OLXTOTO</a> merupakan tempat andalan Toto 4D bagi pemain yang ingin menikmati permainan dengan promo menarik dan peluang keuntungan lebih. Platform ini dirancang untuk memberikan pengalaman yang nyaman serta penawaran yang bisa dimanfaatkan oleh pemain cerdas.</p> 2674 2675 <p style="text-align: justify; color: #ffffff;">Setiap promo yang tersedia dibuat untuk menambah nilai bermain, sehingga pemain dapat merasakan keuntungan tambahan dan suasana yang lebih menyenangkan. Cocok bagi siapa saja yang mencari situs Toto 4D dengan penawaran yang konsisten dan menguntungkan.</p> 2676 2677 <div style="text-align: center;"><img src="https://imgstore.io/images/2026/01/17/olxtoto-banner.gif" alt="OLXTOTO" style="width: 100%;"></div></a> 2678 2679 2680 2681 2682 </ul> 2683 </div> 2684 </div> 2685 <style> 2686 .c-pdp-product-info__service--active { 2687 font-size: 12px; 2688 padding-left: 10px; 2689 text-align: left; 2690 max-width: 550px; 2691 margin: auto; 2692 } 2693 .c-pdp-product-info__service--active li { 2694 list-style: disc; 2695 } 2696 .c-pdp-product-info { 2697 background-color: #f5f5f5; 2698 padding: 12px; 2699 margin: 0; 2700 } 2701 .freeship em { 2702 font-style: italic; 2703 font-size: 12px !important; 2704 } 2705 2706 2707 </style> 2708 2709
2709<script> 2710 $(document).ready(function(){ 2711 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2712 $(".c-pdp-product-info__service").addClass("no-bullet"); 2713 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2714 } 2715 }); 2716 </script>
2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 </div> 2730 <div id="product-meta" class="col-lg-5 p-0"> 2731 <div class="product-meta"> 2732 <style> 2733 .product-meta--review {margin-top:10px} 2734 .freeship * {font-size: 14px !important;font-style: normal;} 2735 </style> 2736 <h1 itemprop="name" class="mb-2" style="color: white; font-weight: bold;">OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik</h1> 2737 2738 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2739 <meta itemprop="priceCurrency" content="IDR"> 2740 2741 <link itemprop="availability" href="https://schema.org/InStock"> 2742
2742<script 2743 type="text/javascript" 2744 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2745 async="async" 2746 ></script>
2746 2747 2748 2749 2750 2751 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2752 2753 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2754 2755 <div class="row no-gutters mb-3"> 2756 <span 2757 id="ProductPrice" 2758 class="h2 ProductPrice" 2759 itemprop="price" 2760 content="835000" style="color: #ffffff;" 2761 > 2762 Rp 5.000 2763 </span> 2764 <div class="discount-product-detail"> 2765 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2766 Rp 100.000 2767 </p> 2768 <span class=" tag-discount"> 2769 2770 2771 <span id="newDiscount" class="product-tag persentase-discount hide"> 2772 (90%) 2773 </span><br> 2774 2775 </span> 2776 </div> 2777 </div> 2778 2779 <div class="row no-gutters meta-sds"> 2780 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2781 2782 2783 <span 2784 id="ProductStock-Product" 2785 class="product-single__stock mb-2 hide" 2786 > 2787 2788 2789 2790 2791 Barang dikirim pada 2792 2793 2794 2795 </span> 2796 2797 <style> 2798 .short-desc-desktop { 2799 margin-bottom: 2rem; 2800 color: white; 2801 } 2802 .short-desc ul li:nth-child(n + 4) { 2803 display: none; 2804 } 2805 .short-desc ul li.showList:nth-child(n + 4) { 2806 display: list-item; 2807 } 2808 label.more { 2809 display: none; 2810 } 2811 label.more.showMe { 2812 display: block; 2813 font-size: 12px; 2814 text-transform: uppercase; 2815 font-weight: 700; 2816 cursor: pointer; 2817 } 2818 </style> 2819 2820 <div class="short-desc-desktop d-none d-lg-block"> 2821 <div class="short-desc"> 2822 2823 <p>OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!</p> 2824 </div> 2825 <label class="more">Show More â</label>
2826 </div><br> 2827 2828 2829
2829<script> 2830 var liCount; 2831 $(document).ready(function () { 2832 $(".short-desc ul").each(function() { 2833 liCount = $(this).children("li").length; 2834 if (liCount > 3) { 2835 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2836 } 2837 }); 2838 2839 $(".more").click(function () { 2840 //$(".short-desc").find("li").addClass("showList"); 2841 // $(this).hide(); 2842 $("#product-desc").find("ul").show() 2843 $('html, body').animate({ 2844 scrollTop: $("#product-desc").offset().top - 250 2845 }, 2000); 2846 $("#product-desc").css("height","auto"); 2847 $("#more_content").remove(); 2848 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2849 }); 2850 }); 2851 </script>
2851 2852 2853 2854 </div> 2855 </div> 2856 2857 <div id="purchaseProduct"> 2858 2859 2860 2861 2862 <style> 2863 .variant-metafield { 2864 display: block!important; 2865 width: 1px; 2866 padding: 0; 2867 border-color: #fff; 2868 } 2869 .select2-results__option[aria-disabled] { 2870 display: none; 2871 } 2872 2873 .towel-bordir { 2874 width: 100%; 2875 display: flex; 2876 align-items: center; 2877 justify-content: space-around; 2878 } 2879 </style> 2880 2881 2882 2883 2884
2884<script> 2885 2886 2887 </script>
2887 2888 2889 2890 2891 2892 2893 2894 <select 2895 name="id[]" 2896 id="productSelect" 2897 class="product-single__variants ignore hide hide" 2898 > 2899 2900 2901 2902 <option 2903 2904 selected="selected" 2905 2906 data-sku="OBVSTF1086" 2907 value="44083045826775" 2908 > 2909 Default Title 2910 </option> 2911 2912 2913 2914 </select> 2915 2916
2916<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2916 2917 2918
2918<script> 2919 $('.size-chart-open-popup').magnificPopup({ 2920 type:'inline', 2921 midClick: true 2922 }); 2923 </script>
2923 2924 2925 2926 2927 2928 <div class="upload-image-preview"> 2929 2930 2931 2932 2933 2934 <style> 2935 .file-dnd * { 2936 margin: 0; 2937 padding: 0; 2938 box-sizing: border-box; 2939 } 2940 .file-dnd { 2941 width: 100%; 2942 height: 250px; 2943 border: 1px solid #ddd; 2944 border-radius: 10px; 2945 padding: 15px; 2946 display: flex; 2947 flex-direction: column; 2948 gap: 10px; 2949 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2950 margin: auto; 2951 } 2952 .file-dnd input { 2953 display: none; 2954 } 2955 .file-dnd .before-upload { 2956 border: 1px dashed #888; 2957 flex: 1; 2958 border-radius: 5px; 2959 display: flex; 2960 justify-content: center; 2961 align-items: center; 2962 text-align: center; 2963 cursor: pointer; 2964 } 2965 .file-dnd .before-upload > div { 2966 display: flex; 2967 flex-direction: column; 2968 align-items: center; 2969 gap: 8px; 2970 } 2971 .file-dnd .before-upload > div h4 { 2972 width: 150px; 2973 } 2974 .file-dnd .before-upload > div p { 2975 font-size: 12px !important; 2976 color: #555; 2977 } 2978 .file-dnd.active .before-upload { 2979 border: 1px solid #5750d9; 2980 background-color: #f5f5ff; 2981 } 2982 .file-dnd .after-upload { 2983 position: relative; 2984 display: none; 2985 } 2986 .file-dnd .after-upload img { 2987 width: 100%; 2988 border-radius: 5px; 2989 max-height: 180px; 2990 object-fit: contain; 2991 display: block; 2992 } 2993 .file-dnd .after-upload .clear-btn { 2994 position: absolute; 2995 top: 10px; 2996 right: 10px; 2997 background: rgba(0, 0, 0, 0.5); 2998 width: 15px; 2999 height: 15px; 3000 text-align: center; 3001 line-height: 15px; 3002 border-radius: 50%; 3003 color: #fff; 3004 cursor: pointer; 3005 font-size: 14px; 3006 } 3007 </style> 3008 3009 <div 3010 class="file-dnd mb-3" 3011 3012 style="display: none" 3013 3014 > 3015 <label for="upload-photo">Upload your Photo:</label> 3016 <input type="file" id="upload-photo" accept="image/*"> 3017 <input type="hidden" data-properties="Photo"> 3018 <div class="before-upload"> 3019 <div> 3020 <svg id="surface1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 3021 <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> 3022 <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> 3023 <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> 3024 </svg> 3025 3026 <h4>Drag & Drop Photo file or Browse</h4> 3027 <p>Supports: JPEG, PNG, GIF, TIFF</p> 3028 </div> 3029 </div> 3030 <div class="after-upload"> 3031 <div class="clear-btn">×</div> 3032 <img src="" width="" height=""> 3033 </div> 3034 </div> 3035
3035<script> 3036 function applyDndFile(el) { 3037 const parent = document.querySelector(".file-dnd") 3038 const beforeUploadEl = el.querySelector(".before-upload") 3039 const afterUploadEl = el.querySelector(".after-upload") 3040 const inputFile = el.querySelector("input[type=file]") 3041 const imagePreview = el.querySelector(".after-upload img") 3042 const clearBtn = el.querySelector(".after-upload .clear-btn") 3043 const inputProps = parent.querySelector("[data-properties]"); 3044 3045 async function upload(name, uri, type) { 3046 try { 3047 const filename = name.split('.')[0] 3048 let formData = new FormData(); 3049 formData.append("file", uri); 3050 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3051 method: "POST", 3052 body: formData 3053 }) 3054 if(response) { 3055 const res = await response.json() 3056 return res 3057 } 3058 } catch(err){ 3059 console.log(err) 3060 } 3061 } 3062 3063 function showImagePreview(img) { 3064 if(img){ 3065 const blobUrl = URL.createObjectURL(img) 3066 imagePreview.src = blobUrl 3067 afterUploadEl.style.display = "block" 3068 beforeUploadEl.style.display = "none" 3069 } 3070 } 3071 3072 beforeUploadEl.addEventListener("click", (e) => { 3073 e.preventDefault() 3074 inputFile.click() 3075 }) 3076 3077 inputFile.addEventListener("change", async (e) => { 3078 e.preventDefault() 3079 showImagePreview(e.target.files[0]) 3080 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3081 inputProps.value = uploadData?.url 3082 }) 3083 3084 clearBtn.addEventListener("click", (e) => { 3085 afterUploadEl.style.display = "none" 3086 beforeUploadEl.style.display = "flex" 3087 inputProps.value = "" 3088 }) 3089 3090 beforeUploadEl.addEventListener("dragover", (e) => { 3091 e.preventDefault() 3092 el.classList.add("active") 3093 }) 3094 3095 beforeUploadEl.addEventListener("dragleave", (e) => { 3096 e.preventDefault() 3097 el.classList.remove("active") 3098 }) 3099 3100 beforeUploadEl.addEventListener("drop", async (e) => { 3101 e.preventDefault() 3102 el.classList.remove("active") 3103 showImagePreview(e.dataTransfer.files[0]) 3104 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3105 console.log(uploadData) 3106 inputProps.value = uploadData?.url 3107 }) 3108 } 3109 3110 applyDndFile(document.querySelector(".file-dnd")) 3111 3112 $(document).ready(function(){ 3113 $(".variant-swatch").change(function(){ 3114 const v = $(this).val().toLowerCase() 3115 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3116 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3117 $(".file-dnd").hide() 3118 $(".file-dnd").find("[data-properties]").val("") 3119 $(".after-upload").hide() 3120 $(".before-upload").css("display", "flex") 3121 }) 3122 }) 3123 </script>
3123 3124 3125 </div> 3126 3127 3128 <div class="delivery-city mb-4"> 3129 <a href="https://amp.over-power.info/summitpointegc.html"> 3130 <center><img src="https://imgstore.io/images/2026/02/05/300x100-DAFTAR.gif" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 3131 <h4 class="fw-600 text-uppercase mb-15" style="color: #c5c5c5; font-weight: bold;">Jadilah bagian dari OLXTOTO sekarang ya Bosku</h4> 3132 <div class="row justify-content-between m-0"> 3133 <select id="cities" class="form-control select-search" required> 3134 <option value="">Bergabunglah sekarang juga dan nikmati berbagai keunggulan yang tersedia di OLXTOTO! Dapatkan berbagai tips panduan yang dapat meningkatkan peluang menang Anda setiap saat.</option> 3135 </select> 3136 </div> 3137 </div> 3138 3139 <style> 3140 @media (max-width: 768px) { 3141 .select2-search__field { 3142 pointer-events: none !important; 3143 } 3144 3145 .select2-search { 3146 display: none !important; 3147 } 3148 } 3149 </style> 3150 3151
3151<script> 3152 $(document).ready(function() { 3153 // Check if mobile 3154 if (window.innerWidth <= 768) { 3155 // When cities select2 opens on mobile, remove focus from search 3156 $('#cities').on('select2:open', function() { 3157 setTimeout(function() { 3158 $('.select2-search__field').blur(); 3159 $('.select2-search__field').prop('readonly', true); 3160 }, 100); 3161 }); 3162 } 3163 }); 3164 </script>
3164 3165 3166 <style> 3167 .icon-img-footer { 3168 width: 80px; 3169 padding: 0px 5px; 3170 } 3171 @media (min-width: 768px) { 3172 .icon-img-footer { 3173 width: 120px; 3174 } 3175 } 3176 @media (min-width: 992px) { 3177 .icon-img-footer { 3178 width: 120px; 3179 } 3180 } 3181 3182 3183 </style> 3184<style> 3185 :root { 3186 --brand: #00fffb; 3187 --brand-mid: #009297; 3188 --brand-dark: #006962; 3189 --border: #e5e7eb; 3190 --bg: #fff; 3191 --shadow: 0 6px 15px rgba(0, 0, 0, .08); 3192 } 3193 3194 .app-card { 3195 max-width: 650px; 3196 margin: 25px auto; 3197 background: var(--bg); 3198 border-radius: 14px; 3199 overflow: hidden; 3200 box-shadow: var(--shadow); 3201 border: 1px solid var(--border); 3202 transition: transform .2s, box-shadow .3s; 3203 font-family: system-ui, Arial, sans-serif; 3204 font-size: .92rem; 3205 } 3206 3207 .app-card:hover { 3208 transform: translateY(-2px); 3209 box-shadow: 0 10px 25px rgba(0, 0, 0, .12); 3210 } 3211 3212 .app-header { 3213 padding: 12px 16px; 3214 text-align: center; 3215 background: linear-gradient(135deg, #000000, #5d5d5d, #000000); 3216 color: #fff; 3217 font-weight: 800; 3218 font-size: 1.15rem; 3219 text-shadow: 0 1px 2px rgba(0, 0, 0, .3); 3220 } 3221 3222 .app-table { 3223 width: 100%; 3224 border-collapse: collapse; 3225 } 3226 3227 .app-table th, 3228 .app-table td { 3229 padding: 8px 12px; 3230 vertical-align: middle; 3231 } 3232 3233 .app-table th { 3234 width: 35%; 3235 background: #e7e7e7; 3236 color: #585858; 3237 font-weight: 700; 3238 letter-spacing: .2px; 3239 text-transform: uppercase; 3240 font-size: .85rem; 3241 } 3242 3243 .app-table td { 3244 border-bottom: 1px solid var(--border); 3245 color: #1f1f1f; 3246 font-size: .9rem; 3247 text-align: center; 3248 } 3249 3250 @media (max-width: 640px) { 3251 .app-table, 3252 .app-table tbody, 3253 .app-table tr, 3254 .app-table th, 3255 .app-table td { 3256 display: block; 3257 width: 100%; 3258 } 3259 } 3260 3261 .review-section { 3262 max-width: 850px; 3263 margin: 30px auto; 3264 display: flex; 3265 flex-direction: column; 3266 gap: 18px; 3267 font-family: system-ui, Arial, sans-serif; 3268 } 3269 3270 .review-card { 3271 background: #000000; 3272 padding: 16px 20px; 3273 border-radius: 10px; 3274 border-left: 5px solid #4f4e4e; 3275 box-shadow: 0 3px 6px rgba(0, 0, 0, .05); 3276 transition: all .25s ease-in-out; 3277 } 3278 3279 .review-card:hover { 3280 transform: translateY(-3px); 3281 box-shadow: 0 5px 10px rgba(0, 0, 0, .08); 3282 } 3283 3284 .review-author { 3285 font-weight: 700; 3286 color: #FFFF00; 3287 margin-bottom: 4px; 3288 display: flex; 3289 align-items: center; 3290 gap: 6px; 3291 font-size: .92rem; 3292 } 3293 3294 .review-author::before { 3295 content: "ð¤"; 3296 font-size: 1rem; 3297 } 3298 3299 .review-card p { 3300 margin: 0; 3301 color: #d3d3d3; 3302 font-size: .94rem; 3303 } 3304 3305 .review-rating { 3306 margin-left: auto; 3307 font-weight: 700; 3308 } 3309 3310 .stars { 3311 --rating: 5; 3312 --star-size: 1rem; 3313 --star-gap: 2px; 3314 --star-empty: #e5e7eb; 3315 --star-fill: #f4c430; 3316 position: relative; 3317 display: inline-block; 3318 font-size: var(--star-size); 3319 line-height: 1; 3320 letter-spacing: var(--star-gap); 3321 } 3322 3323 .stars::before { 3324 content: "â â â â â "; 3325 color: var(--star-empty); 3326 } 3327 3328 .stars::after { 3329 content: "â â â â â "; 3330 color: var(--star-fill); 3331 position: absolute; 3332 left: 0; 3333 top: 0; 3334 width: calc((var(--rating) / 5) * 100%); 3335 overflow: hidden; 3336 white-space: nowrap; 3337 pointer-events: none; 3338 } 3339 3340 .stars.lg { 3341 --star-size: 1.1rem; 3342 letter-spacing: 3px; 3343 } 3344 3345 .badge { 3346 display: inline-flex; 3347 align-items: center; 3348 gap: 8px; 3349 flex-wrap: wrap; 3350 } 3351 3352 .badge small { 3353 color: #555; 3354 font-weight: 600; 3355 } 3356</style> 3357<div class="review-section"> 3358 <div class="review-card"> 3359 <div class="review-author"> 3360 Arief â Jakarta
3361 <span class="review-rating stars" style="--rating: 5" aria-label="Rating 5.0 dari 5"></span> 3362 </div> 3363 <p> 3364 OLXTOTO memang tempat andalan untuk main Toto 4D. Promonya selalu menarik dan mudah diakses, membuat setiap taruhan terasa lebih menguntungkan. 3365 </p> 3366 </div> 3367 3368 <div class="review-card"> 3369 <div class="review-author"> 3370 Maya â Bandung 3371 <span class="review-rating stars" style="--rating: 4.9" aria-label="Rating 4.9 dari 5"></span> 3372 </div> 3373 <p> 3374 Main di OLXTOTO nyaman banget. Semua pasaran Toto 4D lengkap, sistem deposit dan penarikan cepat, serta promo eksklusifnya bikin seru terus. 3375 </p> 3376 </div> 3377 3378 <div class="review-card"> 3379 <div class="review-author"> 3380 Rian â Surabaya 3381 <span class="review-rating stars" style="--rating: 4.8" aria-label="Rating 4.8 dari 5"></span> 3382 </div> 3383 <p> 3384 Situs ini stabil dan aman, pengalaman main 4D lebih lancar. Promo menariknya selalu update, jadi kesempatan menang jadi lebih tinggi dan seru. 3385 </p> 3386 </div> 3387 3388 <div class="review-card"> 3389 <div class="review-author"> 3390 Nisa â Semarang 3391 <span class="review-rating stars" style="--rating: 5" aria-label="Rating 5.0 dari 5"></span> 3392 </div> 3393 <p> 3394 OLXTOTO pilihan tepat untuk pemain yang ingin nyaman main Toto 4D. Semua aktivitas mudah dilakukan dan promo selalu memberikan nilai tambah. 3395 </p> 3396 </div> 3397 3398 <div class="review-card"> 3399 <div class="review-author"> 3400 Dedi â Medan 3401 <span class="review-rating stars" style="--rating: 4.9" aria-label="Rating 4.9 dari 5"></span> 3402 </div> 3403 <p> 3404 Tempat andalan 2026 untuk main Toto 4D. Promonya konsisten, platform sigap, dan semua aktivitas berjalan lancar. Cocok untuk pemain baru maupun berpengalaman. 3405 </p> 3406 </div> 3407</div> 3408 3409 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3410 <div class="purchaseArea"> 3411 <div class="sectionPurchase sectionPurchaseSpotify"> 3412 <div class="wrapperPurchase"> 3413 <div class="headerPurchase"> 3414 <h3>personalize spotify photo print</h3> 3415 <a class="close-purchase-popup"> 3416 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3417 <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> 3418 </svg> 3419 </a> 3420 </div> 3421 <div class="contentPurchase"> 3422 <div class="spotifyAddons"></div> 3423 </div> 3424 3425 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3426 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3427 <button class="back-purchase-button back-addon text-uppercase"> 3428 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 3429 <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> 3430 </svg> 3431 <span>Back</span> 3432 </button> 3433 </div> 3434 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3435 <button class="btn next-purchase-button next-addon text-uppercase"> 3436 <span>continue without add-ons</span> 3437 </button> 3438 </div> 3439 </div> 3440 </div> 3441 </div> 3442 </div> 3443 </div> 3444 3445 <style> 3446 #PBarNextFrameWrapper { 3447 display: none; 3448 } 3449 #backgroundPopup { 3450 display: none; 3451 position: fixed; 3452 _position: absolute; 3453 height: 100%; 3454 width: 100%; 3455 top: 0; 3456 left: 0; 3457 background: rgb(117 117 117 / 24%); 3458 z-index: 1; 3459 } 3460 .sectionPurchase { 3461 height: 100%; 3462 position: relative; 3463 max-width: 1344px; 3464 background-color: #fff; 3465 padding: 0; 3466 overflow: hidden; /* Changed from auto to hidden */ 3467 display: flex; 3468 flex-direction: column; 3469 } 3470 .sectionPurchase.purchaseAddonSpotify { 3471 max-width: 1070px!important; 3472 max-height: 765px!important; 3473 } 3474 .sectionPurchaseBoard { 3475 max-width: 872px!important; 3476 max-height: 821px!important; 3477 } 3478 .purchaseAddonSpotify .btn-action { 3479 position: absolute; 3480 bottom: 0; 3481 left: 0; 3482 width: 100%; 3483 display: flex; 3484 gap: 10px; 3485 } 3486 .wrapperPurchase { 3487 position: relative; 3488 height: 100%; 3489 display: flex; 3490 flex-direction: column; 3491 } 3492 3493 /* New styles for scrollable content and sticky button */ 3494 .purchase-content { 3495 flex: 1; 3496 overflow-y: auto; 3497 overflow-x: hidden; 3498 padding: 20px; 3499 } 3500 3501 .purchase-button-wrapper { 3502 position: sticky; 3503 bottom: 0; 3504 background-color: #fff; 3505 border-top: 1px solid #e0e0e0; 3506 padding: 15px 0; 3507 margin-top: auto; 3508 z-index: 10; 3509 } 3510 3511 .purchasePopup { 3512 display: none; 3513 position: fixed; 3514 background: rgb(117 117 117 / 24%); 3515 z-index: 999; 3516 padding: 40px; 3517 font-size: 13px; 3518 top: 0; 3519 left: 0; 3520 width: 100%; 3521 height: 100%; 3522 } 3523 .popupPurchaseClose{ 3524 font-size:14px; 3525 line-height:14px; 3526 right:45px; 3527 top:45px; 3528 position:absolute; 3529 color:#6fa5fd; 3530 font-weight:700; 3531 display:block; 3532 cursor: pointer; 3533 } 3534 3535 .headerPurchase { 3536 margin-bottom: 30px; 3537 display: flex; 3538 justify-content: space-between; 3539 } 3540 3541 .headerPurchase h3 { 3542 font-size: 16px; 3543 text-transform: uppercase; 3544 } 3545 3546 .sectionPurchaseBoard .headerPurchase { 3547 margin-bottom: 15px; 3548 } 3549 3550 .sectionPurchaseBoard .formAddressPurchase { 3551 padding-top: 0; 3552 } 3553 3554 .purchaseArea { 3555 position: relative; 3556 height: 100%; 3557 } 3558 3559 .purchaseArea h4 { 3560 width: 100%; 3561 font-size: 12px; 3562 font-weight: 600; 3563 margin-bottom: 10px; 3564 text-transform: uppercase; 3565 } 3566 3567 .menuPurchase { 3568 margin-bottom: 30px; 3569 } 3570 3571 .menuPurchase ul { 3572 list-style-type: none; 3573 margin: 0; 3574 } 3575 3576 .menuPurchase ul li { 3577 display: inline-block; 3578 border: 1px solid #ffffff; 3579 padding: 5px 20px; 3580 margin-right: 5px; 3581 margin-bottom: 10px; 3582 font-size: 12px; 3583 font-weight: 400; 3584 } 3585 3586 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3587 background-color: #ffffff; 3588 color: #ffffff; 3589 } 3590 3591 .contentPurchase h5 { 3592 font-size: 12px; 3593 margin-bottom: 10px; 3594 font-weight: 400; 3595 overflow: hidden; 3596 } 3597 3598 /* Card */ 3599 3600 #itemCards { 3601 max-height: 430px; 3602 overflow: auto; 3603 } 3604 3605 .item-cards { 3606 width: 100%; 3607 } 3608 .item-card.selected { 3609 border: 1px solid #ffffff; 3610 } 3611 .item-card:hover { 3612 border: 1px solid #C4C4C4; 3613 } 3614 .item-cards .item-card { 3615 position: relative; 3616 width: calc(33% - 10px); 3617 max-width: calc(33% - 10px); 3618 flex: 0 0 calc(33% - 10px); 3619 margin-bottom: 20px; 3620 } 3621 .item-cards .item-card label, 3622 .item-addons .item-addon label { 3623 position: absolute; 3624 left: 0; 3625 width: 100%; 3626 height: 100%; 3627 } 3628 .item-cards .item-card .card-image img, 3629 .item-addons .item-addon .card-image img { 3630 display: block; 3631 width: 100%; 3632 } 3633 .item-card .card-meta, 3634 .item-addon .card-meta { 3635 padding: 10px 5px 5px; 3636 } 3637 .item-card.selected .card-meta, 3638 .item-addon.selected .card-meta, 3639 .item-card.selected .card-qty { 3640 background-color: #ffffff; 3641 color: #fff; 3642 visibility: visible!important; 3643 } 3644 .item-card:hover .card-meta, 3645 .item-addon:hover .card-meta, 3646 .item-card:hover .card-qty { 3647 background-color: #C4C4C4; 3648 color: #fff; 3649 visibility: visible!important; 3650 } 3651 .item-cards .item-card p, 3652 .item-addons .item-addon p { 3653 font-size: 12px !important; 3654 margin: 0; 3655 font-weight: 600; 3656 } 3657 .item-card .card-meta input, 3658 .item-addon .card-meta input { 3659 display: none; 3660 } 3661 .item-cards .item-card h5, 3662 .item-addons .item-addon h5 { 3663 text-transform: uppercase; 3664 max-height: 35px; 3665 } 3666 3667 @media (max-width: 768px) { 3668 .item-cards .item-card {
3669 width: calc(50% - 10px); 3670 max-width: calc(50% - 10px); 3671 flex: 0 0 calc(50% - 10px); 3672 margin-bottom: 0; 3673 } 3674 } 3675 3676 .card-qty { 3677 display: flex; 3678 padding: 5px; 3679 visibility: hidden; 3680 background-color: #fff !important; 3681 z-index: 999; 3682 } 3683 .card-qty a { 3684 border-width: 1px; 3685 width: 30%; 3686 cursor: pointer; 3687 text-align: center; 3688 align-self: center; 3689 height: 28px; 3690 display: block; 3691 position: relative; 3692 } 3693 .card-qty a svg { 3694 position: absolute; 3695 top: 50%; 3696 left: 50%; 3697 transform: translate(-50%, -50%); 3698 text-align: center; 3699 } 3700 input.btn-qty { 3701 border-width: 0px; 3702 border-radius: 0; 3703 background-color: #fff; 3704 -webkit-appearance: none; 3705 box-shadow: none !important; 3706 -webkit-box-shadow: none !important; 3707 -moz-box-shadow: none!important; 3708 width: 40%; 3709 border-left: 1px solid #c4c4c4; 3710 border-right: 1px solid #c4c4c4; 3711 padding: 0; 3712 } 3713 3714 .sectionPurchaseBoard #itemAddons .item-card { 3715 width: calc(20% - 15px); 3716 max-width: calc(20% - 15px); 3717 flex: 0 0 calc(20% - 15px); 3718 } 3719 3720 .purchase-button { 3721 width: 100%; 3722 padding: 0; /* Reset padding as it's now handled by wrapper */ 3723 margin: 0; 3724 } 3725 3726 .sectionPurchaseBoard .purchase-button { 3727 margin-top: 0 !important; /* Reset margin */ 3728 } 3729 3730 .back-purchase-button, .back-spotify { 3731 width: 139px; 3732 border: 1px solid; 3733 height: 43px; 3734 } 3735 .purchase-button .btn { 3736 width: 297px; 3737 height: 43px; 3738 background-color: #ffffff; 3739 color: #ffffff; 3740 } 3741 .purchase-button .btn[disabled] { 3742 background-color: #EEEEEE; 3743 } 3744 .back-purchase-button svg, .back-spotify svg { 3745 align-self: center; 3746 vertical-align: middle; 3747 margin-right: 10px; 3748 } 3749 3750 #purchaseProduct .row .error { 3751 font-size: 12px !important; 3752 color: orange; 3753 margin-top: 5px; 3754 } 3755 3756 .reviewCardPurchase { 3757 max-width: 448px; 3758 float: right; 3759 } 3760 3761 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3762 .addon-item * {align-self: center;font-size: 12px;} 3763 .addon-itm-title {width: 360px;} 3764 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3765 3766 .propsAddonSpotify p { 3767 margin: 0; 3768 display: flex; 3769 font-size: 12px !important; 3770 margin-bottom: 5px; 3771 } 3772 .propsAddonSpotify p span:first-child { 3773 text-transform: uppercase; 3774 font-weight: 600; 3775 -ms-flex: 0 0 150px; 3776 flex: 0 0 150px; 3777 max-width: 150px; 3778 } 3779 3780 .addonsPurchase .addons { 3781 max-height: 250px; 3782 overflow: auto; 3783 } 3784 3785 .btn .loading:after { 3786 content: ""; 3787 display: inline-block; 3788 width: 20px; 3789 height: 20px; 3790 padding: 3px; 3791 aspect-ratio: 1; 3792 border-radius: 50%; 3793 background: #FFFFFF; 3794 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3795 -webkit-mask: var(--_m); 3796 mask: var(--_m); 3797 -webkit-mask-composite: source-out; 3798 mask-composite: subtract; 3799 animation: l3 1s infinite linear; 3800 margin: auto; 3801 vertical-align: middle; 3802 margin-left: 10px; 3803 } 3804 3805 #qrcode img, #qrcode canvas { 3806 width: 50px; 3807 position: absolute; 3808 top: 12px; 3809 left: 16px; 3810 } 3811 3812 .t-preview { 3813 position: absolute; 3814 top: 17px; 3815 left: 75px; 3816 } 3817 .t-preview p { 3818 margin: 0; 3819 font-size: 12px !important; 3820 } 3821 .t-preview .h3 { 3822 font-size: 16px !important; 3823 margin-bottom: 5px; 3824 font-weight: 600; 3825 } 3826 .scanCard { 3827 width: 100%; 3828 border: 1px solid; 3829 height: 76px; 3830 background-color: #fff; 3831 } 3832 .scanCard > div > img { 3833 position: absolute; 3834 right: 0; 3835 width: 55px; 3836 } 3837 3838 @keyframes l3 { 3839 100% { 3840 transform: rotate(1turn); 3841 } 3842 } 3843 3844 @media (min-width: 991px) { 3845 .sectionPurchase { 3846 height: 100%; 3847 position: relative; 3848 max-width: 1344px; 3849 background-color: #fff; 3850 top: 50%; 3851 left: 50%; 3852 transform: translate(-50%, -50%); 3853 } 3854 .headerPurchase h3 { 3855 font-size: 20px; 3856 } 3857 .purchaseArea h4 { 3858 font-size: 16px; 3859 } 3860 3861 .menuPurchase ul li { 3862 font-size: 16px; 3863 } 3864 3865 .contentPurchase { 3866 margin-bottom: 30px; 3867 } 3868 .contentPurchase h5 { 3869 font-size: 16px; 3870 } 3871 3872 .item-cards .item-card p, 3873 .item-addons .item-addon p { 3874 font-size: 16px !important; 3875 } 3876 3877 .cards { 3878 float: right; 3879 width: 400px; 3880 } 3881 3882 .item-cards .item-card { 3883 width: calc(25% - 30px); 3884 max-width: calc(25% - 30px); 3885 flex: 0 0 calc(25% - 30px); 3886 } 3887 3888 #itemAddons .item-card { 3889 position: relative; 3890 width: calc(16% - 40px); 3891 max-width: calc(16% - 40px); 3892 flex: 0 0 calc(16% - 40px); 3893 } 3894 3895 .purchase-button-wrapper { 3896 padding: 10px 20px; 3897 } 3898 } 3899 3900 @media (max-width: 1200px) { 3901 .item-cards .item-card { 3902 width: calc(33% - 30px); 3903 max-width: calc(33% - 30px); 3904 flex: 0 0 calc(33% - 30px); 3905 } 3906 } 3907 3908 @media (max-width: 992px) { 3909 .purchasePopup { 3910 padding: 0; 3911 } 3912 .item-cards .item-card h5, 3913 .item-addons .item-addon h5 { 3914 max-height: 30px; 3915 } 3916 3917 .back-purchase-button, .back-spotify, .next-purchase-button { 3918 width: 100%; 3919 } 3920 .addon-itm-title { 3921 width: 300px; 3922 } 3923 .addon-itm-line-price { 3924 margin-right: 10px; 3925 } 3926 .t-preview { 3927 top: 10px; 3928 } 3929 3930 .card-qty a { 3931 height: 15px; 3932 } 3933 3934 .purchase-button-wrapper { 3935 padding: 15px; 3936 } 3937 } 3938 3939 @media (max-width: 576px) { 3940 .purchase-button .btn { 3941 width: 100%!important; 3942 } 3943 .purchase-button > .col-12 { 3944 padding-left: 0; 3945 padding-right: 0; 3946 } 3947 } 3948 </style> 3949 3950 3951 <div class="purchasePopup"> 3952 <div class="purchaseArea"> 3953 3954 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3955 <div class="wrapperPurchase"> 3956 <div class="purchase-content"> 3957 <div class="headerPurchase"> 3958 <h3 class="text-uppercase"> 3959 3960 customize your flower board 3961 3962 </h3> 3963 <a class="close-purchase-popup">
3964 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3965 <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"/> 3966 </svg> 3967 </a> 3968 3969 </div> 3970 <div class="contentPurchase"> 3971 <div class="row"> 3972 3973 <div class="col-12"> 3974 3975 3976 <style> 3977 3978 3979 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3980 .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;} 3981 3982 .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;} 3983 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3984 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3985 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3986 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3987 .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;} 3988 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3989 #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;} 3990 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3991 .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;} 3992 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3993 3994 @media (min-width: 991px) { 3995 .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);} 3996 .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);} 3997 } 3998 </style> 3999 4000 <input type="hidden" data-properties="penerima" value="-"> 4001 <div class="customize-papan"> 4002 <div class="container"> 4003 <div class="field-papan group-field-1 form-group"> 4004 <div class="input-field"> 4005 <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. 4006 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 4007 <p class="limit">0/100</p> 4008 <div id="suggest-messages"> 4009 <a id="show_note_papan1" href="#"> 4010 <div class="suggest-message" id="note_btn_div1"> 4011 <span class="promo-code-link" id="note_btn_papan1">OLXTOTO</span> 4012 </div> 4013 </a> 4014 <a id="show_note_papan2" href="#"> 4015 <div class="suggest-message" id="note_btn_div2"> 4016 <span class="promo-code-link" id="note_btn_papan2">SITUS TOTO</span> 4017 </div> 4018 </a> 4019 <a id="show_note_papan3" href="#"> 4020 <div class="suggest-message" id="note_btn_div3"> 4021 <span class="promo-code-link" id="note_btn_papan3">SITUS TOTO TOGEL</span> 4022 </div> 4023 </a> 4024 </div> 4025 </div>
4026 </div> 4027 <div class="hide"> 4028 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 4029 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 4030 </div> 4031 <div class="hide"> 4032 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 4033 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 4034 </div> 4035 <div class="hide"> 4036 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 4037 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 4038 </div> 4039 <div class="field-papan group-field-2 form-group"> 4040 4041 <label for="logoPapan" onclick="" class="input-field field-logo"> 4042 4043 4044 4045 <div class="btn-upload-papan w-100"> 4046 <?xml version="1.0" encoding="UTF-8"?> 4047 <img src="" style="display:none"> 4048 <div class="svgLogoPapan"> 4049 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 4050 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 4051 </svg> 4052 <p>Upload Logo <span>*optional</span></p> 4053 </div> 4054 </div> 4055 4056 </label> 4057 4058 <input 4059 type="hidden" 4060 data-properties="papan-logo" 4061 value="" 4062 > 4063 <input 4064 type="file" 4065 id="logoPapan" 4066 accept="image/*" 4067 style="position: absolute;width: 1px;height: 1px;padding: 0" 4068 > 4069 4070 <div class="input-field"> 4071 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 4072 <p class="limit">0/35</p> 4073 </div> 4074 4075 </div> 4076 4077 </div> 4078 </div> 4079 </div> 4080 4081 </div> 4082 </div> 4083 4084 </div> 4085 <div class="purchase-button-wrapper"> 4086 <div class="purchase-button btn-card row m-0"> 4087 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4088 4089 </div> 4090 <div class="btn-next-card col-12 col-lg-10 text-right"> 4091 4092 4093 <button 4094 4095 4096 4097 class="btn next-purchase-button text-uppercase" 4098 4099 disabled 4100 4101 > 4102 <span>save your flower board</span> 4103 </button> 4104 </div> 4105 </div> 4106 4107 </div> 4108 </div> 4109 </div> 4110 4111 4112 4113 <div 4114 class="sectionPurchase sectionPurchaseBoard hide" 4115 data-section="address" 4116 > 4117 <div class="wrapperPurchase"> 4118 <div class="purchase-content"> 4119 <div class="headerPurchase"> 4120 <h3> 4121 Complete Your Order 4122 </h3> 4123 <a class="close-purchase-popup"> 4124 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4125 <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"/> 4126 </svg> 4127 </a> 4128 4129 </div> 4130 <div class="contentPurchase"> 4131 <div class="row"> 4132 <div class="col-12 position-relative"> 4133 <div class="addressPurchase"> 4134 4135 <h4 class="text-uppercase">recipient delivery address</h4> 4136 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 4137 4138 <div class="formAddressPurchase row"> 4139 <div class="col-12"> 4140 <form> 4141 <div class="form-group row mb-2 mb-lg-4"> 4142 <div class="col-6 position-relative"> 4143 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 4144 <label for="first_name" class="input__label">First Name<span>*</span></label> 4145 </div> 4146 <div class="col-6 position-relative"> 4147 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 4148 <label for="last_name" class="input__label">Last Name<span>*</span></label> 4149 </div> 4150 <input type="hidden" data-properties="nama-penerima"> 4151 </div> 4152 4153 <h4 class="text-uppercase">how you want to input your address</h4> 4154 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 4155 <div class="col-6 position-relative"> 4156 <label class="address-manualy">
4157 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 4158 <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.91216 0.910582 5.75588C0.754301 5.5996 0.666504 5.38764 0.666504 5.16663V2.87496C0.666504 2.15666 0.951845 1.46779 1.45976 0.959878C1.96767 0.451967 2.65654 0.166626 3.37484 0.166626H5.6665C5.88752 0.166626 6.09948 0.254423 6.25576 0.410704C6.41204 0.566984 6.49984 0.778946 6.49984 0.999959C6.49984 1.22097 6.41204 1.43293 6.25576 1.58921C6.09948 1.7455 5.88752 1.83329 5.6665 1.83329H3.37484ZM3.37484 15.1666C2.79984 15.1666 2.33317 14.7 2.33317 14.125V11.8333C2.33317 11.6123 2.24537 11.4003 2.08909 11.244C1.93281 11.0878 1.72085 11 1.49984 11C1.27882 11 1.06686 11.0878 0.910582 11.244C0.754301 11.4003 0.666504 11.6123 0.666504 11.8333V14.125C0.666504 14.4806 0.736557 14.8328 0.872663 15.1614C1.00877 15.49 1.20826 15.7885 1.45976 16.04C1.71125 16.2915 2.00981 16.491 2.3384 16.6271C2.66699 16.7632 3.01917 16.8333 3.37484 16.8333H5.6665C5.88752 16.8333 6.09948 16.7455 6.25576 16.5892C6.41204 16.4329 6.49984 16.221 6.49984 16C6.49984 15.7789 6.41204 15.567 6.25576 15.4107C6.09948 15.2544 5.88752 15.1666 5.6665 15.1666H3.37484ZM15.6665 2.87496C15.6665 2.29996 15.1998 1.83329 14.6248 1.83329H12.3332C12.1122 1.83329 11.9002 1.7455 11.7439 1.58921C11.5876 1.43293 11.4998 1.22097 11.4998 0.999959C11.4998 0.778946 11.5876 0.566984 11.7439 0.410704C11.9002 0.254423 12.1122 0.166626 12.3332 0.166626H14.6248C14.9805 0.166626 15.3327 0.236679 15.6613 0.372786C15.9899 0.508892 16.2884 0.708386 16.5399 0.959878C16.7914 1.21137 16.9909 1.50994 17.127 1.83853C17.2631 2.16712 17.3332 2.5193 17.3332 2.87496V5.16663C17.3332 5.38764 17.2454 5.5996 17.0891 5.75588C16.9328 5.91216 16.7208 5.99996 16.4998 5.99996C16.2788 5.99996 16.0669 5.91216 15.9106 5.75588C15.7543 5.5996 15.6665 5.38764 15.6665 5.16663V2.87496ZM14.6248 15.1666C15.1998 15.1666 15.6665 14.7 15.6665 14.125V11.8333C15.666
41585 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"/> 4159 </svg> 4160 <span>Input Address Manually</span> 4161 </label> 4162 </div> 4163 <div class="col-6 position-relative"> 4164 <label for="address-upload" class="address-upload"> 4165 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 4166 <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"/> 4167 </svg> 4168 <span>Upload Address Picture</span> 4169 </label> 4170 <input 4171 id="address-upload" 4172 type="file" 4173 accept="image/png, image/jpeg" 4174 style="position: absolute; padding: 0;width: 1px;height: 1px" 4175 > 4176 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 4177 </div> 4178 </div> 4179 <img width="150" height="" src="" class="photo-address" style="display: none;"> 4180 4181 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4182 <div class="col-12"> 4183 <textarea 4184 id="delivery_address" 4185 data-properties="alamat-penerima" 4186 class="form-control input__field col-12" 4187 placeholder="" 4188 required 4189 ></textarea> 4190 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4191 4192 </div> 4193 </div> 4194 <div class="form-group row mb-2 mb-lg-4 form-address"> 4195 <div class="col-6 position-relative"> 4196 <input 4197 id="recipient_number" 4198 type="text" 4199 data-properties="telepon-penerima" 4200 class="form-control input__field" 4201 placeholder="" 4202 required 4203 > 4204 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4205 </div> 4206 <div class="col-6 position-relative"> 4207 <input 4208 id="company" 4209 type="text" 4210 data-properties="company" 4211 class="form-control input__field" 4212 placeholder="" 4213 > 4214 <label for="company" class="input__label">Company (Optional)</label> 4215 </div> 4216 </div> 4217 <div class="form-group row mb-2 mb-lg-4 form-address"> 4218 <div class="col-6 position-relative"> 4219 <input 4220 id="province" 4221 type="text" 4222 class="form-control input__field" 4223 placeholder="" 4224 value="Jakarta" 4225 data-properties="province" 4226 > 4227 <label for="province" class="input__label">Province</label> 4228 </div> 4229 <div class="col-6 position-relative"> 4230 <select id="zip" class="form-control select-search" required></select> 4231 </div> 4232 </div> 4233 </form> 4234 </div> 4235 </div> 4236 </div> 4237 <div class="addonsPurchase"> 4238 <h4 class="text-uppercase">add-ons</h4> 4239 <div class="addons"> 4240 <p>No Add-Ons</p> 4241 <!-- 4242 <button class="add-addon">
4243 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4244 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4245 </svg> 4246 <span>Enhance my moment with Add-ons</span> 4247 </button> 4248 --> 4249 </div> 4250 </div> 4251 </div> 4252 4253 </div> 4254 </div> 4255 4256
4256<script> 4257 document.addEventListener('DOMContentLoaded', function() { 4258 // Detect iOS 4259 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4260 4261 if (isIOS) { 4262 document.querySelector('.formAddressPurchase').classList.add('ios'); 4263 4264 // iOS specific fixes 4265 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4266 4267 inputs.forEach(function(input) { 4268 // Force enable touch events on iOS 4269 input.style.webkitUserSelect = 'text'; 4270 input.style.webkitTouchCallout = 'default'; 4271 input.style.pointerEvents = 'auto'; 4272 input.style.touchAction = 'manipulation'; 4273 4274 // Add explicit touch event listeners for iOS 4275 input.addEventListener('touchstart', function(e) { 4276 e.stopPropagation(); 4277 this.focus(); 4278 }, { passive: false }); 4279 4280 input.addEventListener('touchend', function(e) { 4281 e.preventDefault(); 4282 e.stopPropagation(); 4283 this.focus(); 4284 this.click(); 4285 }, { passive: false }); 4286 4287 // Force focus on tap for iOS 4288 input.addEventListener('click', function(e) { 4289 e.stopPropagation(); 4290 if (document.activeElement !== this) { 4291 this.focus(); 4292 } 4293 }); 4294 }); 4295 4296 // Fix for label overlapping on iOS 4297 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4298 labels.forEach(function(label) { 4299 label.style.pointerEvents = 'none'; 4300 label.addEventListener('touchstart', function(e) { 4301 e.preventDefault(); 4302 var input = this.parentNode.querySelector('.input__field'); 4303 if (input) { 4304 input.focus(); 4305 } 4306 }); 4307 }); 4308 } 4309 4310 // Handle input state for all browsers, especially iOS 4311 var inputs = document.querySelectorAll('.input__field'); 4312 4313 inputs.forEach(function(input) { 4314 // Handle input events 4315 input.addEventListener('input', function() { 4316 if (this.value.trim() !== '') { 4317 this.classList.add('has-value'); 4318 } else { 4319 this.classList.remove('has-value'); 4320 } 4321 }); 4322 4323 // Handle focus 4324 input.addEventListener('focus', function() { 4325 this.classList.add('focused'); 4326 // iOS specific: ensure input is visible 4327 if (isIOS) { 4328 setTimeout(function() { 4329 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4330 }, 300); 4331 } 4332 }); 4333 4334 // Handle blur 4335 input.addEventListener('blur', function() { 4336 this.classList.remove('focused'); 4337 if (this.value.trim() !== '') { 4338 this.classList.add('has-value'); 4339 } else { 4340 this.classList.remove('has-value'); 4341 } 4342 }); 4343 4344 // Initial check for pre-filled values 4345 if (input.value.trim() !== '') { 4346 input.classList.add('has-value'); 4347 } 4348 }); 4349 4350 // Additional iOS fixes 4351 if (isIOS) { 4352 // Prevent iOS Safari from adding default styling 4353 document.addEventListener('touchstart', function() {}, { passive: true }); 4354 4355 // Fix viewport issues on iOS 4356 var viewport = document.querySelector('meta[name=viewport]'); 4357 if (viewport) { 4358 viewport.setAttribute('content', 4359 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4360 ); 4361 } 4362 } 4363 }); 4364 </script>
4364 4365 </div> 4366 <div class="purchase-button-wrapper"> 4367 <div class="purchase-button btn-address row m-0"> 4368 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4369 4370 <button class="back-purchase-button back-address text-uppercase"> 4371 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 4372 <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"/> 4373 </svg> 4374 <span>Back</span> 4375 </button> 4376 4377 </div> 4378 <div class="btn-next-card col-12 col-lg-10 text-right"> 4379 4380 <!-- 4381 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4382 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 4383 <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"/> 4384 </svg> 4385 <span>Back</span> 4386 </button> 4387 --> 4388 4389 4390 <button 4391 4392 id="addtocart-card" 4393 4394 class="btn next-address text-uppercase" 4395 4396 > 4397 <span>add to cart</span> 4398 </button> 4399 </div> 4400 </div> 4401 4402 </div> 4403 </div> 4404 </div> 4405 4406 </div> 4407 </div> 4408 <div id="backgroundPopup"></div> 4409 4410 4411 4412 <input 4413 data-index="1" 4414 type="hidden" 4415 id="properties-delivery-date" 4416 name="properties[Delivery Date]" 4417 value="-" 4418 > 4419 <input 4420 data-index="2" 4421 type="hidden" 4422 id="properties-delivery-time" 4423 name="properties[Delivery Time]" 4424 value="-" 4425 > 4426 <input 4427 data-index="4" 4428 type="hidden" 4429 id="properties-nama-penerima" 4430 name="properties[Nama Penerima]" 4431 value="-" 4432 > 4433 <input 4434 data-index="5" 4435 type="hidden" 4436 id="properties-alamat-penerima" 4437 name="properties[Alamat Penerima]" 4438 value="-" 4439 > 4440 <input 4441 data-index="6" 4442 type="hidden" 4443 id="properties-kodepos" 4444 name="properties[Kodepos]" 4445 value="-" 4446 > 4447 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4448 4449 4450 <input 4451 data-index="8" 4452 type="hidden" 4453 id="properties-kartu-nama-penerima" 4454 name="properties[Kartu Nama Penerima]" 4455 value="-" 4456 > 4457 4458 <textarea 4459 data-index="9" 4460 type="hidden" 4461 id="properties-kartu-pesan" 4462 name="properties[Kartu Pesan]" 4463 style="display: none" 4464 >-</textarea> 4465 4466 4467 4468 <input 4469 data-index="10" 4470 type="hidden" 4471 id="properties-kartu-nama-pengirim" 4472 name="properties[Kartu Nama Pengirim]" 4473 value="-" 4474 > 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 <!-- Additional Shipping --> 4494 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4495 <input 4496 type="hidden" 4497 id="properties-kota-pengiriman-country" 4498 name="properties[Country]" 4499 value="Indonesia" 4500 > 4501 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4502 4503 <input type="hidden" id="properties-time" name="properties[Time]"> 4504 <input type="hidden" id="properties-card" name="properties[Card]"> 4505 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4506 4507 <input 4508 type="hidden" 4509 id="properties-company" 4510 name="properties[Company]" 4511 value="" 4512 > 4513
4513<script> 4514 4515 $(document).ready(function(){ 4516 4517 var text_max_papan1=150; 4518 var msg_text_papan1=""; 4519 $('#kartu-ucapan-ucapan').keyup(function(){ 4520 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4521 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4522 }); 4523 4524 var notes_papan1 = [ 4525 4526 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4527 4528 ]; 4529 $('#show_note_papan1').click(function(event){ 4530 event.preventDefault(); 4531 var idx_papan1=parseInt($('#note_id_papan1').val()); 4532 if(isNaN(idx_papan1)){ 4533 idx_papan1=0; 4534 }else{ 4535 idx_papan1++; 4536 idx_papan1=idx_papan1%notes_papan1.length; 4537 } 4538 var note_papan1=notes_papan1[idx_papan1][1]; 4539 $('#note_id_papan1').val(idx_papan1); 4540 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4541 $('#msgDelivery').val(note_papan1); 4542 4543 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4544 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4545 if(isNaN(idx_2_papan1)){ 4546 idx_2_papan1=0; 4547 }else{ 4548 idx_2_papan1++; 4549 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4550 } 4551 $('#note_btn_id_papan1').val(idx_2_papan1); 4552 //var note_btn=note_btn_text[idx_2][1]; 4553 //$('#note_btn').text(note_btn); 4554 }); 4555 4556 var text_max_papan2=150; 4557 var msg_text_papan2=""; 4558 $('#kartu-ucapan-ucapan').keyup(function(){ 4559 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4560 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4561 }); 4562 4563 var notes_papan2 = [ 4564 4565 [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)."] 4566 4567 ]; 4568 $('#show_note_papan2').click(function(event){ 4569 event.preventDefault(); 4570 var idx_papan2=parseInt($('#note_id_papan2').val()); 4571 if(isNaN(idx_papan2)){ 4572 idx_papan2=0; 4573 }else{ 4574 idx_papan2++; 4575 idx_papan2=idx_papan2%notes_papan2.length; 4576 } 4577 var note_papan2=notes_papan2[idx_papan2][1]; 4578 $('#note_id_papan2').val(idx_papan2); 4579 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4580 $('#msgDelivery').val(note_papan2); 4581 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4582 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4583 if(isNaN(idx_2_papan2)){ 4584 idx_2_papan2=0; 4585 }else{ 4586 idx_2_papan2++; 4587 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4588 } 4589 $('#note_btn_id_papan2').val(idx_2_papan2); 4590 //var note_btn=note_btn_text[idx_2][1]; 4591 //$('#note_btn').text(note_btn); 4592 }); 4593 4594 var text_max_papan3=150; 4595 var msg_text_papan3=""; 4596 $('#kartu-ucapan-ucapan').keyup(function(){ 4597 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4598 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4599 }); 4600 4601 var notes_papan3 = [ 4602 4603 [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)."] 4604 4605 ]; 4606 $('#show_note_papan3').click(function(event){ 4607 event.preventDefault(); 4608 var idx_papan3=parseInt($('#note_id_papan3').val()); 4609 if(isNaN(idx_papan3)){ 4610 idx_papan3=0; 4611 }else{ 4612 idx_papan3++; 4613 idx_papan3=idx_papan3%notes_papan3.length; 4614 } 4615 var note_papan3=notes_papan3[idx_papan3][1]; 4616 $('#note_id_papan3').val(idx_papan3); 4617 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4618 $('#msgDelivery').val(note_papan3);
4619 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4620 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4621 if(isNaN(idx_2_papan3)){ 4622 idx_2_papan3=0; 4623 }else{ 4624 idx_2_papan3++; 4625 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4626 } 4627 $('#note_btn_id_papan3').val(idx_2_papan3); 4628 //var note_btn=note_btn_text[idx_2][1]; 4629 //$('#note_btn').text(note_btn); 4630 }); 4631 4632 var text_max_papan4=150; 4633 var msg_text_papan4=""; 4634 $('#kartu-ucapan-ucapan').keyup(function(){ 4635 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4636 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4637 }); 4638 4639 $('#show_note_papan4').click(function(event){ 4640 var notes_papan4 = [ 4641 [0,"Hereâs to youâsteadier, stronger and better every day."], 4642 [1,"Warmest wishes for a speedy recovery!"], 4643 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4644 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4645 ]; 4646 event.preventDefault(); 4647 var idx_papan4=parseInt($('#note_id_papan4').val()); 4648 console.log(idx_papan4, 'idx_papan4') 4649 if(isNaN(idx_papan4)){ 4650 idx_papan4=0; 4651 }else{ 4652 idx_papan4++; 4653 idx_papan4=idx_papan4%notes_papan4.length; 4654 } 4655 var note_papan4=notes_papan4[idx_papan4][1]; 4656 $('#note_id_papan4').val(idx_papan4); 4657 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4658 console.log(note_papan4, 'note_papan4') 4659 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4660 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4661 if(isNaN(idx_2_papan4)){ 4662 idx_2_papan4=0; 4663 }else{ 4664 idx_2_papan4++; 4665 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4666 } 4667 $('#note_btn_id_papan4').val(idx_2_papan4); 4668 }); 4669 4670 /* 4671 $("#jenisPapan").change(function(){ 4672 $( "select option:selected").each(function(){ 4673 if($(this).attr("value")=="Happy Wedding"){ 4674 $("#suggest-messages a").hide(); 4675 $("#show_note_papan1").show(); 4676 $("#kartu-ucapan-papan").val(""); 4677 } 4678 if($(this).attr("value")=="Congratulations"){ 4679 $("#suggest-messages a").hide(); 4680 $("#show_note_papan2").show(); 4681 $("#kartu-ucapan-papan").val(""); 4682 } 4683 if($(this).attr("value")=="Duka Cita"){ 4684 $("#suggest-messages a").hide(); 4685 $("#show_note_papan3").show(); 4686 $("#kartu-ucapan-papan").val(""); 4687 } 4688 }); 4689 }).change(); 4690 */ 4691 4692 4693 4694 4695 4696 $(".variant-metafield").each(function(){ 4697 const t = $(this) 4698 const id = t.attr("id") 4699 const target = $(`[data-select=${id}]`) 4700 t.on('select2:selecting', function(e) { 4701 const data = e.params.args.data 4702 target.val(data.text) 4703 }); 4704 }) 4705 }) 4706 </script>
4706 4707 4708 <div id="popupCart"> 4709 <div class="container"> 4710 <div class="wrapperPopupCart"> 4711 <div class="headerPopupCart"> 4712 <div class="d-flex pl-5 pr-5 p-4"> 4713 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4714 <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"/> 4715 </svg> 4716 <span>item added to your cart</span> 4717 </div> 4718 <a class="close-purchase-popup"> 4719 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4720 <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"/> 4721 </svg> 4722 </a> 4723 4724 </div> 4725 <div class="contentPopupCart"> 4726 <div class="pl-5 pr-5 p-4"> 4727 <div class="itemContent row m-0 justify-content-between"> 4728 <div class="col-2 align-self-center"> 4729 4730 <img 4731 class="d-block" 4732 width="80" 4733 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4734 > 4735 </div> 4736 <div class="col-10 align-self-center"> 4737 <div class="row pl-3"> 4738 <div class="col-12 col-lg-7"> 4739 <span class="titleCartPopup text-uppercase">OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik</span> 4740 </div> 4741 <div class="d-flex justify-content-end col-12 col-lg-5"> 4742 <span class="deleteCartPopup hide">Delete</span> 4743 <span class="lineCartPrice align-self-center">Rp 5.000</span> 4744 </div> 4745 </div> 4746 </div> 4747 </div> 4748 <div class="itemProperties"> 4749 4750 <div class="propDeliver"> 4751 <h4>delivery option detail</h4> 4752 <p> 4753 <span>delivery city</span> 4754 <span class="propDeliveryCity">jakarta</span> 4755 </p> 4756 <p> 4757 <span>delivery date</span> 4758 <span class="propDeliveryDate">24/03/2025</span> 4759 </p> 4760 <p> 4761 <span>delivery time</span> 4762 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4763 </p> 4764 </div> 4765 <div class="propAddress"> 4766 <h4>delivery option detail</h4> 4767 <p> 4768 <span>RECIPIENT NAME</span> 4769 <span class="propDeliveryName">jane doe</span> 4770 </p> 4771 <p> 4772 <span>delivery address</span> 4773 <span class="propDeliveryAddress" 4774 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4775 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4776 > 4777 </p> 4778 <p> 4779 <span>recipient phone number</span> 4780 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4781 </p> 4782 <p> 4783 <span>PROVINCE</span> 4784 <span class="propDeliveryProv">Jakarta</span> 4785 </p> 4786 <p> 4787 <span>postal code</span> 4788 <span class="propDeliveryZip">12710</span> 4789 </p> 4790 4791 4792 </div> 4793 4794 </div> 4795 <div class="itemAddonCart"> 4796 <div class="toggleAddonCart d-flex justify-content-between"> 4797 <h4>add-ons (0)</h4> 4798 <svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4799 <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"/> 4800 </svg> 4801 </div> 4802 <div class="wrapperItemAddonCart"></div> 4803 </div> 4804 4805 </div> 4806 </div>
4807 <div class="footerPopupCart"> 4808 <div class="row m-0 pl-5 pr-5 p-4"> 4809 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4810 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4811 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4812 </div> 4813 </div> 4814 </div> 4815 </div> 4816 </div> 4817 4818 4819
4819<script> 4820 const shareButton = document.getElementById('shareButton'); 4821 4822 shareButton.addEventListener('click', () => { 4823 if (navigator.share) { 4824 navigator.share({ 4825 title: "OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik", 4826 url: "/products/blossom-shine", 4827 text: 'Check out this page!' 4828 }) 4829 .then(() => console.log('Successful share')) 4830 .catch((error) => console.log('Error sharing', error)); 4831 } else { 4832 alert('Web Share API is not supported in this browser.'); 4833 } 4834 }); 4835 4836 // Inventory validation function 4837 function checkInventoryStatus() { 4838 const productSelect = document.getElementById('productSelect'); 4839 const purchaseButton = document.querySelector('#personalizeBtn button'); 4840 4841 if (!productSelect || !purchaseButton) return; 4842 4843 const selectedVariantId = productSelect.value; 4844 4845 // Get variant data from Shopify 4846 fetch(`/products/blossom-shine.js`) 4847 .then(response => response.json()) 4848 .then(product => { 4849 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4850 4851 if (selectedVariant) { 4852 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4853 selectedVariant.inventory_management === 'shopify' && 4854 selectedVariant.inventory_policy !== 'continue'; 4855 4856 if (isOutOfStock) { 4857 purchaseButton.disabled = true; 4858 purchaseButton.textContent = 'Out of Stock'; 4859 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4860 purchaseButton.style.backgroundColor = '#cccccc'; 4861 purchaseButton.style.cursor = 'not-allowed'; 4862 } else { 4863 // Check if button was disabled due to other conditions 4864 4865 4866 4867 4868 4869 4870 4871 4872 const isOtherDisabled = false || true || false; 4873 4874 if (!isOtherDisabled) { 4875 purchaseButton.disabled = false; 4876 purchaseButton.textContent = 'customize your flower board'; 4877 purchaseButton.removeAttribute('data-out-of-stock'); 4878 purchaseButton.style.backgroundColor = ''; 4879 purchaseButton.style.cursor = ''; 4880 } 4881 } 4882 } 4883 }) 4884 .catch(error => { 4885 console.error('Error checking inventory:', error); 4886 }); 4887 } 4888 4889 // Check inventory on page load 4890 document.addEventListener('DOMContentLoaded', function() { 4891 checkInventoryStatus(); 4892 4893 // Listen for variant changes 4894 const productSelect = document.getElementById('productSelect'); 4895 if (productSelect) { 4896 productSelect.addEventListener('change', checkInventoryStatus); 4897 } 4898 }); 4899 4900 // Prevent form submission if out of stock 4901 document.addEventListener('click', function(e) { 4902 if (e.target.matches('button[data-out-of-stock="true"]')) { 4903 e.preventDefault(); 4904 e.stopPropagation(); 4905 alert('This product is currently out of stock and cannot be purchased.'); 4906 return false; 4907 } 4908 }); 4909 </script>
4909 4910 4911 4912 4913 </div> 4914 4915 </div> 4916 </div> 4917 </div> 4918 </div> 4919 <div id="product-bottom"> 4920 4921 <div class="container"> 4922 4923 4924 4925 4926 4927 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4928 <div class="short-desc"> 4929 <ul> 4930 <li><strong>OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!</strong></li> 4931 </div> 4932 <label class="more-mobile">Show More â</label> 4933 </div> 4934 4935 <style> 4936 .animated-title { 4937 text-align: center; 4938 font-weight: bold; 4939 color: #079c02; 4940 font-size: 28px; 4941 position: relative; 4942 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4943 } 4944 4945 /* Efek glow / bercahaya hijau */ 4946 @keyframes glow { 4947 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4948 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4949 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4950 } 4951 4952 /* Efek gerakan naik turun */ 4953 @keyframes moveUpDown { 4954 0% { transform: translateY(0px); } 4955 50% { transform: translateY(-5px); } 4956 100% { transform: translateY(0px); } 4957 } 4958 </style> 4959 4960
4960<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4960 4961
4961<script> 4962 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}); 4963 4964 const productType = $("[data-product-type]").data("product-type") 4965 const productDate = Date.parse(new Date()) 4966 4967 const shop = 'outerbloom1.myshopify.com' 4968 const host = 'https://app.asmaraku.com' 4969 // const host = 'http://localhost:5001' 4970 4971 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4972 4973 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4974 4975 $("#properties-time").val(new Date().getTime()) 4976 4977 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4978 4979 if(!isIOS) { 4980 $("#full-date").attr("type", "button") 4981 } 4982 4983 let dateTime = new Date(); 4984 let today = dateTime.getDate(); 4985 let day = dateTime.getDay(); 4986 let hour = dateTime.getHours(); 4987 let min = dateTime.getMinutes(); 4988 let timeOfDay = hour + (min / 100); 4989 4990 async function getFetch(url) { 4991 const response = await fetch(url); 4992 let status = false 4993 let result 4994 if(response.ok) { 4995 status = true 4996 result = await response.json(); 4997 } 4998 return { 4999 status, 5000 data: result 5001 } 5002 } 5003 5004 5005 5006 function setCookie(cname, cvalue, exMins) { 5007 var d = new Date(); 5008 d.setTime(d.getTime() + (exMins*60*1000)); 5009 var expires = "expires="+d.toUTCString(); 5010 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 5011 } 5012 5013 function getCookie(cname) { 5014 let name = cname + "="; 5015 let decodedCookie = decodeURIComponent(document.cookie); 5016 let ca = decodedCookie.split(';'); 5017 for(let i = 0; i <ca.length; i++) { 5018 let c = ca[i]; 5019 while (c.charAt(0) == ' ') { 5020 c = c.substring(1); 5021 } 5022 if (c.indexOf(name) == 0) { 5023 return c.substring(name.length, c.length); 5024 } 5025 } 5026 return ""; 5027 } 5028 5029 async function renderDate() { 5030 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 5031 console.log(dataDate, 'renderDate') 5032 const data = dataDate?.data 5033 const date = data.date 5034 const time = data.time 5035 5036 console.log(date, 'DATE') 5037 5038 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 5039 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5040 const htmlDate = [] 5041 for(let i = 0;i < date.length;i++) { 5042 const full = date[i].date 5043 const d = new Date(date[i].date); 5044 const day = weekday[d.getDay()]; 5045 const dt = d.getDate(); 5046 const mt = monthly[d.getMonth()]; 5047 const yr = d.getFullYear(); 5048 const isDate = Boolean(date[i].isEnabled) 5049 const cutoffpagi = date[i].cutoff?.pagi 5050 const cutoffsiang = date[i].cutoff?.siang 5051 const cutoffMalam = date[i].cutoff?.Malam 5052 var html = ` 5053 <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'}> 5054 ${dt === today ? 5055 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 5056 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 5057 } 5058 </button> 5059 ` 5060 htmlDate.push(html) 5061 } 5062 const htmlTime = [] 5063 for(var i = 0;i < time.length;i++) { 5064 const timeText = time[i].text 5065 const timeTime = time[i].time 5066 const timeEnabled = time[i].isEnabled 5067 var html = ` 5068 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 5069 ` 5070 htmlTime.push(html) 5071 } 5072 const deliveryDate = document.getElementById("deliveryDate"); 5073 if(deliveryDate) { 5074 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 5075 $("#deliveryTime").html(htmlTime) 5076 if(productType !== '') { 5077 console.log("clarity event " + productType + ' calendaring') 5078 window.clarity("event", `${productType} calendaringSchedule`) 5079 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 5080 } 5081 } 5082 } 5083 5084 async function getProvince(city) { 5085 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 5086 console.log(province, 'province') 5087 $("#province").val(province) 5088 } 5089 5090 async function renderAddress() { 5091 let current 5092 if(getCookie("location_delivery")){ 5093 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 5094 } 5095 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 5096 console.log(address) 5097 const data = address?.data?.city 5098 const htmlAddress = [] 5099 const grouping = []
5100 for(let i = 0;i < data?.length;i++) { 5101 if(data[i]){ 5102 if(data[i]?.group) { 5103 grouping.push(data[i].group) 5104 } 5105 const price = rupiah.format(data[i]?.rate) 5106 let promo = '(Promo Free Delivery)' 5107 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 5108 promo = '(at SCBD, Ashta)' 5109 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 5110 promo = '(at Kuningan, ITC Kuningan)' 5111 } else if(data[i]?.name === 'BSD - PickUp'){ 5112 promo = '(at Goldfinch Gading Serpong)' 5113 } else if(data[i]?.name === 'Kota Lainnya'){ 5114 promo = '' 5115 } 5116 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>`) 5117 } 5118 } 5119 5120 const deliveryCity = document.getElementById("cities"); 5121 if(deliveryCity) { 5122 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 5123 if(!isIOS) { 5124 $(deliveryCity).select2(); 5125 } 5126 } 5127 } 5128 5129 async function renderZip(v, v2, v3) { 5130 const deliveryZip = document.getElementById("zip"); 5131 if(v === '') { 5132 return 5133 } 5134 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 5135 let zip = dataZip?.data?.zip 5136 console.log(zip) 5137 let htmlZip = [] 5138 for(let i = 0; i < zip?.length;i++) { 5139 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 5140 } 5141 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 5142 } 5143 5144 renderDate() 5145 renderAddress() 5146 5147 let rupiah = new Intl.NumberFormat('id-ID', { 5148 style: 'currency', 5149 currency: 'IDR', 5150 maximumFractionDigits: 0, 5151 minimumFractionDigits: 0 5152 }); 5153 5154 async function insertCard(data) { 5155 const response = await fetch(`${host}/api/card/new`, { 5156 method: "POST", 5157 headers: { 5158 'Content-Type': 'application/json', 5159 }, 5160 body: data 5161 }) 5162 const result = await response.json() 5163 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 5164 $("#greetingCard").attr("data-index", rowIndex) 5165 return result 5166 } 5167 5168 async function updateCard(data){ 5169 const rowIndex = $("#greetingCard").data("index") 5170 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 5171 method: "PUT", 5172 headers: { 5173 'Content-Type': 'application/json', 5174 }, 5175 body: data 5176 }) 5177 return response 5178 } 5179 5180 function bytesToSize(bytes) { 5181 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 5182 for (var i = 0; i < sizes.length; i++) { 5183 if (bytes <= 1024) { 5184 return bytes + ' ' + sizes[i]; 5185 } else { 5186 bytes = parseFloat(bytes / 1024).toFixed(2) 5187 } 5188 } 5189 return bytes + ' P'; 5190 } 5191 5192 async function uploadMedia(uri, type) { 5193 nameq = $("#properties-nama-penerima").val() 5194 dear = $("#properties-kartu-nama-penerima").val() 5195 card = $("[data-properties=ucapan]").val() 5196 sender = $("#properties-kartu-nama-pengirim").val() 5197 photo = $("#properties-photo").val() 5198 video = $("#properties-video").val() 5199 status = "Product" 5200 5201 const name = qrID 5202 let formData = new FormData(); 5203 formData.append("file", uri); 5204 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5205 method: "POST", 5206 body: formData 5207 }) 5208 const result = await response.json(); 5209 if(result) { 5210 const url = result.url 5211 if(type === 'image/jpeg') { 5212 $("#properties-photo").val(url) 5213 $(".preview-image").show() 5214 $(".remove-image").show() 5215 photo = url 5216 } else { 5217 $("#properties-video").val(url) 5218 $("#label-input-video span").text("Change File") 5219 $(".case-qrcode-preview p").text("Scan here for a secret message") 5220 $(".remove-media").show() 5221 $("#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>`) 5222 $("[for=input-video]").hide() 5223 video = url 5224 } 5225 $(".case-video-preview").show() 5226 $(".steps-card-preview").removeClass("loading") 5227 // updateCard(nameq, dear, card, sender, photo, video, status) 5228 5229 $(".nextBtn").attr("disabled", false) 5230 } 5231 } 5232 5233 function randomString(length, chars) { 5234 var result = ''; 5235 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5236 return result; 5237 } 5238 5239 function getNoteCity(fulldate) { 5240 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5241 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5242 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5243 const d = new Date(h_1); 5244 const day = weekday[d.getDay()]; 5245 const dt = d.getDate(); 5246 const mt = monthly[d.getMonth()]; 5247 const yr = d.getFullYear(); 5248 const p = $("#cities").parent(".form-group") 5249 } 5250 5251 function disabledSameDay() { 5252 let btnFirst = $("#deliveryDate").find("button:first-child") 5253 let getDay = new Date().getDay(); 5254 5255 5256 5257 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5258 if(hour >= 14.00){ 5259 btnFirst.attr("disabled", true) 5260 } 5261 } else if(getDay == 6){ 5262 if(hour >= 16.00){ 5263 btnFirst.attr("disabled", true) 5264 } 5265 } else if(getDay == 0){ 5266 if(hour >= 16.00){ 5267 btnFirst.attr("disabled", true) 5268 } 5269 } 5270 5271 5272 } 5273 5274 function disabledays(date) { 5275 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5276 //if u have to disable a list of day 5277 let removeDays 5278 5279 5280 5281 removeDays = ["2025-2-13", "2025-2-14"]; 5282 5283 if ($.inArray(ymd, removeDays) >= 0) { 5284 return [false]; 5285 } else { 5286 let day = date.getDay(); 5287 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5288 return [(day == 0), '']; 5289 } 5290 5291 if(day == 0){ 5292 return [(day == 0), '']; 5293 } 5294 5295 5296 return [(day != 0), '']; 5297 } 5298 } 5299 5300 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5301 /* Written by Deden Fathurahman ([email protected]). */ 5302 ( function( factory ) { 5303 if ( typeof define === "function" && define.amd ) { 5304 5305 // AMD. Register as an anonymous module. 5306 define( [ "../widgets/datepicker" ], factory ); 5307 } else { 5308 5309 // Browser globals 5310 factory( jQuery.datepicker ); 5311 } 5312 }( function( datepicker ) { 5313 5314 datepicker.regional.id = { 5315 closeText: "Tutup", 5316 prevText: "<mundur", 5317 nextText: "maju>", 5318 currentText: "Today", 5319 monthNames: [ "January","February","March","April","May","Juny", 5320 "July","August","September","October","November","December" ], 5321 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5322 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5323 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5324 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5325 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5326 weekHeader: "Mg", 5327 dateFormat: "D, dd M", 5328 firstDay: 0, 5329 isRTL: false, 5330 showMonthAfterYear: false, 5331 yearSuffix: "" }; 5332 datepicker.setDefaults( datepicker.regional.id ); 5333 5334 return datepicker.regional.id; 5335 5336 } ) ); 5337 5338 function loadPopup() { 5339 $("#backgroundPopup").fadeIn("slow"); 5340 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5341 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5342 if(firstSection.hasClass("purchasePersonalize")) { 5343 if(productType !== '') { 5344 console.log("clarity event " + productType + ' personalize') 5345 window.clarity("event", `${productType} cardPersonalization`) 5346 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5347 } 5348 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5349 console.log("clarity event " + productType + ' personalizeBoard') 5350 window.clarity("event", `${productType} personalizeBoard`) 5351 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5352 } 5353 firstSection.removeClass("hide") 5354 5355 // Auto-trigger addon loading when addon section becomes visible 5356 setTimeout(function() { 5357 const addonSection = $(".purchaseAddon") 5358 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5359 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5360 $("[data-addon=upsell-all]").trigger("click") 5361 } 5362 } 5363 }, 200) 5364 } 5365 5366 function disablePopup() { 5367 $("#backgroundPopup").fadeOut("slow"); 5368 $(".purchasePopup").fadeOut("slow"); 5369 $("#popupCart").fadeOut("slow"); 5370 } 5371
5372 function scrollTo(parent, div, dur) { 5373 $(parent).animate({ 5374 scrollTop: $(div).offset().top 5375 }, dur); 5376 } 5377 5378 function loadPopupPersonalize() { 5379 const div = "#purchaseProduct" 5380 const p = "html, body, .product-meta" 5381 $("p.error").remove() 5382 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5383 const isCity = $("#cities[required]") 5384 const isDate = $("#propDeliveryDate[required]") 5385 const isTime = $("#propDeliveryTime[required]") 5386 // loadPopup() 5387 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5388 loadPopup() 5389 } 5390 if(isCity.val() == '') { 5391 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5392 scrollTo(p, div, 500) 5393 } 5394 if(isDate.val() == '') { 5395 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5396 scrollTo(p, div, 500) 5397 } 5398 if(isTime.val() == '') { 5399 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5400 scrollTo(p, div, 500) 5401 } 5402 } 5403 5404 function quantityCounter() { 5405 $(document).on("click", ".item-card.selected .q_up", function () { 5406 var C = $(this).attr("data-id"), 5407 S = 5408 parseInt( 5409 $(this) 5410 .siblings(".quantity-cart-" + C) 5411 .val() 5412 ) + 1; 5413 $(this).attr("data-quantity", S), 5414 $(this) 5415 .siblings(".quantity-cart-" + C) 5416 .val(S); 5417 }), 5418 $(document).on("click", ".item-card.selected .q_down", function () { 5419 var C = $(this).attr("data-id"), 5420 S = parseInt( 5421 $(this) 5422 .siblings(".quantity-cart-" + C) 5423 .val() 5424 ); 5425 0 < S && $(this).attr("data-quantity", S - 1), 5426 0 < S && 5427 $(this) 5428 .siblings(".quantity-cart-" + C) 5429 .val(S - 1); 5430 }); 5431 } 5432 5433 quantityCounter() 5434 5435 const itemAddon = $(".item-card").length 5436 const nofree = $(".nofree").length 5437 5438 const upsell = '' 5439 5440 if(nofree === itemAddon) { 5441 // $("#itemAddons").html("<p>No Items available</p>") 5442 } 5443 5444 $("#itemAddons .item-card").each(function(e){ 5445 $("#itemAddons").attr("data-length", e) 5446 }) 5447 5448 $("[data-addon]").click(function(){ 5449 5450 5451 5452 const t = $(this) 5453 5454 const data = t.data("addon") 5455 5456 $("[data-addon]").removeClass("selected") 5457 t.addClass("selected") 5458 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5459 const products = data.products 5460 const html = [] 5461 for(let i = 0; i < products.length; i++) { 5462 const id = products[i].id 5463 const variantId = products[i].variants[0].id 5464 const img = products[i].images[0].src 5465 let img2 = img.split('.jpg')[0] 5466 const title = products[i].title 5467 const price = products[i].variants[0].price 5468 const tags = products[i].tags 5469 const qty = products[i].variants[0].available 5470 let type_upsell = '' 5471 if(tags.includes('upsell-item-standing')) { 5472 type_upsell = 'standing' 5473 } 5474 console.log(type_upsell) 5475 if(type_upsell !== '') { 5476 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}"> 5477 5478 <div class="card-image"> 5479 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5480 </div> 5481 <div class="card-meta"> 5482 <h5>${title}</h5> 5483 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5484 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5485 </div> 5486 <div class="card-qty"> 5487 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}">
5487<svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5488 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity"> 5489 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5490 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5491 </svg></a> 5492 </div> 5493 </div>` 5494 html.push(body) 5495 } 5496 } 5497 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5498 $("#itemAddons").attr("data-length", products.length) 5499 // $('#itemAddons')[0].swiper.update(); 5500 }); 5501 }) 5502 5503 async function isAddon(){ 5504 let ids = [] 5505 $("#itemAddons .item-card.selected").each(function(i, e){ 5506 const id = $(this).data("id") 5507 ids.push(id) 5508 }) 5509 console.log(ids) 5510 return ids 5511 } 5512 5513 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5514 const t = $(this).parent() 5515 const id = t.data("id") 5516 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5517 t.toggleClass("selected"); 5518 //$(this).next("input").toggleAttr('name', 'id[]'); 5519 if (t.hasClass('selected')) { 5520 t.find("input").val(1) 5521 t.find("input").attr('name', 'id[]'); 5522 } else { 5523 t.find("input").val(0) 5524 t.find("input").removeAttr('name'); 5525 } 5526 $("#properties-addons").val(addons) 5527 const is = await isAddon() 5528 if(is.length === 0) { 5529 btn.text("continue without add-ons") 5530 return 5531 } 5532 if(is.includes(8835692069079)) { 5533 btn.text("personalize acrylic frame") 5534 } else { 5535 btn.text("Continue") 5536 } 5537 5538 }) 5539 5540 async function myAddon(data) { 5541 const c = $(".addonsPurchase .addons") 5542 let items = [] 5543 5544 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5545 // if(spotifyAddons.length > 0) { 5546 // $(spotifyAddons).each(function(i, e){ 5547 // const spotifyLink = $(this).find(".spotifyLink").val() 5548 // const spotifySong = $(this).find(".spotifySong").val() 5549 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5550 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5551 // if(spotifyLink !== '') { 5552 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5553 // <div class="addon-itm-img"> 5554 // <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"/> 5555 // </div> 5556 // <div class="addon-itm-title"> 5557 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5558 // </div> 5559 // <div class="addon-itm-line-total"> 5560 // <span>Rp 99.000</span> 5561 // </div> 5562 // </div> 5563 // <div class="propsAddonSpotify row m-0"> 5564 // <div class="col-12 col-lg-2"></div> 5565 // <div class="col-12 col-lg-10"> 5566 // <p> 5567 // <span>spotify link</span> 5568 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5569 // </p> 5570 // <p> 5571 // <span>uploaded photo</span> 5572 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5573 // </p> 5574 // <p> 5575 // <span>song / playlist name</span> 5576 // <span class="spotifySongAddon">${spotifySong}</span> 5577 // </p> 5578 // <p> 5579 // <span>artist name</span>
5580 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5581 // </p> 5582 // </div> 5583 // </div>` 5584 // items.push(spotifyAddon) 5585 // } 5586 // }) 5587 // } 5588 for(let i = 0; i < data.length; i++) { 5589 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5590 const img = data[i].image 5591 const title = data[i].title 5592 const qty = data[i].qty 5593 const price = data[i].price 5594 const total = Number(qty) * Number(price) 5595 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5596 <div class="addon-itm-img"> 5597 <img src="${img}" alt="" width="70"/> 5598 </div> 5599 <div class="addon-itm-title"> 5600 <span>${title}</span> 5601 </div> 5602 <div class="addon-itm-line-price"> 5603 <span>${rupiah.format(price)}</span> 5604 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5605 </div> 5606 <div class="addon-itm-line-total"> 5607 <span>${rupiah.format(total)}</span> 5608 </div> 5609 </div>` 5610 items.push(addons) 5611 } 5612 } 5613 c.html(items) 5614 const parent = $(".purchaseAddon") 5615 const next = parent.next(".sectionPurchase") 5616 parent.addClass("hide") 5617 next.removeClass("hide") 5618 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5619 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5620 } 5621 5622 async function listAddon() { 5623 const data = $("#itemAddons").find(".selected") 5624 let ids = [] 5625 $(data).each(function(){ 5626 const id = $(this).data("variant") 5627 const image = $(this).find(".card-image img").attr("src") 5628 const title = $(this).find(".card-meta h5").text() 5629 const qty = $(this).find(".card-qty input").val() 5630 const price = $(this).find(".card-qty input").data("price") 5631 ids.push({ 5632 id: Number(id), 5633 image, 5634 title, 5635 qty, 5636 price 5637 }) 5638 }) 5639 myAddon(ids) 5640 } 5641 5642 async function customSpotify(idx, length, type){ 5643 let isCard = false 5644 5645 let p = $(".purchasePopupSpotify") 5646 const preLink = $(".spotifyLinkFirst").val() 5647 $("[data-index]").hide() 5648 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5649 p.find(".regulerAddons, .purchase-button").hide() 5650 p.find(".spotifyAddons").show() 5651 5652 const data = await trackUrl(preLink) 5653 5654 const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="13" height="11" viewB
5654ox="0 0 13 11" fill="none"> 5655 <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"/> 5656 </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://imgstore.io/images/2026/02/01/logo.1.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="13" height="11" viewB
5656ox="0 0 13 11" fill="none"> 5657 <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"/> 5658 </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>` 5659 // console.log(html) 5660 5661 $(".spotifyAddons").append(html) 5662 5663 $(`[data-index=${idx}]`).show() 5664 5665 if (preLink !== '') { 5666 $(".btn-action .btn").attr("disabled", false) 5667 } else { 5668 $(".btn-action .btn").attr("disabled", true) 5669 } 5670 5671 return html 5672 5673 } 5674 5675 $(".spotifyLinkFirst").keyup(async function(){ 5676 const v = $(this).val() 5677 if(v.includes('spotify:user:spotify')) { 5678 const correct = v.split('user:spotify:')[1] 5679 console.log(correct, 'BNER') 5680 $(this).val(correct) 5681 return 5682 } 5683 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5684 const data = await trackUrl(v) 5685 if(!data || !data.status) { 5686 $(this).parent().addClass("error") 5687 // $(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>`) 5688 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5689 return 5690 } 5691 $(this).parent().removeClass("error") 5692 // $(this).parent().remove("txt-error") 5693 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5694 } else { 5695 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5696 } 5697 }) 5698 5699 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5700 const parent = $(this).parents(".purchaseAddon") 5701 const next = parent.next(".sectionPurchase") 5702 if(next.hasClass("purchaseAddress")) { 5703 if(productType !== '') { 5704 console.log("clarity event " + productType + ' purchaseDelivery') 5705 window.clarity("event", `${productType} purchaseDelivery`) 5706 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5707 } 5708 } 5709 const data = $("#itemAddons").find(".selected") 5710 const length = $(".quantity-cart-46067682607319").val() 5711 const checked = data.length; 5712 if(checked > 0) { 5713 if(length > 0) { 5714 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5715 customSpotify(1, length, 'addon') 5716 } else { 5717 listAddon() 5718 } 5719 } else { 5720 parent.addClass("hide") 5721 next.removeClass("hide") 5722 } 5723 }) 5724 5725 $("#personalizeBtnSpotify .btn").click(async function(){ 5726 const isCity = $("#cities[required]") 5727 const isDate = $("#propDeliveryDate[required]") 5728 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5729 alert('Please choose Delivery City & Delivery Date') 5730 return 5731 } 5732 const data = await customSpotify(1, 1, 'product') 5733 if(data) { 5734 $("#backgroundPopup").fadeIn("slow"); 5735 $(".purchasePopupSpotify").fadeIn("slow"); 5736 5737 if(productType !== '') { 5738 console.log("clarity event " + productType + ' spotify') 5739 window.clarity("event", `${productType} spotify`) 5740 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5741 } 5742 } 5743 }) 5744 5745 function formatBytes(bytes, decimals = 2) { 5746 if (!+bytes) return '0 Bytes' 5747
5748 const k = 1024 5749 const dm = decimals < 0 ? 0 : decimals 5750 const sizes = ['B', 'KB', 'MB'] 5751 5752 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5753 5754 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5755 } 5756 5757 async function trackUrl(link){ 5758 try { 5759 let trackId = link.split('/').pop().split('?')[0]; 5760 let type = '' 5761 if(link.includes("spotify:")) { 5762 const uri = link.split('spotify:')[1] 5763 trackId = uri.split(':')[1] 5764 type = uri.split(':')[0] + 's' 5765 } else { 5766 if(link.match('track')){ 5767 type = 'tracks' 5768 } else if(link.match('playlist')) { 5769 type = 'playlists' 5770 } else if(link.match('artist')) { 5771 type = 'artists' 5772 } else if(link.match('album')) { 5773 type = 'albums' 5774 } 5775 } 5776 console.log(`${host}/api/spotify/${type}/${trackId}`) 5777 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5778 console.log(data, 'DATA') 5779 const song = data?.data?.name 5780 const artist = data?.data?.artist 5781 return { 5782 song, artist, type, trackId, status: data.status 5783 } 5784 } catch(err) { 5785 console.log(err) 5786 } 5787 } 5788 5789 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5790 const parent = $(this).parents("[data-index]") 5791 const preview = parent.find(".previewImage") 5792 const file = $(this)[0].files[0]; 5793 if (file) { 5794 const reader = new FileReader(); 5795 reader.onload = async function(e) { 5796 parent.find(".uploadResult label").hide() 5797 parent.find(".uploadedResult").remove() 5798 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5799 <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> 5800 <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;">
5800<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 5801 <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 /> 5802 </svg> 5803 </span></div></div>`) 5804 parent.find(".frameImageUploaded svg").hide() 5805 parent.find(".frameImage").addClass("uploaded") 5806 preview.attr("src", e.target.result); 5807 preview.show(); 5808 let formData = new FormData(); 5809 formData.append("file", file); 5810 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5811 method: "POST", 5812 body: formData 5813 }) 5814 const result = await response.json(); 5815 if(result){ 5816 parent.find(".resultPhotoSpotify").val(result.url) 5817 } 5818 } 5819 5820 reader.readAsDataURL(file); 5821 } else { 5822 preview.hide(); 5823 } 5824 }); 5825 5826 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5827 $(this).next("input[type=file]").trigger("click") 5828 }) 5829 5830 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5831 $(this).parents("input[type=file]").trigger("click") 5832 }) 5833 5834 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5835 const parent = $(this).parents("[data-index]") 5836 parent.find(".uploadPhotoSpotify").val("") 5837 parent.find(".uploadResult label").show() 5838 parent.find(".uploadedResult").remove() 5839 parent.find(".frameImageUploaded svg").show() 5840 parent.find(".previewImage").hide() 5841 parent.find(".frameImage").removeClass("uploaded") 5842 }) 5843 5844 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5845 const parent = $(this).parents("[data-index]") 5846 parent.toggleClass("checked") 5847 }) 5848 5849 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5850 const parent = $(this).parents("[data-index]") 5851 const link = $(this).val() 5852 const data = await trackUrl(link) 5853 5854 console.log(data) 5855 5856 if(data.song) { 5857 parent.find(".spotifySong").val(data.song) 5858 parent.find(".spotifyData").find("h3").text(data.song) 5859 } 5860 if(data.artist) { 5861 parent.find(".spotifyArtist").val(data.artist) 5862 parent.find(".spotifyData").find("p").text(data.artist) 5863 } 5864 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5865 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5866 if (data.status === true) { 5867 parent.find(".btn-action .btn").attr("disabled", false) 5868 } else { 5869 parent.find(".btn-action .btn").attr("disabled", true) 5870 } 5871 }) 5872
5873 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5874 const parent = $(this).parents("[data-index]") 5875 const v = $(this).val() 5876 parent.find(".spotifyData h3").text(v) 5877 }) 5878 5879 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5880 const parent = $(this).parents("[data-index]") 5881 const v = $(this).val() 5882 parent.find(".spotifyData p").text(v) 5883 }) 5884 5885 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5886 const parent = $(this).parents("[data-index]") 5887 const length = parent.data("length") 5888 const index = parent.data("index") 5889 const indexNext = Number(index) + 1 5890 customSpotify(indexNext, length, 'addon') 5891 }) 5892 5893 5894 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5895 const parent = $(this).parents(".purchaseAddon") 5896 const next = parent.next(".sectionPurchase") 5897 parent.addClass("hide") 5898 next.removeClass("hide") 5899 next.find(".purchase-button").show() 5900 listAddon() 5901 }) 5902 5903 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5904 const t = $(this).parents("[data-index]") 5905 const parent = $(this).parents(".sectionPurchase") 5906 const current = t.data("index") 5907 const prevCurrent = Number(current) - 1 5908 if(current == 1) { 5909 parent.removeClass("purchaseAddonSpotify") 5910 parent.find(".purchase-button").show() 5911 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5912 $(".spotifyAddons").empty() 5913 $(".regulerAddons").show() 5914 return 5915 } 5916 t.hide() 5917 t.prev("[data-index]").show() 5918 t.remove() 5919 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5920 }) 5921 5922 $("#personalizeBtn .btn").click(async function() { 5923 loadPopupPersonalize() 5924 }); 5925 5926 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5927 $(".sectionPurchaseSpotify").hide() 5928 loadPopupPersonalize() 5929 }) 5930 5931 $(".close-purchase-popup").click(function() { 5932 disablePopup(); 5933 }); 5934 $("#backgroundPopup").click(function() { 5935 // disablePopup(); 5936 }); 5937 5938 $("#popupCart .close-purchase-popup").click(function() { 5939 location.reload() 5940 }); 5941 5942 $('#popupCart').on('hide.bs.modal', function (e) { 5943 location.reload() 5944 }) 5945 5946 $(".next-card").click(function(){ 5947 const parent = $(this).parents(".sectionPurchase") 5948 const next = parent.next(".sectionPurchase") 5949 parent.addClass("hide") 5950 next.removeClass("hide") 5951 }) 5952 5953 $(".back-purchase-button").click(function(){ 5954 const parent = $(this).parents(".sectionPurchase") 5955 const prev = parent.prev(".sectionPurchase") 5956 parent.addClass("hide") 5957 prev.removeClass("hide") 5958 }) 5959 5960 $(document).keypress(function(e) { 5961 if (e.keyCode == 27 && popupStatus == 1) { 5962 disablePopup(); 5963 } 5964 }); 5965 5966 const parentImg = $(".case-img-preview") 5967 const parentVid = $(".case-video-preview") 5968 5969 function readURL(input) { 5970 if (input.files && input.files[0]) { 5971 let reader = new FileReader(); 5972 5973 let type = 'image/jpeg' 5974 const size = input.files[0].size 5975 if(input.files[0].type.match('video/')){ 5976 type = 'video/mp4' 5977 if(size > 15728640) { 5978 alert('File size exceeds maximum limit 15 MB') 5979 return 5980 } 5981 } else { 5982 if(size > 5242880) { 5983 alert('File size exceeds maximum limit 5 MB') 5984 return 5985 } 5986 } 5987 5988 reader.onload = function (e) { 5989 $(".nextBtn").attr("disabled", true) 5990 if(type === 'image/jpeg') { 5991 5992 $('.placeholder-image').hide(); 5993 $('.preview-image').show() 5994 $('.preview-image').attr('src', e.target.result); 5995 5996 } else { 5997 // parentVid.find(".ajax-loader").show(); 5998 $(".steps-card-preview").addClass("loading") 5999 } 6000 } 6001 6002 6003 6004 reader.readAsDataURL(input.files[0]); 6005 } 6006 } 6007 6008 async function readURLPapan(input) { 6009 if (input.files && input.files[0]) { 6010 let reader = new FileReader(); 6011 6012 reader.onload = function (e) { 6013 $('.btn-upload-papan').siblings('label').hide(); 6014 $('.btn-upload-papan img').attr('src', e.target.result); 6015 $('.btn-upload-papan img').show(); 6016 $('.svgLogoPapan').hide(); 6017 } 6018 6019 const type = 'image/jpeg' 6020 const name = `logo-8144957800663-${Date.parse(new Date())}` 6021 6022 let formData = new FormData(); 6023 formData.append("file", input.files[0]); 6024 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6025 method: "POST", 6026 body: formData 6027 }) 6028 const result = await response.json(); 6029 if(result) { 6030 const url = result.url 6031 $("[data-properties=papan-logo]").val(url) 6032 } 6033
6034 reader.readAsDataURL(input.files[0]); 6035 } 6036 } 6037 6038 async function readURLAddress(input) { 6039 console.log(input, 'readURLAddress') 6040 if (input.files && input.files[0]) { 6041 let reader = new FileReader(); 6042 6043 reader.onload = function (e) { 6044 $('.photo-address').attr('src', e.target.result); 6045 $('.photo-address').show(); 6046 } 6047 6048 const type = 'image/jpeg' 6049 const name = input.files[0].name?.split('.')[0] 6050 6051 let formData = new FormData(); 6052 formData.append("file", input.files[0]); 6053 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6054 method: "POST", 6055 body: formData 6056 }) 6057 const result = await response.json(); 6058 6059 reader.readAsDataURL(input.files[0]); 6060 6061 return result 6062 } 6063 } 6064 6065 6066 6067 6068 async function addToCartUang() { 6069 var productAddOnId1 = 42122101162199; 6070 var productAddOnId2 = 42122101194967; 6071 var product_id = 8144957800663 6072 const data = { 6073 items: [ 6074 { 6075 quantity: $("#Quantity-" + productAddOnId1).val(), 6076 id: productAddOnId1, 6077 "properties": { "Time": $("#properties-time").val() } 6078 }, 6079 { 6080 quantity: $("#Quantity-" + productAddOnId2).val(), 6081 id: productAddOnId2, 6082 "properties": { "Time": $("#properties-time").val() } 6083 } 6084 ] 6085 } 6086 await fetch(window.Shopify.routes.root + 'cart/add.js', { 6087 method: 'POST', 6088 headers: { 6089 'Content-Type': 'application/json' 6090 }, 6091 body: JSON.stringify(data) 6092 }) 6093 .then(response => { 6094 console.error('Sukses Buket Uang:', response); 6095 $(".form-flower").submit() 6096 }) 6097 .catch((error) => { 6098 console.error('Error Buket Uang:', error); 6099 $(".form-flower").submit() 6100 }); 6101 } 6102 6103 async function saveCard(){ 6104 let isCard = true 6105 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 6106 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 6107 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 6108 const foto = $("#properties-photo").val() 6109 const video = $("#properties-video").val() 6110 const data = JSON.stringify({ 6111 "id": qrID, 6112 "penerima": $("#properties-nama-penerima").val(), 6113 "kartu_penerima": kartu_penerima, 6114 "kartu_ucapan": kartu_ucapan, 6115 "kartu_pengirim": kartu_pengirim, 6116 "foto": foto, 6117 "video": video, 6118 "productId": "8144957800663", 6119 "order_name": "", 6120 "status": "Cart" 6121 }) 6122 6123 6124 } 6125 6126 async function additem(items){ 6127 try { 6128 let formData = items 6129 if(items?.length) { 6130 formData = { 6131 'items': items 6132 }; 6133 } 6134 6135 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 6136 method: 'POST', 6137 headers: { 6138 'Content-Type': 'application/json', 6139 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 6140 }, 6141 body: JSON.stringify(formData) 6142 }) 6143 6144 const data = await add.json(); 6145 return data 6146 } catch(err){ 6147 console.log('Error additem', err) 6148 } 6149 } 6150 6151 async function addons(){ 6152 let items = [] 6153 $(".addon-item").each(function(){ 6154 const p = $(this) 6155 const props = p.next(".propsAddonSpotify") 6156 const id = $(this).data("id") 6157 const quantity = $(this).data("qty") 6158 const propId = $("#properties-time").val() 6159 let properties = {} 6160 if(id === 46067682607319) { 6161 const link = props.find(".spotifyLinkAddon").text() 6162 const photo = props.find(".spotifyFotoAddon").text() 6163 const song = props.find(".spotifySongAddon").text() 6164 const artist = props.find(".spotifyArtistAddon").text() 6165 properties = { 6166 id: propId, 6167 "Spotify Link": link !== '' ? link : '-', 6168 "Spotify Photo": photo !== '' ? photo : '-', 6169 "Spotify Song": song !== '' ? song : '-', 6170 "Spotify Artist": artist !== '' ? artist : '-', 6171 type: 'addon' 6172 } 6173 } else { 6174 properties = { 6175 "id": propId, 6176 "type": "addon" 6177 } 6178 } 6179 items.push({ 6180 id, 6181 quantity, 6182 properties 6183 }) 6184 }) 6185 return items 6186 } 6187 6188 async function propItems() { 6189 let props = {} 6190 $("[data-properties]").each(function(e){ 6191 let elementType = this.tagName;
6192 const k = $(this).data("properties") 6193 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') { 6194 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6195 if(v !== '') { 6196 props[k] = v?.replace(/[\s\n]/g, ''); 6197 } 6198 } 6199 }) 6200 return props 6201 } 6202 6203 async function showPopupCart(items){ 6204 if(productType !== '') { 6205 console.log("clarity event " + productType + ' completeOrder') 6206 window.clarity("event", `${productType} completeOrder`) 6207 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6208 } 6209 $("#popupCart").show() 6210 6211 $(".propDeliveryCity").text($("#cities").val()) 6212 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6213 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6214 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6215 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6216 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6217 $(".propDeliveryProv").text($("#province").val()) 6218 $(".propDeliveryZip").text($("#zip").val()) 6219 6220 6221 6222 const addons = [] 6223 if(items && items.length > 0) { 6224 for(let i = 1; i < items.length; i++) { 6225 const spotifyLink = items[i].properties['Spotify Link'] 6226 const spotifyPhoto = items[i].properties['Spotify Photo'] 6227 const spotifySong = items[i].properties['Spotify Song'] 6228 const spotifyArtist = items[i].properties['Spotify Artist'] 6229 const price = items[i].price / 100 6230 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6231 <div class="col-12 col-lg-2"></div> 6232 <div class="col-12 col-lg-10"> 6233 <p> 6234 <span>spotify link</span> 6235 <span>${spotifyLink}</span> 6236 </p> 6237 <p> 6238 <span>Upload Photo</span> 6239 <span>${spotifyPhoto}</span> 6240 </p> 6241 <p> 6242 <span>song / playlist name</span> 6243 <span>${spotifySong}</span> 6244 </p> 6245 <p> 6246 <span>artist name</span> 6247 <span>${spotifyArtist}</span> 6248 </p> 6249 </div> 6250 </div>` : ''; 6251 addons.push(`<div class="row m-0"> 6252 <div class="imgAddonCart col-2"> 6253 <img 6254 width="43" 6255 src="${items[i].image}" 6256 alt="" 6257 > 6258 </div> 6259 <div class="imgAddonTitlePrice col-10 align-self-center"> 6260 <div class="row justify-content-between m-0"> 6261 <div class="col-12 col-lg-8"> 6262 <h5>${items[i].title}</h5> 6263 </div> 6264 <div class="col-12 col-lg-4 text-lg-right"> 6265 <span>${rupiah.format(price)}</span> 6266 </div> 6267 </div> 6268 </div> 6269 </div>${props}`) 6270 } 6271 } 6272 // console.log(addons) 6273 if(addons.length === 0) { 6274 $(".itemAddonCart").hide() 6275 return 6276 } 6277 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6278 $(".wrapperItemAddonCart").html(addons) 6279 } 6280 6281 const money = (money) => { 6282 return new Intl.NumberFormat('id-ID', 6283 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6284 ).format(money); 6285 } 6286 6287 async function showNoteMoney() { 6288 let qty50k = $("[data-properties='Uang 50k']").val() 6289 let qty100k = $("[data-properties='Uang 100k']").val() 6290 const total50k = Number(qty50k) * 50000 6291 const total100k = Number(qty100k) * 100000 6292 const total_all = total50k + total100k 6293 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6294 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6295 $(".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://amp.over-power.info/summitpointegc.html" target="_blank" style="text-decoration: underline;
6295 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6296 } 6297 6298 async function removeImage() { 6299 const data = JSON.stringify({ 6300 "ID": $("#properties-properties-qrId").val(), 6301 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6302 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6303 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6304 "Nama Penerima": $("#properties-nama-penerima").val(), 6305 "Order Number":"", 6306 "Status":"Product", 6307 "Foto": "", 6308 "Media": $("#properties-video").val(), 6309 "Image": "8144957800663" 6310 }) 6311 const remove = updateCard(data) 6312 if(remove) { 6313 $(this).hide() 6314 $("#properties-photo").val("-") 6315 $(".placeholder-image").show() 6316 $(".preview-image").attr("src", "") 6317 } 6318 } 6319 6320 async function removeVideo() { 6321 const data = JSON.stringify({ 6322 "ID": $("#properties-properties-qrId").val(), 6323 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6324 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6325 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6326 "Nama Penerima": $("#properties-nama-penerima").val(), 6327 "Order Number":"", 6328 "Status":"Product", 6329 "Foto": $("#properties-photo").val(), 6330 "Media": "", 6331 "Image": "8144957800663" 6332 }) 6333 const remove = updateCard(data) 6334 if(remove) { 6335 $("#properties-video").val("-") 6336 $(this).find("img").hide() 6337 $(this).hide() 6338 $(this).prev("p").text("Add video to make it more special (optional)") 6339 $("#label-input-video").show() 6340 $("#label-input-video span").text("Upload Video") 6341 $(".case-video-preview p span").remove() 6342 } 6343 } 6344 6345 async function loadItemOccasion(t, occasion) { 6346 const name = occasion?.replace('greeting-card-', '') 6347 $("#kartu-ucapan").val("") 6348 $("[data-occassion]").removeClass("selected") 6349 $("[data-properties=ucapan]").val("") 6350 $("#save-card").attr("disabled", true) 6351 t.addClass("selected") 6352 $("#show_note").attr("data-card-occassion", name) 6353 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6354 const products = data.products 6355 const html = [] 6356 for(let i = 0; i < products.length; i++) { 6357 const id = products[i].id 6358 const variantId = products[i].variants[0].id 6359 const img = products[i].images[0].src 6360 const title = products[i].title 6361 const price = products[i].variants[0].price 6362 const qty = products[i].variants[0].inventory_quantity 6363 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6364 <label for="card-${variantId}"></label> 6365 <div class="card-image"> 6366 <img src="${img}" alt="${title}" width="" height="" /> 6367 </div> 6368 <div class="card-meta text-center"> 6369 <h5>${title}</h5> 6370 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6371 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6372 </div> 6373 </div>` 6374 html.push(body) 6375 } 6376 const withoutCard = `<div class="item-card item-without-card"> 6377 <label for="card-0"></label> 6378 <div class="card-image"> 6379 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6380 </div> 6381 <div class="card-meta text-center"> 6382 <h5>
6382Send without a greeting card</h5> 6383 <input id="card-0" type="radio" name="id" value="" data-price=""> 6384 </div> 6385 </div>` 6386 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6387 }); 6388 } 6389 6390 $(document).ready(function(){ 6391 6392 // Observer to auto-trigger addon loading when addon section becomes visible 6393 const addonObserver = new MutationObserver(function(mutations) { 6394 mutations.forEach(function(mutation) { 6395 const target = $(mutation.target) 6396 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6397 if(!target.hasClass('hide')) { 6398 // Addon section just became visible, ensure items are loaded 6399 setTimeout(function() { 6400 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6401 console.log("Auto-triggering addon load...") 6402 $("[data-addon=upsell-all]").trigger("click") 6403 } 6404 }, 150) 6405 } 6406 } 6407 }) 6408 }) 6409 6410 // Start observing addon section 6411 const addonSection = document.querySelector('.purchaseAddon') 6412 if(addonSection) { 6413 addonObserver.observe(addonSection, { 6414 attributes: true, 6415 attributeFilter: ['class'] 6416 }) 6417 } 6418 6419 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6420 6421 $(this).find("span").addClass("loading") 6422 let isValid = true 6423 $(".formAddressPurchase [required]").each(function(){ 6424 const t = $(this) 6425 const input = t.val() 6426 const p = t.parent() 6427 if(input === '') { 6428 p.addClass("error") 6429 isValid = false 6430 } 6431 }) 6432 6433 if(!isValid) { 6434 $(this).find("span").removeClass("loading") 6435 return 6436 } 6437 6438 let items = [] 6439 const mainProps = { 6440 6441 "Delivery Date": $("#propDeliveryDate").val(), 6442 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6443 "Kota Pengiriman": $("#cities").val(), 6444 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6445 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6446 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6447 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6448 6449 6450 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6451 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6452 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6453 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6454 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6455 6456 6457 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6458 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6459 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6460 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6461 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6462 "type": 'product' 6463 } 6464 const props = await propItems() 6465 properties = {...mainProps, ...props }; 6466 const id = $("#productSelect").find('option:selected').val() 6467 console.log(id, 'main ID') 6468 const mainItem = { 6469 id: Number(id), 6470 quantity: 1, 6471 properties 6472 } 6473 items.push(mainItem) 6474 const cardId = $("#itemCards").find(".selected input").val() 6475 const cardItem = { 6476 id: Number(cardId), 6477 quantity: 1, 6478 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6479 } 6480 console.log(cardId, 'cardId') 6481 if(cardId) { 6482 items.push(cardItem) 6483 } 6484 const addon = await addons() 6485 if(addon) { 6486 for(let i = 0;
6486 i < addon.length; i++){ 6487 items.push({ 6488 id: addon[i].id, 6489 quantity: addon[i].quantity, 6490 properties: addon[i].properties 6491 }) 6492 } 6493 } 6494 const addItems = await additem(items) 6495 console.log(addItems.items, 'add items') 6496 if(addItems) { 6497 $(this).find("span").removeClass("loading") 6498 disablePopup() 6499 showPopupCart(addItems.items) 6500 6501 localStorage.setItem("items", JSON.stringify(addItems.items)) 6502 } 6503 }) 6504 6505 $("#addtocart-cart .btn").click(async function(){ 6506 const id = $("#productSelect").find('option:selected').val() 6507 const mainProps = { 6508 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6509 type: 'product' 6510 } 6511 const props = await propItems() 6512 const properties = { ...mainProps, ...props }; 6513 const items = { 6514 id: Number(id), 6515 quantity: 1, 6516 properties 6517 } 6518 const addItems = await additem(items) 6519 if(addItems) { 6520 showPopupCart(addItems.items) 6521 localStorage.setItem("items", JSON.stringify(addItems)) 6522 } 6523 }) 6524 6525 $(".formAddressPurchase [required]").change(function(){ 6526 const t = $(this) 6527 const p = t.parent() 6528 const v = t.val() 6529 if(v !== '') { 6530 p.removeClass("error") 6531 } 6532 }) 6533 6534 $("#save-card").click(async function(){ 6535 const parent = $(this).parents(".sectionPurchase") 6536 const next = parent.next(".sectionPurchase") 6537 $(this).find("span").addClass("loading") 6538 const card = await saveCard() 6539 console.log(card, 'ssaveCCC') 6540 if(card?.status === 200 || card?.status === 201) { 6541 $(".scanCard").removeClass("hide") 6542 $(this).find("span").removeClass("loading") 6543 parent.addClass("hide") 6544 next.removeClass("hide") 6545 if(next.hasClass("purchaseAddon")) { 6546 $("[data-addon=upsell-all]").click() 6547 console.log("clarity event addons") 6548 window.clarity("event", `${productType} add-ons`) 6549 // Ensure addon items are loaded when entering addon popup 6550 setTimeout(function() { 6551 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6552 $("[data-addon=upsell-all]").trigger("click") 6553 } 6554 }, 100) 6555 } 6556 if(next.hasClass("purchaseAddress")) { 6557 $("#zip").select2() 6558 } 6559 } 6560 }) 6561 6562 $("#skip-card").click(async function(){ 6563 $("#greetingCard [data-properties]").val("") 6564 $("#properties-photo").val("") 6565 $("#properties-video").val("") 6566 const parent = $(this).parents(".sectionPurchase") 6567 const next = parent.next(".sectionPurchase") 6568 parent.addClass("hide") 6569 next.removeClass("hide") 6570 // $("#itemCards").html("") 6571 removeImage() 6572 removeVideo() 6573 if(next.hasClass("purchaseAddon")) { 6574 $("[data-addon='upsell-all']").click() 6575 console.log("clarity event addons") 6576 window.clarity("event", `${productType} add-ons`) 6577 // Ensure addon items are loaded when entering addon popup 6578 setTimeout(function() { 6579 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6580 $("[data-addon='upsell-all']").trigger("click") 6581 } 6582 }, 100) 6583 } 6584 if(next.hasClass("purchaseAddress")) { 6585 $("#zip").select2() 6586 } 6587 }) 6588 6589 $("#msgCard").click(async function(){ 6590 $(this).parent().addClass("loading") 6591 let occasion = $(".selected[data-occassion]").data("occassion") 6592 occasion = occasion?.replace("greeting-card-", "") 6593 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6594 const d = data?.data 6595 for(let i = 0; i < d.length; i++) { 6596 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6597 const greeting = d[num]?.Greeting 6598 $(".greetingCard textarea").val(greeting) 6599 $(this).parent().removeClass("loading") 6600 } 6601 $("#save-card").attr("disabled", false) 6602 }) 6603 6604 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6605 const parent = $(this).parents(".sectionPurchase") 6606 const next = parent.next(".sectionPurchase") 6607 parent.addClass("hide") 6608 next.removeClass("hide") 6609 }) 6610 6611 $("#editCard").click(function(){ 6612 $(".custom-card").show() 6613 $(".preview-card").hide() 6614 }) 6615 6616 $("#first_name, #last_name").change(function(){ 6617 const v = $(this).val() 6618 const first_name = $("#first_name").val() 6619 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6620 $("[data-properties=nama-penerima]").val(first_name+last_name) 6621 }) 6622 6623 $("[data-occassion]").click(function(){ 6624 const t = $(this) 6625 const p = t.parents(".sectionPurchase") 6626 // $(".greetingCard").addClass("disabled") 6627 const occasion = t.data("occassion") 6628 loadItemOccasion(t, occasion) 6629 }) 6630 6631 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6632 const id = $(this).parent(".item-card").data("id") 6633 const t = $(this).parent(".item-card") 6634 const target = t.find("input") 6635 const v = $('.item-card input[type="radio"]:checked').val(); 6636 $("#itemCards .item-card").removeClass("selected") 6637 t.addClass("selected") 6638 $("#itemCards .item-card").find("input").attr("name", "") 6639 if(target.length > 0) { 6640 target.attr("name", "id[]") 6641 $("#properties-card").val(id) 6642 $(".greetingCard").removeClass("disabled") 6643 $("#skip-card").attr("disabled", false) 6644 } else { 6645 $("#properties-card").val("") 6646 } 6647 }) 6648 6649 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6650 const parent = $(this).parents(".sectionPurchase") 6651 const next = parent.next(".sectionPurchase") 6652 $(".greetingCard").addClass("disabled") 6653 parent.addClass("hide") 6654 next.removeClass("hide") 6655 $("[data-addon=upsell-all]").click() 6656 $("#zip").select2() 6657 }) 6658 6659 $("[data-properties=ucapan]").keyup(function(){ 6660 const v = $(this).val() 6661 const p = $(this).parents(".sectionPurchase") 6662 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6663 if(v.length > 3) { 6664 p.find(".next-purchase-button").attr("disabled", false) 6665 } else { 6666 p.find(".next-purchase-button").attr("disabled", true) 6667 } 6668 }) 6669 6670 $("[data-properties=penerima]").keyup(function(){ 6671 const v = $(this).val() 6672 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6673 }) 6674 6675 $("[data-properties=pengirim]").keyup(function(){ 6676 const v = $(this).val() 6677 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6678 }) 6679 6680 $(document).click(function(e){ 6681 6682 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6683 // $('#popupCart').fadeOut('slow'); 6684 // location.reload() 6685 }); 6686 6687 $(".toggleAddonCart").click(function(){ 6688 const p = $(this).parent(".itemAddonCart") 6689 p.toggleClass("open") 6690 }) 6691 6692 $(".btnViewCart").click(function(){ 6693 window.location.href = "https://outerbloom.com/cart"; 6694 }) 6695 6696 $(".btnViewCheckout").click(async function(){ 6697 $(this).find("span").addClass("loading") 6698 let zip = $("#zip").val() 6699 const first_name = $("#first_name").val() 6700 const last_name = $("#last_name").val() 6701 const company = $("#company").val() !== '' ? $("#company").val() : '' 6702 const address1 = $("#delivery_address").val() 6703 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6704 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6705 const phone = $("#recipient_number").val() 6706 const city = $("#cities").val() 6707 const province = $("#province").val() 6708 const country = 'Indonesia' 6709 const ver = Date.parse(new Date()) 6710 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}` 6711 6712 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6713 if(clear.status === 200) { 6714 const savedItem = window.localStorage.getItem("items"); 6715 const items = JSON.parse(savedItem) 6716 const addItems = await additem(items) 6717 console.log(addItems, 'new addItems') 6718 if(addItems) { 6719 window.location.href = `https://outerbloom.com/checkout?${params}`; 6720 } 6721 } 6722 }) 6723 6724 $(".btnContinueShopping").click(function(){ 6725 window.location.href = "https://outerbloom.com/"; 6726 }) 6727 6728 if (isIOS) { 6729 $(".empty-state-card").click(function(){ 6730 $("#input-foto").trigger("click") 6731 }) 6732 $(".btn-upload-image").click(function(){ 6733 $("#input-foto").trigger("click") 6734 }) 6735 $("[for=input-video]").click(function(){ 6736 $("#input-video").trigger("click") 6737 }) 6738 $(".btn-upload-papan").click(function(){ 6739 $("#logoPapan").trigger("click") 6740 }) 6741 } 6742 6743 $("[data-properties]").each(function(){ 6744 const select = $(this).parents(".form-group").find("select") 6745 $(this).change(function(){ 6746 const name = $(this).data("properties") 6747 const v = $(this).val() 6748 if (name == 'telepon-penerima') { 6749 let phone = v.replace(/[^0-9]/g, '') 6750 $(this).val(phone); 6751 $("#properties-telepon-penerima").val(phone) 6752 $('.iti__search-input').val('-') 6753 } else { 6754 $("#properties-" + name).val(v) 6755 } 6756 }) 6757 select.on("change", function(){ 6758 const name = $(this).data("properties") 6759 const v = $(this).val() 6760 $("#properties-" + name).val(v) 6761 }) 6762 }) 6763 6764 $("#show_note").click(function(){ 6765 nameq = $("#properties-nama-penerima").val() 6766 dear = $("#properties-kartu-nama-penerima").val() 6767 card = $("[data-properties=ucapan]").val() 6768 sender = $("#properties-kartu-nama-pengirim").val() 6769 photo = $("#properties-photo").val() 6770 video = $("#properties-video").val() 6771 updateCard(nameq, dear, card, sender, photo, video, status) 6772 }) 6773 6774 $(".remove-image").click(function(e){ 6775 e.preventDefault() 6776 $(this).find("img").show() 6777 removeImage() 6778 }) 6779 6780 $(".remove-media").click(function(e){ 6781 e.preventDefault() 6782 $(this).find("img").show() 6783 removeVideo() 6784 }) 6785 6786 6787 6788 $("[data-delivery_method]").click(function(e){ 6789 e.preventDefault() 6790 const t = $(this) 6791 const data = t.data("delivery_method") 6792 $("[data-delivery_method]").removeClass("selected") 6793 t.addClass("selected") 6794 $("#cities").val("") 6795 $("#properties-delivery-date").val("-") 6796 $("#deliveryDate button").removeClass("selected") 6797 $("#full-date").val("Full Calendar â") 6798 $("#propDeliveryDate").val("") 6799 const step3 = $("#step-3") 6800 if(data.match('PickUp')) { 6801 $(".selfpickup-point").show() 6802 step3.find("[data-finished=false]").hide() 6803 $("#panel-4").hide() 6804 step3.find("[data-finished=true]").show() 6805 $("#cities").attr("required", false) 6806 $("#form-group-city").hide() 6807 $("#row-delivery-time").hide() 6808 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6809 $("#propDeliveryTime").attr("required", false) 6810 // $("#deliveryDate").find("button:first-child").addClass("stop") 6811 $(".form-selfpickup").show() 6812 $(".form-delivery").hide() 6813 $(".form-delivery").find("input, textarea, select").val("") 6814 $(".form-delivery").find("input, textarea, select").attr("required", false) 6815 $("#properties-shipping").val("0") 6816 $("#noteDeliveryDate").hide() 6817 $(".form-delivery .form-control").attr("required", false) 6818 $("#stepNav4").hide() 6819 6820 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6821 6822 6823 6824 6825 if(timeOfDay >= 16.01){ 6826 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6827 } 6828 } else { 6829 6830 6831 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6832 step3.find("[data-finished=false]").show() 6833 $("#panel-4").show() 6834 step3.find("[data-finished=true]").hide() 6835 $("#cities").attr("required", true) 6836 $(".selfpickup-point").hide() 6837 $("#form-group-city").show() 6838 $("#cities").val('').trigger('change'); 6839 $("#properties-kota-pengiriman").val("-") 6840 6841 $("#row-delivery-date, #row-delivery-time").show() 6842 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6843 $("#deliveryDate").find("button").removeClass("stop") 6844 $(".form-selfpickup").hide() 6845 $(".form-delivery").show() 6846 $(".form-delivery").find("input, textarea, select").attr("required", true)
6847 $(".form-delivery [data-properties]").attr("readonly", false) 6848 $("#properties-kodepos").val("-") 6849 $("#properties-alamat-penerima").val("-") 6850 $(".form-delivery .form-control").attr("required", true) 6851 $(this).parents(".setup-content").attr("id", "step-1") 6852 6853 $("#stepNav4").show() 6854 } 6855 }) 6856 6857 $("[name=selfpickup]").click(function(){ 6858 const p = $(this).parents(".row-pickup") 6859 const pickupCity = $("input[name='selfpickup']:checked").val(); 6860 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6861 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6862 6863 $(".row-pickup").removeClass("selected") 6864 p.addClass("selected") 6865 6866 $("#properties-kota-pengiriman").val(pickupCity) 6867 $("#province").val("Jakarta") 6868 $("#properties-alamat-penerima").val(pickupAddress) 6869 $("#properties-kodepos").val(pickupZip) 6870 }) 6871 6872 $("#cities").change(function(e){ 6873 e.preventDefault() 6874 $(this).parent(".row").find("p.error").remove() 6875 $("#full-date").val("Full Calendar") 6876 $("#deliveryDate, #deliveryDateFull label ").show() 6877 $("#deliveryDateFull").removeClass("filled") 6878 $(".btnChangeDeliveryDate").addClass("hide") 6879 $("#full-date").prop('disabled', false); 6880 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6881 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6882 const step3 = $("#step-3") 6883 $("#cityNote").remove() 6884 $("#noteDeliveryDate").hide() 6885 $("#noteDeliveryDate").empty() 6886 let v = $(this).val() 6887 let v2 = $('option:selected', this).attr('data-city'); 6888 let v3 = $('option:selected', this).attr('data-province'); 6889 let price = $('option:selected', this).attr('data-price'); 6890 $("#country").val(v) 6891 $("#properties-kota-pengiriman").val(v) 6892 $("#properties-shipping").val(price) 6893 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6894 $("#properties-delivery-date, #properties-delivery-time").val("-") 6895 $("#propDeliveryDate, #propDeliveryTime").val("") 6896 let note = $('option:selected', this).attr('data-note'); 6897 if(v === 'Kota Lainnya') { 6898 $("#noteDeliveryDate").show() 6899 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6900 $("#zip").attr("required", false) 6901 $("#zip").hide() 6902 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6903 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6904 $("#row-delivery-date, #row-delivery-time").hide() 6905 $("#properties-shipping").val("") 6906 // $(this).parents(".setup-content").attr("id", "step-2") 6907 6908 } else { 6909 $("#noteDeliveryDate").hide() 6910 $("#zip").attr("required", true) 6911 $("#zip").show() 6912 $("#row-delivery-date, #row-delivery-time").show() 6913 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6914 $("#deliveryDate").find("button").removeClass("stop") 6915 // $(this).parents(".setup-content").attr("id", "step-1") 6916 6917 } 6918 6919 6920 6921 // if(v !== 'Jakarta') { 6922 // $("[data-type=upsell]").hide() 6923 // } else { 6924 // $("[data-type=upsell]").show() 6925 // } 6926 // $('.collection-addons')[0].swiper.update(); 6927 6928 6929 getProvince(v) 6930 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6931 renderZip(v, v2, v3) 6932 6933 disabledSameDay() 6934 6935 6936 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6937 6938 $("#cardOccasion, #navAddon, .collection-addons").hide() 6939 6940 $("[data-addon=giftcard]").show() 6941 $("[data-addon=giftcard]").click() 6942 $("#itemAddons").show() 6943 $("#flower-step").addClass("nonjadetabek") 6944 } else { 6945 $("#cardOccasion, #navAddon, .collection-addons").show() 6946 $("[data-addon=all]").click() 6947 $("#flower-step").removeClass("nonjadetabek") 6948 } 6949 6950 if(v !== '') { 6951 $("#personalizeBtn .btn").attr("disabled", false) 6952 } else { 6953 $("#personalizeBtn .btn").attr("disabled", true) 6954 } 6955 6956 }) 6957 6958 $("#zip").change(function(e){ 6959 let v = $(this).val() 6960 var city = $("#cities").find('option:selected'); 6961 $("#properties-kodepos").val(v) 6962 if(city === 'Kota Lainnya') { 6963 $(this).attr("required", true) 6964 $("#recipient-address").val("") 6965 } 6966 }) 6967 6968 6969 var minDate = +7 6970 6971 6972 6973 $("#full-date").datepicker({ 6974 minDate, 6975 dateFormat: 'Mdd_yy', //Nop22_2021, 6976 6977 beforeShowDay: disabledays, 6978 6979 onSelect: function (date) { 6980 $("#deliveryDate, #deliveryDateFull label ").hide() 6981 $("#deliveryDateFull").addClass("filled") 6982 $(".btnChangeDeliveryDate").removeClass("hide") 6983 $("#full-date").prop('disabled', true); 6984 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6985 $(".date-full").addClass("selected") 6986 $(".date-single, .calendar-group").removeClass("selected") 6987 $("#propDeliveryTime").val('') 6988 $("#properties-delivery-time").val('-') 6989 $(".time-single").removeClass("selected") 6990 6991 6992 } 6993 }); 6994 6995 $(".btnChangeDeliveryDate").click(function(){ 6996 $("#deliveryDate, #deliveryDateFull label ").show() 6997 $("#deliveryDateFull").removeClass("filled") 6998 $(".btnChangeDeliveryDate").addClass("hide") 6999 $("#full-date").prop('disabled', false); 7000 }) 7001 7002 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 7003 e.preventDefault() 7004 $(this).parents("#row-delivery-date").find("p.error").remove() 7005 const fulldate = $(this).data("fulldate") 7006 const day = $(this).data("day") 7007 const date = $(this).data("date")
7008 const month = $(this).data("month") 7009 const year = $(this).data("year") 7010 const off_pagi = $(this).data("offpagi") 7011 const off_siang = $(this).data("offsiang") 7012 const off_Malam = $(this).data("offMalam") 7013 $(".calendarbutton").removeClass("selected") 7014 $(this).addClass("selected") 7015 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 7016 $("#propDeliveryTime").val('') 7017 $("#properties-delivery-time").val('-') 7018 $(".calendarbutton2").removeClass("selected") 7019 $("#full-date").val("Full Calendar") 7020 7021 7022 if(off_pagi && timeOfDay > off_pagi) { 7023 $("[data-time=Morning]").attr("disabled", true) 7024 } else { 7025 $("[data-time=Morning]").attr("disabled", false) 7026 } 7027 if(off_siang && timeOfDay > off_siang) { 7028 $("[data-time=Afternoon]").attr("disabled", true) 7029 } else { 7030 $("[data-time=Afternoon]").attr("disabled", false) 7031 } 7032 7033 7034 7035 }) 7036 7037 if(today === 14 && timeOfDay > 17.00) { 7038 $("#deliveryDate button:first-child").attr("disabled", true) 7039 } 7040 7041 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 7042 e.preventDefault() 7043 const time = $(this).data("time") 7044 const date = $("#propDeliveryDate").val() 7045 if(date == '') { 7046 return alert('Silakan pilih tanggal terlebih dahulu') 7047 } 7048 $(".calendarbutton2").removeClass("selected") 7049 $(this).addClass("selected") 7050 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 7051 }) 7052 7053 $('textarea.has-limit, input.has-limit').keyup(function () { 7054 max = this.getAttribute("maxlength"); 7055 let len = $(this).val().length; 7056 let limit = $(this).siblings(".limit"); 7057 if (len > max) { 7058 alert('you have reached the limit'); 7059 } else { 7060 limit.text(`${len}/${max}`); 7061 } 7062 }); 7063 7064 $("#button-action-step .btn").click(function(){ 7065 $(this).find("span").text("Processing..."); 7066 }); 7067 7068 $(".finishBtn").on('click', function() { 7069 $(this).addClass("is-adding"); 7070 // $(this).click(); 7071 }); 7072 7073 $('.setup-panel .nav-item a.btn-success').trigger('click'); 7074 7075 $("#button-action .btn").click(function(){ 7076 $("#flower-step").addClass("block"); 7077 $("#button-action").hide(); 7078 }); 7079 7080 $(".close-how-order").click(function(){ 7081 $("#flower-step").removeClass("block"); 7082 $("#button-action").show(); 7083 }); 7084 7085 $("#input-foto, #input-video").change(function(e){ 7086 readURL(this); 7087 }); 7088 7089 $("#logoPapan").change(function(){ 7090 readURLPapan(this); 7091 }); 7092 7093 $("#address-upload").change(async function(){ 7094 const upload_address = await readURLAddress(this) 7095 if(upload_address) { 7096 const url = upload_address.url 7097 $(".props-address-upload").val(url) 7098 $(".form-address").addClass("address-uploaded") 7099 $(".form-address-upload").addClass("uploaded") 7100 7101 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 7102 } 7103 }) 7104 7105 $(".address-manualy").click(function(){ 7106 $(".form-address-upload").removeClass("uploaded"); 7107 $(".photo-address").hide(); 7108 $(".form-address").removeClass("address-uploaded") 7109 $("#formAddressPurchase").find(".form-control").attr("required", true) 7110 }); 7111 7112 $(".case-video-preview").delegate(".replace-video", "click", function(){ 7113 $("#input-video").trigger("click") 7114 }) 7115 7116 $('.date-single').click(function(e) { 7117 e.preventDefault(); 7118 $('.date-single').removeClass('selected'); 7119 $('#full-date').removeClass('selected'); 7120 $(this).addClass('selected'); 7121 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 7122 }); 7123 $('#full-date').click(function(e){ 7124 e.preventDefault(); 7125 $('.date-single').removeClass('selected'); 7126 $(this).addClass('selected'); 7127 }); 7128 7129 // $("tr").each(function(){ 7130 // if($(this).text().match('SKU')) { 7131 // $(".sku-product").html($(this).parents("table").html()) 7132 // } 7133 // }) 7134 7135 $("#product-image").scroll(function(){ 7136 $(".desc-add").each(function(){ 7137 const img = $(this).find("img") 7138 const src = img.data("src") 7139 img.attr("src", src) 7140 }) 7141 }) 7142 7143 $(".product-fixed").hide() 7144 7145 let target = $("#personalizeBtn") 7146 7147 7148 $(".product-meta").scroll(function() { 7149 if ($(window).scrollTop() >= target.offset().top ) { 7150 $(".product-fixed").addClass("show") 7151 } else { 7152 $(".product-fixed").removeClass("show") 7153 } 7154 }); 7155 7156 $(window).scroll(function() { 7157 if ($(window).scrollTop() >= target.offset().top ) { 7158 $(".product-fixed").addClass("show") 7159 } else { 7160 $(".product-fixed").removeClass("show") 7161 } 7162 }); 7163 }); 7164 </script>
7164 7165 7166
7166<script> 7167 // 7168 </script>
7168 7169 7170
7170<script> 7171 $(document).ready(function(){ 7172 $('table tr td').each(function(){ 7173 var texto = $(this).text(); 7174 var nextto = $(this).next("td"); 7175 var sku = $("#data-sku").val() 7176 if(texto == 'SKU'){ 7177 nextto.text(sku) 7178 } 7179 }); 7180 7181 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 7182 $(".stamped-summary-actions-newreview").text("Tulis Review"); 7183 $("#tab-questions").text("Pertanyaan"); 7184 7185 $(".freeship .icon").click(function(){ 7186 $(".fs-content").slideToggle(); 7187 $(this).parents(".freeship").toggleClass("expand"); 7188 }); 7189 7190 var $easyzoom = $('.easyzoom').easyZoom(); 7191 // Setup thumbnails example 7192 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 7193 $('.thumbnails').on('click', 'a', function(e) { 7194 var $this = $(this); 7195 e.preventDefault(); 7196 // Use EasyZoom's `swap` method 7197 api1.swap($this.data('standard'), $this.attr('href')); 7198 }); 7199 7200 $('#playerID').click(function(){ 7201 var videoURL = $('#VdoID').attr('src'), 7202 dataplay = $('#VdoID').attr('data-play'); 7203 7204 //for check autoplay 7205 //if not set autoplay=1 7206 if(dataplay == 0 ){ 7207 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7208 $('#VdoID').attr('data-play',1); 7209 } 7210 else{ 7211 var videoURL = $('#VdoID').attr('src'); 7212 videoURL = videoURL.replace("?autoplay=1", ""); 7213 $('#VdoID').prop('src',''); 7214 $('#VdoID').prop('src',videoURL); 7215 7216 $('#VdoID').attr('data-play',0); 7217 } 7218 7219 }); 7220 7221 $(".product-photo-thumb-video").click(function(e){ 7222 e.preventDefault(); 7223 7224 var newEmbed = $(this).attr('href'); 7225 $("#featured-image-product").addClass("img-video"); 7226 $("#ProductPhotoImg").hide(); 7227 $("#featured-image-product .video").show(); 7228 $("#featured-image-product iframe").attr('src', newEmbed); 7229 $("#VdoID")[0].src += "&autoplay=1"; 7230 }); 7231 $(".product-single__thumbnail").click(function(evt){ 7232 evt.preventDefault(); 7233 $("#featured-image-product").removeClass("img-video"); 7234 $("#ProductPhotoImg").show(); 7235 $("#featured-image-product .video").hide(); 7236 $("#featured-image-product iframe").attr('src', ''); 7237 }); 7238 7239 if($('#product-meta .short-desc > div').length >= 1){ 7240 //console.log('div detected') 7241 var replacer = $('#product-meta .short-desc > div').contents(); 7242 $('#product-meta .short-desc > div').replaceWith(replacer); 7243 7244 var cAssured = $('.c-assured').detach(); 7245 cAssured.insertAfter('.meta-sds .stock-info'); 7246 } 7247 7248 7249 7250 $(".heading-toggle").click(function(){ 7251 $(this).parent().toggleClass("open") 7252 7253 }); 7254 }); 7255 </script>
7255 7256 7257 7258
7258<script type="application/json" id="ProductJson-Product"> 7259 7260 {"id":8144957800663,"title":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!"} 7261 </script>
7261 7262 7263
7263<script type="application/json" id="VariantJson-Product"> 7264 [ 7265 7266 { 7267 "incoming": false, 7268 "next_incoming_date": null 7269 } 7270 7271 ] 7272 </script>
7272 7273 7274 7275 7276 7277 </div> 7278 7279 7280
7280<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7280 7281 <style> 7282 .stamped-review-header-title, 7283 .stamped-review-header .author, 7284 .stamped-review-content-body, 7285 .stamped-sort-select, 7286 .stamped-review-header .verified-badge[data-type=buyer]:after, 7287 .stamped-review-header-byline, 7288 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7289 .stamped-review {margin-bottom: 0;} 7290 .stamped-review-body {padding-left: 65px;} 7291 .stamped-review:first-child {padding-top: 25px;} 7292 .stamped-review-content {clear: none;} 7293 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7294 .stamped-review-reply-body {padding-left: 65px;} 7295 .stamped-review-header .author {text-transform: capitalize;} 7296 .stamped-questions .stamped-review-content {padding-left: 65px;} 7297 7298 .stamped-pagination {margin: 20px 0 0;} 7299 .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;} 7300 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7301 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7302 .stamped-pagination li:hover a {background: #ddd;} 7303 .stamped-pagination .next {border-right: 1px solid #ccc;} 7304 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7305 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7306 7307 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7308 #stamped-pagination-question span {font-size: 14px;} 7309 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7310 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7311 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7312 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7313 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7314 7315 @media (max-width: 480px){ 7316 .stamped-review-reply {margin-left: 0!important;} 7317 select.stamped-sort-select {font-size: 13px!important;} 7318 } 7319 7320 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7321 display: block !important; 7322 } 7323 </style> 7324
7324<script> 7325 var selectCallback = function(variant, selector) { 7326 timber.productPage({ 7327 money_format: "Rp {{amount_no_decimals}}", 7328 variant: variant, 7329 selector: selector 7330 }); 7331 }; 7332 7333 jQuery(function($) { 7334 new Shopify.OptionSelectors('productSelect', { 7335 product: 7336 7337 7338 7339 7340 7341 {"id":8144957800663,"title":"OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eOLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!"}, 7342 onVariantSelected: selectCallback, 7343 enableHistoryState: true 7344 }); 7345 7346 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7347 7348 7349 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7350 7351 $('.selector-wrapper').hide(); 7352 7353 }); 7354 </script>
7354 7355 7356 7357 7358
7358<script type="application/ld+json"> 7359 { 7360 "@context": "http://schema.org", 7361 "@type": "Product", 7362 "offers": { 7363 "@type": "Offer", 7364 "availability":"https://schema.org/InStock", 7365 "price": 835000, 7366 "priceValidUntil": "05-10-2025", 7367 "priceCurrency": "IDR", 7368 "url": "https://www.summitpointegc.com/golf-tee-times" 7369 }, 7370 "brand": { 7371 "@type": "Brand", 7372 "name": "Outerbloom Florist" 7373 }, 7374 "sku": "8144957800663", 7375 "gtin13": "Jawa", 7376 "name": "OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik", 7377 "description": "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!", 7378 "category": "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!", 7379 "url": "https://www.summitpointegc.com/golf-tee-times", 7380 "image": { 7381 "@type": "ImageObject", 7382 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7383 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7384 "name": "OLXTOTO | Situs Toto Tempat Andalan 4D dengan Promo Menarik", 7385 "width": 1024, 7386 "height": 1024 7387 } 7388 } 7389 </script>
7389 7390 7391 7392 7393 7394 7395
7395<script id="bss-ltap-hide-price" type="text/javascript" > 7396 !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)}))}
7396)),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)}
7396)),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()}
7396if("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)}
7396if(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");
7396c&&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
7396-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");
7396i&&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
7396--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
7396opify.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");
7396e.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=
7396o.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");
7396if(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();
7396let 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()}]); 7397 </script>
7397 7398 7399 </main> 7400 7401 <div id="shopify-section-newsletter" class="shopify-section"><br> 7402 <style> 7403 #shopify-section-newsletter { 7404 background: url(https://imgstore.io/images/2026/02/09/olxtogel-background.jpeg); 7405 background-attachment: fixed; 7406 margin-bottom: 0; 7407 } 7408 input:-webkit-autofill, 7409 input:-webkit-autofill:hover, 7410 input:-webkit-autofill:active, 7411 input:-webkit-autofill:focus { 7412 -webkit-box-shadow:0 0 0 50px white inset; 7413 -webkit-text-fill-color: #ffffff; 7414 } 7415 .section-newsletter { 7416 max-width: 800px; 7417 margin: auto; 7418 padding: 50px 0; 7419 } 7420 .section-newsletter h2 { 7421 font-weight: 700; 7422 font-size: 24px; 7423 } 7424 .section-newsletter input[type="email"] { 7425 width: 100%; 7426 text-align: center; 7427 border: none; 7428 border-bottom: 1px solid #ffffff; 7429 font-size: 16px; 7430 color: #757575; 7431 background-color: #eeeeee; 7432 } 7433 .section-newsletter .row label { 7434 font-size: 14px; 7435 cursor: pointer; 7436 } 7437 .section-newsletter .radio-inline input { 7438 width: auto; 7439 } 7440 .section-newsletter .btn { 7441 width: 130px; 7442 border: 1px solid #ffffff; 7443 box-shadow: none; 7444 font-size: 16px; 7445 font-weight: 500; 7446 text-transform: uppercase; 7447 } 7448 .section-newsletter form { 7449 margin: 30px 0 60px; 7450 } 7451 .section-newsletter input[type="radio"] { 7452 position: absolute; 7453 width: 1px; 7454 height: 1px; 7455 } 7456 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7457 position: relative; 7458 padding-left: 28px; 7459 cursor: pointer; 7460 line-height: 20px; 7461 display: inline-block; 7462 color: #666; 7463 } 7464 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7465 content: ''; 7466 position: absolute; 7467 left: 0; 7468 top: 0; 7469 width: 18px; 7470 height: 18px; 7471 border: 1px solid #ddd; 7472 border-radius: 100%; 7473 background: #fff; 7474 } 7475 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7476 content: ''; 7477 width: 12px; 7478 height: 12px; 7479 background: #ffffff; 7480 position: absolute; 7481 top: 3px; 7482 left: 3px; 7483 border-radius: 100%; 7484 -webkit-transition: all 0.2s ease; 7485 transition: all 0.2s ease; 7486 } 7487 .section-newsletter [type="radio"]:not(:checked) + label:after { 7488 opacity: 0; 7489 -webkit-transform: scale(0); 7490 transform: scale(0); 7491 } 7492 .opt-newsletter {display:none;} 7493 .footer-newsletter p, .footer-newsletter p a { 7494 color: #757575; 7495 } 7496 @media (max-width:991px){ 7497 .section-newsletter h2 { 7498 font-size: 32px; 7499 } 7500 .section-newsletter input { 7501 width: 300px; 7502 font-size: 14px; 7503 } 7504 .section-newsletter { 7505 padding: 50px 20px; 7506 } 7507 } 7508 @media (max-width: 480px){ 7509 .section-newsletter input[type="email"] {font-size: 16px;} 7510 } 7511 </style> 7512 <style> 7513 .icon-img-footer { 7514 width: 80px; 7515 padding: 0px 5px; 7516 } 7517 @media (min-width: 768px) { 7518 .icon-img-footer { 7519 width: 120px; 7520 } 7521 } 7522 @media (min-width: 992px) { 7523 .icon-img-footer { 7524 width: 120px; 7525 } 7526 } 7527 7528 .button-login-daftar { 7529 display: grid; 7530 grid-template-columns: repeat(2, 1fr); 7531 font-weight: 700; 7532 } 7533 .button-login-daftar a { 7534 text-align: center; 7535 } 7536 .login, 7537 .register { 7538 color: #000000; 7539 padding: 15px 10px; 7540 font-size: 23px; 7541 } 7542 .login, 7543 .login-button { 7544 background: linear-gradient(to bottom, #1b0f00 0%, #ffd700 50%, #1b0f00 100%); 7545 border: 2px solid #cba302; 7546 } 7547 .register, 7548 .register-button { 7549 background: linear-gradient(to bottom, #1b0f00 0%, #ffd700 50%, #1b0f00 100%); 7550 border: 2px solid #cba302; 7551 } 7552 </style> 7553 7554 <!-- wp:html --> 7555
7555<script> 7556 document.addEventListener('DOMContentLoaded', 7557 function(){const faqItems=document.querySelectorAll('.faq-item'); 7558 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7559 question.addEventListener('click', 7560 ()=>{const isActive=item.classList.contains('active'); 7561 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7562 if(!isActive){item.classList.add('active')}})})}); 7563 </script>
7563 7564 7565 7566 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7567 </div> 7568 7569 <div class="faq-section"> 7570<h2>FAQ MEMBER SETIA OLXTOTO</h2> 7571<div class="faq-container"> 7572 7573 <div class="faq-item"> 7574 <button class="faq-question"> 7575 Apa itu OLXTOTO? 7576 <span></span> 7577 </button> 7578 <div class="faq-answer"> 7579 <p> 7580 OLXTOTO adalah platform Toto 4D yang menyediakan berbagai promo dan penawaran untuk pemain yang ingin mendapatkan nilai lebih dari setiap permainan. 7581 </p> 7582 </div> 7583 </div> 7584 7585 <div class="faq-item"> 7586 <button class="faq-question"> 7587 Siapa saja yang bisa bermain? 7588 <span></span> 7589 </button> 7590 <div class="faq-answer"> 7591 <p> 7592 Siapa pun yang sudah memahami cara bermain Toto 4D dan ingin memanfaatkan promo serta penawaran yang tersedia dapat bergabung dan menikmati layanan yang disediakan. 7593 </p> 7594 </div> 7595 </div> 7596 7597 <div class="faq-item"> 7598 <button class="faq-question"> 7599 Apakah ada promo untuk pemain baru? 7600 <span></span> 7601 </button> 7602 <div class="faq-answer"> 7603 <p> 7604 Tersedia berbagai promo yang ditujukan untuk pemain baru maupun pemain lama agar pengalaman bermain terasa lebih menguntungkan. 7605 </p> 7606 </div> 7607 </div> 7608 7609 <div class="faq-item"> 7610 <button class="faq-question"> 7611 Bagaimana cara mendapatkan promo? 7612 <span></span> 7613 </button> 7614 <div class="faq-answer"> 7615 <p> 7616 Pemain cukup mengikuti ketentuan yang berlaku pada setiap penawaran. Detail promo biasanya tersedia di halaman informasi atau menu utama platform. 7617 </p> 7618 </div> 7619 </div> 7620 7621 <div class="faq-item"> 7622 <button class="faq-question"> 7623 Apa keunggulan bermain di OLXTOTO? 7624 <span></span> 7625 </button> 7626 <div class="faq-answer"> 7627 <p> 7628 Fokus pada penawaran promo yang konsisten, pengalaman bermain yang nyaman, serta peluang keuntungan tambahan bagi pemain yang ingin bermain secara lebih optimal. 7629 </p> 7630 </div> 7631 </div> 7632 7633</div> 7634 7635 <div class="overlay overlay-cart"></div> 7636 <div id="CartDrawer" class="drawer drawer--right"> 7637 <div class="drawer__header pl-2 pr-2"> 7638 <div class="drawer__icon-cart display-table-cell"> 7639 <a href="/cart" class=""> 7640 <svg class="icon icon-cart" version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7640005-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> 7641 </a> 7642 </div> 7643 <div class="drawer__title h4">Keranjang Belanja</div> 7644 <div class="drawer__close js-drawer-close"> 7645 <button type="button"> 7646 <svg class="icon icon-close" version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="32" height="32" viewBox="0 0 32 32"> 7647 <title>icon-close</title> 7648 <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> 7649 </svg> 7650 </button> 7651 </div> 7652 </div> 7653 <div id="CartContainer" class="p-2"></div> 7654 </div> 7655 7656
7656<script> 7657 7658 </script>
7658 7659
7659<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7659 7660 <!-- /snippets/ajax-cart-template.liquid --> 7661 7662
7662<script id="CartTemplate" type="text/template"> 7663 7664 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7665 <div class="ajaxcart__inner" {{ cart.item_count }}> 7666 {{#items}} 7667 <div class="ajaxcart__product"> 7668 <div class="ajaxcart__row" data-line="{{line}}"> 7669 <div class="grid"> 7670 <div class="grid__item one-quarter"> 7671 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7672 </div> 7673 <div class="grid__item three-quarters"> 7674 <p class="d-block mb-3"> 7675 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7676 {{#if variation}} 7677 <span class="ajaxcart__product-meta p">{{variation}}</span> 7678 {{/if}} 7679 {{#properties}} 7680 {{#each this}} 7681 {{#if this}} 7682 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7683 {{/if}} 7684 {{/each}} 7685 {{/properties}} 7686 7687 </p> 7688 <div class="grid--full display-table"> 7689 <div class="grid__item display-table-cell one-half"> 7690 <div class="ajaxcart__qty"> 7691 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7692 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7693 <span class="visually-hidden">Kurangi jumlah barang</span> 7694 </button> 7695 <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]*"> 7696 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7697 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7698 <span class="visually-hidden">Tambahkan jumlah barang</span> 7699 </button> 7700 </div> 7701 </div> 7702 <div class="grid__item display-table-cell one-half text-right"> 7703 {{#if discountsApplied}} 7704 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7705 <br><span class="h4">{{{linePrice}}}</span> 7706 {{else}} 7707 <span class="h4">{{{linePrice}}}</span> 7708 {{/if}} 7709 </div> 7710 </div> 7711 {{#if discountsApplied}} 7712 <div class="grid--full display-table"> 7713 <div class="grid__item text-right"> 7714 {{#each discounts}} 7715 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7716 {{/each}} 7717 </div> 7718 </div> 7719 {{/if}} 7720 </div> 7721 </div> 7722 </div> 7723 </div> 7724 </div> 7725 </div> 7726 {{/items}} 7727 </div> 7728 <div class="ajaxcart__footer"> 7729 <div class="grid--full cart-subtotal py-2"> 7730 <p>Subtotal</p> 7731 <h3 class="primary">{{{totalPrice}}}</h3> 7732 {{#if totalCartDiscount}} 7733 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7734 {{/if}} 7735 </div> 7736 7737 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7738 7739 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7740 </div> 7741 </form> 7742 7743 </script>
7743 7744
7744<script id="AjaxQty" type="text/template"> 7745 7746 <div class="ajaxcart__qty"> 7747 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7748 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="24" viewBox="0 0 32 32"> 7749 <title>icon-minus</title> 7750 <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> 7751 </svg> 7752 <span class="visually-hidden">Kurangi jumlah barang</span> 7753 </button> 7754 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7755 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7756 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7757 <span class="visually-hidden">Tambahkan jumlah barang</span> 7758 </button> 7759 </div> 7760 7761 </script>
7761 7762
7762<script id="JsQty" type="text/template"> 7763 7764 <div class="js-qty mx-auto mt-2"> 7765 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7766 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7767 <span class="visually-hidden">Kurangi jumlah barang</span> 7768 </button> 7769 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7770 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7771 <svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7772 <span class="visually-hidden">Tambahkan jumlah barang</span> 7773 </button> 7774 </div> 7775 7776 </script>
7776 7777 7778 <style> 7779 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7780 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7781 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7782 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7783 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7784 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7785 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7786 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7787 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7788 </style> 7789
7789<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7789 7790
7790<script> 7791 jQuery(function($) { 7792 ajaxCart.init({ 7793 formSelector: '#AddToCartForm', 7794 cartContainer: '#CartContainer', 7795 addToCartSelector: '#AddToCartXX', 7796 cartCountSelector: '#CartCount, #CartCount2', 7797 cartCostSelector: '#CartCost', 7798 moneyFormat: "Rp {{amount_no_decimals}}" 7799 }); 7800 }); 7801 7802 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7803 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7804 timber.RightDrawer.open(); 7805 }); 7806 </script>
7806 7807 7808 7809 7810 7811 <style> 7812 /** Search AutoComplete **/ 7813 .resultsearch .ui-menu-item[data-cat="Collection"], 7814 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7815 .resultsearch .ui-widget.ui-widget-content { 7816 width: 100%; 7817 top: 48px; 7818 border: none; 7819 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7820 } 7821 .resultsearch .ui-menu-item {text-align: left;} 7822 .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;} 7823 .ui-state-active { 7824 border: none!important; 7825 background-color: #fafafa!important; 7826 color: #000!important; 7827 } 7828 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7829 .ui-menu .ui-menu-item {line-height: normal;} 7830 </style> 7831
7831<script> 7832 $(window).load(function(){ 7833 7834 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;} 7835 7836 $.widget("custom.catcomplete", $.ui.autocomplete, { 7837 _renderMenu: function (ul, items) { 7838 // have search reults split up in categories 7839 var that = this, 7840 currentCategory = ""; 7841 $.each(items, function (index, item) { 7842 if (item.category != currentCategory) { 7843 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7844 currentCategory = item.category; 7845 } 7846 that._renderItemData(ul, item); 7847 }); 7848 } 7849 }); 7850 7851 // higlight searched for term 7852 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7853 var term = this.element.val(), 7854 html = item.label.replace( term, "<b>$&</b>" ); 7855 return $( "<li>" ) 7856 .append(format(item)) 7857 .appendTo( ul ); 7858 }; 7859 7860 7861 var data = [ 7862 { 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
7862llection", 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: " " }
7862,{ 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: " " }
7862,{ 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: " " }
7862,{ 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
7862dal", 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-
7862hampers", 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
7862o-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: " " }
7862,{ 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: " " }
7862,{ 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: " " }
7862,{ 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: " " }
7862,{ 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: " " }
7862,{ 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: " " }
7862,{ 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: " " }
7862,{ label: "Paper Flower Board", category: "Collection", url: "/collections/papan-bunga-kertas", images: " ", price: " " },{ label: "Paper Flower Board Bali", category: "Collection", url: "/collections/papan-bunga-kertas-bali", images: " ", price: " " },{ label: "Paper Flower Board Gresik", category: "Collection", url: "/collections/papan-bunga-kertas-gresik", images: " ", price: " " },{ label: "Paper Flower Board Sidoarjo", category: "Collection", url: "/collections/papan-bunga-kertas-sidoarjo", images: " ", price: " " },{ label: "Paper Flower Board Surabaya", category: "Collection", url: "/collections/papan-bunga-kertas-surabaya", images: " ", price: " " },{ label: "Paper Flower Board Yogyakarta", category: "Collection", url: "/collections/papan-bunga-kertas-yogyakarta", images: " ", price: " " },{ label: "Parcel", category: "Collection", url: "/collections/parcel", images: " ", price: " " },{ label: "Parcel Buah", category: "Collection", url: "/collections/parcel-buah-segar", images: " ", price: " " },{ label: "Parcel Buah Bandung", category: "Collection", url: "/collections/parcel-buah-bandung", images: " ", price: " " },{ label: "Parcel Buah Semarang", category: "Collection", url: "/collections/parcel-buah-semarang", images: " ", price: " " },{ label: "Parcel Buah Sidoarjo", category: "Collection", url: "/collections/parcel-buah-sidoarjo", images: " ", price: " " },{ label: "Parcel Buah Surabaya", category: "Collection", url: "/collections/parcel-buah-surabaya", images: " ", price: " " },{ label: "Parcel Imlek 2025", category: "Collection", url: "/collections/parcel-imlek", images: " ", price: " " },{ label: "Parcel Imlek Bandung", category: "Collection", url: "/collections/parcel-imlek-bandung", images: " ", price: " " },{ label: "Parcel Imlek Nusantara", category: "Collection", url: "/collections/parcel-imlek-nusantara", images: " ", price: " " },{ label: "Parcel Lebaran Bandung", category: "Collection", url: "/collections/parcel-lebaran-bandung", images: " ", price: " " },{ label: "Parcel Lebaran Nusantara", category: "Collection", url: "/collections/parcel-lebaran-indonesia", images: " ", price: " " },{ label: "Parcel Lebaran Surabaya", category: "Collection", url: "/collections/parcel-lebaran-surabaya", images: " ", price: " " },{ label: "Parcel Makanan", category: "Collection", url: "/collections/parcel-makanan", images: " ", price: " " },{ label: "Parcel Natal & Tahun Baru 2026", category: "Collection", url: "/collections/hampers-natal", images: " ", price: " " },{ label: "Parcel Natal & Tahun Baru Bandung", category: "Collection", url: "/collections/parcel-natal-bandung", images: " ", price: " " },{ label: "Parcel Newborn Nusantara", category: "Collection", url: "/collections/parcel-newborn-nusantara", images: " ", price: " " },{ label: "Parcel Tahun Baru", category: "Collection", url: "/collections/new-year-tahun-baru", images: " ", price: " " },{ label: "Party Supplies", category: "Collection", url: "/collections/party-supplies", images: " ", price: " " },{ label: "Partysaurus", category: "Collection", url: "/collections/partysaurus", images: " ", price: " " },{ label: "Pasar Bunga Splendid Malang", category: "Collection", url: "/collections/pasar-bunga-splendid-malang", images: " ", price: " " },{ label: "Passionate Red Valentine", category: "Collection", url: "/collections/red-valentine", images: " ", price: " " },{ label: "Pendant", category: "Collection", url: "/collections/liontin", images: " ", price: " " },{ label: "Personalized Fashion", category: "Collection", url: "/collections/fashion", images: " ", price: " " },{ label: "Personalized Gift", category: "Collection", url: "/collections/personalized-gift", images: " ", price: " " },{ label: "Personalized Gift Pria", category: "Collection", url: "/collections/personalized-gift-pria", images: " ", price: " " },{ label: "Personalized Gift Wanita", category: "Collection", url: "/collections/personalized-gift-wanita", images: " ", price: " " },{ label: "Personalized Gifts", category: "Collection", url: "/collections/personalized-gifts", images: " ", price: " " },{ label: "Pesca Ice Cream Cakes", category: "Collection", url: "/collections/pesca", images: " ", price: " " },{ label: "Phone Case", category: "Collection", url: "/collections/phone-case", images: " ", price: " " },{ label: "Photobook", category: "Collection", url: "/collections/photobook", images: " ", price: " " },{ label: "Pisces âï¸ 19Feb - 20March", category: "Collection", url: "/collections/kado-untuk-zodiak-pisces", images: " ", price: " " },{ label: "Pohon Natal", category: "Collection", url: "/collections/pohon-natal", images: " ", price: " " },{ label: "Premium Hampers", category: "Collection", url: "/collections/parcel-premium", images: " ", price: " " },{ label: "Premium Newborn Hampers Collection", category: "Collection", url: "/collections/premium-newborn-hampers-collection", images: " ", price: " " },{ label: "Printing Cake", category: "Collection", url: "/collections/printing-cake", images: " ", price: " " },{ label: "Prom", category: "Collection", url: "/collections/prom", images: " ", price: " " },{ label: "Promo Merdeka", category: "Collection", url: "/collections/merdeka", images: " ", price: " " },{ label: "Rangkaian Bunga", category: "Collection", url: "/collections/rangkaian-bunga", images: " ", price: " " },{ label: "Rangkaian Bunga Dekorasi", category: "Collection", url: "/collections/rangkaian-bunga-dekorasi", images: " ", price: " " },{ label: "Rangkaian Bunga Ulang Tahun", category: "Collection", url: "/collections/rangkaian-bunga-ulang-tahun", images: " ", price: " " },{ label: "Romantic & Sweets", category: "Collection", url: "/collections/romantic-sweets", images: " ", price: " " },{ label: "Romantic Package", category: "Collection", url: "/collections/romantic-package", images: " ", price: " " },{ label: "Rose Beam", category: "Collection", url: "/collections/rose-beam", images: " ", price: " " },{ label: "Rose Box", category: "Collection", url: "/collections/rose-box", images: " ", price: " " },{ label: "Roses", category: "Collection", url: "/collections/bunga-mawar", images: " ", price: " " },{ label: "Rp 500.000 - Rp 800.000", category: "Collection", url: "/collections/rp-500-000-rp-800-000", images: " ", price: " " },{ label: "Rp 800.000 - Rp 1.000.000", category: "Collection", url: "/collections/rp-800-000-rp-1-000-000", images: " ", price: " " },{ label: "Rustic & Monochrome Ramadan Hampers", category: "Collection", url: "/collections/rustic-monochrome-ramadanhampers", images: " ", price: " " },{ label: "Rustic Bloom", category: "Collection", url: "/collections/dried-flowers", images: " ", price: " " },{ label: "Rustic Style Flowers", category: "Collection", url: "/collections/rustic-style-flowers", images: " ", price: " " },{ label: "Sagittarius âï¸ 22Nov - 21Des", category: "Collection", url: "/collections/kado-untuk-zodiak-sagittarius", images: " ", price: " " },{ label: "Sameday Delivery", category: "Collection", url: "/collections/sameday", images: " ", price: " " },{ label: "Savoury Dish", category: "Collection", url: "/collections/savoury-dish", images: " ", price: " " },{ label: "Saychiz", category: "Collection", url: "/collections/saychiz", images: " ", price: " " },{ label: "Scented Candles", category: "Collection", url: "/collections/scented-candles", images: " ", price: " " },{ label: "Scorpio âï¸ 24Oct - 21Nov", category: "Collection", url: "/collections/kado-untuk-zodiak-scorpio", images: " ", price: " " },{ label: "Self Pick-Up", category: "Collection", url: "/collections/self-pick-up", images: " ", price: " " },{ label: "Semua Produk", category: "Collection", url: "/collections/all", images: " ", price: " " },{ label: "Serenitea", category: "Collection", url: "/collections/serenitea", images: " ", price: " " },{ label: "Share Outerbloom Moment", category: "Collection", url: "/collections/share-moment", images: " ", price: " " },{ label: "Share your Happiness", category: "Collection", url: "/collections/share-happiness", images: " ", price: " " },{ label: "Signature Cake", category: "Collection", url: "/collections/signature-cake", images: " ", price: " " },{ label: "Signature Chinese New Year Hampers", category: "Collection", url: "/collections/signature-chinese-new-year-hampers", images: " ", price: " " },{ label: "Signature Christmas & New Year Hampers", category: "Collection", url: "/collections/signature-christmas-hampers", images: " ", price: " " },{ label: "Signature Hampers", category: "Collection", url: "/collections/signature-hampers", images: " ", price: " " },{ label: "Signature Hampers Luar Jadetabek", category: "Collection", url: "/collections/signature-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Signature Hampers Sameday", category: "Collection", url: "/collections/signature-hampers-sameday", images: " ", price: " " },{ label: "Signature Ramadan Hampers", category: "Collection", url: "/collections/signature-ramadan-hampers", images: " ", price: " " },{ label: "Slice Cake", category: "Collection", url: "/collections/slice-cake", images: " ", price: " " },{ label: "Snack Box", category: "Collection", url: "/collections/snack-box", images: " ", price: " " },{ label: "Sol et Terre", category: "Collection", url: "/collections/sol-et-terre", images: " ", price: " " },{ label: "Sorbet", category: "Collection", url: "/collections/sorbet", images: " ", price: " " },{ label: "Special Day", category: "Collection", url: "/collections/special-day", images: " ", price: " " },{ label: "Special Edition", category: "Collection", url: "/collections/special-edition", images: " ", price: " " },{ label: "Special For Her", category: "Collection", url: "/collections/special-for-her", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda!", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "OLXTOTO merupakan tempat andalan Toto 4D. Nikmati promo menarik untuk pemain cerdas situs toto yang selalu menguntungkan untuk anda! 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: " " },{ label: "
7862Toko 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: " " }
7862,{ 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
7862dal", 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: " " }, 7863 { 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" }
7863,{ 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" }
7863,{ 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" } 7864 ]; 7865 7866 7867 $( ".header-input-search" ).catcomplete({ 7868 appendTo: ".searchResult",source: function(request, response) { 7869 var results = $.ui.autocomplete.filter(data, request.term); 7870 var predicate = function () { 7871 var counter = { Collection: 0, Produk: 0 }; 7872 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7873 return fn 7874 }(); 7875 response(results.filter(predicate)); 7876 }, 7877 minLength:1, 7878 //results are clickable 7879 select: function( event, ui ) {window.location = ui.item.url;} 7880 }); 7881 $( ".header-input-search2" ).catcomplete({ 7882 appendTo: ".searchResult2", 7883 source: function(request, response) { 7884 var results = $.ui.autocomplete.filter(data, request.term); 7885 var predicate = function () { 7886 var counter = { Collection: 0, Produk: 0 }; 7887 var fn = function(item) { 7888 counter[item.category] += 1; 7889 return (counter[item.category] <= 5); 7890 } 7891 return fn 7892 }(); 7893 response(results.filter(predicate)); 7894 }, 7895 minLength:1, 7896 //results are clickable 7897 select: function( event, ui ) { 7898 window.location = ui.item.url; 7899 } 7900 }); 7901 }); 7902 </script>
7902 7903 7904
7904<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7904 7905
7905<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7905 7906 7907
7907<script> 7908 ( function() { 7909 var youtube = document.querySelectorAll( ".youtube" ); 7910 for (var i = 0; i < youtube.length; i++) { 7911 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7912 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7913 var image = new Image(); 7914 image.src = source; 7915 image.setAttribute("data-src", datasource); 7916 image.classList.add("swiper-lazy"); 7917 image.addEventListener( "load", function() { 7918 youtube[ i ].appendChild( image ); 7919 }( i ) ); 7920 youtube[i].addEventListener( "click", function() { 7921 var iframe = document.createElement( "iframe" ); 7922 iframe.setAttribute( "width", "480" ); 7923 iframe.setAttribute( "height", "480" ); 7924 iframe.setAttribute( "frameborder", "0" ); 7925 iframe.setAttribute( "allowfullscreen", "" ); 7926 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7927 this.innerHTML = ""; 7928 this.appendChild( iframe ); 7929 } ); 7930 }; 7931 7932 } )(); 7933 7934 /* Lazy Load */ 7935 const mainLazyLoad = new LazyLoad({threshold:400}); 7936 $(document).ready(function(){ 7937 7938 $("selectxxx").addClass("needsclick"); 7939 FastClick.attach(document.body); 7940 7941 var $customSelects = $('.select-search'); 7942 $customSelects.select2({ 7943 templateResult: function(result, container) { 7944 if (!result.id) { 7945 return result.text; 7946 } 7947 container.className += ' needsclick'; 7948 return result.text; 7949 } 7950 }); 7951 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7952 $(document).on('select2:open', () => { 7953 document.querySelector('.select2-search__field').focus(); 7954 }); 7955 7956 7957 $(".overlay").click(function(){ 7958 $(".js-drawer-close").click(); 7959 }); 7960 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7961 $("html").toggleClass("nav_open"); 7962 }); 7963 7964 $('.swatch-element label').on('click', function(){ 7965 var srcImg = $(this).data('src'); 7966 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7967 if ($(this).attr("href") == srcImg) { 7968 $(this).trigger('click'); 7969 } 7970 }); 7971 }); 7972 var defaultValue = $(".swatch input:checked").val() 7973 7974 $('#purchaseProduct .swatch [type=radio]').change(function() { 7975 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7976 var optionValue = $(this).val(); 7977 console.log(optionIndex, optionValue) 7978 var value = parseInt(optionValue.split(' ')[0]) 7979 $(this) 7980 .closest('#purchaseProduct') 7981 .find('.single-option-selector') 7982 .eq(optionIndex) 7983 .val(optionValue) 7984 .trigger('change'); 7985 7986 }); 7987 7988 }); 7989 $(document).ready(function(){ 7990 $(".nav-search a").click(function(e){ 7991 e.preventDefault(); 7992 $(".icon-navsearch").toggle(); 7993 $(".icon-navclose").toggle(); 7994 $(".site-nav__item > .site-nav__link").toggle(); 7995 $(".open-search").toggle(); 7996 $(".open-search input").focus(); 7997 }); 7998 $(".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'>"); 7999 if ($(window).width() < 768) { 8000 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8001 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8002 $(".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'>"); 8003 } else { 8004 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8005 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8006 $(".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'>"); 8007 } 8008 $(".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'>"); 8009 $(".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'>"); 8010 }); 8011 </script>
8011 8012 8013 8014 8015 8016 8017 8018 8019
8019<script type="text/javascript"> 8020 var wishlistpage = 0; 8021 8022 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 8023 </script>
8023 8024 8025 <!-- Remove duplicate wishlist.js reference --> 8026 <style> 8027 .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)}} 8028 </style> 8029 8030 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 8031 <div class="modal-dialog" role="document"> 8032 <div class="modal-content"> 8033 <div class="modal-body">Your Wishlist is empty!</div> 8034 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 8035 </div> 8036 </div> 8037 </div> 8038 8039 <div class="wishlist-model"> 8040 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 8041 <div class="modal-dialog white-modal"> 8042 <div class="modal-content"> 8043 <div class="modal-header"> 8044 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 8045 <svg class="icon icon-close" version="1.1" xmlns="https://img
8045store.io/images/2026/02/01/logo.1.png" width="32" height="32" viewBox="0 0 32 32"> 8046 <title>icon-close</title> 8047 <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> 8048 </svg> 8049 </button> 8050 </div> 8051 <div class="modal-body"> 8052 <div class="wishlist-left"> 8053 <div class="wishlist-note"> 8054 <span class="cirle"><svg version="1.1" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="32" height="32" viewBox="0 0 32 32"> 8055 <title>icon-check</title> 8056 <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> 8057 </svg></span> 8058 Product added to <a href="/pages/wish-list">Wishlist</a> 8059 </div> 8060 <div class="wishlist-product"> 8061 <div class="product-left"> 8062 <div class="wishlist-image"></div> 8063 </div> 8064 <div class="product-right"> 8065 <div class="wishlist-name"></div> 8066 <div class="wishlist-price"></div> 8067 </div> 8068 </div> 8069 </div> 8070 <div class="wishlist-right"> 8071 <div class="wishlist-cart"> 8072 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 8073 <div class="others-bottom"> 8074 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 8075 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 8076 <span id="AddToCartText" class="">Beli Sekarang</span> 8077 </button> 8078 </div> 8079 <div id="wishlist-variants-container" class="variants-wrapper"></div> 8080 <div class="quantity-content"> 8081 <label>QTY</label> 8082 <input type="number" size="5" class="" name="quantity" value="1" /> 8083 </div> 8084 </form> 8085 </div> 8086 </div> 8087 </div> 8088 </div> 8089 </div> 8090 </div> 8091 </div> 8092 8093 8094 <style> 8095 .stamped-badge[data-rating="0.0"]{display: none !Important;} 8096 8097 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 8098 border-radius: 0px; 8099 } 8100 .stamped-review-body { 8101 padding-left: 0px !important; 8102 } 8103 #product-reviews .stamped-header:after { 8104 display:none !Important; 8105 } 8106 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 8107 font-family:inherit !important; 8108 } 8109 </style> 8110 8111 8112 8113 <div id='stamped-rewards-init' class='stamped-rewards-init' 8114 data-key-public='' 8115 8116 ></div> 8117 8118
8118<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8118 8119 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 8120
8120<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8120 8121 8122
8122<script> 8123 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 8124 </script>
8124 8125
8125<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8125<style> 8126 .jss59 { 8127 background-color: rgba(0, 0, 0, 0.6); 8128 } 8129 .MuiBackdrop-root { 8130 top: 0; 8131 left: 0; 8132 right: 0; 8133 bottom: 0; 8134 display: flex; 8135 z-index: -1; 8136 position: fixed; 8137 align-items: center; 8138 justify-content: center; 8139 background-color: rgba(0, 0, 0, 0.5); 8140 -webkit-tap-highlight-color: transparent; 8141 } 8142 .MuiDialog-scrollPaper { 8143 display: flex; 8144 align-items: center; 8145 justify-content: center; 8146 } 8147 .MuiDialog-container { 8148 height: 100%; 8149 outline: 0; 8150 } 8151 .MuiPaper-elevation24 { 8152 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); 8153 } 8154 .MuiDialog-paper { 8155 margin: 32px; 8156 position: relative; 8157 overflow-y: auto; 8158 } 8159 .MuiDialog-paperScrollPaper { 8160 display: flex; 8161 max-height: calc(100% - 64px); 8162 flex-direction: column; 8163 } 8164 .MuiDialog-paperWidthSm { 8165 max-width: 600px; 8166 } 8167 #location-lock-dialog { 8168 top: 20%; 8169 left: 0; 8170 right: 0; 8171 width: 30%; 8172 margin: 0px auto; 8173 display: block; 8174 padding: 30px; 8175 z-index: 99999; 8176 position: fixed; 8177 font-size: 14px; 8178 background: rgb(0, 0, 0); 8179 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 8180 text-align: center; 8181 font-family: Roboto, Arial, sans-serif; 8182 line-height: 1; 8183 border-radius: 8px; 8184 -webkit-font-smoothing: subpixel-antialiased; 8185 } 8186 .MuiButtonBase-root { 8187 color: inherit; 8188 border: 0; 8189 cursor: pointer; 8190 margin: 0; 8191 display: inline-flex; 8192 outline: 0; 8193 padding: 0; 8194 position: relative; 8195 align-items: center; 8196 user-select: none; 8197 border-radius: 0; 8198 vertical-align: middle; 8199 -moz-appearance: none; 8200 justify-content: center; 8201 text-decoration: none; 8202 background-color: transparent; 8203 -webkit-appearance: none; 8204 -webkit-tap-highlight-color: transparent; 8205 } 8206 .MuiIconButton-root { 8207 flex: 0 0 auto; 8208 color: rgba(0, 0, 0, 0.54); 8209 padding: 12px; 8210 overflow: visible; 8211 font-size: 1.5rem; 8212 text-align: center; 8213 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8214 border-radius: 50%; 8215 } 8216 .MuiIconButton-label { 8217 width: 100%; 8218 display: flex; 8219 align-items: inherit; 8220 justify-content: inherit; 8221 } 8222 .MuiSvgIcon-root { 8223 fill: currentColor; 8224 width: 1em; 8225 height: 1em; 8226 display: inline-block; 8227 font-size: 1.5rem; 8228 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8229 flex-shrink: 0; 8230 user-select: none; 8231 } 8232 .MuiTouchRipple-root { 8233 top: 0; 8234 left: 0; 8235 right: 0; 8236 bottom: 0; 8237 z-index: 0; 8238 overflow: hidden; 8239 position: absolute; 8240 border-radius: inherit; 8241 pointer-events: none; 8242 } 8243 .jss36 { 8244 color: #222222; 8245 font-size: 24px; 8246 font-family: Roboto, Arial, sans-serif; 8247 font-weight: 500; 8248 } 8249 .jss37 { 8250 color: #555555; 8251 padding: 10px 0px 0px; 8252 font-size: 14px; 8253 } 8254 .MuiFormGroup-root { 8255 display: flex; 8256 flex-wrap: wrap; 8257 flex-direction: column; 8258 } 8259 .MuiFormGroup-row { 8260 flex-direction: row; 8261 } 8262 .jss63 { 8263 width: 85%; 8264 margin: 15px auto; 8265 display: flex; 8266 padding: 11px 0px 0px; 8267 justify-content: space-evenly; 8268 } 8269 .MuiFormControlLabel-root { 8270 cursor: pointer; 8271 display: inline-flex; 8272 align-items: center; 8273 margin-left: -11px; 8274 margin-right: 16px; 8275 vertical-align: middle; 8276 -webkit-tap-highlight-color: transparent; 8277 } 8278 .jss70 { 8279 margin: 0; 8280 } 8281 .MuiButtonBase-root { 8282 color: inherit; 8283 border: 0; 8284 cursor: pointer; 8285 margin: 0; 8286 display: inline-flex; 8287 outline: 0; 8288 padding: 0; 8289 position: relative; 8290 align-items: center; 8291 user-select: none; 8292 border-radius: 0; 8293 vertical-align: middle; 8294 -moz-appearance: none; 8295 justify-content: center; 8296 text-decoration: none; 8297 background-color: transparent; 8298 -webkit-appearance: none; 8299 -webkit-tap-highlight-color: transparent; 8300 } 8301 .MuiIconButton-root { 8302 flex: 0 0 auto; 8303 color: rgba(0, 0, 0, 0.54); 8304 padding: 12px; 8305 overflow: visible; 8306 font-size: 1.5rem; 8307 text-align: center; 8308 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8309 border-radius: 50%; 8310 } 8311 .MuiIconButton-colorSecondary { 8312 color: #f50057; 8313 } 8314 .jss71 { 8315 padding: 9px; 8316 } 8317 .MuiRadio-root { 8318 color: rgba(0, 0, 0, 0.54); 8319 } 8320 .jss64 { 8321 padding: 2px; 8322 } 8323 .MuiRadio-colorSecondary.Mui-checked { 8324 color: #f50057; 8325 } 8326 .MuiIconButton-label { 8327 width: 100%; 8328 display: flex; 8329 align-items: inherit; 8330 justify-content: inherit; 8331 } 8332 .MuiTypography-root { 8333 margin: 0; 8334 } 8335 .MuiTypography-body1 { 8336 font-size: 18px; 8337 font-family: Roboto,sans-serif; 8338 font-weight: 400; 8339 line-height: 1.5; 8340 } 8341 .location-popup_area-block__sp9Ws { 8342 display: -moz-box; 8343 display: flex; 8344 -moz-box-orient: vertical; 8345 -moz-box-direction: normal; 8346 flex-direction: column; 8347 -moz-box-pack: center; 8348 justify-content: center; 8349 position: relative; 8350 margin: 10px 10% 0; 8351 } 8352 .location-popup_pin-search-box__3l5mJ { 8353 width: 100%; 8354 display: -moz-box; 8355 display: flex; 8356 -moz-box-align: center; 8357 align-items: center; 8358 } 8359 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8360 position: absolute; 8361 z-index: 999; 8362 } 8363 .location-popup_place-icon__jSG0Q { 8364 color: #ffffff; 8365 padding-left: 8px; 8366 } 8367 .location-popup_place-icon__jSG0Q svg { 8368 width: 18px; 8369 height: 18px; 8370 } 8371 .location-popup_cancel-icon__FHujU { 8372 color: #fff; 8373 right: 10px; 8374 width: 16px; 8375 cursor: pointer; 8376 height: 16px; 8377 display: none; 8378 padding: 5px; 8379 position: absolute; 8380 background: #999; 8381 text-align: center; 8382 border-radius: 50%; 8383 } 8384 .location-popup_pin-search-box__3l5mJ>div>select { 8385 /* -webkit-box-shadow: 0 0 10px #ffffff; 8386 box-shadow: 0 0 10px #ffffff; */ 8387 text-transform: capitalize; 8388 border: 1px solid #ffffff; 8389 color: #ffffff; 8390 width: 100%; 8391 margin: 0; 8392 display: -moz-box; 8393 display: flex;
8394 padding: 0 30px; 8395 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8396 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8397 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8398 font-size: 16px; 8399 border-radius: 4px; 8400 height: 44px; 8401 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8402 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8403 } 8404 .MuiButtonBase-root { 8405 color: inherit; 8406 border: 0; 8407 cursor: pointer; 8408 margin: 0; 8409 display: inline-flex; 8410 outline: 0; 8411 padding: 0; 8412 position: relative; 8413 align-items: center; 8414 user-select: none; 8415 border-radius: 0; 8416 vertical-align: middle; 8417 -moz-appearance: none; 8418 justify-content: center; 8419 text-decoration: none; 8420 background-color: transparent; 8421 -webkit-appearance: none; 8422 -webkit-tap-highlight-color: transparent; 8423 } 8424 .MuiButton-root { 8425 color: rgba(0, 0, 0, 0.87); 8426 padding: 6px 16px; 8427 font-size: 0.875rem; 8428 min-width: 64px; 8429 box-sizing: border-box; 8430 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; 8431 font-family: Roboto,sans-serif; 8432 font-weight: 500; 8433 line-height: 1.75; 8434 border-radius: 4px; 8435 text-transform: uppercase; 8436 } 8437 .MuiButton-contained { 8438 color: rgba(0, 0, 0, 0.87); 8439 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); 8440 background-color: #e0e0e0; 8441 } 8442 .MuiButtonBase-root.Mui-disabled { 8443 cursor: default; 8444 pointer-events: none; 8445 } 8446 .MuiButton-label { 8447 width: 100%; 8448 display: inherit; 8449 align-items: inherit; 8450 justify-content: inherit; 8451 } 8452 .cartButton_login_content__2j1f7 { 8453 display: -moz-box; 8454 display: flex; 8455 text-align: center; 8456 z-index: 9; 8457 font-size: 18px; 8458 font-weight: 500; 8459 color: #fff; 8460 } 8461 8462 .jss35 { 8463 top: 5px; 8464 right: 5px; 8465 padding: 4px; 8466 position: absolute; 8467 border-radius: 50%; 8468 } 8469 .jss67 { 8470 cursor: pointer; 8471 font-size: 15px; 8472 line-height: 1.3; 8473 padding-left: 5px; 8474 } 8475 .jss69 { 8476 color: #222222; 8477 } 8478 .jss80 { 8479 color: #fff; 8480 width: 100%; 8481 height: 52px; 8482 padding: 11px 16px; 8483 font-size: 18px; 8484 min-width: 88px; 8485 min-height: 36px; 8486 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; 8487 font-weight: 500; 8488 line-weight: 1em; 8489 border-radius: 4px; 8490 text-transform: uppercase; 8491 background-color: #E87325; 8492 } 8493 @media (min-width: 991px){ 8494 .cartButton_login_content__2j1f7 { 8495 font-weight: 500; 8496 } 8497 } 8498 8499 @media (max-width: 992px) { 8500 #location-lock-dialog { 8501 width: 100%; 8502 top: auto; 8503 bottom: 0; 8504 padding-left: 0; 8505 padding-right: 0; 8506 } 8507 .MuiFormGroup-row { 8508 display: block 8509 } 8510 .MuiIconButton-label input { 8511 margin: 0; 8512 } 8513 } 8514 </style> 8515 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8516 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8517 <div tabindex="0" data-test="sentinelStart"></div> 8518 <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;"> 8519 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8520 <div class="jss31 undefined" id="location-lock-dialog"> 8521 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 8522 <span class="MuiIconButton-label"> 8523 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8524 <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> 8525 </svg> 8526 </span>
8527 <span class="MuiTouchRipple-root"></span> 8528 </button> 8529 <div> 8530 <div class="jss36">Select Delivery Location</div> 8531 <div class="jss37">Select a delivery location to see product availability</div> 8532 </div> 8533 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8534 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8535 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8536 <span class="MuiIconButton-label"> 8537 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8538 <span class="jss41"></span> 8539 </span> 8540 <span class="MuiTouchRipple-root"></span> 8541 </span> 8542 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8543 <span class="jss67 jss69">Jabodetabek</span> 8544 </span> 8545 </label> 8546 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8547 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8548 <span class="MuiIconButton-label"> 8549 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8550 <span class="jss40"></span> 8551 </span> 8552 <span class="MuiTouchRipple-root"></span> 8553 </span> 8554 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8555 <span class="jss67 jss68">Outside Jabodetabek</span> 8556 </span> 8557 </label> 8558 </div> 8559 <div> 8560 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8561 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8562 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8563 <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> 8564 </div> 8565 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8566 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8567 </div> 8568 <div style="width: 100%;"> 8569 <select id="choose-location" class="form-control"> 8570 <option value="">Choose Location</option> 8571 <option value="jakarta">Jakarta</option> 8572 <option value="bogor">Bogor</option> 8573 <option value="depok">Depok</option> 8574 <option value="tangerang">Tangerang</option> 8575 <option value="bekasi">Bekasi</option> 8576 </select> 8577 </div> 8578 </div> 8579 </div> 8580 </div> 8581 <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=""> 8582 <span class="MuiButton-label"> 8583 <span class=""></span> 8584 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8585 </span> 8586 </button> 8587 </div> 8588 </div> 8589 </div> 8590 <div tabindex="0" data-test="sentinelEnd"></div> 8591 </div> 8592 8593
8593<script> 8594 const jabodetabek = [ 8595 { 8596 "code": "jakarta", 8597 "city": "jakarta", 8598 "zip": [] 8599 }, 8600 { 8601 "code": "bogor", 8602 "city": "bogor", 8603 "zip": [] 8604 }, 8605 { 8606 "code": "depok", 8607 "city": "depok", 8608 "zip": [] 8609 }, 8610 { 8611 "code": "tangerang", 8612 "city": "tangerang", 8613 "zip": [] 8614 }, 8615 { 8616 "code": "bekasi", 8617 "city": "bekasi", 8618 "zip": [] 8619 } 8620 ] 8621 let cityNonJabodetabek = [ 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 "pengiriman_aceh", 9796 9797 9798 9799 9800 9801 "pengiriman_ambon", 9802 9803 9804 9805 9806 9807 "pengiriman_atambua", 9808 9809 9810 9811 9812 9813 "pengiriman_badung", 9814 9815 9816 9817 9818 9819 "pengiriman_bali", 9820 9821 9822 9823 9824 9825 "pengiriman_balikpapan", 9826 9827 9828 9829 9830 9831 "pengiriman_bandar lampung", 9832 9833 9834 9835 9836 9837 "pengiriman_bandung", 9838 9839 9840 9841 9842 9843 "pengiriman_bandung barat", 9844 9845 9846 9847 9848 9849 "pengiriman_banjarmasin", 9850 9851 9852 9853 9854 9855 "pengiriman_banyumas", 9856 9857 9858 9859 9860 9861 "pengiriman_banyuwangi", 9862 9863 9864 9865 9866 9867 "pengiriman_batam", 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 "pengiriman_biak", 9878 9879 9880 9881 9882 9883 "pengiriman_binjai", 9884 9885 9886 9887 9888 9889 "pengiriman_blitar", 9890 9891 9892 9893 9894 9895 "pengiriman_blora", 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 "pengiriman_bojonegoro", 9906 9907 9908 9909 9910 9911 "pengiriman_boyolali", 9912 9913 9914 9915 9916 9917 "pengiriman_bukittinggi", 9918 9919 9920 9921 9922 9923 "pengiriman_buleleng", 9924 9925 9926 9927 9928 9929 "pengiriman_ciamis", 9930 9931 9932 9933 9934 9935 "pengiriman_cianjur", 9936 9937 9938 9939 9940 9941 "pengiriman_cibinong", 9942 9943 9944 9945 9946 9947 "pengiriman_cikarang", 9948 9949 9950 9951 9952 9953 "pengiriman_cikupa", 9954 9955 9956 9957 9958 9959 "pengiriman_cilacap", 9960 9961 9962 9963 9964 9965 "pengiriman_cileunyi", 9966 9967 9968 9969 9970 9971 "pengiriman_cimahi", 9972 9973 9974 9975 9976 9977 "pengiriman_cirebon", 9978 9979 9980 9981 9982 9983 "pengiriman_ciwidey", 9984 9985 9986 9987 9988 9989 "pengiriman_deli serdang", 9990 9991 9992 9993 9994 9995 "pengiriman_demak", 9996 9997 9998 9999 10000 10001 "pengiriman_denpasar", 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 "pengiriman_garut", 10012 10013 10014 10015 10016 10017 "pengiriman_gianyar", 10018 10019 10020 10021 10022 10023 "pengiriman_gresik", 10024 10025 10026 10027 10028 10029 "pengiriman_gunung kidul", 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 "pengiriman_jambi", 10040 10041 10042 10043 10044 10045 "pengiriman_jayapura", 10046 10047 10048 10049 10050 10051 "pengiriman_jember", 10052 10053 10054 10055 10056 10057 "pengiriman_jepara", 10058 10059 10060 10061 10062 10063 "pengiriman_jombang", 10064 10065 10066 10067 10068 10069 "pengiriman_karanganyar", 10070 10071 10072 10073 10074 10075 "pengiriman_karawang", 10076 10077 10078 10079 10080 10081 "pengiriman_karo", 10082 10083 10084 10085 10086 10087 "pengiriman_kebumen", 10088 10089 10090 10091 10092 10093 "pengiriman_kediri", 10094 10095 10096 10097 10098 10099 "pengiriman_keerom", 10100 10101 10102 10103 10104 10105 "pengiriman_kendal", 10106 10107 10108 10109 10110 10111 "pengiriman_klaten", 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 "pengiriman_kudus", 10122 10123 10124 10125 10126 10127 "pengiriman_kupang", 10128 10129 10130 10131 10132 10133 "pengiriman_lainnya", 10134 10135 10136 10137 10138 10139 "pengiriman_lamongan", 10140 10141 10142 10143 10144 10145 "pengiriman_lampung", 10146 10147 10148 10149 10150 10151 "pengiriman_lampung barat", 10152 10153 10154 10155 10156 10157 "pengiriman_lembang", 10158 10159 10160 10161 10162 10163 "pengiriman_lombok", 10164 10165 10166 10167 10168 10169 "pengiriman_lumajang", 10170 10171 10172 10173 10174 10175 "pengiriman_madiun", 10176 10177 10178 10179 10180 10181 "pengiriman_magelang", 10182 10183 10184 10185 10186 10187 "pengiriman_majalengka", 10188 10189 10190 10191 10192 10193 "pengiriman_makassar", 10194 10195 10196 10197 10198 10199 "pengiriman_malang", 10200 10201 10202 10203 10204 10205 "pengiriman_manado", 10206 10207 10208 10209 10210 10211 "pengiriman_medan", 10212 10213 10214 10215 10216 10217 "pengiriman_mengwi", 10218 10219 10220 10221 10222 10223 "pengiriman_mojokerto", 10224 10225 10226 10227 10228 10229 "pengiriman_nganjuk", 10230 10231 10232 10233 10234 10235 "pengiriman_ngawi", 10236 10237 10238 10239 10240 10241 "pengiriman_padang", 10242 10243 10244 10245 10246 10247 "pengiriman_palembang", 10248 10249 10250 10251 10252 10253 "pengiriman_pasuruan", 10254 10255 10256 10257 10258 10259 "pengiriman_pati", 10260 10261 10262 10263 10264 10265 "pengiriman_pekalongan", 10266 10267 10268 10269 10270 10271 "pengiriman_pekanbaru", 10272 10273 10274 10275 10276 10277 "pengiriman_pemalang", 10278 10279 10280 10281 10282 10283 "pengiriman_ponorogo", 10284 10285 10286 10287 10288 10289 "pengiriman_pontianak", 10290 10291 10292 10293 10294 10295 "pengiriman_probolinggo", 10296 10297 10298 10299 10300 10301 "pengiriman_purbalingga", 10302 10303 10304 10305 10306 10307 "pengiriman_purwakarta", 10308 10309 10310 10311 10312 10313 "pengiriman_purwokerto", 10314 10315 10316 10317 10318 10319 "pengiriman_rembang", 10320 10321 10322 10323 10324 10325 "pengiriman_riau", 10326 10327 10328 10329 10330 10331 "pengiriman_salatiga", 10332 10333 10334 10335 10336 10337 "pengiriman_samarinda", 10338 10339 10340 10341 10342 10343 "pengiriman_semarang", 10344 10345 10346 10347 10348 10349 "pengiriman_sentani", 10350 10351 10352 10353 10354 10355 "pengiriman_serang", 10356 10357 10358 10359 10360 10361 "pengiriman_sidoarjo", 10362 10363 10364 10365 10366 10367 "pengiriman_singkawang", 10368 10369 10370 10371 10372 10373 "pengiriman_sragen", 10374 10375 10376 10377 10378 10379 "pengiriman_subang", 10380 10381 10382 10383 10384 10385 "pengiriman_sukabumi", 10386 10387 10388 10389 10390 10391 "pengiriman_sumbawa", 10392 10393 10394 10395 10396 10397 "pengiriman_surabaya", 10398 10399 10400 10401 10402 10403 "pengiriman_surakarta solo", 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 "pengiriman_tasikmalaya", 10414 10415 10416 10417 10418 10419 "pengiriman_tegal", 10420 10421 10422 10423 10424 10425 "pengiriman_timika", 10426 10427 10428 10429 10430 10431 "pengiriman_wamena", 10432 10433 10434 10435 10436 10437 "pengiriman_wiyung", 10438 10439 10440 10441 10442 10443 "pengiriman_wonokromo", 10444 10445 10446 10447 10448 10449 "pengiriman_yogyakarta", 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891
10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 ] 11060 console.log(cityNonJabodetabek) 11061 let non_jabodetabek = [] 11062 for(var i=0;i<cityNonJabodetabek.length;i++) { 11063 const obj = { 11064 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 11065 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 11066 "zip": [] 11067 } 11068 non_jabodetabek.push(obj) 11069 } 11070 let current_location = getCookie("location_delivery") 11071 $("[name=location]").change(function(){ 11072 let v = $(this).val() 11073 let option = [] 11074 if(v == 'Jabodetabek') { 11075 for(var i=0;i<jabodetabek.length;i++) { 11076 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 11077 option.push(jabodetabekHtml) 11078 } 11079 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11080 } else { 11081 for(var i=0;i<non_jabodetabek.length;i++) { 11082 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 11083 option.push(nonjabodetabekHtml) 11084 } 11085 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11086 } 11087 }) 11088 11089 $("#location-lock-submit").click(function(e){ 11090 let select = $("#choose-location") 11091 let value = select.val().toLowerCase() 11092 console.log(value) 11093 if(select.val() == "") { 11094 return alert("Choose Your Location") 11095 e.preventDefault() 11096 } 11097 setCookie("location_delivery",value,1000000); 11098 11099 location.reload(); 11100 11101 }) 11102 11103 $("#close-popup-delivery").click(function(){ 11104 $(".MuiDialog-root").hide() 11105 if(!current_location){ 11106 setCookie("location_delivery","jakarta",1000000); 11107 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 11108 } 11109 }) 11110 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 11111 $(".MuiDialog-root").show() 11112 }) 11113 11114 11115 if(!current_location){ 11116 11117 } else { 11118 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 11119 console.log(current_location) 11120 $("#choose-location").each(function(){ 11121 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 11122 $("#jabodetabek").trigger("click") 11123 } else { 11124 $("#non-jabodetabek").trigger("click") 11125 } 11126 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 11127 }) 11128 } 11129 11130 // 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'){ 11131 // $("#timeMalam").attr("disabled", false) 11132 // } else { 11133 // $("#timeMalam").attr("disabled", true) 11134 // } 11135 11136 if(current_location && current_location != 'jakarta') { 11137 $("#self-pickup").attr("disabled", true) 11138 } 11139 11140 function setCookie(name,value,days) { 11141 var expires = ""; 11142 if (days) { 11143 var date = new Date(); 11144 date.setTime(date.getTime() + (days*24*60*60*1000)); 11145 expires = "; expires=" + date.toUTCString(); 11146 } 11147 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 11148 } 11149 function getCookie(name) { 11150 var nameEQ = name + "="; 11151 var ca = document.cookie.split(';');
11152 for(var i=0;i < ca.length;i++) { 11153 var c = ca[i]; 11154 while (c.charAt(0)==' ') c = c.substring(1,c.length); 11155 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 11156 } 11157 return null; 11158 } 11159 </script>
11159 11160 <!-- One Tap --> 11161
11161<script> 11162 console.log("Outerbloom..."); 11163 </script>
11163 11164 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 11165 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 11166
11166<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
11166 11167
11167<script> 11168 const widgetConfig = { 11169 id: "clz7897za002cz7otleaz0d3d", 11170 showQuickResponse: false, 11171 quickResponsesData: [], 11172 themeColor: "#ffffff", 11173 widgetText: "", 11174 radiusType: "circle", 11175 widgetIconType: "whatsapp", 11176 position: "right", 11177 storeLogo: "", 11178 storeName: "Outerbloom", 11179 storeDescription: "", 11180 size: "small", 11181 showCard: false, 11182 widgetColorType: "solid", 11183 widgetColor1: "#008069", 11184 widgetColor2: "#008069", 11185 social: { 11186 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 11187 values: { 11188 instagram: { 11189 enabled: false, 11190 value: "", 11191 }, 11192 facebook: { 11193 enabled: false, 11194 value: "", 11195 }, 11196 email: { 11197 enabled: false, 11198 value: "", 11199 }, 11200 x: { 11201 enabled: false, 11202 value: "", 11203 }, 11204 tiktok: { 11205 enabled: false, 11206 value: "", 11207 }, 11208 linkedin: { 11209 enabled: false, 11210 value: "", 11211 }, 11212 youtube: { 11213 enabled: false, 11214 value: "", 11215 }, 11216 }, 11217 }, 11218 }; 11219 11220 function initializeWidget() { 11221 if (typeof BBBWidget !== 'undefined') { 11222 BBBWidget.init(widgetConfig); 11223 } else { 11224 setTimeout(initializeWidget, 100); 11225 } 11226 } 11227 11228 initializeWidget();</script>
11228 11229 11230 11231 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 11232 11233 11234 <div style="position: fixed; bottom: 0; right: 0"></div> 11235 11236
11236<script> 11237 console.info("bitlogin extension version: v2.5.7"); 11238 11239 const googleScript = document.createElement("script"); 11240 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 11241 document.head.append(googleScript); 11242 11243 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 11244 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 11245 11246 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"}}; 11247 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
11247n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 11248 const redirectUrl = appearance.redirectLink; 11249 11250 let locationCacheSet = false; 11251 let errorLocation = false; 11252 let oneTapSet = false; 11253 11254 let bitloginCache = { 11255 appearance: appearance, 11256 config: config 11257 }; 11258 11259 let isInitializing = false; 11260 const queue = []; 11261 11262 // Add CSS for the popup 11263 const popupStyles = document.createElement('style'); 11264 popupStyles.textContent = ` 11265 /* Styles for login popup */ 11266 .bitlogin-popup-overlay { 11267 position: fixed; 11268 top: 0; 11269 left: 0; 11270 width: 100%; 11271 height: 100%; 11272 background: rgba(0, 0, 0, 0.45); 11273 backdrop-filter: blur(4px); 11274 display: flex; 11275 align-items: center; 11276 justify-content: center; 11277 opacity: 0; 11278 transition: opacity 0.3s ease-in-out; 11279 z-index: 999999; 11280 } 11281 11282 .bitlogin-popup-overlay.visible { 11283 opacity: 1; 11284 } 11285 11286 .bitlogin-popup { 11287 background: #FFFFFF; 11288 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 11289 border-radius: 16px; 11290 width: 100%; 11291 max-width: 560px; 11292 display: flex; 11293 overflow: hidden; 11294 position: relative; 11295 opacity: 0; 11296 transform: translateY(20px) scale(0.98); 11297 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 11298 } 11299 11300 .bitlogin-popup.visible { 11301 opacity: 1; 11302 transform: translateY(0) scale(1); 11303 } 11304 11305 .bitlogin-popup-with-image { 11306 max-width: 640px; 11307 } 11308 11309 .bitlogin-popup-right-image { 11310 flex-direction: row-reverse; 11311 } 11312 11313 .bitlogin-popup-image { 11314 object-fit: cover; 11315 width: 50%; 11316 height: auto; 11317 } 11318 11319 .bitlogin-popup-content { 11320 padding: 32px; 11321 position: relative; 11322 width: 50%; 11323 } 11324 11325 .bitlogin-popup-close { 11326 position: absolute; 11327 top: 16px; 11328 right: 16px; 11329 background: white; 11330 border: none; 11331 width: 30px; 11332 height: 30px; 11333 display: flex; 11334 align-items: center; 11335 justify-content: center; 11336 cursor: pointer; 11337 transition: background-color 0.2s; 11338 color: inherit; 11339 padding: 0; 11340 } 11341 11342 .bitlogin-popup-close:hover { 11343 background-color: #e5e5e5; 11344 } 11345 11346 .bitlogin-popup-buttons { 11347 display: flex; 11348 flex-direction: column; 11349 gap: 12px; 11350 margin-top: 24px; 11351 } 11352 11353 /* Button styles within popup - override width for popup buttons */ 11354 .bitlogin-popup-buttons #google-login, 11355 .bitlogin-popup-buttons #facebook-login, 11356 .bitlogin-popup-buttons #apple-login, 11357 .bitlogin-popup-buttons #whatsapp-login, 11358 .bitlogin-popup-buttons #microsoft-login, 11359 .bitlogin-popup-buttons #twitter-login, 11360 .bitlogin-popup-buttons #amazon-login, 11361 .bitlogin-popup-buttons #instagram-login, 11362 .bitlogin-popup-buttons #magic-link-login, 11363 .bitlogin-popup-buttons #mobile-app-login { 11364 width: 100% !important; 11365 font-family: inherit !important; 11366 } 11367 11368 .bitlogin-popup-footer { 11369 margin-top: 32px; 11370 text-align: center; 11371 font-size: 14px; 11372 opacity: 0.6; 11373 } 11374 11375 /* Modern Typography */ 11376 .bitlogin-popup h2 { 11377 margin-top: 12px; 11378 font-size: 21px !important; 11379 line-height: 1.2 !important; 11380 font-weight: 700 !important; 11381 letter-spacing: -0.02em !important; 11382 margin-bottom: 16px !important; 11383 } 11384 11385 .bitlogin-popup-header { 11386 position: relative; 11387 margin-bottom: 24px; 11388 } 11389 11390 /* Modern gradient accent */ 11391 .bitlogin-popup-content > div { 11392 font-size: 16px !important; 11393 line-height: 1.2 !important; 11394 opacity: 0.85 !important; 11395 } 11396 11397 /* Enhanced button interactions */ 11398 .bitlogin-popup-buttons button { 11399 position: relative; 11400 overflow: hidden; 11401 } 11402 11403 @keyframes ripple { 11404 0% { 11405 transform: scale(0, 0); 11406 opacity: 0.5; 11407 } 11408 100% { 11409 transform: scale(100, 100); 11410 opacity: 0; 11411 } 11412 } 11413 11414 /* Responsive adjustments */ 11415 @media (max-width: 640px) { 11416 .bitlogin-popup { 11417 max-width: 90%; 11418 width: 90%; 11419 margin: 0 16px; 11420 } 11421 11422 .bitlogin-popup-with-image { 11423 flex-direction: column !important; 11424 } 11425 11426 .bitlogin-popup-image { 11427 width: 100%; 11428 height: 180px; 11429 } 11430 11431 .bitlogin-popup-content { 11432 padding: 24px; 11433 } 11434 11435 .bitlogin-popup h2 { 11436 font-size: 24px !important; 11437 } 11438 } 11439 `; 11440
11441 document.head.appendChild(popupStyles); 11442 11443 // Add fonts link for different font options 11444 const fontsLink = document.createElement('link'); 11445 fontsLink.rel = 'stylesheet'; 11446 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'; 11447 document.head.appendChild(fontsLink); 11448 11449 (async () => { 11450 try { 11451 let host = window.location.host; 11452 if (host === "admin.shopify.com") { 11453 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 11454 } 11455 11456 const urlSearchParams = new URLSearchParams(window.location.search); 11457 const checkoutUrl = urlSearchParams.get("checkout_url"); 11458 11459 async function init({ inputRef, index }) { 11460 if (isInitializing) { 11461 queue.push(() => init({ inputRef, index })); 11462 return; 11463 } 11464 11465 isInitializing = true; 11466 11467 try { 11468 let bitLoginSectionRoot = document.querySelector( 11469 `.bitlogin-root[data-index="${index}"]` 11470 ); 11471 11472 const formRef = inputRef?.closest( 11473 "form:not([action='/account/recover'])" 11474 ); 11475 11476 if (formRef && !bitLoginSectionRoot) { 11477 await getLocation(); 11478 11479 bitLoginSectionRoot = document.createElement(`div`); 11480 11481 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 11482 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 11483 11484 updateAppearance({ 11485 formRef, 11486 rootRef: bitLoginSectionRoot, 11487 host, 11488 }); 11489 } 11490 } catch (err) { 11491 console.error(`error while initiating bitlogin extensions`, err); 11492 } finally { 11493 // Release the lock 11494 isInitializing = false; 11495 11496 // Check if there are pending items in the queue 11497 if (queue.length > 0) { 11498 // Process the next function in the queue 11499 const nextFunction = queue.shift(); 11500 nextFunction(); 11501 } 11502 } 11503 } 11504 11505 function initAll() { 11506 return new Promise((resolve, reject) => { 11507 setTimeout(async () => { 11508 const inputRefs = document.querySelectorAll( 11509 'input[name="customer[email]"]' 11510 ); 11511 11512 for (let i = 0; i < inputRefs.length; i++) { 11513 const currentInputRef = inputRefs[i]; 11514 const isVisible = isElementVisible(currentInputRef); 11515 11516 if (isVisible) { 11517 await init({ inputRef: currentInputRef, index: i }); 11518 } 11519 } 11520 11521 resolve("ok"); 11522 }, 100); 11523 }); 11524 } 11525 11526 const observer = new MutationObserver((mutationsList) => { 11527 for (let mutation of mutationsList) { 11528 initAll(); 11529 } 11530 }); 11531 11532 observer.observe(document.body, { 11533 childList: true, 11534 subtree: true, 11535 attributes: true, 11536 }); 11537 11538 initAll(); 11539 11540 if (appearance.googleOneTap) { 11541 setupOneTap({ host, checkoutUrl }); 11542 } 11543 11544 // Initialize popup 11545 await initPopup(host); 11546 } catch (error) { 11547 console.error("Error initializing BitLogin:", error); 11548 } 11549 })(); 11550 11551 async function initPopup(host) { 11552 // Check if user is already logged in using Liquid checks properly 11553 const isLoggedIn = false || 11554 document.querySelector('.customer-logout-link') || 11555 document.querySelector('.account-link') || 11556 window.location.pathname.includes('/account'); 11557 11558 if (isLoggedIn) { 11559 return; // User is logged in, don't show popup 11560 } 11561 11562 try { 11563 // Fetch the popup configuration 11564 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 11565 .then(res => res.json()) 11566 .catch(err => { 11567 console.error('Error fetching popup configuration:', err); 11568 return null; 11569 }); 11570 11571 if (!popupConfig || !popupConfig.enabled) { 11572 return;
11572 // Don't show popup if disabled or config not found 11573 } 11574 11575 // Create popup after 10 seconds 11576 setTimeout(() => { 11577 // Check if user is still on the page and still not logged in 11578 if (document.visibilityState === 'visible') { 11579 // Additional check in case user logged in during the 10 second wait 11580 const currentlyLoggedIn = false || 11581 document.querySelector('.customer-logout-link') || 11582 document.querySelector('.account-link'); 11583 11584 if (!currentlyLoggedIn) { 11585 createLoginPopup(popupConfig, host); 11586 } 11587 } 11588 }, 10000); 11589 } catch (error) { 11590 console.error('Error initializing popup:', error); 11591 } 11592 } 11593 11594 function createLoginPopup(popupConfig, host) { 11595 // Font mapping 11596 const fontFamilyMap = { 11597 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 11598 montserrat: 'Montserrat, sans-serif', 11599 roboto: 'Roboto, sans-serif', 11600 open_sans: 'Open Sans, sans-serif', 11601 noto_sans: 'Noto Sans, sans-serif', 11602 lato: 'Lato, sans-serif', 11603 poppins: 'Poppins, sans-serif', 11604 quicksand: 'Quicksand, sans-serif', 11605 raleway: 'Raleway, sans-serif', 11606 pt_sans: 'PT Sans, sans-serif', 11607 oswald: 'Oswald, sans-serif', 11608 }; 11609 11610 // Create overlay 11611 const overlay = document.createElement('div'); 11612 overlay.className = 'bitlogin-popup-overlay'; 11613 11614 // Create popup container with appropriate styling 11615 const popup = document.createElement('div'); 11616 popup.className = 'bitlogin-popup'; 11617 11618 if (popupConfig.layout === 'default') { 11619 popup.style.maxWidth = '400px'; 11620 } 11621 11622 // Function to close the popup 11623 const closePopup = () => { 11624 overlay.classList.remove('visible'); 11625 popup.classList.remove('visible'); 11626 setTimeout(() => { 11627 if (document.body.contains(overlay)) { 11628 document.body.removeChild(overlay); 11629 } 11630 }, 300); 11631 }; 11632 11633 // Add click handler to the overlay to close when clicking outside 11634 overlay.addEventListener('click', (event) => { 11635 // Close only if clicking directly on the overlay, not its children 11636 if (event.target === overlay) { 11637 closePopup(); 11638 } 11639 }); 11640 11641 // Add escape key handler to close popup 11642 document.addEventListener('keydown', (event) => { 11643 if (event.key === 'Escape' && document.body.contains(overlay)) { 11644 closePopup(); 11645 } 11646 }); 11647 11648 // Create layout with image if specified 11649 let contentWrapper; 11650 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 11651 popup.classList.add('bitlogin-popup-with-image'); 11652 11653 if (popupConfig.layout === 'right') { 11654 popup.classList.add('bitlogin-popup-right-image'); 11655 } 11656 11657 // Add image 11658 const image = document.createElement('img'); 11659 image.className = 'bitlogin-popup-image'; 11660 image.src = popupConfig.popupImage; 11661 image.alt = 'Login'; 11662 image.loading = 'lazy'; 11663 popup.appendChild(image); 11664 11665 // Create content container 11666 contentWrapper = document.createElement('div'); 11667 contentWrapper.className = 'bitlogin-popup-content'; 11668 11669 if (popupConfig.layout === 'right') { 11670 const closeButton = document.createElement('button'); 11671 closeButton.className = 'bitlogin-popup-close'; 11672 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 11673 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11674 </svg>`; 11675 closeButton.setAttribute('aria-label', 'Close'); 11676 closeButton.onclick = closePopup; 11677 11678 popup.appendChild(closeButton); 11679 } 11680 } else { 11681 contentWrapper = document.createElement('div'); 11682 contentWrapper.className = 'bitlogin-popup-content'; 11683 contentWrapper.style.width = '100%'; 11684 } 11685 11686 // Set background style 11687 if (popupConfig.backgroundTheme === 'gradient') { 11688 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 11689 } else { 11690 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 11691 } 11692 11693 // Apply font family 11694 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 11695 11696 if (popupConfig.layout !== 'right') { 11697 const closeButton = document.createElement('button'); 11698 closeButton.className = 'bitlogin-popup-close'; 11699 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://img
11699store.io/images/2026/02/01/logo.1.png"> 11700 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11701 </svg>`; 11702 closeButton.setAttribute('aria-label', 'Close'); 11703 closeButton.onclick = closePopup; 11704 11705 contentWrapper.appendChild(closeButton); 11706 } 11707 11708 // Add heading with subtle animation effect 11709 const header = document.createElement('div'); 11710 header.className = 'bitlogin-popup-header'; 11711 11712 const heading = document.createElement('h2'); 11713 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benefits'; 11714 heading.style.color = popupConfig.fontColor; 11715 header.appendChild(heading); 11716 11717 // Add body text with improved formatting 11718 const bodyText = document.createElement('div'); 11719 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 11720 bodyText.style.color = popupConfig.fontColor; 11721 header.appendChild(bodyText); 11722 11723 contentWrapper.appendChild(header); 11724 11725 // Create buttons container with modern styling 11726 const buttonsContainer = document.createElement('div'); 11727 buttonsContainer.className = 'bitlogin-popup-buttons'; 11728 11729 // Add social buttons 11730 const providerLabels = { 11731 'GOOGLE': 'Continue with Google', 11732 'FACEBOOK': 'Continue with Facebook', 11733 'APPLE': 'Continue with Apple', 11734 'WHATSAPP': 'Continue with WhatsApp', 11735 'MAGIC_LINK': 'Continue with Email', 11736 }; 11737 11738 // Add first login provider button 11739 if (popupConfig.loginProvider1 !== 'NONE') { 11740 const buttonConfig = { 11741 theme: popupConfig.colorScheme || 'match', 11742 customColor: popupConfig.textColor, 11743 format: 'contentFlex', 11744 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 11745 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11746 style: popupConfig.style || 'rounded', 11747 size: popupConfig.size || 'medium', 11748 colorScheme: popupConfig.colorScheme || 'match', 11749 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11750 textColor: popupConfig.textColor || '#FFFFFF', 11751 outlineColor: popupConfig.outlineColor || '#3B82F6', 11752 host: host 11753 }; 11754 11755 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 11756 11757 // Handle click event - this overrides the default click handler in createSocialLoginButton 11758 button1.onclick = () => { 11759 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 11760 closePopup(); 11761 }; 11762 11763 buttonsContainer.appendChild(button1); 11764 } 11765 11766 // Add second login provider button if enabled 11767 if (popupConfig.loginProvider2 !== 'NONE') { 11768 const buttonConfig = { 11769 theme: popupConfig.colorScheme || 'match', 11770 customColor: popupConfig.textColor, 11771 format: 'contentFlex', 11772 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 11773 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11774 style: popupConfig.style || 'rounded', 11775 size: popupConfig.size || 'medium', 11776 colorScheme: popupConfig.colorScheme || 'match', 11777 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11778 textColor: popupConfig.textColor || '#FFFFFF', 11779 outlineColor: popupConfig.outlineColor || '#3B82F6', 11780 host: host 11781 }; 11782 11783 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 11784 11785 // Handle click event - this overrides the default click handler in createSocialLoginButton 11786 button2.onclick = () => { 11787 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 11788 closePopup(); 11789 }; 11790 11791 buttonsContainer.appendChild(button2); 11792 } 11793 11794 contentWrapper.appendChild(buttonsContainer); 11795 11796 // Append content to popup 11797 popup.appendChild(contentWrapper); 11798 11799 // Append popup to overlay 11800 overlay.appendChild(popup); 11801 11802 // Append overlay to body 11803 document.body.appendChild(overlay); 11804 11805 // Trigger animation with slight delay for better perceived performance 11806 setTimeout(() => { 11807 overlay.classList.add('visible'); 11808 setTimeout(() => { 11809 popup.classList.add('visible'); 11810 }, 50); 11811 }, 10); 11812 } 11813 11814 window.addEventListener("load", () => { 11815 window.addEventListener("message", (event) => { 11816 const receivedData = event.data; 11817 11818 if (receivedData.type === "authorize") { 11819 post( 11820 JSON.parse( 11821 JSON.stringify({ 11822 "customer[email]": receivedData.email, 11823 "customer[password]": receivedData.password, 11824 form_type: "customer_login", 11825 utf8: "â", 11826 return_url: redirectUrl, 11827 }) 11828 ) 11829 ); 11830 } else if (receivedData.type === "rejected") { 11831 if (receivedData.reason === "customer_account_disabled") { 11832 showAlert( 11833 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 11834 ); 11835 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 11836 showAlert( 11837 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 11838 ); 11839 } else if (receivedData.reason === "customer_exist_email_not_set") { 11840 showAlert( 11841 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 11842 ); 11843 } 11844 } 11845 11846 if (receivedData.type === "customer_authenticated") { 11847 // Dispatch a custom event that merchants can listen for to implement their custom logic 11848 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 11849 detail: { 11850 provider: receivedData.provider, 11851 customer: receivedData.customer, 11852 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 11853 } 11854 }); 11855 11856 // Dispatch the event on the window object so merchants can listen for it 11857 window.dispatchEvent(customerAuthEvent); 11858 11859 } 11860 }); 11861 }); 11862 11863 // Reusable functions for social login buttons 11864 function createSocialLoginButton(provider, config = {}) { 11865 const { 11866 theme = 'match', 11867 customColor = null, 11868 format = 'contentFlex', 11869 buttonText = null, 11870 hasShadow = true, 11871 style = 'rounded', 11872 size = 'medium', 11873 colorScheme = 'match', 11874 backgroundColor = '#3B82F6', 11875 textColor = '#FFFFFF', 11876 outlineColor = '#3B82F6', 11877 rootRef = null, 11878 host = null 11879 } = config; 11880 11881 // Create button element with appropriate ID and attributes 11882 const button = document.createElement('button'); 11883 button.id = `${provider.toLowerCase()}-login`; 11884 button.type = 'button'; 11885 11886 // Set the inner SVG based on provider 11887 switch (provider.toUpperCase()) {
11888 case 'GOOGLE': 11889 button.innerHTML = googleLoginIcon(theme, customColor); 11890 break; 11891 case 'FACEBOOK': 11892 button.innerHTML = facebookLoginIcon(theme, customColor); 11893 break; 11894 case 'APPLE': 11895 button.innerHTML = appleLoginIcon(theme, customColor); 11896 break; 11897 case 'WHATSAPP': 11898 button.innerHTML = whatsappLoginIcon(theme, customColor); 11899 break; 11900 case 'MICROSOFT': 11901 button.innerHTML = microsoftLoginIcon(theme, customColor); 11902 break; 11903 case 'TWITTER': 11904 button.innerHTML = twitterLoginIcon(theme, customColor); 11905 break; 11906 case 'AMAZON': 11907 button.innerHTML = amazonLoginIcon(theme, customColor); 11908 break; 11909 case 'INSTAGRAM': 11910 button.innerHTML = instagramLoginIcon(theme, customColor); 11911 break; 11912 case 'MAGIC_LINK': 11913 button.innerHTML = magicLinkLoginIcon(theme, customColor); 11914 break; 11915 case 'MOBILE_APP': 11916 button.innerHTML = mobileAppLoginIcon(theme, customColor); 11917 break; 11918 case 'LINKEDIN': 11919 button.innerHTML = linkedinLoginIcon(theme, customColor); 11920 break; 11921 } 11922 11923 // Add text if format isn't icon-only and buttonText is provided 11924 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 11925 button.innerHTML += `<p>${buttonText}</p>`; 11926 } 11927 11928 // Apply styling 11929 // Shadow 11930 if (hasShadow) { 11931 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 11932 button.style["box-shadow"] = shadowProperties; 11933 } 11934 11935 // Border radius 11936 const radiusProperties = 11937 style === "rounded" 11938 ? "8px" 11939 : style === "square" 11940 ? "0px" 11941 : style === "fullRounded" 11942 ? format === "wrapperFlexContainerOnlyLogo" 11943 ? "50%" 11944 : "50px" 11945 : undefined; 11946 button.style["border-radius"] = radiusProperties; 11947 11948 // Size 11949 const sizeProperties = 11950 size === "medium" 11951 ? "12px" 11952 : size === "small" 11953 ? "8px" 11954 : size === "large" 11955 ? "16px" 11956 : "8px"; 11957 11958 button.style["padding-block"] = sizeProperties; 11959 11960 // Format styling 11961 if (format) { 11962 if ( 11963 format === "contentFlexReverse" || 11964 format === "contentFlexCenterReverse" 11965 ) { 11966 const flexDir = `row-reverse`; 11967 button.style["flex-direction"] = flexDir; 11968 } 11969 11970 if ( 11971 format === "contentFlexCenter" || 11972 format === "contentFlexCenterReverse" 11973 ) { 11974 const justifyContent = `center`; 11975 button.style["justify-content"] = justifyContent; 11976 } else if ( 11977 format === "contentFlex" || 11978 format === "contentFlexReverse" 11979 ) { 11980 const buttonTextElement = button.querySelector("p"); 11981 if (buttonTextElement) { 11982 buttonTextElement.style["flex-grow"] = 1; 11983 buttonTextElement.style["text-align"] = "center"; 11984 } 11985 } 11986 11987 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 11988 rootRef.style["flex-direction"] = "row"; 11989 rootRef.style["gap"] = "8px"; 11990 rootRef.style["display"] = "flex"; 11991 rootRef.style["flex-wrap"] = "wrap"; 11992 11993 const sizeMapping = { 11994 small: "52px", 11995 medium: "62px", 11996 large: "72px", 11997 }; 11998 const buttonSize = sizeMapping[size] || "52px"; 11999 12000 button.style["margin"] = 0; 12001 button.style["width"] = buttonSize; 12002 button.style["height"] = buttonSize; 12003 button.style["display"] = "flex"; 12004 button.style["align-items"] = "center"; 12005 button.style["justify-content"] = "center"; 12006 12007 const svgElement = button.querySelector("svg"); 12008 if (svgElement) { 12009 svgElement.style["flex"] = "none"; 12010 } 12011 } 12012 } 12013 12014 // Color scheme styling 12015 if (colorScheme === "black") { 12016 button.classList.add("scheme-black"); 12017 } else if (colorScheme === "white") { 12018 button.classList.add("scheme-white"); 12019 } else if (colorScheme === "custom") { 12020 button.style["background-color"] = backgroundColor; 12021 button.style["color"] = textColor; 12022 button.style["border-color"] = outlineColor; 12023 12024 const darkenColor = (color, percentage) => { 12025 const value = parseInt(color.slice(1), 16); 12026 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 12027 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 12028 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 12029 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 12030 }; 12031 12032 button.addEventListener("mouseover", () => {
12033 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 12034 }); 12035 button.addEventListener("mouseout", () => { 12036 button.style["background-color"] = backgroundColor; 12037 }); 12038 } else if (colorScheme === "match") { 12039 button.classList.add("scheme-match"); 12040 } else if (colorScheme === "matchOutline") { 12041 button.classList.add("scheme-match-outline"); 12042 } 12043 12044 // Add click event listener if host is provided 12045 if (host) { 12046 button.addEventListener("click", () => 12047 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 12048 ); 12049 } 12050 12051 return button; 12052 } 12053 12054 function setupSocialLoginButtons(config, rootRef, data, host) { 12055 // Clear any existing content 12056 rootRef.innerHTML = ''; 12057 12058 const sortedEnabledProviders = config 12059 .filter(c => c.enabledWeb) 12060 .sort((a, b) => a.position - b.position); 12061 12062 sortedEnabledProviders.forEach(provider => { 12063 const key = provider.provider; 12064 const lowerKey = key.toLowerCase(); 12065 12066 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 12067 ? (lowerKey === 'twitter' 12068 ? data.buttonList.twitter.replace('Twitter', 'X') 12069 : data.buttonList[lowerKey]) 12070 : null; 12071 12072 const button = createSocialLoginButton(key, { 12073 theme: data.colorScheme || 'match', 12074 customColor: data.textColor, 12075 format: data.format, 12076 buttonText: buttonText, 12077 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 12078 style: data.style, 12079 size: data.size, 12080 colorScheme: data.colorScheme, 12081 backgroundColor: data.backgroundColor, 12082 textColor: data.textColor, 12083 outlineColor: data.outlineColor, 12084 rootRef: rootRef, 12085 host: host 12086 }); 12087 12088 rootRef.appendChild(button); 12089 }); 12090 12091 return rootRef; 12092 } 12093 12094 function updateAppearance({ formRef, rootRef, host }) { 12095 if (!formRef) return; 12096 12097 const data = bitloginCache.appearance || { 12098 style: "square", 12099 hasShadow: false, 12100 colorScheme: "match", 12101 backgroundColor: "#FFFFFF", 12102 outlineColor: "#000000", 12103 textColor: "#000000", 12104 position: "bottom", 12105 hideDivider: "false", 12106 dividerText: "OR", 12107 size: "small", 12108 format: "contentFlex", 12109 language: "en", 12110 buttonText: "Continue with", 12111 redirectLink: "/account", 12112 googleOneTap: true, 12113 googleOneTapBanner: true, 12114 customerTag: "bitLogin", 12115 redirectOneTapDesktop: null, 12116 redirectOneTapMobile: null, 12117 buttonList: { 12118 google: "Continue with Google", 12119 facebook: "Continue with Facebook", 12120 apple: "Continue with Apple", 12121 whatsapp: "Continue with WhatsApp", 12122 microsoft: "Continue with Microsoft", 12123 twitter: "Continue with X", 12124 amazon: "Continue with Amazon", 12125 instagram: "Continue with Instagram", 12126 magic_link: "Continue with Magic Link", 12127 mobile_app: "Continue with Mobile App", 12128 linkedin: "Continue with LinkedIn", 12129 }, 12130 }; 12131 12132 // Use the new setupSocialLoginButtons function to create and configure all buttons 12133 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 12134 12135 let divider; 12136 12137 if (!data.hideDivider) { 12138 divider = document.createElement("div"); 12139 const dividerStyle = "text-align:center;margin-block:16px"; 12140 divider.setAttribute("style", dividerStyle); 12141 divider.innerHTML = data.dividerText; 12142 } 12143 12144 if (data.position === "bottom") { 12145 if (divider) { 12146 formRef.appendChild(divider); 12147 } 12148 formRef.appendChild(rootRef); 12149 } else if (data.position === "top") { 12150 if (divider) { 12151 formRef.prepend(divider); 12152 } 12153 formRef.prepend(rootRef); 12154 } 12155 } 12156 12157 12158 async function onClickSocialLogin({ provider, host }) { 12159 const rand = Math.random().toString(); 12160 12161 const locationQueryString = bitloginCache.location 12162 ? `&${objectToQueryString(bitloginCache.location)}` 12163 : ""; 12164 12165 const width = 800; 12166 const height = 600; 12167 const left = (window.screen.width / 2) - (width / 2); 12168 const top = (window.screen.height / 2) - (height / 2) - 50; 12169 12170 if(provider === 'whatsapp') { 12171 window.open( 12172 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 12173 "mywindow", 12174 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12175 ); 12176 } else { 12177 window.open( 12178 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 12179 "mywindow", 12180 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12181 ); 12182 } 12183 } 12184 12185 function objectToQueryString(obj) { 12186 return Object.keys(obj) 12187 .map((key) => { 12188 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 12189 }) 12190 .join("&"); 12191 } 12192 12193 async function getLocation() { 12194 if (locationCacheSet) return; 12195 12196 try { 12197 const response = await fetch("https://ipapi.co/json/"); 12198 12199 if (!response.ok) { 12200 console.error(`error retrieving location...`, response.status); 12201 errorLocation = true; 12202 } else { 12203 const data = await response.json(); 12204 12205 const { city, region, country_name, country_code } = data; 12206 12207 const formattedLocationData = { 12208 city, 12209 region, 12210 country_name, 12211 country_code, 12212 }; 12213 12214 bitloginCache.location = formattedLocationData; 12215 locationCacheSet = true; 12216 errorLocation = false;
12217 } 12218 } catch (err) { 12219 console.error(`error fetching location`, err); 12220 errorLocation = true; 12221 } 12222 } 12223 12224 function post(params) { 12225 // The rest of this code assumes you are not using a library. 12226 // It can be made less verbose if you use one. 12227 const form = document.createElement("form"); 12228 form.method = "post"; 12229 form.action = `/account/login`; 12230 form.acceptCharset = "UTF-8"; 12231 form.setAttribute("data-login-with-shop-sign-in", "true"); 12232 form.setAttribute("novalidate", "novalidate"); 12233 12234 for (const key in params) { 12235 if (params.hasOwnProperty(key)) { 12236 const hiddenField = document.createElement("input"); 12237 hiddenField.type = "hidden"; 12238 hiddenField.name = key; 12239 hiddenField.value = params[key]; 12240 12241 form.appendChild(hiddenField); 12242 } 12243 } 12244 12245 document.body.appendChild(form); 12246 form.submit(); 12247 } 12248 12249 async function setupOneTap({ host, checkoutUrl }) { 12250 if (oneTapSet) return; 12251 12252 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 12253 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 12254 12255 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 12256 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 12257 12258 const currentPath = window.location.pathname.toLowerCase(); 12259 const currentUrl = window.location.href.toLowerCase(); 12260 12261 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 12262 switch (value) { 12263 case 'home': 12264 return currentPath === '/'; 12265 case 'product': 12266 return currentPath.startsWith('/products/'); 12267 case 'collections': 12268 return currentPath.startsWith('/collections'); 12269 case 'cart': 12270 return currentPath === '/cart'; 12271 case 'checkout': 12272 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 12273 case 'thank_you': 12274 return currentPath.includes('/thank_you'); 12275 case 'account': 12276 return currentPath.startsWith('/account'); 12277 case 'pages': 12278 return currentPath.startsWith('/pages'); 12279 case 'blogs': 12280 return currentPath === '/blogs' || currentPath === '/blogs/news'; 12281 case 'blog_post': 12282 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 12283 default: 12284 return false; 12285 } 12286 }); 12287 12288 if (shouldHideGoogleOneTap) return; 12289 12290 const oneTapClientId = bitloginCache.config.find( 12291 (config) => config.provider === "GOOGLE" 12292 )?.clientId; 12293 12294 const isLoggedIn = false; 12295 12296 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 12297 const googleOneTapButton = document.createElement("div"); 12298 googleOneTapButton.setAttribute("id", "g_id_onload"); 12299 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 12300 googleOneTapButton.setAttribute("data-context", "signin"); 12301 googleOneTapButton.setAttribute( 12302 "data-callback", 12303 "handleGoogleOneTapResponse" 12304 ); 12305 googleOneTapButton.setAttribute("data-itp_support", "true"); 12306 12307 const googleOneTapScript = document.createElement("script"); 12308 12309 googleOneTapScript.innerHTML += ` 12310 function handleGoogleOneTapResponse(response) { 12311 if (response.credential) { 12312 const idToken = response.credential; 12313 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 12314 method: 'POST', 12315 headers: { 'Content-Type': 'application/json' }, 12316 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 12317 }).then(response => { 12318 response.json().then((data) => { 12319 post( 12320 JSON.parse( 12321 JSON.stringify({ 12322 "customer[email]": data.email, 12323 "customer[password]": data.password, 12324 form_type: "customer_login", 12325 utf8: "â", 12326 return_url: redirectUrl, 12327 }) 12328 ) 12329 ); 12330 }); 12331 }).catch(error => { 12332 console.error('Error occurred:', error); 12333 }); 12334 } else { 12335 console.error('No credential available'); 12336 } 12337 } 12338 `; 12339 12340 document.body.append(googleOneTapButton); 12341 document.body.append(googleOneTapScript); 12342 } 12343 12344 oneTapSet = true; 12345 } 12346 12347 const googleLoginIcon = ( 12348 theme, 12349 customColor 12350 ) => ` 12351 ${ 12352 theme === "match" || theme === "matchOutline" || theme === "custom" 12353 ? `<svg
12354 xmlns='https://imgstore.io/images/2026/02/01/logo.1.png' 12355 xmlns:v='https://vecta.io/nano' 12356 width='24' 12357 height='24' 12358 viewBox='0 0 186.69 190.5' 12359 > 12360 <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="${ 12361 theme === "custom" ? customColor : "#4285f4" 12362 }"/><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="${ 12363 theme === "custom" ? customColor : "#34a853" 12364 }"/><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="${ 12365 theme === "custom" ? customColor : "#fbbc05" 12366 }"/><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="${ 12367 theme === "custom" ? customColor : "#ea4335" 12368 }" clip-path="none" mask="none"/></g> 12369 </svg>` 12370 : `<svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 12371 <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="${ 12372 theme !== "black" ? "black" : "white" 12373 }"/> 12374 <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="${ 12375 theme !== "black" ? "black" : "white" 12376 }"/> 12377 <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="${ 12378 theme !== "black" ? "black" : "white" 12379 }"/> 12380 <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="${ 12381 theme !== "black" ? "black" : "white" 12382 }"/> 12383 </svg>` 12384 }`; 12385 12386 const appleLoginIcon = ( 12387 theme, 12388 customColor 12389 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 12390 <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="${ 12391 theme === "custom" 12392 ? customColor 12393 : theme === "match" || theme === "black" 12394 ? "white" 12395 : "black" 12396 }"/> 12397 </svg>`; 12398 12399 const facebookLoginIcon = ( 12400 theme, 12401 customColor 12402 ) => ` 12403 ${ 12404 theme === "match" || theme === "matchOutline" || theme === "custom" 12405 ? `<svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12406 <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="${ 12407 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 12408 }"/> 12409 <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="${ 12410 theme === "match" ? "#1778f2" : "transparent" 12411 }"/> 12412 </svg>`
12413 : `<svg xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12414 <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="${ 12415 theme === "black" ? "white" : "black" 12416 }"/> 12417 <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="${ 12418 theme === "black" ? "black" : "white" 12419 }"/> 12420 </svg>` 12421 }`; 12422 12423 const whatsappLoginIcon = ( 12424 theme, 12425 customColor 12426 ) => `<svg 12427 viewBox="0 0 24 24" 12428 fill="none" 12429 width="24" 12430 height="25" 12431 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12432 > 12433 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 12434 <g 12435 id="SVGRepo_tracerCarrier" 12436 stroke-linecap="round" 12437 stroke-linejoin="round" 12438 ></g> 12439 <g id="SVGRepo_iconCarrier"> 12440 <path 12441 fill-rule="evenodd" 12442 clip-rule="evenodd" 12443 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" 12444 fill="${ 12445 theme === "match" || theme === "black" 12446 ? "#ffffff" 12447 : theme === "white" 12448 ? "#000000" 12449 : theme === "matchOutline" 12450 ? "#25d366" 12451 : customColor 12452 }" 12453 ></path> 12454 </g> 12455 </svg>`; 12456 12457 const microsoftLoginIcon = ( 12458 theme, 12459 customColor 12460 ) => `<svg 12461 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12462 width="25" 12463 height="25" 12464 viewBox="0 0 48 48"> 12465 <path fill="${ 12466 theme === "match" || theme == "matchOutline" 12467 ? "#ff5722" 12468 : theme === "black" 12469 ? "#ffffff" 12470 : theme === "white" 12471 ? "#000000" 12472 : customColor 12473 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 12474 <path 12475 fill="${ 12476 theme === "match" || theme == "matchOutline" 12477 ? "#4caf50" 12478 : theme === "black" 12479 ? "#ffffff" 12480 : theme === "white" 12481 ? "#000000" 12482 : customColor 12483 }" 12484 d="M26 6H42V22H26z" 12485 transform="rotate(-180 34 14)"></path> 12486 <path 12487 fill="${ 12488 theme === "match" || theme == "matchOutline" 12489 ? "#ffc107" 12490 : theme === "black" 12491 ? "#ffffff" 12492 : theme === "white" 12493 ? "#000000" 12494 : customColor 12495 }" 12496 d="M26 26H42V42H26z" 12497 transform="rotate(-180 34 34)"></path> 12498 <path fill="${ 12499 theme === "match" || theme == "matchOutline" 12500 ? "#03a9f4" 12501 : theme === "black" 12502 ? "#ffffff" 12503 : theme === "white" 12504 ? "#000000" 12505 : customColor 12506 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 12507 </svg>`; 12508 12509 const twitterLoginIcon = ( 12510 theme, 12511 customColor 12512 ) => `<svg
12513 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12514 width="25" 12515 height="25" 12516 viewBox="0 0 48 48"> 12517 <polygon fill="${ 12518 theme === "match" || theme === "black" 12519 ? "#ffffff" 12520 : theme === "matchOutline" || theme === "white" 12521 ? "#000000" 12522 : customColor 12523 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 12524 <polygon 12525 fill="${ 12526 theme === "match" || theme === "black" 12527 ? "#000000" 12528 : theme === "matchOutline" || theme === "white" 12529 ? "#ffffff" 12530 : customColor 12531 }" 12532 fill-rule="evenodd" 12533 points="31.143,41 7.82,7 16.777,7 40.1,41" 12534 clip-rule="evenodd"></polygon> 12535 <path 12536 fill="${ 12537 theme === "match" || theme === "black" 12538 ? "#ffffff" 12539 : theme === "matchOutline" || theme === "white" 12540 ? "#000000" 12541 : customColor 12542 }" 12543 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 12544 </svg>`; 12545 12546 const amazonLoginIcon = (theme, customColor) => ` 12547 <svg 12548 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12549 x="0px" 12550 y="0px" 12551 width="25" 12552 height="25" 12553 viewBox="0 0 50 50" 12554 > 12555 <path 12556 fill="${ 12557 theme === "black" 12558 ? "#ffffff" 12559 : theme === "matchOutline" 12560 ? "#FF9900" 12561 : theme === "white" || theme === "match" 12562 ? "#000000" 12563 : customColor 12564 }" 12565 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" 12566 ></path> 12567 </svg>`; 12568 12569 const instagramLoginIcon= (theme, customColor) => ` 12570 <svg 12571 width="25" 12572 height="25" 12573 viewBox="0 0 25 24" 12574 fill="none" 12575 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png"> 12576 <path 12577 fill-rule="evenodd" 12578 clip-rule="evenodd" 12579 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.
1257964321C8.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" 12580 fill="url(#paint0_radial_378_3535)" /> 12581 <path 12582 fill-rule="evenodd" 12583 clip-rule="evenodd" 12584 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" 12585 fill="url(#paint0_radial_378_3535)" /> 12586 <path 12587 fill-rule="evenodd" 12588 clip-rule="evenodd" 12589 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.
1258964321C8.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" 12590 fill="url(#paint0_radial_378_3535)" /> 12591 <path 12592 fill-rule="evenodd" 12593 clip-rule="evenodd" 12594 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" 12595 fill="url(#paint1_radial_378_3535)" /> 12596 <defs> 12597 <radialGradient 12598 id="paint0_radial_378_3535" 12599 cx="0" 12600 cy="0" 12601 r="1" 12602 gradientUnits="userSpaceOnUse" 12603 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 12604 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 12605 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 12606 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 12607 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 12608 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 12609 </radialGradient> 12610 <radialGradient 12611 id="paint1_radial_378_3535" 12612 cx="0" 12613 cy="0" 12614 r="1" 12615 gradientUnits="userSpaceOnUse" 12616 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 12617 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 12618 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 12619 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 12620 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 12621 </radialGradient> 12622 </defs> 12623 </svg>`; 12624 12625 const magicLinkLoginIcon = (theme, customColor) => ` 12626 <svg
12627 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12628 width="25" 12629 height="25" 12630 fill="none" 12631 viewBox="0 0 25 25" 12632 > 12633 <path 12634 fill="${ 12635 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 12636 }" 12637 fillRule="evenodd" 12638 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" 12639 clipRule="evenodd" 12640 ></path> 12641 </svg>`; 12642 12643 const mobileAppLoginIcon = (theme, customColor) => ` 12644 <svg 12645 width="20" 12646 height="24" 12647 viewBox="0 0 12 16" 12648 fill="none" 12649 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12650 > 12651 <path 12652 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" 12653 fill=${ 12654 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 12655 } 12656 /> 12657 </svg> 12658 `; 12659 12660 const linkedinLoginIcon = (theme, customColor) => ` 12661 <svg 12662 xmlns="https://imgstore.io/images/2026/02/01/logo.1.png" 12663 width="25" 12664 height="24" 12665 viewBox="0 0 25 24" 12666 fill="none" 12667 > 12668 <path 12669 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" 12670 fill=${ 12671 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 12672 } 12673 /> 12674 </svg> 12675 `; 12676 12677 function isElementVisible(element) { 12678 return ( 12679 document.body.contains(element) && 12680 getComputedStyle(element).display !== "none" && 12681 getComputedStyle(element).visibility !== "hidden" && 12682 getComputedStyle(element).opacity !== "0" && 12683 !element.hasAttribute("hidden") && 12684 !isAncestorHidden(element) 12685 ); 12686 } 12687 12688 function isAncestorHidden(element) { 12689 let parent = element.parentElement; 12690 while (parent) { 12691 if ( 12692 getComputedStyle(parent).display === "none" || 12693 getComputedStyle(parent).visibility === "hidden" || 12694 getComputedStyle(parent).opacity === "0" || 12695 parent.hasAttribute("hidden") 12696 ) { 12697 return true; 12698 } 12699 parent = parent.parentElement; 12700 } 12701 return false; 12702 } 12703 12704 function showAlert(message) { 12705 const alertBox = document.createElement("div"); 12706 alertBox.textContent = message; 12707 alertBox.style.position = "fixed"; 12708 alertBox.style.top = "20px"; 12709 alertBox.style.right = "-300px"; // Start off-screen 12710 alertBox.style.backgroundColor = "#000000"; // Black background 12711 alertBox.style.color = "#ffffff"; // White text 12712 alertBox.style.padding = "15px"; 12713 alertBox.style.borderRadius = "8px"; 12714 alertBox.style.zIndex = "1000"; 12715 alertBox.style.transition = 12716 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 12717 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 12718 12719 document.body.appendChild(alertBox); 12720 12721 // Slide in 12722 requestAnimationFrame(() => { 12723 alertBox.style.right = "20px"; // Move into view 12724 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 12725 }); 12726 12727 // Slide out and remove the alert after a few seconds 12728 setTimeout(() => { 12729 alertBox.style.opacity = "0"; // Fade out 12730 alertBox.style.right = "-300px"; // Move out of view 12731 12732 // Wait for the transition to finish before removing the element 12733 setTimeout(() => { 12734 document.body.removeChild(alertBox); 12735 }, 500); // Match this duration with the exit transition duration 12736 }, 3000); 12737 } 12738 </script>
12738 12739 12740 <style> 12741 .daftarku-fixed-footer { 12742 display: flex; 12743 justify-content: space-around; 12744 position: fixed; 12745 background: linear-gradient(to bottom, #1b0f00 0%, #ffd700 50%, #1b0f00 100%); 12746 box-shadow: 0 0 12px rgb(255, 187, 0); 12747 outline: none; 12748 padding: 5px 0; 12749 box-shadow: 0 0 0 0 2px 2px #198f01; 12750 left: 0; 12751 right: 0; 12752 bottom: 0; 12753 z-index: 99; 12754 border-radius: 40px 40px 0px 0px; 12755 border-style:dashed; 12756 12757 } 12758 12759 .daftarku-fixed-footer a { 12760 flex-basis: calc((100% - 15px*6)/ 5); 12761 text-decoration: none; 12762 display: flex; 12763 flex-direction: column; 12764 justify-content: center; 12765 align-items: center; 12766 color: #fff; 12767 max-width: 75px; 12768 font-size: 12px; 12769 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 12770 } 12771 12772 .daftarku-fixed-footer a:hover { 12773 font-weight: bold; 12774 } 12775 12776 .daftarku-fixed-footer .center { 12777 transform: scale(1.5) translateY(-5px); 12778 background: center no-repeat; 12779 background-size: contain; 12780 background-color: inherit; 12781 border-radius: 50%; 12782 } 12783 12784 .daftarku-fixed-footer img { 12785 max-width: 30px; 12786 margin-bottom: 0; 12787 max-height: 30px; 12788 } 12789 </style> 12790 12791 <div class="daftarku-fixed-footer"> 12792 <a href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noopener" target="_blank"> 12793 <img layout="intrinsic" height="30px" width="30px" src="https://photosaya.io/images/2024/11/21/PROMO.webp" alt="PROMOSI"> 12794 PROMO 12795 </a> 12796 <a href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noopener" target="_blank"> 12797 <img layout="intrinsic" height="30px" width="30px" src="https://photosaya.io/images/2024/11/21/login.png" alt="LOGIN"> 12798 LOGIN 12799 </a> 12800 <a href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noopener" target="_blank" class="tada"> 12801 <img layout="intrinsic" height="30px" width="30px" src="https://photosaya.io/images/2024/11/21/daftar.png" alt="DAFTAR"> 12802 DAFTAR 12803 </a> 12804 <a href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noopener" target="_blank"> 12805 <img layout="intrinsic" height="30px" width="30px" src="https://photosaya.io/images/2024/11/21/LINKALTERNATIF.webp" alt="ALTERNATIF"> 12806 ALTERNATIF 12807 </a> 12808 <a href="https://amp.over-power.info/summitpointegc.html" rel="nofollow noopener" target="_blank" 12809 class="js_live_chat_link live-chat-link"> 12810 <img class="live-chat-icon" layout="intrinsic" height="30px" width="30px" src="https://photosaya.io/images/2024/11/21/livechat.png" alt="LIVE CHAT"> 12811 LIVE CHAT 12812 </a> 12813 </div> 12814 </div> 12815
12815<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>
12815 12816
12816<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 12816
12816
12817<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 12817
12817
12818<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 12818
12818
12819<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 12819
12819
12820<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"edfb0824af1e46b399d8da29cbae45fe","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 12820
12820
12821<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f4bd7c8c9a5548668da773d83fdb1fc9","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 12821
12821
12822<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"f4bd7c8c9a5548668da773d83fdb1fc9","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 12822
12822
12823<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"cc97620ea35748cab64efbd8018a003d","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 12823
12823
12824<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":"4e39f4b132a6445eae6f24bf2e01634c","r":1,"spa":2}' crossorigin="anonymous"></script>
12824 12825</body> 12826 </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.