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://banner989.me/uapGUZ"> 9 <!-- Title and description --> 10 <title>ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 </title> 11 <meta name="description" content="ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar."> 12 <meta name="keywords" content="oristoto, oris toto, oristoto slot, daftar oristoto, oristoto login resmi, link alternatif oristoto, link oristoto, situs toto, toto slot, slot gacor, slot resmi, toto togel, togel 4d" /> 13 <link rel="canonical" href="https://healthcarenewsreports.com/"> 14 <link rel="amphtml" href="https://brand.healthcarenewsreports.com/"/> 15 <link rel="alternate" hreflang="id-id" href="https://brand.healthcarenewsreports.com/"/> 16 <link rel="alternate" href="https://brand.healthcarenewsreports.com/"/> 17 <link rel="alternate" hreflang="id" href="https://brand.healthcarenewsreports.com/"/> 18 <link rel="alternate" hreflang="en" href="https://brand.healthcarenewsreports.com/"/> 19 <link rel="alternate" hreflang="x-default" href="https://brand.healthcarenewsreports.com/"/> 20 <!-- /snippets/social-meta-tags.liquid --> 21 <meta property="og:type" content="ORISTOTO"> 22 <meta property="og:title" content="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 "> 23 <meta property="og:image" content="https://imgstore989.me/f/9UbbxI"> 24 <meta property="og:image:secure_url" content="https://imgstore989.me/f/9UbbxI"> 25 <meta property="og:image" content="https://imgstore989.me/f/9UbbxI"> 26 <meta property="og:image:secure_url" content="https://imgstore989.me/f/9UbbxI"> 27 <meta property="og:image" content="https://imgstore989.me/f/9UbbxI"> 28 <meta property="og:image:secure_url" content="https://imgstore989.me/f/9UbbxI"> 29 <meta property="og:description" content="ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar."> 30 <meta property="og:price:amount" content="10,000-,"> 31 <meta property="og:price:currency" content="IDR"> 32 <meta property="og:url" content="https://healthcarenewsreports.com/"> 33 <meta property="og:site_name" content="ORISTOTO"> 34 <meta name="twitter:site" content="@ORISTOTO"> 35 <meta name="twitter:card" content="summary"> 36 <meta name="twitter:title" content="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 "> 37 <meta name="twitter:description" content="ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar."> 38 <meta name="twitter:image" content="https://imgstore989.me/f/9UbbxI"> 39 <meta name="twitter:image:width" content="600"> 40 <meta name="twitter:image:height" content="600"> 41 <link rel="shortcut icon" href="https://banner989.me/uapGUZ" type="image/png"> 42 <meta name="theme-color" content="#ffffff"> 43 <meta name="geo.region" content="ID" /> 44 <meta name="pinterest" content="nopin"> 45 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 46 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 47 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
47<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
47 48
48<script 49 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 50 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 51 crossorigin="anonymous" 52 referrerpolicy="no-referrer" 53 defer 54 ></script>
54 55
55<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
55 56
56<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
56<!-- Facebook Pixel Code --> 57
57<script>
vendor: 462 bytes, lines 57-66
57 58 !function(f,b,e,v,n,t,s) 59 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 60 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 61 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 62 n.queue=[];t=b.createElement(e);t.async=!0; 63 t.src=v;s=b.getElementsByTagName(e)[0]; 64 s.parentNode.insertBefore(t,s)}(window, document,'script', 65 'https://connect.facebook.net/en_US/fbevents.js'); 66 fbq('init', '
66165971065669324
vendor: 42 bytes, lines 66-68
66'); 67 fbq('track', 'PageView'); 68
68</script>
68 69 <noscript 70 ><img 71 height="1" 72 width="1" 73 style="display:none" 74 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 75 ></noscript> 76 <!-- End Facebook Pixel Code --> 77 78 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 79 <!-- 80 Global site tag (gtag.js) - Google Analytics --
vendor: 75 bytes, lines 80-81
80 81 <script async src="https://www.googletagmanager.com/gtag/js?id=
81G-X26HYP4083
vendor: 23 bytes, lines 81-82
81"></script> 82
82<script> 83
vendor: 170 bytes, lines 83-87
83window.dataLayer = window.dataLayer || []; 84 function gtag(){dataLayer.push(arguments);} 85 gtag('js', new Date()); 86 87 gtag('config', '
87G-X26HYP4083
vendor: 15 bytes, lines 87-88
87'); 88
88</script>
88 89 Global site tag (gtag.js) - Google Analytics 90 --> 91 92 <div class="button-login-daftar"> 93 <a class="login" href="https://brand.healthcarenewsreports.com/" rel="nofollow noreferrer" style="color: white;"> 94 LOGIN 95 </a> 96 <a class="register" href="https://brand.healthcarenewsreports.com/" rel="nofollow noreferrer" style="color: white;"> 97 DAFTAR 98 </a> 99 </div> 100 101
101<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
101 102 103 <!-- Bing UET --> 104
104<script> 105 (function(w,d,t,r,u) 106 { 107 var f,n,i; 108 w[u]=w[u]||[],f=function() 109 { 110 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 111 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 112 }, 113 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 114 { 115 var s=this.readyState; 116 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 117 }, 118 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 119 }) 120 (window,document,"script","//bat.bing.com/bat.js","uetq"); 121 </script>
121 122
122<script> 123 window.uetq = window.uetq || []; 124 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 125 </script>
125 126 <!-- End Bing UET --> 127 128 <!-- Microsoft Clarity --> 129
129<script type="text/javascript"> 130 (function(c,l,a,r,i,t,y){ 131 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 132 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 133 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 134 })(window, document, "clarity", "script", "h7rbxqry9k"); 135 </script>
135 136 <!-- End Microsoft Clarity --> 137 138 139 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 140 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 141 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 142
142<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
142 143
143<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
143 144
144<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
144 145
145<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
145 146 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 147 <link rel="alternate" type="application/json+oembed" href="https://healthcarenewsreports.com/.oembed"> 148
148<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
148 149
149<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
149 150
150<script>var Shopify = Shopify || {}; 151 Shopify.shop = "outerbloom1.myshopify.com"; 152 Shopify.locale = "en"; 153 Shopify.currency = {"active":"IDR","rate":"1.0"}; 154 Shopify.country = "ID"; 155 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 156 Shopify.theme.handle = "null"; 157 Shopify.theme.style = {"id":null,"handle":null}; 158 Shopify.cdnHost = "outerbloom.com/cdn"; 159 Shopify.routes = Shopify.routes || {}; 160 Shopify.routes.root = "/";</script>
160 161
161<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
161 162
162<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>
162 163
163<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
163 164
164<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 165 "></script>
165 166
166<script>(function() { 167 var isLoaded = false; 168 function asyncLoad() { 169 if (isLoaded) return; 170 isLoaded = true; 171 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"]; 172 for (var i = 0; i < urls.length; i++) { 173 var s = document.createElement('script'); 174 s.type = 'text/javascript'; 175 s.async = true; 176 s.src = urls[i]; 177 var x = document.getElementsByTagName('script')[0]; 178 x.parentNode.insertBefore(s, x); 179 } 180 }; 181 if(window.attachEvent) { 182 window.attachEvent('onload', asyncLoad); 183 } else { 184 window.addEventListener('load', asyncLoad, false); 185 } 186 })();</script>
186 187
187<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>
187 188
188<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
188 189
189<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>
189 190
190<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>
190 191
191<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)}}; 192 </script>
192 193
193<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 194 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); 195 </script>
195 196
196<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})}})); 197 </script>
197 198 199
199<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
199 200 <!-- /snippets/oldIE-js.liquid --> 201 202 203 <!--[if lt IE 9]> 204
204<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
204 205
205<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
205 206 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 207 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 208
208<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
208 209 <![endif]--> 210 211 212 213 214 215 <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"> 216 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 217
217<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>
217 218
218<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":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","url":"\/products\/blossom-shine","type":"ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar."},"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\":\"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 \",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 \",\"url\":\"\/products\/blossom-shine\",\"type\":\"ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
218<script> 219 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 220 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 221 window.ShopifyAnalytics.meta.currency = 'IDR'; 222 var meta = {"product":{"id":8144957800663,"gid":"gid:\/\/shopify\/Product\/8144957800663","vendor":"Outerbloom Florist","type":"ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.","variants":[{"id":44083045826775,"price":1000000 223 ,"name":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","public_title":null,"sku":"OBVSTF1086"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8144957800663}}; 224 for (var attr in meta) { 225 window.ShopifyAnalytics.meta[attr] = meta[attr]; 226 } 227 </script>
227 228
228<script class="analytics"> 229 (function () { 230 var customDocumentWrite = function(content) { 231 var jquery = null; 232 233 if (window.jQuery) { 234 jquery = window.jQuery; 235 } else if (window.Checkout && window.Checkout.$) { 236 jquery = window.Checkout.$; 237 } 238 239 if (jquery) { 240 jquery('body').append(content); 241 } 242 }; 243 244 var hasLoggedConversion = function(token) { 245 if (token) { 246 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 247 } 248 return false; 249 } 250 251 var setCookieIfConversion = function(token) { 252 if (token) { 253 var twoMonthsFromNow = new Date(Date.now()); 254 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 255 256 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 257 } 258 } 259 260 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 261 if (trekkie.integrations) { 262 return; 263 } 264 trekkie.methods = [ 265 'identify', 266 'page', 267 'ready', 268 'track', 269 'trackForm', 270 'trackLink' 271 ]; 272 trekkie.factory = function(method) { 273 return function() { 274 var args = Array.prototype.slice.call(arguments); 275 args.unshift(method); 276 trekkie.push(args); 277 return trekkie; 278 }; 279 }; 280 for (var i = 0; i < trekkie.methods.length; i++) { 281 var key = trekkie.methods[i]; 282 trekkie[key] = trekkie.factory(key); 283 } 284 trekkie.load = function(config) { 285 trekkie.config = config || {}; 286 trekkie.config.initialDocumentCookie = document.cookie; 287 var first = document.getElementsByTagName('script')[0]; 288 var script = document.createElement('script'); 289 script.type = 'text/javascript'; 290 script.onerror = function(e) { 291 var scriptFallback = document.createElement('script'); 292 scriptFallback.type = 'text/javascript'; 293 scriptFallback.onerror = function(error) { 294 var Monorail = { 295 produce: function produce(monorailDomain, schemaId, payload) { 296 var currentMs = new Date().getTime(); 297 var event = { 298 schema_id: schemaId, 299 payload: payload, 300 metadata: { 301 event_created_at_ms: currentMs, 302 event_sent_at_ms: currentMs 303 } 304 }; 305 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 306 }, 307 sendRequest: function sendRequest(endpointUrl, payload) { 308 // Try the sendBeacon API 309 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 310 var blobData = new window.Blob([payload], { 311 type: 'text/plain' 312 }); 313 314 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 315 return true; 316 } // sendBeacon was not successful 317 318 } // XHR beacon 319 320 var xhr = new XMLHttpRequest(); 321 322 try { 323 xhr.open('POST', endpointUrl); 324 xhr.setRequestHeader('Content-Type', 'text/plain'); 325 xhr.send(payload); 326 } catch (e) { 327 console.log(e); 328 } 329 330 return false; 331 }, 332 isIos12: function isIos12() { 333 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 334 } 335 }; 336 Monorail.produce('monorail-edge.shopifysvc.com', 337 'trekkie_storefront_load_errors/1.1', 338 {shop_id: 15896833, 339 theme_id: 153139282135, 340 app_name: "storefront", 341 context_url: window.location.href, 342 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 343 344 }; 345 scriptFallback.async = true; 346 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 347 first.parentNode.insertBefore(scriptFallback, first); 348 }; 349 script.async = true; 350 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 351 first.parentNode.insertBefore(script, first); 352 }; 353 trekkie.load( 354 {"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}} 355 ); 356 357 var loaded = false;
358 trekkie.ready(function() { 359 if (loaded) return; 360 loaded = true; 361 362 window.ShopifyAnalytics.lib = window.trekkie; 363 364 var originalDocumentWrite = document.write; 365 document.write = customDocumentWrite; 366 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 367 document.write = originalDocumentWrite; 368 369 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8144957800663,"shopifyEmitted":true}); 370 371 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 372 var token = match? match[1]: undefined; 373 if (!hasLoggedConversion(token)) { 374 setCookieIfConversion(token); 375 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 376 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8144957800663,"productGid":"gid:\/\/shopify\/Product\/8144957800663","name":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 377 } 378 }); 379 380 381 var eventsListenerScript = document.createElement('script'); 382 eventsListenerScript.async = true; 383 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 384 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 385 386 })();</script>
386 387
387<script> 388 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 389 window.ga = function ga() { 390 (window.ga.q = window.ga.q || []).push(arguments); 391 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 392 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 393 } 394 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."); 395 }; 396 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 397 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 398 } 399 } 400 </script>
400 401
401<script 402 defer 403 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 404 data-application="storefront-renderer" 405 data-shop-id="15896833" 406 data-render-region="gcp-asia-southeast1" 407 data-page-type="product" 408 data-theme-instance-id="153139282135" 409 data-theme-name="" 410 data-theme-version="" 411 data-monorail-region="shop_domain" 412 data-resource-timing-sampling-rate="10" 413 data-shs="true" 414 data-shs-beacon="true" 415 data-shs-export-with-fetch="true" 416 data-shs-logs-sample-rate="1" 417 ></script>
417 418 419
419<script type="application/ld+json"> 420{ 421 "@context": "https://schema.org", 422 "@type": "Product", 423 "name": "ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ", 424 "image": "https://banner989.me/PCOQ3t", 425 "description": "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.", 426 "brand": { 427 "@type": "Brand", 428 "name": "ORISTOTO" 429 }, 430 "sku": "ORISTOTO-TRUSTED", 431 "mpn": "SITUS-TOTO", 432 "url": "https://healthcarenewsreports.com/", 433 "offers": { 434 "@type": "Offer", 435 "url": "https://healthcarenewsreports.com/", 436 "priceCurrency": "USD", 437 "price": "11", 438 "priceValidUntil": "2027-11-25", 439 "itemCondition": "https://schema.org/NewCondition", 440 "availability": "https://schema.org/InStock", 441 "seller": { 442 "@type": "Organization", 443 "name": "ORISTOTO" 444 } 445 }, 446 "aggregateRating": { 447 "@type": "AggregateRating", 448 "ratingValue": "5.0", 449 "reviewCount": 89426 450 }, 451 "review": [ 452 { 453 "@type": "Review", 454 "reviewRating": { 455 "@type": "Rating", 456 "ratingValue": "5", 457 "bestRating": "5" 458 }, 459 "author": { 460 "@type": "Person", 461 "name": "Batok" 462 }, 463 "reviewBody": "Situs toto slot langganan saya, tampilannya mewah, ringan dan responsif, apalagi akses link login juga selalu stabil dan lancar, buat rasa bermain semakin nyaman." 464 }, 465 { 466 "@type": "Review", 467 "reviewRating": { 468 "@type": "Rating", 469 "ratingValue": "5", 470 "bestRating": "5" 471 }, 472 "author": { 473 "@type": "Person", 474 "name": "Andi" 475 }, 476 "reviewBody": "Awalnya iseng bermain di Oristoto karena pasaran toto togel nya sangat banyak, lengkap dan resmi, min bettingan juga sangat kecil dan hadiah 4d nya luar biasa besar." 477 }, 478 { 479 "@type": "Review", 480 "reviewRating": { 481 "@type": "Rating", 482 "ratingValue": "5", 483 "bestRating": "5" 484 }, 485 "author": { 486 "@type": "Person", 487 "name": "Andrian" 488 }, 489 "reviewBody": "Yang buat saya suka bermain di Oristoto itu provider slot gacornya lengkap, dan stabilitas websitenya selalu lancar, gak pernah ada error atau kendala lag kalau lagi betting." 490 } 491 ] 492} 493</script>
vendor: 1 bytes, line 493
493
494<script type="application/ld+json"> 495{ 496 "@context": "https://schema.org", 497 "@type": "BreadcrumbList", 498 "itemListElement": [ 499 { 500 "@type": "ListItem", 501 "position": 1, 502 "name": "ORISTOTO", 503 "item": "https://healthcarenewsreports.com/" 504 }, 505 { 506 "@type": "ListItem", 507 "position": 2, 508 "name": "SITUS TOTO", 509 "item": "https://healthcarenewsreports.com/" 510 }, 511 { 512 "@type": "ListItem", 513 "position": 3, 514 "name": "SLOT GACOR", 515 "item": "https://healthcarenewsreports.com/" 516 }, 517 { 518 "@type": "ListItem", 519 "position": 4, 520 "name": "TOTO SLOT", 521 "item": "https://healthcarenewsreports.com/" 522 }, 523 { 524 "@type": "ListItem", 525 "position": 5, 526 "name": "TOGEL 4D", 527 "item": "https://healthcarenewsreports.com/" 528 }, 529 { 530 "@type": "ListItem", 531 "position": 6, 532 "name": "TOTO TOGEL", 533 "item": "https://healthcarenewsreports.com/" 534 }, 535 { 536 "@type": "ListItem", 537 "position": 7, 538 "name": "TOGEL TERPERCAYA", 539 "item": "https://healthcarenewsreports.com/" 540 }, 541 { 542 "@type": "ListItem", 543 "position": 8, 544 "name": "ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ", 545 "item": "https://healthcarenewsreports.com/" 546 } 547 ] 548} 549</script>
549 550
550<script type="application/ld+json"> 551 { 552 "@context": "https://schema.org", 553 "@type": "Organization", 554 "name": "ORISTOTO", 555 "url": "https://healthcarenewsreports.com/", 556 "logo": "https://banner989.me/PCOQ3t", 557 "sameAs": ["https://www.facebook.com/oristoto", "https://twitter.com/oris_toto", "https://www.instagram.com/oris_toto"], 558 "contactPoint": { 559 "@type": "ContactPoint", 560 "telephone": "+62-822-2695-7356", 561 "contactType": "customer support", 562 "areaServed": "ID", 563 "availableLanguage": ["Indonesian", "English"] 564 } 565 } 566 </script>
vendor: 1 bytes, line 566
566
567<script type="application/ld+json"> 568{ 569 "@context": "https://schema.org", 570 "@type": "FAQPage", 571 "mainEntity": [ 572 { 573 "@type": "Question", 574 "name": "Apa Keunggulan Bermain di Situs ORISTOTO ?", 575 "acceptedAnswer": { 576 "@type": "Answer", 577 "text": "Keunggulan jika anda bermain di ORISTOTO adalah tampilannya yang ringan dan user friendly, akses login yang mudah, koneksi jaringan situs yang stabil, bonus melimpah dan pastinya situs toto slot gacor paling terpercaya." 578 } 579 }, 580 { 581 "@type": "Question", 582 "name": "Mengapa Banyak Pemain Memilih Daftar di ORISTOTO ?", 583 "acceptedAnswer": { 584 "@type": "Answer", 585 "text": "Karena ORISTOTO sudah terbukti sangat terpercaya dan aman digunakan, dengan sertifikat dan lisensi resmi dari pusat judi online dunia, serta cara pendaftarannya yang mudah tidak ribet." 586 } 587 }, 588 { 589 "@type": "Question", 590 "name": "Apakah Proses Transaksi di ORISTOTO Aman ?", 591 "acceptedAnswer": { 592 "@type": "Answer", 593 "text": "Ya, pastinya sangat aman, ORISTOTO mengedepankan transparansi dalam proses transaksi, sehingga para pemain tidak perlu khawatir akan kemenangan tidak dibayar, user id diblokir dan lain sebagainya seperti situs lain." 594 } 595 } 596 ] 597} 598</script>
598 599
600<script type="application/ld+json"> 601{ 602 "@context": "https://schema.org", 603 "@type": "HowTo", 604 "name": "Cara bermain dan panduan lengkap bermain di situs toto slot gacor link toto togel 4d resmi ORISTOTO", 605 "description": "Panduan bermain agar anda lebih mudah merasakan kemenangan maksimal", 606 "image": "https://imgstore989.me/f/9UbbxI", 607 "step": [ 608 { 609 "@type": "HowToStep", 610 "name": "Kunjungi Situs Resmi ORSITOTO", 611 "text": "Buka google anda dan ketik di pencarian ORISTOTO, kemudian klik dan buat akun user id anda untuk bermain.", 612 "url": "https://healthcarenewsreports.com/", 613 "image": "https://imgstore989.me/f/9UbbxI" 614 }, 615 { 616 "@type": "HowToStep", 617 "name": "Isi Formulir Pendaftaran", 618 "text": "Klik tombol daftar, isi data data diri anda dengan baik dan benar sesuai yang dibutuhkan, agar mudah terverifikasi dan siap untuk bermain.", 619 "image": "https://imgstore989.me/f/9UbbxI" 620 }, 621 { 622 "@type": "HowToStep", 623 "name": "Mulai Betting Permainan Kesukaan Anda", 624 "text": "Setelah akun selesai dibuat, pastikan anda mengisi saldo terlebih dahulu, kemudian pilih game kesukaan anda, main, menang dan tinggal di withdrawkan.", 625 "image": "https://imgstore989.me/f/9UbbxI" 626 } 627 ], 628 "tool": [ 629 { 630 "@type": "HowToTool", 631 "name": "Mobile ataupun Desktop" 632 }, 633 { 634 "@type": "HowToTool", 635 "name": "Koneksi jaringan yang stabil" 636 } 637 ], 638 "totalTime": "PT5M", 639 "estimatedCost": { 640 "@type": "MonetaryAmount", 641 "currency": "IDR", 642 "value": "10000" 643 }, 644 "supply": { 645 "@type": "HowToSupply", 646 "name": "Saldo deposit minimal" 647 } 648} 649</script>
649 650 651 </head><body 652 data-template="product" 653 id="blossom-shine" 654 class="template-product template-product" 655 > 656 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 656-659
656 657 <noscript 658 ><iframe 659 src="https://www.googletagmanager.com/ns.html?id=
659GTM-MF9VVZX
vendor: 129 bytes, lines 659-665
659" 660 height="0" 661 width="0" 662 style="display:none;visibility:hidden" 663 ></iframe 664 ></noscript> 665
665<!-- End Google Tag Manager (noscript) --> 666 667 668 669 <div class="header-wrapper"> 670 671 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 672 673 <style> 674 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 675 #notification.promo-up {top: -48px!important;} 676 .promo-bg {width: 100%;padding: 6px 0;background: linear-gradient(to bottom, #c20007 0%, #9a0000 50%, #750000 100%);} 677 .notification__message p {margin: 0;color: #ffffff;font-size: 20px!important; font-weight: bold;} 678 .notification__message p a {text-decoration: underline;color: #ffffff;} 679 @media (max-width: 991px){ 680 .notification__message p {font-size: 14px!important;} 681 } 682 </style> 683 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 684 <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"> 685 <div class="page-width notification__inner "> 686 687 688 <div class="notification__message text-center"> 689 <p>GOOD THINGS TAKE TIME - JUST ENJOY IT</p> 690 </div> 691 </div> 692 </div> 693 694 695 696 697 </div> 698 <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"/> 699 700 701 <header style="background: black;"> 702 <div class="container"> 703 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 704 <a href="https://healthcarenewsreports.com/"> 705 <img src="https://banner989.me/PCOQ3t" alt="LOGO ORISTOTO" style="width: 190px;"></a> 706 <link href="https://banner989.me/uapGUZ" rel="shortcut icon" type="image/x-icon" /> 707 <div id="menu-hamburger" class="d-lg-none"> 708 <svg xmlns="https://banner989.me/PCOQ3t" width="16" height="10" viewBox="0 0 16 10" fill="none"> 709 <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"/> 710 </svg> 711 712 <a href="/"><svg xmlns="https://banner989.me/PCOQ3t" viewBox="0 0 854 78.29"> 713 <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> 714 </svg> 715 </a> 716 </div> 717 718 <div class="header-icon-right header-icons col-3"> 719 <div class="icon icon-account-header d-none d-lg-block"> 720 <a href="https://healthcarenewsreports.com/"> 721 <svg xmlns="https://banner989.me/PCOQ3t" width="20" height="21" viewBox="0 0 20 21" fill="none"> 722 <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"/> 723 <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"/> 724 </svg> 725 726 </a> 727 </div> 728 <div class="icon icon-wishlist-header"> 729 <a href="https://healthcarenewsreports.com/"> 730 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 731 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
7316 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 732 </svg> 733 734 <span class="wishlist-count d-none">0</span> 735 </a> 736 </div> 737 <div class="icon icon-cart-header"> 738 <a href="https://healthcarenewsreports.com/"> 739 <svg xmlns="https://banner989.me/PCOQ3t" width="22" height="21" viewBox="0 0 22 21" fill="none"> 740 <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"/> 741 <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"/> 742 </svg> 743 744 </a> 745 </div> 746 </div> 747 </div> 748 </div> 749 </header> 750 751 <nav class="nav-header" style="background: linear-gradient(to bottom, #c20007 0%, #9a0000 50%, #750000 100%);"> 752 <div class="nav-account-mobile row m-0 d-lg-none"> 753 <div class="col-6 welcome-cust p-0"> 754 755 <h1 class="logo"> 756 <a href="https://healthcarenewsreports.com/"> 757 <img src="https://banner989.me/PCOQ3t" alt="ORISTOTO" style="max-height:60px;"> 758 </a> 759 </h1> 760 761 762 </div> 763 764 <div class="col-6 login-register text-right p-0"> 765 <a href="https://brand.healthcarenewsreports.com/">Log In</a> | <a href="https://brand.healthcarenewsreports.com/">Sign Up</a> 766 </div> 767 </div> 768 <ul class="nav-menu container"> 769 770 <li class="nav-menu container"> 771 <a href="https://healthcarenewsreports.com/"> 772 <span style="color: #ffffff;">ORISTOTO</span> 773 774 775 <li class=" nav-menu container"> 776 <a href="https://healthcarenewsreports.com/"> 777 <span style="color: #ffffff;">SITUS TOTO</span> 778 779 780 <li class=" nav-menu container"> 781 <a href="https://healthcarenewsreports.com/"> 782 <span style="color: #ffffff;">TOTO SLOT</span> 783 784 <li class=" nav-menu container"> 785 <a href="https://healthcarenewsreports.com/"> 786 <span style="color: #ffffff;">SLOT GACOR</span> 787 788 <li class=" nav-menu container"> 789 <a href="https://healthcarenewsreports.com/"> 790 <span style="color: #ffffff;">TOTO TOGEL</span> 791 792 <li class=" nav-menu container"> 793 <a href="https://healthcarenewsreports.com/"> 794 <span style="color: #ffffff;">TOGEL 4D</span> 795 796 <div class="overlay-nav"> 797 <!-- Mobile Close Button in Overlay --> 798 <button id="nav-close" class="nav-close-btn d-lg-none"> 799 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://banner989.me/PCOQ3t"> 800 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 801 </svg> 802 </button> 803 </div> 804 805
805<script> 806 if ($(window).width() < 992) { 807 // Level 1 menu accordion (main menu items) 808 $(".nav-menu .nav-menu container > a").click(function(e){ 809 e.preventDefault() 810 const parentLi = $(this).parent() 811 const isCurrentlyOpen = parentLi.hasClass("menu-open") 812 813 // Close all other open menus (accordion behavior) 814 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 815 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 816 817 // Toggle current menu 818 if (isCurrentlyOpen) { 819 parentLi.removeClass("menu-open") 820 $(this).next(".megamenu").slideUp() 821 } else { 822 parentLi.addClass("menu-open") 823 $(this).next(".megamenu").slideDown() 824 } 825 }) 826 827 // Level 2 menu accordion (submenu items with grandchildren) 828 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 829 e.preventDefault() 830 const parentLi = $(this).parent() 831 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 832 const grandchild = $(this).next(".grandchild") 833 834 // Close all other open submenus in the same dropdown (accordion behavior) 835 parentLi.siblings('.has-submenu').removeClass("submenu-open") 836 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 837 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 838 839 // Toggle current submenu 840 if (isCurrentlyOpen) { 841 parentLi.removeClass("submenu-open") 842 grandchild.slideUp() 843 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 844 } else { 845 parentLi.addClass("submenu-open") 846 grandchild.slideDown() 847 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 848 } 849 }) 850 851 $("#menu-hamburger").click(function(e){ 852 e.preventDefault() 853 $("body").toggleClass("nav_open") 854 }) 855 856 // Handle close button click 857 $("#nav-close").click(function(e){ 858 e.preventDefault() 859 $("body").removeClass("nav_open") 860 // Close all open menus when close button is clicked 861 $(".nav-menu .nav-menu container").removeClass("menu-open") 862 $(".nav-menu .megamenu").slideUp() 863 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 864 $(".dropdown-menu .grandchild").slideUp() 865 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 866 }) 867 } 868 869 $(".overlay-nav").click(function(e){ 870 e.preventDefault() 871 $("body").removeClass("nav_open") 872 // Close all open menus when overlay is clicked 873 $(".nav-menu .nav-menu container").removeClass("menu-open") 874 $(".nav-menu .megamenu").slideUp() 875 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 876 $(".dropdown-menu .grandchild").slideUp() 877 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 878 }) 879 </script>
879 880 881 882 </div> 883 884 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 885 #search-trigger { 886 cursor: pointer; 887 } 888 #search-popup { 889 display: none; 890 position: fixed; 891 left: 0; 892 width: 100%; 893 top: 0; 894 height: 100%; 895 justify-content: center; 896 z-index: 9999; 897 background: rgb(196 196 196 / 30%); 898 } 899 #search-input { 900 align-self: center; 901 width: 100%; 902 height: 80px; 903 position: absolute; 904 top: 0; 905 border-bottom: 0.5px solid #A3A3A3; 906 background-color: #fff; 907 } 908 #search-input * { 909 align-self: center; 910 } 911 #search-type { 912 width: 100%; 913 border: none; 914 padding-right: 20px; 915 padding-left: 20px; 916 font-size: 16px; 917 color: #757575; 918 } 919 #search-btn { 920 font-size: 16px; 921 font-weight: 500; 922 } 923 #search-result { 924 min-height: 490px; 925 width: 100%; 926 padding-top: 80px; 927 } 928 #search-result .container { 929 background-color: #fff; 930 padding: 20px 40px; 931 } 932 body.search-popup-open { 933 /* .search-popup-open */ 934 overflow: hidden; 935 } 936 .search-popup-open #loc_delivery { 937 display: none 938 } 939 .search-header svg { 940 display: none; 941 cursor: pointer; 942 } 943 .wrapper-search-popup { 944 max-height: calc(100vh - 150px); 945 overflow-y: auto; 946 overflow-x: hidden; 947 } 948 949 .group-recommend { 950 padding: 20px 40px; 951 } 952 953 .resultsearch { 954 display: none; 955 } 956 .results { padding: 20px 40px } 957 .resultsearch label { 958 font-weight: 600; 959 padding-bottom: 20px; 960 display: block; 961 margin-bottom: 20px; 962 border-bottom: 1px solid #AAAAAA; 963 } 964 965 ul.result_product { 966 max-height: 300px; 967 overflow: auto; 968 } 969 970 .group-promotion ul { 971 margin: 0; 972 } 973 .group-promotion li { 974 list-style: none; 975 margin-bottom: 12px; 976 } 977 .group-promotion li a { 978 color: inherit; 979 } 980 981 .group-recent { 982 position: relative; 983 padding: 20px 40px; 984 } 985 .group-recent ul { 986 margin: 0; 987 } 988 .group-recent li { 989 list-style: none; 990 display: inline-block; 991 margin-right: 60px; 992 } 993 .group-recent li a { 994 color: inherit; 995 } 996 997 .last-search svg { 998 width: 20px; 999 vertical-align: middle; 1000 } 1001 ul.last-search a { 1002 vertical-align: middle; 1003 padding: 0 10px; 1004 } 1005 ul.last-search li span { 1006 cursor: pointer; 1007 } 1008 .delete-all-history { 1009 position: absolute; 1010 top: 25px; 1011 right: 40px; 1012 text-decoration: underline; 1013 color: #e11d1d; 1014 cursor: pointer; 1015 font-size: 12px; 1016 } 1017 1018 form.search.search-modal__form { 1019 position: relative; 1020 } 1021 1022 button.search__button svg { 1023 width: 25px; 1024 color: #495057; 1025 fill: #757582; 1026 } 1027 1028 button.search__button.field__button { 1029 position: absolute; 1030 top: 50%; 1031 margin-top: -12px; 1032 } 1033 1034 .close-search { 1035 display: none; 1036 position: absolute; 1037 right: 65px; 1038 top: 10px; 1039 cursor: pointer; 1040 } 1041 1042 .site-overlay { 1043 position: fixed; 1044 top: 0; 1045 width: 100vw; 1046 height: 100vh; 1047 z-index: 1000; 1048 background: #0000005c; 1049 visibility: hidden; 1050 opacity: 0; 1051 pointer-events: none; 1052 transition: all .3s linear; 1053 display: block !important; 1054 } 1055 1056 .search-popup-open .site-overlay { 1057 opacity: 1; 1058 visibility: visible; 1059 pointer-events: all; 1060 z-index: -1; 1061 cursor: pointer; 1062 } 1063 1064 @media (min-width: 991px) { 1065 .group-recent ul { 1066 column-count: 3; 1067 } 1068 .group-promotion li a { 1069 font-size: 12px; 1070 font-weight: 400; 1071 } 1072 .group-recent li a { 1073 font-size: 12px; 1074 font-weight: 400; 1075 } 1076 } 1077 1078 .moreresult { 1079 padding: 10px 40px; 1080 border-top: 1px solid #AAAAAA; 1081 } 1082 .moreresult * { 1083 align-self: center; 1084 } 1085 .moreresult p { 1086 margin: 0; 1087 font-size: 12px !important; 1088 } 1089 .moreresult svg { 1090 width: 13px; 1091 } 1092 1093 @media (max-width: 992px) { 1094 .icon-key-mobile { 1095 height: auto!important; 1096 width: 10px!important; 1097 } 1098 body.grid-view.search-popup-open .products { 1099 -ms-flex: 0 0 100%!important; 1100 flex: 0 0 100%!important; 1101 max-width: 100%!important; 1102 } 1103 button.search__button svg {
1104 width: 20px; 1105 } 1106 #search-result { 1107 padding-left: 0; 1108 padding-right: 0; 1109 } 1110 #search-result { 1111 padding-top: 55px; 1112 } 1113 #search-input { 1114 height: 55px; 1115 } 1116 .group-recommend { 1117 padding: 20px; 1118 } 1119 #search-input .container { 1120 padding: 0 20px; 1121 } 1122 #search-type { 1123 font-size: 14px; 1124 } 1125 #search-btn { 1126 font-size: 12px; 1127 text-decoration: underline; 1128 } 1129 .results { 1130 padding: 20px; 1131 } 1132 .group-recommend h3 { 1133 font-size: 16px; 1134 } 1135 .products .card-body { 1136 padding: 8px 0px 10px; 1137 } 1138 .moreresult { 1139 padding: 10px 20px; 1140 } 1141 } 1142 </style> 1143 <style type="text/css"> 1144 div.advertisement-placeholder { 1145 text-align: center; 1146 padding-bottom: 20px; 1147 display: flex; 1148 flex-direction: column; 1149 justify-content: center; 1150 } 1151 div.advertisement-text p { 1152 margin: 0; 1153 font-family: Open Sans; 1154 font-style: normal; 1155 font-weight: normal; 1156 font-size: 10px; 1157 line-height: 20px; 1158 color: #999999; 1159 } 1160 div.advertisement-banner { 1161 margin: 0px auto; 1162 } 1163 div#div-gpt-ad-billboard-placeholder { 1164 width: 996px; 1165 margin: 0 auto; 1166 background: #F5F5F5; 1167 padding-bottom: unset !important; 1168 min-height: 200px; 1169 } 1170 div#div-gpt-ad-lb-placeholder { 1171 background: #F5F5F5; 1172 padding-bottom: unset !important; 1173 min-height: 280px; 1174 } 1175 .faq-section{ 1176 max-width:1200px; 1177 margin:50px auto; 1178 padding:40px 20px; 1179 position:relative; 1180 background-color: rgba(0, 0, 0, 0.1); 1181 backdrop-filter: blur(25px); 1182 border-radius: 20px; 1183 } 1184 1185 .faq-section::before{ 1186 content:""; 1187 position:absolute; 1188 top:0;left:50%; 1189 transform:translateX(-50%); 1190 width:80%; 1191 height:2px; 1192 background:linear-gradient(90deg,transparent,#ff0000,transparent) 1193 } 1194 1195 .faq-section h2{ 1196 text-align:center; 1197 font-size:34px;font-weight:700; 1198 margin-bottom:50px; 1199 background: linear-gradient(135deg, #ff0000, #ff0000, #ff0000); 1200 -webkit-background-clip:text; 1201 -webkit-text-fill-color:transparent; 1202 background-clip:text; 1203 font-family:"Poppins",sans-serif;letter-spacing:1px 1204 } 1205 1206 .faq-container{ 1207 display:flex; 1208 flex-direction:column; 1209 gap:25px 1210 } 1211 1212 .faq-item{ 1213 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 1214 border:2px solid #ff0000; 1215 border-radius:20px;overflow:hidden; 1216 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 1217 } 1218 1219 .faq-item:hover{ 1220 border-color:#ff0000; 1221 transform:translateX(10px); 1222 box-shadow:0 12px 35px rgba(253, 4, 4, 0.25) 1223 } 1224 1225 .faq-question{width:100%; 1226 padding:28px 35px;background:transparent; 1227 color:#ffffff; 1228 font-size:18px; 1229 font-weight:600; 1230 text-align:left; 1231 border:none;cursor:pointer; 1232 display:flex; 1233 justify-content:space-between; 1234 align-items:center; 1235 font-family:"Poppins",sans-serif; 1236 transition:all .3s ease 1237 } 1238 1239 .faq-question:hover{ 1240 color:#ff0000 1241 } 1242 1243 .faq-question::after{ 1244 content:'+'; 1245 font-size:32px; 1246 font-weight:300; 1247 transition:all .4s ease; 1248 color:#ff0000; 1249 width:40px; 1250 height:40px; 1251 display:flex; 1252 align-items:center; 1253 justify-content:center; 1254 border:2px solid #ff0000;border-radius:50%; 1255 background:rgba(0, 0, 0, 0.1) 1256 } 1257 1258 .faq-item.active .faq-question::after{ 1259 transform:rotate(135deg); 1260 background:linear-gradient(to bottom, #e20505 0%, #b90000 50%, #e20505 100%); 1261 color:#000;border-color:transparent 1262 } 1263 1264 .faq-answer{ 1265 max-height:0; 1266 overflow:hidden; 1267 transition:max-height .5s ease,padding .5s ease; 1268 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1269 padding:0 35px 1270 } 1271 1272 .faq-item.active .faq-answer{ 1273 max-height:800px;padding:30px 35px; 1274 border-top:1px solid rgba(253, 4, 4, 0.3) 1275 } 1276 1277 .faq-answer p{ 1278 color:#e0e0e0; 1279 font-size:16px; 1280 line-height:2; 1281 margin:0; 1282 font-family:"Poppins",sans-serif 1283 } 1284 1285 @media 1286 (max-width:768px) 1287 { 1288 1289 .faq-section 1290 {padding:30px 15px} 1291 1292 .faq-section h2 1293 {font-size:26px} 1294 1295 .faq-question 1296 {font-size:16px; 1297 padding:22px 25px} 1298 1299 .faq-question::after 1300 {width:35px; 1301 height:35px; 1302 font-size:28px} 1303 1304 .faq-answer 1305 {padding:0 25px} 1306 1307 .faq-item.active .faq-answer 1308 {padding:25px} 1309 1310 .faq-item:hover 1311 {transform:translateX(5px)} 1312 } 1313 </style> 1314 <div id="search-popup"> 1315 <div id="search-input" class="row"> 1316 <div class="container w-100"> 1317 <form 1318 action="/search" 1319 method="get" 1320 role="search" 1321 class="search search-modal__form d-flex justify-content-between" 1322 > 1323 <svg xmlns="https://banner989.me/PCOQ3t" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1324 <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"/> 1325 </svg> 1326 1327 <input type="hidden" name="type" value="product"> 1328 <input 1329 type="text" 1330 id="search-type" 1331 name="q" 1332 class="search-popup" 1333 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1334 > 1335 <div class="close-search"><svg xmlns="https://banner989.me/PCOQ3t" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1336 <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
133612.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"/> 1337 </svg> 1338 </div> 1339 <button id="search-btn">Search</button> 1340 </form> 1341 </div> 1342 </div> 1343 <div id="search-result" class="container m-auto"> 1344 <div class="container p-0"> 1345 <div class="group-promotion"> 1346 <div class="resultsearch"> 1347 <div class="row results"> 1348 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1349 <label>SUGGESTIONS</label> 1350 <ul class="result_collection"></ul> 1351 </div> 1352 <div class="col-12 col-lg-6"> 1353 <label>PRODUCTS</label> 1354 <ul class="result_product"></ul> 1355 </div> 1356 </div> 1357 <div class="d-flex justify-content-between moreresult m-0"> 1358 <p>Search for<span></span></p> 1359 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" width="32" height="32" viewBox="0 0 32 32"> 1360 <title>icon-arrow-right</title> 1361 <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> 1362 </svg> 1363 </div> 1364 </div> 1365 </div> 1366 <div class="group-recent hide"> 1367 <h3>RECENT SEARCH</h3> 1368 <span class="delete-all-history">Hapus riwayat</span> 1369 <ul class="last-search"></ul> 1370 </div> 1371 <div class="group-recommend"> 1372 <h3>YOU MAY ALSO LIKE</h3> 1373 1374 1375 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1376 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1377 1378 1379 <div class="swiper-slide card"> 1380 1381 1382 1383 1384 <div class="products" data-lazy="false"> 1385 <div class="bg-products"> 1386 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1387 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1388 <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.
138811233C11.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"/> 1389 </svg> 1390 1391 </div> 1392 <a href="/products/mid-autumn-of-love-mooncake"> 1393 1394 <div class="product-card-img-container p-0 position-relative"> 1395 1396 <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"> 1397 </div> 1398 <div class="card-body product-card-info"> 1399 <h5 class="h5 mb-0"> 1400 Mid Autumn of Love Mooncake 1401 </h5> 1402 <div class="product-card-price"> 1403 1404 <div class="product-price-sale"> 1405 <s class="product-card-price-before card-money">Rp 588.000</s> 1406 <span class="product-card-discount small"> 1407 (-40%) 1408 </span> 1409 </div> 1410 1411 1412 1413 <div class="price-discount"> 1414 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1415 </div> 1416 1417 1418 1419 1420 1421 </div> 1422 1423 </div> 1424 </a> 1425 </div> 1426 1427 </div> 1428 1429 </div> 1430 1431 1432 1433 <div class="swiper-slide card"> 1434 1435 1436 1437 1438 <div class="products" data-lazy="false"> 1439 <div class="bg-products"> 1440 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1441 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1442 <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.
144211233C11.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"/> 1443 </svg> 1444 1445 </div> 1446 <a href="/products/mid-autumn-of-joy-mooncake"> 1447 1448 <div class="product-card-img-container p-0 position-relative"> 1449 1450 <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"> 1451 </div> 1452 <div class="card-body product-card-info"> 1453 <h5 class="h5 mb-0"> 1454 Mid Autumn of Joy Mooncake 1455 </h5> 1456 <div class="product-card-price"> 1457 1458 <div class="product-price-sale"> 1459 <s class="product-card-price-before card-money">Rp 888.000</s> 1460 <span class="product-card-discount small"> 1461 (-33%) 1462 </span> 1463 </div> 1464 1465 1466 1467 <div class="price-discount"> 1468 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1469 </div> 1470 1471 1472 1473 1474 1475 </div> 1476 1477 </div> 1478 </a> 1479 </div> 1480 1481 </div> 1482 1483 </div> 1484 1485 1486 1487 <div class="swiper-slide card"> 1488 1489 1490 1491 1492 <div class="products" data-lazy="false"> 1493 <div class="bg-products"> 1494 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1495 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1496 <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.
149611233C11.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"/> 1497 </svg> 1498 1499 </div> 1500 <a href="/products/mid-autumn-of-fortune-mooncake"> 1501 1502 <div class="product-card-img-container p-0 position-relative"> 1503 1504 <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"> 1505 </div> 1506 <div class="card-body product-card-info"> 1507 <h5 class="h5 mb-0"> 1508 Mid Autumn of Fortune Mooncake 1509 </h5> 1510 <div class="product-card-price"> 1511 1512 <div class="product-price-sale"> 1513 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1514 <span class="product-card-discount small"> 1515 (-33%) 1516 </span> 1517 </div> 1518 1519 1520 1521 <div class="price-discount"> 1522 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1523 </div> 1524 1525 1526 1527 1528 1529 </div> 1530 1531 </div> 1532 </a> 1533 </div> 1534 1535 </div> 1536 1537 </div> 1538 1539 1540 1541 <div class="swiper-slide card"> 1542 1543 1544 1545 1546 <div class="products" data-lazy="false"> 1547 <div class="bg-products"> 1548 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1549 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1550 <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.
155011233C11.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"/> 1551 </svg> 1552 1553 </div> 1554 <a href="/products/mid-autumn-festival-mooncake"> 1555 1556 <div class="product-card-img-container p-0 position-relative"> 1557 1558 <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"> 1559 </div> 1560 <div class="card-body product-card-info"> 1561 <h5 class="h5 mb-0"> 1562 Mid Autumn Festival Mooncake 1563 </h5> 1564 <div class="product-card-price"> 1565 1566 <div class="product-price-sale"> 1567 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1568 <span class="product-card-discount small"> 1569 (-23%) 1570 </span> 1571 </div> 1572 1573 1574 1575 <div class="price-discount"> 1576 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1577 </div> 1578 1579 1580 1581 1582 1583 </div> 1584 1585 </div> 1586 </a> 1587 </div> 1588 1589 </div> 1590 1591 </div> 1592 1593 1594 1595 <div class="swiper-slide card"> 1596 1597 1598 1599 1600 <div class="products" data-lazy="false"> 1601 <div class="bg-products"> 1602 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1603 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1604 <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.
160411233C11.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"/> 1605 </svg> 1606 1607 </div> 1608 <a href="/products/the-jade-bouquet"> 1609 1610 <div class="product-card-img-container p-0 position-relative"> 1611 1612 <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"> 1613 </div> 1614 <div class="card-body product-card-info"> 1615 <h5 class="h5 mb-0"> 1616 The Jade Bouquet 1617 </h5> 1618 <div class="product-card-price"> 1619 1620 <div class="product-price-sale"> 1621 <s class="product-card-price-before card-money">Rp 435.000</s> 1622 <span class="product-card-discount small"> 1623 (-34%) 1624 </span> 1625 </div> 1626 1627 1628 1629 <div class="price-discount"> 1630 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1631 </div> 1632 1633 1634 1635 1636 1637 </div> 1638 1639 </div> 1640 </a> 1641 </div> 1642 1643 </div> 1644 1645 </div> 1646 1647 1648 1649 <div class="swiper-slide card"> 1650 1651 1652 1653 1654 <div class="products" data-lazy="false"> 1655 <div class="bg-products"> 1656 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1657 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1658 <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.
165811233C11.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"/> 1659 </svg> 1660 1661 </div> 1662 <a href="/products/the-selena-bouquet"> 1663 1664 <div class="product-card-img-container p-0 position-relative"> 1665 1666 <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"> 1667 </div> 1668 <div class="card-body product-card-info"> 1669 <h5 class="h5 mb-0"> 1670 The Selena Bouquet 1671 </h5> 1672 <div class="product-card-price"> 1673 1674 <div class="product-price-sale"> 1675 <s class="product-card-price-before card-money">Rp 335.000</s> 1676 <span class="product-card-discount small"> 1677 (-29%) 1678 </span> 1679 </div> 1680 1681 1682 1683 <div class="price-discount"> 1684 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1685 </div> 1686 1687 1688 1689 1690 1691 </div> 1692 1693 </div> 1694 </a> 1695 </div> 1696 1697 </div> 1698 1699 </div> 1700 1701 1702 1703 <div class="swiper-slide card"> 1704 1705 1706 1707 1708 <div class="products" data-lazy="false"> 1709 <div class="bg-products"> 1710 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1711 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1712 <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.
171211233C11.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"/> 1713 </svg> 1714 1715 </div> 1716 <a href="/products/the-viola-bouquet"> 1717 1718 <div class="product-card-img-container p-0 position-relative"> 1719 1720 <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"> 1721 </div> 1722 <div class="card-body product-card-info"> 1723 <h5 class="h5 mb-0"> 1724 The Viola Bouquet 1725 </h5> 1726 <div class="product-card-price"> 1727 1728 <div class="product-price-sale"> 1729 <s class="product-card-price-before card-money">Rp 385.000</s> 1730 <span class="product-card-discount small"> 1731 (-25%) 1732 </span> 1733 </div> 1734 1735 1736 1737 <div class="price-discount"> 1738 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1739 </div> 1740 1741 1742 1743 1744 1745 </div> 1746 1747 </div> 1748 </a> 1749 </div> 1750 1751 </div> 1752 1753 </div> 1754 1755 1756 1757 <div class="swiper-slide card"> 1758 1759 1760 1761 1762 <div class="products" data-lazy="false"> 1763 <div class="bg-products"> 1764 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1765 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1766 <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.
176611233C11.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"/> 1767 </svg> 1768 1769 </div> 1770 <a href="/products/the-minerva-bouquet"> 1771 1772 <div class="product-card-img-container p-0 position-relative"> 1773 1774 <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"> 1775 </div> 1776 <div class="card-body product-card-info"> 1777 <h5 class="h5 mb-0"> 1778 The Minerva Bouquet 1779 </h5> 1780 <div class="product-card-price"> 1781 1782 <div class="product-price-sale"> 1783 <s class="product-card-price-before card-money">Rp 385.000</s> 1784 <span class="product-card-discount small"> 1785 (-25%) 1786 </span> 1787 </div> 1788 1789 1790 1791 <div class="price-discount"> 1792 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1793 </div> 1794 1795 1796 1797 1798 1799 </div> 1800 1801 </div> 1802 </a> 1803 </div> 1804 1805 </div> 1806 1807 </div> 1808 1809 1810 1811 <div class="swiper-slide card"> 1812 1813 1814 1815 1816 <div class="products" data-lazy="false"> 1817 <div class="bg-products"> 1818 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1819 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1820 <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.
182011233C11.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"/> 1821 </svg> 1822 1823 </div> 1824 <a href="/products/congraduations-bouquet"> 1825 1826 <div class="product-card-img-container p-0 position-relative"> 1827 1828 <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"> 1829 </div> 1830 <div class="card-body product-card-info"> 1831 <h5 class="h5 mb-0"> 1832 Congraduations Bouquet 1833 </h5> 1834 <div class="product-card-price"> 1835 1836 <div class="product-price-sale"> 1837 <s class="product-card-price-before card-money">Rp 380.000</s> 1838 <span class="product-card-discount small"> 1839 (-25%) 1840 </span> 1841 </div> 1842 1843 1844 1845 <div class="price-discount"> 1846 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1847 </div> 1848 1849 1850 1851 1852 1853 </div> 1854 1855 </div> 1856 </a> 1857 </div> 1858 1859 </div> 1860 1861 </div> 1862 1863 1864 1865 <div class="swiper-slide card"> 1866 1867 1868 1869 1870 <div class="products" data-lazy="false"> 1871 <div class="bg-products"> 1872 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1873 <svg xmlns="https://banner989.me/PCOQ3t" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1874 <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.
187411233C11.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"/> 1875 </svg> 1876 1877 </div> 1878 <a href="/products/grad-gorgeous-bouquet"> 1879 1880 <div class="product-card-img-container p-0 position-relative"> 1881 1882 <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"> 1883 </div> 1884 <div class="card-body product-card-info"> 1885 <h5 class="h5 mb-0"> 1886 Grad & Gorgeous Bouquet 1887 </h5> 1888 <div class="product-card-price"> 1889 1890 <div class="product-price-sale"> 1891 <s class="product-card-price-before card-money">Rp 380.000</s> 1892 <span class="product-card-discount small"> 1893 (-25%) 1894 </span> 1895 </div> 1896 1897 1898 1899 <div class="price-discount"> 1900 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1901 </div> 1902 1903 1904 1905 1906 1907 </div> 1908 1909 </div> 1910 </a> 1911 </div> 1912 1913 </div> 1914 1915 </div> 1916 1917 1918 </div> 1919 </div> 1920 1921 </div> 1922 </div> 1923 </div> 1924 1925 <div class="site-overlay" style="display: none"></div> 1926 </div> 1927
1927<script> 1928 1929 var swiper = new Swiper('.popup-recommend', { 1930 slidesPerView : 4, 1931 spaceBetween: 30, 1932 lazy: true , 1933 speed: 300, 1934 breakpoints: { 1935 // when window width is <= 576px 1936 576: { 1937 slidesPerView: 2, 1938 spaceBetween: 10, 1939 freeMode: true, 1940 resistance : true, 1941 resistanceRatio : 0, 1942 freeModeMomentumRatio : 0.45, 1943 freeModeMomentumVelocityRatio : 1.5 1944 }, 1945 768: { 1946 slidesPerView: 2, 1947 spaceBetween: 10 1948 }, 1949 992: { 1950 slidesPerView: 3, 1951 spaceBetween: 20 1952 } 1953 } 1954 }); 1955 1956 const searchContainer = $("#search-popup") 1957 const searchInput = $(".search-popup") 1958 const result_collection = $('.result_collection') 1959 const result_product = $('.result_product') 1960 const resultsearch = $('.resultsearch') 1961 const resultrecommend = $(".group-recommend") 1962 const moreresult = $(".moreresult") 1963 1964 searchInput.keyup(function(){ 1965 const input = $(this).val() 1966 moreresult.find("p span").text(` â${input}â`) 1967 if(input.length > 2) { 1968 $(".close-search").show() 1969 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1970 $.ajax({ 1971 type: 'GET', 1972 url, 1973 beforeSend: function() { 1974 // setting a timeout 1975 // $(placeholder).addClass('loading'); 1976 }, 1977 success: function(response) { 1978 resultsearch.show() 1979 resultrecommend.hide() 1980 result_collection.html("") 1981 result_product.html("") 1982 const collections = response.resources.results.collections 1983 const products = response.resources.results.products 1984 let collection_length = collections.length 1985 let product_length = products.length 1986 // if(collections.length > 5) { 1987 // collection_length = 5 1988 // } 1989 // if(products.length > 5) { 1990 // product_length = 5 1991 // } 1992 for(let i=0;i<collection_length;i++){ 1993 const title = collections[i].title 1994 const url = collections[i].url 1995 let html_collection 1996 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1997 html_collection = ` 1998 <li class="item" data-title="${title}"> 1999 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 2000 </li> 2001 ` 2002 } 2003 result_collection.append(html_collection) 2004 } 2005 for(let i=0;i<product_length;i++){ 2006 const title = products[i].title 2007 const url = products[i].url 2008 const image = products[i].featured_image.url 2009 const vendor = products[i].vendor 2010 let html_product 2011 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 2012 html_product = ` 2013 <li class="item" data-vendor="${vendor}"> 2014 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 2015 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 2016 </a> 2017 </li> 2018 ` 2019 } 2020 result_product.append(html_product) 2021 } 2022 }, 2023 error: function(xhr) { // if error occured 2024 alert("Error occured.please try again"); 2025 }, 2026 complete: function(response) { 2027 // $(placeholder).removeClass('loading'); 2028 }, 2029 dataType: 'JSON' 2030 }); 2031 } else { 2032 result_collection.html("") 2033 result_product.html("") 2034 2035 resultsearch.hide() 2036 resultrecommend.show() 2037 } 2038 }) 2039 2040 moreresult.click(function(){ 2041 $("#search-btn").trigger("click"); 2042 }) 2043 2044 $(".close-search").click(function(){ 2045 $(this).hide() 2046 searchInput.val("") 2047 searchInput.focus() 2048 resultsearch.hide() 2049 resultrecommend.show() 2050 }) 2051 2052 function setCookie(name,value,days) { 2053 var expires = ""; 2054 if (days) { 2055 var date = new Date(); 2056 date.setTime(date.getTime() + (days*24*60*60*1000)); 2057 expires = "; expires=" + date.toUTCString(); 2058 } 2059 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 2060 } 2061 function getCookie(name) { 2062 var nameEQ = name + "="; 2063 var ca = document.cookie.split(';');
2064 for(var i=0;i < ca.length;i++) { 2065 var c = ca[i]; 2066 while (c.charAt(0)==' ') c = c.substring(1,c.length); 2067 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 2068 } 2069 return null; 2070 } 2071 let last_search_name = [] 2072 let last_search_url = [] 2073 $(".group-recent").hide() 2074 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 2075 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 2076 $(".group-recent").show() 2077 last_search_name = getCookie("last_search_name"); 2078 last_search_url = getCookie("last_search_url"); 2079 const arrName = last_search_name.substring(1).split(',').reverse() 2080 const arrUrl = last_search_url.substring(1).split(',').reverse() 2081 console.log(arrName, 'Array Name') 2082 console.log(arrUrl, 'Array Url') 2083 let length = arrName.length 2084 if(arrName.length > 5) { 2085 length = 5 2086 } 2087 for(let n=0;n<length;n++){ 2088 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://banner989.me/PCOQ3t"><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>` 2089 $(".group-recent ul").append(html2) 2090 } 2091 } 2092 } 2093 console.log(last_search_name, 'Name') 2094 console.log(last_search_url, 'url') 2095 2096 resultsearch.delegate(".item a", "click", function(){ 2097 let name = [last_search_name] 2098 let url = [last_search_url] 2099 name.push($(this).attr('data-title')) 2100 url.push($(this).attr('data-url')) 2101 setCookie("last_search_name",name,7); 2102 setCookie("last_search_url",url,7); 2103 }) 2104 2105 $(".delete-all-history").click(function() { 2106 setCookie("last_search_name",null,0); 2107 setCookie("last_search_url",null,0); 2108 $(".last-search").hide(); 2109 setTimeout(function(){ 2110 location.reload(); 2111 }, 500); 2112 }) 2113 2114 $("#search-trigger").click(function(){ 2115 search_open() 2116 }) 2117 $(".icon-search-mobile").click(function(){ 2118 search_open() 2119 }) 2120 $(".search-header svg").click(function(){ 2121 search_close() 2122 }) 2123 $(".icon-key-mobile").click(function(){ 2124 search_close() 2125 }) 2126 2127 function search_open() { 2128 $("body").addClass("search-popup-open") 2129 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 2130 $("#search-popup, .search-header svg, .icon-key-mobile").show() 2131 $(".search-popup").focus() 2132 $('.popup-recommend')[0].swiper.update(); 2133 } 2134 function search_close() { 2135 $("body").removeClass("search-popup-open") 2136 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 2137 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 2138 searchInput.val("") 2139 resultsearch.hide() 2140 resultrecommend.show() 2141 } 2142 2143 $(".site-overlay").click(function(){ 2144 search_close() 2145 }) 2146 </script>
2146 2147 2148 </div> 2149 </div> 2150 2151 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 2152 <main class="main-content pt-0" role="main"> 2153 2154 <div id="breadcrumbProduct" class="d-none d-lg-block"> 2155 <style> 2156 #breadcrumbProduct { 2157 padding: 20px 0; 2158 } 2159 #breadcrumbProduct ul { 2160 display: flex; 2161 padding: 0; 2162 list-style: none; 2163 margin: 0; 2164 gap: 12px; 2165 } 2166 #breadcrumbProduct ul li { 2167 text-transform: uppercase; 2168 margin: 0; 2169 font-size: 12px; 2170 } 2171 #breadcrumbProduct ul li a { 2172 color: #757575; 2173 } 2174 2175 #breadcrumbProduct ul li svg { 2176 width: 10px; 2177 height: 10px; 2178 padding: 0; 2179 color: #757575; 2180 vertical-align: middle; 2181 } 2182 </style> 2183 <div class="container" style="color: #ffffff;"> 2184 <ul role="navigation" aria-label="breadcrumbs"> 2185 <li><a href="https://healthcarenewsreports.com/" style="color: #ffffff;">ORISTOTO LOGIN</a></li> 2186 <li><svg xmlns="https://banner989.me/PCOQ3t" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2187 <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"/> 2188 </svg></li> 2189 <li><a href="https://healthcarenewsreports.com/" style="color: #ffffff;">DAFTAR ORISTOTO</a></li> 2190 <li><svg xmlns="https://banner989.me/PCOQ3t" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2191 <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"/> 2192 </svg></li> 2193 <li><a href="https://healthcarenewsreports.com/" style="color: #ffffff;">TOTO 4D</a></li> 2194 <li><svg xmlns="https://banner989.me/PCOQ3t" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2195 <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"/> 2196 </svg></li> 2197 <li><a href="https://healthcarenewsreports.com/" style="color: #ffffff;">SITUS SLOT</a></li> 2198 <li><svg xmlns="https://banner989.me/PCOQ3t" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2199 <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"/> 2200 </svg></li> 2201 <li><a href="https://healthcarenewsreports.com/" style="color: #ffffff;">ORISTOTO</a></li> 2202 <li><svg xmlns="https://banner989.me/PCOQ3t" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2203 <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"/> 2204 </svg></li> 2205 <li><a style="color: #ffffff;">ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 2206</a></li> 2207 2208 2209 </ul> 2210 </div> 2211 2212 </div> 2213 2214 2215 <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" /> 2216 2217 2218 <style> 2219 .bg-card { 2220 background-color: #000000; 2221 } 2222 </style> 2223 2224 <!-- /templates/product.liquid --> 2225 2226 2227 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2228 2229 2230 <div class="product-standing-flower" data-product-type="flowerBoard"> 2231 <meta itemprop="url" content="https://healthcarenewsreports.com/"> 2232 <meta itemprop="image" content="https://imgstore989.me/f/9UbbxI"> 2233 2234 2235 2236 <input id="data-sku" type="hidden" value="OBVSTF1086"> 2237 <div class="product-single" style="background-image: url(https://imgstore989.me/f/ot-bg-web); background-attachment: fixed;"> 2238 <div id="product-top" class="container"> 2239 <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;"> 2240 <div id="product-image" class="col-lg-7 text-center"> 2241 <div class="product-image"> 2242 <div class="row no-gutters"> 2243 2244 <div id="product-featured-image" class="row w-100"> 2245 2246 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2247 2248 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2249 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2250 2251 <li class="swiper-slide" data-type="image"> 2252 <a 2253 href="files/Blossom-Shine-WM.jpg"
2254 data-standard="https://imgstore989.me/f/9UbbxI" 2255 data-image="files/Blossom-Shine-WM.jpg" 2256 data-position="1" 2257 class="product-single__thumbnail" 2258 > 2259 <img 2260 class="lazyload w-100" 2261 src="https://imgstore989.me/f/9UbbxI" 2262 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2263 width="" 2264 height="" 2265 > 2266 </a> 2267 </li> 2268 2269 2270 2271 2272 <li class="swiper-slide" data-type="image"> 2273 <a 2274 href="https://imgstore989.me/f/9UbbxI" 2275 data-standard="https://imgstore989.me/f/9UbbxI" 2276 data-image="https://imgstore989.me/f/9UbbxI" 2277 data-position="2" 2278 class="product-single__thumbnail" 2279 > 2280 <img 2281 class="lazyload w-100" 2282 src="https://imgstore989.me/f/9UbbxI" 2283 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2284 width="" 2285 height="" 2286 > 2287 </a> 2288 </li> 2289 2290 2291 2292 2293 <li class="swiper-slide" data-type="image"> 2294 <a 2295 href="files/Blossom-Shine_3-WM.jpg" 2296 data-standard="https://imgstore989.me/f/9UbbxI" 2297 data-image="files/Blossom-Shine_3-WM.jpg" 2298 data-position="3" 2299 class="product-single__thumbnail" 2300 > 2301 <img 2302 class="lazyload w-100" 2303 src="https://imgstore989.me/f/9UbbxI" 2304 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2305 width="" 2306 height="" 2307 > 2308 </a> 2309 </li> 2310 2311 2312 2313 2314 <li class="swiper-slide" data-type="image"> 2315 <a 2316 href="files/Blossom-Shine_4.jpg" 2317 data-standard="https://imgstore989.me/f/9UbbxI" 2318 data-image="files/Blossom-Shine_4.jpg" 2319 data-position="4" 2320 class="product-single__thumbnail" 2321 > 2322 <img 2323 class="lazyload w-100" 2324 src="https://imgstore989.me/f/9UbbxI" 2325 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2326 width="" 2327 height="" 2328 > 2329 </a> 2330 </li> 2331 2332 2333 2334 </ul> 2335 </div> 2336 2337 </div> 2338 2339 <div 2340 id="featured-image-product" 2341 class="col-lg-10 col-12 d-none d-lg-block" 2342 > 2343 <div class="swiper-container gallery-top"> 2344 <div class="swiper-slide product-single__image"> 2345 2346 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2347 2348 2349 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2350 <a href="https://imgstore989.me/f/9UbbxI"> 2351 <img 2352 src="https://imgstore989.me/f/9UbbxI" 2353 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2354 id="ProductPhotoImg" 2355 class="lazyload" 2356 > 2357 2358 </a> 2359 </div> 2360 </div> 2361 2362 </div> 2363 <div class="swiper-slide product-single__video" style="display: none"> 2364 <video 2365 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2366 playsinline 2367 loop 2368 muted 2369 ></video> 2370 </div> 2371 </div>
2372 </div> 2373 </div> 2374 2375 <div id="featured-image-product2" class="col-12 d-lg-none"> 2376 <div class="swiper-container gallery-mobile"> 2377 <ul class="swiper-wrapper"> 2378 <li class="swiper-slide img"> 2379 2380 <img 2381 class="swiper-lazy" 2382 src="https://imgstore989.me/f/9UbbxI" 2383 data-src="https://imgstore989.me/f/9UbbxI" 2384 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2385 width="" 2386 height="" 2387 > 2388 2389 </li> 2390 2391 2392 <li class="swiper-slide img"> 2393 2394 <img 2395 class="swiper-lazy" 2396 src="https://imgstore989.me/f/9UbbxI" 2397 data-src="https://imgstore989.me/f/9UbbxI" 2398 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2399 width="" 2400 height="" 2401 > 2402 2403 </li> 2404 2405 2406 <li class="swiper-slide img"> 2407 2408 <img 2409 class="swiper-lazy" 2410 src="https://imgstore989.me/f/9UbbxI" 2411 data-src="https://imgstore989.me/f/9UbbxI" 2412 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2413 width="" 2414 height="" 2415 > 2416 2417 </li> 2418 2419 2420 <li class="swiper-slide img"> 2421 2422 <img 2423 class="swiper-lazy" 2424 src="https://imgstore989.me/f/9UbbxI" 2425 data-src="https://imgstore989.me/f/9UbbxI" 2426 alt="ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 " 2427 width="" 2428 height="" 2429 > 2430 2431 </li> 2432 2433 2434 </ul> 2435 2436 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://banner989.me/PCOQ3t" 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> 2437 <div class="swiper-button-next"><svg xmlns="https://banner989.me/PCOQ3t" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2438 <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"/> 2439 </svg></div> 2440 2441 <!-- Add Pagination --> 2442 <div class="swiper-pagination"></div> 2443 2444 </div> 2445 </div> 2446 2447 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2448 <!-- product video --> 2449 <style> 2450 .c-pdp-product-info { 2451 background-color: #000000 !important; 2452 padding: 12px; 2453 margin: 0; 2454 color: white; 2455 } 2456 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2457 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2458 .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;} 2459 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2460 .close-video .icon{width:30px;height:30px;} 2461 /*responsive iframe */ 2462 .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);} 2463 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2464 2465 .youtube { 2466 background-color: #000; 2467 margin-bottom: 30px; 2468 position: relative; 2469 padding-top: 56.25%; 2470 overflow: hidden; 2471 cursor: pointer; 2472 width: 100%; 2473 } 2474 .swiper-slide .youtube { 2475 max-width: 480px; 2476 } 2477 .youtube img { 2478 width: 100%; 2479 top: -16.82%; 2480 left: 0; 2481 opacity: 0.7; 2482 } 2483 .youtube .play-button { 2484 width: 90px; 2485 height: 60px; 2486 background-color: #333; 2487 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2488 z-index: 1; 2489 opacity: 0.8; 2490 border-radius: 6px; 2491 } 2492 .youtube .play-button:before { 2493 content: ""; 2494 border-style: solid; 2495 border-width: 15px 0 15px 26.0px; 2496 border-color: transparent transparent transparent #fff; 2497 } 2498 .youtube img, 2499 .youtube .play-button { 2500 cursor: pointer; 2501 } 2502 .youtube img, 2503 .youtube iframe, 2504 .youtube .play-button, 2505 .youtube .play-button:before { 2506 position: absolute; 2507 } 2508 .youtube .play-button, 2509 .youtube .play-button:before { 2510 top: 50%; 2511 left: 50%; 2512 transform: translate3d( -50%, -50%, 0 ); 2513 } 2514 .youtube iframe { 2515 height: 100%; 2516 width: 100%; 2517 top: 0; 2518 left: 0; 2519 } 2520 </style> 2521 2522 2523 </div> 2524 </div> 2525 2526 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2527 2528 </div> 2529 2530
2530<script> 2531 if ($(window).width() < 991) { 2532 var direction = 'horizontal' 2533 } else { 2534 var direction = 'vertical' 2535 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2536 } 2537 var swiper = new Swiper('.gallery-thumbs', { 2538 2539 direction, 2540 slidesPerView: 4.5, 2541 spaceBetween: 12, 2542 navigation: { 2543 nextEl: '.swiper-button-next', 2544 prevEl: '.swiper-button-prev', 2545 } 2546 }); 2547 2548 var swiper = new Swiper('.gallery-mobile', { 2549 //loop: true, 2550 lazy: true, 2551 speed: 300, 2552 resistance : true, 2553 resistanceRatio : 0, 2554 freeModeMomentumRatio : 0.45, 2555 freeModeMomentumVelocityRatio : 1.5, 2556 navigation: { 2557 nextEl: '.swiper-button-next', 2558 prevEl: '.swiper-button-prev', 2559 }, 2560 pagination: { 2561 el: '.swiper-pagination' 2562 }, 2563 useCSS3Transforms: false, 2564 loop: false, 2565 on: { 2566 init: function () { 2567 console.log('swiper initialized'); 2568 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2569 currentVideo.trigger('play'); 2570 }, 2571 }, 2572 }); 2573 2574 /* GET ALL VIDEOS */ 2575 var sliderVideos = $(".swiper-slide video"); 2576 2577 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2578 swiper.on('slideChange', function () { 2579 console.log('slide changed'); 2580 /* stop all videos */ 2581 sliderVideos.each(function( index ) { 2582 this.currentTime = 0; 2583 }); 2584 2585 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2586 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2587 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2588 prevVideo.trigger('stop'); 2589 currentVideo.trigger('play'); 2590 }); 2591 2592 2593 $("[data-video]").click(function(){ 2594 const file = $(this).data("video") 2595 $(".product-single__video").show() 2596 $(".product-single__image").hide() 2597 $(".product-single__video").find("video").attr("src", file) 2598 $(".product-single__video").find("video")[0].play(); 2599 }) 2600 $("[data-image]").click(function(){ 2601 $(".product-single__video").hide() 2602 $(".product-single__image").show() 2603 $(".product-single__video").find("video")[0].pause(); 2604 }) 2605 2606 $("#product-image .swiper-slide").each(function(){ 2607 let width = $(this).width() 2608 $(this).height(width) 2609 }) 2610 2611 $(window).resize(function() { 2612 $("#product-image .swiper-slide").each(function(){ 2613 let width = $(this).width() 2614 $(this).height(width) 2615 }) 2616 }) 2617 </script>
2617 2618 2619 </div> 2620 2621 2622 <div class="grid__item_product-info mb-3"> 2623 <div class="c-pdp-product-info"> 2624 <h2 style="color: #ff0000;">ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 </h2> 2625 <p style="text-align: justify; color: #ffffff;"><a href="https://healthcarenewsreports.com/" style="color: #ff0000;">ORISTOTO</a> tau akan rasanya kesulitan mencari situs terpercaya di era sekarang, maka dari itu, ORISTOTO kembali hadir dengan sistem teknologi terbaru dan modern, tampilan yang lebih responsif dan user friendly, agar para pengguna yang ingin bermain toto slot gacor tetap bisa merasakan kenyamanannya. Dengan team bantuan yang aktif 24 jam, sigap dan ramah siap melayanani kendala anda.</p> 2626 <p style="text-align: justify; color: #ffffff;">Sebagai salah satu situs <a href="https://healthcarenewsreports.com/" style="color: #ff0000;">toto slot</a> resmi yang terintegrasi, kami juga menyediakan permainan toto togel 4d dengan pasaran paling lengkap, yang bisa anda mainkan hanya dari modal bettingan 100 perak saja. Dengan akses link login yang mudah, serta proses transaksi yang super cepat, membuat para pengguna memilih ORISTOTO sebagai situs tempat bettingan terpercaya mereka. Daftar dan rasakan sendiri sensasi bermain paling aman dan tiada tanding disini sekarang juga.</p> 2627 2628 2629 <p>© 2026 | Seo Ton</p> 2630 2631 </ul> 2632 </div> 2633 </div> 2634 2635 2636 2637 2638 2639 2640 <style> 2641 .c-pdp-product-info__service--active { 2642 font-size: 12px; 2643 padding-left: 10px; 2644 text-align: left; 2645 max-width: 550px; 2646 margin: auto; 2647 } 2648 .c-pdp-product-info__service--active li { 2649 list-style: disc; 2650 } 2651 .c-pdp-product-info { 2652 background-color: #f5f5f5; 2653 padding: 12px; 2654 margin: 0; 2655 } 2656 .freeship em { 2657 font-style: italic; 2658 font-size: 12px !important; 2659 } 2660 2661 2662 </style> 2663 2664
2664<script> 2665 $(document).ready(function(){ 2666 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2667 $(".c-pdp-product-info__service").addClass("no-bullet"); 2668 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2669 } 2670 }); 2671 </script>
2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 </div> 2685 <div id="product-meta" class="col-lg-5 p-0"> 2686 <div class="product-meta"> 2687 <style> 2688 .product-meta--review {margin-top:10px} 2689 .freeship * {font-size: 14px !important;font-style: normal;} 2690 </style> 2691 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 </h1> 2692 2693 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2694 <meta itemprop="priceCurrency" content="IDR"> 2695 2696 <link itemprop="availability" href="https://schema.org/InStock"> 2697
2697<script 2698 type="text/javascript" 2699 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2700 async="async" 2701 ></script>
2701 2702 2703 2704 2705 2706 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2707 2708 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2709 2710 <div class="row no-gutters mb-3"> 2711 <span 2712 id="ProductPrice" 2713 class="h2 ProductPrice" 2714 itemprop="price" 2715 content="835000" style="color: #ffffff;" 2716 > 2717 Rp 10.000 2718 </span> 2719 <div class="discount-product-detail"> 2720 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2721 Rp 100.000 2722 </p> 2723 <span class=" tag-discount"> 2724 2725 2726 <span id="newDiscount" class="product-tag persentase-discount hide"> 2727 (90%) 2728 </span><br> 2729 2730 </span> 2731 </div> 2732 </div> 2733 2734 <div class="row no-gutters meta-sds"> 2735 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2736 2737 2738 <span 2739 id="ProductStock-Product" 2740 class="product-single__stock mb-2 hide" 2741 > 2742 2743 2744 2745 2746 Barang dikirim pada 2747 2748 2749 2750 </span> 2751 2752 <style> 2753 .short-desc-desktop { 2754 margin-bottom: 2rem; 2755 color: white; 2756 } 2757 .short-desc ul li:nth-child(n + 4) { 2758 display: none; 2759 } 2760 .short-desc ul li.showList:nth-child(n + 4) { 2761 display: list-item; 2762 } 2763 label.more { 2764 display: none; 2765 } 2766 label.more.showMe { 2767 display: block; 2768 font-size: 12px; 2769 text-transform: uppercase; 2770 font-weight: 700; 2771 cursor: pointer; 2772 } 2773 </style> 2774 2775 <div class="short-desc-desktop d-none d-lg-block"> 2776 <div class="short-desc"> 2777 2778 <p>ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.</p> 2779 </div> 2780 <label class="more">Show More â</label>
2781 </div><br> 2782 2783 2784
2784<script> 2785 var liCount; 2786 $(document).ready(function () { 2787 $(".short-desc ul").each(function() { 2788 liCount = $(this).children("li").length; 2789 if (liCount > 3) { 2790 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2791 } 2792 }); 2793 2794 $(".more").click(function () { 2795 //$(".short-desc").find("li").addClass("showList"); 2796 // $(this).hide(); 2797 $("#product-desc").find("ul").show() 2798 $('html, body').animate({ 2799 scrollTop: $("#product-desc").offset().top - 250 2800 }, 2000); 2801 $("#product-desc").css("height","auto"); 2802 $("#more_content").remove(); 2803 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2804 }); 2805 }); 2806 </script>
2806 2807 2808 2809 </div> 2810 </div> 2811 2812 <div id="purchaseProduct"> 2813 2814 2815 2816 2817 <style> 2818 .variant-metafield { 2819 display: block!important; 2820 width: 1px; 2821 padding: 0; 2822 border-color: #fff; 2823 } 2824 .select2-results__option[aria-disabled] { 2825 display: none; 2826 } 2827 2828 .towel-bordir { 2829 width: 100%; 2830 display: flex; 2831 align-items: center; 2832 justify-content: space-around; 2833 } 2834 </style> 2835 2836 2837 2838 2839
2839<script> 2840 2841 2842 </script>
2842 2843 2844 2845 2846 2847 2848 2849 <select 2850 name="id[]" 2851 id="productSelect" 2852 class="product-single__variants ignore hide hide" 2853 > 2854 2855 2856 2857 <option 2858 2859 selected="selected" 2860 2861 data-sku="OBVSTF1086" 2862 value="44083045826775" 2863 > 2864 Default Title 2865 </option> 2866 2867 2868 2869 </select> 2870 2871
2871<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2871 2872 2873
2873<script> 2874 $('.size-chart-open-popup').magnificPopup({ 2875 type:'inline', 2876 midClick: true 2877 }); 2878 </script>
2878 2879 2880 2881 2882 2883 <div class="upload-image-preview"> 2884 2885 2886 2887 2888 2889 <style> 2890 .file-dnd * { 2891 margin: 0; 2892 padding: 0; 2893 box-sizing: border-box; 2894 } 2895 .file-dnd { 2896 width: 100%; 2897 height: 250px; 2898 border: 1px solid #ddd; 2899 border-radius: 10px; 2900 padding: 15px; 2901 display: flex; 2902 flex-direction: column; 2903 gap: 10px; 2904 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2905 margin: auto; 2906 } 2907 .file-dnd input { 2908 display: none; 2909 } 2910 .file-dnd .before-upload { 2911 border: 1px dashed #888; 2912 flex: 1; 2913 border-radius: 5px; 2914 display: flex; 2915 justify-content: center; 2916 align-items: center; 2917 text-align: center; 2918 cursor: pointer; 2919 } 2920 .file-dnd .before-upload > div { 2921 display: flex; 2922 flex-direction: column; 2923 align-items: center; 2924 gap: 8px; 2925 } 2926 .file-dnd .before-upload > div h4 { 2927 width: 150px; 2928 } 2929 .file-dnd .before-upload > div p { 2930 font-size: 12px !important; 2931 color: #555; 2932 } 2933 .file-dnd.active .before-upload { 2934 border: 1px solid #5750d9; 2935 background-color: #f5f5ff; 2936 } 2937 .file-dnd .after-upload { 2938 position: relative; 2939 display: none; 2940 } 2941 .file-dnd .after-upload img { 2942 width: 100%; 2943 border-radius: 5px; 2944 max-height: 180px; 2945 object-fit: contain; 2946 display: block; 2947 } 2948 .file-dnd .after-upload .clear-btn { 2949 position: absolute; 2950 top: 10px; 2951 right: 10px; 2952 background: rgba(0, 0, 0, 0.5); 2953 width: 15px; 2954 height: 15px; 2955 text-align: center; 2956 line-height: 15px; 2957 border-radius: 50%; 2958 color: #fff; 2959 cursor: pointer; 2960 font-size: 14px; 2961 } 2962 </style> 2963 2964 <div 2965 class="file-dnd mb-3" 2966 2967 style="display: none" 2968 2969 > 2970 <label for="upload-photo">Upload your Photo:</label> 2971 <input type="file" id="upload-photo" accept="image/*"> 2972 <input type="hidden" data-properties="Photo"> 2973 <div class="before-upload"> 2974 <div> 2975 <svg id="surface1" xmlns="https://banner989.me/PCOQ3t" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2976 <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> 2977 <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> 2978 <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> 2979 </svg> 2980 2981 <h4>Drag & Drop Photo file or Browse</h4> 2982 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2983 </div> 2984 </div> 2985 <div class="after-upload"> 2986 <div class="clear-btn">×</div> 2987 <img src="" width="" height=""> 2988 </div> 2989 </div> 2990
2990<script> 2991 function applyDndFile(el) { 2992 const parent = document.querySelector(".file-dnd") 2993 const beforeUploadEl = el.querySelector(".before-upload") 2994 const afterUploadEl = el.querySelector(".after-upload") 2995 const inputFile = el.querySelector("input[type=file]") 2996 const imagePreview = el.querySelector(".after-upload img") 2997 const clearBtn = el.querySelector(".after-upload .clear-btn") 2998 const inputProps = parent.querySelector("[data-properties]"); 2999 3000 async function upload(name, uri, type) { 3001 try { 3002 const filename = name.split('.')[0] 3003 let formData = new FormData(); 3004 formData.append("file", uri); 3005 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3006 method: "POST", 3007 body: formData 3008 }) 3009 if(response) { 3010 const res = await response.json() 3011 return res 3012 } 3013 } catch(err){ 3014 console.log(err) 3015 } 3016 } 3017 3018 function showImagePreview(img) { 3019 if(img){ 3020 const blobUrl = URL.createObjectURL(img) 3021 imagePreview.src = blobUrl 3022 afterUploadEl.style.display = "block" 3023 beforeUploadEl.style.display = "none" 3024 } 3025 } 3026 3027 beforeUploadEl.addEventListener("click", (e) => { 3028 e.preventDefault() 3029 inputFile.click() 3030 }) 3031 3032 inputFile.addEventListener("change", async (e) => { 3033 e.preventDefault() 3034 showImagePreview(e.target.files[0]) 3035 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3036 inputProps.value = uploadData?.url 3037 }) 3038 3039 clearBtn.addEventListener("click", (e) => { 3040 afterUploadEl.style.display = "none" 3041 beforeUploadEl.style.display = "flex" 3042 inputProps.value = "" 3043 }) 3044 3045 beforeUploadEl.addEventListener("dragover", (e) => { 3046 e.preventDefault() 3047 el.classList.add("active") 3048 }) 3049 3050 beforeUploadEl.addEventListener("dragleave", (e) => { 3051 e.preventDefault() 3052 el.classList.remove("active") 3053 }) 3054 3055 beforeUploadEl.addEventListener("drop", async (e) => { 3056 e.preventDefault() 3057 el.classList.remove("active") 3058 showImagePreview(e.dataTransfer.files[0]) 3059 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3060 console.log(uploadData) 3061 inputProps.value = uploadData?.url 3062 }) 3063 } 3064 3065 applyDndFile(document.querySelector(".file-dnd")) 3066 3067 $(document).ready(function(){ 3068 $(".variant-swatch").change(function(){ 3069 const v = $(this).val().toLowerCase() 3070 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3071 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3072 $(".file-dnd").hide() 3073 $(".file-dnd").find("[data-properties]").val("") 3074 $(".after-upload").hide() 3075 $(".before-upload").css("display", "flex") 3076 }) 3077 }) 3078 </script>
3078 3079 3080 </div> 3081 3082 3083 <div class="delivery-city mb-4"> 3084 <a href="https://brand.healthcarenewsreports.com/"> 3085 <center><img src="https://imgstore989.me/f/xVxXh1" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 3086 <h4 class="fw-600 text-uppercase mb-15" style="color: #ffd900; font-weight: bold;">SUDAH SAATNYA BERMAIN DI ORISTOTO DAN RASAKAN KESERUANNYA SEKARANG</h4> 3087 <div class="row justify-content-between m-0"> 3088 <select id="cities" class="form-control select-search" required> 3089 <option value="">Daftar sekarang dan claim bonus new member hingga 50%</option> 3090 </select> 3091 </div> 3092 </div> 3093 3094 <style> 3095 @media (max-width: 768px) { 3096 .select2-search__field { 3097 pointer-events: none !important; 3098 } 3099 3100 .select2-search { 3101 display: none !important; 3102 } 3103 } 3104 </style> 3105 3106
3106<script> 3107 $(document).ready(function() { 3108 // Check if mobile 3109 if (window.innerWidth <= 768) { 3110 // When cities select2 opens on mobile, remove focus from search 3111 $('#cities').on('select2:open', function() { 3112 setTimeout(function() { 3113 $('.select2-search__field').blur(); 3114 $('.select2-search__field').prop('readonly', true); 3115 }, 100); 3116 }); 3117 } 3118 }); 3119 </script>
3119 3120 3121 <style> 3122 .icon-img-footer { 3123 width: 80px; 3124 padding: 0px 5px; 3125 } 3126 @media (min-width: 768px) { 3127 .icon-img-footer { 3128 width: 120px; 3129 } 3130 } 3131 @media (min-width: 992px) { 3132 .icon-img-footer { 3133 width: 120px; 3134 } 3135 } 3136 3137 3138 </style> 3139<style> 3140 :root { 3141 --brand: #00fffb; 3142 --brand-mid: #009297; 3143 --brand-dark: #006962; 3144 --border: #e5e7eb; 3145 --bg: #fff; 3146 --shadow: 0 6px 15px rgba(0, 0, 0, .08); 3147 } 3148 3149 .app-card { 3150 max-width: 650px; 3151 margin: 25px auto; 3152 background: var(--bg); 3153 border-radius: 14px; 3154 overflow: hidden; 3155 box-shadow: var(--shadow); 3156 border: 1px solid var(--border); 3157 transition: transform .2s, box-shadow .3s; 3158 font-family: system-ui, Arial, sans-serif; 3159 font-size: .92rem; 3160 } 3161 3162 .app-card:hover { 3163 transform: translateY(-2px); 3164 box-shadow: 0 10px 25px rgba(0, 0, 0, .12); 3165 } 3166 3167 .app-header { 3168 padding: 12px 16px; 3169 text-align: center; 3170 background: linear-gradient(135deg, #000000, #5d5d5d, #000000); 3171 color: #fff; 3172 font-weight: 800; 3173 font-size: 1.15rem; 3174 text-shadow: 0 1px 2px rgba(0, 0, 0, .3); 3175 } 3176 3177 .app-table { 3178 width: 100%; 3179 border-collapse: collapse; 3180 } 3181 3182 .app-table th, 3183 .app-table td { 3184 padding: 8px 12px; 3185 vertical-align: middle; 3186 } 3187 3188 .app-table th { 3189 width: 35%; 3190 background: #e7e7e7; 3191 color: #585858; 3192 font-weight: 700; 3193 letter-spacing: .2px; 3194 text-transform: uppercase; 3195 font-size: .85rem; 3196 } 3197 3198 .app-table td { 3199 border-bottom: 1px solid var(--border); 3200 color: #1f1f1f; 3201 font-size: .9rem; 3202 text-align: center; 3203 } 3204 3205 @media (max-width: 640px) { 3206 .app-table, 3207 .app-table tbody, 3208 .app-table tr, 3209 .app-table th, 3210 .app-table td { 3211 display: block; 3212 width: 100%; 3213 } 3214 } 3215 3216 .review-section { 3217 max-width: 850px; 3218 margin: 30px auto; 3219 display: flex; 3220 flex-direction: column; 3221 gap: 18px; 3222 font-family: system-ui, Arial, sans-serif; 3223 } 3224 3225 .review-card { 3226 background: #f5f5f5; 3227 padding: 16px 20px; 3228 border-radius: 10px; 3229 border-left: 5px solid #000000; 3230 box-shadow: 0 3px 6px rgba(0, 0, 0, .05); 3231 transition: all .25s ease-in-out; 3232 } 3233 3234 .review-card:hover { 3235 transform: translateY(-3px); 3236 box-shadow: 0 5px 10px rgba(0, 0, 0, .08); 3237 } 3238 3239 .review-author { 3240 font-weight: 700; 3241 color: var(--brand-dark); 3242 margin-bottom: 4px; 3243 display: flex; 3244 align-items: center; 3245 gap: 6px; 3246 font-size: .92rem; 3247 } 3248 3249 .review-author::before { 3250 content: "ð¤"; 3251 font-size: 1rem; 3252 } 3253 3254 .review-card p { 3255 margin: 0; 3256 color: #222; 3257 font-size: .94rem; 3258 } 3259 3260 .review-rating { 3261 margin-left: auto; 3262 font-weight: 700; 3263 } 3264 3265 .stars { 3266 --rating: 5; 3267 --star-size: 1rem; 3268 --star-gap: 2px; 3269 --star-empty: #e5e7eb; 3270 --star-fill: #f4c430; 3271 position: relative; 3272 display: inline-block; 3273 font-size: var(--star-size); 3274 line-height: 1; 3275 letter-spacing: var(--star-gap); 3276 } 3277 3278 .stars::before { 3279 content: "â â â â â "; 3280 color: var(--star-empty); 3281 } 3282 3283 .stars::after { 3284 content: "â â â â â "; 3285 color: var(--star-fill); 3286 position: absolute; 3287 left: 0; 3288 top: 0; 3289 width: calc((var(--rating) / 5) * 100%); 3290 overflow: hidden; 3291 white-space: nowrap; 3292 pointer-events: none; 3293 } 3294 3295 .stars.lg { 3296 --star-size: 1.1rem; 3297 letter-spacing: 3px; 3298 } 3299 3300 .badge { 3301 display: inline-flex; 3302 align-items: center; 3303 gap: 8px; 3304 flex-wrap: wrap; 3305 } 3306 3307 .badge small { 3308 color: #555; 3309 font-weight: 600; 3310 } 3311</style> 3312 3313<div class="review-section"> 3314 <div class="review-card"> 3315 <div class="review-author"> 3316 Batok
3317 <span class="review-rating stars" style="--rating: 5" aria-label="Rating 5.0 dari 5"></span> 3318 </div> 3319 <p> 3320 Situs toto slot langganan saya, tampilannya mewah, ringan dan responsif, apalagi akses link login juga selalu stabil dan lancar, buat rasa bermain semakin nyaman. 3321 </p> 3322 </div> 3323 3324 <div class="review-card"> 3325 <div class="review-author"> 3326 Andi 3327 <span class="review-rating stars" style="--rating: 4.8" aria-label="Rating 4.8 dari 5"></span> 3328 </div> 3329 <p> 3330 Awalnya iseng bermain di Oristoto karena pasaran toto togel nya sangat banyak, lengkap dan resmi, min bettingan juga sangat kecil dan hadiah 4d nya luar biasa besar. 3331 </p> 3332 </div> 3333 3334 <div class="review-card"> 3335 <div class="review-author"> 3336 Andrian 3337 <span class="review-rating stars" style="--rating: 4.9" aria-label="Rating 4.9 dari 5"></span> 3338 </div> 3339 <p> 3340 Yang buat saya suka bermain di Oristoto itu provider slot gacornya lengkap, dan stabilitas websitenya selalu lancar, gak pernah ada error atau kendala lag kalau lagi betting. 3341 </p> 3342 </div> 3343</div> 3344 3345 3346 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3347 <div class="purchaseArea"> 3348 <div class="sectionPurchase sectionPurchaseSpotify"> 3349 <div class="wrapperPurchase"> 3350 <div class="headerPurchase"> 3351 <h3>personalize spotify photo print</h3> 3352 <a class="close-purchase-popup"> 3353 <svg xmlns="https://banner989.me/PCOQ3t" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3354 <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> 3355 </svg> 3356 </a> 3357 </div> 3358 <div class="contentPurchase"> 3359 <div class="spotifyAddons"></div> 3360 </div> 3361 3362 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3363 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3364 <button class="back-purchase-button back-addon text-uppercase"> 3365 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://banner989.me/PCOQ3t"> 3366 <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> 3367 </svg> 3368 <span>Back</span> 3369 </button> 3370 </div> 3371 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3372 <button class="btn next-purchase-button next-addon text-uppercase"> 3373 <span>continue without add-ons</span> 3374 </button> 3375 </div> 3376 </div> 3377 </div> 3378 </div> 3379 </div> 3380 </div> 3381 3382 <style> 3383 #PBarNextFrameWrapper { 3384 display: none; 3385 } 3386 #backgroundPopup { 3387 display: none; 3388 position: fixed; 3389 _position: absolute; 3390 height: 100%; 3391 width: 100%; 3392 top: 0; 3393 left: 0; 3394 background: rgb(117 117 117 / 24%); 3395 z-index: 1; 3396 } 3397 .sectionPurchase { 3398 height: 100%; 3399 position: relative; 3400 max-width: 1344px; 3401 background-color: #fff; 3402 padding: 0; 3403 overflow: hidden; /* Changed from auto to hidden */ 3404 display: flex; 3405 flex-direction: column; 3406 } 3407 .sectionPurchase.purchaseAddonSpotify { 3408 max-width: 1070px!important; 3409 max-height: 765px!important; 3410 } 3411 .sectionPurchaseBoard { 3412 max-width: 872px!important; 3413 max-height: 821px!important; 3414 } 3415 .purchaseAddonSpotify .btn-action { 3416 position: absolute; 3417 bottom: 0; 3418 left: 0; 3419 width: 100%; 3420 display: flex; 3421 gap: 10px; 3422 } 3423 .wrapperPurchase { 3424 position: relative; 3425 height: 100%; 3426 display: flex; 3427 flex-direction: column; 3428 } 3429 3430 /* New styles for scrollable content and sticky button */ 3431 .purchase-content { 3432 flex: 1; 3433 overflow-y: auto; 3434 overflow-x: hidden; 3435 padding: 20px; 3436 } 3437 3438 .purchase-button-wrapper { 3439 position: sticky; 3440 bottom: 0; 3441 background-color: #fff; 3442 border-top: 1px solid #e0e0e0; 3443 padding: 15px 0; 3444 margin-top: auto; 3445 z-index: 10; 3446 } 3447 3448 .purchasePopup { 3449 display: none; 3450 position: fixed; 3451 background: rgb(117 117 117 / 24%); 3452 z-index: 999; 3453 padding: 40px; 3454 font-size: 13px; 3455 top: 0; 3456 left: 0; 3457 width: 100%; 3458 height: 100%; 3459 } 3460 .popupPurchaseClose{ 3461 font-size:14px; 3462 line-height:14px; 3463 right:45px; 3464 top:45px; 3465 position:absolute; 3466 color:#6fa5fd; 3467 font-weight:700; 3468 display:block; 3469 cursor: pointer; 3470 } 3471 3472 .headerPurchase { 3473 margin-bottom: 30px; 3474 display: flex; 3475 justify-content: space-between; 3476 } 3477 3478 .headerPurchase h3 { 3479 font-size: 16px; 3480 text-transform: uppercase; 3481 } 3482 3483 .sectionPurchaseBoard .headerPurchase { 3484 margin-bottom: 15px; 3485 } 3486 3487 .sectionPurchaseBoard .formAddressPurchase { 3488 padding-top: 0; 3489 } 3490 3491 .purchaseArea { 3492 position: relative; 3493 height: 100%; 3494 } 3495 3496 .purchaseArea h4 { 3497 width: 100%; 3498 font-size: 12px; 3499 font-weight: 600; 3500 margin-bottom: 10px; 3501 text-transform: uppercase; 3502 } 3503 3504 .menuPurchase { 3505 margin-bottom: 30px; 3506 } 3507 3508 .menuPurchase ul { 3509 list-style-type: none; 3510 margin: 0; 3511 } 3512 3513 .menuPurchase ul li { 3514 display: inline-block; 3515 border: 1px solid #ffffff; 3516 padding: 5px 20px; 3517 margin-right: 5px; 3518 margin-bottom: 10px; 3519 font-size: 12px; 3520 font-weight: 400; 3521 } 3522 3523 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3524 background-color: #ffffff; 3525 color: #ffffff; 3526 } 3527 3528 .contentPurchase h5 { 3529 font-size: 12px; 3530 margin-bottom: 10px; 3531 font-weight: 400; 3532 overflow: hidden; 3533 } 3534 3535 /* Card */ 3536 3537 #itemCards { 3538 max-height: 430px; 3539 overflow: auto; 3540 } 3541 3542 .item-cards { 3543 width: 100%; 3544 } 3545 .item-card.selected { 3546 border: 1px solid #ffffff; 3547 } 3548 .item-card:hover { 3549 border: 1px solid #C4C4C4; 3550 } 3551 .item-cards .item-card { 3552 position: relative; 3553 width: calc(33% - 10px); 3554 max-width: calc(33% - 10px); 3555 flex: 0 0 calc(33% - 10px); 3556 margin-bottom: 20px; 3557 } 3558 .item-cards .item-card label, 3559 .item-addons .item-addon label { 3560 position: absolute; 3561 left: 0; 3562 width: 100%; 3563 height: 100%; 3564 } 3565 .item-cards .item-card .card-image img, 3566 .item-addons .item-addon .card-image img { 3567 display: block; 3568 width: 100%; 3569 } 3570 .item-card .card-meta, 3571 .item-addon .card-meta { 3572 padding: 10px 5px 5px; 3573 } 3574 .item-card.selected .card-meta, 3575 .item-addon.selected .card-meta, 3576 .item-card.selected .card-qty { 3577 background-color: #ffffff; 3578 color: #fff; 3579 visibility: visible!important; 3580 } 3581 .item-card:hover .card-meta, 3582 .item-addon:hover .card-meta, 3583 .item-card:hover .card-qty { 3584 background-color: #C4C4C4; 3585 color: #fff; 3586 visibility: visible!important; 3587 } 3588 .item-cards .item-card p, 3589 .item-addons .item-addon p { 3590 font-size: 12px !important; 3591 margin: 0; 3592 font-weight: 600; 3593 } 3594 .item-card .card-meta input, 3595 .item-addon .card-meta input { 3596 display: none; 3597 } 3598 .item-cards .item-card h5, 3599 .item-addons .item-addon h5 { 3600 text-transform: uppercase; 3601 max-height: 35px; 3602 } 3603 3604 @media (max-width: 768px) { 3605 .item-cards .item-card {
3606 width: calc(50% - 10px); 3607 max-width: calc(50% - 10px); 3608 flex: 0 0 calc(50% - 10px); 3609 margin-bottom: 0; 3610 } 3611 } 3612 3613 .card-qty { 3614 display: flex; 3615 padding: 5px; 3616 visibility: hidden; 3617 background-color: #fff !important; 3618 z-index: 999; 3619 } 3620 .card-qty a { 3621 border-width: 1px; 3622 width: 30%; 3623 cursor: pointer; 3624 text-align: center; 3625 align-self: center; 3626 height: 28px; 3627 display: block; 3628 position: relative; 3629 } 3630 .card-qty a svg { 3631 position: absolute; 3632 top: 50%; 3633 left: 50%; 3634 transform: translate(-50%, -50%); 3635 text-align: center; 3636 } 3637 input.btn-qty { 3638 border-width: 0px; 3639 border-radius: 0; 3640 background-color: #fff; 3641 -webkit-appearance: none; 3642 box-shadow: none !important; 3643 -webkit-box-shadow: none !important; 3644 -moz-box-shadow: none!important; 3645 width: 40%; 3646 border-left: 1px solid #c4c4c4; 3647 border-right: 1px solid #c4c4c4; 3648 padding: 0; 3649 } 3650 3651 .sectionPurchaseBoard #itemAddons .item-card { 3652 width: calc(20% - 15px); 3653 max-width: calc(20% - 15px); 3654 flex: 0 0 calc(20% - 15px); 3655 } 3656 3657 .purchase-button { 3658 width: 100%; 3659 padding: 0; /* Reset padding as it's now handled by wrapper */ 3660 margin: 0; 3661 } 3662 3663 .sectionPurchaseBoard .purchase-button { 3664 margin-top: 0 !important; /* Reset margin */ 3665 } 3666 3667 .back-purchase-button, .back-spotify { 3668 width: 139px; 3669 border: 1px solid; 3670 height: 43px; 3671 } 3672 .purchase-button .btn { 3673 width: 297px; 3674 height: 43px; 3675 background-color: #ffffff; 3676 color: #ffffff; 3677 } 3678 .purchase-button .btn[disabled] { 3679 background-color: #EEEEEE; 3680 } 3681 .back-purchase-button svg, .back-spotify svg { 3682 align-self: center; 3683 vertical-align: middle; 3684 margin-right: 10px; 3685 } 3686 3687 #purchaseProduct .row .error { 3688 font-size: 12px !important; 3689 color: orange; 3690 margin-top: 5px; 3691 } 3692 3693 .reviewCardPurchase { 3694 max-width: 448px; 3695 float: right; 3696 } 3697 3698 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3699 .addon-item * {align-self: center;font-size: 12px;} 3700 .addon-itm-title {width: 360px;} 3701 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3702 3703 .propsAddonSpotify p { 3704 margin: 0; 3705 display: flex; 3706 font-size: 12px !important; 3707 margin-bottom: 5px; 3708 } 3709 .propsAddonSpotify p span:first-child { 3710 text-transform: uppercase; 3711 font-weight: 600; 3712 -ms-flex: 0 0 150px; 3713 flex: 0 0 150px; 3714 max-width: 150px; 3715 } 3716 3717 .addonsPurchase .addons { 3718 max-height: 250px; 3719 overflow: auto; 3720 } 3721 3722 .btn .loading:after { 3723 content: ""; 3724 display: inline-block; 3725 width: 20px; 3726 height: 20px; 3727 padding: 3px; 3728 aspect-ratio: 1; 3729 border-radius: 50%; 3730 background: #FFFFFF; 3731 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3732 -webkit-mask: var(--_m); 3733 mask: var(--_m); 3734 -webkit-mask-composite: source-out; 3735 mask-composite: subtract; 3736 animation: l3 1s infinite linear; 3737 margin: auto; 3738 vertical-align: middle; 3739 margin-left: 10px; 3740 } 3741 3742 #qrcode img, #qrcode canvas { 3743 width: 50px; 3744 position: absolute; 3745 top: 12px; 3746 left: 16px; 3747 } 3748 3749 .t-preview { 3750 position: absolute; 3751 top: 17px; 3752 left: 75px; 3753 } 3754 .t-preview p { 3755 margin: 0; 3756 font-size: 12px !important; 3757 } 3758 .t-preview .h3 { 3759 font-size: 16px !important; 3760 margin-bottom: 5px; 3761 font-weight: 600; 3762 } 3763 .scanCard { 3764 width: 100%; 3765 border: 1px solid; 3766 height: 76px; 3767 background-color: #fff; 3768 } 3769 .scanCard > div > img { 3770 position: absolute; 3771 right: 0; 3772 width: 55px; 3773 } 3774 3775 @keyframes l3 { 3776 100% { 3777 transform: rotate(1turn); 3778 } 3779 } 3780 3781 @media (min-width: 991px) { 3782 .sectionPurchase { 3783 height: 100%; 3784 position: relative; 3785 max-width: 1344px; 3786 background-color: #fff; 3787 top: 50%; 3788 left: 50%; 3789 transform: translate(-50%, -50%); 3790 } 3791 .headerPurchase h3 { 3792 font-size: 20px; 3793 } 3794 .purchaseArea h4 { 3795 font-size: 16px; 3796 } 3797 3798 .menuPurchase ul li { 3799 font-size: 16px; 3800 } 3801 3802 .contentPurchase { 3803 margin-bottom: 30px; 3804 } 3805 .contentPurchase h5 { 3806 font-size: 16px; 3807 } 3808 3809 .item-cards .item-card p, 3810 .item-addons .item-addon p { 3811 font-size: 16px !important; 3812 } 3813 3814 .cards { 3815 float: right; 3816 width: 400px; 3817 } 3818 3819 .item-cards .item-card { 3820 width: calc(25% - 30px); 3821 max-width: calc(25% - 30px); 3822 flex: 0 0 calc(25% - 30px); 3823 } 3824 3825 #itemAddons .item-card { 3826 position: relative; 3827 width: calc(16% - 40px); 3828 max-width: calc(16% - 40px); 3829 flex: 0 0 calc(16% - 40px); 3830 } 3831 3832 .purchase-button-wrapper { 3833 padding: 10px 20px; 3834 } 3835 } 3836 3837 @media (max-width: 1200px) { 3838 .item-cards .item-card { 3839 width: calc(33% - 30px); 3840 max-width: calc(33% - 30px); 3841 flex: 0 0 calc(33% - 30px); 3842 } 3843 } 3844 3845 @media (max-width: 992px) { 3846 .purchasePopup { 3847 padding: 0; 3848 } 3849 .item-cards .item-card h5, 3850 .item-addons .item-addon h5 { 3851 max-height: 30px; 3852 } 3853 3854 .back-purchase-button, .back-spotify, .next-purchase-button { 3855 width: 100%; 3856 } 3857 .addon-itm-title { 3858 width: 300px; 3859 } 3860 .addon-itm-line-price { 3861 margin-right: 10px; 3862 } 3863 .t-preview { 3864 top: 10px; 3865 } 3866 3867 .card-qty a { 3868 height: 15px; 3869 } 3870 3871 .purchase-button-wrapper { 3872 padding: 15px; 3873 } 3874 } 3875 3876 @media (max-width: 576px) { 3877 .purchase-button .btn { 3878 width: 100%!important; 3879 } 3880 .purchase-button > .col-12 { 3881 padding-left: 0; 3882 padding-right: 0; 3883 } 3884 } 3885 </style> 3886 3887 3888 <div class="purchasePopup"> 3889 <div class="purchaseArea"> 3890 3891 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3892 <div class="wrapperPurchase"> 3893 <div class="purchase-content"> 3894 <div class="headerPurchase"> 3895 <h3 class="text-uppercase"> 3896 3897 customize your flower board 3898 3899 </h3> 3900 <a class="close-purchase-popup"> 3901 <svg xmlns="https://banner989.me/PCOQ3t" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3902 <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"/> 3903 </svg> 3904 </a> 3905 3906 </div> 3907 <div class="contentPurchase"> 3908 <div class="row"> 3909 3910 <div class="col-12"> 3911 3912 3913 <style> 3914 3915 3916 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3917 .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;} 3918 3919 .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;} 3920 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3921 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3922 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3923 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3924 .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;} 3925 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3926 #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;} 3927 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3928 .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;} 3929 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3930 3931 @media (min-width: 991px) { 3932 .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);} 3933 .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);} 3934 } 3935 </style> 3936 3937 <input type="hidden" data-properties="penerima" value="-"> 3938 <div class="customize-papan"> 3939 <div class="container"> 3940 <div class="field-papan group-field-1 form-group"> 3941 <div class="input-field">
3942 <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. 3943 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3944 <p class="limit">0/100</p> 3945 <div id="suggest-messages"> 3946 <a id="show_note_papan1" href="#"> 3947 <div class="suggest-message" id="note_btn_div1"> 3948 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3949 </div> 3950 </a> 3951 <a id="show_note_papan2" href="#"> 3952 <div class="suggest-message" id="note_btn_div2"> 3953 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3954 </div> 3955 </a> 3956 <a id="show_note_papan3" href="#"> 3957 <div class="suggest-message" id="note_btn_div3"> 3958 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3959 </div> 3960 </a> 3961 </div> 3962 </div> 3963 </div> 3964 <div class="hide"> 3965 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3966 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3967 </div> 3968 <div class="hide"> 3969 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3970 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3971 </div> 3972 <div class="hide"> 3973 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3974 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3975 </div> 3976 <div class="field-papan group-field-2 form-group"> 3977 3978 <label for="logoPapan" onclick="" class="input-field field-logo"> 3979 3980 3981 3982 <div class="btn-upload-papan w-100"> 3983 <?xml version="1.0" encoding="UTF-8"?> 3984 <img src="" style="display:none"> 3985 <div class="svgLogoPapan"> 3986 <svg xmlns="https://banner989.me/PCOQ3t" width="22" height="26" viewBox="0 0 22 26" fill="none"> 3987 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 3988 </svg> 3989 <p>Upload Logo <span>*optional</span></p> 3990 </div> 3991 </div> 3992 3993 </label> 3994 3995 <input 3996 type="hidden" 3997 data-properties="papan-logo" 3998 value="" 3999 > 4000 <input 4001 type="file" 4002 id="logoPapan" 4003 accept="image/*" 4004 style="position: absolute;width: 1px;height: 1px;padding: 0" 4005 > 4006 4007 <div class="input-field"> 4008 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 4009 <p class="limit">0/35</p> 4010 </div> 4011 4012 </div> 4013 4014 </div> 4015 </div> 4016 </div> 4017 4018 </div> 4019 </div> 4020 4021 </div> 4022 <div class="purchase-button-wrapper"> 4023 <div class="purchase-button btn-card row m-0"> 4024 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4025 4026 </div> 4027 <div class="btn-next-card col-12 col-lg-10 text-right"> 4028 4029 4030 <button 4031 4032 4033 4034 class="btn next-purchase-button text-uppercase" 4035 4036 disabled 4037 4038 > 4039 <span>save your flower board</span> 4040 </button> 4041 </div> 4042 </div> 4043 4044 </div> 4045 </div> 4046 </div> 4047 4048 4049 4050 <div 4051 class="sectionPurchase sectionPurchaseBoard hide" 4052 data-section="address" 4053 > 4054 <div class="wrapperPurchase"> 4055 <div class="purchase-content"> 4056 <div class="headerPurchase"> 4057 <h3> 4058 Complete Your Order 4059 </h3> 4060 <a class="close-purchase-popup"> 4061 <svg xmlns="https://banner989.me/PCOQ3t" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4062 <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"/> 4063 </svg> 4064 </a> 4065 4066 </div> 4067 <div class="contentPurchase"> 4068 <div class="row"> 4069 <div class="col-12 position-relative"> 4070 <div class="addressPurchase"> 4071 4072 <h4 class="text-uppercase">recipient delivery address</h4> 4073 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 4074 4075 <div class="formAddressPurchase row"> 4076 <div class="col-12"> 4077 <form> 4078 <div class="form-group row mb-2 mb-lg-4"> 4079 <div class="col-6 position-relative"> 4080 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 4081 <label for="first_name" class="input__label">First Name<span>*</span></label> 4082 </div> 4083 <div class="col-6 position-relative"> 4084 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 4085 <label for="last_name" class="input__label">Last Name<span>*</span></label> 4086 </div> 4087 <input type="hidden" data-properties="nama-penerima"> 4088 </div> 4089 4090 <h4 class="text-uppercase">how you want to input your address</h4> 4091 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 4092 <div class="col-6 position-relative"> 4093 <label class="address-manualy"> 4094 <svg xmlns="https://banner989.me/PCOQ3t" width="18" height="17" viewBox="0 0 18 17" fill="none"> 4095 <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.9
40951216 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
40955 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"/> 4096 </svg> 4097 <span>Input Address Manually</span> 4098 </label> 4099 </div> 4100 <div class="col-6 position-relative"> 4101 <label for="address-upload" class="address-upload"> 4102 <svg xmlns="https://banner989.me/PCOQ3t" width="12" height="13" viewBox="0 0 12 13" fill="none"> 4103 <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"/> 4104 </svg> 4105 <span>Upload Address Picture</span> 4106 </label> 4107 <input 4108 id="address-upload" 4109 type="file" 4110 accept="image/png, image/jpeg" 4111 style="position: absolute; padding: 0;width: 1px;height: 1px" 4112 > 4113 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 4114 </div> 4115 </div> 4116 <img width="150" height="" src="" class="photo-address" style="display: none;"> 4117 4118 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4119 <div class="col-12"> 4120 <textarea 4121 id="delivery_address" 4122 data-properties="alamat-penerima" 4123 class="form-control input__field col-12" 4124 placeholder="" 4125 required 4126 ></textarea> 4127 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4128 4129 </div> 4130 </div> 4131 <div class="form-group row mb-2 mb-lg-4 form-address"> 4132 <div class="col-6 position-relative"> 4133 <input 4134 id="recipient_number" 4135 type="text" 4136 data-properties="telepon-penerima" 4137 class="form-control input__field" 4138 placeholder="" 4139 required 4140 > 4141 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4142 </div> 4143 <div class="col-6 position-relative"> 4144 <input 4145 id="company" 4146 type="text" 4147 data-properties="company" 4148 class="form-control input__field" 4149 placeholder="" 4150 > 4151 <label for="company" class="input__label">Company (Optional)</label> 4152 </div> 4153 </div> 4154 <div class="form-group row mb-2 mb-lg-4 form-address"> 4155 <div class="col-6 position-relative"> 4156 <input 4157 id="province" 4158 type="text" 4159 class="form-control input__field" 4160 placeholder="" 4161 value="Jakarta" 4162 data-properties="province" 4163 > 4164 <label for="province" class="input__label">Province</label> 4165 </div> 4166 <div class="col-6 position-relative"> 4167 <select id="zip" class="form-control select-search" required></select> 4168 </div> 4169 </div> 4170 </form> 4171 </div> 4172 </div> 4173 </div> 4174 <div class="addonsPurchase"> 4175 <h4 class="text-uppercase">add-ons</h4> 4176 <div class="addons"> 4177 <p>No Add-Ons</p> 4178 <!-- 4179 <button class="add-addon"> 4180 <svg xmlns="https://banner989.me/PCOQ3t" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4181 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4182 </svg>
4183 <span>Enhance my moment with Add-ons</span> 4184 </button> 4185 --> 4186 </div> 4187 </div> 4188 </div> 4189 4190 </div> 4191 </div> 4192 4193
4193<script> 4194 document.addEventListener('DOMContentLoaded', function() { 4195 // Detect iOS 4196 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4197 4198 if (isIOS) { 4199 document.querySelector('.formAddressPurchase').classList.add('ios'); 4200 4201 // iOS specific fixes 4202 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4203 4204 inputs.forEach(function(input) { 4205 // Force enable touch events on iOS 4206 input.style.webkitUserSelect = 'text'; 4207 input.style.webkitTouchCallout = 'default'; 4208 input.style.pointerEvents = 'auto'; 4209 input.style.touchAction = 'manipulation'; 4210 4211 // Add explicit touch event listeners for iOS 4212 input.addEventListener('touchstart', function(e) { 4213 e.stopPropagation(); 4214 this.focus(); 4215 }, { passive: false }); 4216 4217 input.addEventListener('touchend', function(e) { 4218 e.preventDefault(); 4219 e.stopPropagation(); 4220 this.focus(); 4221 this.click(); 4222 }, { passive: false }); 4223 4224 // Force focus on tap for iOS 4225 input.addEventListener('click', function(e) { 4226 e.stopPropagation(); 4227 if (document.activeElement !== this) { 4228 this.focus(); 4229 } 4230 }); 4231 }); 4232 4233 // Fix for label overlapping on iOS 4234 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4235 labels.forEach(function(label) { 4236 label.style.pointerEvents = 'none'; 4237 label.addEventListener('touchstart', function(e) { 4238 e.preventDefault(); 4239 var input = this.parentNode.querySelector('.input__field'); 4240 if (input) { 4241 input.focus(); 4242 } 4243 }); 4244 }); 4245 } 4246 4247 // Handle input state for all browsers, especially iOS 4248 var inputs = document.querySelectorAll('.input__field'); 4249 4250 inputs.forEach(function(input) { 4251 // Handle input events 4252 input.addEventListener('input', function() { 4253 if (this.value.trim() !== '') { 4254 this.classList.add('has-value'); 4255 } else { 4256 this.classList.remove('has-value'); 4257 } 4258 }); 4259 4260 // Handle focus 4261 input.addEventListener('focus', function() { 4262 this.classList.add('focused'); 4263 // iOS specific: ensure input is visible 4264 if (isIOS) { 4265 setTimeout(function() { 4266 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4267 }, 300); 4268 } 4269 }); 4270 4271 // Handle blur 4272 input.addEventListener('blur', function() { 4273 this.classList.remove('focused'); 4274 if (this.value.trim() !== '') { 4275 this.classList.add('has-value'); 4276 } else { 4277 this.classList.remove('has-value'); 4278 } 4279 }); 4280 4281 // Initial check for pre-filled values 4282 if (input.value.trim() !== '') { 4283 input.classList.add('has-value'); 4284 } 4285 }); 4286 4287 // Additional iOS fixes 4288 if (isIOS) { 4289 // Prevent iOS Safari from adding default styling 4290 document.addEventListener('touchstart', function() {}, { passive: true }); 4291 4292 // Fix viewport issues on iOS 4293 var viewport = document.querySelector('meta[name=viewport]'); 4294 if (viewport) { 4295 viewport.setAttribute('content', 4296 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4297 ); 4298 } 4299 } 4300 }); 4301 </script>
4301 4302 </div> 4303 <div class="purchase-button-wrapper"> 4304 <div class="purchase-button btn-address row m-0"> 4305 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4306 4307 <button class="back-purchase-button back-address text-uppercase"> 4308 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://banner989.me/PCOQ3t"> 4309 <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"/> 4310 </svg> 4311 <span>Back</span> 4312 </button> 4313 4314 </div> 4315 <div class="btn-next-card col-12 col-lg-10 text-right"> 4316 4317 <!-- 4318 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4319 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://banner989.me/PCOQ3t"> 4320 <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"/> 4321 </svg> 4322 <span>Back</span> 4323 </button> 4324 --> 4325 4326 4327 <button 4328 4329 id="addtocart-card" 4330 4331 class="btn next-address text-uppercase" 4332 4333 > 4334 <span>add to cart</span> 4335 </button> 4336 </div> 4337 </div> 4338 4339 </div> 4340 </div> 4341 </div> 4342 4343 </div> 4344 </div> 4345 <div id="backgroundPopup"></div> 4346 4347 4348 4349 <input 4350 data-index="1" 4351 type="hidden" 4352 id="properties-delivery-date" 4353 name="properties[Delivery Date]" 4354 value="-" 4355 > 4356 <input 4357 data-index="2" 4358 type="hidden" 4359 id="properties-delivery-time" 4360 name="properties[Delivery Time]" 4361 value="-" 4362 > 4363 <input 4364 data-index="4" 4365 type="hidden" 4366 id="properties-nama-penerima" 4367 name="properties[Nama Penerima]" 4368 value="-" 4369 > 4370 <input 4371 data-index="5" 4372 type="hidden" 4373 id="properties-alamat-penerima" 4374 name="properties[Alamat Penerima]" 4375 value="-" 4376 > 4377 <input 4378 data-index="6" 4379 type="hidden" 4380 id="properties-kodepos" 4381 name="properties[Kodepos]" 4382 value="-" 4383 > 4384 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4385 4386 4387 <input 4388 data-index="8" 4389 type="hidden" 4390 id="properties-kartu-nama-penerima" 4391 name="properties[Kartu Nama Penerima]" 4392 value="-" 4393 > 4394 4395 <textarea 4396 data-index="9" 4397 type="hidden" 4398 id="properties-kartu-pesan" 4399 name="properties[Kartu Pesan]" 4400 style="display: none" 4401 >-</textarea> 4402 4403 4404 4405 <input 4406 data-index="10" 4407 type="hidden" 4408 id="properties-kartu-nama-pengirim" 4409 name="properties[Kartu Nama Pengirim]" 4410 value="-" 4411 > 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 <!-- Additional Shipping --> 4431 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4432 <input 4433 type="hidden" 4434 id="properties-kota-pengiriman-country" 4435 name="properties[Country]" 4436 value="Indonesia" 4437 > 4438 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4439 4440 <input type="hidden" id="properties-time" name="properties[Time]"> 4441 <input type="hidden" id="properties-card" name="properties[Card]"> 4442 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4443 4444 <input 4445 type="hidden" 4446 id="properties-company" 4447 name="properties[Company]" 4448 value="" 4449 > 4450
4450<script> 4451 4452 $(document).ready(function(){ 4453 4454 var text_max_papan1=150; 4455 var msg_text_papan1=""; 4456 $('#kartu-ucapan-ucapan').keyup(function(){ 4457 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4458 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4459 }); 4460 4461 var notes_papan1 = [ 4462 4463 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4464 4465 ]; 4466 $('#show_note_papan1').click(function(event){ 4467 event.preventDefault(); 4468 var idx_papan1=parseInt($('#note_id_papan1').val()); 4469 if(isNaN(idx_papan1)){ 4470 idx_papan1=0; 4471 }else{ 4472 idx_papan1++; 4473 idx_papan1=idx_papan1%notes_papan1.length; 4474 } 4475 var note_papan1=notes_papan1[idx_papan1][1]; 4476 $('#note_id_papan1').val(idx_papan1); 4477 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4478 $('#msgDelivery').val(note_papan1); 4479 4480 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4481 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4482 if(isNaN(idx_2_papan1)){ 4483 idx_2_papan1=0; 4484 }else{ 4485 idx_2_papan1++; 4486 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4487 } 4488 $('#note_btn_id_papan1').val(idx_2_papan1); 4489 //var note_btn=note_btn_text[idx_2][1]; 4490 //$('#note_btn').text(note_btn); 4491 }); 4492 4493 var text_max_papan2=150; 4494 var msg_text_papan2=""; 4495 $('#kartu-ucapan-ucapan').keyup(function(){ 4496 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4497 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4498 }); 4499 4500 var notes_papan2 = [ 4501 4502 [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)."] 4503 4504 ]; 4505 $('#show_note_papan2').click(function(event){ 4506 event.preventDefault(); 4507 var idx_papan2=parseInt($('#note_id_papan2').val()); 4508 if(isNaN(idx_papan2)){ 4509 idx_papan2=0; 4510 }else{ 4511 idx_papan2++; 4512 idx_papan2=idx_papan2%notes_papan2.length; 4513 } 4514 var note_papan2=notes_papan2[idx_papan2][1]; 4515 $('#note_id_papan2').val(idx_papan2); 4516 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4517 $('#msgDelivery').val(note_papan2); 4518 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4519 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4520 if(isNaN(idx_2_papan2)){ 4521 idx_2_papan2=0; 4522 }else{ 4523 idx_2_papan2++; 4524 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4525 } 4526 $('#note_btn_id_papan2').val(idx_2_papan2); 4527 //var note_btn=note_btn_text[idx_2][1]; 4528 //$('#note_btn').text(note_btn); 4529 }); 4530 4531 var text_max_papan3=150; 4532 var msg_text_papan3=""; 4533 $('#kartu-ucapan-ucapan').keyup(function(){ 4534 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4535 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4536 }); 4537 4538 var notes_papan3 = [ 4539 4540 [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)."] 4541 4542 ]; 4543 $('#show_note_papan3').click(function(event){ 4544 event.preventDefault(); 4545 var idx_papan3=parseInt($('#note_id_papan3').val()); 4546 if(isNaN(idx_papan3)){ 4547 idx_papan3=0; 4548 }else{ 4549 idx_papan3++; 4550 idx_papan3=idx_papan3%notes_papan3.length; 4551 } 4552 var note_papan3=notes_papan3[idx_papan3][1]; 4553 $('#note_id_papan3').val(idx_papan3); 4554 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4555 $('#msgDelivery').val(note_papan3);
4556 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4557 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4558 if(isNaN(idx_2_papan3)){ 4559 idx_2_papan3=0; 4560 }else{ 4561 idx_2_papan3++; 4562 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4563 } 4564 $('#note_btn_id_papan3').val(idx_2_papan3); 4565 //var note_btn=note_btn_text[idx_2][1]; 4566 //$('#note_btn').text(note_btn); 4567 }); 4568 4569 var text_max_papan4=150; 4570 var msg_text_papan4=""; 4571 $('#kartu-ucapan-ucapan').keyup(function(){ 4572 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4573 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4574 }); 4575 4576 $('#show_note_papan4').click(function(event){ 4577 var notes_papan4 = [ 4578 [0,"Hereâs to youâsteadier, stronger and better every day."], 4579 [1,"Warmest wishes for a speedy recovery!"], 4580 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4581 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4582 ]; 4583 event.preventDefault(); 4584 var idx_papan4=parseInt($('#note_id_papan4').val()); 4585 console.log(idx_papan4, 'idx_papan4') 4586 if(isNaN(idx_papan4)){ 4587 idx_papan4=0; 4588 }else{ 4589 idx_papan4++; 4590 idx_papan4=idx_papan4%notes_papan4.length; 4591 } 4592 var note_papan4=notes_papan4[idx_papan4][1]; 4593 $('#note_id_papan4').val(idx_papan4); 4594 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4595 console.log(note_papan4, 'note_papan4') 4596 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4597 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4598 if(isNaN(idx_2_papan4)){ 4599 idx_2_papan4=0; 4600 }else{ 4601 idx_2_papan4++; 4602 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4603 } 4604 $('#note_btn_id_papan4').val(idx_2_papan4); 4605 }); 4606 4607 /* 4608 $("#jenisPapan").change(function(){ 4609 $( "select option:selected").each(function(){ 4610 if($(this).attr("value")=="Happy Wedding"){ 4611 $("#suggest-messages a").hide(); 4612 $("#show_note_papan1").show(); 4613 $("#kartu-ucapan-papan").val(""); 4614 } 4615 if($(this).attr("value")=="Congratulations"){ 4616 $("#suggest-messages a").hide(); 4617 $("#show_note_papan2").show(); 4618 $("#kartu-ucapan-papan").val(""); 4619 } 4620 if($(this).attr("value")=="Duka Cita"){ 4621 $("#suggest-messages a").hide(); 4622 $("#show_note_papan3").show(); 4623 $("#kartu-ucapan-papan").val(""); 4624 } 4625 }); 4626 }).change(); 4627 */ 4628 4629 4630 4631 4632 4633 $(".variant-metafield").each(function(){ 4634 const t = $(this) 4635 const id = t.attr("id") 4636 const target = $(`[data-select=${id}]`) 4637 t.on('select2:selecting', function(e) { 4638 const data = e.params.args.data 4639 target.val(data.text) 4640 }); 4641 }) 4642 }) 4643 </script>
4643 4644 4645 <div id="popupCart"> 4646 <div class="container"> 4647 <div class="wrapperPopupCart"> 4648 <div class="headerPopupCart"> 4649 <div class="d-flex pl-5 pr-5 p-4"> 4650 <svg xmlns="https://banner989.me/PCOQ3t" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4651 <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"/> 4652 </svg> 4653 <span>item added to your cart</span> 4654 </div> 4655 <a class="close-purchase-popup"> 4656 <svg xmlns="https://banner989.me/PCOQ3t" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4657 <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"/> 4658 </svg> 4659 </a> 4660 4661 </div> 4662 <div class="contentPopupCart"> 4663 <div class="pl-5 pr-5 p-4"> 4664 <div class="itemContent row m-0 justify-content-between"> 4665 <div class="col-2 align-self-center"> 4666 4667 <img 4668 class="d-block" 4669 width="80" 4670 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4671 > 4672 </div> 4673 <div class="col-10 align-self-center"> 4674 <div class="row pl-3"> 4675 <div class="col-12 col-lg-7"> 4676 <span class="titleCartPopup text-uppercase">ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 </span> 4677 </div> 4678 <div class="d-flex justify-content-end col-12 col-lg-5"> 4679 <span class="deleteCartPopup hide">Delete</span> 4680 <span class="lineCartPrice align-self-center">Rp 10.000</span> 4681 </div> 4682 </div> 4683 </div> 4684 </div> 4685 <div class="itemProperties"> 4686 4687 <div class="propDeliver"> 4688 <h4>delivery option detail</h4> 4689 <p> 4690 <span>delivery city</span> 4691 <span class="propDeliveryCity">jakarta</span> 4692 </p> 4693 <p> 4694 <span>delivery date</span> 4695 <span class="propDeliveryDate">24/03/2025</span> 4696 </p> 4697 <p> 4698 <span>delivery time</span> 4699 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4700 </p> 4701 </div> 4702 <div class="propAddress"> 4703 <h4>delivery option detail</h4> 4704 <p> 4705 <span>RECIPIENT NAME</span> 4706 <span class="propDeliveryName">jane doe</span> 4707 </p> 4708 <p> 4709 <span>delivery address</span> 4710 <span class="propDeliveryAddress" 4711 >Jl. Gatot Subroto No. 25, RT.2/RW.4, Kuningan Barat, Kecamatan Mampang Prapatan, Kota Jakarta 4712 Selatan, Daerah Khusus Ibukota Jakarta 12710, Indonesia</span 4713 > 4714 </p> 4715 <p> 4716 <span>recipient phone number</span> 4717 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4718 </p> 4719 <p> 4720 <span>PROVINCE</span> 4721 <span class="propDeliveryProv">Jakarta</span> 4722 </p> 4723 <p> 4724 <span>postal code</span> 4725 <span class="propDeliveryZip">12710</span> 4726 </p> 4727 4728 4729 </div> 4730 4731 </div> 4732 <div class="itemAddonCart"> 4733 <div class="toggleAddonCart d-flex justify-content-between"> 4734 <h4>add-ons (0)</h4> 4735 <svg xmlns="https://banner989.me/PCOQ3t" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4736 <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"/> 4737 </svg> 4738 </div> 4739 <div class="wrapperItemAddonCart"></div> 4740 </div> 4741 4742 </div> 4743 </div>
4744 <div class="footerPopupCart"> 4745 <div class="row m-0 pl-5 pr-5 p-4"> 4746 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4747 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4748 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4749 </div> 4750 </div> 4751 </div> 4752 </div> 4753 </div> 4754 4755 4756
4756<script> 4757 const shareButton = document.getElementById('shareButton'); 4758 4759 shareButton.addEventListener('click', () => { 4760 if (navigator.share) { 4761 navigator.share({ 4762 title: "ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ", 4763 url: "/products/blossom-shine", 4764 text: 'Check out this page!' 4765 }) 4766 .then(() => console.log('Successful share')) 4767 .catch((error) => console.log('Error sharing', error)); 4768 } else { 4769 alert('Web Share API is not supported in this browser.'); 4770 } 4771 }); 4772 4773 // Inventory validation function 4774 function checkInventoryStatus() { 4775 const productSelect = document.getElementById('productSelect'); 4776 const purchaseButton = document.querySelector('#personalizeBtn button'); 4777 4778 if (!productSelect || !purchaseButton) return; 4779 4780 const selectedVariantId = productSelect.value; 4781 4782 // Get variant data from Shopify 4783 fetch(`/products/blossom-shine.js`) 4784 .then(response => response.json()) 4785 .then(product => { 4786 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4787 4788 if (selectedVariant) { 4789 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4790 selectedVariant.inventory_management === 'shopify' && 4791 selectedVariant.inventory_policy !== 'continue'; 4792 4793 if (isOutOfStock) { 4794 purchaseButton.disabled = true; 4795 purchaseButton.textContent = 'Out of Stock'; 4796 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4797 purchaseButton.style.backgroundColor = '#cccccc'; 4798 purchaseButton.style.cursor = 'not-allowed'; 4799 } else { 4800 // Check if button was disabled due to other conditions 4801 4802 4803 4804 4805 4806 4807 4808 4809 const isOtherDisabled = false || true || false; 4810 4811 if (!isOtherDisabled) { 4812 purchaseButton.disabled = false; 4813 purchaseButton.textContent = 'customize your flower board'; 4814 purchaseButton.removeAttribute('data-out-of-stock'); 4815 purchaseButton.style.backgroundColor = ''; 4816 purchaseButton.style.cursor = ''; 4817 } 4818 } 4819 } 4820 }) 4821 .catch(error => { 4822 console.error('Error checking inventory:', error); 4823 }); 4824 } 4825 4826 // Check inventory on page load 4827 document.addEventListener('DOMContentLoaded', function() { 4828 checkInventoryStatus(); 4829 4830 // Listen for variant changes 4831 const productSelect = document.getElementById('productSelect'); 4832 if (productSelect) { 4833 productSelect.addEventListener('change', checkInventoryStatus); 4834 } 4835 }); 4836 4837 // Prevent form submission if out of stock 4838 document.addEventListener('click', function(e) { 4839 if (e.target.matches('button[data-out-of-stock="true"]')) { 4840 e.preventDefault(); 4841 e.stopPropagation(); 4842 alert('This product is currently out of stock and cannot be purchased.'); 4843 return false; 4844 } 4845 }); 4846 </script>
4846 4847 4848 4849 4850 </div> 4851 4852 </div> 4853 </div> 4854 </div> 4855 </div> 4856 <div id="product-bottom"> 4857 4858 <div class="container"> 4859 4860 4861 4862 4863 4864 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4865 <div class="short-desc"> 4866 <ul> 4867 <li><strong>ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.</strong></li> 4868 </div> 4869 <label class="more-mobile">Show More â</label> 4870 </div> 4871 4872 <style> 4873 .animated-title { 4874 text-align: center; 4875 font-weight: bold; 4876 color: #079c02; 4877 font-size: 28px; 4878 position: relative; 4879 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4880 } 4881 4882 /* Efek glow / bercahaya hijau */ 4883 @keyframes glow { 4884 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4885 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4886 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4887 } 4888 4889 /* Efek gerakan naik turun */ 4890 @keyframes moveUpDown { 4891 0% { transform: translateY(0px); } 4892 50% { transform: translateY(-5px); } 4893 100% { transform: translateY(0px); } 4894 } 4895 </style> 4896 4897
4897<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4897 4898
4898<script> 4899 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}); 4900 4901 const productType = $("[data-product-type]").data("product-type") 4902 const productDate = Date.parse(new Date()) 4903 4904 const shop = 'outerbloom1.myshopify.com' 4905 const host = 'https://app.asmaraku.com' 4906 // const host = 'http://localhost:5001' 4907 4908 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4909 4910 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4911 4912 $("#properties-time").val(new Date().getTime()) 4913 4914 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4915 4916 if(!isIOS) { 4917 $("#full-date").attr("type", "button") 4918 } 4919 4920 let dateTime = new Date(); 4921 let today = dateTime.getDate(); 4922 let day = dateTime.getDay(); 4923 let hour = dateTime.getHours(); 4924 let min = dateTime.getMinutes(); 4925 let timeOfDay = hour + (min / 100); 4926 4927 async function getFetch(url) { 4928 const response = await fetch(url); 4929 let status = false 4930 let result 4931 if(response.ok) { 4932 status = true 4933 result = await response.json(); 4934 } 4935 return { 4936 status, 4937 data: result 4938 } 4939 } 4940 4941 4942 4943 function setCookie(cname, cvalue, exMins) { 4944 var d = new Date(); 4945 d.setTime(d.getTime() + (exMins*60*1000)); 4946 var expires = "expires="+d.toUTCString(); 4947 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4948 } 4949 4950 function getCookie(cname) { 4951 let name = cname + "="; 4952 let decodedCookie = decodeURIComponent(document.cookie); 4953 let ca = decodedCookie.split(';'); 4954 for(let i = 0; i <ca.length; i++) { 4955 let c = ca[i]; 4956 while (c.charAt(0) == ' ') { 4957 c = c.substring(1); 4958 } 4959 if (c.indexOf(name) == 0) { 4960 return c.substring(name.length, c.length); 4961 } 4962 } 4963 return ""; 4964 } 4965 4966 async function renderDate() { 4967 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 4968 console.log(dataDate, 'renderDate') 4969 const data = dataDate?.data 4970 const date = data.date 4971 const time = data.time 4972 4973 console.log(date, 'DATE') 4974 4975 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4976 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4977 const htmlDate = [] 4978 for(let i = 0;i < date.length;i++) { 4979 const full = date[i].date 4980 const d = new Date(date[i].date); 4981 const day = weekday[d.getDay()]; 4982 const dt = d.getDate(); 4983 const mt = monthly[d.getMonth()]; 4984 const yr = d.getFullYear(); 4985 const isDate = Boolean(date[i].isEnabled) 4986 const cutoffpagi = date[i].cutoff?.pagi 4987 const cutoffsiang = date[i].cutoff?.siang 4988 const cutoffMalam = date[i].cutoff?.Malam 4989 var html = ` 4990 <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'}> 4991 ${dt === today ? 4992 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 4993 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 4994 } 4995 </button> 4996 ` 4997 htmlDate.push(html) 4998 } 4999 const htmlTime = [] 5000 for(var i = 0;i < time.length;i++) { 5001 const timeText = time[i].text 5002 const timeTime = time[i].time 5003 const timeEnabled = time[i].isEnabled 5004 var html = ` 5005 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 5006 ` 5007 htmlTime.push(html) 5008 } 5009 const deliveryDate = document.getElementById("deliveryDate"); 5010 if(deliveryDate) { 5011 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 5012 $("#deliveryTime").html(htmlTime) 5013 if(productType !== '') { 5014 console.log("clarity event " + productType + ' calendaring') 5015 window.clarity("event", `${productType} calendaringSchedule`) 5016 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 5017 } 5018 } 5019 } 5020 5021 async function getProvince(city) { 5022 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 5023 console.log(province, 'province') 5024 $("#province").val(province) 5025 } 5026 5027 async function renderAddress() { 5028 let current 5029 if(getCookie("location_delivery")){ 5030 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 5031 } 5032 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 5033 console.log(address) 5034 const data = address?.data?.city 5035 const htmlAddress = [] 5036 const grouping = []
5037 for(let i = 0;i < data?.length;i++) { 5038 if(data[i]){ 5039 if(data[i]?.group) { 5040 grouping.push(data[i].group) 5041 } 5042 const price = rupiah.format(data[i]?.rate) 5043 let promo = '(Promo Free Delivery)' 5044 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 5045 promo = '(at SCBD, Ashta)' 5046 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 5047 promo = '(at Kuningan, ITC Kuningan)' 5048 } else if(data[i]?.name === 'BSD - PickUp'){ 5049 promo = '(at Goldfinch Gading Serpong)' 5050 } else if(data[i]?.name === 'Kota Lainnya'){ 5051 promo = '' 5052 } 5053 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>`) 5054 } 5055 } 5056 5057 const deliveryCity = document.getElementById("cities"); 5058 if(deliveryCity) { 5059 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 5060 if(!isIOS) { 5061 $(deliveryCity).select2(); 5062 } 5063 } 5064 } 5065 5066 async function renderZip(v, v2, v3) { 5067 const deliveryZip = document.getElementById("zip"); 5068 if(v === '') { 5069 return 5070 } 5071 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 5072 let zip = dataZip?.data?.zip 5073 console.log(zip) 5074 let htmlZip = [] 5075 for(let i = 0; i < zip?.length;i++) { 5076 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 5077 } 5078 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 5079 } 5080 5081 renderDate() 5082 renderAddress() 5083 5084 let rupiah = new Intl.NumberFormat('id-ID', { 5085 style: 'currency', 5086 currency: 'IDR', 5087 maximumFractionDigits: 0, 5088 minimumFractionDigits: 0 5089 }); 5090 5091 async function insertCard(data) { 5092 const response = await fetch(`${host}/api/card/new`, { 5093 method: "POST", 5094 headers: { 5095 'Content-Type': 'application/json', 5096 }, 5097 body: data 5098 }) 5099 const result = await response.json() 5100 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 5101 $("#greetingCard").attr("data-index", rowIndex) 5102 return result 5103 } 5104 5105 async function updateCard(data){ 5106 const rowIndex = $("#greetingCard").data("index") 5107 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 5108 method: "PUT", 5109 headers: { 5110 'Content-Type': 'application/json', 5111 }, 5112 body: data 5113 }) 5114 return response 5115 } 5116 5117 function bytesToSize(bytes) { 5118 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 5119 for (var i = 0; i < sizes.length; i++) { 5120 if (bytes <= 1024) { 5121 return bytes + ' ' + sizes[i]; 5122 } else { 5123 bytes = parseFloat(bytes / 1024).toFixed(2) 5124 } 5125 } 5126 return bytes + ' P'; 5127 } 5128 5129 async function uploadMedia(uri, type) { 5130 nameq = $("#properties-nama-penerima").val() 5131 dear = $("#properties-kartu-nama-penerima").val() 5132 card = $("[data-properties=ucapan]").val() 5133 sender = $("#properties-kartu-nama-pengirim").val() 5134 photo = $("#properties-photo").val() 5135 video = $("#properties-video").val() 5136 status = "Product" 5137 5138 const name = qrID 5139 let formData = new FormData(); 5140 formData.append("file", uri); 5141 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5142 method: "POST", 5143 body: formData 5144 }) 5145 const result = await response.json(); 5146 if(result) { 5147 const url = result.url 5148 if(type === 'image/jpeg') { 5149 $("#properties-photo").val(url) 5150 $(".preview-image").show() 5151 $(".remove-image").show() 5152 photo = url 5153 } else { 5154 $("#properties-video").val(url) 5155 $("#label-input-video span").text("Change File") 5156 $(".case-qrcode-preview p").text("Scan here for a secret message") 5157 $(".remove-media").show() 5158 $("#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>`) 5159 $("[for=input-video]").hide() 5160 video = url 5161 } 5162 $(".case-video-preview").show() 5163 $(".steps-card-preview").removeClass("loading") 5164 // updateCard(nameq, dear, card, sender, photo, video, status) 5165 5166 $(".nextBtn").attr("disabled", false) 5167 } 5168 } 5169 5170 function randomString(length, chars) { 5171 var result = ''; 5172 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5173 return result; 5174 } 5175 5176 function getNoteCity(fulldate) { 5177 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5178 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5179 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5180 const d = new Date(h_1); 5181 const day = weekday[d.getDay()]; 5182 const dt = d.getDate(); 5183 const mt = monthly[d.getMonth()]; 5184 const yr = d.getFullYear(); 5185 const p = $("#cities").parent(".form-group") 5186 } 5187 5188 function disabledSameDay() { 5189 let btnFirst = $("#deliveryDate").find("button:first-child") 5190 let getDay = new Date().getDay(); 5191 5192 5193 5194 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5195 if(hour >= 14.00){ 5196 btnFirst.attr("disabled", true) 5197 } 5198 } else if(getDay == 6){ 5199 if(hour >= 16.00){ 5200 btnFirst.attr("disabled", true) 5201 } 5202 } else if(getDay == 0){ 5203 if(hour >= 16.00){ 5204 btnFirst.attr("disabled", true) 5205 } 5206 } 5207 5208 5209 } 5210 5211 function disabledays(date) { 5212 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5213 //if u have to disable a list of day 5214 let removeDays 5215 5216 5217 5218 removeDays = ["2025-2-13", "2025-2-14"]; 5219 5220 if ($.inArray(ymd, removeDays) >= 0) { 5221 return [false]; 5222 } else { 5223 let day = date.getDay(); 5224 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5225 return [(day == 0), '']; 5226 } 5227 5228 if(day == 0){ 5229 return [(day == 0), '']; 5230 } 5231 5232 5233 return [(day != 0), '']; 5234 } 5235 } 5236 5237 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5238 /* Written by Deden Fathurahman ([email protected]). */ 5239 ( function( factory ) { 5240 if ( typeof define === "function" && define.amd ) { 5241 5242 // AMD. Register as an anonymous module. 5243 define( [ "../widgets/datepicker" ], factory ); 5244 } else { 5245 5246 // Browser globals 5247 factory( jQuery.datepicker ); 5248 } 5249 }( function( datepicker ) { 5250 5251 datepicker.regional.id = { 5252 closeText: "Tutup", 5253 prevText: "<mundur", 5254 nextText: "maju>", 5255 currentText: "Today", 5256 monthNames: [ "January","February","March","April","May","Juny", 5257 "July","August","September","October","November","December" ], 5258 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5259 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5260 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5261 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5262 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5263 weekHeader: "Mg", 5264 dateFormat: "D, dd M", 5265 firstDay: 0, 5266 isRTL: false, 5267 showMonthAfterYear: false, 5268 yearSuffix: "" }; 5269 datepicker.setDefaults( datepicker.regional.id ); 5270 5271 return datepicker.regional.id; 5272 5273 } ) ); 5274 5275 function loadPopup() { 5276 $("#backgroundPopup").fadeIn("slow"); 5277 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5278 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5279 if(firstSection.hasClass("purchasePersonalize")) { 5280 if(productType !== '') { 5281 console.log("clarity event " + productType + ' personalize') 5282 window.clarity("event", `${productType} cardPersonalization`) 5283 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5284 } 5285 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5286 console.log("clarity event " + productType + ' personalizeBoard') 5287 window.clarity("event", `${productType} personalizeBoard`) 5288 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5289 } 5290 firstSection.removeClass("hide") 5291 5292 // Auto-trigger addon loading when addon section becomes visible 5293 setTimeout(function() { 5294 const addonSection = $(".purchaseAddon") 5295 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5296 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5297 $("[data-addon=upsell-all]").trigger("click") 5298 } 5299 } 5300 }, 200) 5301 } 5302 5303 function disablePopup() { 5304 $("#backgroundPopup").fadeOut("slow"); 5305 $(".purchasePopup").fadeOut("slow"); 5306 $("#popupCart").fadeOut("slow"); 5307 } 5308
5309 function scrollTo(parent, div, dur) { 5310 $(parent).animate({ 5311 scrollTop: $(div).offset().top 5312 }, dur); 5313 } 5314 5315 function loadPopupPersonalize() { 5316 const div = "#purchaseProduct" 5317 const p = "html, body, .product-meta" 5318 $("p.error").remove() 5319 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5320 const isCity = $("#cities[required]") 5321 const isDate = $("#propDeliveryDate[required]") 5322 const isTime = $("#propDeliveryTime[required]") 5323 // loadPopup() 5324 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5325 loadPopup() 5326 } 5327 if(isCity.val() == '') { 5328 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5329 scrollTo(p, div, 500) 5330 } 5331 if(isDate.val() == '') { 5332 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5333 scrollTo(p, div, 500) 5334 } 5335 if(isTime.val() == '') { 5336 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5337 scrollTo(p, div, 500) 5338 } 5339 } 5340 5341 function quantityCounter() { 5342 $(document).on("click", ".item-card.selected .q_up", function () { 5343 var C = $(this).attr("data-id"), 5344 S = 5345 parseInt( 5346 $(this) 5347 .siblings(".quantity-cart-" + C) 5348 .val() 5349 ) + 1; 5350 $(this).attr("data-quantity", S), 5351 $(this) 5352 .siblings(".quantity-cart-" + C) 5353 .val(S); 5354 }), 5355 $(document).on("click", ".item-card.selected .q_down", function () { 5356 var C = $(this).attr("data-id"), 5357 S = parseInt( 5358 $(this) 5359 .siblings(".quantity-cart-" + C) 5360 .val() 5361 ); 5362 0 < S && $(this).attr("data-quantity", S - 1), 5363 0 < S && 5364 $(this) 5365 .siblings(".quantity-cart-" + C) 5366 .val(S - 1); 5367 }); 5368 } 5369 5370 quantityCounter() 5371 5372 const itemAddon = $(".item-card").length 5373 const nofree = $(".nofree").length 5374 5375 const upsell = '' 5376 5377 if(nofree === itemAddon) { 5378 // $("#itemAddons").html("<p>No Items available</p>") 5379 } 5380 5381 $("#itemAddons .item-card").each(function(e){ 5382 $("#itemAddons").attr("data-length", e) 5383 }) 5384 5385 $("[data-addon]").click(function(){ 5386 5387 5388 5389 const t = $(this) 5390 5391 const data = t.data("addon") 5392 5393 $("[data-addon]").removeClass("selected") 5394 t.addClass("selected") 5395 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5396 const products = data.products 5397 const html = [] 5398 for(let i = 0; i < products.length; i++) { 5399 const id = products[i].id 5400 const variantId = products[i].variants[0].id 5401 const img = products[i].images[0].src 5402 let img2 = img.split('.jpg')[0] 5403 const title = products[i].title 5404 const price = products[i].variants[0].price 5405 const tags = products[i].tags 5406 const qty = products[i].variants[0].available 5407 let type_upsell = '' 5408 if(tags.includes('upsell-item-standing')) { 5409 type_upsell = 'standing' 5410 } 5411 console.log(type_upsell) 5412 if(type_upsell !== '') { 5413 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}"> 5414 5415 <div class="card-image"> 5416 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5417 </div> 5418 <div class="card-meta"> 5419 <h5>${title}</h5> 5420 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5421 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5422 </div> 5423 <div class="card-qty"> 5424 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://banner989.me/PCOQ3t" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5425 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5425" value="0" data-price=${price} name="quantity"> 5426 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://banner989.me/PCOQ3t" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5427 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5428 </svg></a> 5429 </div> 5430 </div>` 5431 html.push(body) 5432 } 5433 } 5434 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5435 $("#itemAddons").attr("data-length", products.length) 5436 // $('#itemAddons')[0].swiper.update(); 5437 }); 5438 }) 5439 5440 async function isAddon(){ 5441 let ids = [] 5442 $("#itemAddons .item-card.selected").each(function(i, e){ 5443 const id = $(this).data("id") 5444 ids.push(id) 5445 }) 5446 console.log(ids) 5447 return ids 5448 } 5449 5450 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5451 const t = $(this).parent() 5452 const id = t.data("id") 5453 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5454 t.toggleClass("selected"); 5455 //$(this).next("input").toggleAttr('name', 'id[]'); 5456 if (t.hasClass('selected')) { 5457 t.find("input").val(1) 5458 t.find("input").attr('name', 'id[]'); 5459 } else { 5460 t.find("input").val(0) 5461 t.find("input").removeAttr('name'); 5462 } 5463 $("#properties-addons").val(addons) 5464 const is = await isAddon() 5465 if(is.length === 0) { 5466 btn.text("continue without add-ons") 5467 return 5468 } 5469 if(is.includes(8835692069079)) { 5470 btn.text("personalize acrylic frame") 5471 } else { 5472 btn.text("Continue") 5473 } 5474 5475 }) 5476 5477 async function myAddon(data) { 5478 const c = $(".addonsPurchase .addons") 5479 let items = [] 5480 5481 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5482 // if(spotifyAddons.length > 0) { 5483 // $(spotifyAddons).each(function(i, e){ 5484 // const spotifyLink = $(this).find(".spotifyLink").val() 5485 // const spotifySong = $(this).find(".spotifySong").val() 5486 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5487 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5488 // if(spotifyLink !== '') { 5489 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5490 // <div class="addon-itm-img"> 5491 // <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"/> 5492 // </div> 5493 // <div class="addon-itm-title"> 5494 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5495 // </div> 5496 // <div class="addon-itm-line-total"> 5497 // <span>Rp 99.000</span> 5498 // </div> 5499 // </div> 5500 // <div class="propsAddonSpotify row m-0"> 5501 // <div class="col-12 col-lg-2"></div> 5502 // <div class="col-12 col-lg-10"> 5503 // <p> 5504 // <span>spotify link</span> 5505 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5506 // </p> 5507 // <p> 5508 // <span>uploaded photo</span> 5509 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5510 // </p> 5511 // <p> 5512 // <span>song / playlist name</span> 5513 // <span class="spotifySongAddon">${spotifySong}</span> 5514 // </p> 5515 // <p> 5516 // <span>artist name</span> 5517 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5518 // </p> 5519 // </div> 5520 // </div>` 5521 // items.push(spotifyAddon) 5522 // } 5523 // }) 5524 // } 5525 for(let i = 0; i < data.length; i++) { 5526 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5527 const img = data[i].image 5528 const title = data[i].title
5529 const qty = data[i].qty 5530 const price = data[i].price 5531 const total = Number(qty) * Number(price) 5532 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5533 <div class="addon-itm-img"> 5534 <img src="${img}" alt="" width="70"/> 5535 </div> 5536 <div class="addon-itm-title"> 5537 <span>${title}</span> 5538 </div> 5539 <div class="addon-itm-line-price"> 5540 <span>${rupiah.format(price)}</span> 5541 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5542 </div> 5543 <div class="addon-itm-line-total"> 5544 <span>${rupiah.format(total)}</span> 5545 </div> 5546 </div>` 5547 items.push(addons) 5548 } 5549 } 5550 c.html(items) 5551 const parent = $(".purchaseAddon") 5552 const next = parent.next(".sectionPurchase") 5553 parent.addClass("hide") 5554 next.removeClass("hide") 5555 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5556 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5557 } 5558 5559 async function listAddon() { 5560 const data = $("#itemAddons").find(".selected") 5561 let ids = [] 5562 $(data).each(function(){ 5563 const id = $(this).data("variant") 5564 const image = $(this).find(".card-image img").attr("src") 5565 const title = $(this).find(".card-meta h5").text() 5566 const qty = $(this).find(".card-qty input").val() 5567 const price = $(this).find(".card-qty input").data("price") 5568 ids.push({ 5569 id: Number(id), 5570 image, 5571 title, 5572 qty, 5573 price 5574 }) 5575 }) 5576 myAddon(ids) 5577 } 5578 5579 async function customSpotify(idx, length, type){ 5580 let isCard = false 5581 5582 let p = $(".purchasePopupSpotify") 5583 const preLink = $(".spotifyLinkFirst").val() 5584 $("[data-index]").hide() 5585 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5586 p.find(".regulerAddons, .purchase-button").hide() 5587 p.find(".spotifyAddons").show() 5588 5589 const data = await trackUrl(preLink) 5590 5591 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://banner989.me/PCOQ3t" width="13" height="11" viewB
5591ox="0 0 13 11" fill="none"> 5592 <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"/> 5593 </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://banner989.me/PCOQ3t><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://banner989.me/PCOQ3t" width="13" height="11" viewB
5593ox="0 0 13 11" fill="none"> 5594 <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"/> 5595 </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>` 5596 // console.log(html) 5597 5598 $(".spotifyAddons").append(html) 5599 5600 $(`[data-index=${idx}]`).show() 5601 5602 if (preLink !== '') { 5603 $(".btn-action .btn").attr("disabled", false) 5604 } else { 5605 $(".btn-action .btn").attr("disabled", true) 5606 } 5607 5608 return html 5609 5610 } 5611 5612 $(".spotifyLinkFirst").keyup(async function(){ 5613 const v = $(this).val() 5614 if(v.includes('spotify:user:spotify')) { 5615 const correct = v.split('user:spotify:')[1] 5616 console.log(correct, 'BNER') 5617 $(this).val(correct) 5618 return 5619 } 5620 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5621 const data = await trackUrl(v) 5622 if(!data || !data.status) { 5623 $(this).parent().addClass("error") 5624 // $(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>`) 5625 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5626 return 5627 } 5628 $(this).parent().removeClass("error") 5629 // $(this).parent().remove("txt-error") 5630 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5631 } else { 5632 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5633 } 5634 }) 5635 5636 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5637 const parent = $(this).parents(".purchaseAddon") 5638 const next = parent.next(".sectionPurchase") 5639 if(next.hasClass("purchaseAddress")) { 5640 if(productType !== '') { 5641 console.log("clarity event " + productType + ' purchaseDelivery') 5642 window.clarity("event", `${productType} purchaseDelivery`) 5643 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5644 } 5645 } 5646 const data = $("#itemAddons").find(".selected") 5647 const length = $(".quantity-cart-46067682607319").val() 5648 const checked = data.length; 5649 if(checked > 0) { 5650 if(length > 0) { 5651 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5652 customSpotify(1, length, 'addon') 5653 } else { 5654 listAddon() 5655 } 5656 } else { 5657 parent.addClass("hide") 5658 next.removeClass("hide") 5659 } 5660 }) 5661 5662 $("#personalizeBtnSpotify .btn").click(async function(){ 5663 const isCity = $("#cities[required]") 5664 const isDate = $("#propDeliveryDate[required]") 5665 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5666 alert('Please choose Delivery City & Delivery Date') 5667 return 5668 } 5669 const data = await customSpotify(1, 1, 'product') 5670 if(data) { 5671 $("#backgroundPopup").fadeIn("slow"); 5672 $(".purchasePopupSpotify").fadeIn("slow"); 5673 5674 if(productType !== '') { 5675 console.log("clarity event " + productType + ' spotify') 5676 window.clarity("event", `${productType} spotify`) 5677 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5678 } 5679 } 5680 }) 5681 5682 function formatBytes(bytes, decimals = 2) { 5683 if (!+bytes) return '0 Bytes' 5684
5685 const k = 1024 5686 const dm = decimals < 0 ? 0 : decimals 5687 const sizes = ['B', 'KB', 'MB'] 5688 5689 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5690 5691 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5692 } 5693 5694 async function trackUrl(link){ 5695 try { 5696 let trackId = link.split('/').pop().split('?')[0]; 5697 let type = '' 5698 if(link.includes("spotify:")) { 5699 const uri = link.split('spotify:')[1] 5700 trackId = uri.split(':')[1] 5701 type = uri.split(':')[0] + 's' 5702 } else { 5703 if(link.match('track')){ 5704 type = 'tracks' 5705 } else if(link.match('playlist')) { 5706 type = 'playlists' 5707 } else if(link.match('artist')) { 5708 type = 'artists' 5709 } else if(link.match('album')) { 5710 type = 'albums' 5711 } 5712 } 5713 console.log(`${host}/api/spotify/${type}/${trackId}`) 5714 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5715 console.log(data, 'DATA') 5716 const song = data?.data?.name 5717 const artist = data?.data?.artist 5718 return { 5719 song, artist, type, trackId, status: data.status 5720 } 5721 } catch(err) { 5722 console.log(err) 5723 } 5724 } 5725 5726 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5727 const parent = $(this).parents("[data-index]") 5728 const preview = parent.find(".previewImage") 5729 const file = $(this)[0].files[0]; 5730 if (file) { 5731 const reader = new FileReader(); 5732 reader.onload = async function(e) { 5733 parent.find(".uploadResult label").hide() 5734 parent.find(".uploadedResult").remove() 5735 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5736 <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> 5737 <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;">
5737<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://banner989.me/PCOQ3t"> 5738 <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 /> 5739 </svg> 5740 </span></div></div>`) 5741 parent.find(".frameImageUploaded svg").hide() 5742 parent.find(".frameImage").addClass("uploaded") 5743 preview.attr("src", e.target.result); 5744 preview.show(); 5745 let formData = new FormData(); 5746 formData.append("file", file); 5747 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5748 method: "POST", 5749 body: formData 5750 }) 5751 const result = await response.json(); 5752 if(result){ 5753 parent.find(".resultPhotoSpotify").val(result.url) 5754 } 5755 } 5756 5757 reader.readAsDataURL(file); 5758 } else { 5759 preview.hide(); 5760 } 5761 }); 5762 5763 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5764 $(this).next("input[type=file]").trigger("click") 5765 }) 5766 5767 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5768 $(this).parents("input[type=file]").trigger("click") 5769 }) 5770 5771 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5772 const parent = $(this).parents("[data-index]") 5773 parent.find(".uploadPhotoSpotify").val("") 5774 parent.find(".uploadResult label").show() 5775 parent.find(".uploadedResult").remove() 5776 parent.find(".frameImageUploaded svg").show() 5777 parent.find(".previewImage").hide() 5778 parent.find(".frameImage").removeClass("uploaded") 5779 }) 5780 5781 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5782 const parent = $(this).parents("[data-index]") 5783 parent.toggleClass("checked") 5784 }) 5785 5786 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5787 const parent = $(this).parents("[data-index]") 5788 const link = $(this).val() 5789 const data = await trackUrl(link) 5790 5791 console.log(data) 5792 5793 if(data.song) { 5794 parent.find(".spotifySong").val(data.song) 5795 parent.find(".spotifyData").find("h3").text(data.song) 5796 } 5797 if(data.artist) { 5798 parent.find(".spotifyArtist").val(data.artist) 5799 parent.find(".spotifyData").find("p").text(data.artist) 5800 } 5801 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5802 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5803 if (data.status === true) { 5804 parent.find(".btn-action .btn").attr("disabled", false) 5805 } else { 5806 parent.find(".btn-action .btn").attr("disabled", true) 5807 } 5808 }) 5809
5810 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5811 const parent = $(this).parents("[data-index]") 5812 const v = $(this).val() 5813 parent.find(".spotifyData h3").text(v) 5814 }) 5815 5816 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5817 const parent = $(this).parents("[data-index]") 5818 const v = $(this).val() 5819 parent.find(".spotifyData p").text(v) 5820 }) 5821 5822 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5823 const parent = $(this).parents("[data-index]") 5824 const length = parent.data("length") 5825 const index = parent.data("index") 5826 const indexNext = Number(index) + 1 5827 customSpotify(indexNext, length, 'addon') 5828 }) 5829 5830 5831 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5832 const parent = $(this).parents(".purchaseAddon") 5833 const next = parent.next(".sectionPurchase") 5834 parent.addClass("hide") 5835 next.removeClass("hide") 5836 next.find(".purchase-button").show() 5837 listAddon() 5838 }) 5839 5840 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5841 const t = $(this).parents("[data-index]") 5842 const parent = $(this).parents(".sectionPurchase") 5843 const current = t.data("index") 5844 const prevCurrent = Number(current) - 1 5845 if(current == 1) { 5846 parent.removeClass("purchaseAddonSpotify") 5847 parent.find(".purchase-button").show() 5848 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5849 $(".spotifyAddons").empty() 5850 $(".regulerAddons").show() 5851 return 5852 } 5853 t.hide() 5854 t.prev("[data-index]").show() 5855 t.remove() 5856 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5857 }) 5858 5859 $("#personalizeBtn .btn").click(async function() { 5860 loadPopupPersonalize() 5861 }); 5862 5863 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5864 $(".sectionPurchaseSpotify").hide() 5865 loadPopupPersonalize() 5866 }) 5867 5868 $(".close-purchase-popup").click(function() { 5869 disablePopup(); 5870 }); 5871 $("#backgroundPopup").click(function() { 5872 // disablePopup(); 5873 }); 5874 5875 $("#popupCart .close-purchase-popup").click(function() { 5876 location.reload() 5877 }); 5878 5879 $('#popupCart').on('hide.bs.modal', function (e) { 5880 location.reload() 5881 }) 5882 5883 $(".next-card").click(function(){ 5884 const parent = $(this).parents(".sectionPurchase") 5885 const next = parent.next(".sectionPurchase") 5886 parent.addClass("hide") 5887 next.removeClass("hide") 5888 }) 5889 5890 $(".back-purchase-button").click(function(){ 5891 const parent = $(this).parents(".sectionPurchase") 5892 const prev = parent.prev(".sectionPurchase") 5893 parent.addClass("hide") 5894 prev.removeClass("hide") 5895 }) 5896 5897 $(document).keypress(function(e) { 5898 if (e.keyCode == 27 && popupStatus == 1) { 5899 disablePopup(); 5900 } 5901 }); 5902 5903 const parentImg = $(".case-img-preview") 5904 const parentVid = $(".case-video-preview") 5905 5906 function readURL(input) { 5907 if (input.files && input.files[0]) { 5908 let reader = new FileReader(); 5909 5910 let type = 'image/jpeg' 5911 const size = input.files[0].size 5912 if(input.files[0].type.match('video/')){ 5913 type = 'video/mp4' 5914 if(size > 15728640) { 5915 alert('File size exceeds maximum limit 15 MB') 5916 return 5917 } 5918 } else { 5919 if(size > 5242880) { 5920 alert('File size exceeds maximum limit 5 MB') 5921 return 5922 } 5923 } 5924 5925 reader.onload = function (e) { 5926 $(".nextBtn").attr("disabled", true) 5927 if(type === 'image/jpeg') { 5928 5929 $('.placeholder-image').hide(); 5930 $('.preview-image').show() 5931 $('.preview-image').attr('src', e.target.result); 5932 5933 } else { 5934 // parentVid.find(".ajax-loader").show(); 5935 $(".steps-card-preview").addClass("loading") 5936 } 5937 } 5938 5939 5940 5941 reader.readAsDataURL(input.files[0]); 5942 } 5943 } 5944 5945 async function readURLPapan(input) { 5946 if (input.files && input.files[0]) { 5947 let reader = new FileReader(); 5948 5949 reader.onload = function (e) { 5950 $('.btn-upload-papan').siblings('label').hide(); 5951 $('.btn-upload-papan img').attr('src', e.target.result); 5952 $('.btn-upload-papan img').show(); 5953 $('.svgLogoPapan').hide(); 5954 } 5955 5956 const type = 'image/jpeg' 5957 const name = `logo-8144957800663-${Date.parse(new Date())}` 5958 5959 let formData = new FormData(); 5960 formData.append("file", input.files[0]); 5961 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5962 method: "POST", 5963 body: formData 5964 }) 5965 const result = await response.json(); 5966 if(result) { 5967 const url = result.url 5968 $("[data-properties=papan-logo]").val(url) 5969 } 5970
5971 reader.readAsDataURL(input.files[0]); 5972 } 5973 } 5974 5975 async function readURLAddress(input) { 5976 console.log(input, 'readURLAddress') 5977 if (input.files && input.files[0]) { 5978 let reader = new FileReader(); 5979 5980 reader.onload = function (e) { 5981 $('.photo-address').attr('src', e.target.result); 5982 $('.photo-address').show(); 5983 } 5984 5985 const type = 'image/jpeg' 5986 const name = input.files[0].name?.split('.')[0] 5987 5988 let formData = new FormData(); 5989 formData.append("file", input.files[0]); 5990 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5991 method: "POST", 5992 body: formData 5993 }) 5994 const result = await response.json(); 5995 5996 reader.readAsDataURL(input.files[0]); 5997 5998 return result 5999 } 6000 } 6001 6002 6003 6004 6005 async function addToCartUang() { 6006 var productAddOnId1 = 42122101162199; 6007 var productAddOnId2 = 42122101194967; 6008 var product_id = 8144957800663 6009 const data = { 6010 items: [ 6011 { 6012 quantity: $("#Quantity-" + productAddOnId1).val(), 6013 id: productAddOnId1, 6014 "properties": { "Time": $("#properties-time").val() } 6015 }, 6016 { 6017 quantity: $("#Quantity-" + productAddOnId2).val(), 6018 id: productAddOnId2, 6019 "properties": { "Time": $("#properties-time").val() } 6020 } 6021 ] 6022 } 6023 await fetch(window.Shopify.routes.root + 'cart/add.js', { 6024 method: 'POST', 6025 headers: { 6026 'Content-Type': 'application/json' 6027 }, 6028 body: JSON.stringify(data) 6029 }) 6030 .then(response => { 6031 console.error('Sukses Buket Uang:', response); 6032 $(".form-flower").submit() 6033 }) 6034 .catch((error) => { 6035 console.error('Error Buket Uang:', error); 6036 $(".form-flower").submit() 6037 }); 6038 } 6039 6040 async function saveCard(){ 6041 let isCard = true 6042 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 6043 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 6044 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 6045 const foto = $("#properties-photo").val() 6046 const video = $("#properties-video").val() 6047 const data = JSON.stringify({ 6048 "id": qrID, 6049 "penerima": $("#properties-nama-penerima").val(), 6050 "kartu_penerima": kartu_penerima, 6051 "kartu_ucapan": kartu_ucapan, 6052 "kartu_pengirim": kartu_pengirim, 6053 "foto": foto, 6054 "video": video, 6055 "productId": "8144957800663", 6056 "order_name": "", 6057 "status": "Cart" 6058 }) 6059 6060 6061 } 6062 6063 async function additem(items){ 6064 try { 6065 let formData = items 6066 if(items?.length) { 6067 formData = { 6068 'items': items 6069 }; 6070 } 6071 6072 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 6073 method: 'POST', 6074 headers: { 6075 'Content-Type': 'application/json', 6076 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 6077 }, 6078 body: JSON.stringify(formData) 6079 }) 6080 6081 const data = await add.json(); 6082 return data 6083 } catch(err){ 6084 console.log('Error additem', err) 6085 } 6086 } 6087 6088 async function addons(){ 6089 let items = [] 6090 $(".addon-item").each(function(){ 6091 const p = $(this) 6092 const props = p.next(".propsAddonSpotify") 6093 const id = $(this).data("id") 6094 const quantity = $(this).data("qty") 6095 const propId = $("#properties-time").val() 6096 let properties = {} 6097 if(id === 46067682607319) { 6098 const link = props.find(".spotifyLinkAddon").text() 6099 const photo = props.find(".spotifyFotoAddon").text() 6100 const song = props.find(".spotifySongAddon").text() 6101 const artist = props.find(".spotifyArtistAddon").text() 6102 properties = { 6103 id: propId, 6104 "Spotify Link": link !== '' ? link : '-', 6105 "Spotify Photo": photo !== '' ? photo : '-', 6106 "Spotify Song": song !== '' ? song : '-', 6107 "Spotify Artist": artist !== '' ? artist : '-', 6108 type: 'addon' 6109 } 6110 } else { 6111 properties = { 6112 "id": propId, 6113 "type": "addon" 6114 } 6115 } 6116 items.push({ 6117 id, 6118 quantity, 6119 properties 6120 }) 6121 }) 6122 return items 6123 } 6124 6125 async function propItems() { 6126 let props = {} 6127 $("[data-properties]").each(function(e){ 6128 let elementType = this.tagName;
6129 const k = $(this).data("properties") 6130 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') { 6131 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6132 if(v !== '') { 6133 props[k] = v?.replace(/[\s\n]/g, ''); 6134 } 6135 } 6136 }) 6137 return props 6138 } 6139 6140 async function showPopupCart(items){ 6141 if(productType !== '') { 6142 console.log("clarity event " + productType + ' completeOrder') 6143 window.clarity("event", `${productType} completeOrder`) 6144 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6145 } 6146 $("#popupCart").show() 6147 6148 $(".propDeliveryCity").text($("#cities").val()) 6149 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6150 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6151 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6152 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6153 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6154 $(".propDeliveryProv").text($("#province").val()) 6155 $(".propDeliveryZip").text($("#zip").val()) 6156 6157 6158 6159 const addons = [] 6160 if(items && items.length > 0) { 6161 for(let i = 1; i < items.length; i++) { 6162 const spotifyLink = items[i].properties['Spotify Link'] 6163 const spotifyPhoto = items[i].properties['Spotify Photo'] 6164 const spotifySong = items[i].properties['Spotify Song'] 6165 const spotifyArtist = items[i].properties['Spotify Artist'] 6166 const price = items[i].price / 100 6167 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6168 <div class="col-12 col-lg-2"></div> 6169 <div class="col-12 col-lg-10"> 6170 <p> 6171 <span>spotify link</span> 6172 <span>${spotifyLink}</span> 6173 </p> 6174 <p> 6175 <span>Upload Photo</span> 6176 <span>${spotifyPhoto}</span> 6177 </p> 6178 <p> 6179 <span>song / playlist name</span> 6180 <span>${spotifySong}</span> 6181 </p> 6182 <p> 6183 <span>artist name</span> 6184 <span>${spotifyArtist}</span> 6185 </p> 6186 </div> 6187 </div>` : ''; 6188 addons.push(`<div class="row m-0"> 6189 <div class="imgAddonCart col-2"> 6190 <img 6191 width="43" 6192 src="${items[i].image}" 6193 alt="" 6194 > 6195 </div> 6196 <div class="imgAddonTitlePrice col-10 align-self-center"> 6197 <div class="row justify-content-between m-0"> 6198 <div class="col-12 col-lg-8"> 6199 <h5>${items[i].title}</h5> 6200 </div> 6201 <div class="col-12 col-lg-4 text-lg-right"> 6202 <span>${rupiah.format(price)}</span> 6203 </div> 6204 </div> 6205 </div> 6206 </div>${props}`) 6207 } 6208 } 6209 // console.log(addons) 6210 if(addons.length === 0) { 6211 $(".itemAddonCart").hide() 6212 return 6213 } 6214 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6215 $(".wrapperItemAddonCart").html(addons) 6216 } 6217 6218 const money = (money) => { 6219 return new Intl.NumberFormat('id-ID', 6220 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6221 ).format(money); 6222 } 6223 6224 async function showNoteMoney() { 6225 let qty50k = $("[data-properties='Uang 50k']").val() 6226 let qty100k = $("[data-properties='Uang 100k']").val() 6227 const total50k = Number(qty50k) * 50000 6228 const total100k = Number(qty100k) * 100000 6229 const total_all = total50k + total100k 6230 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6231 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6232 $(".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://brand.healthcarenewsreports.com/" target="_blank" style="text-decoration: underline;
6232 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6233 } 6234 6235 async function removeImage() { 6236 const data = JSON.stringify({ 6237 "ID": $("#properties-properties-qrId").val(), 6238 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6239 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6240 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6241 "Nama Penerima": $("#properties-nama-penerima").val(), 6242 "Order Number":"", 6243 "Status":"Product", 6244 "Foto": "", 6245 "Media": $("#properties-video").val(), 6246 "Image": "8144957800663" 6247 }) 6248 const remove = updateCard(data) 6249 if(remove) { 6250 $(this).hide() 6251 $("#properties-photo").val("-") 6252 $(".placeholder-image").show() 6253 $(".preview-image").attr("src", "") 6254 } 6255 } 6256 6257 async function removeVideo() { 6258 const data = JSON.stringify({ 6259 "ID": $("#properties-properties-qrId").val(), 6260 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6261 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6262 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6263 "Nama Penerima": $("#properties-nama-penerima").val(), 6264 "Order Number":"", 6265 "Status":"Product", 6266 "Foto": $("#properties-photo").val(), 6267 "Media": "", 6268 "Image": "8144957800663" 6269 }) 6270 const remove = updateCard(data) 6271 if(remove) { 6272 $("#properties-video").val("-") 6273 $(this).find("img").hide() 6274 $(this).hide() 6275 $(this).prev("p").text("Add video to make it more special (optional)") 6276 $("#label-input-video").show() 6277 $("#label-input-video span").text("Upload Video") 6278 $(".case-video-preview p span").remove() 6279 } 6280 } 6281 6282 async function loadItemOccasion(t, occasion) { 6283 const name = occasion?.replace('greeting-card-', '') 6284 $("#kartu-ucapan").val("") 6285 $("[data-occassion]").removeClass("selected") 6286 $("[data-properties=ucapan]").val("") 6287 $("#save-card").attr("disabled", true) 6288 t.addClass("selected") 6289 $("#show_note").attr("data-card-occassion", name) 6290 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6291 const products = data.products 6292 const html = [] 6293 for(let i = 0; i < products.length; i++) { 6294 const id = products[i].id 6295 const variantId = products[i].variants[0].id 6296 const img = products[i].images[0].src 6297 const title = products[i].title 6298 const price = products[i].variants[0].price 6299 const qty = products[i].variants[0].inventory_quantity 6300 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6301 <label for="card-${variantId}"></label> 6302 <div class="card-image"> 6303 <img src="${img}" alt="${title}" width="" height="" /> 6304 </div> 6305 <div class="card-meta text-center"> 6306 <h5>${title}</h5> 6307 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6308 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6309 </div> 6310 </div>` 6311 html.push(body) 6312 } 6313 const withoutCard = `<div class="item-card item-without-card"> 6314 <label for="card-0"></label> 6315 <div class="card-image"> 6316 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6317 </div> 6318 <div class="card-meta text-center"> 6319 <h5>
6319Send without a greeting card</h5> 6320 <input id="card-0" type="radio" name="id" value="" data-price=""> 6321 </div> 6322 </div>` 6323 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6324 }); 6325 } 6326 6327 $(document).ready(function(){ 6328 6329 // Observer to auto-trigger addon loading when addon section becomes visible 6330 const addonObserver = new MutationObserver(function(mutations) { 6331 mutations.forEach(function(mutation) { 6332 const target = $(mutation.target) 6333 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6334 if(!target.hasClass('hide')) { 6335 // Addon section just became visible, ensure items are loaded 6336 setTimeout(function() { 6337 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6338 console.log("Auto-triggering addon load...") 6339 $("[data-addon=upsell-all]").trigger("click") 6340 } 6341 }, 150) 6342 } 6343 } 6344 }) 6345 }) 6346 6347 // Start observing addon section 6348 const addonSection = document.querySelector('.purchaseAddon') 6349 if(addonSection) { 6350 addonObserver.observe(addonSection, { 6351 attributes: true, 6352 attributeFilter: ['class'] 6353 }) 6354 } 6355 6356 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6357 6358 $(this).find("span").addClass("loading") 6359 let isValid = true 6360 $(".formAddressPurchase [required]").each(function(){ 6361 const t = $(this) 6362 const input = t.val() 6363 const p = t.parent() 6364 if(input === '') { 6365 p.addClass("error") 6366 isValid = false 6367 } 6368 }) 6369 6370 if(!isValid) { 6371 $(this).find("span").removeClass("loading") 6372 return 6373 } 6374 6375 let items = [] 6376 const mainProps = { 6377 6378 "Delivery Date": $("#propDeliveryDate").val(), 6379 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6380 "Kota Pengiriman": $("#cities").val(), 6381 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6382 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6383 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6384 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6385 6386 6387 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6388 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6389 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6390 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6391 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6392 6393 6394 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6395 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6396 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6397 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6398 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6399 "type": 'product' 6400 } 6401 const props = await propItems() 6402 properties = {...mainProps, ...props }; 6403 const id = $("#productSelect").find('option:selected').val() 6404 console.log(id, 'main ID') 6405 const mainItem = { 6406 id: Number(id), 6407 quantity: 1, 6408 properties 6409 } 6410 items.push(mainItem) 6411 const cardId = $("#itemCards").find(".selected input").val() 6412 const cardItem = { 6413 id: Number(cardId), 6414 quantity: 1, 6415 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6416 } 6417 console.log(cardId, 'cardId') 6418 if(cardId) { 6419 items.push(cardItem) 6420 } 6421 const addon = await addons() 6422 if(addon) { 6423 for(let i = 0;
6423 i < addon.length; i++){ 6424 items.push({ 6425 id: addon[i].id, 6426 quantity: addon[i].quantity, 6427 properties: addon[i].properties 6428 }) 6429 } 6430 } 6431 const addItems = await additem(items) 6432 console.log(addItems.items, 'add items') 6433 if(addItems) { 6434 $(this).find("span").removeClass("loading") 6435 disablePopup() 6436 showPopupCart(addItems.items) 6437 6438 localStorage.setItem("items", JSON.stringify(addItems.items)) 6439 } 6440 }) 6441 6442 $("#addtocart-cart .btn").click(async function(){ 6443 const id = $("#productSelect").find('option:selected').val() 6444 const mainProps = { 6445 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6446 type: 'product' 6447 } 6448 const props = await propItems() 6449 const properties = { ...mainProps, ...props }; 6450 const items = { 6451 id: Number(id), 6452 quantity: 1, 6453 properties 6454 } 6455 const addItems = await additem(items) 6456 if(addItems) { 6457 showPopupCart(addItems.items) 6458 localStorage.setItem("items", JSON.stringify(addItems)) 6459 } 6460 }) 6461 6462 $(".formAddressPurchase [required]").change(function(){ 6463 const t = $(this) 6464 const p = t.parent() 6465 const v = t.val() 6466 if(v !== '') { 6467 p.removeClass("error") 6468 } 6469 }) 6470 6471 $("#save-card").click(async function(){ 6472 const parent = $(this).parents(".sectionPurchase") 6473 const next = parent.next(".sectionPurchase") 6474 $(this).find("span").addClass("loading") 6475 const card = await saveCard() 6476 console.log(card, 'ssaveCCC') 6477 if(card?.status === 200 || card?.status === 201) { 6478 $(".scanCard").removeClass("hide") 6479 $(this).find("span").removeClass("loading") 6480 parent.addClass("hide") 6481 next.removeClass("hide") 6482 if(next.hasClass("purchaseAddon")) { 6483 $("[data-addon=upsell-all]").click() 6484 console.log("clarity event addons") 6485 window.clarity("event", `${productType} add-ons`) 6486 // Ensure addon items are loaded when entering addon popup 6487 setTimeout(function() { 6488 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6489 $("[data-addon=upsell-all]").trigger("click") 6490 } 6491 }, 100) 6492 } 6493 if(next.hasClass("purchaseAddress")) { 6494 $("#zip").select2() 6495 } 6496 } 6497 }) 6498 6499 $("#skip-card").click(async function(){ 6500 $("#greetingCard [data-properties]").val("") 6501 $("#properties-photo").val("") 6502 $("#properties-video").val("") 6503 const parent = $(this).parents(".sectionPurchase") 6504 const next = parent.next(".sectionPurchase") 6505 parent.addClass("hide") 6506 next.removeClass("hide") 6507 // $("#itemCards").html("") 6508 removeImage() 6509 removeVideo() 6510 if(next.hasClass("purchaseAddon")) { 6511 $("[data-addon='upsell-all']").click() 6512 console.log("clarity event addons") 6513 window.clarity("event", `${productType} add-ons`) 6514 // Ensure addon items are loaded when entering addon popup 6515 setTimeout(function() { 6516 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6517 $("[data-addon='upsell-all']").trigger("click") 6518 } 6519 }, 100) 6520 } 6521 if(next.hasClass("purchaseAddress")) { 6522 $("#zip").select2() 6523 } 6524 }) 6525 6526 $("#msgCard").click(async function(){ 6527 $(this).parent().addClass("loading") 6528 let occasion = $(".selected[data-occassion]").data("occassion") 6529 occasion = occasion?.replace("greeting-card-", "") 6530 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6531 const d = data?.data 6532 for(let i = 0; i < d.length; i++) { 6533 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6534 const greeting = d[num]?.Greeting 6535 $(".greetingCard textarea").val(greeting) 6536 $(this).parent().removeClass("loading") 6537 } 6538 $("#save-card").attr("disabled", false) 6539 }) 6540 6541 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6542 const parent = $(this).parents(".sectionPurchase") 6543 const next = parent.next(".sectionPurchase") 6544 parent.addClass("hide") 6545 next.removeClass("hide") 6546 }) 6547 6548 $("#editCard").click(function(){ 6549 $(".custom-card").show() 6550 $(".preview-card").hide() 6551 }) 6552 6553 $("#first_name, #last_name").change(function(){ 6554 const v = $(this).val() 6555 const first_name = $("#first_name").val() 6556 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6557 $("[data-properties=nama-penerima]").val(first_name+last_name) 6558 }) 6559 6560 $("[data-occassion]").click(function(){ 6561 const t = $(this) 6562 const p = t.parents(".sectionPurchase") 6563 // $(".greetingCard").addClass("disabled") 6564 const occasion = t.data("occassion") 6565 loadItemOccasion(t, occasion) 6566 }) 6567 6568 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6569 const id = $(this).parent(".item-card").data("id") 6570 const t = $(this).parent(".item-card") 6571 const target = t.find("input") 6572 const v = $('.item-card input[type="radio"]:checked').val(); 6573 $("#itemCards .item-card").removeClass("selected") 6574 t.addClass("selected") 6575 $("#itemCards .item-card").find("input").attr("name", "") 6576 if(target.length > 0) { 6577 target.attr("name", "id[]") 6578 $("#properties-card").val(id) 6579 $(".greetingCard").removeClass("disabled") 6580 $("#skip-card").attr("disabled", false) 6581 } else { 6582 $("#properties-card").val("") 6583 } 6584 }) 6585 6586 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6587 const parent = $(this).parents(".sectionPurchase") 6588 const next = parent.next(".sectionPurchase") 6589 $(".greetingCard").addClass("disabled") 6590 parent.addClass("hide") 6591 next.removeClass("hide") 6592 $("[data-addon=upsell-all]").click() 6593 $("#zip").select2() 6594 }) 6595 6596 $("[data-properties=ucapan]").keyup(function(){ 6597 const v = $(this).val() 6598 const p = $(this).parents(".sectionPurchase") 6599 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6600 if(v.length > 3) { 6601 p.find(".next-purchase-button").attr("disabled", false) 6602 } else { 6603 p.find(".next-purchase-button").attr("disabled", true) 6604 } 6605 }) 6606 6607 $("[data-properties=penerima]").keyup(function(){ 6608 const v = $(this).val() 6609 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6610 }) 6611 6612 $("[data-properties=pengirim]").keyup(function(){ 6613 const v = $(this).val() 6614 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6615 }) 6616 6617 $(document).click(function(e){ 6618 6619 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6620 // $('#popupCart').fadeOut('slow'); 6621 // location.reload() 6622 }); 6623 6624 $(".toggleAddonCart").click(function(){ 6625 const p = $(this).parent(".itemAddonCart") 6626 p.toggleClass("open") 6627 }) 6628 6629 $(".btnViewCart").click(function(){ 6630 window.location.href = "https://outerbloom.com/cart"; 6631 }) 6632 6633 $(".btnViewCheckout").click(async function(){ 6634 $(this).find("span").addClass("loading") 6635 let zip = $("#zip").val() 6636 const first_name = $("#first_name").val() 6637 const last_name = $("#last_name").val() 6638 const company = $("#company").val() !== '' ? $("#company").val() : '' 6639 const address1 = $("#delivery_address").val() 6640 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6641 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6642 const phone = $("#recipient_number").val() 6643 const city = $("#cities").val() 6644 const province = $("#province").val() 6645 const country = 'Indonesia' 6646 const ver = Date.parse(new Date()) 6647 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}` 6648 6649 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6650 if(clear.status === 200) { 6651 const savedItem = window.localStorage.getItem("items"); 6652 const items = JSON.parse(savedItem) 6653 const addItems = await additem(items) 6654 console.log(addItems, 'new addItems') 6655 if(addItems) { 6656 window.location.href = `https://outerbloom.com/checkout?${params}`; 6657 } 6658 } 6659 }) 6660 6661 $(".btnContinueShopping").click(function(){ 6662 window.location.href = "https://outerbloom.com/"; 6663 }) 6664 6665 if (isIOS) { 6666 $(".empty-state-card").click(function(){ 6667 $("#input-foto").trigger("click") 6668 }) 6669 $(".btn-upload-image").click(function(){ 6670 $("#input-foto").trigger("click") 6671 }) 6672 $("[for=input-video]").click(function(){ 6673 $("#input-video").trigger("click") 6674 }) 6675 $(".btn-upload-papan").click(function(){ 6676 $("#logoPapan").trigger("click") 6677 }) 6678 } 6679 6680 $("[data-properties]").each(function(){ 6681 const select = $(this).parents(".form-group").find("select") 6682 $(this).change(function(){ 6683 const name = $(this).data("properties") 6684 const v = $(this).val() 6685 if (name == 'telepon-penerima') { 6686 let phone = v.replace(/[^0-9]/g, '') 6687 $(this).val(phone); 6688 $("#properties-telepon-penerima").val(phone) 6689 $('.iti__search-input').val('-') 6690 } else { 6691 $("#properties-" + name).val(v) 6692 } 6693 }) 6694 select.on("change", function(){ 6695 const name = $(this).data("properties") 6696 const v = $(this).val() 6697 $("#properties-" + name).val(v) 6698 }) 6699 }) 6700 6701 $("#show_note").click(function(){ 6702 nameq = $("#properties-nama-penerima").val() 6703 dear = $("#properties-kartu-nama-penerima").val() 6704 card = $("[data-properties=ucapan]").val() 6705 sender = $("#properties-kartu-nama-pengirim").val() 6706 photo = $("#properties-photo").val() 6707 video = $("#properties-video").val() 6708 updateCard(nameq, dear, card, sender, photo, video, status) 6709 }) 6710 6711 $(".remove-image").click(function(e){ 6712 e.preventDefault() 6713 $(this).find("img").show() 6714 removeImage() 6715 }) 6716 6717 $(".remove-media").click(function(e){ 6718 e.preventDefault() 6719 $(this).find("img").show() 6720 removeVideo() 6721 }) 6722 6723 6724 6725 $("[data-delivery_method]").click(function(e){ 6726 e.preventDefault() 6727 const t = $(this) 6728 const data = t.data("delivery_method") 6729 $("[data-delivery_method]").removeClass("selected") 6730 t.addClass("selected") 6731 $("#cities").val("") 6732 $("#properties-delivery-date").val("-") 6733 $("#deliveryDate button").removeClass("selected") 6734 $("#full-date").val("Full Calendar â") 6735 $("#propDeliveryDate").val("") 6736 const step3 = $("#step-3") 6737 if(data.match('PickUp')) { 6738 $(".selfpickup-point").show() 6739 step3.find("[data-finished=false]").hide() 6740 $("#panel-4").hide() 6741 step3.find("[data-finished=true]").show() 6742 $("#cities").attr("required", false) 6743 $("#form-group-city").hide() 6744 $("#row-delivery-time").hide() 6745 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6746 $("#propDeliveryTime").attr("required", false) 6747 // $("#deliveryDate").find("button:first-child").addClass("stop") 6748 $(".form-selfpickup").show() 6749 $(".form-delivery").hide() 6750 $(".form-delivery").find("input, textarea, select").val("") 6751 $(".form-delivery").find("input, textarea, select").attr("required", false) 6752 $("#properties-shipping").val("0") 6753 $("#noteDeliveryDate").hide() 6754 $(".form-delivery .form-control").attr("required", false) 6755 $("#stepNav4").hide() 6756 6757 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6758 6759 6760 6761 if(timeOfDay >= 16.01){ 6762 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6763 } 6764 } else { 6765 6766 6767 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6768 step3.find("[data-finished=false]").show() 6769 $("#panel-4").show() 6770 step3.find("[data-finished=true]").hide() 6771 $("#cities").attr("required", true) 6772 $(".selfpickup-point").hide() 6773 $("#form-group-city").show() 6774 $("#cities").val('').trigger('change'); 6775 $("#properties-kota-pengiriman").val("-") 6776 6777 $("#row-delivery-date, #row-delivery-time").show() 6778 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6779 $("#deliveryDate").find("button").removeClass("stop") 6780 $(".form-selfpickup").hide() 6781 $(".form-delivery").show() 6782 $(".form-delivery").find("input, textarea, select").attr("required", true)
6783 $(".form-delivery [data-properties]").attr("readonly", false) 6784 $("#properties-kodepos").val("-") 6785 $("#properties-alamat-penerima").val("-") 6786 $(".form-delivery .form-control").attr("required", true) 6787 $(this).parents(".setup-content").attr("id", "step-1") 6788 6789 $("#stepNav4").show() 6790 } 6791 }) 6792 6793 $("[name=selfpickup]").click(function(){ 6794 const p = $(this).parents(".row-pickup") 6795 const pickupCity = $("input[name='selfpickup']:checked").val(); 6796 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6797 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6798 6799 $(".row-pickup").removeClass("selected") 6800 p.addClass("selected") 6801 6802 $("#properties-kota-pengiriman").val(pickupCity) 6803 $("#province").val("Jakarta") 6804 $("#properties-alamat-penerima").val(pickupAddress) 6805 $("#properties-kodepos").val(pickupZip) 6806 }) 6807 6808 $("#cities").change(function(e){ 6809 e.preventDefault() 6810 $(this).parent(".row").find("p.error").remove() 6811 $("#full-date").val("Full Calendar") 6812 $("#deliveryDate, #deliveryDateFull label ").show() 6813 $("#deliveryDateFull").removeClass("filled") 6814 $(".btnChangeDeliveryDate").addClass("hide") 6815 $("#full-date").prop('disabled', false); 6816 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6817 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6818 const step3 = $("#step-3") 6819 $("#cityNote").remove() 6820 $("#noteDeliveryDate").hide() 6821 $("#noteDeliveryDate").empty() 6822 let v = $(this).val() 6823 let v2 = $('option:selected', this).attr('data-city'); 6824 let v3 = $('option:selected', this).attr('data-province'); 6825 let price = $('option:selected', this).attr('data-price'); 6826 $("#country").val(v) 6827 $("#properties-kota-pengiriman").val(v) 6828 $("#properties-shipping").val(price) 6829 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6830 $("#properties-delivery-date, #properties-delivery-time").val("-") 6831 $("#propDeliveryDate, #propDeliveryTime").val("") 6832 let note = $('option:selected', this).attr('data-note'); 6833 if(v === 'Kota Lainnya') { 6834 $("#noteDeliveryDate").show() 6835 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6836 $("#zip").attr("required", false) 6837 $("#zip").hide() 6838 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6839 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6840 $("#row-delivery-date, #row-delivery-time").hide() 6841 $("#properties-shipping").val("") 6842 // $(this).parents(".setup-content").attr("id", "step-2") 6843 6844 } else { 6845 $("#noteDeliveryDate").hide() 6846 $("#zip").attr("required", true) 6847 $("#zip").show() 6848 $("#row-delivery-date, #row-delivery-time").show() 6849 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6850 $("#deliveryDate").find("button").removeClass("stop") 6851 // $(this).parents(".setup-content").attr("id", "step-1") 6852 6853 } 6854 6855 6856 6857 // if(v !== 'Jakarta') { 6858 // $("[data-type=upsell]").hide() 6859 // } else { 6860 // $("[data-type=upsell]").show() 6861 // } 6862 // $('.collection-addons')[0].swiper.update(); 6863 6864 6865 getProvince(v) 6866 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6867 renderZip(v, v2, v3) 6868 6869 disabledSameDay() 6870 6871 6872 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6873 6874 $("#cardOccasion, #navAddon, .collection-addons").hide() 6875 6876 $("[data-addon=giftcard]").show() 6877 $("[data-addon=giftcard]").click() 6878 $("#itemAddons").show() 6879 $("#flower-step").addClass("nonjadetabek") 6880 } else { 6881 $("#cardOccasion, #navAddon, .collection-addons").show() 6882 $("[data-addon=all]").click() 6883 $("#flower-step").removeClass("nonjadetabek") 6884 } 6885 6886 if(v !== '') { 6887 $("#personalizeBtn .btn").attr("disabled", false) 6888 } else { 6889 $("#personalizeBtn .btn").attr("disabled", true) 6890 } 6891 6892 }) 6893 6894 $("#zip").change(function(e){ 6895 let v = $(this).val() 6896 var city = $("#cities").find('option:selected'); 6897 $("#properties-kodepos").val(v) 6898 if(city === 'Kota Lainnya') { 6899 $(this).attr("required", true) 6900 $("#recipient-address").val("") 6901 } 6902 }) 6903 6904 6905 var minDate = +7 6906 6907 6908 6909 $("#full-date").datepicker({ 6910 minDate, 6911 dateFormat: 'Mdd_yy', //Nop22_2021, 6912 6913 beforeShowDay: disabledays, 6914 6915 onSelect: function (date) { 6916 $("#deliveryDate, #deliveryDateFull label ").hide() 6917 $("#deliveryDateFull").addClass("filled") 6918 $(".btnChangeDeliveryDate").removeClass("hide") 6919 $("#full-date").prop('disabled', true); 6920 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6921 $(".date-full").addClass("selected") 6922 $(".date-single, .calendar-group").removeClass("selected") 6923 $("#propDeliveryTime").val('') 6924 $("#properties-delivery-time").val('-') 6925 $(".time-single").removeClass("selected") 6926 6927 6928 } 6929 }); 6930 6931 $(".btnChangeDeliveryDate").click(function(){ 6932 $("#deliveryDate, #deliveryDateFull label ").show() 6933 $("#deliveryDateFull").removeClass("filled") 6934 $(".btnChangeDeliveryDate").addClass("hide") 6935 $("#full-date").prop('disabled', false); 6936 }) 6937 6938 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6939 e.preventDefault() 6940 $(this).parents("#row-delivery-date").find("p.error").remove() 6941 const fulldate = $(this).data("fulldate") 6942 const day = $(this).data("day") 6943 const date = $(this).data("date")
6944 const month = $(this).data("month") 6945 const year = $(this).data("year") 6946 const off_pagi = $(this).data("offpagi") 6947 const off_siang = $(this).data("offsiang") 6948 const off_Malam = $(this).data("offMalam") 6949 $(".calendarbutton").removeClass("selected") 6950 $(this).addClass("selected") 6951 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6952 $("#propDeliveryTime").val('') 6953 $("#properties-delivery-time").val('-') 6954 $(".calendarbutton2").removeClass("selected") 6955 $("#full-date").val("Full Calendar") 6956 6957 6958 if(off_pagi && timeOfDay > off_pagi) { 6959 $("[data-time=Morning]").attr("disabled", true) 6960 } else { 6961 $("[data-time=Morning]").attr("disabled", false) 6962 } 6963 if(off_siang && timeOfDay > off_siang) { 6964 $("[data-time=Afternoon]").attr("disabled", true) 6965 } else { 6966 $("[data-time=Afternoon]").attr("disabled", false) 6967 } 6968 6969 6970 6971 }) 6972 6973 if(today === 14 && timeOfDay > 17.00) { 6974 $("#deliveryDate button:first-child").attr("disabled", true) 6975 } 6976 6977 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6978 e.preventDefault() 6979 const time = $(this).data("time") 6980 const date = $("#propDeliveryDate").val() 6981 if(date == '') { 6982 return alert('Silakan pilih tanggal terlebih dahulu') 6983 } 6984 $(".calendarbutton2").removeClass("selected") 6985 $(this).addClass("selected") 6986 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 6987 }) 6988 6989 $('textarea.has-limit, input.has-limit').keyup(function () { 6990 max = this.getAttribute("maxlength"); 6991 let len = $(this).val().length; 6992 let limit = $(this).siblings(".limit"); 6993 if (len > max) { 6994 alert('you have reached the limit'); 6995 } else { 6996 limit.text(`${len}/${max}`); 6997 } 6998 }); 6999 7000 $("#button-action-step .btn").click(function(){ 7001 $(this).find("span").text("Processing..."); 7002 }); 7003 7004 $(".finishBtn").on('click', function() { 7005 $(this).addClass("is-adding"); 7006 // $(this).click(); 7007 }); 7008 7009 $('.setup-panel .nav-item a.btn-success').trigger('click'); 7010 7011 $("#button-action .btn").click(function(){ 7012 $("#flower-step").addClass("block"); 7013 $("#button-action").hide(); 7014 }); 7015 7016 $(".close-how-order").click(function(){ 7017 $("#flower-step").removeClass("block"); 7018 $("#button-action").show(); 7019 }); 7020 7021 $("#input-foto, #input-video").change(function(e){ 7022 readURL(this); 7023 }); 7024 7025 $("#logoPapan").change(function(){ 7026 readURLPapan(this); 7027 }); 7028 7029 $("#address-upload").change(async function(){ 7030 const upload_address = await readURLAddress(this) 7031 if(upload_address) { 7032 const url = upload_address.url 7033 $(".props-address-upload").val(url) 7034 $(".form-address").addClass("address-uploaded") 7035 $(".form-address-upload").addClass("uploaded") 7036 7037 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 7038 } 7039 }) 7040 7041 $(".address-manualy").click(function(){ 7042 $(".form-address-upload").removeClass("uploaded"); 7043 $(".photo-address").hide(); 7044 $(".form-address").removeClass("address-uploaded") 7045 $("#formAddressPurchase").find(".form-control").attr("required", true) 7046 }); 7047 7048 $(".case-video-preview").delegate(".replace-video", "click", function(){ 7049 $("#input-video").trigger("click") 7050 }) 7051 7052 $('.date-single').click(function(e) { 7053 e.preventDefault(); 7054 $('.date-single').removeClass('selected'); 7055 $('#full-date').removeClass('selected'); 7056 $(this).addClass('selected'); 7057 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 7058 }); 7059 $('#full-date').click(function(e){ 7060 e.preventDefault(); 7061 $('.date-single').removeClass('selected'); 7062 $(this).addClass('selected'); 7063 }); 7064 7065 // $("tr").each(function(){ 7066 // if($(this).text().match('SKU')) { 7067 // $(".sku-product").html($(this).parents("table").html()) 7068 // } 7069 // }) 7070 7071 $("#product-image").scroll(function(){ 7072 $(".desc-add").each(function(){ 7073 const img = $(this).find("img") 7074 const src = img.data("src") 7075 img.attr("src", src) 7076 }) 7077 }) 7078 7079 $(".product-fixed").hide() 7080 7081 let target = $("#personalizeBtn") 7082 7083 7084 $(".product-meta").scroll(function() { 7085 if ($(window).scrollTop() >= target.offset().top ) { 7086 $(".product-fixed").addClass("show") 7087 } else { 7088 $(".product-fixed").removeClass("show") 7089 } 7090 }); 7091 7092 $(window).scroll(function() { 7093 if ($(window).scrollTop() >= target.offset().top ) { 7094 $(".product-fixed").addClass("show") 7095 } else { 7096 $(".product-fixed").removeClass("show") 7097 } 7098 }); 7099 }); 7100 </script>
7100 7101 7102
7102<script> 7103 // 7104 </script>
7104 7105 7106
7106<script> 7107 $(document).ready(function(){ 7108 $('table tr td').each(function(){ 7109 var texto = $(this).text(); 7110 var nextto = $(this).next("td"); 7111 var sku = $("#data-sku").val() 7112 if(texto == 'SKU'){ 7113 nextto.text(sku) 7114 } 7115 }); 7116 7117 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 7118 $(".stamped-summary-actions-newreview").text("Tulis Review"); 7119 $("#tab-questions").text("Pertanyaan"); 7120 7121 $(".freeship .icon").click(function(){ 7122 $(".fs-content").slideToggle(); 7123 $(this).parents(".freeship").toggleClass("expand"); 7124 }); 7125 7126 var $easyzoom = $('.easyzoom').easyZoom(); 7127 // Setup thumbnails example 7128 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 7129 $('.thumbnails').on('click', 'a', function(e) { 7130 var $this = $(this); 7131 e.preventDefault(); 7132 // Use EasyZoom's `swap` method 7133 api1.swap($this.data('standard'), $this.attr('href')); 7134 }); 7135 7136 $('#playerID').click(function(){ 7137 var videoURL = $('#VdoID').attr('src'), 7138 dataplay = $('#VdoID').attr('data-play'); 7139 7140 //for check autoplay 7141 //if not set autoplay=1 7142 if(dataplay == 0 ){ 7143 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7144 $('#VdoID').attr('data-play',1); 7145 } 7146 else{ 7147 var videoURL = $('#VdoID').attr('src'); 7148 videoURL = videoURL.replace("?autoplay=1", ""); 7149 $('#VdoID').prop('src',''); 7150 $('#VdoID').prop('src',videoURL); 7151 7152 $('#VdoID').attr('data-play',0); 7153 } 7154 7155 }); 7156 7157 $(".product-photo-thumb-video").click(function(e){ 7158 e.preventDefault(); 7159 7160 var newEmbed = $(this).attr('href'); 7161 $("#featured-image-product").addClass("img-video"); 7162 $("#ProductPhotoImg").hide(); 7163 $("#featured-image-product .video").show(); 7164 $("#featured-image-product iframe").attr('src', newEmbed); 7165 $("#VdoID")[0].src += "&autoplay=1"; 7166 }); 7167 $(".product-single__thumbnail").click(function(evt){ 7168 evt.preventDefault(); 7169 $("#featured-image-product").removeClass("img-video"); 7170 $("#ProductPhotoImg").show(); 7171 $("#featured-image-product .video").hide(); 7172 $("#featured-image-product iframe").attr('src', ''); 7173 }); 7174 7175 if($('#product-meta .short-desc > div').length >= 1){ 7176 //console.log('div detected') 7177 var replacer = $('#product-meta .short-desc > div').contents(); 7178 $('#product-meta .short-desc > div').replaceWith(replacer); 7179 7180 var cAssured = $('.c-assured').detach(); 7181 cAssured.insertAfter('.meta-sds .stock-info'); 7182 } 7183 7184 7185 7186 $(".heading-toggle").click(function(){ 7187 $(this).parent().toggleClass("open") 7188 7189 }); 7190 }); 7191 </script>
7191 7192 7193 7194
7194<script type="application/json" id="ProductJson-Product"> 7195 7196 {"id":8144957800663,"title":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar."} 7197 </script>
7197 7198 7199
7199<script type="application/json" id="VariantJson-Product"> 7200 [ 7201 7202 { 7203 "incoming": false, 7204 "next_incoming_date": null 7205 } 7206 7207 ] 7208 </script>
7208 7209 7210 7211 7212 7213 </div> 7214 7215 7216
7216<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7216 7217 <style> 7218 .stamped-review-header-title, 7219 .stamped-review-header .author, 7220 .stamped-review-content-body, 7221 .stamped-sort-select, 7222 .stamped-review-header .verified-badge[data-type=buyer]:after, 7223 .stamped-review-header-byline, 7224 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7225 .stamped-review {margin-bottom: 0;} 7226 .stamped-review-body {padding-left: 65px;} 7227 .stamped-review:first-child {padding-top: 25px;} 7228 .stamped-review-content {clear: none;} 7229 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7230 .stamped-review-reply-body {padding-left: 65px;} 7231 .stamped-review-header .author {text-transform: capitalize;} 7232 .stamped-questions .stamped-review-content {padding-left: 65px;} 7233 7234 .stamped-pagination {margin: 20px 0 0;} 7235 .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;} 7236 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7237 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7238 .stamped-pagination li:hover a {background: #ddd;} 7239 .stamped-pagination .next {border-right: 1px solid #ccc;} 7240 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7241 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7242 7243 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7244 #stamped-pagination-question span {font-size: 14px;} 7245 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7246 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7247 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7248 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7249 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7250 7251 @media (max-width: 480px){ 7252 .stamped-review-reply {margin-left: 0!important;} 7253 select.stamped-sort-select {font-size: 13px!important;} 7254 } 7255 7256 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7257 display: block !important; 7258 } 7259 </style> 7260
7260<script> 7261 var selectCallback = function(variant, selector) { 7262 timber.productPage({ 7263 money_format: "Rp {{amount_no_decimals}}", 7264 variant: variant, 7265 selector: selector 7266 }); 7267 }; 7268 7269 jQuery(function($) { 7270 new Shopify.OptionSelectors('productSelect', { 7271 product: 7272 7273 7274 7275 7276 7277 {"id":8144957800663,"title":"ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar."}, 7278 onVariantSelected: selectCallback, 7279 enableHistoryState: true 7280 }); 7281 7282 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7283 7284 7285 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7286 7287 $('.selector-wrapper').hide(); 7288 7289 }); 7290 </script>
7290 7291 7292 7293 7294
7294<script type="application/ld+json"> 7295 { 7296 "@context": "http://schema.org", 7297 "@type": "Product", 7298 "offers": { 7299 "@type": "Offer", 7300 "availability":"https://schema.org/InStock", 7301 "price": 835000, 7302 "priceValidUntil": "2027-11-25", 7303 "priceCurrency": "IDR", 7304 "url": "https://healthcarenewsreports.com/" 7305 }, 7306 "brand": { 7307 "@type": "Brand", 7308 "name": "Outerbloom Florist" 7309 }, 7310 "sku": "8144957800663", 7311 "gtin13": "Jawa", 7312 "name": "ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ", 7313 "description": "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.", 7314 "category": "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.", 7315 "url": "https://healthcarenewsreports.com/", 7316 "image": { 7317 "@type": "ImageObject", 7318 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7319 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7320 "name": "ORISTOTO - Link Situs Toto Slot Gacor Resmi Login Toto Togel 4D Terpercaya 2027 ", 7321 "width": 1024, 7322 "height": 1024 7323 } 7324 } 7325 </script>
7325 7326 7327 7328 7329 7330 7331
7331<script id="bss-ltap-hide-price" type="text/javascript" > 7332 !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)}))}
7332)),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)}
7332)),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()}
7332if("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)}
7332if(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");
7332c&&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
7332-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");
7332i&&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
7332--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
7332opify.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");
7332e.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=
7332o.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");
7332if(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();
7332let 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()}]); 7333 </script>
7333 7334 7335 </main> 7336 7337 <div id="shopify-section-newsletter" class="shopify-section"><br> 7338 <style> 7339 #shopify-section-newsletter { 7340 background: url(https://imgstore989.me/f/ot-bg-web); 7341 background-attachment: fixed; 7342 margin-bottom: 0; 7343 } 7344 input:-webkit-autofill, 7345 input:-webkit-autofill:hover, 7346 input:-webkit-autofill:active, 7347 input:-webkit-autofill:focus { 7348 -webkit-box-shadow:0 0 0 50px white inset; 7349 -webkit-text-fill-color: #ffffff; 7350 } 7351 .section-newsletter { 7352 max-width: 800px; 7353 margin: auto; 7354 padding: 50px 0; 7355 } 7356 .section-newsletter h2 { 7357 font-weight: 700; 7358 font-size: 24px; 7359 } 7360 .section-newsletter input[type="email"] { 7361 width: 100%; 7362 text-align: center; 7363 border: none; 7364 border-bottom: 1px solid #ffffff; 7365 font-size: 16px; 7366 color: #757575; 7367 background-color: #eeeeee; 7368 } 7369 .section-newsletter .row label { 7370 font-size: 14px; 7371 cursor: pointer; 7372 } 7373 .section-newsletter .radio-inline input { 7374 width: auto; 7375 } 7376 .section-newsletter .btn { 7377 width: 130px; 7378 border: 1px solid #ffffff; 7379 box-shadow: none; 7380 font-size: 16px; 7381 font-weight: 500; 7382 text-transform: uppercase; 7383 } 7384 .section-newsletter form { 7385 margin: 30px 0 60px; 7386 } 7387 .section-newsletter input[type="radio"] { 7388 position: absolute; 7389 width: 1px; 7390 height: 1px; 7391 } 7392 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7393 position: relative; 7394 padding-left: 28px; 7395 cursor: pointer; 7396 line-height: 20px; 7397 display: inline-block; 7398 color: #666; 7399 } 7400 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7401 content: ''; 7402 position: absolute; 7403 left: 0; 7404 top: 0; 7405 width: 18px; 7406 height: 18px; 7407 border: 1px solid #ddd; 7408 border-radius: 100%; 7409 background: #fff; 7410 } 7411 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7412 content: ''; 7413 width: 12px; 7414 height: 12px; 7415 background: #ffffff; 7416 position: absolute; 7417 top: 3px; 7418 left: 3px; 7419 border-radius: 100%; 7420 -webkit-transition: all 0.2s ease; 7421 transition: all 0.2s ease; 7422 } 7423 .section-newsletter [type="radio"]:not(:checked) + label:after { 7424 opacity: 0; 7425 -webkit-transform: scale(0); 7426 transform: scale(0); 7427 } 7428 .opt-newsletter {display:none;} 7429 .footer-newsletter p, .footer-newsletter p a { 7430 color: #757575; 7431 } 7432 @media (max-width:991px){ 7433 .section-newsletter h2 { 7434 font-size: 32px; 7435 } 7436 .section-newsletter input { 7437 width: 300px; 7438 font-size: 14px; 7439 } 7440 .section-newsletter { 7441 padding: 50px 20px; 7442 } 7443 } 7444 @media (max-width: 480px){ 7445 .section-newsletter input[type="email"] {font-size: 16px;} 7446 } 7447 </style> 7448 <style> 7449 .icon-img-footer { 7450 width: 80px; 7451 padding: 0px 5px; 7452 } 7453 @media (min-width: 768px) { 7454 .icon-img-footer { 7455 width: 120px; 7456 } 7457 } 7458 @media (min-width: 992px) { 7459 .icon-img-footer { 7460 width: 120px; 7461 } 7462 } 7463 7464 .button-login-daftar { 7465 display: grid; 7466 grid-template-columns: repeat(2, 1fr); 7467 font-weight: 700; 7468 } 7469 .button-login-daftar a { 7470 text-align: center; 7471 } 7472 .login, 7473 .register { 7474 color: #000000; 7475 padding: 15px 10px; 7476 font-size: 23px; 7477 } 7478 .login, 7479 .login-button { 7480 background: linear-gradient(to bottom, #e20505 0%, #b90000 50%, #e20505 100%); 7481 border: 2px solid #000000; 7482 } 7483 .register, 7484 .register-button { 7485 background: linear-gradient(to bottom, #e20505 0%, #b90000 50%, #e20505 100%); 7486 border: 2px solid #000000; 7487 } 7488 </style> 7489 7490 <!-- wp:html --> 7491
7491<script> 7492 document.addEventListener('DOMContentLoaded', 7493 function(){const faqItems=document.querySelectorAll('.faq-item'); 7494 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7495 question.addEventListener('click', 7496 ()=>{const isActive=item.classList.contains('active'); 7497 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7498 if(!isActive){item.classList.add('active')}})})}); 7499 </script>
7499 7500 7501 7502 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7503 </div> 7504 <div class="faq-section"> 7505 <h2>FAQ TENTANG ORISTOTO</h2> 7506 <div class="faq-container"> 7507 7508 <div class="faq-item"> 7509 <button class="faq-question"> 7510 Apa Keunggulan Bermain di Situs ORISTOTO ? 7511 <span></span> 7512 </button> 7513 <div class="faq-answer"> 7514 <p> 7515 Keunggulan jika anda bermain di ORISTOTO adalah tampilannya yang ringan dan user friendly, akses login yang mudah, koneksi jaringan situs yang stabil, bonus melimpah dan pastinya situs toto slot gacor paling terpercaya. 7516 </p> 7517 </div> 7518 </div> 7519 7520 <div class="faq-item"> 7521 <button class="faq-question"> 7522 Mengapa Banyak Pemain Memilih Daftar di ORISTOTO ? 7523 <span></span> 7524 </button> 7525 <div class="faq-answer"> 7526 <p> 7527 Karena ORISTOTO sudah terbukti sangat terpercaya dan aman digunakan, dengan sertifikat dan lisensi resmi dari pusat judi online dunia, serta cara pendaftarannya yang mudah tidak ribet. 7528 </p> 7529 </div> 7530 </div> 7531 7532 <div class="faq-item"> 7533 <button class="faq-question"> 7534 Apakah Proses Transaksi di ORISTOTO Aman ? 7535 <span></span> 7536 </button> 7537 <div class="faq-answer"> 7538 <p> 7539 Ya, pastinya sangat aman, ORISTOTO mengedepankan transparansi dalam proses transaksi, sehingga para pemain tidak perlu khawatir akan kemenangan tidak dibayar, user id diblokir dan lain sebagainya seperti situs lain. 7540 </p> 7541 </div> 7542 </div> 7543 7544 <div class="faq-item"> 7545 <button class="faq-question"> 7546 Pasaran Toto Togel 4D Apasaja Yang Tersedia di ORISTOTO ? 7547 <span></span> 7548 </button> 7549 <div class="faq-answer"> 7550 <p> 7551 ORISTOTO memberikan Pasaran toto togel 4d terlengkap dan resmi, dimulai dari yang populer seperti togel hongkong, togel sydney, togel sgp, togel macau, ada juga pasaran WLA, Lokal, Asia-lottery dan Euro-lottery, semua bisa anda mainkan dengan bettingan 100 perak saja. 7552 </p> 7553 </div> 7554 </div> 7555 7556 <div class="faq-item"> 7557 <button class="faq-question"> 7558 Apakah Toto Slot Gacor ORISTOTO Terpercaya ? 7559 <span></span> 7560 </button> 7561 <div class="faq-answer"> 7562 <p> 7563 Toto slot gacor di ORISTOTO pastinya sudah sangat terpercaya, dengan pengguna terbanyak saat ini dan menduduki peringkat #1 di Indonesia, sehingga sangat aman untuk dijadikan tempat bermain online anda. 7564 </p> 7565 </div> 7566 </div> 7567</div> 7568 7569 </div> 7570 7571 </div> 7572 7573 7574 <div class="overlay overlay-cart"></div> 7575 <div id="CartDrawer" class="drawer drawer--right"> 7576 <div class="drawer__header pl-2 pr-2"> 7577 <div class="drawer__icon-cart display-table-cell"> 7578 <a href="/cart" class=""> 7579 <svg class="icon icon-cart" version="1.1" xmlns="https://banner989.me/PCOQ3t" 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.
7579005-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> 7580 </a> 7581 </div> 7582 <div class="drawer__title h4">Keranjang Belanja</div> 7583 <div class="drawer__close js-drawer-close"> 7584 <button type="button"> 7585 <svg class="icon icon-close" version="1.1" xmlns="https://banner989.me/PCOQ3t" width="32" height="32" viewBox="0 0 32 32"> 7586 <title>icon-close</title> 7587 <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> 7588 </svg> 7589 </button> 7590 </div> 7591 </div> 7592 <div id="CartContainer" class="p-2"></div> 7593 </div> 7594 7595
7595<script> 7596 7597 </script>
7597 7598
7598<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7598 7599 <!-- /snippets/ajax-cart-template.liquid --> 7600 7601
7601<script id="CartTemplate" type="text/template"> 7602 7603 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7604 <div class="ajaxcart__inner" {{ cart.item_count }}> 7605 {{#items}} 7606 <div class="ajaxcart__product"> 7607 <div class="ajaxcart__row" data-line="{{line}}"> 7608 <div class="grid"> 7609 <div class="grid__item one-quarter"> 7610 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7611 </div> 7612 <div class="grid__item three-quarters"> 7613 <p class="d-block mb-3"> 7614 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7615 {{#if variation}} 7616 <span class="ajaxcart__product-meta p">{{variation}}</span> 7617 {{/if}} 7618 {{#properties}} 7619 {{#each this}} 7620 {{#if this}} 7621 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7622 {{/if}} 7623 {{/each}} 7624 {{/properties}} 7625 7626 </p> 7627 <div class="grid--full display-table"> 7628 <div class="grid__item display-table-cell one-half"> 7629 <div class="ajaxcart__qty"> 7630 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7631 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" 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> 7632 <span class="visually-hidden">Kurangi jumlah barang</span> 7633 </button> 7634 <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]*"> 7635 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7636 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" 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> 7637 <span class="visually-hidden">Tambahkan jumlah barang</span> 7638 </button> 7639 </div> 7640 </div> 7641 <div class="grid__item display-table-cell one-half text-right"> 7642 {{#if discountsApplied}} 7643 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7644 <br><span class="h4">{{{linePrice}}}</span> 7645 {{else}} 7646 <span class="h4">{{{linePrice}}}</span> 7647 {{/if}} 7648 </div> 7649 </div> 7650 {{#if discountsApplied}} 7651 <div class="grid--full display-table"> 7652 <div class="grid__item text-right"> 7653 {{#each discounts}} 7654 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7655 {{/each}} 7656 </div> 7657 </div> 7658 {{/if}} 7659 </div> 7660 </div> 7661 </div> 7662 </div> 7663 </div> 7664 </div> 7665 {{/items}} 7666 </div> 7667 <div class="ajaxcart__footer"> 7668 <div class="grid--full cart-subtotal py-2"> 7669 <p>Subtotal</p> 7670 <h3 class="primary">{{{totalPrice}}}</h3> 7671 {{#if totalCartDiscount}} 7672 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7673 {{/if}} 7674 </div> 7675 7676 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7677 7678 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7679 </div> 7680 </form> 7681 7682 </script>
7682 7683
7683<script id="AjaxQty" type="text/template"> 7684 7685 <div class="ajaxcart__qty"> 7686 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7687 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" width="24" height="24" viewBox="0 0 32 32"> 7688 <title>icon-minus</title> 7689 <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> 7690 </svg> 7691 <span class="visually-hidden">Kurangi jumlah barang</span> 7692 </button> 7693 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7694 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7695 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" 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> 7696 <span class="visually-hidden">Tambahkan jumlah barang</span> 7697 </button> 7698 </div> 7699 7700 </script>
7700 7701
7701<script id="JsQty" type="text/template"> 7702 7703 <div class="js-qty mx-auto mt-2"> 7704 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7705 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" 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> 7706 <span class="visually-hidden">Kurangi jumlah barang</span> 7707 </button> 7708 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7709 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7710 <svg version="1.1" xmlns="https://banner989.me/PCOQ3t" 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> 7711 <span class="visually-hidden">Tambahkan jumlah barang</span> 7712 </button> 7713 </div> 7714 7715 </script>
7715 7716 7717 <style> 7718 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7719 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7720 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7721 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7722 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7723 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7724 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7725 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7726 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7727 </style> 7728
7728<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7728 7729
7729<script> 7730 jQuery(function($) { 7731 ajaxCart.init({ 7732 formSelector: '#AddToCartForm', 7733 cartContainer: '#CartContainer', 7734 addToCartSelector: '#AddToCartXX', 7735 cartCountSelector: '#CartCount, #CartCount2', 7736 cartCostSelector: '#CartCost', 7737 moneyFormat: "Rp {{amount_no_decimals}}" 7738 }); 7739 }); 7740 7741 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7742 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7743 timber.RightDrawer.open(); 7744 }); 7745 </script>
7745 7746 7747 7748 7749 7750 <style> 7751 /** Search AutoComplete **/ 7752 .resultsearch .ui-menu-item[data-cat="Collection"], 7753 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7754 .resultsearch .ui-widget.ui-widget-content { 7755 width: 100%; 7756 top: 48px; 7757 border: none; 7758 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7759 } 7760 .resultsearch .ui-menu-item {text-align: left;} 7761 .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;} 7762 .ui-state-active { 7763 border: none!important; 7764 background-color: #fafafa!important; 7765 color: #000!important; 7766 } 7767 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7768 .ui-menu .ui-menu-item {line-height: normal;} 7769 </style> 7770
7770<script> 7771 $(window).load(function(){ 7772 7773 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;} 7774 7775 $.widget("custom.catcomplete", $.ui.autocomplete, { 7776 _renderMenu: function (ul, items) { 7777 // have search reults split up in categories 7778 var that = this, 7779 currentCategory = ""; 7780 $.each(items, function (index, item) { 7781 if (item.category != currentCategory) { 7782 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7783 currentCategory = item.category; 7784 } 7785 that._renderItemData(ul, item); 7786 }); 7787 } 7788 }); 7789 7790 // higlight searched for term 7791 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7792 var term = this.element.val(), 7793 html = item.label.replace( term, "<b>$&</b>" ); 7794 return $( "<li>" ) 7795 .append(format(item)) 7796 .appendTo( ul ); 7797 }; 7798 7799 7800 var data = [ 7801 { 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
7801llection", 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: " " }
7801,{ 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: " " }
7801,{ 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: " " }
7801,{ 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
7801dal", 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-
7801hampers", 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
7801o-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: " " }
7801,{ 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: " " }
7801,{ 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: " " }
7801,{ 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: " " }
7801,{ 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: " " }
7801,{ 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: " " }
7801,{ 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: " " }
7801,{ 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: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "ORISTOTO hadir sebagai link situs toto slot gacor resmi #1 di Indonesia yang menawarkan pengalaman bermain terbaik, teraman dengan akses login toto togel 4d terpercaya pasti bayar. 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: "
7801Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " },{ 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: " " }
7801,{ 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
7801dal", 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: " " }, 7802 { 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" }
7802,{ 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" }
7802,{ 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" } 7803 ]; 7804 7805 7806 $( ".header-input-search" ).catcomplete({ 7807 appendTo: ".searchResult",source: function(request, response) { 7808 var results = $.ui.autocomplete.filter(data, request.term); 7809 var predicate = function () { 7810 var counter = { Collection: 0, Produk: 0 }; 7811 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7812 return fn 7813 }(); 7814 response(results.filter(predicate)); 7815 }, 7816 minLength:1, 7817 //results are clickable 7818 select: function( event, ui ) {window.location = ui.item.url;} 7819 }); 7820 $( ".header-input-search2" ).catcomplete({ 7821 appendTo: ".searchResult2", 7822 source: function(request, response) { 7823 var results = $.ui.autocomplete.filter(data, request.term); 7824 var predicate = function () { 7825 var counter = { Collection: 0, Produk: 0 }; 7826 var fn = function(item) { 7827 counter[item.category] += 1; 7828 return (counter[item.category] <= 5); 7829 } 7830 return fn 7831 }(); 7832 response(results.filter(predicate)); 7833 }, 7834 minLength:1, 7835 //results are clickable 7836 select: function( event, ui ) { 7837 window.location = ui.item.url; 7838 } 7839 }); 7840 }); 7841 </script>
7841 7842 7843
7843<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7843 7844
7844<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7844 7845 7846
7846<script> 7847 ( function() { 7848 var youtube = document.querySelectorAll( ".youtube" ); 7849 for (var i = 0; i < youtube.length; i++) { 7850 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7851 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7852 var image = new Image(); 7853 image.src = source; 7854 image.setAttribute("data-src", datasource); 7855 image.classList.add("swiper-lazy"); 7856 image.addEventListener( "load", function() { 7857 youtube[ i ].appendChild( image ); 7858 }( i ) ); 7859 youtube[i].addEventListener( "click", function() { 7860 var iframe = document.createElement( "iframe" ); 7861 iframe.setAttribute( "width", "480" ); 7862 iframe.setAttribute( "height", "480" ); 7863 iframe.setAttribute( "frameborder", "0" ); 7864 iframe.setAttribute( "allowfullscreen", "" ); 7865 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7866 this.innerHTML = ""; 7867 this.appendChild( iframe ); 7868 } ); 7869 }; 7870 7871 } )(); 7872 7873 /* Lazy Load */ 7874 const mainLazyLoad = new LazyLoad({threshold:400}); 7875 $(document).ready(function(){ 7876 7877 $("selectxxx").addClass("needsclick"); 7878 FastClick.attach(document.body); 7879 7880 var $customSelects = $('.select-search'); 7881 $customSelects.select2({ 7882 templateResult: function(result, container) { 7883 if (!result.id) { 7884 return result.text; 7885 } 7886 container.className += ' needsclick'; 7887 return result.text; 7888 } 7889 }); 7890 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7891 $(document).on('select2:open', () => { 7892 document.querySelector('.select2-search__field').focus(); 7893 }); 7894 7895 7896 $(".overlay").click(function(){ 7897 $(".js-drawer-close").click(); 7898 }); 7899 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7900 $("html").toggleClass("nav_open"); 7901 }); 7902 7903 $('.swatch-element label').on('click', function(){ 7904 var srcImg = $(this).data('src'); 7905 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7906 if ($(this).attr("href") == srcImg) { 7907 $(this).trigger('click'); 7908 } 7909 }); 7910 }); 7911 var defaultValue = $(".swatch input:checked").val() 7912 7913 $('#purchaseProduct .swatch [type=radio]').change(function() { 7914 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7915 var optionValue = $(this).val(); 7916 console.log(optionIndex, optionValue) 7917 var value = parseInt(optionValue.split(' ')[0]) 7918 $(this) 7919 .closest('#purchaseProduct') 7920 .find('.single-option-selector') 7921 .eq(optionIndex) 7922 .val(optionValue) 7923 .trigger('change'); 7924 7925 }); 7926 7927 }); 7928 $(document).ready(function(){ 7929 $(".nav-search a").click(function(e){ 7930 e.preventDefault(); 7931 $(".icon-navsearch").toggle(); 7932 $(".icon-navclose").toggle(); 7933 $(".site-nav__item > .site-nav__link").toggle(); 7934 $(".open-search").toggle(); 7935 $(".open-search input").focus(); 7936 }); 7937 $(".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'>"); 7938 if ($(window).width() < 768) { 7939 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7940 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7941 $(".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'>"); 7942 } else { 7943 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7944 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7945 $(".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'>"); 7946 } 7947 $(".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'>"); 7948 $(".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'>"); 7949 }); 7950 </script>
7950 7951 7952 7953 7954 7955 7956 7957 7958
7958<script type="text/javascript"> 7959 var wishlistpage = 0; 7960 7961 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 7962 </script>
7962 7963 7964 <!-- Remove duplicate wishlist.js reference --> 7965 <style> 7966 .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)}} 7967 </style> 7968 7969 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 7970 <div class="modal-dialog" role="document"> 7971 <div class="modal-content"> 7972 <div class="modal-body">Your Wishlist is empty!</div> 7973 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 7974 </div> 7975 </div> 7976 </div> 7977 7978 <div class="wishlist-model"> 7979 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 7980 <div class="modal-dialog white-modal"> 7981 <div class="modal-content"> 7982 <div class="modal-header"> 7983 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 7984 <svg class="icon icon-close" version="1.1" xmlns="https://banner989.me/PCOQ3t" width="32" height="32" viewBox="0 0 32 32"> 7985 <title>icon-close</title> 7986 <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> 7987 </svg> 7988 </button> 7989 </div> 7990 <div class="modal-body"> 7991 <div class="wishlist-left"> 7992 <div class="wishlist-note">
7993 <span class="cirle"><svg version="1.1" xmlns="https://banner989.me/PCOQ3t" width="32" height="32" viewBox="0 0 32 32"> 7994 <title>icon-check</title> 7995 <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> 7996 </svg></span> 7997 Product added to <a href="/pages/wish-list">Wishlist</a> 7998 </div> 7999 <div class="wishlist-product"> 8000 <div class="product-left"> 8001 <div class="wishlist-image"></div> 8002 </div> 8003 <div class="product-right"> 8004 <div class="wishlist-name"></div> 8005 <div class="wishlist-price"></div> 8006 </div> 8007 </div> 8008 </div> 8009 <div class="wishlist-right"> 8010 <div class="wishlist-cart"> 8011 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 8012 <div class="others-bottom"> 8013 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 8014 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 8015 <span id="AddToCartText" class="">Beli Sekarang</span> 8016 </button> 8017 </div> 8018 <div id="wishlist-variants-container" class="variants-wrapper"></div> 8019 <div class="quantity-content"> 8020 <label>QTY</label> 8021 <input type="number" size="5" class="" name="quantity" value="1" /> 8022 </div> 8023 </form> 8024 </div> 8025 </div> 8026 </div> 8027 </div> 8028 </div> 8029 </div> 8030 </div> 8031 8032 8033 <style> 8034 .stamped-badge[data-rating="0.0"]{display: none !Important;} 8035 8036 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 8037 border-radius: 0px; 8038 } 8039 .stamped-review-body { 8040 padding-left: 0px !important; 8041 } 8042 #product-reviews .stamped-header:after { 8043 display:none !Important; 8044 } 8045 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 8046 font-family:inherit !important; 8047 } 8048 </style> 8049 8050 8051 8052 <div id='stamped-rewards-init' class='stamped-rewards-init' 8053 data-key-public='' 8054 8055 ></div> 8056 8057
8057<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8057 8058 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 8059
8059<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8059 8060 8061
8061<script> 8062 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 8063 </script>
8063 8064
8064<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8064<style> 8065 .jss59 { 8066 background-color: rgba(0, 0, 0, 0.6); 8067 } 8068 .MuiBackdrop-root { 8069 top: 0; 8070 left: 0; 8071 right: 0; 8072 bottom: 0; 8073 display: flex; 8074 z-index: -1; 8075 position: fixed; 8076 align-items: center; 8077 justify-content: center; 8078 background-color: rgba(0, 0, 0, 0.5); 8079 -webkit-tap-highlight-color: transparent; 8080 } 8081 .MuiDialog-scrollPaper { 8082 display: flex; 8083 align-items: center; 8084 justify-content: center; 8085 } 8086 .MuiDialog-container { 8087 height: 100%; 8088 outline: 0; 8089 } 8090 .MuiPaper-elevation24 { 8091 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); 8092 } 8093 .MuiDialog-paper { 8094 margin: 32px; 8095 position: relative; 8096 overflow-y: auto; 8097 } 8098 .MuiDialog-paperScrollPaper { 8099 display: flex; 8100 max-height: calc(100% - 64px); 8101 flex-direction: column; 8102 } 8103 .MuiDialog-paperWidthSm { 8104 max-width: 600px; 8105 } 8106 #location-lock-dialog { 8107 top: 20%; 8108 left: 0; 8109 right: 0; 8110 width: 30%; 8111 margin: 0px auto; 8112 display: block; 8113 padding: 30px; 8114 z-index: 99999; 8115 position: fixed; 8116 font-size: 14px; 8117 background: rgb(0, 0, 0); 8118 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 8119 text-align: center; 8120 font-family: Roboto, Arial, sans-serif; 8121 line-height: 1; 8122 border-radius: 8px; 8123 -webkit-font-smoothing: subpixel-antialiased; 8124 } 8125 .MuiButtonBase-root { 8126 color: inherit; 8127 border: 0; 8128 cursor: pointer; 8129 margin: 0; 8130 display: inline-flex; 8131 outline: 0; 8132 padding: 0; 8133 position: relative; 8134 align-items: center; 8135 user-select: none; 8136 border-radius: 0; 8137 vertical-align: middle; 8138 -moz-appearance: none; 8139 justify-content: center; 8140 text-decoration: none; 8141 background-color: transparent; 8142 -webkit-appearance: none; 8143 -webkit-tap-highlight-color: transparent; 8144 } 8145 .MuiIconButton-root { 8146 flex: 0 0 auto; 8147 color: rgba(0, 0, 0, 0.54); 8148 padding: 12px; 8149 overflow: visible; 8150 font-size: 1.5rem; 8151 text-align: center; 8152 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8153 border-radius: 50%; 8154 } 8155 .MuiIconButton-label { 8156 width: 100%; 8157 display: flex; 8158 align-items: inherit; 8159 justify-content: inherit; 8160 } 8161 .MuiSvgIcon-root { 8162 fill: currentColor; 8163 width: 1em; 8164 height: 1em; 8165 display: inline-block; 8166 font-size: 1.5rem; 8167 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8168 flex-shrink: 0; 8169 user-select: none; 8170 } 8171 .MuiTouchRipple-root { 8172 top: 0; 8173 left: 0; 8174 right: 0; 8175 bottom: 0; 8176 z-index: 0; 8177 overflow: hidden; 8178 position: absolute; 8179 border-radius: inherit; 8180 pointer-events: none; 8181 } 8182 .jss36 { 8183 color: #222222; 8184 font-size: 24px; 8185 font-family: Roboto, Arial, sans-serif; 8186 font-weight: 500; 8187 } 8188 .jss37 { 8189 color: #555555; 8190 padding: 10px 0px 0px; 8191 font-size: 14px; 8192 } 8193 .MuiFormGroup-root { 8194 display: flex; 8195 flex-wrap: wrap; 8196 flex-direction: column; 8197 } 8198 .MuiFormGroup-row { 8199 flex-direction: row; 8200 } 8201 .jss63 { 8202 width: 85%; 8203 margin: 15px auto; 8204 display: flex; 8205 padding: 11px 0px 0px; 8206 justify-content: space-evenly; 8207 } 8208 .MuiFormControlLabel-root { 8209 cursor: pointer; 8210 display: inline-flex; 8211 align-items: center; 8212 margin-left: -11px; 8213 margin-right: 16px; 8214 vertical-align: middle; 8215 -webkit-tap-highlight-color: transparent; 8216 } 8217 .jss70 { 8218 margin: 0; 8219 } 8220 .MuiButtonBase-root { 8221 color: inherit; 8222 border: 0; 8223 cursor: pointer; 8224 margin: 0; 8225 display: inline-flex; 8226 outline: 0; 8227 padding: 0; 8228 position: relative; 8229 align-items: center; 8230 user-select: none; 8231 border-radius: 0; 8232 vertical-align: middle; 8233 -moz-appearance: none; 8234 justify-content: center; 8235 text-decoration: none; 8236 background-color: transparent; 8237 -webkit-appearance: none; 8238 -webkit-tap-highlight-color: transparent; 8239 } 8240 .MuiIconButton-root { 8241 flex: 0 0 auto; 8242 color: rgba(0, 0, 0, 0.54); 8243 padding: 12px; 8244 overflow: visible; 8245 font-size: 1.5rem; 8246 text-align: center; 8247 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8248 border-radius: 50%; 8249 } 8250 .MuiIconButton-colorSecondary { 8251 color: #f50057; 8252 } 8253 .jss71 { 8254 padding: 9px; 8255 } 8256 .MuiRadio-root { 8257 color: rgba(0, 0, 0, 0.54); 8258 } 8259 .jss64 { 8260 padding: 2px; 8261 } 8262 .MuiRadio-colorSecondary.Mui-checked { 8263 color: #f50057; 8264 } 8265 .MuiIconButton-label { 8266 width: 100%; 8267 display: flex; 8268 align-items: inherit; 8269 justify-content: inherit; 8270 } 8271 .MuiTypography-root { 8272 margin: 0; 8273 } 8274 .MuiTypography-body1 { 8275 font-size: 18px; 8276 font-family: Roboto,sans-serif; 8277 font-weight: 400; 8278 line-height: 1.5; 8279 } 8280 .location-popup_area-block__sp9Ws { 8281 display: -moz-box; 8282 display: flex; 8283 -moz-box-orient: vertical; 8284 -moz-box-direction: normal; 8285 flex-direction: column; 8286 -moz-box-pack: center; 8287 justify-content: center; 8288 position: relative; 8289 margin: 10px 10% 0; 8290 } 8291 .location-popup_pin-search-box__3l5mJ { 8292 width: 100%; 8293 display: -moz-box; 8294 display: flex; 8295 -moz-box-align: center; 8296 align-items: center; 8297 } 8298 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8299 position: absolute; 8300 z-index: 999; 8301 } 8302 .location-popup_place-icon__jSG0Q { 8303 color: #ffffff; 8304 padding-left: 8px; 8305 } 8306 .location-popup_place-icon__jSG0Q svg { 8307 width: 18px; 8308 height: 18px; 8309 } 8310 .location-popup_cancel-icon__FHujU { 8311 color: #fff; 8312 right: 10px; 8313 width: 16px; 8314 cursor: pointer; 8315 height: 16px; 8316 display: none; 8317 padding: 5px; 8318 position: absolute; 8319 background: #999; 8320 text-align: center; 8321 border-radius: 50%; 8322 } 8323 .location-popup_pin-search-box__3l5mJ>div>select { 8324 /* -webkit-box-shadow: 0 0 10px #ffffff; 8325 box-shadow: 0 0 10px #ffffff; */ 8326 text-transform: capitalize; 8327 border: 1px solid #ffffff; 8328 color: #ffffff; 8329 width: 100%; 8330 margin: 0; 8331 display: -moz-box; 8332 display: flex;
8333 padding: 0 30px; 8334 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8335 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8336 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8337 font-size: 16px; 8338 border-radius: 4px; 8339 height: 44px; 8340 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8341 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8342 } 8343 .MuiButtonBase-root { 8344 color: inherit; 8345 border: 0; 8346 cursor: pointer; 8347 margin: 0; 8348 display: inline-flex; 8349 outline: 0; 8350 padding: 0; 8351 position: relative; 8352 align-items: center; 8353 user-select: none; 8354 border-radius: 0; 8355 vertical-align: middle; 8356 -moz-appearance: none; 8357 justify-content: center; 8358 text-decoration: none; 8359 background-color: transparent; 8360 -webkit-appearance: none; 8361 -webkit-tap-highlight-color: transparent; 8362 } 8363 .MuiButton-root { 8364 color: rgba(0, 0, 0, 0.87); 8365 padding: 6px 16px; 8366 font-size: 0.875rem; 8367 min-width: 64px; 8368 box-sizing: border-box; 8369 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; 8370 font-family: Roboto,sans-serif; 8371 font-weight: 500; 8372 line-height: 1.75; 8373 border-radius: 4px; 8374 text-transform: uppercase; 8375 } 8376 .MuiButton-contained { 8377 color: rgba(0, 0, 0, 0.87); 8378 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); 8379 background-color: #e0e0e0; 8380 } 8381 .MuiButtonBase-root.Mui-disabled { 8382 cursor: default; 8383 pointer-events: none; 8384 } 8385 .MuiButton-label { 8386 width: 100%; 8387 display: inherit; 8388 align-items: inherit; 8389 justify-content: inherit; 8390 } 8391 .cartButton_login_content__2j1f7 { 8392 display: -moz-box; 8393 display: flex; 8394 text-align: center; 8395 z-index: 9; 8396 font-size: 18px; 8397 font-weight: 500; 8398 color: #fff; 8399 } 8400 8401 .jss35 { 8402 top: 5px; 8403 right: 5px; 8404 padding: 4px; 8405 position: absolute; 8406 border-radius: 50%; 8407 } 8408 .jss67 { 8409 cursor: pointer; 8410 font-size: 15px; 8411 line-height: 1.3; 8412 padding-left: 5px; 8413 } 8414 .jss69 { 8415 color: #222222; 8416 } 8417 .jss80 { 8418 color: #fff; 8419 width: 100%; 8420 height: 52px; 8421 padding: 11px 16px; 8422 font-size: 18px; 8423 min-width: 88px; 8424 min-height: 36px; 8425 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; 8426 font-weight: 500; 8427 line-weight: 1em; 8428 border-radius: 4px; 8429 text-transform: uppercase; 8430 background-color: #E87325; 8431 } 8432 @media (min-width: 991px){ 8433 .cartButton_login_content__2j1f7 { 8434 font-weight: 500; 8435 } 8436 } 8437 8438 @media (max-width: 992px) { 8439 #location-lock-dialog { 8440 width: 100%; 8441 top: auto; 8442 bottom: 0; 8443 padding-left: 0; 8444 padding-right: 0; 8445 } 8446 .MuiFormGroup-row { 8447 display: block 8448 } 8449 .MuiIconButton-label input { 8450 margin: 0; 8451 } 8452 } 8453 </style> 8454 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8455 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8456 <div tabindex="0" data-test="sentinelStart"></div> 8457 <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;"> 8458 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8459 <div class="jss31 undefined" id="location-lock-dialog"> 8460 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 8461 <span class="MuiIconButton-label"> 8462 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8463 <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> 8464 </svg> 8465 </span>
8466 <span class="MuiTouchRipple-root"></span> 8467 </button> 8468 <div> 8469 <div class="jss36">Select Delivery Location</div> 8470 <div class="jss37">Select a delivery location to see product availability</div> 8471 </div> 8472 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8473 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8474 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8475 <span class="MuiIconButton-label"> 8476 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8477 <span class="jss41"></span> 8478 </span> 8479 <span class="MuiTouchRipple-root"></span> 8480 </span> 8481 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8482 <span class="jss67 jss69">Jabodetabek</span> 8483 </span> 8484 </label> 8485 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8486 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8487 <span class="MuiIconButton-label"> 8488 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8489 <span class="jss40"></span> 8490 </span> 8491 <span class="MuiTouchRipple-root"></span> 8492 </span> 8493 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8494 <span class="jss67 jss68">Outside Jabodetabek</span> 8495 </span> 8496 </label> 8497 </div> 8498 <div> 8499 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8500 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8501 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8502 <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> 8503 </div> 8504 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8505 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8506 </div> 8507 <div style="width: 100%;"> 8508 <select id="choose-location" class="form-control"> 8509 <option value="">Choose Location</option> 8510 <option value="jakarta">Jakarta</option> 8511 <option value="bogor">Bogor</option> 8512 <option value="depok">Depok</option> 8513 <option value="tangerang">Tangerang</option> 8514 <option value="bekasi">Bekasi</option> 8515 </select> 8516 </div> 8517 </div> 8518 </div> 8519 </div> 8520 <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=""> 8521 <span class="MuiButton-label"> 8522 <span class=""></span> 8523 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8524 </span> 8525 </button> 8526 </div> 8527 </div> 8528 </div> 8529 <div tabindex="0" data-test="sentinelEnd"></div> 8530 </div> 8531 8532
8532<script> 8533 const jabodetabek = [ 8534 { 8535 "code": "jakarta", 8536 "city": "jakarta", 8537 "zip": [] 8538 }, 8539 { 8540 "code": "bogor", 8541 "city": "bogor", 8542 "zip": [] 8543 }, 8544 { 8545 "code": "depok", 8546 "city": "depok", 8547 "zip": [] 8548 }, 8549 { 8550 "code": "tangerang", 8551 "city": "tangerang", 8552 "zip": [] 8553 }, 8554 { 8555 "code": "bekasi", 8556 "city": "bekasi", 8557 "zip": [] 8558 } 8559 ] 8560 let cityNonJabodetabek = [ 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 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 "pengiriman_aceh", 9735 9736 9737 9738 9739 9740 "pengiriman_ambon", 9741 9742 9743 9744 9745 9746 "pengiriman_atambua", 9747 9748 9749 9750 9751 9752 "pengiriman_badung", 9753 9754 9755 9756 9757 9758 "pengiriman_bali", 9759 9760 9761 9762 9763 9764 "pengiriman_balikpapan", 9765 9766 9767 9768 9769 9770 "pengiriman_bandar lampung", 9771 9772 9773 9774 9775 9776 "pengiriman_bandung", 9777 9778 9779 9780 9781 9782 "pengiriman_bandung barat", 9783 9784 9785 9786 9787 9788 "pengiriman_banjarmasin", 9789 9790 9791 9792 9793 9794 "pengiriman_banyumas", 9795 9796 9797 9798 9799 9800 "pengiriman_banyuwangi", 9801 9802 9803 9804 9805 9806 "pengiriman_batam", 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 "pengiriman_biak", 9817 9818 9819 9820 9821 9822 "pengiriman_binjai", 9823 9824 9825 9826 9827 9828 "pengiriman_blitar", 9829 9830 9831 9832 9833 9834 "pengiriman_blora", 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 "pengiriman_bojonegoro", 9845 9846 9847 9848 9849 9850 "pengiriman_boyolali", 9851 9852 9853 9854 9855 9856 "pengiriman_bukittinggi", 9857 9858 9859 9860 9861 9862 "pengiriman_buleleng", 9863 9864 9865 9866 9867 9868 "pengiriman_ciamis", 9869 9870 9871 9872 9873 9874 "pengiriman_cianjur", 9875 9876 9877 9878 9879 9880 "pengiriman_cibinong", 9881 9882 9883 9884 9885 9886 "pengiriman_cikarang", 9887 9888 9889 9890 9891 9892 "pengiriman_cikupa", 9893 9894 9895 9896 9897 9898 "pengiriman_cilacap", 9899 9900 9901 9902 9903 9904 "pengiriman_cileunyi", 9905 9906 9907 9908 9909 9910 "pengiriman_cimahi", 9911 9912 9913 9914 9915 9916 "pengiriman_cirebon", 9917 9918 9919 9920 9921 9922 "pengiriman_ciwidey", 9923 9924 9925 9926 9927 9928 "pengiriman_deli serdang", 9929 9930 9931 9932 9933 9934 "pengiriman_demak", 9935 9936 9937 9938 9939 9940 "pengiriman_denpasar", 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 "pengiriman_garut", 9951 9952 9953 9954 9955 9956 "pengiriman_gianyar", 9957 9958 9959 9960 9961 9962 "pengiriman_gresik", 9963 9964 9965 9966 9967 9968 "pengiriman_gunung kidul", 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 "pengiriman_jambi", 9979 9980 9981 9982 9983 9984 "pengiriman_jayapura", 9985 9986 9987 9988 9989 9990 "pengiriman_jember", 9991 9992 9993 9994 9995 9996 "pengiriman_jepara", 9997 9998 9999 10000 10001 10002 "pengiriman_jombang", 10003 10004 10005 10006 10007 10008 "pengiriman_karanganyar", 10009 10010 10011 10012 10013 10014 "pengiriman_karawang", 10015 10016 10017 10018 10019 10020 "pengiriman_karo", 10021 10022 10023 10024 10025 10026 "pengiriman_kebumen", 10027 10028 10029 10030 10031 10032 "pengiriman_kediri", 10033 10034 10035 10036 10037 10038 "pengiriman_keerom", 10039 10040 10041 10042 10043 10044 "pengiriman_kendal", 10045 10046 10047 10048 10049 10050 "pengiriman_klaten", 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 "pengiriman_kudus", 10061 10062 10063 10064 10065 10066 "pengiriman_kupang", 10067 10068 10069 10070 10071 10072 "pengiriman_lainnya", 10073 10074 10075 10076 10077 10078 "pengiriman_lamongan", 10079 10080 10081 10082 10083 10084 "pengiriman_lampung", 10085 10086 10087 10088 10089 10090 "pengiriman_lampung barat", 10091 10092 10093 10094 10095 10096 "pengiriman_lembang", 10097 10098 10099 10100 10101 10102 "pengiriman_lombok", 10103 10104 10105 10106 10107 10108 "pengiriman_lumajang", 10109 10110 10111 10112 10113 10114 "pengiriman_madiun", 10115 10116 10117 10118 10119 10120 "pengiriman_magelang", 10121 10122 10123 10124 10125 10126 "pengiriman_majalengka", 10127 10128 10129 10130 10131 10132 "pengiriman_makassar", 10133 10134 10135 10136 10137 10138 "pengiriman_malang", 10139 10140 10141 10142 10143 10144 "pengiriman_manado", 10145 10146 10147 10148 10149 10150 "pengiriman_medan", 10151 10152 10153 10154 10155 10156 "pengiriman_mengwi", 10157 10158 10159 10160 10161 10162 "pengiriman_mojokerto", 10163 10164 10165 10166 10167 10168 "pengiriman_nganjuk", 10169 10170 10171 10172 10173 10174 "pengiriman_ngawi", 10175 10176 10177 10178 10179 10180 "pengiriman_padang", 10181 10182 10183 10184 10185 10186 "pengiriman_palembang", 10187 10188 10189 10190 10191 10192 "pengiriman_pasuruan", 10193 10194 10195 10196 10197 10198 "pengiriman_pati", 10199 10200 10201 10202 10203 10204 "pengiriman_pekalongan", 10205 10206 10207 10208 10209 10210 "pengiriman_pekanbaru", 10211 10212 10213 10214 10215 10216 "pengiriman_pemalang", 10217 10218 10219 10220 10221 10222 "pengiriman_ponorogo", 10223 10224 10225 10226 10227 10228 "pengiriman_pontianak", 10229 10230 10231 10232 10233 10234 "pengiriman_probolinggo", 10235 10236 10237 10238 10239 10240 "pengiriman_purbalingga", 10241 10242 10243 10244 10245 10246 "pengiriman_purwakarta", 10247 10248 10249 10250 10251 10252 "pengiriman_purwokerto", 10253 10254 10255 10256 10257 10258 "pengiriman_rembang", 10259 10260 10261 10262 10263 10264 "pengiriman_riau", 10265 10266 10267 10268 10269 10270 "pengiriman_salatiga", 10271 10272 10273 10274 10275 10276 "pengiriman_samarinda", 10277 10278 10279 10280 10281 10282 "pengiriman_semarang", 10283 10284 10285 10286 10287 10288 "pengiriman_sentani", 10289 10290 10291 10292 10293 10294 "pengiriman_serang", 10295 10296 10297 10298 10299 10300 "pengiriman_sidoarjo", 10301 10302 10303 10304 10305 10306 "pengiriman_singkawang", 10307 10308 10309 10310 10311 10312 "pengiriman_sragen", 10313 10314 10315 10316 10317 10318 "pengiriman_subang", 10319 10320 10321 10322 10323 10324 "pengiriman_sukabumi", 10325 10326 10327 10328 10329 10330 "pengiriman_sumbawa", 10331 10332 10333 10334 10335 10336 "pengiriman_surabaya", 10337 10338 10339 10340 10341 10342 "pengiriman_surakarta solo", 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 "pengiriman_tasikmalaya", 10353 10354 10355 10356 10357 10358 "pengiriman_tegal", 10359 10360 10361 10362 10363 10364 "pengiriman_timika", 10365 10366 10367 10368 10369 10370 "pengiriman_wamena", 10371 10372 10373 10374 10375 10376 "pengiriman_wiyung", 10377 10378 10379 10380 10381 10382 "pengiriman_wonokromo", 10383 10384 10385 10386 10387 10388 "pengiriman_yogyakarta", 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 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 console.log(cityNonJabodetabek) 11000 let non_jabodetabek = [] 11001 for(var i=0;i<cityNonJabodetabek.length;i++) { 11002 const obj = { 11003 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 11004 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 11005 "zip": [] 11006 } 11007 non_jabodetabek.push(obj) 11008 } 11009 let current_location = getCookie("location_delivery") 11010 $("[name=location]").change(function(){ 11011 let v = $(this).val() 11012 let option = [] 11013 if(v == 'Jabodetabek') { 11014 for(var i=0;i<jabodetabek.length;i++) { 11015 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 11016 option.push(jabodetabekHtml) 11017 } 11018 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11019 } else { 11020 for(var i=0;i<non_jabodetabek.length;i++) { 11021 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 11022 option.push(nonjabodetabekHtml) 11023 } 11024 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11025 } 11026 }) 11027 11028 $("#location-lock-submit").click(function(e){ 11029 let select = $("#choose-location") 11030 let value = select.val().toLowerCase() 11031 console.log(value) 11032 if(select.val() == "") { 11033 return alert("Choose Your Location") 11034 e.preventDefault() 11035 } 11036 setCookie("location_delivery",value,1000000); 11037 11038 location.reload(); 11039 11040 }) 11041 11042 $("#close-popup-delivery").click(function(){ 11043 $(".MuiDialog-root").hide() 11044 if(!current_location){ 11045 setCookie("location_delivery","jakarta",1000000); 11046 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 11047 } 11048 }) 11049 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 11050 $(".MuiDialog-root").show() 11051 }) 11052 11053 11054 if(!current_location){ 11055 11056 } else { 11057 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 11058 console.log(current_location) 11059 $("#choose-location").each(function(){ 11060 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 11061 $("#jabodetabek").trigger("click") 11062 } else { 11063 $("#non-jabodetabek").trigger("click") 11064 } 11065 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 11066 }) 11067 } 11068 11069 // 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'){ 11070 // $("#timeMalam").attr("disabled", false) 11071 // } else { 11072 // $("#timeMalam").attr("disabled", true) 11073 // } 11074 11075 if(current_location && current_location != 'jakarta') { 11076 $("#self-pickup").attr("disabled", true) 11077 } 11078 11079 function setCookie(name,value,days) { 11080 var expires = ""; 11081 if (days) { 11082 var date = new Date(); 11083 date.setTime(date.getTime() + (days*24*60*60*1000)); 11084 expires = "; expires=" + date.toUTCString(); 11085 } 11086 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 11087 } 11088 function getCookie(name) { 11089 var nameEQ = name + "="; 11090 var ca = document.cookie.split(';');
11091 for(var i=0;i < ca.length;i++) { 11092 var c = ca[i]; 11093 while (c.charAt(0)==' ') c = c.substring(1,c.length); 11094 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 11095 } 11096 return null; 11097 } 11098 </script>
11098 11099 <!-- One Tap --> 11100
11100<script> 11101 console.log("Outerbloom..."); 11102 </script>
11102 11103 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 11151
11151<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
11151 11152
11152<script> 11153 const widgetConfig = { 11154 id: "clz7897za002cz7otleaz0d3d", 11155 showQuickResponse: false, 11156 quickResponsesData: [], 11157 themeColor: "#ffffff", 11158 widgetText: "", 11159 radiusType: "circle", 11160 widgetIconType: "whatsapp", 11161 position: "right", 11162 storeLogo: "", 11163 storeName: "Outerbloom", 11164 storeDescription: "", 11165 size: "small", 11166 showCard: false, 11167 widgetColorType: "solid", 11168 widgetColor1: "#008069", 11169 widgetColor2: "#008069", 11170 social: { 11171 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 11172 values: { 11173 instagram: { 11174 enabled: false, 11175 value: "", 11176 }, 11177 facebook: { 11178 enabled: false, 11179 value: "", 11180 }, 11181 email: { 11182 enabled: false, 11183 value: "", 11184 }, 11185 x: { 11186 enabled: false, 11187 value: "", 11188 }, 11189 tiktok: { 11190 enabled: false, 11191 value: "", 11192 }, 11193 linkedin: { 11194 enabled: false, 11195 value: "", 11196 }, 11197 youtube: { 11198 enabled: false, 11199 value: "", 11200 }, 11201 }, 11202 }, 11203 }; 11204 11205 function initializeWidget() { 11206 if (typeof BBBWidget !== 'undefined') { 11207 BBBWidget.init(widgetConfig); 11208 } else { 11209 setTimeout(initializeWidget, 100); 11210 } 11211 } 11212 11213 initializeWidget();</script>
11213 11214 11215 11216 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 11217 11218 11219 <div style="position: fixed; bottom: 0; right: 0"></div> 11220 11221
11221<script> 11222 console.info("bitlogin extension version: v2.5.7"); 11223 11224 const googleScript = document.createElement("script"); 11225 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 11226 document.head.append(googleScript); 11227 11228 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 11229 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 11230 11231 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"}}; 11232 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
11232n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 11233 const redirectUrl = appearance.redirectLink; 11234 11235 let locationCacheSet = false; 11236 let errorLocation = false; 11237 let oneTapSet = false; 11238 11239 let bitloginCache = { 11240 appearance: appearance, 11241 config: config 11242 }; 11243 11244 let isInitializing = false; 11245 const queue = []; 11246 11247 // Add CSS for the popup 11248 const popupStyles = document.createElement('style'); 11249 popupStyles.textContent = ` 11250 /* Styles for login popup */ 11251 .bitlogin-popup-overlay { 11252 position: fixed; 11253 top: 0; 11254 left: 0; 11255 width: 100%; 11256 height: 100%; 11257 background: rgba(0, 0, 0, 0.45); 11258 backdrop-filter: blur(4px); 11259 display: flex; 11260 align-items: center; 11261 justify-content: center; 11262 opacity: 0; 11263 transition: opacity 0.3s ease-in-out; 11264 z-index: 999999; 11265 } 11266 11267 .bitlogin-popup-overlay.visible { 11268 opacity: 1; 11269 } 11270 11271 .bitlogin-popup { 11272 background: #FFFFFF; 11273 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 11274 border-radius: 16px; 11275 width: 100%; 11276 max-width: 560px; 11277 display: flex; 11278 overflow: hidden; 11279 position: relative; 11280 opacity: 0; 11281 transform: translateY(20px) scale(0.98); 11282 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 11283 } 11284 11285 .bitlogin-popup.visible { 11286 opacity: 1; 11287 transform: translateY(0) scale(1); 11288 } 11289 11290 .bitlogin-popup-with-image { 11291 max-width: 640px; 11292 } 11293 11294 .bitlogin-popup-right-image { 11295 flex-direction: row-reverse; 11296 } 11297 11298 .bitlogin-popup-image { 11299 object-fit: cover; 11300 width: 50%; 11301 height: auto; 11302 } 11303 11304 .bitlogin-popup-content { 11305 padding: 32px; 11306 position: relative; 11307 width: 50%; 11308 } 11309 11310 .bitlogin-popup-close { 11311 position: absolute; 11312 top: 16px; 11313 right: 16px; 11314 background: white; 11315 border: none; 11316 width: 30px; 11317 height: 30px; 11318 display: flex; 11319 align-items: center; 11320 justify-content: center; 11321 cursor: pointer; 11322 transition: background-color 0.2s; 11323 color: inherit; 11324 padding: 0; 11325 } 11326 11327 .bitlogin-popup-close:hover { 11328 background-color: #e5e5e5; 11329 } 11330 11331 .bitlogin-popup-buttons { 11332 display: flex; 11333 flex-direction: column; 11334 gap: 12px; 11335 margin-top: 24px; 11336 } 11337 11338 /* Button styles within popup - override width for popup buttons */ 11339 .bitlogin-popup-buttons #google-login, 11340 .bitlogin-popup-buttons #facebook-login, 11341 .bitlogin-popup-buttons #apple-login, 11342 .bitlogin-popup-buttons #whatsapp-login, 11343 .bitlogin-popup-buttons #microsoft-login, 11344 .bitlogin-popup-buttons #twitter-login, 11345 .bitlogin-popup-buttons #amazon-login, 11346 .bitlogin-popup-buttons #instagram-login, 11347 .bitlogin-popup-buttons #magic-link-login, 11348 .bitlogin-popup-buttons #mobile-app-login { 11349 width: 100% !important; 11350 font-family: inherit !important; 11351 } 11352 11353 .bitlogin-popup-footer { 11354 margin-top: 32px; 11355 text-align: center; 11356 font-size: 14px; 11357 opacity: 0.6; 11358 } 11359 11360 /* Modern Typography */ 11361 .bitlogin-popup h2 { 11362 margin-top: 12px; 11363 font-size: 21px !important; 11364 line-height: 1.2 !important; 11365 font-weight: 700 !important; 11366 letter-spacing: -0.02em !important; 11367 margin-bottom: 16px !important; 11368 } 11369 11370 .bitlogin-popup-header { 11371 position: relative; 11372 margin-bottom: 24px; 11373 } 11374 11375 /* Modern gradient accent */ 11376 .bitlogin-popup-content > div { 11377 font-size: 16px !important; 11378 line-height: 1.2 !important; 11379 opacity: 0.85 !important; 11380 } 11381 11382 /* Enhanced button interactions */ 11383 .bitlogin-popup-buttons button { 11384 position: relative; 11385 overflow: hidden; 11386 } 11387 11388 @keyframes ripple { 11389 0% { 11390 transform: scale(0, 0); 11391 opacity: 0.5; 11392 } 11393 100% { 11394 transform: scale(100, 100); 11395 opacity: 0; 11396 } 11397 } 11398 11399 /* Responsive adjustments */ 11400 @media (max-width: 640px) { 11401 .bitlogin-popup { 11402 max-width: 90%; 11403 width: 90%; 11404 margin: 0 16px; 11405 } 11406 11407 .bitlogin-popup-with-image { 11408 flex-direction: column !important; 11409 } 11410 11411 .bitlogin-popup-image { 11412 width: 100%; 11413 height: 180px; 11414 } 11415 11416 .bitlogin-popup-content { 11417 padding: 24px; 11418 } 11419 11420 .bitlogin-popup h2 { 11421 font-size: 24px !important; 11422 } 11423 } 11424 `; 11425
11426 document.head.appendChild(popupStyles); 11427 11428 // Add fonts link for different font options 11429 const fontsLink = document.createElement('link'); 11430 fontsLink.rel = 'stylesheet'; 11431 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'; 11432 document.head.appendChild(fontsLink); 11433 11434 (async () => { 11435 try { 11436 let host = window.location.host; 11437 if (host === "admin.shopify.com") { 11438 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 11439 } 11440 11441 const urlSearchParams = new URLSearchParams(window.location.search); 11442 const checkoutUrl = urlSearchParams.get("checkout_url"); 11443 11444 async function init({ inputRef, index }) { 11445 if (isInitializing) { 11446 queue.push(() => init({ inputRef, index })); 11447 return; 11448 } 11449 11450 isInitializing = true; 11451 11452 try { 11453 let bitLoginSectionRoot = document.querySelector( 11454 `.bitlogin-root[data-index="${index}"]` 11455 ); 11456 11457 const formRef = inputRef?.closest( 11458 "form:not([action='/account/recover'])" 11459 ); 11460 11461 if (formRef && !bitLoginSectionRoot) { 11462 await getLocation(); 11463 11464 bitLoginSectionRoot = document.createElement(`div`); 11465 11466 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 11467 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 11468 11469 updateAppearance({ 11470 formRef, 11471 rootRef: bitLoginSectionRoot, 11472 host, 11473 }); 11474 } 11475 } catch (err) { 11476 console.error(`error while initiating bitlogin extensions`, err); 11477 } finally { 11478 // Release the lock 11479 isInitializing = false; 11480 11481 // Check if there are pending items in the queue 11482 if (queue.length > 0) { 11483 // Process the next function in the queue 11484 const nextFunction = queue.shift(); 11485 nextFunction(); 11486 } 11487 } 11488 } 11489 11490 function initAll() { 11491 return new Promise((resolve, reject) => { 11492 setTimeout(async () => { 11493 const inputRefs = document.querySelectorAll( 11494 'input[name="customer[email]"]' 11495 ); 11496 11497 for (let i = 0; i < inputRefs.length; i++) { 11498 const currentInputRef = inputRefs[i]; 11499 const isVisible = isElementVisible(currentInputRef); 11500 11501 if (isVisible) { 11502 await init({ inputRef: currentInputRef, index: i }); 11503 } 11504 } 11505 11506 resolve("ok"); 11507 }, 100); 11508 }); 11509 } 11510 11511 const observer = new MutationObserver((mutationsList) => { 11512 for (let mutation of mutationsList) { 11513 initAll(); 11514 } 11515 }); 11516 11517 observer.observe(document.body, { 11518 childList: true, 11519 subtree: true, 11520 attributes: true, 11521 }); 11522 11523 initAll(); 11524 11525 if (appearance.googleOneTap) { 11526 setupOneTap({ host, checkoutUrl }); 11527 } 11528 11529 // Initialize popup 11530 await initPopup(host); 11531 } catch (error) { 11532 console.error("Error initializing BitLogin:", error); 11533 } 11534 })(); 11535 11536 async function initPopup(host) { 11537 // Check if user is already logged in using Liquid checks properly 11538 const isLoggedIn = false || 11539 document.querySelector('.customer-logout-link') || 11540 document.querySelector('.account-link') || 11541 window.location.pathname.includes('/account'); 11542 11543 if (isLoggedIn) { 11544 return; // User is logged in, don't show popup 11545 } 11546 11547 try { 11548 // Fetch the popup configuration 11549 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 11550 .then(res => res.json()) 11551 .catch(err => { 11552 console.error('Error fetching popup configuration:', err); 11553 return null; 11554 }); 11555 11556 if (!popupConfig || !popupConfig.enabled) { 11557 return;
11557 // Don't show popup if disabled or config not found 11558 } 11559 11560 // Create popup after 10 seconds 11561 setTimeout(() => { 11562 // Check if user is still on the page and still not logged in 11563 if (document.visibilityState === 'visible') { 11564 // Additional check in case user logged in during the 10 second wait 11565 const currentlyLoggedIn = false || 11566 document.querySelector('.customer-logout-link') || 11567 document.querySelector('.account-link'); 11568 11569 if (!currentlyLoggedIn) { 11570 createLoginPopup(popupConfig, host); 11571 } 11572 } 11573 }, 10000); 11574 } catch (error) { 11575 console.error('Error initializing popup:', error); 11576 } 11577 } 11578 11579 function createLoginPopup(popupConfig, host) { 11580 // Font mapping 11581 const fontFamilyMap = { 11582 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 11583 montserrat: 'Montserrat, sans-serif', 11584 roboto: 'Roboto, sans-serif', 11585 open_sans: 'Open Sans, sans-serif', 11586 noto_sans: 'Noto Sans, sans-serif', 11587 lato: 'Lato, sans-serif', 11588 poppins: 'Poppins, sans-serif', 11589 quicksand: 'Quicksand, sans-serif', 11590 raleway: 'Raleway, sans-serif', 11591 pt_sans: 'PT Sans, sans-serif', 11592 oswald: 'Oswald, sans-serif', 11593 }; 11594 11595 // Create overlay 11596 const overlay = document.createElement('div'); 11597 overlay.className = 'bitlogin-popup-overlay'; 11598 11599 // Create popup container with appropriate styling 11600 const popup = document.createElement('div'); 11601 popup.className = 'bitlogin-popup'; 11602 11603 if (popupConfig.layout === 'default') { 11604 popup.style.maxWidth = '400px'; 11605 } 11606 11607 // Function to close the popup 11608 const closePopup = () => { 11609 overlay.classList.remove('visible'); 11610 popup.classList.remove('visible'); 11611 setTimeout(() => { 11612 if (document.body.contains(overlay)) { 11613 document.body.removeChild(overlay); 11614 } 11615 }, 300); 11616 }; 11617 11618 // Add click handler to the overlay to close when clicking outside 11619 overlay.addEventListener('click', (event) => { 11620 // Close only if clicking directly on the overlay, not its children 11621 if (event.target === overlay) { 11622 closePopup(); 11623 } 11624 }); 11625 11626 // Add escape key handler to close popup 11627 document.addEventListener('keydown', (event) => { 11628 if (event.key === 'Escape' && document.body.contains(overlay)) { 11629 closePopup(); 11630 } 11631 }); 11632 11633 // Create layout with image if specified 11634 let contentWrapper; 11635 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 11636 popup.classList.add('bitlogin-popup-with-image'); 11637 11638 if (popupConfig.layout === 'right') { 11639 popup.classList.add('bitlogin-popup-right-image'); 11640 } 11641 11642 // Add image 11643 const image = document.createElement('img'); 11644 image.className = 'bitlogin-popup-image'; 11645 image.src = popupConfig.popupImage; 11646 image.alt = 'Login'; 11647 image.loading = 'lazy'; 11648 popup.appendChild(image); 11649 11650 // Create content container 11651 contentWrapper = document.createElement('div'); 11652 contentWrapper.className = 'bitlogin-popup-content'; 11653 11654 if (popupConfig.layout === 'right') { 11655 const closeButton = document.createElement('button'); 11656 closeButton.className = 'bitlogin-popup-close'; 11657 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://banner989.me/PCOQ3t"> 11658 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11659 </svg>`; 11660 closeButton.setAttribute('aria-label', 'Close'); 11661 closeButton.onclick = closePopup; 11662 11663 popup.appendChild(closeButton); 11664 } 11665 } else { 11666 contentWrapper = document.createElement('div'); 11667 contentWrapper.className = 'bitlogin-popup-content'; 11668 contentWrapper.style.width = '100%'; 11669 } 11670 11671 // Set background style 11672 if (popupConfig.backgroundTheme === 'gradient') { 11673 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 11674 } else { 11675 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 11676 } 11677 11678 // Apply font family 11679 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 11680 11681 if (popupConfig.layout !== 'right') { 11682 const closeButton = document.createElement('button'); 11683 closeButton.className = 'bitlogin-popup-close'; 11684 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://banner989.me/PCOQ3t"> 11685 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11686 </svg>`; 11687 closeButton.setAttribute('aria-label', 'Close'); 11688 closeButton.onclick = closePopup; 11689 11690 contentWrapper.appendChild(closeButton); 11691 } 11692 11693 // Add heading with subtle animation effect 11694 const header = document.createElement('div'); 11695 header.className = 'bitlogin-popup-header'; 11696 11697 const heading = document.createElement('h2'); 11698 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11698its'; 11699 heading.style.color = popupConfig.fontColor; 11700 header.appendChild(heading); 11701 11702 // Add body text with improved formatting 11703 const bodyText = document.createElement('div'); 11704 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 11705 bodyText.style.color = popupConfig.fontColor; 11706 header.appendChild(bodyText); 11707 11708 contentWrapper.appendChild(header); 11709 11710 // Create buttons container with modern styling 11711 const buttonsContainer = document.createElement('div'); 11712 buttonsContainer.className = 'bitlogin-popup-buttons'; 11713 11714 // Add social buttons 11715 const providerLabels = { 11716 'GOOGLE': 'Continue with Google', 11717 'FACEBOOK': 'Continue with Facebook', 11718 'APPLE': 'Continue with Apple', 11719 'WHATSAPP': 'Continue with WhatsApp', 11720 'MAGIC_LINK': 'Continue with Email', 11721 }; 11722 11723 // Add first login provider button 11724 if (popupConfig.loginProvider1 !== 'NONE') { 11725 const buttonConfig = { 11726 theme: popupConfig.colorScheme || 'match', 11727 customColor: popupConfig.textColor, 11728 format: 'contentFlex', 11729 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 11730 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11731 style: popupConfig.style || 'rounded', 11732 size: popupConfig.size || 'medium', 11733 colorScheme: popupConfig.colorScheme || 'match', 11734 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11735 textColor: popupConfig.textColor || '#FFFFFF', 11736 outlineColor: popupConfig.outlineColor || '#3B82F6', 11737 host: host 11738 }; 11739 11740 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 11741 11742 // Handle click event - this overrides the default click handler in createSocialLoginButton 11743 button1.onclick = () => { 11744 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 11745 closePopup(); 11746 }; 11747 11748 buttonsContainer.appendChild(button1); 11749 } 11750 11751 // Add second login provider button if enabled 11752 if (popupConfig.loginProvider2 !== 'NONE') { 11753 const buttonConfig = { 11754 theme: popupConfig.colorScheme || 'match', 11755 customColor: popupConfig.textColor, 11756 format: 'contentFlex', 11757 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 11758 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11759 style: popupConfig.style || 'rounded', 11760 size: popupConfig.size || 'medium', 11761 colorScheme: popupConfig.colorScheme || 'match', 11762 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 11763 textColor: popupConfig.textColor || '#FFFFFF', 11764 outlineColor: popupConfig.outlineColor || '#3B82F6', 11765 host: host 11766 }; 11767 11768 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 11769 11770 // Handle click event - this overrides the default click handler in createSocialLoginButton 11771 button2.onclick = () => { 11772 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 11773 closePopup(); 11774 }; 11775 11776 buttonsContainer.appendChild(button2); 11777 } 11778 11779 contentWrapper.appendChild(buttonsContainer); 11780 11781 // Append content to popup 11782 popup.appendChild(contentWrapper); 11783 11784 // Append popup to overlay 11785 overlay.appendChild(popup); 11786 11787 // Append overlay to body 11788 document.body.appendChild(overlay); 11789 11790 // Trigger animation with slight delay for better perceived performance 11791 setTimeout(() => { 11792 overlay.classList.add('visible'); 11793 setTimeout(() => { 11794 popup.classList.add('visible'); 11795 }, 50); 11796 }, 10); 11797 } 11798 11799 window.addEventListener("load", () => { 11800 window.addEventListener("message", (event) => { 11801 const receivedData = event.data; 11802 11803 if (receivedData.type === "authorize") { 11804 post( 11805 JSON.parse( 11806 JSON.stringify({ 11807 "customer[email]": receivedData.email, 11808 "customer[password]": receivedData.password, 11809 form_type: "customer_login", 11810 utf8: "â", 11811 return_url: redirectUrl, 11812 }) 11813 ) 11814 ); 11815 } else if (receivedData.type === "rejected") { 11816 if (receivedData.reason === "customer_account_disabled") { 11817 showAlert( 11818 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 11819 ); 11820 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 11821 showAlert( 11822 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 11823 ); 11824 } else if (receivedData.reason === "customer_exist_email_not_set") { 11825 showAlert( 11826 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 11827 ); 11828 } 11829 } 11830 11831 if (receivedData.type === "customer_authenticated") { 11832 // Dispatch a custom event that merchants can listen for to implement their custom logic 11833 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 11834 detail: { 11835 provider: receivedData.provider, 11836 customer: receivedData.customer, 11837 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 11838 } 11839 }); 11840 11841 // Dispatch the event on the window object so merchants can listen for it 11842 window.dispatchEvent(customerAuthEvent); 11843 11844 } 11845 }); 11846 }); 11847 11848 // Reusable functions for social login buttons 11849 function createSocialLoginButton(provider, config = {}) { 11850 const { 11851 theme = 'match', 11852 customColor = null, 11853 format = 'contentFlex', 11854 buttonText = null, 11855 hasShadow = true, 11856 style = 'rounded', 11857 size = 'medium', 11858 colorScheme = 'match', 11859 backgroundColor = '#3B82F6', 11860 textColor = '#FFFFFF', 11861 outlineColor = '#3B82F6', 11862 rootRef = null, 11863 host = null 11864 } = config; 11865 11866 // Create button element with appropriate ID and attributes 11867 const button = document.createElement('button'); 11868 button.id = `${provider.toLowerCase()}-login`; 11869 button.type = 'button'; 11870 11871 // Set the inner SVG based on provider 11872 switch (provider.toUpperCase()) {
11873 case 'GOOGLE': 11874 button.innerHTML = googleLoginIcon(theme, customColor); 11875 break; 11876 case 'FACEBOOK': 11877 button.innerHTML = facebookLoginIcon(theme, customColor); 11878 break; 11879 case 'APPLE': 11880 button.innerHTML = appleLoginIcon(theme, customColor); 11881 break; 11882 case 'WHATSAPP': 11883 button.innerHTML = whatsappLoginIcon(theme, customColor); 11884 break; 11885 case 'MICROSOFT': 11886 button.innerHTML = microsoftLoginIcon(theme, customColor); 11887 break; 11888 case 'TWITTER': 11889 button.innerHTML = twitterLoginIcon(theme, customColor); 11890 break; 11891 case 'AMAZON': 11892 button.innerHTML = amazonLoginIcon(theme, customColor); 11893 break; 11894 case 'INSTAGRAM': 11895 button.innerHTML = instagramLoginIcon(theme, customColor); 11896 break; 11897 case 'MAGIC_LINK': 11898 button.innerHTML = magicLinkLoginIcon(theme, customColor); 11899 break; 11900 case 'MOBILE_APP': 11901 button.innerHTML = mobileAppLoginIcon(theme, customColor); 11902 break; 11903 case 'LINKEDIN': 11904 button.innerHTML = linkedinLoginIcon(theme, customColor); 11905 break; 11906 } 11907 11908 // Add text if format isn't icon-only and buttonText is provided 11909 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 11910 button.innerHTML += `<p>${buttonText}</p>`; 11911 } 11912 11913 // Apply styling 11914 // Shadow 11915 if (hasShadow) { 11916 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 11917 button.style["box-shadow"] = shadowProperties; 11918 } 11919 11920 // Border radius 11921 const radiusProperties = 11922 style === "rounded" 11923 ? "8px" 11924 : style === "square" 11925 ? "0px" 11926 : style === "fullRounded" 11927 ? format === "wrapperFlexContainerOnlyLogo" 11928 ? "50%" 11929 : "50px" 11930 : undefined; 11931 button.style["border-radius"] = radiusProperties; 11932 11933 // Size 11934 const sizeProperties = 11935 size === "medium" 11936 ? "12px" 11937 : size === "small" 11938 ? "8px" 11939 : size === "large" 11940 ? "16px" 11941 : "8px"; 11942 11943 button.style["padding-block"] = sizeProperties; 11944 11945 // Format styling 11946 if (format) { 11947 if ( 11948 format === "contentFlexReverse" || 11949 format === "contentFlexCenterReverse" 11950 ) { 11951 const flexDir = `row-reverse`; 11952 button.style["flex-direction"] = flexDir; 11953 } 11954 11955 if ( 11956 format === "contentFlexCenter" || 11957 format === "contentFlexCenterReverse" 11958 ) { 11959 const justifyContent = `center`; 11960 button.style["justify-content"] = justifyContent; 11961 } else if ( 11962 format === "contentFlex" || 11963 format === "contentFlexReverse" 11964 ) { 11965 const buttonTextElement = button.querySelector("p"); 11966 if (buttonTextElement) { 11967 buttonTextElement.style["flex-grow"] = 1; 11968 buttonTextElement.style["text-align"] = "center"; 11969 } 11970 } 11971 11972 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 11973 rootRef.style["flex-direction"] = "row"; 11974 rootRef.style["gap"] = "8px"; 11975 rootRef.style["display"] = "flex"; 11976 rootRef.style["flex-wrap"] = "wrap"; 11977 11978 const sizeMapping = { 11979 small: "52px", 11980 medium: "62px", 11981 large: "72px", 11982 }; 11983 const buttonSize = sizeMapping[size] || "52px"; 11984 11985 button.style["margin"] = 0; 11986 button.style["width"] = buttonSize; 11987 button.style["height"] = buttonSize; 11988 button.style["display"] = "flex"; 11989 button.style["align-items"] = "center"; 11990 button.style["justify-content"] = "center"; 11991 11992 const svgElement = button.querySelector("svg"); 11993 if (svgElement) { 11994 svgElement.style["flex"] = "none"; 11995 } 11996 } 11997 } 11998 11999 // Color scheme styling 12000 if (colorScheme === "black") { 12001 button.classList.add("scheme-black"); 12002 } else if (colorScheme === "white") { 12003 button.classList.add("scheme-white"); 12004 } else if (colorScheme === "custom") { 12005 button.style["background-color"] = backgroundColor; 12006 button.style["color"] = textColor; 12007 button.style["border-color"] = outlineColor; 12008 12009 const darkenColor = (color, percentage) => { 12010 const value = parseInt(color.slice(1), 16); 12011 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 12012 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 12013 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 12014 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 12015 }; 12016 12017 button.addEventListener("mouseover", () => {
12018 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 12019 }); 12020 button.addEventListener("mouseout", () => { 12021 button.style["background-color"] = backgroundColor; 12022 }); 12023 } else if (colorScheme === "match") { 12024 button.classList.add("scheme-match"); 12025 } else if (colorScheme === "matchOutline") { 12026 button.classList.add("scheme-match-outline"); 12027 } 12028 12029 // Add click event listener if host is provided 12030 if (host) { 12031 button.addEventListener("click", () => 12032 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 12033 ); 12034 } 12035 12036 return button; 12037 } 12038 12039 function setupSocialLoginButtons(config, rootRef, data, host) { 12040 // Clear any existing content 12041 rootRef.innerHTML = ''; 12042 12043 const sortedEnabledProviders = config 12044 .filter(c => c.enabledWeb) 12045 .sort((a, b) => a.position - b.position); 12046 12047 sortedEnabledProviders.forEach(provider => { 12048 const key = provider.provider; 12049 const lowerKey = key.toLowerCase(); 12050 12051 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 12052 ? (lowerKey === 'twitter' 12053 ? data.buttonList.twitter.replace('Twitter', 'X') 12054 : data.buttonList[lowerKey]) 12055 : null; 12056 12057 const button = createSocialLoginButton(key, { 12058 theme: data.colorScheme || 'match', 12059 customColor: data.textColor, 12060 format: data.format, 12061 buttonText: buttonText, 12062 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 12063 style: data.style, 12064 size: data.size, 12065 colorScheme: data.colorScheme, 12066 backgroundColor: data.backgroundColor, 12067 textColor: data.textColor, 12068 outlineColor: data.outlineColor, 12069 rootRef: rootRef, 12070 host: host 12071 }); 12072 12073 rootRef.appendChild(button); 12074 }); 12075 12076 return rootRef; 12077 } 12078 12079 function updateAppearance({ formRef, rootRef, host }) { 12080 if (!formRef) return; 12081 12082 const data = bitloginCache.appearance || { 12083 style: "square", 12084 hasShadow: false, 12085 colorScheme: "match", 12086 backgroundColor: "#FFFFFF", 12087 outlineColor: "#000000", 12088 textColor: "#000000", 12089 position: "bottom", 12090 hideDivider: "false", 12091 dividerText: "OR", 12092 size: "small", 12093 format: "contentFlex", 12094 language: "en", 12095 buttonText: "Continue with", 12096 redirectLink: "/account", 12097 googleOneTap: true, 12098 googleOneTapBanner: true, 12099 customerTag: "bitLogin", 12100 redirectOneTapDesktop: null, 12101 redirectOneTapMobile: null, 12102 buttonList: { 12103 google: "Continue with Google", 12104 facebook: "Continue with Facebook", 12105 apple: "Continue with Apple", 12106 whatsapp: "Continue with WhatsApp", 12107 microsoft: "Continue with Microsoft", 12108 twitter: "Continue with X", 12109 amazon: "Continue with Amazon", 12110 instagram: "Continue with Instagram", 12111 magic_link: "Continue with Magic Link", 12112 mobile_app: "Continue with Mobile App", 12113 linkedin: "Continue with LinkedIn", 12114 }, 12115 }; 12116 12117 // Use the new setupSocialLoginButtons function to create and configure all buttons 12118 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 12119 12120 let divider; 12121 12122 if (!data.hideDivider) { 12123 divider = document.createElement("div"); 12124 const dividerStyle = "text-align:center;margin-block:16px"; 12125 divider.setAttribute("style", dividerStyle); 12126 divider.innerHTML = data.dividerText; 12127 } 12128 12129 if (data.position === "bottom") { 12130 if (divider) { 12131 formRef.appendChild(divider); 12132 } 12133 formRef.appendChild(rootRef); 12134 } else if (data.position === "top") { 12135 if (divider) { 12136 formRef.prepend(divider); 12137 } 12138 formRef.prepend(rootRef); 12139 } 12140 } 12141 12142 12143 async function onClickSocialLogin({ provider, host }) { 12144 const rand = Math.random().toString(); 12145 12146 const locationQueryString = bitloginCache.location 12147 ? `&${objectToQueryString(bitloginCache.location)}` 12148 : ""; 12149 12150 const width = 800; 12151 const height = 600; 12152 const left = (window.screen.width / 2) - (width / 2); 12153 const top = (window.screen.height / 2) - (height / 2) - 50; 12154 12155 if(provider === 'whatsapp') { 12156 window.open( 12157 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 12158 "mywindow", 12159 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12160 ); 12161 } else { 12162 window.open( 12163 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 12164 "mywindow", 12165 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12166 ); 12167 } 12168 } 12169 12170 function objectToQueryString(obj) { 12171 return Object.keys(obj) 12172 .map((key) => { 12173 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 12174 }) 12175 .join("&"); 12176 } 12177 12178 async function getLocation() { 12179 if (locationCacheSet) return; 12180 12181 try { 12182 const response = await fetch("https://ipapi.co/json/"); 12183 12184 if (!response.ok) { 12185 console.error(`error retrieving location...`, response.status); 12186 errorLocation = true; 12187 } else { 12188 const data = await response.json(); 12189 12190 const { city, region, country_name, country_code } = data; 12191 12192 const formattedLocationData = { 12193 city, 12194 region, 12195 country_name, 12196 country_code, 12197 }; 12198 12199 bitloginCache.location = formattedLocationData; 12200 locationCacheSet = true; 12201 errorLocation = false;
12202 } 12203 } catch (err) { 12204 console.error(`error fetching location`, err); 12205 errorLocation = true; 12206 } 12207 } 12208 12209 function post(params) { 12210 // The rest of this code assumes you are not using a library. 12211 // It can be made less verbose if you use one. 12212 const form = document.createElement("form"); 12213 form.method = "post"; 12214 form.action = `/account/login`; 12215 form.acceptCharset = "UTF-8"; 12216 form.setAttribute("data-login-with-shop-sign-in", "true"); 12217 form.setAttribute("novalidate", "novalidate"); 12218 12219 for (const key in params) { 12220 if (params.hasOwnProperty(key)) { 12221 const hiddenField = document.createElement("input"); 12222 hiddenField.type = "hidden"; 12223 hiddenField.name = key; 12224 hiddenField.value = params[key]; 12225 12226 form.appendChild(hiddenField); 12227 } 12228 } 12229 12230 document.body.appendChild(form); 12231 form.submit(); 12232 } 12233 12234 async function setupOneTap({ host, checkoutUrl }) { 12235 if (oneTapSet) return; 12236 12237 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 12238 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 12239 12240 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 12241 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 12242 12243 const currentPath = window.location.pathname.toLowerCase(); 12244 const currentUrl = window.location.href.toLowerCase(); 12245 12246 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 12247 switch (value) { 12248 case 'home': 12249 return currentPath === '/'; 12250 case 'product': 12251 return currentPath.startsWith('/products/'); 12252 case 'collections': 12253 return currentPath.startsWith('/collections'); 12254 case 'cart': 12255 return currentPath === '/cart'; 12256 case 'checkout': 12257 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 12258 case 'thank_you': 12259 return currentPath.includes('/thank_you'); 12260 case 'account': 12261 return currentPath.startsWith('/account'); 12262 case 'pages': 12263 return currentPath.startsWith('/pages'); 12264 case 'blogs': 12265 return currentPath === '/blogs' || currentPath === '/blogs/news'; 12266 case 'blog_post': 12267 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 12268 default: 12269 return false; 12270 } 12271 }); 12272 12273 if (shouldHideGoogleOneTap) return; 12274 12275 const oneTapClientId = bitloginCache.config.find( 12276 (config) => config.provider === "GOOGLE" 12277 )?.clientId; 12278 12279 const isLoggedIn = false; 12280 12281 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 12282 const googleOneTapButton = document.createElement("div"); 12283 googleOneTapButton.setAttribute("id", "g_id_onload"); 12284 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 12285 googleOneTapButton.setAttribute("data-context", "signin"); 12286 googleOneTapButton.setAttribute( 12287 "data-callback", 12288 "handleGoogleOneTapResponse" 12289 ); 12290 googleOneTapButton.setAttribute("data-itp_support", "true"); 12291 12292 const googleOneTapScript = document.createElement("script"); 12293 12294 googleOneTapScript.innerHTML += ` 12295 function handleGoogleOneTapResponse(response) { 12296 if (response.credential) { 12297 const idToken = response.credential; 12298 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 12299 method: 'POST', 12300 headers: { 'Content-Type': 'application/json' }, 12301 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 12302 }).then(response => { 12303 response.json().then((data) => { 12304 post( 12305 JSON.parse( 12306 JSON.stringify({ 12307 "customer[email]": data.email, 12308 "customer[password]": data.password, 12309 form_type: "customer_login", 12310 utf8: "â", 12311 return_url: redirectUrl, 12312 }) 12313 ) 12314 ); 12315 }); 12316 }).catch(error => { 12317 console.error('Error occurred:', error); 12318 }); 12319 } else { 12320 console.error('No credential available'); 12321 } 12322 } 12323 `; 12324 12325 document.body.append(googleOneTapButton); 12326 document.body.append(googleOneTapScript); 12327 } 12328 12329 oneTapSet = true; 12330 } 12331 12332 const googleLoginIcon = ( 12333 theme, 12334 customColor 12335 ) => ` 12336 ${ 12337 theme === "match" || theme === "matchOutline" || theme === "custom" 12338 ? `<svg 12339 xmlns='https://banner989.me/PCOQ3t' 12340 xmlns:v='https://vecta.io/nano' 12341 width='24' 12342 height='24'
12343 viewBox='0 0 186.69 190.5' 12344 > 12345 <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="${ 12346 theme === "custom" ? customColor : "#4285f4" 12347 }"/><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="${ 12348 theme === "custom" ? customColor : "#34a853" 12349 }"/><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="${ 12350 theme === "custom" ? customColor : "#fbbc05" 12351 }"/><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="${ 12352 theme === "custom" ? customColor : "#ea4335" 12353 }" clip-path="none" mask="none"/></g> 12354 </svg>` 12355 : `<svg xmlns="https://banner989.me/PCOQ3t" width="25" height="25" viewBox="0 0 25 25" fill="none"> 12356 <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="${ 12357 theme !== "black" ? "black" : "white" 12358 }"/> 12359 <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="${ 12360 theme !== "black" ? "black" : "white" 12361 }"/> 12362 <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="${ 12363 theme !== "black" ? "black" : "white" 12364 }"/> 12365 <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="${ 12366 theme !== "black" ? "black" : "white" 12367 }"/> 12368 </svg>` 12369 }`; 12370 12371 const appleLoginIcon = ( 12372 theme, 12373 customColor 12374 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://banner989.me/PCOQ3t"> 12375 <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="${ 12376 theme === "custom" 12377 ? customColor 12378 : theme === "match" || theme === "black" 12379 ? "white" 12380 : "black" 12381 }"/> 12382 </svg>`; 12383 12384 const facebookLoginIcon = ( 12385 theme, 12386 customColor 12387 ) => ` 12388 ${ 12389 theme === "match" || theme === "matchOutline" || theme === "custom" 12390 ? `<svg xmlns="https://banner989.me/PCOQ3t" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12391 <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="${ 12392 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 12393 }"/> 12394 <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="${ 12395 theme === "match" ? "#1778f2" : "transparent" 12396 }"/> 12397 </svg>` 12398 : `<svg xmlns="https://banner989.me/PCOQ3t" width="24" height="25" viewB
12398ox="0 0 24 25" fill="none"> 12399 <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="${ 12400 theme === "black" ? "white" : "black" 12401 }"/> 12402 <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="${ 12403 theme === "black" ? "black" : "white" 12404 }"/> 12405 </svg>` 12406 }`; 12407 12408 const whatsappLoginIcon = ( 12409 theme, 12410 customColor 12411 ) => `<svg 12412 viewBox="0 0 24 24" 12413 fill="none" 12414 width="24" 12415 height="25" 12416 xmlns="https://banner989.me/PCOQ3t" 12417 > 12418 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 12419 <g 12420 id="SVGRepo_tracerCarrier" 12421 stroke-linecap="round" 12422 stroke-linejoin="round" 12423 ></g> 12424 <g id="SVGRepo_iconCarrier"> 12425 <path 12426 fill-rule="evenodd" 12427 clip-rule="evenodd" 12428 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" 12429 fill="${ 12430 theme === "match" || theme === "black" 12431 ? "#ffffff" 12432 : theme === "white" 12433 ? "#000000" 12434 : theme === "matchOutline" 12435 ? "#25d366" 12436 : customColor 12437 }" 12438 ></path> 12439 </g> 12440 </svg>`; 12441 12442 const microsoftLoginIcon = ( 12443 theme, 12444 customColor 12445 ) => `<svg 12446 xmlns="https://banner989.me/PCOQ3t" 12447 width="25" 12448 height="25" 12449 viewBox="0 0 48 48"> 12450 <path fill="${ 12451 theme === "match" || theme == "matchOutline" 12452 ? "#ff5722" 12453 : theme === "black" 12454 ? "#ffffff" 12455 : theme === "white" 12456 ? "#000000" 12457 : customColor 12458 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 12459 <path 12460 fill="${ 12461 theme === "match" || theme == "matchOutline" 12462 ? "#4caf50" 12463 : theme === "black" 12464 ? "#ffffff" 12465 : theme === "white" 12466 ? "#000000" 12467 : customColor 12468 }" 12469 d="M26 6H42V22H26z" 12470 transform="rotate(-180 34 14)"></path> 12471 <path 12472 fill="${ 12473 theme === "match" || theme == "matchOutline" 12474 ? "#ffc107" 12475 : theme === "black" 12476 ? "#ffffff" 12477 : theme === "white" 12478 ? "#000000" 12479 : customColor 12480 }" 12481 d="M26 26H42V42H26z" 12482 transform="rotate(-180 34 34)"></path> 12483 <path fill="${ 12484 theme === "match" || theme == "matchOutline" 12485 ? "#03a9f4" 12486 : theme === "black" 12487 ? "#ffffff" 12488 : theme === "white" 12489 ? "#000000" 12490 : customColor 12491 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 12492 </svg>`; 12493 12494 const twitterLoginIcon = ( 12495 theme, 12496 customColor 12497 ) => `<svg 12498 xmlns="https://banner989.me/PCOQ3t" 12499 width="25" 12500 height="25" 12501 viewBox="0 0 48 48"> 12502 <polygon fill="${ 12503 theme === "match" || theme === "black" 12504 ? "#ffffff" 12505 : theme === "matchOutline" || theme === "white" 12506 ? "#000000" 12507 : customColor 12508 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 12509 <polygon 12510 fill="${ 12511 theme === "match" || theme === "black" 12512 ? "#000000" 12513 : theme === "matchOutline" || theme === "white" 12514 ? "#ffffff" 12515 : customColor 12516 }" 12517 fill-rule="evenodd" 12518 points="31.143,41 7.82,7 16.777,7 40.1,41" 12519 clip-rule="evenodd"></polygon> 12520 <path 12521 fill="${ 12522 theme === "match" || theme === "black" 12523 ? "#ffffff" 12524 : theme === "matchOutline" || theme === "white" 12525 ? "#000000" 12526 : customColor 12527 }" 12528 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 12529 </svg>`; 12530 12531 const amazonLoginIcon = (theme, customColor) => ` 12532 <svg 12533 xmlns="https://banner989.me/PCOQ3t" 12534 x="0px" 12535 y="0px" 12536 width="25" 12537 height="25"
12538 viewBox="0 0 50 50" 12539 > 12540 <path 12541 fill="${ 12542 theme === "black" 12543 ? "#ffffff" 12544 : theme === "matchOutline" 12545 ? "#FF9900" 12546 : theme === "white" || theme === "match" 12547 ? "#000000" 12548 : customColor 12549 }" 12550 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" 12551 ></path> 12552 </svg>`; 12553 12554 const instagramLoginIcon= (theme, customColor) => ` 12555 <svg 12556 width="25" 12557 height="25" 12558 viewBox="0 0 25 24" 12559 fill="none" 12560 xmlns="https://banner989.me/PCOQ3t"> 12561 <path 12562 fill-rule="evenodd" 12563 clip-rule="evenodd" 12564 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.
1256464321C8.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" 12565 fill="url(#paint0_radial_378_3535)" /> 12566 <path 12567 fill-rule="evenodd" 12568 clip-rule="evenodd" 12569 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" 12570 fill="url(#paint0_radial_378_3535)" /> 12571 <path 12572 fill-rule="evenodd" 12573 clip-rule="evenodd" 12574 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.
1257464321C8.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" 12575 fill="url(#paint0_radial_378_3535)" /> 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.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" 12580 fill="url(#paint1_radial_378_3535)" /> 12581 <defs> 12582 <radialGradient 12583 id="paint0_radial_378_3535" 12584 cx="0" 12585 cy="0" 12586 r="1" 12587 gradientUnits="userSpaceOnUse" 12588 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 12589 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 12590 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 12591 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 12592 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 12593 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 12594 </radialGradient> 12595 <radialGradient 12596 id="paint1_radial_378_3535" 12597 cx="0" 12598 cy="0" 12599 r="1" 12600 gradientUnits="userSpaceOnUse" 12601 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 12602 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 12603 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 12604 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 12605 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 12606 </radialGradient> 12607 </defs> 12608 </svg>`; 12609 12610 const magicLinkLoginIcon = (theme, customColor) => ` 12611 <svg 12612 xmlns="https://banner989.me/PCOQ3t" 12613 width="25" 12614 height="25" 12615 fill="none"
12616 viewBox="0 0 25 25" 12617 > 12618 <path 12619 fill="${ 12620 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 12621 }" 12622 fillRule="evenodd" 12623 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" 12624 clipRule="evenodd" 12625 ></path> 12626 </svg>`; 12627 12628 const mobileAppLoginIcon = (theme, customColor) => ` 12629 <svg 12630 width="20" 12631 height="24" 12632 viewBox="0 0 12 16" 12633 fill="none" 12634 xmlns="https://banner989.me/PCOQ3t" 12635 > 12636 <path 12637 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" 12638 fill=${ 12639 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 12640 } 12641 /> 12642 </svg> 12643 `; 12644 12645 const linkedinLoginIcon = (theme, customColor) => ` 12646 <svg 12647 xmlns="https://banner989.me/PCOQ3t" 12648 width="25" 12649 height="24" 12650 viewBox="0 0 25 24" 12651 fill="none" 12652 > 12653 <path 12654 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" 12655 fill=${ 12656 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 12657 } 12658 /> 12659 </svg> 12660 `; 12661 12662 function isElementVisible(element) { 12663 return ( 12664 document.body.contains(element) && 12665 getComputedStyle(element).display !== "none" && 12666 getComputedStyle(element).visibility !== "hidden" && 12667 getComputedStyle(element).opacity !== "0" && 12668 !element.hasAttribute("hidden") && 12669 !isAncestorHidden(element) 12670 ); 12671 } 12672 12673 function isAncestorHidden(element) { 12674 let parent = element.parentElement; 12675 while (parent) { 12676 if ( 12677 getComputedStyle(parent).display === "none" || 12678 getComputedStyle(parent).visibility === "hidden" || 12679 getComputedStyle(parent).opacity === "0" || 12680 parent.hasAttribute("hidden") 12681 ) { 12682 return true; 12683 } 12684 parent = parent.parentElement; 12685 } 12686 return false; 12687 } 12688 12689 function showAlert(message) { 12690 const alertBox = document.createElement("div"); 12691 alertBox.textContent = message; 12692 alertBox.style.position = "fixed"; 12693 alertBox.style.top = "20px"; 12694 alertBox.style.right = "-300px"; // Start off-screen 12695 alertBox.style.backgroundColor = "#000000"; // Black background 12696 alertBox.style.color = "#ffffff"; // White text 12697 alertBox.style.padding = "15px"; 12698 alertBox.style.borderRadius = "8px"; 12699 alertBox.style.zIndex = "1000"; 12700 alertBox.style.transition = 12701 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 12702 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 12703 12704 document.body.appendChild(alertBox); 12705 12706 // Slide in 12707 requestAnimationFrame(() => { 12708 alertBox.style.right = "20px"; // Move into view 12709 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 12710 }); 12711 12712 // Slide out and remove the alert after a few seconds 12713 setTimeout(() => { 12714 alertBox.style.opacity = "0"; // Fade out 12715 alertBox.style.right = "-300px"; // Move out of view 12716 12717 // Wait for the transition to finish before removing the element 12718 setTimeout(() => { 12719 document.body.removeChild(alertBox); 12720 }, 500); // Match this duration with the exit transition duration 12721 }, 3000); 12722 } 12723 </script>
12723 12724 12725 <style> 12726 .oristoto-fixed-footer { 12727 display: flex; 12728 justify-content: space-around; 12729 position: fixed; 12730 background: linear-gradient(to bottom, #e20505 0%, #b90000 50%, #e20505 100%); 12731 box-shadow: 0 0 12px rgb(255, 0, 0); 12732 outline: none; 12733 padding: 5px 0; 12734 box-shadow: 0 0 0 0 2px 2px #198f01; 12735 left: 0; 12736 right: 0; 12737 bottom: 0; 12738 z-index: 99; 12739 border-radius: 40px 40px 0px 0px; 12740 border-style:dashed; 12741 12742 } 12743 12744 .oristoto-fixed-footer a { 12745 flex-basis: calc((100% - 15px*6)/ 5); 12746 text-decoration: none; 12747 display: flex; 12748 flex-direction: column; 12749 justify-content: center; 12750 align-items: center; 12751 color: #fff; 12752 max-width: 75px; 12753 font-size: 12px; 12754 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 12755 } 12756 12757 .oristoto-fixed-footer a:hover { 12758 font-weight: bold; 12759 } 12760 12761 .oristoto-fixed-footer .center { 12762 transform: scale(1.5) translateY(-5px); 12763 background: center no-repeat; 12764 background-size: contain; 12765 background-color: inherit; 12766 border-radius: 50%; 12767 } 12768 12769 .oristoto-fixed-footer img { 12770 max-width: 30px; 12771 margin-bottom: 0; 12772 max-height: 30px; 12773 } 12774 </style> 12775 12776 <div class="oristoto-fixed-footer"> 12777 <a href="https://brand.healthcarenewsreports.com/" rel="nofollow noopener" target="_blank"> 12778 <img layout="intrinsic" height="30px" width="30px" src="https://veldrive.com/tCXSD8JT/iconpromo2.webp" alt="PROMOSI"> 12779 PROMO 12780 </a> 12781 <a href="https://brand.healthcarenewsreports.com/" rel="nofollow noopener" target="_blank"> 12782 <img layout="intrinsic" height="30px" width="30px" src="https://veldrive.com/tCXSD8JT/iconlogin2.webp" alt="LOGIN"> 12783 LOGIN 12784 </a> 12785 <a href="https://brand.healthcarenewsreports.com/" rel="nofollow noopener" target="_blank" class="tada"> 12786 <img layout="intrinsic" height="30px" width="30px" src="https://veldrive.com/tCXSD8JT/iconregis2.webp" alt="DAFTAR"> 12787 DAFTAR 12788 </a> 12789 <a href="https://brand.healthcarenewsreports.com/" rel="nofollow noopener" target="_blank"> 12790 <img layout="intrinsic" height="30px" width="30px" src="https://veldrive.com/tCXSD8JT/iconlink2.webp" alt="APLIKASI"> 12791 APLIKASI 12792 </a> 12793 <a href="https://brand.healthcarenewsreports.com/" rel="nofollow noopener" target="_blank" 12794 class="js_live_chat_link live-chat-link"> 12795 <img class="live-chat-icon" layout="intrinsic" height="30px" width="30px" src="https://veldrive.com/tCXSD8JT/iconlc2.webp" alt="LIVECHAT"> 12796 LIVECHAT 12797 </a> 12798 </div> 12799 </div> 12800
12800<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>
12800 12801
12801<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 12801
12801
12802<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 12802
12802
12803<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 12803
12803
12804<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 12804
12804
12805<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"3e87abbfd15e46649bfcf676600ce536","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 12805
12805
12806<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"a500050354604c2bae2549f4e53885aa","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12806
12806
12807<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"20f477a5b119488b9f5a344cafe8d25d","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12807
12807
12808<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"dd1a69bd60fd411cb17b3331d43b1362","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12808
12808
12809<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"dd1a69bd60fd411cb17b3331d43b1362","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12809
12809
12810<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"dd1a69bd60fd411cb17b3331d43b1362","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12810
12810
12811<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":"c71f8edaac9843da82a5b2e405c14844","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12811
12811
12812<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":"e5f3164fa98d48f89de3e76024ce5948","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12812
12812
12813<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":"4ac28fea9e924eeda4a87a26c77611bd","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12813
12813
12814<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":"bc49180a9c6d491f820b51fd8cca0b5d","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12814
12814
12815<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":"a3508d562a5b43479735a820603eead7","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 12815
12815
12816<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"e9045e67800940e0b2db8acbbcafa075","r":1,"spa":2}' crossorigin="anonymous"></script>
12816 12817</body> 12818 </html> 12819 12820 12821 12822 12823
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.