1 2<!doctype html> 3 <!--SEOMAN KUCRUT--> 4 <html class="no-js"> 5 <head> 6 <meta charset="utf-8"> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 8 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 9 <meta name="apple-itunes-app" content="app-id=1576832504"> 10 <meta name="google-site-verification" content="WpF6rK7YAE1ZcxnBeBTrs621uckCet-TdAC5Dm5lC9U" /> 11 <link rel="icon" type="image/x-icon" href="https://i.postimg.cc/52v7CzMr/axe-ni.png"> 12 <!-- Title and description --> 13 <title>AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini</title> 14 <meta name="description" content="AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini."> 15 <meta name="keywords" content="axeslot, axeslot daftar, axeslot login, axeslot link, axeslot alternatif, axeslot rtp" /> 16 <link rel="canonical" href="https://amp-kmpa.web.app/"> 17 <link rel="amphtml" href="https://amp-kmpa-new.pages.dev/" /> 18 <link rel="alternate" href="https://amp-kmpa-new.pages.dev/"/> 19 <link rel="alternate" hreflang="id" href="https://amp-kmpa-new.pages.dev/"/> 20 <link rel="alternate" hreflang="en" href="https://amp-kmpa-new.pages.dev/"/> 21 <!-- /snippets/social-meta-tags.liquid --> 22 <meta property="og:type" content="AXESLOT"> 23 <meta property="og:title" content="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini"> 24 <meta property="og:image" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 25 <meta property="og:image:secure_url" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 26 <meta property="og:image" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 27 <meta property="og:image:secure_url" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 28 <meta property="og:image" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 29 <meta property="og:image:secure_url" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 30 <meta property="og:description" content="AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini."> 31 <meta property="og:price:amount" content="10,000-,"> 32 <meta property="og:price:currency" content="IDR"> 33 <meta property="og:url" content="https://amp-kmpa.web.app/"> 34 <meta property="og:site_name" content="AXESLOT"> 35 <meta name="twitter:site" content="@AXESLOT"> 36 <meta name="twitter:card" content="summary"> 37 <meta name="twitter:title" content="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini"> 38 <meta name="twitter:description" content="AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini."> 39 <meta name="twitter:image" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 40 <meta name="twitter:image:width" content="600"> 41 <meta name="twitter:image:height" content="600"> 42 <link rel="shortcut icon" href="https://i.postimg.cc/52v7CzMr/axe-ni.png" type="image/png"> 43 <meta name="theme-color" content="#ffffff"> 44 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 45 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 46 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
46<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
46 47
47<script 48 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 49 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 50 crossorigin="anonymous" 51 referrerpolicy="no-referrer" 52 defer 53 ></script>
53 54
54<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
54 55
55<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
55<!-- Facebook Pixel Code --> 56
56<script>
vendor: 471 bytes, lines 56-65
56 57 !function(f,b,e,v,n,t,s) 58 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 59 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 60 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 61 n.queue=[];t=b.createElement(e);t.async=!0; 62 t.src=v;s=b.getElementsByTagName(e)[0]; 63 s.parentNode.insertBefore(t,s)}(window, document,'script', 64 'https://connect.facebook.net/en_US/fbevents.js'); 65 fbq('init', '
65165971065669324
vendor: 44 bytes, lines 65-67
65'); 66 fbq('track', 'PageView'); 67
67</script>
67 68 <noscript 69 ><img 70 height="1" 71 width="1" 72 style="display:none" 73 src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1" 74 ></noscript> 75 <!-- End Facebook Pixel Code --> 76 77 <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking --> 78 <!-- 79 Global site tag (gtag.js) - Google Analytics -->
vendor: 76 bytes, lines 79-80
79 80 <script async src="https://www.googletagmanager.com/gtag/js?id=
80G-X26HYP4083
vendor: 24 bytes, lines 80-81
80"></script> 81
81<script> 82
vendor: 174 bytes, lines 82-86
82window.dataLayer = window.dataLayer || []; 83 function gtag(){dataLayer.push(arguments);} 84 gtag('js', new Date()); 85 86 gtag('config', '
86G-X26HYP4083
vendor: 16 bytes, lines 86-87
86'); 87
87</script>
87 88 <!-- Global site tag (gtag.js) - Google Analytics --> 89 90 <div class="button-login-daftar"> 91 <a class="login" href="https://amp-kmpa-new.pages.dev/" rel="nofollow noreferrer" style="color: rgb(255, 255, 255);"> 92 LOGIN 93 </a> 94 <a class="register" href="https://amp-kmpa-new.pages.dev/" rel="nofollow noreferrer" style="color: rgb(255, 255, 255);"> 95 DAFTAR 96 </a> 97 </div> 98 99
99<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
99 100 101 <!-- Bing UET --> 102
102<script> 103 (function(w,d,t,r,u) 104 { 105 var f,n,i; 106 w[u]=w[u]||[],f=function() 107 { 108 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 109 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 110 }, 111 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 112 { 113 var s=this.readyState; 114 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 115 }, 116 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 117 }) 118 (window,document,"script","//bat.bing.com/bat.js","uetq"); 119 </script>
119 120
120<script> 121 window.uetq = window.uetq || []; 122 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 123 </script>
123 124 <!-- End Bing UET --> 125 126 <!-- Microsoft Clarity --> 127
127<script type="text/javascript"> 128 (function(c,l,a,r,i,t,y){ 129 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 130 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 131 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 132 })(window, document, "clarity", "script", "h7rbxqry9k"); 133 </script>
133 134 <!-- End Microsoft Clarity --> 135 136 137 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 138 139 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 140 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 141 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://amp-kmpa.web.app/.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":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","vendor":"Outerbloom Florist","id":"8144957800663","untranslatedTitle":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","url":"\/products\/blossom-shine","type":"AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini."},"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\":\"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini\",\"url\":\"\/products\/blossom-shine\",\"type\":\"AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.\"},\"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":"AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.","variants":[{"id":44083045826775,"price":1000000 223 ,"name":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","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":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.","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":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","price":"835000.00","sku":"OBVSTF1086","brand":"Outerbloom Florist","variant":null,"category":"AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.","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 </head><body 419 data-template="product" 420 id="blossom-shine" 421 class="template-product template-product" 422 > 423 <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 423-426
423 424 <noscript 425 ><iframe 426 src="https://www.googletagmanager.com/ns.html?id=
426GTM-MF9VVZX
vendor: 135 bytes, lines 426-432
426" 427 height="0" 428 width="0" 429 style="display:none;visibility:hidden" 430 ></iframe 431 ></noscript> 432
432<!-- End Google Tag Manager (noscript) --> 433 434 435 436 <div class="header-wrapper"> 437 438 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 439 440 <style> 441 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 442 #notification.promo-up {top: -48px!important;} 443 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 444 .notification__message p {margin: 0;color: #ffffff;font-size: 14px!important;} 445 .notification__message p a {text-decoration: underline;color: #ffffff;} 446 @media (max-width: 991px){ 447 .notification__message p {font-size: 14px!important;} 448 } 449 </style> 450 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 451 <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"> 452 <div class="page-width notification__inner "> 453 454 455 <div class="notification__message text-center"> 456 <p><a href="https://amp-kmpa.web.app/" title="AXESLOT">AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini</a></p> 457 </div> 458 </div> 459 </div> 460 461 462 463 464 </div> 465 <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"/> 466 467 468 <header style="background-image: url(https://imgstore.io/images/2024/11/17/namatoko-background.gif); background-attachment: fixed;"> 469 <div class="container"> 470 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 471 <a href="https://amp-kmpa.web.app/"> 472 <img src="https://i.imgur.com/aqQVUjq.png" alt="logo-axeslot" style="width: 190px;"></a> 473 <link href="https://i.postimg.cc/52v7CzMr/axe-ni.png" rel="shortcut icon" type="image/x-icon" /> 474 <div id="menu-hamburger" class="d-lg-none"> 475 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 476 <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"/> 477 </svg> 478 479 <a href="/"><svg xmlns="https://i.imgur.com/aqQVUjq.png" viewBox="0 0 854 78.29"> 480 <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> 481 </svg> 482 </a> 483 </div> 484 485 <div class="header-icon-right header-icons col-3"> 486 <div class="icon icon-account-header d-none d-lg-block"> 487 <a href="https://amp-kmpa.web.app/"> 488 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 489 <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"/> 490 <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"/> 491 </svg> 492
493 </a> 494 </div> 495 <div class="icon icon-wishlist-header"> 496 <a href="https://amp-kmpa.web.app/"> 497 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 498 <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.
49811233C11.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"/> 499 </svg> 500 501 <span class="wishlist-count d-none">0</span> 502 </a> 503 </div> 504 <div class="icon icon-cart-header"> 505 <a href="https://amp-kmpa.web.app/"> 506 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 507 <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"/> 508 <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"/> 509 </svg> 510 511 </a> 512 </div> 513 </div> 514 </div> 515 </div> 516 </header> 517 518 <nav class="nav-header" style="background-color: #242424;"> 519 <div class="nav-account-mobile row m-0 d-lg-none"> 520 <div class="col-6 welcome-cust p-0"> 521 522 <h1 class="logo"> 523 <a href="https://amp-kmpa.web.app/"> 524 <img src="https://i.imgur.com/aqQVUjq.png" alt="AXESLOT" style="max-height:60px;"> 525 </a> 526 </h1> 527 528 529 </div> 530 531 <div class="col-6 login-register text-right p-0"> 532 <a href="https://amp-kmpa.web.app/">Log In</a> | <a href="https://amp-kmpa.web.app/">Sign Up</a> 533 </div> 534 </div> 535 <ul class="nav-menu container"> 536 537 <li class="nav-menu container"> 538 <a href="https://amp-kmpa.web.app/"> 539 <span style="color: #ffffff;">AXESLOT</span> 540 541 542 <li class=" nav-menu container"> 543 <a href="https://amp-kmpa.web.app/"> 544 <span style="color: #ffffff;">AXESLOT UPDATE </span> 545 546 547 <li class=" nav-menu container"> 548 <a href="https://amp-kmpa.web.app/"> 549 <span style="color: #ffffff;">AXESLOT LINK</span> 550 551 <li class=" nav-menu container"> 552 <a href="https://amp-kmpa.web.app/"> 553 <span style="color: #ffffff;">Play Game AXESLOT</span> 554 555 <li class=" nav-menu container"> 556 <a href="https://amp-kmpa.web.app/"> 557 <span style="color: #ffffff;">LINK ALTERNATIF AXESLOT</span> 558 559 <li class=" nav-menu container"> 560 <a href="https://amp-kmpa.web.app/"> 561 <span style="color: #ffffff;">AXESLOT RESMI</span> 562 563 <div class="overlay-nav"> 564 <!-- Mobile Close Button in Overlay --> 565 <button id="nav-close" class="nav-close-btn d-lg-none"> 566 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 567 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 568 </svg> 569 </button> 570 </div> 571 572
572<script> 573 if ($(window).width() < 992) { 574 // Level 1 menu accordion (main menu items) 575 $(".nav-menu .nav-menu container > a").click(function(e){ 576 e.preventDefault() 577 const parentLi = $(this).parent() 578 const isCurrentlyOpen = parentLi.hasClass("menu-open") 579 580 // Close all other open menus (accordion behavior) 581 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 582 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 583 584 // Toggle current menu 585 if (isCurrentlyOpen) { 586 parentLi.removeClass("menu-open") 587 $(this).next(".megamenu").slideUp() 588 } else { 589 parentLi.addClass("menu-open") 590 $(this).next(".megamenu").slideDown() 591 } 592 }) 593 594 // Level 2 menu accordion (submenu items with grandchildren) 595 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 596 e.preventDefault() 597 const parentLi = $(this).parent() 598 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 599 const grandchild = $(this).next(".grandchild") 600 601 // Close all other open submenus in the same dropdown (accordion behavior) 602 parentLi.siblings('.has-submenu').removeClass("submenu-open") 603 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 604 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 605 606 // Toggle current submenu 607 if (isCurrentlyOpen) { 608 parentLi.removeClass("submenu-open") 609 grandchild.slideUp() 610 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 611 } else { 612 parentLi.addClass("submenu-open") 613 grandchild.slideDown() 614 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 615 } 616 }) 617 618 $("#menu-hamburger").click(function(e){ 619 e.preventDefault() 620 $("body").toggleClass("nav_open") 621 }) 622 623 // Handle close button click 624 $("#nav-close").click(function(e){ 625 e.preventDefault() 626 $("body").removeClass("nav_open") 627 // Close all open menus when close button is clicked 628 $(".nav-menu .nav-menu container").removeClass("menu-open") 629 $(".nav-menu .megamenu").slideUp() 630 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 631 $(".dropdown-menu .grandchild").slideUp() 632 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 633 }) 634 } 635 636 $(".overlay-nav").click(function(e){ 637 e.preventDefault() 638 $("body").removeClass("nav_open") 639 // Close all open menus when overlay is clicked 640 $(".nav-menu .nav-menu container").removeClass("menu-open") 641 $(".nav-menu .megamenu").slideUp() 642 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 643 $(".dropdown-menu .grandchild").slideUp() 644 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 645 }) 646 </script>
646 647 648 649 </div> 650 651 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 652 #search-trigger { 653 cursor: pointer; 654 } 655 #search-popup { 656 display: none; 657 position: fixed; 658 left: 0; 659 width: 100%; 660 top: 0; 661 height: 100%; 662 justify-content: center; 663 z-index: 9999; 664 background: rgb(196 196 196 / 30%); 665 } 666 #search-input { 667 align-self: center; 668 width: 100%; 669 height: 80px; 670 position: absolute; 671 top: 0; 672 border-bottom: 0.5px solid #A3A3A3; 673 background-color: #ffffff; 674 } 675 #search-input * { 676 align-self: center; 677 } 678 #search-type { 679 width: 100%; 680 border: none; 681 padding-right: 20px; 682 padding-left: 20px; 683 font-size: 16px; 684 color: #757575; 685 } 686 #search-btn { 687 font-size: 16px; 688 font-weight: 500; 689 } 690 #search-result { 691 min-height: 490px; 692 width: 100%; 693 padding-top: 80px; 694 } 695 #search-result .container { 696 background-color: #ffffff; 697 padding: 20px 40px; 698 } 699 body.search-popup-open { 700 /* .search-popup-open */ 701 overflow: hidden; 702 } 703 .search-popup-open #loc_delivery { 704 display: none 705 } 706 .search-header svg { 707 display: none; 708 cursor: pointer; 709 } 710 .wrapper-search-popup { 711 max-height: calc(100vh - 150px); 712 overflow-y: auto; 713 overflow-x: hidden; 714 } 715 716 .group-recommend { 717 padding: 20px 40px; 718 } 719 720 .resultsearch { 721 display: none; 722 } 723 .results { padding: 20px 40px } 724 .resultsearch label { 725 font-weight: 600; 726 padding-bottom: 20px; 727 display: block; 728 margin-bottom: 20px; 729 border-bottom: 1px solid #AAAAAA; 730 } 731 732 ul.result_product { 733 max-height: 300px; 734 overflow: auto; 735 } 736 737 .group-promotion ul { 738 margin: 0; 739 } 740 .group-promotion li { 741 list-style: none; 742 margin-bottom: 12px; 743 } 744 .group-promotion li a { 745 color: inherit; 746 } 747 748 .group-recent { 749 position: relative; 750 padding: 20px 40px; 751 } 752 .group-recent ul { 753 margin: 0; 754 } 755 .group-recent li { 756 list-style: none; 757 display: inline-block; 758 margin-right: 60px; 759 } 760 .group-recent li a { 761 color: inherit; 762 } 763 764 .last-search svg { 765 width: 20px; 766 vertical-align: middle; 767 } 768 ul.last-search a { 769 vertical-align: middle; 770 padding: 0 10px; 771 } 772 ul.last-search li span { 773 cursor: pointer; 774 } 775 .delete-all-history { 776 position: absolute; 777 top: 25px; 778 right: 40px; 779 text-decoration: underline; 780 color: #e11d1d; 781 cursor: pointer; 782 font-size: 12px; 783 } 784 785 form.search.search-modal__form { 786 position: relative; 787 } 788 789 button.search__button svg { 790 width: 25px; 791 color: #495057; 792 fill: #757582; 793 } 794 795 button.search__button.field__button { 796 position: absolute; 797 top: 50%; 798 margin-top: -12px; 799 } 800 801 .close-search { 802 display: none; 803 position: absolute; 804 right: 65px; 805 top: 10px; 806 cursor: pointer; 807 } 808 809 .site-overlay { 810 position: fixed; 811 top: 0; 812 width: 100vw; 813 height: 100vh; 814 z-index: 1000; 815 background: #5101015c; 816 visibility: hidden; 817 opacity: 0; 818 pointer-events: none; 819 transition: all .3s linear; 820 display: block !important; 821 } 822 823 .search-popup-open .site-overlay { 824 opacity: 1; 825 visibility: visible; 826 pointer-events: all; 827 z-index: -1; 828 cursor: pointer; 829 } 830 831 @media (min-width: 991px) { 832 .group-recent ul { 833 column-count: 3; 834 } 835 .group-promotion li a { 836 font-size: 12px; 837 font-weight: 400; 838 } 839 .group-recent li a { 840 font-size: 12px; 841 font-weight: 400; 842 } 843 } 844 845 .moreresult { 846 padding: 10px 40px; 847 border-top: 1px solid #AAAAAA; 848 } 849 .moreresult * { 850 align-self: center; 851 } 852 .moreresult p { 853 margin: 0; 854 font-size: 12px !important; 855 } 856 .moreresult svg { 857 width: 13px; 858 } 859 860 @media (max-width: 992px) { 861 .icon-key-mobile { 862 height: auto!important; 863 width: 10px!important; 864 } 865 body.grid-view.search-popup-open .products { 866 -ms-flex: 0 0 100%!important; 867 flex: 0 0 100%!important; 868 max-width: 100%!important; 869 } 870 button.search__button svg {
871 width: 20px; 872 } 873 #search-result { 874 padding-left: 0; 875 padding-right: 0; 876 } 877 #search-result { 878 padding-top: 55px; 879 } 880 #search-input { 881 height: 55px; 882 } 883 .group-recommend { 884 padding: 20px; 885 } 886 #search-input .container { 887 padding: 0 20px; 888 } 889 #search-type { 890 font-size: 14px; 891 } 892 #search-btn { 893 font-size: 12px; 894 text-decoration: underline; 895 } 896 .results { 897 padding: 20px; 898 } 899 .group-recommend h3 { 900 font-size: 16px; 901 } 902 .products .card-body { 903 padding: 8px 0px 10px; 904 } 905 .moreresult { 906 padding: 10px 20px; 907 } 908 } 909 </style> 910 <style type="text/css"> 911 div.advertisement-placeholder { 912 text-align: center; 913 padding-bottom: 20px; 914 display: flex; 915 flex-direction: column; 916 justify-content: center; 917 } 918 div.advertisement-text p { 919 margin: 0; 920 font-family: Open Sans; 921 font-style: normal; 922 font-weight: normal; 923 font-size: 10px; 924 line-height: 20px; 925 color: #ffffff; 926 } 927 div.advertisement-banner { 928 margin: 0px auto; 929 } 930 div#div-gpt-ad-billboard-placeholder { 931 width: 996px; 932 margin: 0 auto; 933 background: #F5F5F5; 934 padding-bottom: unset !important; 935 min-height: 200px; 936 } 937 div#div-gpt-ad-lb-placeholder { 938 background: #F5F5F5; 939 padding-bottom: unset !important; 940 min-height: 280px; 941 } 942 .faq-section{ 943 max-width:1200px; 944 margin:50px auto; 945 padding:40px 20px; 946 position:relative; 947 background-color: rgba(83, 1, 1, 1); 948 backdrop-filter: blur(25px); 949 border-radius: 20px; 950 } 951 952 .faq-section::before{ 953 content:""; 954 position:absolute; 955 top:0;left:50%; 956 transform:translateX(-50%); 957 width:80%; 958 height:2px; 959 background:linear-gradient(90deg,transparent,#ffffff,transparent) 960 } 961 962 .faq-section h2{ 963 text-align:center; 964 font-size:34px;font-weight:700; 965 margin-bottom:50px; 966 background: linear-gradient(135deg, #ffffff, #ffffff, #ffffff); 967 -webkit-background-clip:text; 968 -webkit-text-fill-color:transparent; 969 background-clip:text; 970 font-family:"Poppins",sans-serif;letter-spacing:1px 971 } 972 973 .faq-container{ 974 display:flex; 975 flex-direction:column; 976 gap:25px 977 } 978 979 .faq-item{ 980 background:linear-gradient(145deg,#0a0a0a,#1a1a1a); 981 border:2px solid #ffffff; 982 border-radius:20px;overflow:hidden; 983 transition:all .4s ease;box-shadow:0 5px 20px rgba(0,0,0,0.5) 984 } 985 986 .faq-item:hover{ 987 border-color:#ffffff; 988 transform:translateX(10px); 989 box-shadow:0 12px 35px rgba(253, 4, 4, 0.25) 990 } 991 992 .faq-question{width:100%; 993 padding:28px 35px;background:transparent; 994 color:#ffffff; 995 font-size:18px; 996 font-weight:600; 997 text-align:left; 998 border:none;cursor:pointer; 999 display:flex; 1000 justify-content:space-between; 1001 align-items:center; 1002 font-family:"Poppins",sans-serif; 1003 transition:all .3s ease 1004 } 1005 1006 .faq-question:hover{ 1007 color:#ffffff 1008 } 1009 1010 .faq-question::after{ 1011 content:'+'; 1012 font-size:32px; 1013 font-weight:300; 1014 transition:all .4s ease; 1015 color:#ffffff; 1016 width:40px; 1017 height:40px; 1018 display:flex; 1019 align-items:center; 1020 justify-content:center; 1021 border:2px solid #ffffff;border-radius:50%; 1022 background:rgba(83, 1, 1, 1) 1023 } 1024 1025 .faq-item.active .faq-question::after{ 1026 transform:rotate(135deg); 1027 background:linear-gradient(135deg,##ffffff,#ffffff); 1028 color:#000;border-color:transparent 1029 } 1030 1031 .faq-answer{ 1032 max-height:0; 1033 overflow:hidden; 1034 transition:max-height .5s ease,padding .5s ease; 1035 background:linear-gradient(180deg,rgba(253,228,4,0.05),transparent); 1036 padding:0 35px 1037 } 1038 1039 .faq-item.active .faq-answer{ 1040 max-height:800px;padding:30px 35px; 1041 border-top:1px solid rgba(253, 4, 4, 0.3) 1042 } 1043 1044 .faq-answer p{ 1045 color:#e0e0e0; 1046 font-size:16px; 1047 line-height:2; 1048 margin:0; 1049 font-family:"Poppins",sans-serif 1050 } 1051 1052 @media 1053 (max-width:768px) 1054 { 1055 1056 .faq-section 1057 {padding:30px 15px} 1058 1059 .faq-section h2 1060 {font-size:26px} 1061 1062 .faq-question 1063 {font-size:16px; 1064 padding:22px 25px} 1065 1066 .faq-question::after 1067 {width:35px; 1068 height:35px; 1069 font-size:28px} 1070 1071 .faq-answer 1072 {padding:0 25px} 1073 1074 .faq-item.active .faq-answer 1075 {padding:25px} 1076 1077 .faq-item:hover 1078 {transform:translateX(5px)} 1079 } 1080 </style> 1081 <div id="search-popup"> 1082 <div id="search-input" class="row"> 1083 <div class="container w-100"> 1084 <form 1085 action="/search" 1086 method="get" 1087 role="search" 1088 class="search search-modal__form d-flex justify-content-between" 1089 > 1090 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1091 <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"/> 1092 </svg> 1093
1094 <input type="hidden" name="type" value="product"> 1095 <input 1096 type="text" 1097 id="search-type" 1098 name="q" 1099 class="search-popup" 1100 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1101 > 1102 <div class="close-search"><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1103 <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/> 1104 </svg> 1105 </div> 1106 <button id="search-btn">Search</button> 1107 </form> 1108 </div> 1109 </div> 1110 <div id="search-result" class="container m-auto"> 1111 <div class="container p-0"> 1112 <div class="group-promotion"> 1113 <div class="resultsearch"> 1114 <div class="row results"> 1115 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1116 <label>SUGGESTIONS</label> 1117 <ul class="result_collection"></ul> 1118 </div> 1119 <div class="col-12 col-lg-6"> 1120 <label>PRODUCTS</label> 1121 <ul class="result_product"></ul> 1122 </div> 1123 </div> 1124 <div class="d-flex justify-content-between moreresult m-0"> 1125 <p>Search for<span></span></p> 1126 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="32" height="32" viewBox="0 0 32 32"> 1127 <title>icon-arrow-right</title> 1128 <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> 1129 </svg> 1130 </div> 1131 </div> 1132 </div> 1133 <div class="group-recent hide"> 1134 <h3>RECENT SEARCH</h3> 1135 <span class="delete-all-history">Hapus riwayat</span> 1136 <ul class="last-search"></ul> 1137 </div> 1138 <div class="group-recommend"> 1139 <h3>YOU MAY ALSO LIKE</h3> 1140 1141 1142 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1143 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1144 1145 1146 <div class="swiper-slide card"> 1147 1148 1149 1150 1151 <div class="products" data-lazy="false"> 1152 <div class="bg-products"> 1153 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1154 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1155 <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
11556 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"/> 1156 </svg> 1157 1158 </div> 1159 <a href="/products/mid-autumn-of-love-mooncake"> 1160 1161 <div class="product-card-img-container p-0 position-relative"> 1162 1163 <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"> 1164 </div> 1165 <div class="card-body product-card-info"> 1166 <h5 class="h5 mb-0"> 1167 Mid Autumn of Love Mooncake 1168 </h5> 1169 <div class="product-card-price"> 1170 1171 <div class="product-price-sale"> 1172 <s class="product-card-price-before card-money">Rp 588.000</s> 1173 <span class="product-card-discount small"> 1174 (-40%) 1175 </span> 1176 </div> 1177 1178 1179 1180 <div class="price-discount"> 1181 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1182 </div> 1183 1184 1185 1186 1187 1188 </div> 1189 1190 </div> 1191 </a> 1192 </div> 1193 1194 </div> 1195 1196 </div> 1197 1198 1199 1200 <div class="swiper-slide card"> 1201 1202 1203 1204 1205 <div class="products" data-lazy="false"> 1206 <div class="bg-products"> 1207 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1208 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1209 <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.
120911233C11.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"/> 1210 </svg> 1211 1212 </div> 1213 <a href="/products/mid-autumn-of-joy-mooncake"> 1214 1215 <div class="product-card-img-container p-0 position-relative"> 1216 1217 <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"> 1218 </div> 1219 <div class="card-body product-card-info"> 1220 <h5 class="h5 mb-0"> 1221 Mid Autumn of Joy Mooncake 1222 </h5> 1223 <div class="product-card-price"> 1224 1225 <div class="product-price-sale"> 1226 <s class="product-card-price-before card-money">Rp 888.000</s> 1227 <span class="product-card-discount small"> 1228 (-33%) 1229 </span> 1230 </div> 1231 1232 1233 1234 <div class="price-discount"> 1235 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1236 </div> 1237 1238 1239 1240 1241 1242 </div> 1243 1244 </div> 1245 </a> 1246 </div> 1247 1248 </div> 1249 1250 </div> 1251 1252 1253 1254 <div class="swiper-slide card"> 1255 1256 1257 1258 1259 <div class="products" data-lazy="false"> 1260 <div class="bg-products"> 1261 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1262 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1263 <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.
126311233C11.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"/> 1264 </svg> 1265 1266 </div> 1267 <a href="/products/mid-autumn-of-fortune-mooncake"> 1268 1269 <div class="product-card-img-container p-0 position-relative"> 1270 1271 <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"> 1272 </div> 1273 <div class="card-body product-card-info"> 1274 <h5 class="h5 mb-0"> 1275 Mid Autumn of Fortune Mooncake 1276 </h5> 1277 <div class="product-card-price"> 1278 1279 <div class="product-price-sale"> 1280 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1281 <span class="product-card-discount small"> 1282 (-33%) 1283 </span> 1284 </div> 1285 1286 1287 1288 <div class="price-discount"> 1289 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1290 </div> 1291 1292 1293 1294 1295 1296 </div> 1297 1298 </div> 1299 </a> 1300 </div> 1301 1302 </div> 1303 1304 </div> 1305 1306 1307 1308 <div class="swiper-slide card"> 1309 1310 1311 1312 1313 <div class="products" data-lazy="false"> 1314 <div class="bg-products"> 1315 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1316 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1317 <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.
131711233C11.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"/> 1318 </svg> 1319 1320 </div> 1321 <a href="/products/mid-autumn-festival-mooncake"> 1322 1323 <div class="product-card-img-container p-0 position-relative"> 1324 1325 <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"> 1326 </div> 1327 <div class="card-body product-card-info"> 1328 <h5 class="h5 mb-0"> 1329 Mid Autumn Festival Mooncake 1330 </h5> 1331 <div class="product-card-price"> 1332 1333 <div class="product-price-sale"> 1334 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1335 <span class="product-card-discount small"> 1336 (-23%) 1337 </span> 1338 </div> 1339 1340 1341 1342 <div class="price-discount"> 1343 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1344 </div> 1345 1346 1347 1348 1349 1350 </div> 1351 1352 </div> 1353 </a> 1354 </div> 1355 1356 </div> 1357 1358 </div> 1359 1360 1361 1362 <div class="swiper-slide card"> 1363 1364 1365 1366 1367 <div class="products" data-lazy="false"> 1368 <div class="bg-products"> 1369 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1370 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1371 <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.
137111233C11.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"/> 1372 </svg> 1373 1374 </div> 1375 <a href="/products/the-jade-bouquet"> 1376 1377 <div class="product-card-img-container p-0 position-relative"> 1378 1379 <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"> 1380 </div> 1381 <div class="card-body product-card-info"> 1382 <h5 class="h5 mb-0"> 1383 The Jade Bouquet 1384 </h5> 1385 <div class="product-card-price"> 1386 1387 <div class="product-price-sale"> 1388 <s class="product-card-price-before card-money">Rp 435.000</s> 1389 <span class="product-card-discount small"> 1390 (-34%) 1391 </span> 1392 </div> 1393 1394 1395 1396 <div class="price-discount"> 1397 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1398 </div> 1399 1400 1401 1402 1403 1404 </div> 1405 1406 </div> 1407 </a> 1408 </div> 1409 1410 </div> 1411 1412 </div> 1413 1414 1415 1416 <div class="swiper-slide card"> 1417 1418 1419 1420 1421 <div class="products" data-lazy="false"> 1422 <div class="bg-products"> 1423 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1424 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1425 <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.
142511233C11.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"/> 1426 </svg> 1427 1428 </div> 1429 <a href="/products/the-selena-bouquet"> 1430 1431 <div class="product-card-img-container p-0 position-relative"> 1432 1433 <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"> 1434 </div> 1435 <div class="card-body product-card-info"> 1436 <h5 class="h5 mb-0"> 1437 The Selena Bouquet 1438 </h5> 1439 <div class="product-card-price"> 1440 1441 <div class="product-price-sale"> 1442 <s class="product-card-price-before card-money">Rp 335.000</s> 1443 <span class="product-card-discount small"> 1444 (-29%) 1445 </span> 1446 </div> 1447 1448 1449 1450 <div class="price-discount"> 1451 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1452 </div> 1453 1454 1455 1456 1457 1458 </div> 1459 1460 </div> 1461 </a> 1462 </div> 1463 1464 </div> 1465 1466 </div> 1467 1468 1469 1470 <div class="swiper-slide card"> 1471 1472 1473 1474 1475 <div class="products" data-lazy="false"> 1476 <div class="bg-products"> 1477 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1478 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1479 <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.
147911233C11.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"/> 1480 </svg> 1481 1482 </div> 1483 <a href="/products/the-viola-bouquet"> 1484 1485 <div class="product-card-img-container p-0 position-relative"> 1486 1487 <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"> 1488 </div> 1489 <div class="card-body product-card-info"> 1490 <h5 class="h5 mb-0"> 1491 The Viola Bouquet 1492 </h5> 1493 <div class="product-card-price"> 1494 1495 <div class="product-price-sale"> 1496 <s class="product-card-price-before card-money">Rp 385.000</s> 1497 <span class="product-card-discount small"> 1498 (-25%) 1499 </span> 1500 </div> 1501 1502 1503 1504 <div class="price-discount"> 1505 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1506 </div> 1507 1508 1509 1510 1511 1512 </div> 1513 1514 </div> 1515 </a> 1516 </div> 1517 1518 </div> 1519 1520 </div> 1521 1522 1523 1524 <div class="swiper-slide card"> 1525 1526 1527 1528 1529 <div class="products" data-lazy="false"> 1530 <div class="bg-products"> 1531 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1532 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1533 <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.
153311233C11.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"/> 1534 </svg> 1535 1536 </div> 1537 <a href="/products/the-minerva-bouquet"> 1538 1539 <div class="product-card-img-container p-0 position-relative"> 1540 1541 <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"> 1542 </div> 1543 <div class="card-body product-card-info"> 1544 <h5 class="h5 mb-0"> 1545 The Minerva Bouquet 1546 </h5> 1547 <div class="product-card-price"> 1548 1549 <div class="product-price-sale"> 1550 <s class="product-card-price-before card-money">Rp 385.000</s> 1551 <span class="product-card-discount small"> 1552 (-25%) 1553 </span> 1554 </div> 1555 1556 1557 1558 <div class="price-discount"> 1559 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1560 </div> 1561 1562 1563 1564 1565 1566 </div> 1567 1568 </div> 1569 </a> 1570 </div> 1571 1572 </div> 1573 1574 </div> 1575 1576 1577 1578 <div class="swiper-slide card"> 1579 1580 1581 1582 1583 <div class="products" data-lazy="false"> 1584 <div class="bg-products"> 1585 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1586 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1587 <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.
158711233C11.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"/> 1588 </svg> 1589 1590 </div> 1591 <a href="/products/congraduations-bouquet"> 1592 1593 <div class="product-card-img-container p-0 position-relative"> 1594 1595 <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"> 1596 </div> 1597 <div class="card-body product-card-info"> 1598 <h5 class="h5 mb-0"> 1599 Congraduations Bouquet 1600 </h5> 1601 <div class="product-card-price"> 1602 1603 <div class="product-price-sale"> 1604 <s class="product-card-price-before card-money">Rp 380.000</s> 1605 <span class="product-card-discount small"> 1606 (-25%) 1607 </span> 1608 </div> 1609 1610 1611 1612 <div class="price-discount"> 1613 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1614 </div> 1615 1616 1617 1618 1619 1620 </div> 1621 1622 </div> 1623 </a> 1624 </div> 1625 1626 </div> 1627 1628 </div> 1629 1630 1631 1632 <div class="swiper-slide card"> 1633 1634 1635 1636 1637 <div class="products" data-lazy="false"> 1638 <div class="bg-products"> 1639 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1640 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1641 <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.
164111233C11.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"/> 1642 </svg> 1643 1644 </div> 1645 <a href="/products/grad-gorgeous-bouquet"> 1646 1647 <div class="product-card-img-container p-0 position-relative"> 1648 1649 <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"> 1650 </div> 1651 <div class="card-body product-card-info"> 1652 <h5 class="h5 mb-0"> 1653 Grad & Gorgeous Bouquet 1654 </h5> 1655 <div class="product-card-price"> 1656 1657 <div class="product-price-sale"> 1658 <s class="product-card-price-before card-money">Rp 380.000</s> 1659 <span class="product-card-discount small"> 1660 (-25%) 1661 </span> 1662 </div> 1663 1664 1665 1666 <div class="price-discount"> 1667 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1668 </div> 1669 1670 1671 1672 1673 1674 </div> 1675 1676 </div> 1677 </a> 1678 </div> 1679 1680 </div> 1681 1682 </div> 1683 1684 1685 </div> 1686 </div> 1687 1688 </div> 1689 </div> 1690 </div> 1691 1692 <div class="site-overlay" style="display: none"></div> 1693 </div> 1694
1694<script> 1695 1696 var swiper = new Swiper('.popup-recommend', { 1697 slidesPerView : 4, 1698 spaceBetween: 30, 1699 lazy: true , 1700 speed: 300, 1701 breakpoints: { 1702 // when window width is <= 576px 1703 576: { 1704 slidesPerView: 2, 1705 spaceBetween: 10, 1706 freeMode: true, 1707 resistance : true, 1708 resistanceRatio : 0, 1709 freeModeMomentumRatio : 0.45, 1710 freeModeMomentumVelocityRatio : 1.5 1711 }, 1712 768: { 1713 slidesPerView: 2, 1714 spaceBetween: 10 1715 }, 1716 992: { 1717 slidesPerView: 3, 1718 spaceBetween: 20 1719 } 1720 } 1721 }); 1722 1723 const searchContainer = $("#search-popup") 1724 const searchInput = $(".search-popup") 1725 const result_collection = $('.result_collection') 1726 const result_product = $('.result_product') 1727 const resultsearch = $('.resultsearch') 1728 const resultrecommend = $(".group-recommend") 1729 const moreresult = $(".moreresult") 1730 1731 searchInput.keyup(function(){ 1732 const input = $(this).val() 1733 moreresult.find("p span").text(` â${input}â`) 1734 if(input.length > 2) { 1735 $(".close-search").show() 1736 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1737 $.ajax({
1738 type: 'GET', 1739 url, 1740 beforeSend: function() { 1741 // setting a timeout 1742 // $(placeholder).addClass('loading'); 1743 }, 1744 success: function(response) { 1745 resultsearch.show() 1746 resultrecommend.hide() 1747 result_collection.html("") 1748 result_product.html("") 1749 const collections = response.resources.results.collections 1750 const products = response.resources.results.products 1751 let collection_length = collections.length 1752 let product_length = products.length 1753 // if(collections.length > 5) { 1754 // collection_length = 5 1755 // } 1756 // if(products.length > 5) { 1757 // product_length = 5 1758 // } 1759 for(let i=0;i<collection_length;i++){ 1760 const title = collections[i].title 1761 const url = collections[i].url 1762 let html_collection 1763 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1764 html_collection = ` 1765 <li class="item" data-title="${title}"> 1766 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1767 </li> 1768 ` 1769 } 1770 result_collection.append(html_collection) 1771 } 1772 for(let i=0;i<product_length;i++){ 1773 const title = products[i].title 1774 const url = products[i].url 1775 const image = products[i].featured_image.url 1776 const vendor = products[i].vendor 1777 let html_product 1778 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1779 html_product = ` 1780 <li class="item" data-vendor="${vendor}"> 1781 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1782 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1783 </a> 1784 </li> 1785 ` 1786 } 1787 result_product.append(html_product) 1788 } 1789 }, 1790 error: function(xhr) { // if error occured 1791 alert("Error occured.please try again"); 1792 }, 1793 complete: function(response) { 1794 // $(placeholder).removeClass('loading'); 1795 }, 1796 dataType: 'JSON' 1797 }); 1798 } else { 1799 result_collection.html("") 1800 result_product.html("") 1801 1802 resultsearch.hide() 1803 resultrecommend.show() 1804 } 1805 }) 1806 1807 moreresult.click(function(){ 1808 $("#search-btn").trigger("click"); 1809 }) 1810 1811 $(".close-search").click(function(){ 1812 $(this).hide() 1813 searchInput.val("") 1814 searchInput.focus() 1815 resultsearch.hide() 1816 resultrecommend.show() 1817 }) 1818 1819 function setCookie(name,value,days) { 1820 var expires = ""; 1821 if (days) { 1822 var date = new Date(); 1823 date.setTime(date.getTime() + (days*24*60*60*1000)); 1824 expires = "; expires=" + date.toUTCString(); 1825 } 1826 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1827 } 1828 function getCookie(name) { 1829 var nameEQ = name + "="; 1830 var ca = document.cookie.split(';'); 1831 for(var i=0;i < ca.length;i++) { 1832 var c = ca[i]; 1833 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1834 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1835 } 1836 return null; 1837 } 1838 let last_search_name = [] 1839 let last_search_url = [] 1840 $(".group-recent").hide() 1841 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1842 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 1843 $(".group-recent").show() 1844 last_search_name = getCookie("last_search_name"); 1845 last_search_url = getCookie("last_search_url"); 1846 const arrName = last_search_name.substring(1).split(',').reverse() 1847 const arrUrl = last_search_url.substring(1).split(',').reverse() 1848 console.log(arrName, 'Array Name') 1849 console.log(arrUrl, 'Array Url') 1850 let length = arrName.length 1851 if(arrName.length > 5) { 1852 length = 5 1853 } 1854 for(let n=0;n<length;n++){ 1855 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://i.imgur.com/aqQVUjq.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">
1855${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 1856 $(".group-recent ul").append(html2) 1857 } 1858 } 1859 } 1860 console.log(last_search_name, 'Name') 1861 console.log(last_search_url, 'url') 1862 1863 resultsearch.delegate(".item a", "click", function(){ 1864 let name = [last_search_name] 1865 let url = [last_search_url] 1866 name.push($(this).attr('data-title')) 1867 url.push($(this).attr('data-url')) 1868 setCookie("last_search_name",name,7); 1869 setCookie("last_search_url",url,7); 1870 }) 1871 1872 $(".delete-all-history").click(function() { 1873 setCookie("last_search_name",null,0); 1874 setCookie("last_search_url",null,0); 1875 $(".last-search").hide(); 1876 setTimeout(function(){ 1877 location.reload(); 1878 }, 500); 1879 }) 1880 1881 $("#search-trigger").click(function(){ 1882 search_open() 1883 }) 1884 $(".icon-search-mobile").click(function(){ 1885 search_open() 1886 }) 1887 $(".search-header svg").click(function(){ 1888 search_close() 1889 }) 1890 $(".icon-key-mobile").click(function(){ 1891 search_close() 1892 }) 1893 1894 function search_open() { 1895 $("body").addClass("search-popup-open") 1896 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 1897 $("#search-popup, .search-header svg, .icon-key-mobile").show() 1898 $(".search-popup").focus() 1899 $('.popup-recommend')[0].swiper.update(); 1900 } 1901 function search_close() { 1902 $("body").removeClass("search-popup-open") 1903 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 1904 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 1905 searchInput.val("") 1906 resultsearch.hide() 1907 resultrecommend.show() 1908 } 1909 1910 $(".site-overlay").click(function(){ 1911 search_close() 1912 }) 1913 </script>
1913 1914 1915 </div> 1916 </div> 1917 1918 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: ##000000;"> 1919 <main class="main-content pt-0" role="main"> 1920 1921 <div id="breadcrumbProduct" class="d-none d-lg-block"> 1922 <style> 1923 #breadcrumbProduct { 1924 padding: 20px 0; 1925 } 1926 #breadcrumbProduct ul { 1927 display: flex; 1928 padding: 0; 1929 list-style: none; 1930 margin: 0; 1931 gap: 12px; 1932 } 1933 #breadcrumbProduct ul li { 1934 text-transform: uppercase; 1935 margin: 0; 1936 font-size: 12px; 1937 } 1938 #breadcrumbProduct ul li a { 1939 color: #757575; 1940 } 1941 1942 #breadcrumbProduct ul li svg { 1943 width: 10px; 1944 height: 10px; 1945 padding: 0; 1946 color: #757575; 1947 vertical-align: middle; 1948 } 1949 </style> 1950 <div class="container" style="color: #ff0000;"> 1951 <ul role="navigation" aria-label="breadcrumbs"> 1952 <li><a href="https://amp-kmpa.web.app/" style="color: #ff0000;">AXESLOT</a></li> 1953 <li><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 1954 <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"/> 1955 </svg></li> 1956 <li>AXESLOT</li> 1957 <li>Game Exclusive</li> 1958 <li>game</li> 1959 <li>Game Exclusive</li> 1960 <li>game PGSOFT</li> 1961 <li>game Gratis</li> 1962 1963 </ul> 1964 </div> 1965 1966 </div> 1967 1968 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://ampa-hnst.b-cdn.net/global-warna.css" rel="stylesheet" type="text/css" media="all" /> 1969 1970 1971 <style> 1972 .bg-card { 1973 background-color: #ffffff; 1974 } 1975 </style> 1976 1977 <!-- /templates/product.liquid --> 1978 1979 1980 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 1981 1982 1983 <div class="product-standing-flower" data-product-type="flowerBoard"> 1984 <meta itemprop="url" content="https://amp-kmpa.web.app/"> 1985 <meta itemprop="image" content="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 1986 1987 1988 1989 <input id="data-sku" type="hidden" value="OBVSTF1086"> 1990 <div class="product-single" style="background-image: url(https://imgstore.io/images/2024/11/17/namatoko-background.gif); background-attachment: fixed;"> 1991 <div id="product-top" class="container"> 1992 <div class="row bg-card product-sticky" style="background-color: rgba(83, 1, 1, 1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;"> 1993 <div id="product-image" class="col-lg-7 text-center"> 1994 <div class="product-image"> 1995 <div class="row no-gutters"> 1996 1997 <div id="product-featured-image" class="row w-100"> 1998 1999 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2000 2001 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2002 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2003 2004 <li class="swiper-slide" data-type="image"> 2005 <a 2006 href="files/Blossom-Shine-WM.jpg" 2007 data-standard="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2008 data-image="files/Blossom-Shine-WM.jpg" 2009 data-position="1" 2010 class="product-single__thumbnail" 2011 > 2012 <img 2013 class="lazyload w-100" 2014 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2015 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2016 width="" 2017 height="" 2018 > 2019 </a> 2020 </li> 2021 2022 2023 2024 2025 <li class="swiper-slide" data-type="image"> 2026 <a 2027 href="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2028 data-standard="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2029 data-image="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2030 data-position="2" 2031 class="product-single__thumbnail" 2032 > 2033 <img 2034 class="lazyload w-100" 2035 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2036 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2037 width="" 2038 height="" 2039 > 2040 </a> 2041 </li> 2042 2043 2044 2045 2046 <li class="swiper-slide" data-type="image"> 2047 <a 2048 href="files/Blossom-Shine_3-WM.jpg" 2049 data-standard="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2050 data-image="files/Blossom-Shine_3-WM.jpg" 2051 data-position="3" 2052 class="product-single__thumbnail" 2053 > 2054 <img 2055 class="lazyload w-100" 2056 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2057 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2058 width="" 2059 height="" 2060 > 2061 </a> 2062 </li> 2063 2064 2065 2066 2067 <li class="swiper-slide" data-type="image"> 2068 <a 2069 href="files/Blossom-Shine_4.jpg" 2070 data-standard="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2071 data-image="files/Blossom-Shine_4.jpg" 2072 data-position="4" 2073 class="product-single__thumbnail" 2074 > 2075 <img 2076 class="lazyload w-100" 2077 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2078 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2079 width="" 2080 height="" 2081 > 2082 </a> 2083 </li> 2084 2085 2086 2087 </ul> 2088 </div> 2089 2090 </div> 2091 2092 <div 2093 id="featured-image-product" 2094 class="col-lg-10 col-12 d-none d-lg-block" 2095 > 2096 <div class="swiper-container gallery-top"> 2097 <div class="swiper-slide product-single__image"> 2098 2099 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2100 2101 2102 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2103 <a href="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png"> 2104 <img 2105 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2106 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2107 id="ProductPhotoImg" 2108 class="lazyload" 2109 > 2110 2111 </a> 2112 </div> 2113 </div> 2114 2115 </div> 2116 <div class="swiper-slide product-single__video" style="display: none"> 2117 <video 2118 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2119 playsinline 2120 loop 2121 muted 2122 ></video> 2123 </div> 2124 </div> 2125 </div> 2126 </div> 2127 2128 <div id="featured-image-product2" class="col-12 d-lg-none"> 2129 <div class="swiper-container gallery-mobile"> 2130 <ul class="swiper-wrapper"> 2131 <li class="swiper-slide img"> 2132 2133 <img 2134 class="swiper-lazy" 2135 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2136 data-src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2137 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2138 width="" 2139 height="" 2140 > 2141 2142 </li> 2143 2144 2145 <li class="swiper-slide img"> 2146 2147 <img 2148 class="swiper-lazy" 2149 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2150 data-src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2151 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2152 width="" 2153 height="" 2154 > 2155 2156 </li> 2157 2158 2159 <li class="swiper-slide img"> 2160 2161 <img 2162 class="swiper-lazy" 2163 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2164 data-src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2165 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2166 width="" 2167 height="" 2168 > 2169 2170 </li> 2171 2172 2173 <li class="swiper-slide img"> 2174 2175 <img 2176 class="swiper-lazy" 2177 src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2178 data-src="https://ik.imagekit.io/ubhvm8er4/Axeslot/bannerslider-sportsbook.png" 2179 alt="AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini" 2180 width="" 2181 height="" 2182 > 2183 2184 </li> 2185 2186 2187 </ul> 2188 2189 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://i.imgur.com/aqQVUjq.png" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div> 2190 <div class="swiper-button-next"><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="7" height="10" viewB
2190ox="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></div> 2193 2194 <!-- Add Pagination --> 2195 <div class="swiper-pagination"></div> 2196 2197 </div> 2198 </div> 2199 2200 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2201 <!-- product video --> 2202 <style> 2203 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#ffffff;} 2204 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2205 .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;} 2206 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2207 .close-video .icon{width:30px;height:30px;} 2208 /*responsive iframe */ 2209 .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);} 2210 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2211 2212 .youtube { 2213 background-color: #ffffff; 2214 margin-bottom: 30px; 2215 position: relative; 2216 padding-top: 56.25%; 2217 overflow: hidden; 2218 cursor: pointer; 2219 width: 100%; 2220 } 2221 .swiper-slide .youtube { 2222 max-width: 480px; 2223 } 2224 .youtube img { 2225 width: 100%; 2226 top: -16.82%; 2227 left: 0; 2228 opacity: 0.7; 2229 } 2230 .youtube .play-button { 2231 width: 90px; 2232 height: 60px; 2233 background-color: #333; 2234 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2235 z-index: 1; 2236 opacity: 0.8; 2237 border-radius: 6px; 2238 } 2239 .youtube .play-button:before { 2240 content: ""; 2241 border-style: solid; 2242 border-width: 15px 0 15px 26.0px; 2243 border-color: transparent transparent transparent #ffffff; 2244 } 2245 .youtube img, 2246 .youtube .play-button { 2247 cursor: pointer; 2248 } 2249 .youtube img, 2250 .youtube iframe, 2251 .youtube .play-button, 2252 .youtube .play-button:before { 2253 position: absolute; 2254 } 2255 .youtube .play-button, 2256 .youtube .play-button:before { 2257 top: 50%; 2258 left: 50%; 2259 transform: translate3d( -50%, -50%, 0 ); 2260 } 2261 .youtube iframe { 2262 height: 100%; 2263 width: 100%; 2264 top: 0; 2265 left: 0; 2266 } 2267 </style> 2268 2269 2270 </div> 2271 </div> 2272 2273 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2274 2275 </div> 2276 2277
2277<script> 2278 if ($(window).width() < 991) { 2279 var direction = 'horizontal' 2280 } else { 2281 var direction = 'vertical' 2282 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2283 } 2284 var swiper = new Swiper('.gallery-thumbs', { 2285 2286 direction, 2287 slidesPerView: 4.5, 2288 spaceBetween: 12, 2289 navigation: { 2290 nextEl: '.swiper-button-next', 2291 prevEl: '.swiper-button-prev', 2292 } 2293 }); 2294 2295 var swiper = new Swiper('.gallery-mobile', { 2296 //loop: true, 2297 lazy: true, 2298 speed: 300, 2299 resistance : true, 2300 resistanceRatio : 0, 2301 freeModeMomentumRatio : 0.45, 2302 freeModeMomentumVelocityRatio : 1.5, 2303 navigation: { 2304 nextEl: '.swiper-button-next', 2305 prevEl: '.swiper-button-prev', 2306 }, 2307 pagination: { 2308 el: '.swiper-pagination' 2309 }, 2310 useCSS3Transforms: false, 2311 loop: false, 2312 on: { 2313 init: function () { 2314 console.log('swiper initialized'); 2315 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2316 currentVideo.trigger('play'); 2317 }, 2318 }, 2319 }); 2320 2321 /* GET ALL VIDEOS */ 2322 var sliderVideos = $(".swiper-slide video"); 2323 2324 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2325 swiper.on('slideChange', function () { 2326 console.log('slide changed'); 2327 /* stop all videos */ 2328 sliderVideos.each(function( index ) { 2329 this.currentTime = 0; 2330 }); 2331 2332 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2333 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2334 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2335 prevVideo.trigger('stop'); 2336 currentVideo.trigger('play'); 2337 }); 2338 2339 2340 $("[data-video]").click(function(){ 2341 const file = $(this).data("video") 2342 $(".product-single__video").show() 2343 $(".product-single__image").hide() 2344 $(".product-single__video").find("video").attr("src", file) 2345 $(".product-single__video").find("video")[0].play(); 2346 }) 2347 $("[data-image]").click(function(){ 2348 $(".product-single__video").hide() 2349 $(".product-single__image").show() 2350 $(".product-single__video").find("video")[0].pause(); 2351 }) 2352 2353 $("#product-image .swiper-slide").each(function(){ 2354 let width = $(this).width() 2355 $(this).height(width) 2356 }) 2357 2358 $(window).resize(function() { 2359 $("#product-image .swiper-slide").each(function(){ 2360 let width = $(this).width() 2361 $(this).height(width) 2362 }) 2363 }) 2364 </script>
2364 2365 2366 </div> 2367 2368 2369 <div class="grid__item_product-info mb-3"> 2370 <div class="c-pdp-product-info"> 2371 <ul class="c-pdp-product-info__service c-pdp-product-info__service--active"> 2372 <!-- artikel --> 2373 <li> 2374 AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. 2375 </li> 2376 2377 2378 2379 2380 </ul> 2381 </div> 2382 </div> 2383 2384 2385 2386 2387 2388 <style> 2389 .c-pdp-product-info__service--active { 2390 font-size: 12px; 2391 padding-left: 10px; 2392 text-align: left; 2393 max-width: 550px; 2394 margin: auto; 2395 } 2396 .c-pdp-product-info__service--active li { 2397 list-style: disc; 2398 } 2399 .c-pdp-product-info { 2400 background-color: #ffffff; 2401 padding: 12px; 2402 margin: 0; 2403 } 2404 .freeship em { 2405 font-style: italic; 2406 font-size: 12px !important; 2407 } 2408 2409 2410 </style> 2411 2412
2412<script> 2413 $(document).ready(function(){ 2414 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2415 $(".c-pdp-product-info__service").addClass("no-bullet"); 2416 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2417 } 2418 }); 2419 </script>
2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 </div> 2433 <div id="product-meta" class="col-lg-5 p-0"> 2434 <div class="product-meta"> 2435 <style> 2436 .product-meta--review {margin-top:10px} 2437 .freeship * {font-size: 14px !important;font-style: normal;} 2438 </style> 2439 <h1 itemprop="name" class="mb-2" style="color: rgb(255 255 255); font-weight: bold;">AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini</h1> 2440 2441 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2442 <meta itemprop="priceCurrency" content="IDR"> 2443 2444 <link itemprop="availability" href="https://schema.org/InStock"> 2445
2445<script 2446 type="text/javascript" 2447 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2448 async="async" 2449 ></script>
2449 2450 2451 2452 2453 2454 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2455 2456 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2457 2458 <div class="row no-gutters mb-3"> 2459 <span 2460 id="ProductPrice" 2461 class="h2 ProductPrice" 2462 itemprop="price" 2463 content="835000" style="color: #ffffff;" 2464 > 2465 Rp 5.000 2466 </span> 2467 <div class="discount-product-detail"> 2468 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> Rp 100.000 2469 </p> 2470 <span class="tag-discount"> 2471 2472 2473 <span id="newDiscount" class="product-tag persentase-discount hide"> 2474 (95%) 2475 </span><br> 2476 2477 </span> 2478 </div> 2479 </div> 2480 2481 <div class="row no-gutters meta-sds"> 2482 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2483 2484 2485 <span 2486 id="ProductStock-Product" 2487 class="product-single__stock mb-2 hide" 2488 > 2489 2490 2491 2492 2493 Barang dikirim pada 2494 2495 2496 2497 </span> 2498 2499 <style> 2500 .short-desc-desktop { 2501 margin-bottom: 2rem; 2502 color: white; 2503 } 2504 .short-desc ul li:nth-child(n + 4) { 2505 display: none; 2506 } 2507 .short-desc ul li.showList:nth-child(n + 4) { 2508 display: list-item; 2509 } 2510 label.more { 2511 display: none; 2512 } 2513 label.more.showMe { 2514 display: block; 2515 font-size: 12px; 2516 text-transform: uppercase; 2517 font-weight: 700; 2518 cursor: pointer; 2519 } 2520 </style> 2521 2522 <div class="short-desc-desktop d-none d-lg-block"> 2523 <div class="short-desc"> 2524 2525 <p>AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.</p> 2526 </div> 2527 <label class="more">Show More â</label> 2528 </div><br> 2529 2530 2531
2531<script> 2532 var liCount; 2533 $(document).ready(function () { 2534 $(".short-desc ul").each(function() { 2535 liCount = $(this).children("li").length; 2536 if (liCount > 3) { 2537 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2538 } 2539 }); 2540 2541 $(".more").click(function () { 2542 //$(".short-desc").find("li").addClass("showList"); 2543 // $(this).hide(); 2544 $("#product-desc").find("ul").show() 2545 $('html, body').animate({ 2546 scrollTop: $("#product-desc").offset().top - 250 2547 }, 2000); 2548 $("#product-desc").css("height","auto"); 2549 $("#more_content").remove(); 2550 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2551 }); 2552 }); 2553 </script>
2553 2554 2555 2556 </div> 2557 </div> 2558 2559 <div id="purchaseProduct"> 2560 2561 2562 2563 2564 <style> 2565 .variant-metafield { 2566 display: block!important; 2567 width: 1px; 2568 padding: 0; 2569 border-color: #ffffff; 2570 } 2571 .select2-results__option[aria-disabled] { 2572 display: none; 2573 } 2574 2575 .towel-bordir { 2576 width: 100%; 2577 display: flex; 2578 align-items: center; 2579 justify-content: space-around; 2580 } 2581 </style> 2582 2583 2584 2585 2586
2586<script> 2587 2588 2589 </script>
2589 2590 2591 2592 2593 2594 2595 2596 <select 2597 name="id[]" 2598 id="productSelect" 2599 class="product-single__variants ignore hide hide" 2600 > 2601 2602 2603 2604 <option 2605 2606 selected="selected" 2607 2608 data-sku="OBVSTF1086" 2609 value="44083045826775" 2610 > 2611 Default Title 2612 </option> 2613 2614 2615 2616 </select> 2617 2618
2618<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2618 2619 2620
2620<script> 2621 $('.size-chart-open-popup').magnificPopup({ 2622 type:'inline', 2623 midClick: true 2624 }); 2625 </script>
2625 2626 2627 2628 2629 2630 <div class="upload-image-preview"> 2631 2632 2633 2634 2635 2636 <style> 2637 .file-dnd * { 2638 margin: 0; 2639 padding: 0; 2640 box-sizing: border-box; 2641 } 2642 .file-dnd { 2643 width: 100%; 2644 height: 250px; 2645 border: 1px solid #ddd; 2646 border-radius: 10px; 2647 padding: 15px; 2648 display: flex; 2649 flex-direction: column; 2650 gap: 10px; 2651 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2652 margin: auto; 2653 } 2654 .file-dnd input { 2655 display: none; 2656 } 2657 .file-dnd .before-upload { 2658 border: 1px dashed #888; 2659 flex: 1; 2660 border-radius: 5px; 2661 display: flex; 2662 justify-content: center; 2663 align-items: center; 2664 text-align: center; 2665 cursor: pointer; 2666 } 2667 .file-dnd .before-upload > div { 2668 display: flex; 2669 flex-direction: column; 2670 align-items: center; 2671 gap: 8px; 2672 } 2673 .file-dnd .before-upload > div h4 { 2674 width: 150px; 2675 } 2676 .file-dnd .before-upload > div p { 2677 font-size: 12px !important; 2678 color: #555; 2679 } 2680 .file-dnd.active .before-upload { 2681 border: 1px solid #5750d9; 2682 background-color: #f5f5ff; 2683 } 2684 .file-dnd .after-upload { 2685 position: relative; 2686 display: none; 2687 } 2688 .file-dnd .after-upload img { 2689 width: 100%; 2690 border-radius: 5px; 2691 max-height: 180px; 2692 object-fit: contain; 2693 display: block; 2694 } 2695 .file-dnd .after-upload .clear-btn { 2696 position: absolute; 2697 top: 10px; 2698 right: 10px; 2699 background: rgba(0, 0, 0, 0.5); 2700 width: 15px; 2701 height: 15px; 2702 text-align: center; 2703 line-height: 15px; 2704 border-radius: 50%; 2705 color: #ffffff; 2706 cursor: pointer; 2707 font-size: 14px; 2708 } 2709 </style> 2710 2711 <div 2712 class="file-dnd mb-3" 2713 2714 style="display: none" 2715 2716 > 2717 <label for="upload-photo">Upload your Photo:</label> 2718 <input type="file" id="upload-photo" accept="image/*"> 2719 <input type="hidden" data-properties="Photo"> 2720 <div class="before-upload"> 2721 <div> 2722 <svg id="surface1" xmlns="https://i.imgur.com/aqQVUjq.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2723 <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> 2724 <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> 2725 <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> 2726 </svg> 2727 2728 <h4>Drag & Drop Photo file or Browse</h4> 2729 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2730 </div> 2731 </div> 2732 <div class="after-upload"> 2733 <div class="clear-btn">×</div> 2734 <img src="" width="" height=""> 2735 </div> 2736 </div> 2737
2737<script> 2738 function applyDndFile(el) { 2739 const parent = document.querySelector(".file-dnd") 2740 const beforeUploadEl = el.querySelector(".before-upload") 2741 const afterUploadEl = el.querySelector(".after-upload") 2742 const inputFile = el.querySelector("input[type=file]") 2743 const imagePreview = el.querySelector(".after-upload img") 2744 const clearBtn = el.querySelector(".after-upload .clear-btn") 2745 const inputProps = parent.querySelector("[data-properties]"); 2746 2747 async function upload(name, uri, type) { 2748 try { 2749 const filename = name.split('.')[0] 2750 let formData = new FormData(); 2751 formData.append("file", uri); 2752 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 2753 method: "POST", 2754 body: formData 2755 }) 2756 if(response) { 2757 const res = await response.json() 2758 return res 2759 } 2760 } catch(err){ 2761 console.log(err) 2762 } 2763 } 2764 2765 function showImagePreview(img) { 2766 if(img){ 2767 const blobUrl = URL.createObjectURL(img) 2768 imagePreview.src = blobUrl 2769 afterUploadEl.style.display = "block" 2770 beforeUploadEl.style.display = "none" 2771 } 2772 } 2773 2774 beforeUploadEl.addEventListener("click", (e) => { 2775 e.preventDefault() 2776 inputFile.click() 2777 }) 2778 2779 inputFile.addEventListener("change", async (e) => { 2780 e.preventDefault() 2781 showImagePreview(e.target.files[0]) 2782 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 2783 inputProps.value = uploadData?.url 2784 }) 2785 2786 clearBtn.addEventListener("click", (e) => { 2787 afterUploadEl.style.display = "none" 2788 beforeUploadEl.style.display = "flex" 2789 inputProps.value = "" 2790 }) 2791 2792 beforeUploadEl.addEventListener("dragover", (e) => { 2793 e.preventDefault() 2794 el.classList.add("active") 2795 }) 2796 2797 beforeUploadEl.addEventListener("dragleave", (e) => { 2798 e.preventDefault() 2799 el.classList.remove("active") 2800 }) 2801 2802 beforeUploadEl.addEventListener("drop", async (e) => { 2803 e.preventDefault() 2804 el.classList.remove("active") 2805 showImagePreview(e.dataTransfer.files[0]) 2806 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 2807 console.log(uploadData) 2808 inputProps.value = uploadData?.url 2809 }) 2810 } 2811 2812 applyDndFile(document.querySelector(".file-dnd")) 2813 2814 $(document).ready(function(){ 2815 $(".variant-swatch").change(function(){ 2816 const v = $(this).val().toLowerCase() 2817 const list = ["photo", "custom one side", "custom two side", "small", "big"] 2818 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 2819 $(".file-dnd").hide() 2820 $(".file-dnd").find("[data-properties]").val("") 2821 $(".after-upload").hide() 2822 $(".before-upload").css("display", "flex") 2823 }) 2824 }) 2825 </script>
2825 2826 2827 </div> 2828 2829 2830 <div class="delivery-city mb-4"> 2831 <a href="https://amp-kmpa.web.app/"> 2832 <center><img src="https://i.imgur.com/aqQVUjq.png" alt="logo-daftar" style="width: 260px; margin-top: -20px;"></center></a><br> 2833 <h4 class="fw-600 text-uppercase mb-15" style="color: rgb(255 255 255);">SEKARANG WAKTUNYA DAFTAR AKUN BARU DI AXESLOT!</h4> 2834 <div class="row justify-content-between m-0"> 2835 <select id="cities" class="form-control select-search" required> 2836 <option value="">Gabung dan dapatkan bonus deposit juga new member hanya di AXESLOT</option> 2837 </select> 2838 </div> 2839 </div> 2840 2841 <style> 2842 @media (max-width: 768px) { 2843 .select2-search__field { 2844 pointer-events: none !important; 2845 } 2846 2847 .select2-search { 2848 display: none !important; 2849 } 2850 } 2851 </style> 2852 2853
2853<script> 2854 $(document).ready(function() { 2855 // Check if mobile 2856 if (window.innerWidth <= 768) { 2857 // When cities select2 opens on mobile, remove focus from search 2858 $('#cities').on('select2:open', function() { 2859 setTimeout(function() { 2860 $('.select2-search__field').blur(); 2861 $('.select2-search__field').prop('readonly', true); 2862 }, 100); 2863 }); 2864 } 2865 }); 2866 </script>
2866 2867 2868 <style> 2869 .icon-img-footer { 2870 width: 80px; 2871 padding: 0px 5px; 2872 } 2873 @media (min-width: 768px) { 2874 .icon-img-footer { 2875 width: 120px; 2876 } 2877 } 2878 @media (min-width: 992px) { 2879 .icon-img-footer { 2880 width: 120px; 2881 } 2882 } 2883 2884 2885 </style> 2886 <div id="row-delivery-date" class="row m-0 mb-3"> 2887 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="color: rgb(255 255 255);">Ciptakan Kemenanganmu Dengan Atur Tanggal Untuk Bermain</h4> 2888 <div id="deliveryDate" class="m-0"></div> 2889 <div id="deliveryDateFull"> 2890 <div class=""> 2891 <input 2892 type="text" 2893 id="full-date" 2894 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 2895 value="Full Calendar" 2896 > 2897 <label for="full-date"><svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="32" height="32" viewBox="0 0 32 32"> 2898 <title>icon-arrow-right</title> 2899 <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> 2900 </svg></label> 2901 </div> 2902 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 2903 </div> 2904 <div class="form-group p-0"> 2905 <input type="text" id="propDeliveryDate" required class="hide"> 2906 </div> 2907 </div> 2908 2909 2910 <div id="row-delivery-time" class="row m-0 mb-3"> 2911 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 2912 SEO Hnst 2913 </h4> 2914 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 2915 <div class="form-group p-0"> 2916 <input type="text" id="propDeliveryTime" class="hide" required> 2917 </div> 2918 </div> 2919 2920 2921 2922 2923 2924 <div id="personalizeBtn"> 2925 2926 2927 2928 2929 <button 2930 class="btn text-uppercase w-100 fw-400" 2931 2932 2933 2934 > 2935 2936 customize your flower board 2937 2938 </button> 2939 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 2940 <div class="button-share text-center"> 2941 <p id="shareButton" class="d-flex gap-2"><span>AXESLOT</span><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 2942 <path d="M13.825 5.85006L10 2.02506V4.07506L9.28333 4.18339C5.69167 4.69172 3.25833 6.57506 1.86667 9.45839C3.8 8.09172 6.2 7.43339 9.16667 7.43339H10V9.67506M8.33333 8.28339C4.60833 8.45839 1.94167 9.80006 0 12.5167C0.833333 8.35006 3.33333 4.18339 9.16667 3.35006V0.0167236L15 5.85006L9.16667 11.6834V8.26672C8.89167 8.26672 8.61667 8.27506 8.33333 8.28339Z" fill="#ffffff"/> 2943 </svg> 2944 </p> 2945 </div> 2946 <div class="button-wishlist text-center"> 2947 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 2948 <path d="M2.03341 7.70827C1.70392 7.38096 1.44286 6.99135 1.26546 6.56213C1.08805 6.13292 0.997838 5.67269 1.00008 5.20827C1.00008 4.26896 1.37322 3.36812 2.03741 2.70393C2.7016 2.03974 3.60244 1.6666 4.54175 1.6666C5.85841 1.6666 7.00841 2.38327 7.61675 3.44993H8.55008C8.85934 2.90748 9.30684 2.45667 9.84699 2.14341C10.3871 1.83015 11.0007 1.66563 11.6251 1.6666C12.5644 1.6666 13.4652 2.03974 14.1294 2.70393C14.7936 3.36812 15.1667 4.26896 15.1667 5.20827C15.1667 6.18327 14.7501 7.08327 14.1334 7.70827L8.08341 13.7499L2.03341 7.70827ZM14.7167 8.29993C15.5084 7.49993 16.0001 6.4166 16.0001 5.20827C16.0001 4.04795 15.5391 2.93515 14.7187 2.11467C13.8982 1.2942 12.7854 0.833267 11.6251 0.833267C10.1667 0.833267 8.87508 1.5416 8.08341 2.6416C7.67933 2.08035 7.14725 1.62353 6.53131 1.30904C5.91537 0.994549 5.23333 0.831448 4.54175 0.833267C3.38143 0.833267 2.26863 1.2942 1.44816 2.11467C0.627684 2.93515 0.166748 4.04795 0.166748 5.20827C0.166748 6.4166 0.658415 7.49993 1.45008 8.29993L8.08341 14.9333L14.7167 8.29993Z" fill="#ffffff"/> 2949 </svg> 2950 <!-- 2951 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 2952 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
295218.4933 2.35999 17 4.83582C15.5067 2.36082 12.8 0.699158 9.69749 0.699158C4.98582 0.699991 1.16666 4.51916 1.16666 9.23082C1.16666 10.3075 1.37499 11.3342 1.73916 12.2825C4.55999 20.3967 17 29.3008 17 29.3008C17 29.3008 29.44 20.3967 32.2617 12.2825C32.6258 11.3342 32.8333 10.3075 32.8333 9.23082Z" fill="white" fill-opacity="0.32" stroke="#757575" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/> 2953 </svg> 2954 --> 2955 </p> 2956 </div> 2957 </div> 2958 </div> 2959 </div> 2960 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 2961 <div class="purchaseArea"> 2962 <div class="sectionPurchase sectionPurchaseSpotify"> 2963 <div class="wrapperPurchase"> 2964 <div class="headerPurchase"> 2965 <h3>personalize spotify photo print</h3> 2966 <a class="close-purchase-popup"> 2967 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 2968 <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> 2969 </svg> 2970 </a> 2971 </div> 2972 <div class="contentPurchase"> 2973 <div class="spotifyAddons"></div> 2974 </div> 2975 2976 <div class="purchase-button btn-addon row m-0" style="display: none;"> 2977 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 2978 <button class="back-purchase-button back-addon text-uppercase"> 2979 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 2980 <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> 2981 </svg> 2982 <span>Back</span> 2983 </button> 2984 </div> 2985 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 2986 <button class="btn next-purchase-button next-addon text-uppercase"> 2987 <span>continue without add-ons</span> 2988 </button> 2989 </div> 2990 </div> 2991 </div> 2992 </div> 2993 </div> 2994 </div> 2995 2996 <style> 2997 #PBarNextFrameWrapper { 2998 display: none; 2999 } 3000 #backgroundPopup { 3001 display: none; 3002 position: fixed; 3003 _position: absolute; 3004 height: 100%; 3005 width: 100%; 3006 top: 0; 3007 left: 0; 3008 background: rgb(117 117 117 / 24%); 3009 z-index: 1; 3010 } 3011 .sectionPurchase { 3012 height: 100%; 3013 position: relative; 3014 max-width: 1344px; 3015 background-color: #ffffff; 3016 padding: 0; 3017 overflow: hidden; /* Changed from auto to hidden */ 3018 display: flex; 3019 flex-direction: column; 3020 } 3021 .sectionPurchase.purchaseAddonSpotify { 3022 max-width: 1070px!important; 3023 max-height: 765px!important; 3024 } 3025 .sectionPurchaseBoard { 3026 max-width: 872px!important; 3027 max-height: 821px!important; 3028 } 3029 .purchaseAddonSpotify .btn-action { 3030 position: absolute; 3031 bottom: 0; 3032 left: 0; 3033 width: 100%; 3034 display: flex; 3035 gap: 10px; 3036 } 3037 .wrapperPurchase { 3038 position: relative; 3039 height: 100%; 3040 display: flex; 3041 flex-direction: column; 3042 } 3043 3044 /* New styles for scrollable content and sticky button */ 3045 .purchase-content { 3046 flex: 1; 3047 overflow-y: auto; 3048 overflow-x: hidden; 3049 padding: 20px; 3050 } 3051 3052 .purchase-button-wrapper { 3053 position: sticky; 3054 bottom: 0; 3055 background-color: #ffffff; 3056 border-top: 1px solid #e0e0e0; 3057 padding: 15px 0; 3058 margin-top: auto; 3059 z-index: 10; 3060 } 3061 3062 .purchasePopup { 3063 display: none; 3064 position: fixed; 3065 background: rgb(117 117 117 / 24%); 3066 z-index: 999; 3067 padding: 40px; 3068 font-size: 13px; 3069 top: 0; 3070 left: 0; 3071 width: 100%; 3072 height: 100%; 3073 } 3074 .popupPurchaseClose{ 3075 font-size:14px; 3076 line-height:14px; 3077 right:45px; 3078 top:45px; 3079 position:absolute; 3080 color:#6fa5fd; 3081 font-weight:700; 3082 display:block; 3083 cursor: pointer; 3084 } 3085 3086 .headerPurchase { 3087 margin-bottom: 30px; 3088 display: flex; 3089 justify-content: space-between; 3090 } 3091 3092 .headerPurchase h3 { 3093 font-size: 16px; 3094 text-transform: uppercase; 3095 } 3096 3097 .sectionPurchaseBoard .headerPurchase { 3098 margin-bottom: 15px; 3099 } 3100 3101 .sectionPurchaseBoard .formAddressPurchase { 3102 padding-top: 0;
3103 } 3104 3105 .purchaseArea { 3106 position: relative; 3107 height: 100%; 3108 } 3109 3110 .purchaseArea h4 { 3111 width: 100%; 3112 font-size: 12px; 3113 font-weight: 600; 3114 margin-bottom: 10px; 3115 text-transform: uppercase; 3116 } 3117 3118 .menuPurchase { 3119 margin-bottom: 30px; 3120 } 3121 3122 .menuPurchase ul { 3123 list-style-type: none; 3124 margin: 0; 3125 } 3126 3127 .menuPurchase ul li { 3128 display: inline-block; 3129 border: 1px solid #ffffff; 3130 padding: 5px 20px; 3131 margin-right: 5px; 3132 margin-bottom: 10px; 3133 font-size: 12px; 3134 font-weight: 400; 3135 } 3136 3137 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3138 background-color: #ffffff; 3139 color: #ffffff; 3140 } 3141 3142 .contentPurchase h5 { 3143 font-size: 12px; 3144 margin-bottom: 10px; 3145 font-weight: 400; 3146 overflow: hidden; 3147 } 3148 3149 /* Card */ 3150 3151 #itemCards { 3152 max-height: 430px; 3153 overflow: auto; 3154 } 3155 3156 .item-cards { 3157 width: 100%; 3158 } 3159 .item-card.selected { 3160 border: 1px solid #ffffff; 3161 } 3162 .item-card:hover { 3163 border: 1px solid #C4C4C4; 3164 } 3165 .item-cards .item-card { 3166 position: relative; 3167 width: calc(33% - 10px); 3168 max-width: calc(33% - 10px); 3169 flex: 0 0 calc(33% - 10px); 3170 margin-bottom: 20px; 3171 } 3172 .item-cards .item-card label, 3173 .item-addons .item-addon label { 3174 position: absolute; 3175 left: 0; 3176 width: 100%; 3177 height: 100%; 3178 } 3179 .item-cards .item-card .card-image img, 3180 .item-addons .item-addon .card-image img { 3181 display: block; 3182 width: 100%; 3183 } 3184 .item-card .card-meta, 3185 .item-addon .card-meta { 3186 padding: 10px 5px 5px; 3187 } 3188 .item-card.selected .card-meta, 3189 .item-addon.selected .card-meta, 3190 .item-card.selected .card-qty { 3191 background-color: #ffffff; 3192 color: #ffffff; 3193 visibility: visible!important; 3194 } 3195 .item-card:hover .card-meta, 3196 .item-addon:hover .card-meta, 3197 .item-card:hover .card-qty { 3198 background-color: #C4C4C4; 3199 color: #ffffff; 3200 visibility: visible!important; 3201 } 3202 .item-cards .item-card p, 3203 .item-addons .item-addon p { 3204 font-size: 12px !important; 3205 margin: 0; 3206 font-weight: 600; 3207 } 3208 .item-card .card-meta input, 3209 .item-addon .card-meta input { 3210 display: none; 3211 } 3212 .item-cards .item-card h5, 3213 .item-addons .item-addon h5 { 3214 text-transform: uppercase; 3215 max-height: 35px; 3216 } 3217 3218 @media (max-width: 768px) { 3219 .item-cards .item-card { 3220 width: calc(50% - 10px); 3221 max-width: calc(50% - 10px); 3222 flex: 0 0 calc(50% - 10px); 3223 margin-bottom: 0; 3224 } 3225 } 3226 3227 .card-qty { 3228 display: flex; 3229 padding: 5px; 3230 visibility: hidden; 3231 background-color: #fff !important; 3232 z-index: 999; 3233 } 3234 .card-qty a { 3235 border-width: 1px; 3236 width: 30%; 3237 cursor: pointer; 3238 text-align: center; 3239 align-self: center; 3240 height: 28px; 3241 display: block; 3242 position: relative; 3243 } 3244 .card-qty a svg { 3245 position: absolute; 3246 top: 50%; 3247 left: 50%; 3248 transform: translate(-50%, -50%); 3249 text-align: center; 3250 } 3251 input.btn-qty { 3252 border-width: 0px; 3253 border-radius: 0; 3254 background-color: #ffffff; 3255 -webkit-appearance: none; 3256 box-shadow: none !important; 3257 -webkit-box-shadow: none !important; 3258 -moz-box-shadow: none!important; 3259 width: 40%; 3260 border-left: 1px solid #c4c4c4; 3261 border-right: 1px solid #c4c4c4; 3262 padding: 0; 3263 } 3264 3265 .sectionPurchaseBoard #itemAddons .item-card { 3266 width: calc(20% - 15px); 3267 max-width: calc(20% - 15px); 3268 flex: 0 0 calc(20% - 15px); 3269 } 3270 3271 .purchase-button { 3272 width: 100%; 3273 padding: 0; /* Reset padding as it's now handled by wrapper */ 3274 margin: 0; 3275 } 3276 3277 .sectionPurchaseBoard .purchase-button { 3278 margin-top: 0 !important; /* Reset margin */ 3279 } 3280 3281 .back-purchase-button, .back-spotify { 3282 width: 139px; 3283 border: 1px solid; 3284 height: 43px; 3285 } 3286 .purchase-button .btn { 3287 width: 297px; 3288 height: 43px; 3289 background-color: #ffffff; 3290 color: #ffffff; 3291 } 3292 .purchase-button .btn[disabled] { 3293 background-color: #EEEEEE; 3294 } 3295 .back-purchase-button svg, .back-spotify svg { 3296 align-self: center; 3297 vertical-align: middle; 3298 margin-right: 10px; 3299 } 3300 3301 #purchaseProduct .row .error { 3302 font-size: 12px !important; 3303 color: orange; 3304 margin-top: 5px; 3305 } 3306 3307 .reviewCardPurchase { 3308 max-width: 448px; 3309 float: right; 3310 } 3311 3312 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3313 .addon-item * {align-self: center;font-size: 12px;} 3314 .addon-itm-title {width: 360px;} 3315 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3316 3317 .propsAddonSpotify p { 3318 margin: 0; 3319 display: flex; 3320 font-size: 12px !important; 3321 margin-bottom: 5px; 3322 } 3323 .propsAddonSpotify p span:first-child { 3324 text-transform: uppercase; 3325 font-weight: 600; 3326 -ms-flex: 0 0 150px; 3327 flex: 0 0 150px; 3328 max-width: 150px; 3329 } 3330 3331 .addonsPurchase .addons { 3332 max-height: 250px; 3333 overflow: auto; 3334 } 3335 3336 .btn .loading:after { 3337 content: ""; 3338 display: inline-block;
3339 width: 20px; 3340 height: 20px; 3341 padding: 3px; 3342 aspect-ratio: 1; 3343 border-radius: 50%; 3344 background: #FFFFFF; 3345 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3346 -webkit-mask: var(--_m); 3347 mask: var(--_m); 3348 -webkit-mask-composite: source-out; 3349 mask-composite: subtract; 3350 animation: l3 1s infinite linear; 3351 margin: auto; 3352 vertical-align: middle; 3353 margin-left: 10px; 3354 } 3355 3356 #qrcode img, #qrcode canvas { 3357 width: 50px; 3358 position: absolute; 3359 top: 12px; 3360 left: 16px; 3361 } 3362 3363 .t-preview { 3364 position: absolute; 3365 top: 17px; 3366 left: 75px; 3367 } 3368 .t-preview p { 3369 margin: 0; 3370 font-size: 12px !important; 3371 } 3372 .t-preview .h3 { 3373 font-size: 16px !important; 3374 margin-bottom: 5px; 3375 font-weight: 600; 3376 } 3377 .scanCard { 3378 width: 100%; 3379 border: 1px solid; 3380 height: 76px; 3381 background-color: #ffffff; 3382 } 3383 .scanCard > div > img { 3384 position: absolute; 3385 right: 0; 3386 width: 55px; 3387 } 3388 3389 @keyframes l3 { 3390 100% { 3391 transform: rotate(1turn); 3392 } 3393 } 3394 3395 @media (min-width: 991px) { 3396 .sectionPurchase { 3397 height: 100%; 3398 position: relative; 3399 max-width: 1344px; 3400 background-color: #ffffff; 3401 top: 50%; 3402 left: 50%; 3403 transform: translate(-50%, -50%); 3404 } 3405 .headerPurchase h3 { 3406 font-size: 20px; 3407 } 3408 .purchaseArea h4 { 3409 font-size: 16px; 3410 } 3411 3412 .menuPurchase ul li { 3413 font-size: 16px; 3414 } 3415 3416 .contentPurchase { 3417 margin-bottom: 30px; 3418 } 3419 .contentPurchase h5 { 3420 font-size: 16px; 3421 } 3422 3423 .item-cards .item-card p, 3424 .item-addons .item-addon p { 3425 font-size: 16px !important; 3426 } 3427 3428 .cards { 3429 float: right; 3430 width: 400px; 3431 } 3432 3433 .item-cards .item-card { 3434 width: calc(25% - 30px); 3435 max-width: calc(25% - 30px); 3436 flex: 0 0 calc(25% - 30px); 3437 } 3438 3439 #itemAddons .item-card { 3440 position: relative; 3441 width: calc(16% - 40px); 3442 max-width: calc(16% - 40px); 3443 flex: 0 0 calc(16% - 40px); 3444 } 3445 3446 .purchase-button-wrapper { 3447 padding: 10px 20px; 3448 } 3449 } 3450 3451 @media (max-width: 1200px) { 3452 .item-cards .item-card { 3453 width: calc(33% - 30px); 3454 max-width: calc(33% - 30px); 3455 flex: 0 0 calc(33% - 30px); 3456 } 3457 } 3458 3459 @media (max-width: 992px) { 3460 .purchasePopup { 3461 padding: 0; 3462 } 3463 .item-cards .item-card h5, 3464 .item-addons .item-addon h5 { 3465 max-height: 30px; 3466 } 3467 3468 .back-purchase-button, .back-spotify, .next-purchase-button { 3469 width: 100%; 3470 } 3471 .addon-itm-title { 3472 width: 300px; 3473 } 3474 .addon-itm-line-price { 3475 margin-right: 10px; 3476 } 3477 .t-preview { 3478 top: 10px; 3479 } 3480 3481 .card-qty a { 3482 height: 15px; 3483 } 3484 3485 .purchase-button-wrapper { 3486 padding: 15px; 3487 } 3488 } 3489 3490 @media (max-width: 576px) { 3491 .purchase-button .btn { 3492 width: 100%!important; 3493 } 3494 .purchase-button > .col-12 { 3495 padding-left: 0; 3496 padding-right: 0; 3497 } 3498 } 3499 </style> 3500 3501 3502 <div class="purchasePopup"> 3503 <div class="purchaseArea"> 3504 3505 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3506 <div class="wrapperPurchase"> 3507 <div class="purchase-content"> 3508 <div class="headerPurchase"> 3509 <h3 class="text-uppercase"> 3510 3511 customize your flower board 3512 3513 </h3> 3514 <a class="close-purchase-popup"> 3515 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3516 <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"/> 3517 </svg> 3518 </a> 3519 3520 </div> 3521 <div class="contentPurchase"> 3522 <div class="row"> 3523 3524 <div class="col-12"> 3525 3526 3527 <style> 3528 3529 3530 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3531 .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;} 3532 3533 .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;} 3534 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3535 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3536 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3537 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3538 .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;} 3539 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3540 #suggest-messages a {border: 1px solid #979797;background: #ffffff;color: #979797;border-radius: 3px;padding: 5px 10px;font-size: 10px;font-weight: 600;display: inline-block;} 3541 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3542 .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;} 3543 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3544 3545 @media (min-width: 991px) { 3546 .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);} 3547 .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);} 3548 } 3549 </style> 3550 3551 <input type="hidden" data-properties="penerima" value="-"> 3552 <div class="customize-papan"> 3553 <div class="container"> 3554 <div class="field-papan group-field-1 form-group"> 3555 <div class="input-field">
3556 <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. 3557 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3558 <p class="limit">0/100</p> 3559 <div id="suggest-messages"> 3560 <a id="show_note_papan1" href="#"> 3561 <div class="suggest-message" id="note_btn_div1"> 3562 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3563 </div> 3564 </a> 3565 <a id="show_note_papan2" href="#"> 3566 <div class="suggest-message" id="note_btn_div2"> 3567 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3568 </div> 3569 </a> 3570 <a id="show_note_papan3" href="#"> 3571 <div class="suggest-message" id="note_btn_div3"> 3572 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3573 </div> 3574 </a> 3575 </div> 3576 </div> 3577 </div> 3578 <div class="hide"> 3579 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3580 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3581 </div> 3582 <div class="hide"> 3583 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3584 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3585 </div> 3586 <div class="hide"> 3587 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3588 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3589 </div> 3590 <div class="field-papan group-field-2 form-group"> 3591 3592 <label for="logoPapan" onclick="" class="input-field field-logo"> 3593 3594 3595 3596 <div class="btn-upload-papan w-100"> 3597 <?xml version="1.0" encoding="UTF-8"?> 3598 <img src="" style="display:none"> 3599 <div class="svgLogoPapan"> 3600 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 3601 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 3602 </svg> 3603 <p>Upload Logo <span>*optional</span></p> 3604 </div> 3605 </div> 3606 3607 </label> 3608 3609 <input 3610 type="hidden" 3611 data-properties="papan-logo" 3612 value="" 3613 > 3614 <input 3615 type="file" 3616 id="logoPapan" 3617 accept="image/*" 3618 style="position: absolute;width: 1px;height: 1px;padding: 0" 3619 > 3620 3621 <div class="input-field"> 3622 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 3623 <p class="limit">0/35</p> 3624 </div> 3625 3626 </div> 3627 3628 </div> 3629 </div> 3630 </div> 3631 3632 </div> 3633 </div> 3634 3635 </div> 3636 <div class="purchase-button-wrapper"> 3637 <div class="purchase-button btn-card row m-0"> 3638 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3639 3640 </div> 3641 <div class="btn-next-card col-12 col-lg-10 text-right"> 3642 3643 3644 <button 3645 3646 3647 3648 class="btn next-purchase-button text-uppercase" 3649 3650 disabled 3651 3652 > 3653 <span>save your flower board</span> 3654 </button> 3655 </div> 3656 </div> 3657 3658 </div> 3659 </div> 3660 </div> 3661 3662 3663 3664 <div 3665 class="sectionPurchase sectionPurchaseBoard hide" 3666 data-section="address" 3667 > 3668 <div class="wrapperPurchase"> 3669 <div class="purchase-content"> 3670 <div class="headerPurchase"> 3671 <h3> 3672 Complete Your Order 3673 </h3> 3674 <a class="close-purchase-popup"> 3675 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3676 <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"/> 3677 </svg> 3678 </a> 3679 3680 </div> 3681 <div class="contentPurchase"> 3682 <div class="row"> 3683 <div class="col-12 position-relative"> 3684 <div class="addressPurchase"> 3685 3686 <h4 class="text-uppercase">recipient delivery address</h4> 3687 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 3688 3689 <div class="formAddressPurchase row"> 3690 <div class="col-12"> 3691 <form> 3692 <div class="form-group row mb-2 mb-lg-4"> 3693 <div class="col-6 position-relative"> 3694 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 3695 <label for="first_name" class="input__label">First Name<span>*</span></label> 3696 </div> 3697 <div class="col-6 position-relative"> 3698 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 3699 <label for="last_name" class="input__label">Last Name<span>*</span></label> 3700 </div> 3701 <input type="hidden" data-properties="nama-penerima"> 3702 </div> 3703 3704 <h4 class="text-uppercase">how you want to input your address</h4> 3705 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 3706 <div class="col-6 position-relative"> 3707 <label class="address-manualy"> 3708 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 3709 <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
37091216 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
37095 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"/> 3710 </svg> 3711 <span>Input Address Manually</span> 3712 </label> 3713 </div> 3714 <div class="col-6 position-relative"> 3715 <label for="address-upload" class="address-upload"> 3716 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 3717 <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"/> 3718 </svg> 3719 <span>Upload Address Picture</span> 3720 </label> 3721 <input 3722 id="address-upload" 3723 type="file" 3724 accept="image/png, image/jpeg" 3725 style="position: absolute; padding: 0;width: 1px;height: 1px" 3726 > 3727 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 3728 </div> 3729 </div> 3730 <img width="150" height="" src="" class="photo-address" style="display: none;"> 3731 3732 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 3733 <div class="col-12"> 3734 <textarea 3735 id="delivery_address" 3736 data-properties="alamat-penerima" 3737 class="form-control input__field col-12" 3738 placeholder="" 3739 required 3740 ></textarea> 3741 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 3742 3743 </div> 3744 </div> 3745 <div class="form-group row mb-2 mb-lg-4 form-address"> 3746 <div class="col-6 position-relative"> 3747 <input 3748 id="recipient_number" 3749 type="text" 3750 data-properties="telepon-penerima" 3751 class="form-control input__field" 3752 placeholder="" 3753 required 3754 > 3755 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 3756 </div> 3757 <div class="col-6 position-relative"> 3758 <input 3759 id="company" 3760 type="text" 3761 data-properties="company" 3762 class="form-control input__field" 3763 placeholder="" 3764 > 3765 <label for="company" class="input__label">Company (Optional)</label> 3766 </div> 3767 </div> 3768 <div class="form-group row mb-2 mb-lg-4 form-address"> 3769 <div class="col-6 position-relative"> 3770 <input 3771 id="province" 3772 type="text" 3773 class="form-control input__field" 3774 placeholder="" 3775 value="Jakarta" 3776 data-properties="province" 3777 > 3778 <label for="province" class="input__label">Province</label> 3779 </div> 3780 <div class="col-6 position-relative"> 3781 <select id="zip" class="form-control select-search" required></select> 3782 </div> 3783 </div> 3784 </form> 3785 </div> 3786 </div> 3787 </div> 3788 <div class="addonsPurchase"> 3789 <h4 class="text-uppercase">add-ons</h4> 3790 <div class="addons"> 3791 <p>No Add-Ons</p> 3792 <!-- 3793 <button class="add-addon"> 3794 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 3795 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 3796 </svg>
3797 <span>Enhance my moment with Add-ons</span> 3798 </button> 3799 --> 3800 </div> 3801 </div> 3802 </div> 3803 3804 </div> 3805 </div> 3806 3807
3807<script> 3808 document.addEventListener('DOMContentLoaded', function() { 3809 // Detect iOS 3810 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 3811 3812 if (isIOS) { 3813 document.querySelector('.formAddressPurchase').classList.add('ios'); 3814 3815 // iOS specific fixes 3816 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 3817 3818 inputs.forEach(function(input) { 3819 // Force enable touch events on iOS 3820 input.style.webkitUserSelect = 'text'; 3821 input.style.webkitTouchCallout = 'default'; 3822 input.style.pointerEvents = 'auto'; 3823 input.style.touchAction = 'manipulation'; 3824 3825 // Add explicit touch event listeners for iOS 3826 input.addEventListener('touchstart', function(e) { 3827 e.stopPropagation(); 3828 this.focus(); 3829 }, { passive: false }); 3830 3831 input.addEventListener('touchend', function(e) { 3832 e.preventDefault(); 3833 e.stopPropagation(); 3834 this.focus(); 3835 this.click(); 3836 }, { passive: false }); 3837 3838 // Force focus on tap for iOS 3839 input.addEventListener('click', function(e) { 3840 e.stopPropagation(); 3841 if (document.activeElement !== this) { 3842 this.focus(); 3843 } 3844 }); 3845 }); 3846 3847 // Fix for label overlapping on iOS 3848 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 3849 labels.forEach(function(label) { 3850 label.style.pointerEvents = 'none'; 3851 label.addEventListener('touchstart', function(e) { 3852 e.preventDefault(); 3853 var input = this.parentNode.querySelector('.input__field'); 3854 if (input) { 3855 input.focus(); 3856 } 3857 }); 3858 }); 3859 } 3860 3861 // Handle input state for all browsers, especially iOS 3862 var inputs = document.querySelectorAll('.input__field'); 3863 3864 inputs.forEach(function(input) { 3865 // Handle input events 3866 input.addEventListener('input', function() { 3867 if (this.value.trim() !== '') { 3868 this.classList.add('has-value'); 3869 } else { 3870 this.classList.remove('has-value'); 3871 } 3872 }); 3873 3874 // Handle focus 3875 input.addEventListener('focus', function() { 3876 this.classList.add('focused'); 3877 // iOS specific: ensure input is visible 3878 if (isIOS) { 3879 setTimeout(function() { 3880 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 3881 }, 300); 3882 } 3883 }); 3884 3885 // Handle blur 3886 input.addEventListener('blur', function() { 3887 this.classList.remove('focused'); 3888 if (this.value.trim() !== '') { 3889 this.classList.add('has-value'); 3890 } else { 3891 this.classList.remove('has-value'); 3892 } 3893 }); 3894 3895 // Initial check for pre-filled values 3896 if (input.value.trim() !== '') { 3897 input.classList.add('has-value'); 3898 } 3899 }); 3900 3901 // Additional iOS fixes 3902 if (isIOS) { 3903 // Prevent iOS Safari from adding default styling 3904 document.addEventListener('touchstart', function() {}, { passive: true }); 3905 3906 // Fix viewport issues on iOS 3907 var viewport = document.querySelector('meta[name=viewport]'); 3908 if (viewport) { 3909 viewport.setAttribute('content', 3910 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 3911 ); 3912 } 3913 } 3914 }); 3915 </script>
3915 3916 </div> 3917 <div class="purchase-button-wrapper"> 3918 <div class="purchase-button btn-address row m-0"> 3919 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3920 3921 <button class="back-purchase-button back-address text-uppercase"> 3922 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 3923 <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"/> 3924 </svg> 3925 <span>Back</span> 3926 </button> 3927 3928 </div> 3929 <div class="btn-next-card col-12 col-lg-10 text-right"> 3930 3931 <!-- 3932 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 3933 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 3934 <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"/> 3935 </svg> 3936 <span>Back</span> 3937 </button> 3938 --> 3939 3940 3941 <button 3942 3943 id="addtocart-card" 3944 3945 class="btn next-address text-uppercase" 3946 3947 > 3948 <span>add to cart</span> 3949 </button> 3950 </div> 3951 </div> 3952 3953 </div> 3954 </div> 3955 </div> 3956 3957 </div> 3958 </div> 3959 <div id="backgroundPopup"></div> 3960 3961 3962 3963 <input 3964 data-index="1" 3965 type="hidden" 3966 id="properties-delivery-date" 3967 name="properties[Delivery Date]" 3968 value="-" 3969 > 3970 <input 3971 data-index="2" 3972 type="hidden" 3973 id="properties-delivery-time" 3974 name="properties[Delivery Time]" 3975 value="-" 3976 > 3977 <input 3978 data-index="4" 3979 type="hidden" 3980 id="properties-nama-penerima" 3981 name="properties[Nama Penerima]" 3982 value="-" 3983 > 3984 <input 3985 data-index="5" 3986 type="hidden" 3987 id="properties-alamat-penerima" 3988 name="properties[Alamat Penerima]" 3989 value="-" 3990 > 3991 <input 3992 data-index="6" 3993 type="hidden" 3994 id="properties-kodepos" 3995 name="properties[Kodepos]" 3996 value="-" 3997 > 3998 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 3999 4000 4001 <input 4002 data-index="8" 4003 type="hidden" 4004 id="properties-kartu-nama-penerima" 4005 name="properties[Kartu Nama Penerima]" 4006 value="-" 4007 > 4008 4009 <textarea 4010 data-index="9" 4011 type="hidden" 4012 id="properties-kartu-pesan" 4013 name="properties[Kartu Pesan]" 4014 style="display: none" 4015 >-</textarea> 4016 4017 4018 4019 <input 4020 data-index="10" 4021 type="hidden" 4022 id="properties-kartu-nama-pengirim" 4023 name="properties[Kartu Nama Pengirim]" 4024 value="-" 4025 > 4026 4027 4028 4029 <!-- Additional Shipping --> 4030 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4031 <input 4032 type="hidden" 4033 id="properties-kota-pengiriman-country" 4034 name="properties[Country]" 4035 value="Indonesia" 4036 > 4037 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4038 4039 <input type="hidden" id="properties-time" name="properties[Time]"> 4040 <input type="hidden" id="properties-card" name="properties[Card]"> 4041 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4042 4043 <input 4044 type="hidden" 4045 id="properties-company" 4046 name="properties[Company]" 4047 value="" 4048 > 4049
4049<script> 4050 4051 $(document).ready(function(){ 4052 4053 var text_max_papan1=150; 4054 var msg_text_papan1=""; 4055 $('#kartu-ucapan-ucapan').keyup(function(){ 4056 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4057 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4058 }); 4059 4060 var notes_papan1 = [ 4061 4062 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4063 4064 ]; 4065 $('#show_note_papan1').click(function(event){ 4066 event.preventDefault(); 4067 var idx_papan1=parseInt($('#note_id_papan1').val()); 4068 if(isNaN(idx_papan1)){ 4069 idx_papan1=0; 4070 }else{ 4071 idx_papan1++; 4072 idx_papan1=idx_papan1%notes_papan1.length; 4073 } 4074 var note_papan1=notes_papan1[idx_papan1][1]; 4075 $('#note_id_papan1').val(idx_papan1); 4076 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4077 $('#msgDelivery').val(note_papan1); 4078 4079 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4080 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4081 if(isNaN(idx_2_papan1)){ 4082 idx_2_papan1=0; 4083 }else{ 4084 idx_2_papan1++; 4085 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4086 } 4087 $('#note_btn_id_papan1').val(idx_2_papan1); 4088 //var note_btn=note_btn_text[idx_2][1]; 4089 //$('#note_btn').text(note_btn); 4090 }); 4091 4092 var text_max_papan2=150; 4093 var msg_text_papan2=""; 4094 $('#kartu-ucapan-ucapan').keyup(function(){ 4095 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4096 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4097 }); 4098 4099 var notes_papan2 = [ 4100 4101 [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)."] 4102 4103 ]; 4104 $('#show_note_papan2').click(function(event){ 4105 event.preventDefault(); 4106 var idx_papan2=parseInt($('#note_id_papan2').val()); 4107 if(isNaN(idx_papan2)){ 4108 idx_papan2=0; 4109 }else{ 4110 idx_papan2++; 4111 idx_papan2=idx_papan2%notes_papan2.length; 4112 } 4113 var note_papan2=notes_papan2[idx_papan2][1]; 4114 $('#note_id_papan2').val(idx_papan2); 4115 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4116 $('#msgDelivery').val(note_papan2); 4117 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4118 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4119 if(isNaN(idx_2_papan2)){ 4120 idx_2_papan2=0; 4121 }else{ 4122 idx_2_papan2++; 4123 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4124 } 4125 $('#note_btn_id_papan2').val(idx_2_papan2); 4126 //var note_btn=note_btn_text[idx_2][1]; 4127 //$('#note_btn').text(note_btn); 4128 }); 4129 4130 var text_max_papan3=150; 4131 var msg_text_papan3=""; 4132 $('#kartu-ucapan-ucapan').keyup(function(){ 4133 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4134 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4135 }); 4136 4137 var notes_papan3 = [ 4138 4139 [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)."] 4140 4141 ]; 4142 $('#show_note_papan3').click(function(event){ 4143 event.preventDefault(); 4144 var idx_papan3=parseInt($('#note_id_papan3').val()); 4145 if(isNaN(idx_papan3)){ 4146 idx_papan3=0; 4147 }else{ 4148 idx_papan3++; 4149 idx_papan3=idx_papan3%notes_papan3.length; 4150 } 4151 var note_papan3=notes_papan3[idx_papan3][1]; 4152 $('#note_id_papan3').val(idx_papan3);
4153 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4154 $('#msgDelivery').val(note_papan3); 4155 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4156 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4157 if(isNaN(idx_2_papan3)){ 4158 idx_2_papan3=0; 4159 }else{ 4160 idx_2_papan3++; 4161 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4162 } 4163 $('#note_btn_id_papan3').val(idx_2_papan3); 4164 //var note_btn=note_btn_text[idx_2][1]; 4165 //$('#note_btn').text(note_btn); 4166 }); 4167 4168 var text_max_papan4=150; 4169 var msg_text_papan4=""; 4170 $('#kartu-ucapan-ucapan').keyup(function(){ 4171 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4172 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4173 }); 4174 4175 $('#show_note_papan4').click(function(event){ 4176 var notes_papan4 = [ 4177 [0,"Hereâs to youâsteadier, stronger and better every day."], 4178 [1,"Warmest wishes for a speedy recovery!"], 4179 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4180 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4181 ]; 4182 event.preventDefault(); 4183 var idx_papan4=parseInt($('#note_id_papan4').val()); 4184 console.log(idx_papan4, 'idx_papan4') 4185 if(isNaN(idx_papan4)){ 4186 idx_papan4=0; 4187 }else{ 4188 idx_papan4++; 4189 idx_papan4=idx_papan4%notes_papan4.length; 4190 } 4191 var note_papan4=notes_papan4[idx_papan4][1]; 4192 $('#note_id_papan4').val(idx_papan4); 4193 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4194 console.log(note_papan4, 'note_papan4') 4195 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4196 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4197 if(isNaN(idx_2_papan4)){ 4198 idx_2_papan4=0; 4199 }else{ 4200 idx_2_papan4++; 4201 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4202 } 4203 $('#note_btn_id_papan4').val(idx_2_papan4); 4204 }); 4205 4206 /* 4207 $("#jenisPapan").change(function(){ 4208 $( "select option:selected").each(function(){ 4209 if($(this).attr("value")=="Happy Wedding"){ 4210 $("#suggest-messages a").hide(); 4211 $("#show_note_papan1").show(); 4212 $("#kartu-ucapan-papan").val(""); 4213 } 4214 if($(this).attr("value")=="Congratulations"){ 4215 $("#suggest-messages a").hide(); 4216 $("#show_note_papan2").show(); 4217 $("#kartu-ucapan-papan").val(""); 4218 } 4219 if($(this).attr("value")=="Duka Cita"){ 4220 $("#suggest-messages a").hide(); 4221 $("#show_note_papan3").show(); 4222 $("#kartu-ucapan-papan").val(""); 4223 } 4224 }); 4225 }).change(); 4226 */ 4227 4228 4229 4230 4231 4232 $(".variant-metafield").each(function(){ 4233 const t = $(this) 4234 const id = t.attr("id") 4235 const target = $(`[data-select=${id}]`) 4236 t.on('select2:selecting', function(e) { 4237 const data = e.params.args.data 4238 target.val(data.text) 4239 }); 4240 }) 4241 }) 4242 </script>
4242 4243 4244 <div id="popupCart"> 4245 <div class="container"> 4246 <div class="wrapperPopupCart"> 4247 <div class="headerPopupCart"> 4248 <div class="d-flex pl-5 pr-5 p-4"> 4249 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4250 <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"/> 4251 </svg> 4252 <span>item added to your cart</span> 4253 </div> 4254 <a class="close-purchase-popup"> 4255 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4256 <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"/> 4257 </svg> 4258 </a> 4259 4260 </div> 4261 <div class="contentPopupCart"> 4262 <div class="pl-5 pr-5 p-4"> 4263 <div class="itemContent row m-0 justify-content-between"> 4264 <div class="col-2 align-self-center"> 4265 4266 <img 4267 class="d-block" 4268 width="80" 4269 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4270 > 4271 </div> 4272 <div class="col-10 align-self-center"> 4273 <div class="row pl-3"> 4274 <div class="col-12 col-lg-7"> 4275 <span class="titleCartPopup text-uppercase">AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini</span> 4276 </div> 4277 <div class="d-flex justify-content-end col-12 col-lg-5"> 4278 <span class="deleteCartPopup hide">Delete</span> 4279 <span class="lineCartPrice align-self-center">Rp 5.000</span> 4280 </div> 4281 </div> 4282 </div> 4283 </div> 4284 <div class="itemProperties"> 4285 4286 <div class="propDeliver"> 4287 <h4>delivery option detail</h4> 4288 <p> 4289 <span>delivery city</span> 4290 <span class="propDeliveryCity">jakarta</span> 4291 </p> 4292 <p> 4293 <span>delivery date</span> 4294 <span class="propDeliveryDate">24/03/2025</span> 4295 </p> 4296 <p> 4297 <span>delivery time</span> 4298 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4299 </p> 4300 </div> 4301 <div class="propAddress"> 4302 <h4>delivery option detail</h4> 4303 <p> 4304 <span>RECIPIENT NAME</span> 4305 <span class="propDeliveryName">jane doe</span> 4306 </p> 4307 <p> 4308 <span>delivery address</span> 4309 <span class="propDeliveryAddress" 4310 >Jl. Lintas Sumatera, Pulau Panggung, Kec. Tj. Agung, Kabupaten Muara Enim, Sumatera Selatan 31355, Indonesia</span 4311 > 4312 </p> 4313 <p> 4314 <span>recipient phone number</span> 4315 <span class="propDeliveryPhone">(+62) 812-3456-7890</span> 4316 </p> 4317 <p> 4318 <span>PROVINCE</span> 4319 <span class="propDeliveryProv">Jakarta</span> 4320 </p> 4321 <p> 4322 <span>postal code</span> 4323 <span class="propDeliveryZip">12710</span> 4324 </p> 4325 4326 4327 </div> 4328 4329 </div> 4330 <div class="itemAddonCart"> 4331 <div class="toggleAddonCart d-flex justify-content-between"> 4332 <h4>add-ons (0)</h4> 4333 <svg xmlns="https://i.imgur.com/aqQVUjq.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4334 <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"/> 4335 </svg> 4336 </div> 4337 <div class="wrapperItemAddonCart"></div> 4338 </div> 4339 4340 </div> 4341 </div>
4342 <div class="footerPopupCart"> 4343 <div class="row m-0 pl-5 pr-5 p-4"> 4344 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4345 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4346 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4347 </div> 4348 </div> 4349 </div> 4350 </div> 4351 </div> 4352 4353 4354
4354<script> 4355 const shareButton = document.getElementById('shareButton'); 4356 4357 shareButton.addEventListener('click', () => { 4358 if (navigator.share) { 4359 navigator.share({ 4360 title: "AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini", 4361 url: "/products/blossom-shine", 4362 text: 'Check out this page!' 4363 }) 4364 .then(() => console.log('Successful share')) 4365 .catch((error) => console.log('Error sharing', error)); 4366 } else { 4367 alert('Web Share API is not supported in this browser.'); 4368 } 4369 }); 4370 4371 // Inventory validation function 4372 function checkInventoryStatus() { 4373 const productSelect = document.getElementById('productSelect'); 4374 const purchaseButton = document.querySelector('#personalizeBtn button'); 4375 4376 if (!productSelect || !purchaseButton) return; 4377 4378 const selectedVariantId = productSelect.value; 4379 4380 // Get variant data from Shopify 4381 fetch(`/products/blossom-shine.js`) 4382 .then(response => response.json()) 4383 .then(product => { 4384 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4385 4386 if (selectedVariant) { 4387 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4388 selectedVariant.inventory_management === 'shopify' && 4389 selectedVariant.inventory_policy !== 'continue'; 4390 4391 if (isOutOfStock) { 4392 purchaseButton.disabled = true; 4393 purchaseButton.textContent = 'Out of Stock'; 4394 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4395 purchaseButton.style.backgroundColor = '#cccccc'; 4396 purchaseButton.style.cursor = 'not-allowed'; 4397 } else { 4398 // Check if button was disabled due to other conditions 4399 4400 4401 4402 4403 4404 4405 4406 4407 const isOtherDisabled = false || true || false; 4408 4409 if (!isOtherDisabled) { 4410 purchaseButton.disabled = false; 4411 purchaseButton.textContent = 'customize your flower board'; 4412 purchaseButton.removeAttribute('data-out-of-stock'); 4413 purchaseButton.style.backgroundColor = ''; 4414 purchaseButton.style.cursor = ''; 4415 } 4416 } 4417 } 4418 }) 4419 .catch(error => { 4420 console.error('Error checking inventory:', error); 4421 }); 4422 } 4423 4424 // Check inventory on page load 4425 document.addEventListener('DOMContentLoaded', function() { 4426 checkInventoryStatus();
4427 4428 // Listen for variant changes 4429 const productSelect = document.getElementById('productSelect'); 4430 if (productSelect) { 4431 productSelect.addEventListener('change', checkInventoryStatus); 4432 } 4433 }); 4434 4435 // Prevent form submission if out of stock 4436 document.addEventListener('click', function(e) { 4437 if (e.target.matches('button[data-out-of-stock="true"]')) { 4438 e.preventDefault(); 4439 e.stopPropagation(); 4440 alert('This product is currently out of stock and cannot be purchased.'); 4441 return false; 4442 } 4443 }); 4444 </script>
4444 4445 4446 4447 4448 </div> 4449 4450 </div> 4451 </div> 4452 </div> 4453 </div> 4454 <div id="product-bottom"> 4455 4456<div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4457 <div class="container"> 4458 4459<h1>AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari Ini</h1> 4460 4461<p style="text-align: justify;"> 4462 AXESLOT hadir sebagai salah satu akses hiburan digital modern yang mengutamakan kemudahan pengguna dalam menemukan link resmi Slot777 terbaru. Dengan sistem yang lebih ringan, tampilan responsif, serta jalur akses yang tertata, AXESLOT menjadi pilihan praktis bagi pengguna yang mencari platform terpercaya untuk digunakan hari ini. 4463</p> 4464 4465<p style="text-align: justify;"> 4466 Seiring berkembangnya layanan hiburan online, pengguna kini membutuhkan situs yang cepat, stabil, dan mudah dijangkau melalui berbagai perangkat. AXESLOT menjawab kebutuhan tersebut dengan menghadirkan akses resmi yang sudah terverifikasi, sehingga pengalaman pengguna terasa lebih aman, nyaman, dan efisien. 4467</p> 4468 4469<h2>AXESLOT Sebagai Link Resmi Slot777 Terbaru</h2> 4470 4471<p style="text-align: justify;"> 4472 Keunggulan AXESLOT terletak pada kemampuannya menyediakan jalur akses resmi menuju Slot777 dengan sistem yang praktis dan mudah digunakan. Pengguna tidak perlu melalui proses yang rumit karena setiap halaman dirancang agar sederhana, cepat dibuka, dan nyaman untuk dijelajahi. 4473</p> 4474 4475<h3>Akses Cepat Melalui Mobile dan Desktop</h3> 4476 4477<p style="text-align: justify;"> 4478 AXESLOT dapat digunakan melalui smartphone, tablet, laptop, maupun komputer dengan tampilan yang menyesuaikan ukuran layar. Dukungan ini membuat pengguna lebih leluasa mengakses layanan kapan saja tanpa mengurangi kenyamanan saat membuka halaman. 4479</p> 4480 4481<ul> 4482 <li>Link resmi Slot777 lebih mudah ditemukan</li> 4483 <li>Tampilan halaman ringan dan responsif</li> 4484 <li>Sistem akses stabil untuk berbagai perangkat</li> 4485 <li>Navigasi sederhana agar pengguna lebih nyaman</li> 4486</ul> 4487 4488<h2>Situs Gacor Slot777 dengan Sistem Terverifikasi</h2> 4489 4490<p style="text-align: justify;"> 4491 AXESLOT menghadirkan akses Slot777 yang sudah terverifikasi untuk membantu pengguna mendapatkan pengalaman yang lebih tertata. Setiap bagian halaman dibuat agar mudah dipahami, mulai dari menu utama, fitur akses, hingga informasi yang tersedia di dalam platform. 4492</p> 4493 4494<h3>Pengalaman Hiburan Digital yang Lebih Praktis</h3> 4495 4496<p style="text-align: justify;"> 4497 Dalam dunia hiburan online, kecepatan dan kenyamanan menjadi hal penting. AXESLOT menyediakan sistem yang dirancang agar pengguna dapat menjelajahi layanan dengan lebih lancar, tanpa tampilan yang membingungkan atau proses akses yang berlebihan. 4498</p> 4499 4500<h2>Keunggulan AXESLOT untuk Pengguna Hari Ini</h2> 4501 4502<p style="text-align: justify;"> 4503 Selain dikenal sebagai gacoan link resmi Slot777, AXESLOT juga menawarkan pengalaman penggunaan yang lebih modern. Platform ini mengutamakan kemudahan akses, tampilan bersih, serta struktur halaman yang membuat pengguna bisa menemukan informasi dengan cepat. 4504</p> 4505 4506<h3>Hal Penting Saat Mengakses Slot777</h3> 4507 4508<p style="text-align: justify;"> 4509 Untuk mendapatkan pengalaman yang lebih nyaman, pengguna sebaiknya memilih akses resmi yang stabil dan terpercaya. Dengan menggunakan AXESLOT, pengguna dapat menikmati jalur akses yang lebih rapi serta menghindari halaman tidak jelas yang berisiko membingungkan. 4510</p> 4511 4512<ul> 4513 <li>Gunakan link resmi yang mudah dikenali</li> 4514 <li>Pastikan halaman dapat dibuka dengan stabil</li> 4515 <li>Pilih platform dengan tampilan yang responsif</li> 4516 <li>Gunakan koneksi internet yang aman dan lancar</li> 4517</ul> 4518 4519<h2>Tren Situs Slot777 Modern yang Semakin Diminati</h2> 4520 4521<p style="text-align: justify;"> 4522 Situs Slot777 modern kini semakin berkembang dengan mengutamakan akses cepat, desain mobile friendly, dan sistem yang lebih praktis. AXESLOT mengikuti tren tersebut dengan menghadirkan layanan yang mudah dijangkau serta cocok digunakan oleh pengguna masa kini. 4523</p> 4524 4525<h3>AXESLOT Sebagai Gacoan Link Terpercaya</h3> 4526 4527<p style="text-align: justify;"> 4528 Dengan dukungan akses resmi, sistem terverifikasi, dan tampilan yang mudah digunakan, AXESLOT menjadi salah satu gacoan link terpercaya untuk pengguna yang mencari situs Slot777 terbaru hari ini. Komb
4528inasi antara kecepatan, kenyamanan, dan kestabilan membuat platform ini layak dijadikan pilihan utama. 4529</p> 4530 4531<h2>Kesimpulan</h2> 4532 4533<p style="text-align: justify;"> 4534 AXESLOT menghadirkan pengalaman akses link resmi Slot777 terbaru dengan sistem yang cepat, ringan, dan terpercaya. Melalui tampilan responsif, jalur akses terverifikasi, serta struktur halaman yang mudah digunakan, AXESLOT menjadi pilihan praktis bagi pengguna yang mencari situs gacor Slot777 hari ini. 4535</p> 4536 4537</div> 4538</div> 4539 4540 4541 4542 4543 4544 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4545 <div class="short-desc"> 4546 <ul> 4547 <li><strong>AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.</strong></li> 4548 </div> 4549 <label class="more-mobile">Show More â</label> 4550 </div> 4551 4552 <style> 4553 .animated-title { 4554 text-align: center; 4555 font-weight: bold; 4556 color: #079c02; 4557 font-size: 28px; 4558 position: relative; 4559 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4560 } 4561 4562 /* Efek glow / bercahaya hijau */ 4563 @keyframes glow { 4564 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4565 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4566 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4567 } 4568 4569 /* Efek gerakan naik turun */ 4570 @keyframes moveUpDown { 4571 0% { transform: translateY(0px); } 4572 50% { transform: translateY(-5px); } 4573 100% { transform: translateY(0px); } 4574 } 4575 </style> 4576 4577
4577<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4577 4578
4578<script> 4579 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}); 4580 4581 const productType = $("[data-product-type]").data("product-type") 4582 const productDate = Date.parse(new Date()) 4583 4584 const shop = 'outerbloom1.myshopify.com' 4585 const host = 'https://app.asmaraku.com' 4586 // const host = 'http://localhost:5001' 4587 4588 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4589 4590 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4591 4592 $("#properties-time").val(new Date().getTime()) 4593 4594 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4595 4596 if(!isIOS) { 4597 $("#full-date").attr("type", "button") 4598 } 4599 4600 let dateTime = new Date(); 4601 let today = dateTime.getDate(); 4602 let day = dateTime.getDay(); 4603 let hour = dateTime.getHours(); 4604 let min = dateTime.getMinutes(); 4605 let timeOfDay = hour + (min / 100); 4606 4607 async function getFetch(url) { 4608 const response = await fetch(url); 4609 let status = false 4610 let result 4611 if(response.ok) { 4612 status = true 4613 result = await response.json(); 4614 } 4615 return { 4616 status, 4617 data: result 4618 } 4619 } 4620 4621 4622 4623 function setCookie(cname, cvalue, exMins) { 4624 var d = new Date(); 4625 d.setTime(d.getTime() + (exMins*60*1000)); 4626 var expires = "expires="+d.toUTCString(); 4627 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4628 } 4629 4630 function getCookie(cname) { 4631 let name = cname + "="; 4632 let decodedCookie = decodeURIComponent(document.cookie); 4633 let ca = decodedCookie.split(';'); 4634 for(let i = 0; i <ca.length; i++) { 4635 let c = ca[i]; 4636 while (c.charAt(0) == ' ') { 4637 c = c.substring(1); 4638 } 4639 if (c.indexOf(name) == 0) { 4640 return c.substring(name.length, c.length); 4641 } 4642 } 4643 return ""; 4644 } 4645 4646 async function renderDate() { 4647 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`); 4648 console.log(dataDate, 'renderDate') 4649 const data = dataDate?.data 4650 const date = data.date 4651 const time = data.time 4652 4653 console.log(date, 'DATE') 4654 4655 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4656 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4657 const htmlDate = []
4658 for(let i = 0;i < date.length;i++) { 4659 const full = date[i].date 4660 const d = new Date(date[i].date); 4661 const day = weekday[d.getDay()]; 4662 const dt = d.getDate(); 4663 const mt = monthly[d.getMonth()]; 4664 const yr = d.getFullYear(); 4665 const isDate = Boolean(date[i].isEnabled) 4666 const cutoffpagi = date[i].cutoff?.pagi 4667 const cutoffsiang = date[i].cutoff?.siang 4668 const cutoffMalam = date[i].cutoff?.Malam 4669 var html = ` 4670 <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'}> 4671 ${dt === today ? 4672 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 4673 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 4674 } 4675 </button> 4676 ` 4677 htmlDate.push(html) 4678 } 4679 const htmlTime = []
4680 for(var i = 0;i < time.length;i++) { 4681 const timeText = time[i].text 4682 const timeTime = time[i].time 4683 const timeEnabled = time[i].isEnabled 4684 var html = ` 4685 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 4686 ` 4687 htmlTime.push(html) 4688 } 4689 const deliveryDate = document.getElementById("deliveryDate"); 4690 if(deliveryDate) { 4691 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 4692 $("#deliveryTime").html(htmlTime) 4693 if(productType !== '') { 4694 console.log("clarity event " + productType + ' calendaring') 4695 window.clarity("event", `${productType} calendaringSchedule`) 4696 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 4697 } 4698 } 4699 } 4700 4701 async function getProvince(city) { 4702 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 4703 console.log(province, 'province') 4704 $("#province").val(province) 4705 } 4706 4707 async function renderAddress() { 4708 let current 4709 if(getCookie("location_delivery")){ 4710 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 4711 } 4712 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`); 4713 console.log(address) 4714 const data = address?.data?.city 4715 const htmlAddress = [] 4716 const grouping = []
4717 for(let i = 0;i < data?.length;i++) { 4718 if(data[i]){ 4719 if(data[i]?.group) { 4720 grouping.push(data[i].group) 4721 } 4722 const price = rupiah.format(data[i]?.rate) 4723 let promo = '(Promo Free Delivery)' 4724 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 4725 promo = '(at SCBD, Ashta)' 4726 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 4727 promo = '(at Kuningan, ITC Kuningan)' 4728 } else if(data[i]?.name === 'BSD - PickUp'){ 4729 promo = '(at Goldfinch Gading Serpong)' 4730 } else if(data[i]?.name === 'Kota Lainnya'){ 4731 promo = '' 4732 } 4733 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>`) 4734 } 4735 } 4736 4737 const deliveryCity = document.getElementById("cities"); 4738 if(deliveryCity) { 4739 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 4740 if(!isIOS) { 4741 $(deliveryCity).select2(); 4742 } 4743 } 4744 } 4745 4746 async function renderZip(v, v2, v3) { 4747 const deliveryZip = document.getElementById("zip"); 4748 if(v === '') { 4749 return 4750 } 4751 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 4752 let zip = dataZip?.data?.zip 4753 console.log(zip) 4754 let htmlZip = []
4755 for(let i = 0; i < zip?.length;i++) { 4756 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 4757 } 4758 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 4759 } 4760 4761 renderDate() 4762 renderAddress() 4763 4764 let rupiah = new Intl.NumberFormat('id-ID', { 4765 style: 'currency', 4766 currency: 'IDR', 4767 maximumFractionDigits: 0, 4768 minimumFractionDigits: 0 4769 }); 4770 4771 async function insertCard(data) { 4772 const response = await fetch(`${host}/api/card/new`, { 4773 method: "POST", 4774 headers: { 4775 'Content-Type': 'application/json', 4776 }, 4777 body: data 4778 }) 4779 const result = await response.json() 4780 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 4781 $("#greetingCard").attr("data-index", rowIndex) 4782 return result 4783 } 4784 4785 async function updateCard(data){ 4786 const rowIndex = $("#greetingCard").data("index") 4787 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 4788 method: "PUT", 4789 headers: { 4790 'Content-Type': 'application/json', 4791 }, 4792 body: data 4793 }) 4794 return response 4795 } 4796 4797 function bytesToSize(bytes) { 4798 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 4799 for (var i = 0; i < sizes.length; i++) { 4800 if (bytes <= 1024) { 4801 return bytes + ' ' + sizes[i]; 4802 } else { 4803 bytes = parseFloat(bytes / 1024).toFixed(2) 4804 } 4805 } 4806 return bytes + ' P'; 4807 } 4808 4809 async function uploadMedia(uri, type) { 4810 nameq = $("#properties-nama-penerima").val() 4811 dear = $("#properties-kartu-nama-penerima").val() 4812 card = $("[data-properties=ucapan]").val() 4813 sender = $("#properties-kartu-nama-pengirim").val() 4814 photo = $("#properties-photo").val() 4815 video = $("#properties-video").val() 4816 status = "Product" 4817 4818 const name = qrID 4819 let formData = new FormData(); 4820 formData.append("file", uri); 4821 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 4822 method: "POST", 4823 body: formData 4824 }) 4825 const result = await response.json(); 4826 if(result) { 4827 const url = result.url 4828 if(type === 'image/jpeg') { 4829 $("#properties-photo").val(url) 4830 $(".preview-image").show() 4831 $(".remove-image").show() 4832 photo = url 4833 } else { 4834 $("#properties-video").val(url) 4835 $("#label-input-video span").text("Change File") 4836 $(".case-qrcode-preview p").text("Scan here for a secret message") 4837 $(".remove-media").show() 4838 $("#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>`) 4839 $("[for=input-video]").hide() 4840 video = url 4841 } 4842 $(".case-video-preview").show() 4843 $(".steps-card-preview").removeClass("loading") 4844 // updateCard(nameq, dear, card, sender, photo, video, status) 4845 4846 $(".nextBtn").attr("disabled", false) 4847 } 4848 } 4849 4850 function randomString(length, chars) { 4851 var result = ''; 4852 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 4853 return result; 4854 } 4855 4856 function getNoteCity(fulldate) { 4857 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 4858 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 4859 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4860 const d = new Date(h_1); 4861 const day = weekday[d.getDay()]; 4862 const dt = d.getDate(); 4863 const mt = monthly[d.getMonth()]; 4864 const yr = d.getFullYear(); 4865 const p = $("#cities").parent(".form-group") 4866 } 4867 4868 function disabledSameDay() { 4869 let btnFirst = $("#deliveryDate").find("button:first-child") 4870 let getDay = new Date().getDay(); 4871 4872 4873 4874 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 4875 if(hour >= 14.00){ 4876 btnFirst.attr("disabled", true) 4877 } 4878 } else if(getDay == 6){ 4879 if(hour >= 16.00){ 4880 btnFirst.attr("disabled", true) 4881 } 4882 } else if(getDay == 0){ 4883 if(hour >= 16.00){ 4884 btnFirst.attr("disabled", true) 4885 } 4886 } 4887 4888 4889 } 4890 4891 function disabledays(date) { 4892 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 4893 //if u have to disable a list of day 4894 let removeDays 4895 4896 4897 4898 removeDays = ["2025-2-13", "2025-2-14"]; 4899 4900 if ($.inArray(ymd, removeDays) >= 0) { 4901 return [false]; 4902 } else { 4903 let day = date.getDay(); 4904 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 4905 return [(day == 0), '']; 4906 } 4907 4908 if(day == 0){ 4909 return [(day == 0), '']; 4910 } 4911 4912 4913 return [(day != 0), '']; 4914 } 4915 } 4916 4917 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 4918 /* Written by Deden Fathurahman ([email protected]). */ 4919 ( function( factory ) { 4920 if ( typeof define === "function" && define.amd ) { 4921 4922 // AMD. Register as an anonymous module. 4923 define( [ "../widgets/datepicker" ], factory ); 4924 } else { 4925 4926 // Browser globals 4927 factory( jQuery.datepicker ); 4928 } 4929 }( function( datepicker ) { 4930 4931 datepicker.regional.id = { 4932 closeText: "Tutup", 4933 prevText: "<mundur", 4934 nextText: "maju>", 4935 currentText: "Today", 4936 monthNames: [ "January","February","March","April","May","Juny", 4937 "July","August","September","October","November","December" ], 4938 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 4939 "Jul","Agu","Sep","Oct","Nov","Dec" ], 4940 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 4941 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 4942 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 4943 weekHeader: "Mg", 4944 dateFormat: "D, dd M", 4945 firstDay: 0, 4946 isRTL: false, 4947 showMonthAfterYear: false, 4948 yearSuffix: "" }; 4949 datepicker.setDefaults( datepicker.regional.id ); 4950 4951 return datepicker.regional.id; 4952 4953 } ) ); 4954 4955 function loadPopup() { 4956 $("#backgroundPopup").fadeIn("slow"); 4957 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 4958 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 4959 if(firstSection.hasClass("purchasePersonalize")) { 4960 if(productType !== '') { 4961 console.log("clarity event " + productType + ' personalize') 4962 window.clarity("event", `${productType} cardPersonalization`) 4963 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 4964 } 4965 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 4966 console.log("clarity event " + productType + ' personalizeBoard') 4967 window.clarity("event", `${productType} personalizeBoard`) 4968 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 4969 } 4970 firstSection.removeClass("hide") 4971 4972 // Auto-trigger addon loading when addon section becomes visible 4973 setTimeout(function() { 4974 const addonSection = $(".purchaseAddon") 4975 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 4976 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 4977 $("[data-addon=upsell-all]").trigger("click") 4978 } 4979 } 4980 }, 200) 4981 } 4982 4983 function disablePopup() { 4984 $("#backgroundPopup").fadeOut("slow"); 4985 $(".purchasePopup").fadeOut("slow"); 4986 $("#popupCart").fadeOut("slow"); 4987 } 4988
4989 function scrollTo(parent, div, dur) { 4990 $(parent).animate({ 4991 scrollTop: $(div).offset().top 4992 }, dur); 4993 } 4994 4995 function loadPopupPersonalize() { 4996 const div = "#purchaseProduct" 4997 const p = "html, body, .product-meta" 4998 $("p.error").remove() 4999 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5000 const isCity = $("#cities[required]") 5001 const isDate = $("#propDeliveryDate[required]") 5002 const isTime = $("#propDeliveryTime[required]") 5003 // loadPopup() 5004 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5005 loadPopup() 5006 } 5007 if(isCity.val() == '') { 5008 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5009 scrollTo(p, div, 500) 5010 } 5011 if(isDate.val() == '') { 5012 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5013 scrollTo(p, div, 500) 5014 } 5015 if(isTime.val() == '') { 5016 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5017 scrollTo(p, div, 500) 5018 } 5019 } 5020 5021 function quantityCounter() { 5022 $(document).on("click", ".item-card.selected .q_up", function () { 5023 var C = $(this).attr("data-id"), 5024 S = 5025 parseInt( 5026 $(this) 5027 .siblings(".quantity-cart-" + C) 5028 .val() 5029 ) + 1; 5030 $(this).attr("data-quantity", S), 5031 $(this) 5032 .siblings(".quantity-cart-" + C) 5033 .val(S); 5034 }), 5035 $(document).on("click", ".item-card.selected .q_down", function () { 5036 var C = $(this).attr("data-id"), 5037 S = parseInt( 5038 $(this) 5039 .siblings(".quantity-cart-" + C) 5040 .val() 5041 ); 5042 0 < S && $(this).attr("data-quantity", S - 1), 5043 0 < S && 5044 $(this) 5045 .siblings(".quantity-cart-" + C) 5046 .val(S - 1); 5047 }); 5048 } 5049 5050 quantityCounter() 5051 5052 const itemAddon = $(".item-card").length 5053 const nofree = $(".nofree").length 5054 5055 const upsell = '' 5056 5057 if(nofree === itemAddon) { 5058 // $("#itemAddons").html("<p>No Items available</p>") 5059 } 5060 5061 $("#itemAddons .item-card").each(function(e){ 5062 $("#itemAddons").attr("data-length", e) 5063 }) 5064 5065 $("[data-addon]").click(function(){ 5066 5067 5068 5069 const t = $(this) 5070 5071 const data = t.data("addon") 5072 5073 $("[data-addon]").removeClass("selected") 5074 t.addClass("selected") 5075 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5076 const products = data.products 5077 const html = [] 5078 for(let i = 0; i < products.length; i++) { 5079 const id = products[i].id 5080 const variantId = products[i].variants[0].id 5081 const img = products[i].images[0].src 5082 let img2 = img.split('.jpg')[0] 5083 const title = products[i].title 5084 const price = products[i].variants[0].price 5085 const tags = products[i].tags 5086 const qty = products[i].variants[0].available 5087 let type_upsell = '' 5088 if(tags.includes('upsell-item-standing')) { 5089 type_upsell = 'standing' 5090 } 5091 console.log(type_upsell) 5092 if(type_upsell !== '') { 5093 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}"> 5094 5095 <div class="card-image"> 5096 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5097 </div> 5098 <div class="card-meta"> 5099 <h5>${title}</h5> 5100 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5101 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5102 </div> 5103 <div class="card-qty"> 5104 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5105 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5105" value="0" data-price=${price} name="quantity"> 5106 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5107 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5108 </svg></a> 5109 </div> 5110 </div>` 5111 html.push(body) 5112 } 5113 } 5114 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5115 $("#itemAddons").attr("data-length", products.length) 5116 // $('#itemAddons')[0].swiper.update(); 5117 }); 5118 }) 5119 5120 async function isAddon(){ 5121 let ids = [] 5122 $("#itemAddons .item-card.selected").each(function(i, e){ 5123 const id = $(this).data("id") 5124 ids.push(id) 5125 }) 5126 console.log(ids) 5127 return ids 5128 } 5129 5130 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5131 const t = $(this).parent() 5132 const id = t.data("id") 5133 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5134 t.toggleClass("selected"); 5135 //$(this).next("input").toggleAttr('name', 'id[]'); 5136 if (t.hasClass('selected')) { 5137 t.find("input").val(1) 5138 t.find("input").attr('name', 'id[]'); 5139 } else { 5140 t.find("input").val(0) 5141 t.find("input").removeAttr('name'); 5142 } 5143 $("#properties-addons").val(addons) 5144 const is = await isAddon() 5145 if(is.length === 0) { 5146 btn.text("continue without add-ons") 5147 return 5148 } 5149 if(is.includes(8835692069079)) { 5150 btn.text("personalize acrylic frame") 5151 } else { 5152 btn.text("Continue") 5153 } 5154 5155 }) 5156 5157 async function myAddon(data) { 5158 const c = $(".addonsPurchase .addons") 5159 let items = [] 5160 5161 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5162 // if(spotifyAddons.length > 0) { 5163 // $(spotifyAddons).each(function(i, e){ 5164 // const spotifyLink = $(this).find(".spotifyLink").val() 5165 // const spotifySong = $(this).find(".spotifySong").val() 5166 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5167 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5168 // if(spotifyLink !== '') { 5169 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5170 // <div class="addon-itm-img"> 5171 // <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"/> 5172 // </div> 5173 // <div class="addon-itm-title"> 5174 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5175 // </div> 5176 // <div class="addon-itm-line-total"> 5177 // <span>Rp 99.000</span> 5178 // </div> 5179 // </div> 5180 // <div class="propsAddonSpotify row m-0"> 5181 // <div class="col-12 col-lg-2"></div> 5182 // <div class="col-12 col-lg-10"> 5183 // <p> 5184 // <span>spotify link</span> 5185 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5186 // </p> 5187 // <p> 5188 // <span>uploaded photo</span> 5189 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5190 // </p> 5191 // <p> 5192 // <span>song / playlist name</span> 5193 // <span class="spotifySongAddon">${spotifySong}</span> 5194 // </p> 5195 // <p> 5196 // <span>artist name</span> 5197 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5198 // </p> 5199 // </div> 5200 // </div>` 5201 // items.push(spotifyAddon) 5202 // } 5203 // }) 5204 // }
5205 for(let i = 0; i < data.length; i++) { 5206 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5207 const img = data[i].image 5208 const title = data[i].title 5209 const qty = data[i].qty 5210 const price = data[i].price 5211 const total = Number(qty) * Number(price) 5212 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5213 <div class="addon-itm-img"> 5214 <img src="${img}" alt="" width="70"/> 5215 </div> 5216 <div class="addon-itm-title"> 5217 <span>${title}</span> 5218 </div> 5219 <div class="addon-itm-line-price"> 5220 <span>${rupiah.format(price)}</span> 5221 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5222 </div> 5223 <div class="addon-itm-line-total"> 5224 <span>${rupiah.format(total)}</span> 5225 </div> 5226 </div>` 5227 items.push(addons) 5228 } 5229 } 5230 c.html(items) 5231 const parent = $(".purchaseAddon") 5232 const next = parent.next(".sectionPurchase") 5233 parent.addClass("hide") 5234 next.removeClass("hide") 5235 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5236 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5237 } 5238 5239 async function listAddon() { 5240 const data = $("#itemAddons").find(".selected") 5241 let ids = [] 5242 $(data).each(function(){ 5243 const id = $(this).data("variant") 5244 const image = $(this).find(".card-image img").attr("src") 5245 const title = $(this).find(".card-meta h5").text() 5246 const qty = $(this).find(".card-qty input").val() 5247 const price = $(this).find(".card-qty input").data("price") 5248 ids.push({ 5249 id: Number(id), 5250 image, 5251 title, 5252 qty, 5253 price 5254 }) 5255 }) 5256 myAddon(ids) 5257 } 5258 5259 async function customSpotify(idx, length, type){ 5260 let isCard = false 5261 5262 let p = $(".purchasePopupSpotify") 5263 const preLink = $(".spotifyLinkFirst").val() 5264 $("[data-index]").hide() 5265 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5266 p.find(".regulerAddons, .purchase-button").hide() 5267 p.find(".spotifyAddons").show() 5268 5269 const data = await trackUrl(preLink) 5270 5271 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://i.imgur.com/aqQVUjq.png" width="13" height="11" viewB
5271ox="0 0 13 11" fill="none"> 5272 <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"/> 5273 </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://i.imgur.com/aqQVUjq.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://i.imgur.com/aqQVUjq.png" width="13" height="11" viewB
5273ox="0 0 13 11" fill="none"> 5274 <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"/> 5275 </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>` 5276 // console.log(html) 5277 5278 $(".spotifyAddons").append(html) 5279 5280 $(`[data-index=${idx}]`).show() 5281 5282 if (preLink !== '') { 5283 $(".btn-action .btn").attr("disabled", false) 5284 } else { 5285 $(".btn-action .btn").attr("disabled", true) 5286 } 5287 5288 return html 5289 5290 } 5291 5292 $(".spotifyLinkFirst").keyup(async function(){ 5293 const v = $(this).val() 5294 if(v.includes('spotify:user:spotify')) { 5295 const correct = v.split('user:spotify:')[1] 5296 console.log(correct, 'BNER') 5297 $(this).val(correct) 5298 return 5299 } 5300 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5301 const data = await trackUrl(v) 5302 if(!data || !data.status) { 5303 $(this).parent().addClass("error") 5304 // $(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>`) 5305 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5306 return 5307 } 5308 $(this).parent().removeClass("error") 5309 // $(this).parent().remove("txt-error") 5310 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5311 } else { 5312 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5313 } 5314 }) 5315 5316 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5317 const parent = $(this).parents(".purchaseAddon") 5318 const next = parent.next(".sectionPurchase") 5319 if(next.hasClass("purchaseAddress")) { 5320 if(productType !== '') { 5321 console.log("clarity event " + productType + ' purchaseDelivery') 5322 window.clarity("event", `${productType} purchaseDelivery`) 5323 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5324 } 5325 } 5326 const data = $("#itemAddons").find(".selected") 5327 const length = $(".quantity-cart-46067682607319").val() 5328 const checked = data.length; 5329 if(checked > 0) { 5330 if(length > 0) { 5331 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5332 customSpotify(1, length, 'addon') 5333 } else { 5334 listAddon() 5335 } 5336 } else { 5337 parent.addClass("hide") 5338 next.removeClass("hide") 5339 } 5340 }) 5341 5342 $("#personalizeBtnSpotify .btn").click(async function(){ 5343 const isCity = $("#cities[required]") 5344 const isDate = $("#propDeliveryDate[required]") 5345 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5346 alert('Please choose Delivery City & Delivery Date') 5347 return 5348 } 5349 const data = await customSpotify(1, 1, 'product') 5350 if(data) { 5351 $("#backgroundPopup").fadeIn("slow"); 5352 $(".purchasePopupSpotify").fadeIn("slow"); 5353 5354 if(productType !== '') { 5355 console.log("clarity event " + productType + ' spotify') 5356 window.clarity("event", `${productType} spotify`) 5357 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5358 } 5359 } 5360 }) 5361 5362 function formatBytes(bytes, decimals = 2) { 5363 if (!+bytes) return '0 Bytes' 5364
5365 const k = 1024 5366 const dm = decimals < 0 ? 0 : decimals 5367 const sizes = ['B', 'KB', 'MB'] 5368 5369 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5370 5371 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5372 } 5373 5374 async function trackUrl(link){ 5375 try { 5376 let trackId = link.split('/').pop().split('?')[0]; 5377 let type = '' 5378 if(link.includes("spotify:")) { 5379 const uri = link.split('spotify:')[1] 5380 trackId = uri.split(':')[1] 5381 type = uri.split(':')[0] + 's' 5382 } else { 5383 if(link.match('track')){ 5384 type = 'tracks' 5385 } else if(link.match('playlist')) { 5386 type = 'playlists' 5387 } else if(link.match('artist')) { 5388 type = 'artists' 5389 } else if(link.match('album')) { 5390 type = 'albums' 5391 } 5392 } 5393 console.log(`${host}/api/spotify/${type}/${trackId}`) 5394 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5395 console.log(data, 'DATA') 5396 const song = data?.data?.name 5397 const artist = data?.data?.artist 5398 return { 5399 song, artist, type, trackId, status: data.status 5400 } 5401 } catch(err) { 5402 console.log(err) 5403 } 5404 } 5405 5406 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5407 const parent = $(this).parents("[data-index]") 5408 const preview = parent.find(".previewImage") 5409 const file = $(this)[0].files[0]; 5410 if (file) { 5411 const reader = new FileReader(); 5412 reader.onload = async function(e) { 5413 parent.find(".uploadResult label").hide() 5414 parent.find(".uploadedResult").remove() 5415 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5416 <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> 5417 <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;">
5417<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://i.imgur.com/aqQVUjq.png"> 5418 <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 /> 5419 </svg> 5420 </span></div></div>`) 5421 parent.find(".frameImageUploaded svg").hide() 5422 parent.find(".frameImage").addClass("uploaded") 5423 preview.attr("src", e.target.result); 5424 preview.show(); 5425 let formData = new FormData(); 5426 formData.append("file", file); 5427 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5428 method: "POST", 5429 body: formData 5430 }) 5431 const result = await response.json(); 5432 if(result){ 5433 parent.find(".resultPhotoSpotify").val(result.url) 5434 } 5435 } 5436 5437 reader.readAsDataURL(file); 5438 } else { 5439 preview.hide(); 5440 } 5441 }); 5442 5443 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5444 $(this).next("input[type=file]").trigger("click") 5445 }) 5446 5447 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5448 $(this).parents("input[type=file]").trigger("click") 5449 }) 5450 5451 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5452 const parent = $(this).parents("[data-index]") 5453 parent.find(".uploadPhotoSpotify").val("") 5454 parent.find(".uploadResult label").show() 5455 parent.find(".uploadedResult").remove() 5456 parent.find(".frameImageUploaded svg").show() 5457 parent.find(".previewImage").hide() 5458 parent.find(".frameImage").removeClass("uploaded") 5459 }) 5460 5461 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5462 const parent = $(this).parents("[data-index]") 5463 parent.toggleClass("checked") 5464 }) 5465 5466 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5467 const parent = $(this).parents("[data-index]") 5468 const link = $(this).val() 5469 const data = await trackUrl(link) 5470 5471 console.log(data) 5472 5473 if(data.song) { 5474 parent.find(".spotifySong").val(data.song) 5475 parent.find(".spotifyData").find("h3").text(data.song) 5476 } 5477 if(data.artist) { 5478 parent.find(".spotifyArtist").val(data.artist) 5479 parent.find(".spotifyData").find("p").text(data.artist) 5480 } 5481 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5482 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5483 if (data.status === true) { 5484 parent.find(".btn-action .btn").attr("disabled", false) 5485 } else { 5486 parent.find(".btn-action .btn").attr("disabled", true) 5487 } 5488 }) 5489
5490 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5491 const parent = $(this).parents("[data-index]") 5492 const v = $(this).val() 5493 parent.find(".spotifyData h3").text(v) 5494 }) 5495 5496 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5497 const parent = $(this).parents("[data-index]") 5498 const v = $(this).val() 5499 parent.find(".spotifyData p").text(v) 5500 }) 5501 5502 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5503 const parent = $(this).parents("[data-index]") 5504 const length = parent.data("length") 5505 const index = parent.data("index") 5506 const indexNext = Number(index) + 1 5507 customSpotify(indexNext, length, 'addon') 5508 }) 5509 5510 5511 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5512 const parent = $(this).parents(".purchaseAddon") 5513 const next = parent.next(".sectionPurchase") 5514 parent.addClass("hide") 5515 next.removeClass("hide") 5516 next.find(".purchase-button").show() 5517 listAddon() 5518 }) 5519 5520 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5521 const t = $(this).parents("[data-index]") 5522 const parent = $(this).parents(".sectionPurchase") 5523 const current = t.data("index") 5524 const prevCurrent = Number(current) - 1 5525 if(current == 1) { 5526 parent.removeClass("purchaseAddonSpotify") 5527 parent.find(".purchase-button").show() 5528 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5529 $(".spotifyAddons").empty() 5530 $(".regulerAddons").show() 5531 return 5532 } 5533 t.hide() 5534 t.prev("[data-index]").show() 5535 t.remove() 5536 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5537 }) 5538 5539 $("#personalizeBtn .btn").click(async function() { 5540 loadPopupPersonalize() 5541 }); 5542 5543 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5544 $(".sectionPurchaseSpotify").hide() 5545 loadPopupPersonalize() 5546 }) 5547 5548 $(".close-purchase-popup").click(function() { 5549 disablePopup(); 5550 }); 5551 $("#backgroundPopup").click(function() { 5552 // disablePopup(); 5553 }); 5554 5555 $("#popupCart .close-purchase-popup").click(function() { 5556 location.reload() 5557 }); 5558 5559 $('#popupCart').on('hide.bs.modal', function (e) { 5560 location.reload() 5561 }) 5562 5563 $(".next-card").click(function(){ 5564 const parent = $(this).parents(".sectionPurchase") 5565 const next = parent.next(".sectionPurchase") 5566 parent.addClass("hide") 5567 next.removeClass("hide") 5568 }) 5569 5570 $(".back-purchase-button").click(function(){ 5571 const parent = $(this).parents(".sectionPurchase") 5572 const prev = parent.prev(".sectionPurchase") 5573 parent.addClass("hide") 5574 prev.removeClass("hide") 5575 }) 5576 5577 $(document).keypress(function(e) { 5578 if (e.keyCode == 27 && popupStatus == 1) { 5579 disablePopup(); 5580 } 5581 }); 5582 5583 const parentImg = $(".case-img-preview") 5584 const parentVid = $(".case-video-preview") 5585 5586 function readURL(input) { 5587 if (input.files && input.files[0]) { 5588 let reader = new FileReader(); 5589 5590 let type = 'image/jpeg' 5591 const size = input.files[0].size 5592 if(input.files[0].type.match('video/')){ 5593 type = 'video/mp4' 5594 if(size > 15728640) { 5595 alert('File size exceeds maximum limit 15 MB') 5596 return 5597 } 5598 } else { 5599 if(size > 5242880) { 5600 alert('File size exceeds maximum limit 5 MB') 5601 return 5602 } 5603 } 5604 5605 reader.onload = function (e) { 5606 $(".nextBtn").attr("disabled", true) 5607 if(type === 'image/jpeg') { 5608 5609 $('.placeholder-image').hide(); 5610 $('.preview-image').show() 5611 $('.preview-image').attr('src', e.target.result); 5612 5613 } else { 5614 // parentVid.find(".ajax-loader").show(); 5615 $(".steps-card-preview").addClass("loading") 5616 } 5617 } 5618 5619 5620
5621 reader.readAsDataURL(input.files[0]); 5622 } 5623 } 5624 5625 async function readURLPapan(input) { 5626 if (input.files && input.files[0]) { 5627 let reader = new FileReader(); 5628 5629 reader.onload = function (e) { 5630 $('.btn-upload-papan').siblings('label').hide(); 5631 $('.btn-upload-papan img').attr('src', e.target.result); 5632 $('.btn-upload-papan img').show(); 5633 $('.svgLogoPapan').hide(); 5634 } 5635 5636 const type = 'image/jpeg' 5637 const name = `logo-8144957800663-${Date.parse(new Date())}` 5638 5639 let formData = new FormData(); 5640 formData.append("file", input.files[0]); 5641 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5642 method: "POST", 5643 body: formData 5644 }) 5645 const result = await response.json(); 5646 if(result) { 5647 const url = result.url 5648 $("[data-properties=papan-logo]").val(url) 5649 } 5650 5651 reader.readAsDataURL(input.files[0]); 5652 } 5653 } 5654 5655 async function readURLAddress(input) { 5656 console.log(input, 'readURLAddress') 5657 if (input.files && input.files[0]) { 5658 let reader = new FileReader(); 5659 5660 reader.onload = function (e) { 5661 $('.photo-address').attr('src', e.target.result); 5662 $('.photo-address').show(); 5663 } 5664 5665 const type = 'image/jpeg' 5666 const name = input.files[0].name?.split('.')[0] 5667 5668 let formData = new FormData(); 5669 formData.append("file", input.files[0]); 5670 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5671 method: "POST", 5672 body: formData 5673 }) 5674 const result = await response.json(); 5675 5676 reader.readAsDataURL(input.files[0]); 5677 5678 return result 5679 } 5680 } 5681 5682 5683 5684 5685 async function addToCartUang() { 5686 var productAddOnId1 = 42122101162199; 5687 var productAddOnId2 = 42122101194967; 5688 var product_id = 8144957800663 5689 const data = { 5690 items: [ 5691 { 5692 quantity: $("#Quantity-" + productAddOnId1).val(), 5693 id: productAddOnId1, 5694 "properties": { "Time": $("#properties-time").val() } 5695 }, 5696 { 5697 quantity: $("#Quantity-" + productAddOnId2).val(), 5698 id: productAddOnId2, 5699 "properties": { "Time": $("#properties-time").val() } 5700 } 5701 ] 5702 } 5703 await fetch(window.Shopify.routes.root + 'cart/add.js', { 5704 method: 'POST', 5705 headers: { 5706 'Content-Type': 'application/json' 5707 }, 5708 body: JSON.stringify(data) 5709 }) 5710 .then(response => { 5711 console.error('Sukses Buket Uang:', response); 5712 $(".form-flower").submit() 5713 }) 5714 .catch((error) => { 5715 console.error('Error Buket Uang:', error); 5716 $(".form-flower").submit() 5717 }); 5718 } 5719 5720 async function saveCard(){ 5721 let isCard = true 5722 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 5723 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 5724 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 5725 const foto = $("#properties-photo").val() 5726 const video = $("#properties-video").val() 5727 const data = JSON.stringify({ 5728 "id": qrID, 5729 "penerima": $("#properties-nama-penerima").val(), 5730 "kartu_penerima": kartu_penerima, 5731 "kartu_ucapan": kartu_ucapan, 5732 "kartu_pengirim": kartu_pengirim, 5733 "foto": foto, 5734 "video": video, 5735 "productId": "8144957800663", 5736 "order_name": "", 5737 "status": "Cart" 5738 }) 5739 5740 5741 } 5742 5743 async function additem(items){ 5744 try { 5745 let formData = items 5746 if(items?.length) { 5747 formData = { 5748 'items': items 5749 }; 5750 } 5751 5752 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 5753 method: 'POST', 5754 headers: { 5755 'Content-Type': 'application/json', 5756 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 5757 }, 5758 body: JSON.stringify(formData) 5759 }) 5760 5761 const data = await add.json(); 5762 return data 5763 } catch(err){ 5764 console.log('Error additem', err) 5765 } 5766 } 5767 5768 async function addons(){ 5769 let items = [] 5770 $(".addon-item").each(function(){ 5771 const p = $(this) 5772 const props = p.next(".propsAddonSpotify") 5773 const id = $(this).data("id") 5774 const quantity = $(this).data("qty") 5775 const propId = $("#properties-time").val() 5776 let properties = {} 5777 if(id === 46067682607319) { 5778 const link = props.find(".spotifyLinkAddon").text() 5779 const photo = props.find(".spotifyFotoAddon").text() 5780 const song = props.find(".spotifySongAddon").text() 5781 const artist = props.find(".spotifyArtistAddon").text() 5782 properties = { 5783 id: propId, 5784 "Spotify Link": link !== '' ? link : '-', 5785 "Spotify Photo": photo !== '' ? photo : '-', 5786 "Spotify Song": song !== '' ? song : '-', 5787 "Spotify Artist": artist !== '' ? artist : '-', 5788 type: 'addon' 5789 } 5790 } else { 5791 properties = { 5792 "id": propId, 5793 "type": "addon" 5794 } 5795 } 5796 items.push({ 5797 id, 5798 quantity, 5799 properties 5800 }) 5801 }) 5802 return items 5803 } 5804 5805 async function propItems() { 5806 let props = {} 5807 $("[data-properties]").each(function(e){
5808 let elementType = this.tagName; 5809 const k = $(this).data("properties") 5810 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') { 5811 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 5812 if(v !== '') { 5813 props[k] = v?.replace(/[\s\n]/g, ''); 5814 } 5815 } 5816 }) 5817 return props 5818 } 5819 5820 async function showPopupCart(items){ 5821 if(productType !== '') { 5822 console.log("clarity event " + productType + ' completeOrder') 5823 window.clarity("event", `${productType} completeOrder`) 5824 // window.clarity("set", productType, `completeOrder - ${productDate}`) 5825 } 5826 $("#popupCart").show() 5827 5828 $(".propDeliveryCity").text($("#cities").val()) 5829 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 5830 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 5831 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 5832 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 5833 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 5834 $(".propDeliveryProv").text($("#province").val()) 5835 $(".propDeliveryZip").text($("#zip").val()) 5836 5837 5838 5839 const addons = [] 5840 if(items && items.length > 0) { 5841 for(let i = 1; i < items.length; i++) { 5842 const spotifyLink = items[i].properties['Spotify Link'] 5843 const spotifyPhoto = items[i].properties['Spotify Photo'] 5844 const spotifySong = items[i].properties['Spotify Song'] 5845 const spotifyArtist = items[i].properties['Spotify Artist'] 5846 const price = items[i].price / 100 5847 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 5848 <div class="col-12 col-lg-2"></div> 5849 <div class="col-12 col-lg-10"> 5850 <p> 5851 <span>spotify link</span> 5852 <span>${spotifyLink}</span> 5853 </p> 5854 <p> 5855 <span>Upload Photo</span> 5856 <span>${spotifyPhoto}</span> 5857 </p> 5858 <p> 5859 <span>song / playlist name</span> 5860 <span>${spotifySong}</span> 5861 </p> 5862 <p> 5863 <span>artist name</span> 5864 <span>${spotifyArtist}</span> 5865 </p> 5866 </div> 5867 </div>` : ''; 5868 addons.push(`<div class="row m-0"> 5869 <div class="imgAddonCart col-2"> 5870 <img 5871 width="43" 5872 src="${items[i].image}" 5873 alt="" 5874 > 5875 </div> 5876 <div class="imgAddonTitlePrice col-10 align-self-center"> 5877 <div class="row justify-content-between m-0"> 5878 <div class="col-12 col-lg-8"> 5879 <h5>${items[i].title}</h5> 5880 </div> 5881 <div class="col-12 col-lg-4 text-lg-right"> 5882 <span>${rupiah.format(price)}</span> 5883 </div> 5884 </div> 5885 </div> 5886 </div>${props}`) 5887 } 5888 } 5889 // console.log(addons) 5890 if(addons.length === 0) { 5891 $(".itemAddonCart").hide() 5892 return 5893 } 5894 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 5895 $(".wrapperItemAddonCart").html(addons) 5896 } 5897 5898 const money = (money) => { 5899 return new Intl.NumberFormat('id-ID', 5900 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 5901 ).format(money); 5902 } 5903 5904 async function showNoteMoney() { 5905 let qty50k = $("[data-properties='Uang 50k']").val() 5906 let qty100k = $("[data-properties='Uang 100k']").val() 5907 const total50k = Number(qty50k) * 50000 5908 const total100k = Number(qty100k) * 100000 5909 const total_all = total50k + total100k 5910 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 5911 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 5912 $(".itemMoney").html(`<p>For the money arrangement, please transfer <strong>IDR ${money(total_all)}</strong> to <strong>Bank Mandiri 1020001234522 (PT Modern Mekar Abadi)</strong> and contact our <a href="https://amp-kmpa.web.app/" target="_blank" style="text-decoration: underline;
5912 color: #ffffff">Customer Service</a> to confirm with proof of payment.</p>`) 5913 } 5914 5915 async function removeImage() { 5916 const data = JSON.stringify({ 5917 "ID": $("#properties-properties-qrId").val(), 5918 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 5919 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 5920 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 5921 "Nama Penerima": $("#properties-nama-penerima").val(), 5922 "Order Number":"", 5923 "Status":"Product", 5924 "Foto": "", 5925 "Media": $("#properties-video").val(), 5926 "Image": "8144957800663" 5927 }) 5928 const remove = updateCard(data) 5929 if(remove) { 5930 $(this).hide() 5931 $("#properties-photo").val("-") 5932 $(".placeholder-image").show() 5933 $(".preview-image").attr("src", "") 5934 } 5935 } 5936 5937 async function removeVideo() { 5938 const data = JSON.stringify({ 5939 "ID": $("#properties-properties-qrId").val(), 5940 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 5941 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 5942 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 5943 "Nama Penerima": $("#properties-nama-penerima").val(), 5944 "Order Number":"", 5945 "Status":"Product", 5946 "Foto": $("#properties-photo").val(), 5947 "Media": "", 5948 "Image": "8144957800663" 5949 }) 5950 const remove = updateCard(data) 5951 if(remove) { 5952 $("#properties-video").val("-") 5953 $(this).find("img").hide() 5954 $(this).hide() 5955 $(this).prev("p").text("Add video to make it more special (optional)") 5956 $("#label-input-video").show() 5957 $("#label-input-video span").text("Upload Video") 5958 $(".case-video-preview p span").remove() 5959 } 5960 } 5961 5962 async function loadItemOccasion(t, occasion) { 5963 const name = occasion?.replace('greeting-card-', '') 5964 $("#kartu-ucapan").val("") 5965 $("[data-occassion]").removeClass("selected") 5966 $("[data-properties=ucapan]").val("") 5967 $("#save-card").attr("disabled", true) 5968 t.addClass("selected") 5969 $("#show_note").attr("data-card-occassion", name) 5970 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 5971 const products = data.products 5972 const html = [] 5973 for(let i = 0; i < products.length; i++) { 5974 const id = products[i].id 5975 const variantId = products[i].variants[0].id 5976 const img = products[i].images[0].src 5977 const title = products[i].title 5978 const price = products[i].variants[0].price 5979 const qty = products[i].variants[0].inventory_quantity 5980 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 5981 <label for="card-${variantId}"></label> 5982 <div class="card-image"> 5983 <img src="${img}" alt="${title}" width="" height="" /> 5984 </div> 5985 <div class="card-meta text-center"> 5986 <h5>${title}</h5> 5987 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5988 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 5989 </div> 5990 </div>` 5991 html.push(body) 5992 } 5993 const withoutCard = `<div class="item-card item-without-card"> 5994 <label for="card-0"></label> 5995 <div class="card-image"> 5996 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 5997 </div> 5998 <div class="card-meta text-center"> 5999 <h5>
5999Send without a greeting card</h5> 6000 <input id="card-0" type="radio" name="id" value="" data-price=""> 6001 </div> 6002 </div>` 6003 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6004 }); 6005 } 6006 6007 $(document).ready(function(){ 6008 6009 // Observer to auto-trigger addon loading when addon section becomes visible 6010 const addonObserver = new MutationObserver(function(mutations) { 6011 mutations.forEach(function(mutation) { 6012 const target = $(mutation.target) 6013 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6014 if(!target.hasClass('hide')) { 6015 // Addon section just became visible, ensure items are loaded 6016 setTimeout(function() { 6017 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6018 console.log("Auto-triggering addon load...") 6019 $("[data-addon=upsell-all]").trigger("click") 6020 } 6021 }, 150) 6022 } 6023 } 6024 }) 6025 }) 6026 6027 // Start observing addon section 6028 const addonSection = document.querySelector('.purchaseAddon') 6029 if(addonSection) { 6030 addonObserver.observe(addonSection, { 6031 attributes: true, 6032 attributeFilter: ['class'] 6033 }) 6034 } 6035 6036 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6037 6038 $(this).find("span").addClass("loading") 6039 let isValid = true 6040 $(".formAddressPurchase [required]").each(function(){ 6041 const t = $(this) 6042 const input = t.val() 6043 const p = t.parent() 6044 if(input === '') { 6045 p.addClass("error") 6046 isValid = false 6047 } 6048 }) 6049 6050 if(!isValid) { 6051 $(this).find("span").removeClass("loading") 6052 return 6053 } 6054 6055 let items = [] 6056 const mainProps = { 6057 6058 "Delivery Date": $("#propDeliveryDate").val(), 6059 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6060 "Kota Pengiriman": $("#cities").val(), 6061 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6062 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6063 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6064 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6065 6066 6067 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6068 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6069 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6070 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6071 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6072 6073 6074 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6075 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6076 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6077 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6078 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6079 "type": 'product' 6080 } 6081 const props = await propItems() 6082 properties = {...mainProps, ...props }; 6083 const id = $("#productSelect").find('option:selected').val() 6084 console.log(id, 'main ID') 6085 const mainItem = { 6086 id: Number(id), 6087 quantity: 1, 6088 properties 6089 } 6090 items.push(mainItem) 6091 const cardId = $("#itemCards").find(".selected input").val() 6092 const cardItem = { 6093 id: Number(cardId), 6094 quantity: 1, 6095 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6096 } 6097 console.log(cardId, 'cardId') 6098 if(cardId) { 6099 items.push(cardItem) 6100 } 6101 const addon = await addons() 6102 if(addon) { 6103 for(let i = 0;
6103 i < addon.length; i++){ 6104 items.push({ 6105 id: addon[i].id, 6106 quantity: addon[i].quantity, 6107 properties: addon[i].properties 6108 }) 6109 } 6110 } 6111 const addItems = await additem(items) 6112 console.log(addItems.items, 'add items') 6113 if(addItems) { 6114 $(this).find("span").removeClass("loading") 6115 disablePopup() 6116 showPopupCart(addItems.items) 6117 6118 localStorage.setItem("items", JSON.stringify(addItems.items)) 6119 } 6120 }) 6121 6122 $("#addtocart-cart .btn").click(async function(){ 6123 const id = $("#productSelect").find('option:selected').val() 6124 const mainProps = { 6125 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6126 type: 'product' 6127 } 6128 const props = await propItems() 6129 const properties = { ...mainProps, ...props }; 6130 const items = { 6131 id: Number(id), 6132 quantity: 1, 6133 properties 6134 } 6135 const addItems = await additem(items) 6136 if(addItems) { 6137 showPopupCart(addItems.items) 6138 localStorage.setItem("items", JSON.stringify(addItems)) 6139 } 6140 }) 6141 6142 $(".formAddressPurchase [required]").change(function(){ 6143 const t = $(this) 6144 const p = t.parent() 6145 const v = t.val() 6146 if(v !== '') { 6147 p.removeClass("error") 6148 } 6149 }) 6150 6151 $("#save-card").click(async function(){ 6152 const parent = $(this).parents(".sectionPurchase") 6153 const next = parent.next(".sectionPurchase") 6154 $(this).find("span").addClass("loading") 6155 const card = await saveCard() 6156 console.log(card, 'ssaveCCC') 6157 if(card?.status === 200 || card?.status === 201) { 6158 $(".scanCard").removeClass("hide") 6159 $(this).find("span").removeClass("loading") 6160 parent.addClass("hide") 6161 next.removeClass("hide") 6162 if(next.hasClass("purchaseAddon")) { 6163 $("[data-addon=upsell-all]").click() 6164 console.log("clarity event addons") 6165 window.clarity("event", `${productType} add-ons`) 6166 // Ensure addon items are loaded when entering addon popup 6167 setTimeout(function() { 6168 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6169 $("[data-addon=upsell-all]").trigger("click") 6170 } 6171 }, 100) 6172 } 6173 if(next.hasClass("purchaseAddress")) { 6174 $("#zip").select2() 6175 } 6176 } 6177 }) 6178 6179 $("#skip-card").click(async function(){ 6180 $("#greetingCard [data-properties]").val("") 6181 $("#properties-photo").val("") 6182 $("#properties-video").val("") 6183 const parent = $(this).parents(".sectionPurchase") 6184 const next = parent.next(".sectionPurchase") 6185 parent.addClass("hide") 6186 next.removeClass("hide") 6187 // $("#itemCards").html("") 6188 removeImage() 6189 removeVideo() 6190 if(next.hasClass("purchaseAddon")) { 6191 $("[data-addon='upsell-all']").click() 6192 console.log("clarity event addons") 6193 window.clarity("event", `${productType} add-ons`) 6194 // Ensure addon items are loaded when entering addon popup 6195 setTimeout(function() { 6196 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6197 $("[data-addon='upsell-all']").trigger("click") 6198 } 6199 }, 100) 6200 } 6201 if(next.hasClass("purchaseAddress")) { 6202 $("#zip").select2() 6203 } 6204 }) 6205 6206 $("#msgCard").click(async function(){ 6207 $(this).parent().addClass("loading") 6208 let occasion = $(".selected[data-occassion]").data("occassion") 6209 occasion = occasion?.replace("greeting-card-", "") 6210 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6211 const d = data?.data 6212 for(let i = 0; i < d.length; i++) { 6213 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6214 const greeting = d[num]?.Greeting 6215 $(".greetingCard textarea").val(greeting) 6216 $(this).parent().removeClass("loading") 6217 } 6218 $("#save-card").attr("disabled", false) 6219 }) 6220 6221 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6222 const parent = $(this).parents(".sectionPurchase") 6223 const next = parent.next(".sectionPurchase") 6224 parent.addClass("hide") 6225 next.removeClass("hide") 6226 }) 6227 6228 $("#editCard").click(function(){ 6229 $(".custom-card").show() 6230 $(".preview-card").hide() 6231 }) 6232 6233 $("#first_name, #last_name").change(function(){ 6234 const v = $(this).val() 6235 const first_name = $("#first_name").val() 6236 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6237 $("[data-properties=nama-penerima]").val(first_name+last_name) 6238 }) 6239 6240 $("[data-occassion]").click(function(){ 6241 const t = $(this) 6242 const p = t.parents(".sectionPurchase") 6243 // $(".greetingCard").addClass("disabled") 6244 const occasion = t.data("occassion") 6245 loadItemOccasion(t, occasion) 6246 }) 6247 6248 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6249 const id = $(this).parent(".item-card").data("id") 6250 const t = $(this).parent(".item-card") 6251 const target = t.find("input") 6252 const v = $('.item-card input[type="radio"]:checked').val(); 6253 $("#itemCards .item-card").removeClass("selected") 6254 t.addClass("selected") 6255 $("#itemCards .item-card").find("input").attr("name", "") 6256 if(target.length > 0) { 6257 target.attr("name", "id[]") 6258 $("#properties-card").val(id) 6259 $(".greetingCard").removeClass("disabled") 6260 $("#skip-card").attr("disabled", false) 6261 } else { 6262 $("#properties-card").val("") 6263 } 6264 }) 6265 6266 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6267 const parent = $(this).parents(".sectionPurchase") 6268 const next = parent.next(".sectionPurchase") 6269 $(".greetingCard").addClass("disabled") 6270 parent.addClass("hide") 6271 next.removeClass("hide") 6272 $("[data-addon=upsell-all]").click() 6273 $("#zip").select2() 6274 }) 6275 6276 $("[data-properties=ucapan]").keyup(function(){ 6277 const v = $(this).val() 6278 const p = $(this).parents(".sectionPurchase") 6279 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6280 if(v.length > 3) { 6281 p.find(".next-purchase-button").attr("disabled", false) 6282 } else { 6283 p.find(".next-purchase-button").attr("disabled", true) 6284 } 6285 }) 6286 6287 $("[data-properties=penerima]").keyup(function(){ 6288 const v = $(this).val() 6289 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6290 }) 6291 6292 $("[data-properties=pengirim]").keyup(function(){ 6293 const v = $(this).val() 6294 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6295 }) 6296 6297 $(document).click(function(e){
6298 6299 if($(e.target).closest('.wrapperPopupCart').length != 0) return false; 6300 // $('#popupCart').fadeOut('slow'); 6301 // location.reload() 6302 }); 6303 6304 $(".toggleAddonCart").click(function(){ 6305 const p = $(this).parent(".itemAddonCart") 6306 p.toggleClass("open") 6307 }) 6308 6309 $(".btnViewCart").click(function(){ 6310 window.location.href = "https://outerbloom.com/cart"; 6311 }) 6312 6313 $(".btnViewCheckout").click(async function(){ 6314 $(this).find("span").addClass("loading") 6315 let zip = $("#zip").val() 6316 const first_name = $("#first_name").val() 6317 const last_name = $("#last_name").val() 6318 const company = $("#company").val() !== '' ? $("#company").val() : '' 6319 const address1 = $("#delivery_address").val() 6320 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6321 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6322 const phone = $("#recipient_number").val() 6323 const city = $("#cities").val() 6324 const province = $("#province").val() 6325 const country = 'Indonesia' 6326 const ver = Date.parse(new Date()) 6327 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}` 6328 6329 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6330 if(clear.status === 200) { 6331 const savedItem = window.localStorage.getItem("items"); 6332 const items = JSON.parse(savedItem) 6333 const addItems = await additem(items) 6334 console.log(addItems, 'new addItems') 6335 if(addItems) { 6336 window.location.href = `https://outerbloom.com/checkout?${params}`; 6337 } 6338 } 6339 }) 6340 6341 $(".btnContinueShopping").click(function(){ 6342 window.location.href = "https://outerbloom.com/"; 6343 }) 6344 6345 if (isIOS) { 6346 $(".empty-state-card").click(function(){ 6347 $("#input-foto").trigger("click") 6348 }) 6349 $(".btn-upload-image").click(function(){ 6350 $("#input-foto").trigger("click") 6351 }) 6352 $("[for=input-video]").click(function(){ 6353 $("#input-video").trigger("click") 6354 }) 6355 $(".btn-upload-papan").click(function(){ 6356 $("#logoPapan").trigger("click") 6357 }) 6358 } 6359 6360 $("[data-properties]").each(function(){ 6361 const select = $(this).parents(".form-group").find("select") 6362 $(this).change(function(){ 6363 const name = $(this).data("properties") 6364 const v = $(this).val() 6365 if (name == 'telepon-penerima') { 6366 let phone = v.replace(/[^0-9]/g, '') 6367 $(this).val(phone); 6368 $("#properties-telepon-penerima").val(phone) 6369 $('.iti__search-input').val('-') 6370 } else { 6371 $("#properties-" + name).val(v) 6372 } 6373 }) 6374 select.on("change", function(){ 6375 const name = $(this).data("properties") 6376 const v = $(this).val() 6377 $("#properties-" + name).val(v) 6378 }) 6379 }) 6380 6381 $("#show_note").click(function(){ 6382 nameq = $("#properties-nama-penerima").val() 6383 dear = $("#properties-kartu-nama-penerima").val() 6384 card = $("[data-properties=ucapan]").val() 6385 sender = $("#properties-kartu-nama-pengirim").val() 6386 photo = $("#properties-photo").val() 6387 video = $("#properties-video").val() 6388 updateCard(nameq, dear, card, sender, photo, video, status) 6389 }) 6390 6391 $(".remove-image").click(function(e){ 6392 e.preventDefault() 6393 $(this).find("img").show() 6394 removeImage() 6395 }) 6396 6397 $(".remove-media").click(function(e){ 6398 e.preventDefault() 6399 $(this).find("img").show() 6400 removeVideo() 6401 }) 6402 6403 6404 6405 $("[data-delivery_method]").click(function(e){
6406 e.preventDefault() 6407 const t = $(this) 6408 const data = t.data("delivery_method") 6409 $("[data-delivery_method]").removeClass("selected") 6410 t.addClass("selected") 6411 $("#cities").val("") 6412 $("#properties-delivery-date").val("-") 6413 $("#deliveryDate button").removeClass("selected") 6414 $("#full-date").val("Full Calendar â") 6415 $("#propDeliveryDate").val("") 6416 const step3 = $("#step-3") 6417 if(data.match('PickUp')) { 6418 $(".selfpickup-point").show() 6419 step3.find("[data-finished=false]").hide() 6420 $("#panel-4").hide() 6421 step3.find("[data-finished=true]").show() 6422 $("#cities").attr("required", false) 6423 $("#form-group-city").hide() 6424 $("#row-delivery-time").hide() 6425 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6426 $("#propDeliveryTime").attr("required", false) 6427 // $("#deliveryDate").find("button:first-child").addClass("stop") 6428 $(".form-selfpickup").show() 6429 $(".form-delivery").hide() 6430 $(".form-delivery").find("input, textarea, select").val("") 6431 $(".form-delivery").find("input, textarea, select").attr("required", false) 6432 $("#properties-shipping").val("0") 6433 $("#noteDeliveryDate").hide() 6434 $(".form-delivery .form-control").attr("required", false) 6435 $("#stepNav4").hide() 6436 6437 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6438 6439 6440 6441 if(timeOfDay >= 16.01){ 6442 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6443 } 6444 } else { 6445 6446 6447 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6448 step3.find("[data-finished=false]").show() 6449 $("#panel-4").show() 6450 step3.find("[data-finished=true]").hide() 6451 $("#cities").attr("required", true) 6452 $(".selfpickup-point").hide() 6453 $("#form-group-city").show() 6454 $("#cities").val('').trigger('change'); 6455 $("#properties-kota-pengiriman").val("-") 6456 6457 $("#row-delivery-date, #row-delivery-time").show() 6458 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6459 $("#deliveryDate").find("button").removeClass("stop") 6460 $(".form-selfpickup").hide() 6461 $(".form-delivery").show() 6462 $(".form-delivery").find("input, textarea, select").attr("required", true)
6463 $(".form-delivery [data-properties]").attr("readonly", false) 6464 $("#properties-kodepos").val("-") 6465 $("#properties-alamat-penerima").val("-") 6466 $(".form-delivery .form-control").attr("required", true) 6467 $(this).parents(".setup-content").attr("id", "step-1") 6468 6469 $("#stepNav4").show() 6470 } 6471 }) 6472 6473 $("[name=selfpickup]").click(function(){ 6474 const p = $(this).parents(".row-pickup") 6475 const pickupCity = $("input[name='selfpickup']:checked").val(); 6476 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6477 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6478 6479 $(".row-pickup").removeClass("selected") 6480 p.addClass("selected") 6481 6482 $("#properties-kota-pengiriman").val(pickupCity) 6483 $("#province").val("Jakarta") 6484 $("#properties-alamat-penerima").val(pickupAddress) 6485 $("#properties-kodepos").val(pickupZip) 6486 }) 6487 6488 $("#cities").change(function(e){ 6489 e.preventDefault() 6490 $(this).parent(".row").find("p.error").remove() 6491 $("#full-date").val("Full Calendar") 6492 $("#deliveryDate, #deliveryDateFull label ").show() 6493 $("#deliveryDateFull").removeClass("filled") 6494 $(".btnChangeDeliveryDate").addClass("hide") 6495 $("#full-date").prop('disabled', false); 6496 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6497 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6498 const step3 = $("#step-3") 6499 $("#cityNote").remove() 6500 $("#noteDeliveryDate").hide() 6501 $("#noteDeliveryDate").empty() 6502 let v = $(this).val() 6503 let v2 = $('option:selected', this).attr('data-city'); 6504 let v3 = $('option:selected', this).attr('data-province'); 6505 let price = $('option:selected', this).attr('data-price'); 6506 $("#country").val(v) 6507 $("#properties-kota-pengiriman").val(v) 6508 $("#properties-shipping").val(price) 6509 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6510 $("#properties-delivery-date, #properties-delivery-time").val("-") 6511 $("#propDeliveryDate, #propDeliveryTime").val("") 6512 let note = $('option:selected', this).attr('data-note'); 6513 if(v === 'Kota Lainnya') { 6514 $("#noteDeliveryDate").show() 6515 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6516 $("#zip").attr("required", false) 6517 $("#zip").hide() 6518 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6519 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6520 $("#row-delivery-date, #row-delivery-time").hide() 6521 $("#properties-shipping").val("") 6522 // $(this).parents(".setup-content").attr("id", "step-2") 6523 6524 } else { 6525 $("#noteDeliveryDate").hide() 6526 $("#zip").attr("required", true) 6527 $("#zip").show() 6528 $("#row-delivery-date, #row-delivery-time").show() 6529 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6530 $("#deliveryDate").find("button").removeClass("stop") 6531 // $(this).parents(".setup-content").attr("id", "step-1") 6532 6533 } 6534 6535 6536 6537 // if(v !== 'Jakarta') { 6538 // $("[data-type=upsell]").hide() 6539 // } else { 6540 // $("[data-type=upsell]").show() 6541 // } 6542 // $('.collection-addons')[0].swiper.update(); 6543 6544 6545 getProvince(v) 6546 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6547 renderZip(v, v2, v3) 6548 6549 disabledSameDay() 6550 6551 6552 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6553 6554 $("#cardOccasion, #navAddon, .collection-addons").hide() 6555 6556 $("[data-addon=giftcard]").show() 6557 $("[data-addon=giftcard]").click() 6558 $("#itemAddons").show() 6559 $("#flower-step").addClass("nonjadetabek") 6560 } else { 6561 $("#cardOccasion, #navAddon, .collection-addons").show() 6562 $("[data-addon=all]").click() 6563 $("#flower-step").removeClass("nonjadetabek") 6564 } 6565 6566 if(v !== '') { 6567 $("#personalizeBtn .btn").attr("disabled", false) 6568 } else { 6569 $("#personalizeBtn .btn").attr("disabled", true) 6570 } 6571 6572 }) 6573 6574 $("#zip").change(function(e){
6575 let v = $(this).val() 6576 var city = $("#cities").find('option:selected'); 6577 $("#properties-kodepos").val(v) 6578 if(city === 'Kota Lainnya') { 6579 $(this).attr("required", true) 6580 $("#recipient-address").val("") 6581 } 6582 }) 6583 6584 6585 var minDate = +7 6586 6587 6588 6589 $("#full-date").datepicker({ 6590 minDate, 6591 dateFormat: 'Mdd_yy', //Nop22_2021, 6592 6593 beforeShowDay: disabledays, 6594 6595 onSelect: function (date) { 6596 $("#deliveryDate, #deliveryDateFull label ").hide() 6597 $("#deliveryDateFull").addClass("filled") 6598 $(".btnChangeDeliveryDate").removeClass("hide") 6599 $("#full-date").prop('disabled', true); 6600 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6601 $(".date-full").addClass("selected") 6602 $(".date-single, .calendar-group").removeClass("selected") 6603 $("#propDeliveryTime").val('') 6604 $("#properties-delivery-time").val('-') 6605 $(".time-single").removeClass("selected") 6606 6607 6608 } 6609 }); 6610 6611 $(".btnChangeDeliveryDate").click(function(){ 6612 $("#deliveryDate, #deliveryDateFull label ").show() 6613 $("#deliveryDateFull").removeClass("filled") 6614 $(".btnChangeDeliveryDate").addClass("hide") 6615 $("#full-date").prop('disabled', false); 6616 }) 6617 6618 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6619 e.preventDefault() 6620 $(this).parents("#row-delivery-date").find("p.error").remove() 6621 const fulldate = $(this).data("fulldate") 6622 const day = $(this).data("day") 6623 const date = $(this).data("date")
6624 const month = $(this).data("month") 6625 const year = $(this).data("year") 6626 const off_pagi = $(this).data("offpagi") 6627 const off_siang = $(this).data("offsiang") 6628 const off_Malam = $(this).data("offMalam") 6629 $(".calendarbutton").removeClass("selected") 6630 $(this).addClass("selected") 6631 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6632 $("#propDeliveryTime").val('') 6633 $("#properties-delivery-time").val('-') 6634 $(".calendarbutton2").removeClass("selected") 6635 $("#full-date").val("Full Calendar") 6636 6637 6638 if(off_pagi && timeOfDay > off_pagi) { 6639 $("[data-time=Morning]").attr("disabled", true) 6640 } else { 6641 $("[data-time=Morning]").attr("disabled", false) 6642 } 6643 if(off_siang && timeOfDay > off_siang) { 6644 $("[data-time=Afternoon]").attr("disabled", true) 6645 } else { 6646 $("[data-time=Afternoon]").attr("disabled", false) 6647 } 6648 6649 6650 6651 }) 6652 6653 if(today === 14 && timeOfDay > 17.00) { 6654 $("#deliveryDate button:first-child").attr("disabled", true) 6655 } 6656 6657 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6658 e.preventDefault() 6659 const time = $(this).data("time") 6660 const date = $("#propDeliveryDate").val() 6661 if(date == '') { 6662 return alert('Silakan pilih tanggal terlebih dahulu') 6663 } 6664 $(".calendarbutton2").removeClass("selected") 6665 $(this).addClass("selected") 6666 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 6667 }) 6668 6669 $('textarea.has-limit, input.has-limit').keyup(function () { 6670 max = this.getAttribute("maxlength"); 6671 let len = $(this).val().length; 6672 let limit = $(this).siblings(".limit"); 6673 if (len > max) { 6674 alert('you have reached the limit'); 6675 } else { 6676 limit.text(`${len}/${max}`); 6677 } 6678 }); 6679 6680 $("#button-action-step .btn").click(function(){ 6681 $(this).find("span").text("Processing..."); 6682 }); 6683 6684 $(".finishBtn").on('click', function() { 6685 $(this).addClass("is-adding"); 6686 // $(this).click(); 6687 }); 6688 6689 $('.setup-panel .nav-item a.btn-success').trigger('click'); 6690 6691 $("#button-action .btn").click(function(){ 6692 $("#flower-step").addClass("block"); 6693 $("#button-action").hide(); 6694 }); 6695 6696 $(".close-how-order").click(function(){ 6697 $("#flower-step").removeClass("block"); 6698 $("#button-action").show(); 6699 }); 6700 6701 $("#input-foto, #input-video").change(function(e){ 6702 readURL(this); 6703 }); 6704 6705 $("#logoPapan").change(function(){ 6706 readURLPapan(this); 6707 }); 6708 6709 $("#address-upload").change(async function(){ 6710 const upload_address = await readURLAddress(this) 6711 if(upload_address) { 6712 const url = upload_address.url 6713 $(".props-address-upload").val(url) 6714 $(".form-address").addClass("address-uploaded") 6715 $(".form-address-upload").addClass("uploaded") 6716 6717 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 6718 } 6719 }) 6720 6721 $(".address-manualy").click(function(){ 6722 $(".form-address-upload").removeClass("uploaded"); 6723 $(".photo-address").hide(); 6724 $(".form-address").removeClass("address-uploaded") 6725 $("#formAddressPurchase").find(".form-control").attr("required", true) 6726 }); 6727 6728 $(".case-video-preview").delegate(".replace-video", "click", function(){ 6729 $("#input-video").trigger("click") 6730 }) 6731 6732 $('.date-single').click(function(e) { 6733 e.preventDefault(); 6734 $('.date-single').removeClass('selected'); 6735 $('#full-date').removeClass('selected'); 6736 $(this).addClass('selected'); 6737 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 6738 }); 6739 $('#full-date').click(function(e){ 6740 e.preventDefault(); 6741 $('.date-single').removeClass('selected'); 6742 $(this).addClass('selected'); 6743 }); 6744 6745 // $("tr").each(function(){ 6746 // if($(this).text().match('SKU')) { 6747 // $(".sku-product").html($(this).parents("table").html()) 6748 // } 6749 // }) 6750 6751 $("#product-image").scroll(function(){ 6752 $(".desc-add").each(function(){ 6753 const img = $(this).find("img") 6754 const src = img.data("src") 6755 img.attr("src", src) 6756 }) 6757 }) 6758 6759 $(".product-fixed").hide() 6760 6761 let target = $("#personalizeBtn") 6762 6763 6764 $(".product-meta").scroll(function() { 6765 if ($(window).scrollTop() >= target.offset().top ) { 6766 $(".product-fixed").addClass("show") 6767 } else { 6768 $(".product-fixed").removeClass("show") 6769 } 6770 }); 6771 6772 $(window).scroll(function() { 6773 if ($(window).scrollTop() >= target.offset().top ) { 6774 $(".product-fixed").addClass("show") 6775 } else { 6776 $(".product-fixed").removeClass("show") 6777 } 6778 }); 6779 }); 6780 </script>
6780 6781 6782
6782<script> 6783 // 6784 </script>
6784 6785 6786
6786<script> 6787 $(document).ready(function(){ 6788 $('table tr td').each(function(){ 6789 var texto = $(this).text(); 6790 var nextto = $(this).next("td"); 6791 var sku = $("#data-sku").val() 6792 if(texto == 'SKU'){ 6793 nextto.text(sku) 6794 } 6795 }); 6796 6797 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 6798 $(".stamped-summary-actions-newreview").text("Tulis Review"); 6799 $("#tab-questions").text("Pertanyaan"); 6800 6801 $(".freeship .icon").click(function(){ 6802 $(".fs-content").slideToggle(); 6803 $(this).parents(".freeship").toggleClass("expand"); 6804 }); 6805 6806 var $easyzoom = $('.easyzoom').easyZoom(); 6807 // Setup thumbnails example 6808 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 6809 $('.thumbnails').on('click', 'a', function(e) { 6810 var $this = $(this); 6811 e.preventDefault(); 6812 // Use EasyZoom's `swap` method 6813 api1.swap($this.data('standard'), $this.attr('href')); 6814 }); 6815 6816 $('#playerID').click(function(){ 6817 var videoURL = $('#VdoID').attr('src'), 6818 dataplay = $('#VdoID').attr('data-play'); 6819 6820 //for check autoplay 6821 //if not set autoplay=1 6822 if(dataplay == 0 ){ 6823 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 6824 $('#VdoID').attr('data-play',1); 6825 } 6826 else{ 6827 var videoURL = $('#VdoID').attr('src'); 6828 videoURL = videoURL.replace("?autoplay=1", ""); 6829 $('#VdoID').prop('src',''); 6830 $('#VdoID').prop('src',videoURL); 6831 6832 $('#VdoID').attr('data-play',0); 6833 } 6834 6835 }); 6836 6837 $(".product-photo-thumb-video").click(function(e){ 6838 e.preventDefault(); 6839 6840 var newEmbed = $(this).attr('href'); 6841 $("#featured-image-product").addClass("img-video"); 6842 $("#ProductPhotoImg").hide(); 6843 $("#featured-image-product .video").show(); 6844 $("#featured-image-product iframe").attr('src', newEmbed); 6845 $("#VdoID")[0].src += "&autoplay=1"; 6846 }); 6847 $(".product-single__thumbnail").click(function(evt){ 6848 evt.preventDefault(); 6849 $("#featured-image-product").removeClass("img-video"); 6850 $("#ProductPhotoImg").show(); 6851 $("#featured-image-product .video").hide(); 6852 $("#featured-image-product iframe").attr('src', ''); 6853 }); 6854 6855 if($('#product-meta .short-desc > div').length >= 1){ 6856 //console.log('div detected') 6857 var replacer = $('#product-meta .short-desc > div').contents(); 6858 $('#product-meta .short-desc > div').replaceWith(replacer); 6859 6860 var cAssured = $('.c-assured').detach(); 6861 cAssured.insertAfter('.meta-sds .stock-info'); 6862 } 6863 6864 6865 6866 $(".heading-toggle").click(function(){ 6867 $(this).parent().toggleClass("open") 6868 6869 }); 6870 }); 6871 </script>
6871 6872 6873 6874
6874<script type="application/json" id="ProductJson-Product"> 6875 6876 {"id":8144957800663,"title":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini."} 6877 </script>
6877 6878 6879
6879<script type="application/json" id="VariantJson-Product"> 6880 [ 6881 6882 { 6883 "incoming": false, 6884 "next_incoming_date": null 6885 } 6886 6887 ] 6888 </script>
6888 6889 6890 6891 6892 6893 </div> 6894 6895 6896
6896<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
6896 6897 <style> 6898 .stamped-review-header-title, 6899 .stamped-review-header .author, 6900 .stamped-review-content-body, 6901 .stamped-sort-select, 6902 .stamped-review-header .verified-badge[data-type=buyer]:after, 6903 .stamped-review-header-byline, 6904 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 6905 .stamped-review {margin-bottom: 0;} 6906 .stamped-review-body {padding-left: 65px;} 6907 .stamped-review:first-child {padding-top: 25px;} 6908 .stamped-review-content {clear: none;} 6909 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 6910 .stamped-review-reply-body {padding-left: 65px;} 6911 .stamped-review-header .author {text-transform: capitalize;} 6912 .stamped-questions .stamped-review-content {padding-left: 65px;} 6913 6914 .stamped-pagination {margin: 20px 0 0;} 6915 .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;} 6916 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 6917 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 6918 .stamped-pagination li:hover a {background: #ddd;} 6919 .stamped-pagination .next {border-right: 1px solid #ccc;} 6920 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 6921 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 6922 6923 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 6924 #stamped-pagination-question span {font-size: 14px;} 6925 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 6926 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 6927 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 6928 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 6929 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 6930 6931 @media (max-width: 480px){ 6932 .stamped-review-reply {margin-left: 0!important;} 6933 select.stamped-sort-select {font-size: 13px!important;} 6934 } 6935 6936 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 6937 display: block !important; 6938 } 6939 </style> 6940
6940<script> 6941 var selectCallback = function(variant, selector) { 6942 timber.productPage({ 6943 money_format: "Rp {{amount_no_decimals}}", 6944 variant: variant, 6945 selector: selector 6946 }); 6947 }; 6948 6949 jQuery(function($) { 6950 new Shopify.OptionSelectors('productSelect', { 6951 product: 6952 6953 6954 6955 6956 6957 {"id":8144957800663,"title":"AXESLOT # Gacoan Link Resmi Situs Gacor Slot777 Terbaru & Terpercaya Hari ini","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini."}, 6958 onVariantSelected: selectCallback, 6959 enableHistoryState: true 6960 }); 6961 6962 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 6963 6964 6965 // Hide selectors if we only have 1 variant and its title contains 'Default'. 6966 6967 $('.selector-wrapper').hide(); 6968 6969 }); 6970 </script>
6970 6971 6972 6973 6974
6974<script id="bss-ltap-hide-price" type="text/javascript" > 6975 !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)}))}
6975)),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)}
6975)),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()}
6975if("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)}
6975if(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");
6975c&&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
6975-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");
6975i&&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
6975--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
6975opify.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");
6975e.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=
6975o.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");
6975if(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();
6975let 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()}]); 6976 </script>
6976 6977 6978 </main> 6979 6980 <div id="shopify-section-newsletter" class="shopify-section"><br> 6981 <style> 6982 #shopify-section-newsletter { 6983 background: url('https://imgstore.io/images/2024/11/17/namatoko-background.gif'); 6984 background-attachment: fixed; 6985 margin-bottom: 0; 6986 } 6987 input:-webkit-autofill, 6988 input:-webkit-autofill:hover, 6989 input:-webkit-autofill:active, 6990 input:-webkit-autofill:focus { 6991 -webkit-box-shadow:0 0 0 50px white inset; 6992 -webkit-text-fill-color: #ffffff; 6993 } 6994 .section-newsletter { 6995 max-width: 800px; 6996 margin: auto; 6997 padding: 50px 0; 6998 } 6999 .section-newsletter h2 { 7000 font-weight: 700; 7001 font-size: 24px; 7002 } 7003 .section-newsletter input[type="email"] { 7004 width: 100%; 7005 text-align: center; 7006 border: none; 7007 border-bottom: 1px solid #ffffff; 7008 font-size: 16px; 7009 color: #757575; 7010 background-color: #eeeeee; 7011 } 7012 .section-newsletter .row label { 7013 font-size: 14px; 7014 cursor: pointer; 7015 } 7016 .section-newsletter .radio-inline input { 7017 width: auto; 7018 } 7019 .section-newsletter .btn { 7020 width: 130px; 7021 border: 1px solid #ffffff; 7022 box-shadow: none; 7023 font-size: 16px; 7024 font-weight: 500; 7025 text-transform: uppercase; 7026 } 7027 .section-newsletter form { 7028 margin: 30px 0 60px; 7029 } 7030 .section-newsletter input[type="radio"] { 7031 position: absolute; 7032 width: 1px; 7033 height: 1px; 7034 } 7035 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7036 position: relative; 7037 padding-left: 28px; 7038 cursor: pointer; 7039 line-height: 20px; 7040 display: inline-block; 7041 color: #666; 7042 } 7043 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7044 content: ''; 7045 position: absolute; 7046 left: 0; 7047 top: 0; 7048 width: 18px; 7049 height: 18px; 7050 border: 1px solid #ddd; 7051 border-radius: 100%; 7052 background: #ffffff; 7053 } 7054 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7055 content: ''; 7056 width: 12px; 7057 height: 12px; 7058 background: #ffffff; 7059 position: absolute; 7060 top: 3px; 7061 left: 3px; 7062 border-radius: 100%; 7063 -webkit-transition: all 0.2s ease; 7064 transition: all 0.2s ease; 7065 } 7066 .section-newsletter [type="radio"]:not(:checked) + label:after { 7067 opacity: 0; 7068 -webkit-transform: scale(0); 7069 transform: scale(0); 7070 } 7071 .opt-newsletter {display:none;} 7072 .footer-newsletter p, .footer-newsletter p a { 7073 color: #757575; 7074 } 7075 @media (max-width:991px){ 7076 .section-newsletter h2 { 7077 font-size: 32px; 7078 } 7079 .section-newsletter input { 7080 width: 300px; 7081 font-size: 14px; 7082 } 7083 .section-newsletter { 7084 padding: 50px 20px; 7085 } 7086 } 7087 @media (max-width: 480px){ 7088 .section-newsletter input[type="email"] {font-size: 16px;} 7089 } 7090 </style> 7091 <style> 7092 .icon-img-footer { 7093 width: 80px; 7094 padding: 0px 5px; 7095 } 7096 @media (min-width: 768px) { 7097 .icon-img-footer { 7098 width: 120px; 7099 } 7100 } 7101 @media (min-width: 992px) { 7102 .icon-img-footer { 7103 width: 120px; 7104 } 7105 } 7106 7107 .button-login-daftar { 7108 display: grid; 7109 grid-template-columns: repeat(2, 1fr); 7110 font-weight: 700; 7111 } 7112 .button-login-daftar a { 7113 text-align: center; 7114 } 7115 .login, 7116 .register { 7117 color: #000000; 7118 padding: 15px 10px; 7119 font-size: 23px; 7120 } 7121 .login, 7122 .login-button { 7123 background: linear-gradient(to bottom, #fe0000 0, #000000 100%); 7124 border: 2px solid #ffffff; 7125 } 7126 .register, 7127 .register-button { 7128 background: linear-gradient(to bottom, #fe0000 0, #000000 100%); 7129 border: 2px solid #ffffff; 7130 } 7131 7132 7133 7134 </style> 7135 7136 <!-- wp:html --> 7137
7137<script> 7138 document.addEventListener('DOMContentLoaded', 7139 function(){const faqItems=document.querySelectorAll('.faq-item'); 7140 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7141 question.addEventListener('click', 7142 ()=>{const isActive=item.classList.contains('active'); 7143 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7144 if(!isActive){item.classList.add('active')}})})}); 7145 </script>
7145 7146 7147 7148 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7149 </div> 7150 <div class="faq-section"> 7151<h2>FAQ AXESLOT Link Resmi Slot777 Terbaru & Terpercaya</h2> 7152 7153<div class="faq-container"> 7154 7155 <div class="faq-item"> 7156 <button class="faq-question">1. Apa itu AXESLOT?<span></span></button> 7157 <div class="faq-answer"> 7158 <p>AXESLOT adalah platform hiburan digital yang menyediakan akses link resmi Slot777 terbaru dengan tampilan ringan, navigasi cepat, serta sistem yang dirancang agar mudah digunakan melalui perangkat mobile maupun desktop.</p> 7159 </div> 7160 </div> 7161 7162 <div class="faq-item"> 7163 <button class="faq-question">2. Mengapa AXESLOT disebut sebagai link resmi Slot777 terpercaya?<span></span></button> 7164 <div class="faq-answer"> 7165 <p>AXESLOT dikenal sebagai akses resmi Slot777 karena menghadirkan jalur masuk yang stabil, aman, dan terverifikasi. Pengguna dapat menikmati layanan dengan lebih nyaman tanpa perlu khawatir terhadap akses yang tidak jelas.</p> 7166 </div> 7167 </div> 7168 7169 <div class="faq-item"> 7170 <button class="faq-question">3. Apa keunggulan AXESLOT hari ini?<span></span></button> 7171 <div class="faq-answer"> 7172 <p>Keunggulan AXESLOT terletak pada sistem akses yang cepat, desain responsif, serta pengalaman penggunaan yang praktis. Platform ini juga terus diperbarui agar tetap relevan dengan kebutuhan pengguna hari ini.</p> 7173 </div> 7174 </div> 7175 7176 <div class="faq-item"> 7177 <button class="faq-question">4. Apakah AXESLOT bisa diakses lewat HP?<span></span></button> 7178 <div class="faq-answer"> 7179 <p>Ya, AXESLOT dapat diakses dengan mudah melalui smartphone, tablet, laptop, maupun komputer. Tampilan situs dibuat responsif sehingga tetap nyaman digunakan pada berbagai ukuran layar.</p> 7180 </div> 7181 </div> 7182 7183 <div class="faq-item"> 7184 <button class="faq-question">5. Bagaimana cara mengakses link AXESLOT terbaru?<span></span></button> 7185 <div class="faq-answer"> 7186 <p>Pengguna cukup membuka halaman resmi AXESLOT melalui browser pilihan masing-masing. Setelah halaman terbuka, pengguna dapat mengikuti menu yang tersedia untuk menikmati akses Slot777 terbaru secara cepat dan praktis.</p> 7187 </div> 7188 </div> 7189 7190</div> 7191 </div> 7192 7193 7194 <div class="overlay overlay-cart"></div> 7195 <div id="CartDrawer" class="drawer drawer--right"> 7196 <div class="drawer__header pl-2 pr-2"> 7197 <div class="drawer__icon-cart display-table-cell"> 7198 <a href="/cart" class=""> 7199 <svg class="icon icon-cart" version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.
7199005-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> 7200 </a> 7201 </div> 7202 <div class="drawer__title h4">Keranjang Belanja</div> 7203 <div class="drawer__close js-drawer-close"> 7204 <button type="button"> 7205 <svg class="icon icon-close" version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="32" height="32" viewBox="0 0 32 32"> 7206 <title>icon-close</title> 7207 <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> 7208 </svg> 7209 </button> 7210 </div> 7211 </div> 7212 <div id="CartContainer" class="p-2"></div> 7213 </div> 7214 7215
7215<script> 7216 7217 </script>
7217 7218
7218<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7218 7219 <!-- /snippets/ajax-cart-template.liquid --> 7220 7221
7221<script id="CartTemplate" type="text/template"> 7222 7223 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7224 <div class="ajaxcart__inner" {{ cart.item_count }}> 7225 {{#items}} 7226 <div class="ajaxcart__product"> 7227 <div class="ajaxcart__row" data-line="{{line}}"> 7228 <div class="grid"> 7229 <div class="grid__item one-quarter"> 7230 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7231 </div> 7232 <div class="grid__item three-quarters"> 7233 <p class="d-block mb-3"> 7234 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7235 {{#if variation}} 7236 <span class="ajaxcart__product-meta p">{{variation}}</span> 7237 {{/if}} 7238 {{#properties}} 7239 {{#each this}} 7240 {{#if this}} 7241 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7242 {{/if}} 7243 {{/each}} 7244 {{/properties}} 7245 7246 </p> 7247 <div class="grid--full display-table"> 7248 <div class="grid__item display-table-cell one-half"> 7249 <div class="ajaxcart__qty"> 7250 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7251 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7252 <span class="visually-hidden">Kurangi jumlah barang</span> 7253 </button> 7254 <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]*"> 7255 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7256 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7257 <span class="visually-hidden">Tambahkan jumlah barang</span> 7258 </button> 7259 </div> 7260 </div> 7261 <div class="grid__item display-table-cell one-half text-right"> 7262 {{#if discountsApplied}} 7263 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7264 <br><span class="h4">{{{linePrice}}}</span> 7265 {{else}} 7266 <span class="h4">{{{linePrice}}}</span> 7267 {{/if}} 7268 </div> 7269 </div> 7270 {{#if discountsApplied}} 7271 <div class="grid--full display-table"> 7272 <div class="grid__item text-right"> 7273 {{#each discounts}} 7274 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7275 {{/each}} 7276 </div> 7277 </div> 7278 {{/if}} 7279 </div> 7280 </div> 7281 </div> 7282 </div> 7283 </div> 7284 </div> 7285 {{/items}} 7286 </div> 7287 <div class="ajaxcart__footer"> 7288 <div class="grid--full cart-subtotal py-2"> 7289 <p>Subtotal</p> 7290 <h3 class="primary">{{{totalPrice}}}</h3> 7291 {{#if totalCartDiscount}} 7292 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7293 {{/if}} 7294 </div> 7295 7296 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7297 7298 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7299 </div> 7300 </form> 7301 7302 </script>
7302 7303
7303<script id="AjaxQty" type="text/template"> 7304 7305 <div class="ajaxcart__qty"> 7306 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7307 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="24" viewBox="0 0 32 32"> 7308 <title>icon-minus</title> 7309 <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> 7310 </svg> 7311 <span class="visually-hidden">Kurangi jumlah barang</span> 7312 </button> 7313 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7314 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7315 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7316 <span class="visually-hidden">Tambahkan jumlah barang</span> 7317 </button> 7318 </div> 7319 7320 </script>
7320 7321
7321<script id="JsQty" type="text/template"> 7322 7323 <div class="js-qty mx-auto mt-2"> 7324 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7325 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg> 7326 <span class="visually-hidden">Kurangi jumlah barang</span> 7327 </button> 7328 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7329 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7330 <svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg> 7331 <span class="visually-hidden">Tambahkan jumlah barang</span> 7332 </button> 7333 </div> 7334 7335 </script>
7335 7336 7337 <style> 7338 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7339 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7340 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7341 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7342 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7343 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7344 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7345 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7346 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7347 </style> 7348
7348<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7348 7349
7349<script> 7350 jQuery(function($) { 7351 ajaxCart.init({ 7352 formSelector: '#AddToCartForm', 7353 cartContainer: '#CartContainer', 7354 addToCartSelector: '#AddToCartXX', 7355 cartCountSelector: '#CartCount, #CartCount2', 7356 cartCostSelector: '#CartCost', 7357 moneyFormat: "Rp {{amount_no_decimals}}" 7358 }); 7359 }); 7360 7361 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 7362 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 7363 timber.RightDrawer.open(); 7364 }); 7365 </script>
7365 7366 7367 7368 7369 7370 <style> 7371 /** Search AutoComplete **/ 7372 .resultsearch .ui-menu-item[data-cat="Collection"], 7373 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 7374 .resultsearch .ui-widget.ui-widget-content { 7375 width: 100%; 7376 top: 48px; 7377 border: none; 7378 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 7379 } 7380 .resultsearch .ui-menu-item {text-align: left;} 7381 .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;} 7382 .ui-state-active { 7383 border: none!important; 7384 background-color: #fafafa!important; 7385 color: #ffffff!important; 7386 } 7387 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 7388 .ui-menu .ui-menu-item {line-height: normal;} 7389 </style> 7390
7390<script> 7391 $(window).load(function(){ 7392 7393 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;} 7394 7395 $.widget("custom.catcomplete", $.ui.autocomplete, { 7396 _renderMenu: function (ul, items) { 7397 // have search reults split up in categories 7398 var that = this, 7399 currentCategory = ""; 7400 $.each(items, function (index, item) { 7401 if (item.category != currentCategory) { 7402 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 7403 currentCategory = item.category; 7404 } 7405 that._renderItemData(ul, item); 7406 }); 7407 } 7408 }); 7409 7410 // higlight searched for term 7411 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 7412 var term = this.element.val(), 7413 html = item.label.replace( term, "<b>$&</b>" ); 7414 return $( "<li>" ) 7415 .append(format(item)) 7416 .appendTo( ul ); 7417 }; 7418 7419 7420 var data = [ 7421 { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius âï¸ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries âï¸ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer âï¸ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn âï¸ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft S
7421weetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
7421,{ 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: " " }
7421,{ 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: " " }
7421,{ 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
7421dal", 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-
7421hampers", 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
7421o-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: " " }
7421,{ 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: " " }
7421,{ 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: " " }
7421,{ 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: " " }
7421,{ 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: " " }
7421,{ 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: " " }
7421,{ 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: " " }
7421,{ 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: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "AXESLOT sudah menghadirkan sebuah game ekslusif terkait link resmi situs slot777 yang sudah terverifikasi menjadi gacoan nya para bandar hari ini. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus âï¸ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " "
7421 },{ 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: " " }
7421,{ 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
7421dal", 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: " " }, 7422 { 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" }
7422,{ 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" }
7422,{ 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" } 7423 ]; 7424 7425 7426 $( ".header-input-search" ).catcomplete({ 7427 appendTo: ".searchResult",source: function(request, response) { 7428 var results = $.ui.autocomplete.filter(data, request.term); 7429 var predicate = function () { 7430 var counter = { Collection: 0, Produk: 0 }; 7431 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 7432 return fn 7433 }(); 7434 response(results.filter(predicate)); 7435 }, 7436 minLength:1, 7437 //results are clickable 7438 select: function( event, ui ) {window.location = ui.item.url;} 7439 }); 7440 $( ".header-input-search2" ).catcomplete({ 7441 appendTo: ".searchResult2", 7442 source: function(request, response) { 7443 var results = $.ui.autocomplete.filter(data, request.term); 7444 var predicate = function () { 7445 var counter = { Collection: 0, Produk: 0 }; 7446 var fn = function(item) { 7447 counter[item.category] += 1; 7448 return (counter[item.category] <= 5); 7449 } 7450 return fn 7451 }(); 7452 response(results.filter(predicate)); 7453 }, 7454 minLength:1, 7455 //results are clickable 7456 select: function( event, ui ) { 7457 window.location = ui.item.url; 7458 } 7459 }); 7460 }); 7461 </script>
7461 7462 7463
7463<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
7463 7464
7464<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
7464 7465 7466
7466<script> 7467 ( function() { 7468 var youtube = document.querySelectorAll( ".youtube" ); 7469 for (var i = 0; i < youtube.length; i++) { 7470 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 7471 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 7472 var image = new Image(); 7473 image.src = source; 7474 image.setAttribute("data-src", datasource); 7475 image.classList.add("swiper-lazy"); 7476 image.addEventListener( "load", function() { 7477 youtube[ i ].appendChild( image ); 7478 }( i ) ); 7479 youtube[i].addEventListener( "click", function() { 7480 var iframe = document.createElement( "iframe" ); 7481 iframe.setAttribute( "width", "480" ); 7482 iframe.setAttribute( "height", "480" ); 7483 iframe.setAttribute( "frameborder", "0" ); 7484 iframe.setAttribute( "allowfullscreen", "" ); 7485 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 7486 this.innerHTML = ""; 7487 this.appendChild( iframe ); 7488 } ); 7489 }; 7490 7491 } )(); 7492 7493 /* Lazy Load */ 7494 const mainLazyLoad = new LazyLoad({threshold:400}); 7495 $(document).ready(function(){ 7496 7497 $("selectxxx").addClass("needsclick"); 7498 FastClick.attach(document.body); 7499 7500 var $customSelects = $('.select-search'); 7501 $customSelects.select2({ 7502 templateResult: function(result, container) { 7503 if (!result.id) { 7504 return result.text; 7505 } 7506 container.className += ' needsclick'; 7507 return result.text; 7508 } 7509 }); 7510 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 7511 $(document).on('select2:open', () => { 7512 document.querySelector('.select2-search__field').focus(); 7513 }); 7514 7515 7516 $(".overlay").click(function(){ 7517 $(".js-drawer-close").click(); 7518 }); 7519 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 7520 $("html").toggleClass("nav_open"); 7521 }); 7522 7523 $('.swatch-element label').on('click', function(){ 7524 var srcImg = $(this).data('src'); 7525 $('#thumb-image-product .product-single__thumbnail').each(function(){ 7526 if ($(this).attr("href") == srcImg) { 7527 $(this).trigger('click'); 7528 } 7529 }); 7530 }); 7531 var defaultValue = $(".swatch input:checked").val() 7532 7533 $('#purchaseProduct .swatch [type=radio]').change(function() { 7534 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 7535 var optionValue = $(this).val(); 7536 console.log(optionIndex, optionValue) 7537 var value = parseInt(optionValue.split(' ')[0]) 7538 $(this) 7539 .closest('#purchaseProduct') 7540 .find('.single-option-selector') 7541 .eq(optionIndex) 7542 .val(optionValue) 7543 .trigger('change'); 7544 7545 }); 7546 7547 }); 7548 $(document).ready(function(){ 7549 $(".nav-search a").click(function(e){ 7550 e.preventDefault(); 7551 $(".icon-navsearch").toggle(); 7552 $(".icon-navclose").toggle(); 7553 $(".site-nav__item > .site-nav__link").toggle(); 7554 $(".open-search").toggle(); 7555 $(".open-search input").focus(); 7556 }); 7557 $(".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'>"); 7558 if ($(window).width() < 768) { 7559 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7560 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7561 $(".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'>"); 7562 } else { 7563 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 7564 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 7565 $(".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'>"); 7566 } 7567 $(".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'>"); 7568 $(".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'>"); 7569 }); 7570 </script>
7570 7571 7572 7573 7574 7575 7576 7577 7578
7578<script type="text/javascript"> 7579 var wishlistpage = 0; 7580 7581 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 7582 </script>
7582 7583 7584 <!-- Remove duplicate wishlist.js reference --> 7585 <style> 7586 .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:ffffff;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:ffffff;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:#6c0000;-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:#ffffff;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:#ffffff;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:#ffffff;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:#6c0000;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:#ffffff;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)}} 7587 </style> 7588 7589 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 7590 <div class="modal-dialog" role="document"> 7591 <div class="modal-content"> 7592 <div class="modal-body">Your Wishlist is empty!</div> 7593 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 7594 </div> 7595 </div> 7596 </div> 7597 7598 <div class="wishlist-model"> 7599 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 7600 <div class="modal-dialog white-modal"> 7601 <div class="modal-content"> 7602 <div class="modal-header"> 7603 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 7604 <svg class="icon icon-close" version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="32" height="32" viewBox="0 0 32 32"> 7605 <title>icon-close</title> 7606 <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> 7607 </svg> 7608 </button> 7609 </div> 7610 <div class="modal-body"> 7611 <div class="wishlist-left"> 7612 <div class="wishlist-note">
7613 <span class="cirle"><svg version="1.1" xmlns="https://i.imgur.com/aqQVUjq.png" width="32" height="32" viewBox="0 0 32 32"> 7614 <title>icon-check</title> 7615 <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> 7616 </svg></span> 7617 Product added to <a href="/pages/wish-list">Wishlist</a> 7618 </div> 7619 <div class="wishlist-product"> 7620 <div class="product-left"> 7621 <div class="wishlist-image"></div> 7622 </div> 7623 <div class="product-right"> 7624 <div class="wishlist-name"></div> 7625 <div class="wishlist-price"></div> 7626 </div> 7627 </div> 7628 </div> 7629 <div class="wishlist-right"> 7630 <div class="wishlist-cart"> 7631 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 7632 <div class="others-bottom"> 7633 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 7634 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 7635 <span id="AddToCartText" class="">Beli Sekarang</span> 7636 </button> 7637 </div> 7638 <div id="wishlist-variants-container" class="variants-wrapper"></div> 7639 <div class="quantity-content"> 7640 <label>QTY</label> 7641 <input type="number" size="5" class="" name="quantity" value="1" /> 7642 </div> 7643 </form> 7644 </div> 7645 </div> 7646 </div> 7647 </div> 7648 </div> 7649 </div> 7650 </div> 7651 7652 7653 <style> 7654 .stamped-badge[data-rating="0.0"]{display: none !Important;} 7655 7656 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 7657 border-radius: 0px; 7658 } 7659 .stamped-review-body { 7660 padding-left: 0px !important; 7661 } 7662 #product-reviews .stamped-header:after { 7663 display:none !Important; 7664 } 7665 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 7666 font-family:inherit !important; 7667 } 7668 </style> 7669 7670 7671 7672 <div id='stamped-rewards-init' class='stamped-rewards-init' 7673 data-key-public='' 7674 7675 ></div> 7676 7677
7677<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
7677 7678 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 7679
7679<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
7679 7680 7681
7681<script> 7682 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 7683 </script>
7683 7684
7684<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
7684<style> 7685 .jss59 { 7686 background-color: rgba(0, 0, 0, 0.6); 7687 } 7688 .MuiBackdrop-root { 7689 top: 0; 7690 left: 0; 7691 right: 0; 7692 bottom: 0; 7693 display: flex; 7694 z-index: -1; 7695 position: fixed; 7696 align-items: center; 7697 justify-content: center; 7698 background-color: rgba(0, 0, 0, 0.5); 7699 -webkit-tap-highlight-color: transparent; 7700 } 7701 .MuiDialog-scrollPaper { 7702 display: flex; 7703 align-items: center; 7704 justify-content: center; 7705 } 7706 .MuiDialog-container { 7707 height: 100%; 7708 outline: 0; 7709 } 7710 .MuiPaper-elevation24 { 7711 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); 7712 } 7713 .MuiDialog-paper { 7714 margin: 32px; 7715 position: relative; 7716 overflow-y: auto; 7717 } 7718 .MuiDialog-paperScrollPaper { 7719 display: flex; 7720 max-height: calc(100% - 64px); 7721 flex-direction: column; 7722 } 7723 .MuiDialog-paperWidthSm { 7724 max-width: 600px; 7725 } 7726 #location-lock-dialog { 7727 top: 20%; 7728 left: 0; 7729 right: 0; 7730 width: 30%; 7731 margin: 0px auto; 7732 display: block; 7733 padding: 30px; 7734 z-index: 99999; 7735 position: fixed; 7736 font-size: 14px; 7737 background: rgb(0, 0, 0); 7738 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 7739 text-align: center; 7740 font-family: Roboto, Arial, sans-serif; 7741 line-height: 1; 7742 border-radius: 8px; 7743 -webkit-font-smoothing: subpixel-antialiased; 7744 } 7745 .MuiButtonBase-root { 7746 color: inherit; 7747 border: 0; 7748 cursor: pointer; 7749 margin: 0; 7750 display: inline-flex; 7751 outline: 0; 7752 padding: 0; 7753 position: relative; 7754 align-items: center; 7755 user-select: none; 7756 border-radius: 0; 7757 vertical-align: middle; 7758 -moz-appearance: none; 7759 justify-content: center; 7760 text-decoration: none; 7761 background-color: transparent; 7762 -webkit-appearance: none; 7763 -webkit-tap-highlight-color: transparent; 7764 } 7765 .MuiIconButton-root { 7766 flex: 0 0 auto; 7767 color: rgba(0, 0, 0, 0.54); 7768 padding: 12px; 7769 overflow: visible; 7770 font-size: 1.5rem; 7771 text-align: center; 7772 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7773 border-radius: 50%; 7774 } 7775 .MuiIconButton-label { 7776 width: 100%; 7777 display: flex; 7778 align-items: inherit; 7779 justify-content: inherit; 7780 } 7781 .MuiSvgIcon-root { 7782 fill: currentColor; 7783 width: 1em; 7784 height: 1em; 7785 display: inline-block; 7786 font-size: 1.5rem; 7787 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7788 flex-shrink: 0; 7789 user-select: none; 7790 } 7791 .MuiTouchRipple-root { 7792 top: 0; 7793 left: 0; 7794 right: 0; 7795 bottom: 0; 7796 z-index: 0; 7797 overflow: hidden; 7798 position: absolute; 7799 border-radius: inherit; 7800 pointer-events: none; 7801 } 7802 .jss36 { 7803 color: #222222; 7804 font-size: 24px; 7805 font-family: Roboto, Arial, sans-serif; 7806 font-weight: 500; 7807 } 7808 .jss37 { 7809 color: #555555; 7810 padding: 10px 0px 0px; 7811 font-size: 14px; 7812 } 7813 .MuiFormGroup-root { 7814 display: flex; 7815 flex-wrap: wrap; 7816 flex-direction: column; 7817 } 7818 .MuiFormGroup-row { 7819 flex-direction: row; 7820 } 7821 .jss63 { 7822 width: 85%; 7823 margin: 15px auto; 7824 display: flex; 7825 padding: 11px 0px 0px; 7826 justify-content: space-evenly; 7827 } 7828 .MuiFormControlLabel-root { 7829 cursor: pointer; 7830 display: inline-flex; 7831 align-items: center; 7832 margin-left: -11px; 7833 margin-right: 16px; 7834 vertical-align: middle; 7835 -webkit-tap-highlight-color: transparent; 7836 } 7837 .jss70 { 7838 margin: 0; 7839 } 7840 .MuiButtonBase-root { 7841 color: inherit; 7842 border: 0; 7843 cursor: pointer; 7844 margin: 0; 7845 display: inline-flex; 7846 outline: 0; 7847 padding: 0; 7848 position: relative; 7849 align-items: center; 7850 user-select: none; 7851 border-radius: 0; 7852 vertical-align: middle; 7853 -moz-appearance: none; 7854 justify-content: center; 7855 text-decoration: none; 7856 background-color: transparent; 7857 -webkit-appearance: none; 7858 -webkit-tap-highlight-color: transparent; 7859 } 7860 .MuiIconButton-root { 7861 flex: 0 0 auto; 7862 color: rgba(0, 0, 0, 0.54); 7863 padding: 12px; 7864 overflow: visible; 7865 font-size: 1.5rem; 7866 text-align: center; 7867 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 7868 border-radius: 50%; 7869 } 7870 .MuiIconButton-colorSecondary { 7871 color: #f50057; 7872 } 7873 .jss71 { 7874 padding: 9px; 7875 } 7876 .MuiRadio-root { 7877 color: rgba(0, 0, 0, 0.54); 7878 } 7879 .jss64 { 7880 padding: 2px; 7881 } 7882 .MuiRadio-colorSecondary.Mui-checked { 7883 color: #f50057; 7884 } 7885 .MuiIconButton-label { 7886 width: 100%; 7887 display: flex; 7888 align-items: inherit; 7889 justify-content: inherit; 7890 } 7891 .MuiTypography-root { 7892 margin: 0; 7893 } 7894 .MuiTypography-body1 { 7895 font-size: 18px; 7896 font-family: Roboto,sans-serif; 7897 font-weight: 400; 7898 line-height: 1.5; 7899 } 7900 .location-popup_area-block__sp9Ws { 7901 display: -moz-box; 7902 display: flex; 7903 -moz-box-orient: vertical; 7904 -moz-box-direction: normal; 7905 flex-direction: column; 7906 -moz-box-pack: center; 7907 justify-content: center; 7908 position: relative; 7909 margin: 10px 10% 0;
7910 } 7911 .location-popup_pin-search-box__3l5mJ { 7912 width: 100%; 7913 display: -moz-box; 7914 display: flex; 7915 -moz-box-align: center; 7916 align-items: center; 7917 } 7918 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 7919 position: absolute; 7920 z-index: 999; 7921 } 7922 .location-popup_place-icon__jSG0Q { 7923 color: #ffffff; 7924 padding-left: 8px; 7925 } 7926 .location-popup_place-icon__jSG0Q svg { 7927 width: 18px; 7928 height: 18px; 7929 } 7930 .location-popup_cancel-icon__FHujU { 7931 color: #ffffff; 7932 right: 10px; 7933 width: 16px; 7934 cursor: pointer; 7935 height: 16px; 7936 display: none; 7937 padding: 5px; 7938 position: absolute; 7939 background: #999; 7940 text-align: center; 7941 border-radius: 50%; 7942 } 7943 .location-popup_pin-search-box__3l5mJ>div>select { 7944 /* -webkit-box-shadow: 0 0 10px #ffffff; 7945 box-shadow: 0 0 10px #ffffff; */ 7946 text-transform: capitalize; 7947 border: 1px solid #ffffff; 7948 color: #ffffff; 7949 width: 100%; 7950 margin: 0; 7951 display: -moz-box; 7952 display: flex; 7953 padding: 0 30px; 7954 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 7955 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 7956 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 7957 font-size: 16px; 7958 border-radius: 4px; 7959 height: 44px; 7960 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 7961 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 7962 } 7963 .MuiButtonBase-root { 7964 color: inherit; 7965 border: 0; 7966 cursor: pointer; 7967 margin: 0; 7968 display: inline-flex; 7969 outline: 0; 7970 padding: 0; 7971 position: relative; 7972 align-items: center; 7973 user-select: none; 7974 border-radius: 0; 7975 vertical-align: middle; 7976 -moz-appearance: none; 7977 justify-content: center; 7978 text-decoration: none; 7979 background-color: transparent; 7980 -webkit-appearance: none; 7981 -webkit-tap-highlight-color: transparent; 7982 } 7983 .MuiButton-root { 7984 color: rgba(0, 0, 0, 0.87); 7985 padding: 6px 16px; 7986 font-size: 0.875rem; 7987 min-width: 64px; 7988 box-sizing: border-box; 7989 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; 7990 font-family: Roboto,sans-serif; 7991 font-weight: 500; 7992 line-height: 1.75; 7993 border-radius: 4px; 7994 text-transform: uppercase; 7995 } 7996 .MuiButton-contained { 7997 color: rgba(0, 0, 0, 0.87); 7998 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); 7999 background-color: #e0e0e0; 8000 } 8001 .MuiButtonBase-root.Mui-disabled { 8002 cursor: default; 8003 pointer-events: none; 8004 } 8005 .MuiButton-label { 8006 width: 100%; 8007 display: inherit; 8008 align-items: inherit; 8009 justify-content: inherit; 8010 } 8011 .cartButton_login_content__2j1f7 { 8012 display: -moz-box; 8013 display: flex; 8014 text-align: center; 8015 z-index: 9; 8016 font-size: 18px; 8017 font-weight: 500; 8018 color: #ffffff; 8019 } 8020 8021 .jss35 { 8022 top: 5px; 8023 right: 5px; 8024 padding: 4px; 8025 position: absolute; 8026 border-radius: 50%; 8027 } 8028 .jss67 { 8029 cursor: pointer; 8030 font-size: 15px; 8031 line-height: 1.3; 8032 padding-left: 5px; 8033 } 8034 .jss69 { 8035 color: #222222; 8036 } 8037 .jss80 { 8038 color: #ffffff; 8039 width: 100%; 8040 height: 52px; 8041 padding: 11px 16px; 8042 font-size: 18px; 8043 min-width: 88px; 8044 min-height: 36px; 8045 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; 8046 font-weight: 500; 8047 line-weight: 1em; 8048 border-radius: 4px; 8049 text-transform: uppercase; 8050 background-color: #E87325; 8051 } 8052 @media (min-width: 991px){ 8053 .cartButton_login_content__2j1f7 { 8054 font-weight: 500; 8055 } 8056 } 8057 8058 @media (max-width: 992px) { 8059 #location-lock-dialog { 8060 width: 100%; 8061 top: auto; 8062 bottom: 0; 8063 padding-left: 0; 8064 padding-right: 0; 8065 } 8066 .MuiFormGroup-row { 8067 display: block 8068 } 8069 .MuiIconButton-label input { 8070 margin: 0; 8071 } 8072 } 8073 </style> 8074 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8075 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8076 <div tabindex="0" data-test="sentinelStart"></div> 8077 <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;"> 8078 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8079 <div class="jss31 undefined" id="location-lock-dialog"> 8080 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8081 <span class="MuiIconButton-label"> 8082 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8083 <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> 8084 </svg> 8085 </span> 8086 <span class="MuiTouchRipple-root"></span> 8087 </button> 8088 <div> 8089 <div class="jss36">Select Delivery Location</div> 8090 <div class="jss37">Select a delivery location to see product availability</div> 8091 </div> 8092 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8093 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8094 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8095 <span class="MuiIconButton-label"> 8096 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8097 <span class="jss41"></span> 8098 </span> 8099 <span class="MuiTouchRipple-root"></span> 8100 </span> 8101 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8102 <span class="jss67 jss69">Jabodetabek</span> 8103 </span> 8104 </label> 8105 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8106 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8107 <span class="MuiIconButton-label"> 8108 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8109 <span class="jss40"></span> 8110 </span> 8111 <span class="MuiTouchRipple-root"></span> 8112 </span> 8113 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8114 <span class="jss67 jss68">Outside Jabodetabek</span> 8115 </span> 8116 </label> 8117 </div> 8118 <div> 8119 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8120 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8121 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8122 <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> 8123 </div> 8124 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8125 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8126 </div> 8127 <div style="width: 100%;"> 8128 <select id="choose-location" class="form-control"> 8129 <option value="">Choose Location</option> 8130 <option value="jakarta">Jakarta</option> 8131 <option value="bogor">Bogor</option> 8132 <option value="depok">Depok</option> 8133 <option value="tangerang">Tangerang</option> 8134 <option value="bekasi">Bekasi</option> 8135 </select> 8136 </div> 8137 </div> 8138 </div> 8139 </div> 8140 <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(83, 1, 1, 1) 0px 2px 4px 0px; border-radius: 4px; color: rgb(0, 0, 0); height: 44px;" data-content=""> 8141 <span class="MuiButton-label">
8142 <span class=""></span> 8143 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8144 </span> 8145 </button> 8146 </div> 8147 </div> 8148 </div> 8149 <div tabindex="0" data-test="sentinelEnd"></div> 8150 </div> 8151 8152
8152<script> 8153 const jabodetabek = [ 8154 { 8155 "code": "jakarta", 8156 "city": "jakarta", 8157 "zip": [] 8158 }, 8159 { 8160 "code": "bogor", 8161 "city": "bogor", 8162 "zip": [] 8163 }, 8164 { 8165 "code": "depok", 8166 "city": "depok", 8167 "zip": [] 8168 }, 8169 { 8170 "code": "tangerang", 8171 "city": "tangerang", 8172 "zip": [] 8173 }, 8174 { 8175 "code": "bekasi", 8176 "city": "bekasi", 8177 "zip": [] 8178 } 8179 ] 8180 let cityNonJabodetabek = [ 8181 8182 8183 8184 8185 "pengiriman_aceh", 8186 8187 8188 8189 8190 8191 "pengiriman_ambon", 8192 8193 8194 8195 8196 8197 "pengiriman_atambua", 8198 8199 8200 8201 8202 8203 "pengiriman_badung", 8204 8205 8206 8207 8208 8209 "pengiriman_bali", 8210 8211 8212 8213 8214 8215 "pengiriman_balikpapan", 8216 8217 8218 8219 8220 8221 "pengiriman_bandar lampung", 8222 8223 8224 8225 8226 8227 "pengiriman_bandung", 8228 8229 8230 8231 8232 8233 "pengiriman_bandung barat", 8234 8235 8236 8237 8238 8239 "pengiriman_banjarmasin", 8240 8241 8242 8243 8244 8245 "pengiriman_banyumas", 8246 8247 8248 8249 8250 8251 "pengiriman_banyuwangi", 8252 8253 8254 8255 8256 8257 "pengiriman_batam", 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 "pengiriman_biak", 8268 8269 8270 8271 8272 8273 "pengiriman_binjai", 8274 8275 8276 8277 8278 8279 "pengiriman_blitar", 8280 8281 8282 8283 8284 8285 "pengiriman_blora", 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 "pengiriman_bojonegoro", 8296 8297 8298 8299 8300 8301 "pengiriman_boyolali", 8302 8303 8304 8305 8306 8307 "pengiriman_bukittinggi", 8308 8309 8310 8311 8312 8313 "pengiriman_buleleng", 8314 8315 8316 8317 8318 8319 "pengiriman_ciamis", 8320 8321 8322 8323 8324 8325 "pengiriman_cianjur", 8326 8327 8328 8329 8330 8331 "pengiriman_cibinong", 8332 8333 8334 8335 8336 8337 "pengiriman_cikarang", 8338 8339 8340 8341 8342 8343 "pengiriman_cikupa", 8344 8345 8346 8347 8348 8349 "pengiriman_cilacap", 8350 8351 8352 8353 8354 8355 "pengiriman_cileunyi", 8356 8357 8358 8359 8360 8361 "pengiriman_cimahi", 8362 8363 8364 8365 8366 8367 "pengiriman_cirebon", 8368 8369 8370 8371 8372 8373 "pengiriman_ciwidey", 8374 8375 8376 8377 8378 8379 "pengiriman_deli serdang", 8380 8381 8382 8383 8384 8385 "pengiriman_demak", 8386 8387 8388 8389 8390 8391 "pengiriman_denpasar", 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 "pengiriman_garut", 8402 8403 8404 8405 8406 8407 "pengiriman_gianyar", 8408 8409 8410 8411 8412 8413 "pengiriman_gresik", 8414 8415 8416 8417 8418 8419 "pengiriman_gunung kidul", 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 "pengiriman_jambi", 8430 8431 8432 8433 8434 8435 "pengiriman_jayapura", 8436 8437 8438 8439 8440 8441 "pengiriman_jember", 8442 8443 8444 8445 8446 8447 "pengiriman_jepara", 8448 8449 8450 8451 8452 8453 "pengiriman_jombang", 8454 8455 8456 8457 8458 8459 "pengiriman_karanganyar", 8460 8461 8462 8463 8464 8465 "pengiriman_karawang", 8466 8467 8468 8469 8470 8471 "pengiriman_karo", 8472 8473 8474 8475 8476 8477 "pengiriman_kebumen", 8478 8479 8480 8481 8482 8483 "pengiriman_kediri", 8484 8485 8486 8487 8488 8489 "pengiriman_keerom", 8490 8491 8492 8493 8494 8495 "pengiriman_kendal", 8496 8497 8498 8499 8500 8501 "pengiriman_klaten", 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 "pengiriman_kudus", 8512 8513 8514 8515 8516 8517 "pengiriman_kupang", 8518 8519 8520 8521 8522 8523 "pengiriman_lainnya", 8524 8525 8526 8527 8528 8529 "pengiriman_lamongan", 8530 8531 8532 8533 8534 8535 "pengiriman_lampung", 8536 8537 8538 8539 8540 8541 "pengiriman_lampung barat", 8542 8543 8544 8545 8546 8547 "pengiriman_lembang", 8548 8549 8550 8551 8552 8553 "pengiriman_lombok", 8554 8555 8556 8557 8558 8559 "pengiriman_lumajang", 8560 8561 8562 8563 8564 8565 "pengiriman_madiun", 8566 8567 8568 8569 8570 8571 "pengiriman_magelang", 8572 8573 8574 8575 8576 8577 "pengiriman_majalengka", 8578 8579 8580 8581 8582 8583 "pengiriman_makassar", 8584 8585 8586 8587 8588 8589 "pengiriman_malang", 8590 8591 8592 8593 8594 8595 "pengiriman_manado", 8596 8597 8598 8599 8600 8601 "pengiriman_medan", 8602 8603 8604 8605 8606 8607 "pengiriman_mengwi", 8608 8609 8610 8611 8612 8613 "pengiriman_mojokerto", 8614 8615 8616 8617 8618 8619 "pengiriman_nganjuk", 8620 8621 8622 8623 8624 8625 "pengiriman_ngawi", 8626 8627 8628 8629 8630 8631 "pengiriman_padang", 8632 8633 8634 8635 8636 8637 "pengiriman_palembang", 8638 8639 8640 8641 8642 8643 "pengiriman_pasuruan", 8644 8645 8646 8647 8648 8649 "pengiriman_pati", 8650 8651 8652 8653 8654 8655 "pengiriman_pekalongan", 8656 8657 8658 8659 8660 8661 "pengiriman_pekanbaru", 8662 8663 8664 8665 8666 8667 "pengiriman_pemalang", 8668 8669 8670 8671 8672 8673 "pengiriman_ponorogo", 8674 8675 8676 8677 8678 8679 "pengiriman_pontianak", 8680 8681 8682 8683 8684 8685 "pengiriman_probolinggo", 8686 8687 8688 8689 8690 8691 "pengiriman_purbalingga", 8692 8693 8694 8695 8696 8697 "pengiriman_purwakarta", 8698 8699 8700 8701 8702 8703 "pengiriman_purwokerto", 8704 8705 8706 8707 8708 8709 "pengiriman_rembang", 8710 8711 8712 8713 8714 8715 "pengiriman_riau", 8716 8717 8718 8719 8720 8721 "pengiriman_salatiga", 8722 8723 8724 8725 8726 8727 "pengiriman_samarinda", 8728 8729 8730 8731 8732 8733 "pengiriman_semarang", 8734 8735 8736 8737 8738 8739 "pengiriman_sentani", 8740 8741 8742 8743 8744 8745 "pengiriman_serang", 8746 8747 8748 8749 8750 8751 "pengiriman_sidoarjo", 8752 8753 8754 8755 8756 8757 "pengiriman_singkawang", 8758 8759 8760 8761 8762 8763 "pengiriman_sragen", 8764 8765 8766 8767 8768 8769 "pengiriman_subang", 8770 8771 8772 8773 8774 8775 "pengiriman_sukabumi", 8776 8777 8778 8779 8780 8781 "pengiriman_sumbawa", 8782 8783 8784 8785 8786 8787 "pengiriman_surabaya", 8788 8789 8790 8791 8792 8793 "pengiriman_surakarta solo", 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 "pengiriman_tasikmalaya", 8804 8805 8806 8807 8808 8809 "pengiriman_tegal", 8810 8811 8812 8813 8814 8815 "pengiriman_timika", 8816 8817 8818 8819 8820 8821 "pengiriman_wamena", 8822 8823 8824 8825 8826 8827 "pengiriman_wiyung", 8828 8829 8830 8831 8832 8833 "pengiriman_wonokromo", 8834 8835 8836 8837 8838 8839 "pengiriman_yogyakarta", 8840 8841 8842 8843 8844 8845 8846 ] 8847 console.log(cityNonJabodetabek) 8848 let non_jabodetabek = [] 8849 for(var i=0;i<cityNonJabodetabek.length;i++) { 8850 const obj = { 8851 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 8852 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 8853 "zip": [] 8854 } 8855 non_jabodetabek.push(obj) 8856 } 8857 let current_location = getCookie("location_delivery") 8858 $("[name=location]").change(function(){ 8859 let v = $(this).val() 8860 let option = [] 8861 if(v == 'Jabodetabek') { 8862 for(var i=0;i<jabodetabek.length;i++) { 8863 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 8864 option.push(jabodetabekHtml) 8865 } 8866 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 8867 } else { 8868 for(var i=0;i<non_jabodetabek.length;i++) { 8869 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 8870 option.push(nonjabodetabekHtml) 8871 } 8872 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 8873 } 8874 }) 8875 8876 $("#location-lock-submit").click(function(e){
8877 let select = $("#choose-location") 8878 let value = select.val().toLowerCase() 8879 console.log(value) 8880 if(select.val() == "") { 8881 return alert("Choose Your Location") 8882 e.preventDefault() 8883 } 8884 setCookie("location_delivery",value,1000000); 8885 8886 location.reload(); 8887 8888 }) 8889 8890 $("#close-popup-delivery").click(function(){ 8891 $(".MuiDialog-root").hide() 8892 if(!current_location){ 8893 setCookie("location_delivery","jakarta",1000000); 8894 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 8895 } 8896 }) 8897 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 8898 $(".MuiDialog-root").show() 8899 }) 8900 8901 8902 if(!current_location){ 8903 8904 } else { 8905 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 8906 console.log(current_location) 8907 $("#choose-location").each(function(){ 8908 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 8909 $("#jabodetabek").trigger("click") 8910 } else { 8911 $("#non-jabodetabek").trigger("click") 8912 } 8913 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 8914 }) 8915 } 8916 8917 // 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'){ 8918 // $("#timeMalam").attr("disabled", false) 8919 // } else { 8920 // $("#timeMalam").attr("disabled", true) 8921 // } 8922 8923 if(current_location && current_location != 'jakarta') { 8924 $("#self-pickup").attr("disabled", true) 8925 } 8926 8927 function setCookie(name,value,days) { 8928 var expires = ""; 8929 if (days) { 8930 var date = new Date(); 8931 date.setTime(date.getTime() + (days*24*60*60*1000)); 8932 expires = "; expires=" + date.toUTCString(); 8933 } 8934 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 8935 } 8936 function getCookie(name) { 8937 var nameEQ = name + "="; 8938 var ca = document.cookie.split(';'); 8939 for(var i=0;i < ca.length;i++) { 8940 var c = ca[i]; 8941 while (c.charAt(0)==' ') c = c.substring(1,c.length); 8942 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 8943 } 8944 return null; 8945 } 8946 </script>
8946 8947 <!-- One Tap --> 8948
8948<script> 8949 console.log("Outerbloom..."); 8950 </script>
8950 8951 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 8952 8953 8954 8955 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 8956
8956<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
8956 8957
8957<script> 8958 const widgetConfig = { 8959 id: "clz7897za002cz7otleaz0d3d", 8960 showQuickResponse: false, 8961 quickResponsesData: [], 8962 themeColor: "#ffffff", 8963 widgetText: "", 8964 radiusType: "circle", 8965 widgetIconType: "whatsapp", 8966 position: "right", 8967 storeLogo: "", 8968 storeName: "Outerbloom", 8969 storeDescription: "", 8970 size: "small", 8971 showCard: false, 8972 widgetColorType: "solid", 8973 widgetColor1: "#008069", 8974 widgetColor2: "#008069", 8975 social: { 8976 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 8977 values: { 8978 instagram: { 8979 enabled: false, 8980 value: "", 8981 }, 8982 facebook: { 8983 enabled: false, 8984 value: "", 8985 }, 8986 email: { 8987 enabled: false, 8988 value: "", 8989 }, 8990 x: { 8991 enabled: false, 8992 value: "", 8993 }, 8994 tiktok: { 8995 enabled: false, 8996 value: "", 8997 }, 8998 linkedin: { 8999 enabled: false, 9000 value: "", 9001 }, 9002 youtube: { 9003 enabled: false, 9004 value: "", 9005 }, 9006 }, 9007 }, 9008 }; 9009 9010 function initializeWidget() { 9011 if (typeof BBBWidget !== 'undefined') { 9012 BBBWidget.init(widgetConfig); 9013 } else { 9014 setTimeout(initializeWidget, 100); 9015 } 9016 } 9017 9018 initializeWidget();</script>
9018 9019 9020 9021 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 9022 9023 9024 <div style="position: fixed; bottom: 0; right: 0"></div> 9025 9026
9026<script> 9027 console.info("bitlogin extension version: v2.5.7"); 9028 9029 const googleScript = document.createElement("script"); 9030 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 9031 document.head.append(googleScript); 9032 9033 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 9034 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 9035 9036 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"}}; 9037 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
9037n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 9038 const redirectUrl = appearance.redirectLink; 9039 9040 let locationCacheSet = false; 9041 let errorLocation = false; 9042 let oneTapSet = false; 9043 9044 let bitloginCache = { 9045 appearance: appearance, 9046 config: config 9047 }; 9048 9049 let isInitializing = false; 9050 const queue = []; 9051 9052 // Add CSS for the popup 9053 const popupStyles = document.createElement('style'); 9054 popupStyles.textContent = ` 9055 /* Styles for login popup */ 9056 .bitlogin-popup-overlay { 9057 position: fixed; 9058 top: 0; 9059 left: 0; 9060 width: 100%; 9061 height: 100%; 9062 background: rgba(0, 0, 0, 0.45); 9063 backdrop-filter: blur(4px); 9064 display: flex; 9065 align-items: center; 9066 justify-content: center; 9067 opacity: 0; 9068 transition: opacity 0.3s ease-in-out; 9069 z-index: ffffff; 9070 } 9071 9072 .bitlogin-popup-overlay.visible { 9073 opacity: 1; 9074 } 9075 9076 .bitlogin-popup { 9077 background: #FFFFFF; 9078 box-shadow: 0 20px 25px -5px rgba(83, 1, 1, 1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 9079 border-radius: 16px; 9080 width: 100%; 9081 max-width: 560px; 9082 display: flex; 9083 overflow: hidden; 9084 position: relative; 9085 opacity: 0; 9086 transform: translateY(20px) scale(0.98); 9087 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 9088 } 9089 9090 .bitlogin-popup.visible { 9091 opacity: 1; 9092 transform: translateY(0) scale(1); 9093 } 9094 9095 .bitlogin-popup-with-image { 9096 max-width: 640px; 9097 } 9098 9099 .bitlogin-popup-right-image { 9100 flex-direction: row-reverse; 9101 } 9102 9103 .bitlogin-popup-image { 9104 object-fit: cover; 9105 width: 50%; 9106 height: auto; 9107 } 9108 9109 .bitlogin-popup-content { 9110 padding: 32px; 9111 position: relative; 9112 width: 50%; 9113 } 9114 9115 .bitlogin-popup-close { 9116 position: absolute; 9117 top: 16px; 9118 right: 16px; 9119 background: white; 9120 border: none; 9121 width: 30px; 9122 height: 30px; 9123 display: flex; 9124 align-items: center; 9125 justify-content: center; 9126 cursor: pointer; 9127 transition: background-color 0.2s; 9128 color: inherit; 9129 padding: 0; 9130 } 9131 9132 .bitlogin-popup-close:hover { 9133 background-color: #e5e5e5; 9134 } 9135 9136 .bitlogin-popup-buttons { 9137 display: flex; 9138 flex-direction: column; 9139 gap: 12px; 9140 margin-top: 24px; 9141 } 9142 9143 /* Button styles within popup - override width for popup buttons */ 9144 .bitlogin-popup-buttons #google-login, 9145 .bitlogin-popup-buttons #facebook-login, 9146 .bitlogin-popup-buttons #apple-login, 9147 .bitlogin-popup-buttons #whatsapp-login, 9148 .bitlogin-popup-buttons #microsoft-login, 9149 .bitlogin-popup-buttons #twitter-login, 9150 .bitlogin-popup-buttons #amazon-login, 9151 .bitlogin-popup-buttons #instagram-login, 9152 .bitlogin-popup-buttons #magic-link-login, 9153 .bitlogin-popup-buttons #mobile-app-login { 9154 width: 100% !important; 9155 font-family: inherit !important; 9156 } 9157 9158 .bitlogin-popup-footer { 9159 margin-top: 32px; 9160 text-align: center; 9161 font-size: 14px; 9162 opacity: 0.6; 9163 } 9164 9165 /* Modern Typography */ 9166 .bitlogin-popup h2 { 9167 margin-top: 12px; 9168 font-size: 21px !important; 9169 line-height: 1.2 !important; 9170 font-weight: 700 !important; 9171 letter-spacing: -0.02em !important; 9172 margin-bottom: 16px !important; 9173 } 9174 9175 .bitlogin-popup-header { 9176 position: relative; 9177 margin-bottom: 24px; 9178 } 9179 9180 /* Modern gradient accent */ 9181 .bitlogin-popup-content > div { 9182 font-size: 16px !important; 9183 line-height: 1.2 !important; 9184 opacity: 0.85 !important; 9185 } 9186 9187 /* Enhanced button interactions */ 9188 .bitlogin-popup-buttons button { 9189 position: relative; 9190 overflow: hidden; 9191 } 9192 9193 @keyframes ripple { 9194 0% { 9195 transform: scale(0, 0); 9196 opacity: 0.5; 9197 } 9198 100% { 9199 transform: scale(100, 100); 9200 opacity: 0; 9201 } 9202 } 9203 9204 /* Responsive adjustments */ 9205 @media (max-width: 640px) { 9206 .bitlogin-popup { 9207 max-width: 90%; 9208 width: 90%; 9209 margin: 0 16px; 9210 } 9211 9212 .bitlogin-popup-with-image { 9213 flex-direction: column !important; 9214 } 9215 9216 .bitlogin-popup-image { 9217 width: 100%; 9218 height: 180px; 9219 } 9220 9221 .bitlogin-popup-content { 9222 padding: 24px; 9223 } 9224 9225 .bitlogin-popup h2 { 9226 font-size: 24px !important; 9227 } 9228 } 9229 `; 9230
9231 document.head.appendChild(popupStyles); 9232 9233 // Add fonts link for different font options 9234 const fontsLink = document.createElement('link'); 9235 fontsLink.rel = 'stylesheet'; 9236 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'; 9237 document.head.appendChild(fontsLink); 9238 9239 (async () => { 9240 try { 9241 let host = window.location.host; 9242 if (host === "admin.shopify.com") { 9243 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 9244 } 9245 9246 const urlSearchParams = new URLSearchParams(window.location.search); 9247 const checkoutUrl = urlSearchParams.get("checkout_url"); 9248 9249 async function init({ inputRef, index }) { 9250 if (isInitializing) { 9251 queue.push(() => init({ inputRef, index })); 9252 return; 9253 } 9254 9255 isInitializing = true; 9256 9257 try { 9258 let bitLoginSectionRoot = document.querySelector( 9259 `.bitlogin-root[data-index="${index}"]` 9260 ); 9261 9262 const formRef = inputRef?.closest( 9263 "form:not([action='/account/recover'])" 9264 ); 9265 9266 if (formRef && !bitLoginSectionRoot) { 9267 await getLocation(); 9268 9269 bitLoginSectionRoot = document.createElement(`div`); 9270 9271 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 9272 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 9273 9274 updateAppearance({ 9275 formRef, 9276 rootRef: bitLoginSectionRoot, 9277 host, 9278 }); 9279 } 9280 } catch (err) { 9281 console.error(`error while initiating bitlogin extensions`, err); 9282 } finally { 9283 // Release the lock 9284 isInitializing = false; 9285 9286 // Check if there are pending items in the queue 9287 if (queue.length > 0) { 9288 // Process the next function in the queue 9289 const nextFunction = queue.shift(); 9290 nextFunction(); 9291 } 9292 } 9293 } 9294 9295 function initAll() { 9296 return new Promise((resolve, reject) => { 9297 setTimeout(async () => { 9298 const inputRefs = document.querySelectorAll( 9299 'input[name="customer[email]"]' 9300 ); 9301 9302 for (let i = 0; i < inputRefs.length; i++) { 9303 const currentInputRef = inputRefs[i]; 9304 const isVisible = isElementVisible(currentInputRef); 9305 9306 if (isVisible) { 9307 await init({ inputRef: currentInputRef, index: i }); 9308 } 9309 } 9310 9311 resolve("ok"); 9312 }, 100); 9313 }); 9314 } 9315 9316 const observer = new MutationObserver((mutationsList) => { 9317 for (let mutation of mutationsList) { 9318 initAll(); 9319 } 9320 }); 9321 9322 observer.observe(document.body, { 9323 childList: true, 9324 subtree: true, 9325 attributes: true, 9326 }); 9327 9328 initAll(); 9329 9330 if (appearance.googleOneTap) { 9331 setupOneTap({ host, checkoutUrl }); 9332 } 9333 9334 // Initialize popup 9335 await initPopup(host); 9336 } catch (error) { 9337 console.error("Error initializing BitLogin:", error); 9338 } 9339 })(); 9340 9341 async function initPopup(host) { 9342 // Check if user is already logged in using Liquid checks properly 9343 const isLoggedIn = false || 9344 document.querySelector('.customer-logout-link') || 9345 document.querySelector('.account-link') || 9346 window.location.pathname.includes('/account'); 9347 9348 if (isLoggedIn) { 9349 return; // User is logged in, don't show popup 9350 } 9351 9352 try { 9353 // Fetch the popup configuration 9354 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 9355 .then(res => res.json()) 9356 .catch(err => { 9357 console.error('Error fetching popup configuration:', err); 9358 return null; 9359 }); 9360 9361 if (!popupConfig || !popupConfig.enabled) { 9362 return;
9362 // Don't show popup if disabled or config not found 9363 } 9364 9365 // Create popup after 10 seconds 9366 setTimeout(() => { 9367 // Check if user is still on the page and still not logged in 9368 if (document.visibilityState === 'visible') { 9369 // Additional check in case user logged in during the 10 second wait 9370 const currentlyLoggedIn = false || 9371 document.querySelector('.customer-logout-link') || 9372 document.querySelector('.account-link'); 9373 9374 if (!currentlyLoggedIn) { 9375 createLoginPopup(popupConfig, host); 9376 } 9377 } 9378 }, 10000); 9379 } catch (error) { 9380 console.error('Error initializing popup:', error); 9381 } 9382 } 9383 9384 function createLoginPopup(popupConfig, host) { 9385 // Font mapping 9386 const fontFamilyMap = { 9387 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 9388 montserrat: 'Montserrat, sans-serif', 9389 roboto: 'Roboto, sans-serif', 9390 open_sans: 'Open Sans, sans-serif', 9391 noto_sans: 'Noto Sans, sans-serif', 9392 lato: 'Lato, sans-serif', 9393 poppins: 'Poppins, sans-serif', 9394 quicksand: 'Quicksand, sans-serif', 9395 raleway: 'Raleway, sans-serif', 9396 pt_sans: 'PT Sans, sans-serif', 9397 oswald: 'Oswald, sans-serif', 9398 }; 9399 9400 // Create overlay 9401 const overlay = document.createElement('div'); 9402 overlay.className = 'bitlogin-popup-overlay'; 9403 9404 // Create popup container with appropriate styling 9405 const popup = document.createElement('div'); 9406 popup.className = 'bitlogin-popup'; 9407 9408 if (popupConfig.layout === 'default') { 9409 popup.style.maxWidth = '400px'; 9410 } 9411 9412 // Function to close the popup 9413 const closePopup = () => { 9414 overlay.classList.remove('visible'); 9415 popup.classList.remove('visible'); 9416 setTimeout(() => { 9417 if (document.body.contains(overlay)) { 9418 document.body.removeChild(overlay); 9419 } 9420 }, 300); 9421 }; 9422 9423 // Add click handler to the overlay to close when clicking outside 9424 overlay.addEventListener('click', (event) => { 9425 // Close only if clicking directly on the overlay, not its children 9426 if (event.target === overlay) { 9427 closePopup(); 9428 } 9429 }); 9430 9431 // Add escape key handler to close popup 9432 document.addEventListener('keydown', (event) => { 9433 if (event.key === 'Escape' && document.body.contains(overlay)) { 9434 closePopup(); 9435 } 9436 }); 9437 9438 // Create layout with image if specified 9439 let contentWrapper; 9440 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 9441 popup.classList.add('bitlogin-popup-with-image'); 9442 9443 if (popupConfig.layout === 'right') { 9444 popup.classList.add('bitlogin-popup-right-image'); 9445 } 9446 9447 // Add image 9448 const image = document.createElement('img'); 9449 image.className = 'bitlogin-popup-image'; 9450 image.src = popupConfig.popupImage; 9451 image.alt = 'Login'; 9452 image.loading = 'lazy'; 9453 popup.appendChild(image); 9454 9455 // Create content container 9456 contentWrapper = document.createElement('div'); 9457 contentWrapper.className = 'bitlogin-popup-content'; 9458 9459 if (popupConfig.layout === 'right') { 9460 const closeButton = document.createElement('button'); 9461 closeButton.className = 'bitlogin-popup-close'; 9462 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 9463 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9464 </svg>`; 9465 closeButton.setAttribute('aria-label', 'Close'); 9466 closeButton.onclick = closePopup; 9467 9468 popup.appendChild(closeButton); 9469 } 9470 } else { 9471 contentWrapper = document.createElement('div'); 9472 contentWrapper.className = 'bitlogin-popup-content'; 9473 contentWrapper.style.width = '100%'; 9474 } 9475 9476 // Set background style 9477 if (popupConfig.backgroundTheme === 'gradient') { 9478 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 9479 } else { 9480 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 9481 } 9482 9483 // Apply font family 9484 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 9485 9486 if (popupConfig.layout !== 'right') { 9487 const closeButton = document.createElement('button'); 9488 closeButton.className = 'bitlogin-popup-close'; 9489 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 9490 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 9491 </svg>`; 9492 closeButton.setAttribute('aria-label', 'Close'); 9493 closeButton.onclick = closePopup; 9494 9495 contentWrapper.appendChild(closeButton); 9496 } 9497 9498 // Add heading with subtle animation effect 9499 const header = document.createElement('div'); 9500 header.className = 'bitlogin-popup-header'; 9501 9502 const heading = document.createElement('h2'); 9503 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
9503its'; 9504 heading.style.color = popupConfig.fontColor; 9505 header.appendChild(heading); 9506 9507 // Add body text with improved formatting 9508 const bodyText = document.createElement('div'); 9509 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 9510 bodyText.style.color = popupConfig.fontColor; 9511 header.appendChild(bodyText); 9512 9513 contentWrapper.appendChild(header); 9514 9515 // Create buttons container with modern styling 9516 const buttonsContainer = document.createElement('div'); 9517 buttonsContainer.className = 'bitlogin-popup-buttons'; 9518 9519 // Add social buttons 9520 const providerLabels = { 9521 'GOOGLE': 'Continue with Google', 9522 'FACEBOOK': 'Continue with Facebook', 9523 'APPLE': 'Continue with Apple', 9524 'WHATSAPP': 'Continue with WhatsApp', 9525 'MAGIC_LINK': 'Continue with Email', 9526 }; 9527 9528 // Add first login provider button 9529 if (popupConfig.loginProvider1 !== 'NONE') { 9530 const buttonConfig = { 9531 theme: popupConfig.colorScheme || 'match', 9532 customColor: popupConfig.textColor, 9533 format: 'contentFlex', 9534 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 9535 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9536 style: popupConfig.style || 'rounded', 9537 size: popupConfig.size || 'medium', 9538 colorScheme: popupConfig.colorScheme || 'match', 9539 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9540 textColor: popupConfig.textColor || '#FFFFFF', 9541 outlineColor: popupConfig.outlineColor || '#3B82F6', 9542 host: host 9543 }; 9544 9545 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 9546 9547 // Handle click event - this overrides the default click handler in createSocialLoginButton 9548 button1.onclick = () => { 9549 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 9550 closePopup(); 9551 }; 9552 9553 buttonsContainer.appendChild(button1); 9554 } 9555 9556 // Add second login provider button if enabled 9557 if (popupConfig.loginProvider2 !== 'NONE') { 9558 const buttonConfig = { 9559 theme: popupConfig.colorScheme || 'match', 9560 customColor: popupConfig.textColor, 9561 format: 'contentFlex', 9562 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 9563 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 9564 style: popupConfig.style || 'rounded', 9565 size: popupConfig.size || 'medium', 9566 colorScheme: popupConfig.colorScheme || 'match', 9567 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 9568 textColor: popupConfig.textColor || '#FFFFFF', 9569 outlineColor: popupConfig.outlineColor || '#3B82F6', 9570 host: host 9571 }; 9572 9573 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 9574 9575 // Handle click event - this overrides the default click handler in createSocialLoginButton 9576 button2.onclick = () => { 9577 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 9578 closePopup(); 9579 }; 9580 9581 buttonsContainer.appendChild(button2); 9582 } 9583 9584 contentWrapper.appendChild(buttonsContainer); 9585 9586 // Append content to popup 9587 popup.appendChild(contentWrapper); 9588 9589 // Append popup to overlay 9590 overlay.appendChild(popup); 9591 9592 // Append overlay to body 9593 document.body.appendChild(overlay); 9594 9595 // Trigger animation with slight delay for better perceived performance 9596 setTimeout(() => { 9597 overlay.classList.add('visible'); 9598 setTimeout(() => { 9599 popup.classList.add('visible'); 9600 }, 50); 9601 }, 10); 9602 } 9603 9604 window.addEventListener("load", () => { 9605 window.addEventListener("message", (event) => { 9606 const receivedData = event.data; 9607 9608 if (receivedData.type === "authorize") { 9609 post( 9610 JSON.parse( 9611 JSON.stringify({ 9612 "customer[email]": receivedData.email, 9613 "customer[password]": receivedData.password, 9614 form_type: "customer_login", 9615 utf8: "â", 9616 return_url: redirectUrl, 9617 }) 9618 ) 9619 ); 9620 } else if (receivedData.type === "rejected") { 9621 if (receivedData.reason === "customer_account_disabled") { 9622 showAlert( 9623 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 9624 ); 9625 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 9626 showAlert( 9627 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 9628 ); 9629 } else if (receivedData.reason === "customer_exist_email_not_set") { 9630 showAlert( 9631 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 9632 ); 9633 } 9634 } 9635 9636 if (receivedData.type === "customer_authenticated") { 9637 // Dispatch a custom event that merchants can listen for to implement their custom logic 9638 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 9639 detail: { 9640 provider: receivedData.provider, 9641 customer: receivedData.customer, 9642 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 9643 } 9644 }); 9645 9646 // Dispatch the event on the window object so merchants can listen for it 9647 window.dispatchEvent(customerAuthEvent); 9648 9649 } 9650 }); 9651 }); 9652 9653 // Reusable functions for social login buttons 9654 function createSocialLoginButton(provider, config = {}) { 9655 const { 9656 theme = 'match', 9657 customColor = null, 9658 format = 'contentFlex', 9659 buttonText = null, 9660 hasShadow = true, 9661 style = 'rounded', 9662 size = 'medium', 9663 colorScheme = 'match', 9664 backgroundColor = '#3B82F6', 9665 textColor = '#FFFFFF', 9666 outlineColor = '#3B82F6', 9667 rootRef = null, 9668 host = null 9669 } = config; 9670 9671 // Create button element with appropriate ID and attributes 9672 const button = document.createElement('button'); 9673 button.id = `${provider.toLowerCase()}-login`; 9674 button.type = 'button'; 9675 9676 // Set the inner SVG based on provider 9677 switch (provider.toUpperCase()) {
9678 case 'GOOGLE': 9679 button.innerHTML = googleLoginIcon(theme, customColor); 9680 break; 9681 case 'FACEBOOK': 9682 button.innerHTML = facebookLoginIcon(theme, customColor); 9683 break; 9684 case 'APPLE': 9685 button.innerHTML = appleLoginIcon(theme, customColor); 9686 break; 9687 case 'WHATSAPP': 9688 button.innerHTML = whatsappLoginIcon(theme, customColor); 9689 break; 9690 case 'MICROSOFT': 9691 button.innerHTML = microsoftLoginIcon(theme, customColor); 9692 break; 9693 case 'TWITTER': 9694 button.innerHTML = twitterLoginIcon(theme, customColor); 9695 break; 9696 case 'AMAZON': 9697 button.innerHTML = amazonLoginIcon(theme, customColor); 9698 break; 9699 case 'INSTAGRAM': 9700 button.innerHTML = instagramLoginIcon(theme, customColor); 9701 break; 9702 case 'MAGIC_LINK': 9703 button.innerHTML = magicLinkLoginIcon(theme, customColor); 9704 break; 9705 case 'MOBILE_APP': 9706 button.innerHTML = mobileAppLoginIcon(theme, customColor); 9707 break; 9708 case 'LINKEDIN': 9709 button.innerHTML = linkedinLoginIcon(theme, customColor); 9710 break; 9711 } 9712 9713 // Add text if format isn't icon-only and buttonText is provided 9714 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 9715 button.innerHTML += `<p>${buttonText}</p>`; 9716 } 9717 9718 // Apply styling 9719 // Shadow 9720 if (hasShadow) { 9721 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 9722 button.style["box-shadow"] = shadowProperties; 9723 } 9724 9725 // Border radius 9726 const radiusProperties = 9727 style === "rounded" 9728 ? "8px" 9729 : style === "square" 9730 ? "0px" 9731 : style === "fullRounded" 9732 ? format === "wrapperFlexContainerOnlyLogo" 9733 ? "50%" 9734 : "50px" 9735 : undefined; 9736 button.style["border-radius"] = radiusProperties; 9737 9738 // Size 9739 const sizeProperties = 9740 size === "medium" 9741 ? "12px" 9742 : size === "small" 9743 ? "8px" 9744 : size === "large" 9745 ? "16px" 9746 : "8px"; 9747 9748 button.style["padding-block"] = sizeProperties; 9749 9750 // Format styling 9751 if (format) { 9752 if ( 9753 format === "contentFlexReverse" || 9754 format === "contentFlexCenterReverse" 9755 ) { 9756 const flexDir = `row-reverse`; 9757 button.style["flex-direction"] = flexDir; 9758 } 9759 9760 if ( 9761 format === "contentFlexCenter" || 9762 format === "contentFlexCenterReverse" 9763 ) { 9764 const justifyContent = `center`; 9765 button.style["justify-content"] = justifyContent; 9766 } else if ( 9767 format === "contentFlex" || 9768 format === "contentFlexReverse" 9769 ) { 9770 const buttonTextElement = button.querySelector("p"); 9771 if (buttonTextElement) { 9772 buttonTextElement.style["flex-grow"] = 1; 9773 buttonTextElement.style["text-align"] = "center"; 9774 } 9775 } 9776 9777 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 9778 rootRef.style["flex-direction"] = "row"; 9779 rootRef.style["gap"] = "8px"; 9780 rootRef.style["display"] = "flex"; 9781 rootRef.style["flex-wrap"] = "wrap"; 9782 9783 const sizeMapping = { 9784 small: "52px", 9785 medium: "62px", 9786 large: "72px", 9787 }; 9788 const buttonSize = sizeMapping[size] || "52px"; 9789 9790 button.style["margin"] = 0; 9791 button.style["width"] = buttonSize; 9792 button.style["height"] = buttonSize; 9793 button.style["display"] = "flex"; 9794 button.style["align-items"] = "center"; 9795 button.style["justify-content"] = "center"; 9796 9797 const svgElement = button.querySelector("svg"); 9798 if (svgElement) { 9799 svgElement.style["flex"] = "none"; 9800 } 9801 } 9802 } 9803 9804 // Color scheme styling 9805 if (colorScheme === "black") { 9806 button.classList.add("scheme-black"); 9807 } else if (colorScheme === "white") { 9808 button.classList.add("scheme-white"); 9809 } else if (colorScheme === "custom") { 9810 button.style["background-color"] = backgroundColor; 9811 button.style["color"] = textColor; 9812 button.style["border-color"] = outlineColor; 9813 9814 const darkenColor = (color, percentage) => { 9815 const value = parseInt(color.slice(1), 16); 9816 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 9817 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 9818 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 9819 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 9820 }; 9821 9822 button.addEventListener("mouseover", () => {
9823 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 9824 }); 9825 button.addEventListener("mouseout", () => { 9826 button.style["background-color"] = backgroundColor; 9827 }); 9828 } else if (colorScheme === "match") { 9829 button.classList.add("scheme-match"); 9830 } else if (colorScheme === "matchOutline") { 9831 button.classList.add("scheme-match-outline"); 9832 } 9833 9834 // Add click event listener if host is provided 9835 if (host) { 9836 button.addEventListener("click", () => 9837 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 9838 ); 9839 } 9840 9841 return button; 9842 } 9843 9844 function setupSocialLoginButtons(config, rootRef, data, host) { 9845 // Clear any existing content 9846 rootRef.innerHTML = ''; 9847 9848 const sortedEnabledProviders = config 9849 .filter(c => c.enabledWeb) 9850 .sort((a, b) => a.position - b.position); 9851 9852 sortedEnabledProviders.forEach(provider => { 9853 const key = provider.provider; 9854 const lowerKey = key.toLowerCase(); 9855 9856 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 9857 ? (lowerKey === 'twitter' 9858 ? data.buttonList.twitter.replace('Twitter', 'X') 9859 : data.buttonList[lowerKey]) 9860 : null; 9861 9862 const button = createSocialLoginButton(key, { 9863 theme: data.colorScheme || 'match', 9864 customColor: data.textColor, 9865 format: data.format, 9866 buttonText: buttonText, 9867 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 9868 style: data.style, 9869 size: data.size, 9870 colorScheme: data.colorScheme, 9871 backgroundColor: data.backgroundColor, 9872 textColor: data.textColor, 9873 outlineColor: data.outlineColor, 9874 rootRef: rootRef, 9875 host: host 9876 }); 9877 9878 rootRef.appendChild(button); 9879 }); 9880 9881 return rootRef; 9882 } 9883 9884 function updateAppearance({ formRef, rootRef, host }) { 9885 if (!formRef) return; 9886 9887 const data = bitloginCache.appearance || { 9888 style: "square", 9889 hasShadow: false, 9890 colorScheme: "match", 9891 backgroundColor: "#FFFFFF", 9892 outlineColor: "#ffffff", 9893 textColor: "#ffffff", 9894 position: "bottom", 9895 hideDivider: "false", 9896 dividerText: "OR", 9897 size: "small", 9898 format: "contentFlex", 9899 language: "en", 9900 buttonText: "Continue with", 9901 redirectLink: "/account", 9902 googleOneTap: true, 9903 googleOneTapBanner: true, 9904 customerTag: "bitLogin", 9905 redirectOneTapDesktop: null, 9906 redirectOneTapMobile: null, 9907 buttonList: { 9908 google: "Continue with Google", 9909 facebook: "Continue with Facebook", 9910 apple: "Continue with Apple", 9911 whatsapp: "Continue with WhatsApp", 9912 microsoft: "Continue with Microsoft", 9913 twitter: "Continue with X", 9914 amazon: "Continue with Amazon", 9915 instagram: "Continue with Instagram", 9916 magic_link: "Continue with Magic Link", 9917 mobile_app: "Continue with Mobile App", 9918 linkedin: "Continue with LinkedIn", 9919 }, 9920 }; 9921 9922 // Use the new setupSocialLoginButtons function to create and configure all buttons 9923 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 9924 9925 let divider; 9926 9927 if (!data.hideDivider) { 9928 divider = document.createElement("div"); 9929 const dividerStyle = "text-align:center;margin-block:16px"; 9930 divider.setAttribute("style", dividerStyle); 9931 divider.innerHTML = data.dividerText; 9932 } 9933 9934 if (data.position === "bottom") { 9935 if (divider) { 9936 formRef.appendChild(divider); 9937 } 9938 formRef.appendChild(rootRef); 9939 } else if (data.position === "top") { 9940 if (divider) { 9941 formRef.prepend(divider); 9942 } 9943 formRef.prepend(rootRef); 9944 } 9945 } 9946 9947 9948 async function onClickSocialLogin({ provider, host }) { 9949 const rand = Math.random().toString(); 9950 9951 const locationQueryString = bitloginCache.location 9952 ? `&${objectToQueryString(bitloginCache.location)}` 9953 : ""; 9954 9955 const width = 800; 9956 const height = 600; 9957 const left = (window.screen.width / 2) - (width / 2); 9958 const top = (window.screen.height / 2) - (height / 2) - 50; 9959
9960 if(provider === 'whatsapp') { 9961 window.open( 9962 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 9963 "mywindow", 9964 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 9965 ); 9966 } else { 9967 window.open( 9968 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 9969 "mywindow", 9970 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 9971 ); 9972 } 9973 } 9974 9975 function objectToQueryString(obj) { 9976 return Object.keys(obj) 9977 .map((key) => { 9978 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 9979 }) 9980 .join("&"); 9981 } 9982 9983 async function getLocation() { 9984 if (locationCacheSet) return; 9985 9986 try { 9987 const response = await fetch("https://ipapi.co/json/"); 9988 9989 if (!response.ok) { 9990 console.error(`error retrieving location...`, response.status); 9991 errorLocation = true; 9992 } else { 9993 const data = await response.json(); 9994 9995 const { city, region, country_name, country_code } = data; 9996 9997 const formattedLocationData = { 9998 city, 9999 region, 10000 country_name, 10001 country_code, 10002 }; 10003 10004 bitloginCache.location = formattedLocationData; 10005 locationCacheSet = true; 10006 errorLocation = false; 10007 } 10008 } catch (err) { 10009 console.error(`error fetching location`, err); 10010 errorLocation = true; 10011 } 10012 } 10013 10014 function post(params) { 10015 // The rest of this code assumes you are not using a library. 10016 // It can be made less verbose if you use one. 10017 const form = document.createElement("form"); 10018 form.method = "post"; 10019 form.action = `/account/login`; 10020 form.acceptCharset = "UTF-8"; 10021 form.setAttribute("data-login-with-shop-sign-in", "true"); 10022 form.setAttribute("novalidate", "novalidate"); 10023 10024 for (const key in params) { 10025 if (params.hasOwnProperty(key)) { 10026 const hiddenField = document.createElement("input"); 10027 hiddenField.type = "hidden"; 10028 hiddenField.name = key; 10029 hiddenField.value = params[key]; 10030 10031 form.appendChild(hiddenField); 10032 } 10033 } 10034 10035 document.body.appendChild(form); 10036 form.submit(); 10037 } 10038 10039 async function setupOneTap({ host, checkoutUrl }) { 10040 if (oneTapSet) return; 10041 10042 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 10043 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 10044 10045 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 10046 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 10047 10048 const currentPath = window.location.pathname.toLowerCase(); 10049 const currentUrl = window.location.href.toLowerCase(); 10050 10051 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 10052 switch (value) { 10053 case 'home': 10054 return currentPath === '/'; 10055 case 'product': 10056 return currentPath.startsWith('/products/'); 10057 case 'collections': 10058 return currentPath.startsWith('/collections'); 10059 case 'cart': 10060 return currentPath === '/cart'; 10061 case 'checkout': 10062 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 10063 case 'thank_you': 10064 return currentPath.includes('/thank_you'); 10065 case 'account': 10066 return currentPath.startsWith('/account'); 10067 case 'pages': 10068 return currentPath.startsWith('/pages'); 10069 case 'blogs': 10070 return currentPath === '/blogs' || currentPath === '/blogs/news'; 10071 case 'blog_post': 10072 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 10073 default: 10074 return false; 10075 } 10076 }); 10077 10078 if (shouldHideGoogleOneTap) return; 10079 10080 const oneTapClientId = bitloginCache.config.find( 10081 (config) => config.provider === "GOOGLE" 10082 )?.clientId; 10083 10084 const isLoggedIn = false; 10085 10086 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 10087 const googleOneTapButton = document.createElement("div"); 10088 googleOneTapButton.setAttribute("id", "g_id_onload"); 10089 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 10090 googleOneTapButton.setAttribute("data-context", "signin"); 10091 googleOneTapButton.setAttribute( 10092 "data-callback", 10093 "handleGoogleOneTapResponse" 10094 ); 10095 googleOneTapButton.setAttribute("data-itp_support", "true"); 10096 10097 const googleOneTapScript = document.createElement("script"); 10098 10099 googleOneTapScript.innerHTML += ` 10100 function handleGoogleOneTapResponse(response) { 10101 if (response.credential) { 10102 const idToken = response.credential; 10103 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 10104 method: 'POST', 10105 headers: { 'Content-Type': 'application/json' }, 10106 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 10107 }).then(response => { 10108 response.json().then((data) => { 10109 post( 10110 JSON.parse( 10111 JSON.stringify({ 10112 "customer[email]": data.email, 10113 "customer[password]": data.password, 10114 form_type: "customer_login", 10115 utf8: "â", 10116 return_url: redirectUrl, 10117 }) 10118 ) 10119 ); 10120 }); 10121 }).catch(error => { 10122 console.error('Error occurred:', error); 10123 }); 10124 } else { 10125 console.error('No credential available'); 10126 } 10127 } 10128 `; 10129 10130 document.body.append(googleOneTapButton); 10131 document.body.append(googleOneTapScript); 10132 } 10133 10134 oneTapSet = true; 10135 } 10136
10137 const googleLoginIcon = ( 10138 theme, 10139 customColor 10140 ) => ` 10141 ${ 10142 theme === "match" || theme === "matchOutline" || theme === "custom" 10143 ? `<svg 10144 xmlns='https://i.imgur.com/aqQVUjq.png' 10145 xmlns:v='https://vecta.io/nano' 10146 width='24' 10147 height='24' 10148 viewBox='0 0 186.69 190.5' 10149 > 10150 <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="${ 10151 theme === "custom" ? customColor : "#4285f4" 10152 }"/><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="${ 10153 theme === "custom" ? customColor : "#34a853" 10154 }"/><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="${ 10155 theme === "custom" ? customColor : "#fbbc05" 10156 }"/><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="${ 10157 theme === "custom" ? customColor : "#ea4335" 10158 }" clip-path="none" mask="none"/></g> 10159 </svg>` 10160 : `<svg xmlns="https://i.imgur.com/aqQVUjq.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 10161 <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="${ 10162 theme !== "black" ? "black" : "white" 10163 }"/> 10164 <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="${ 10165 theme !== "black" ? "black" : "white" 10166 }"/> 10167 <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="${ 10168 theme !== "black" ? "black" : "white" 10169 }"/> 10170 <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="${ 10171 theme !== "black" ? "black" : "white" 10172 }"/> 10173 </svg>` 10174 }`; 10175 10176 const appleLoginIcon = ( 10177 theme, 10178 customColor 10179 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://i.imgur.com/aqQVUjq.png"> 10180 <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="${ 10181 theme === "custom" 10182 ? customColor 10183 : theme === "match" || theme === "black" 10184 ? "white" 10185 : "black" 10186 }"/> 10187 </svg>`; 10188 10189 const facebookLoginIcon = ( 10190 theme, 10191 customColor 10192 ) => ` 10193 ${ 10194 theme === "match" || theme === "matchOutline" || theme === "custom" 10195 ? `<svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 10196 <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="${ 10197 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 10198 }"/> 10199 <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="${ 10200 theme === "match" ? "#1778f2" : "transparent" 10201 }"/> 10202 </svg>` 10203 : `<svg xmlns="https://i.imgur.com/aqQVUjq.png" width="24" height="25" viewB
10203ox="0 0 24 25" fill="none"> 10204 <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="${ 10205 theme === "black" ? "white" : "black" 10206 }"/> 10207 <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="${ 10208 theme === "black" ? "black" : "white" 10209 }"/> 10210 </svg>` 10211 }`; 10212 10213 const whatsappLoginIcon = ( 10214 theme, 10215 customColor 10216 ) => `<svg 10217 viewBox="0 0 24 24" 10218 fill="none" 10219 width="24" 10220 height="25" 10221 xmlns="https://i.imgur.com/aqQVUjq.png" 10222 > 10223 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 10224 <g 10225 id="SVGRepo_tracerCarrier" 10226 stroke-linecap="round" 10227 stroke-linejoin="round" 10228 ></g> 10229 <g id="SVGRepo_iconCarrier"> 10230 <path 10231 fill-rule="evenodd" 10232 clip-rule="evenodd" 10233 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" 10234 fill="${ 10235 theme === "match" || theme === "black" 10236 ? "#ffffff" 10237 : theme === "white" 10238 ? "#ffffff" 10239 : theme === "matchOutline" 10240 ? "#25d366" 10241 : customColor 10242 }" 10243 ></path> 10244 </g> 10245 </svg>`; 10246 10247 const microsoftLoginIcon = ( 10248 theme, 10249 customColor 10250 ) => `<svg 10251 xmlns="https://i.imgur.com/aqQVUjq.png" 10252 width="25" 10253 height="25" 10254 viewBox="0 0 48 48"> 10255 <path fill="${ 10256 theme === "match" || theme == "matchOutline" 10257 ? "#ff5722" 10258 : theme === "black" 10259 ? "#ffffff" 10260 : theme === "white" 10261 ? "#ffffff" 10262 : customColor 10263 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 10264 <path 10265 fill="${ 10266 theme === "match" || theme == "matchOutline" 10267 ? "#4caf50" 10268 : theme === "black" 10269 ? "#ffffff" 10270 : theme === "white" 10271 ? "#ffffff" 10272 : customColor 10273 }" 10274 d="M26 6H42V22H26z" 10275 transform="rotate(-180 34 14)"></path> 10276 <path 10277 fill="${ 10278 theme === "match" || theme == "matchOutline" 10279 ? "#ffc107" 10280 : theme === "black" 10281 ? "#ffffff" 10282 : theme === "white" 10283 ? "#ffffff" 10284 : customColor 10285 }" 10286 d="M26 26H42V42H26z" 10287 transform="rotate(-180 34 34)"></path> 10288 <path fill="${ 10289 theme === "match" || theme == "matchOutline" 10290 ? "#03a9f4" 10291 : theme === "black" 10292 ? "#ffffff" 10293 : theme === "white" 10294 ? "#ffffff" 10295 : customColor 10296 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 10297 </svg>`; 10298 10299 const twitterLoginIcon = ( 10300 theme, 10301 customColor 10302 ) => `<svg 10303 xmlns="https://i.imgur.com/aqQVUjq.png"
10304 width="25" 10305 height="25" 10306 viewBox="0 0 48 48"> 10307 <polygon fill="${ 10308 theme === "match" || theme === "black" 10309 ? "#ffffff" 10310 : theme === "matchOutline" || theme === "white" 10311 ? "#ffffff" 10312 : customColor 10313 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 10314 <polygon 10315 fill="${ 10316 theme === "match" || theme === "black" 10317 ? "#ffffff" 10318 : theme === "matchOutline" || theme === "white" 10319 ? "#ffffff" 10320 : customColor 10321 }" 10322 fill-rule="evenodd" 10323 points="31.143,41 7.82,7 16.777,7 40.1,41" 10324 clip-rule="evenodd"></polygon> 10325 <path 10326 fill="${ 10327 theme === "match" || theme === "black" 10328 ? "#ffffff" 10329 : theme === "matchOutline" || theme === "white" 10330 ? "#ffffff" 10331 : customColor 10332 }" 10333 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 10334 </svg>`; 10335 10336 const amazonLoginIcon = (theme, customColor) => ` 10337 <svg 10338 xmlns="https://i.imgur.com/aqQVUjq.png." 10339 x="0px" 10340 y="0px" 10341 width="25" 10342 height="25" 10343 viewBox="0 0 50 50" 10344 > 10345 <path 10346 fill="${ 10347 theme === "black" 10348 ? "#ffffff" 10349 : theme === "matchOutline" 10350 ? "#FF9900" 10351 : theme === "white" || theme === "match" 10352 ? "#ffffff" 10353 : customColor 10354 }" 10355 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" 10356 ></path> 10357 </svg>`; 10358 10359 const instagramLoginIcon= (theme, customColor) => ` 10360 <svg 10361 width="25" 10362 height="25" 10363 viewBox="0 0 25 24" 10364 fill="none" 10365 xmlns="https://i.imgur.com/aqQVUjq.png"> 10366 <path 10367 fill-rule="evenodd" 10368 clip-rule="evenodd" 10369 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.
1036964321C8.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" 10370 fill="url(#paint0_radial_378_3535)" /> 10371 <path 10372 fill-rule="evenodd" 10373 clip-rule="evenodd" 10374 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" 10375 fill="url(#paint0_radial_378_3535)" /> 10376 <path 10377 fill-rule="evenodd" 10378 clip-rule="evenodd" 10379 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.
1037964321C8.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" 10380 fill="url(#paint0_radial_378_3535)" /> 10381 <path 10382 fill-rule="evenodd" 10383 clip-rule="evenodd" 10384 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" 10385 fill="url(#paint1_radial_378_3535)" /> 10386 <defs> 10387 <radialGradient 10388 id="paint0_radial_378_3535" 10389 cx="0" 10390 cy="0" 10391 r="1" 10392 gradientUnits="userSpaceOnUse" 10393 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 10394 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 10395 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 10396 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 10397 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 10398 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 10399 </radialGradient> 10400 <radialGradient 10401 id="paint1_radial_378_3535" 10402 cx="0" 10403 cy="0" 10404 r="1" 10405 gradientUnits="userSpaceOnUse" 10406 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 10407 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 10408 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 10409 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 10410 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#ffffff' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 10411 </radialGradient> 10412 </defs> 10413 </svg>`; 10414 10415 const magicLinkLoginIcon = (theme, customColor) => ` 10416 <svg 10417 xmlns="https://i.imgur.com/aqQVUjq.png"
10418 width="25" 10419 height="25" 10420 fill="none" 10421 viewBox="0 0 25 25" 10422 > 10423 <path 10424 fill="${ 10425 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#ffffff' : customColor 10426 }" 10427 fillRule="evenodd" 10428 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" 10429 clipRule="evenodd" 10430 ></path> 10431 </svg>`; 10432 10433 const mobileAppLoginIcon = (theme, customColor) => ` 10434 <svg 10435 width="20" 10436 height="24" 10437 viewBox="0 0 12 16" 10438 fill="none" 10439 xmlns="https://i.imgur.com/aqQVUjq.png" 10440 > 10441 <path 10442 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" 10443 fill=${ 10444 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#ffffff' : customColor 10445 } 10446 /> 10447 </svg> 10448 `; 10449 10450 const linkedinLoginIcon = (theme, customColor) => ` 10451 <svg 10452 xmlns="https://i.imgur.com/aqQVUjq.png" 10453 width="25" 10454 height="24" 10455 viewBox="0 0 25 24" 10456 fill="none" 10457 > 10458 <path 10459 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" 10460 fill=${ 10461 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#ffffff' : customColor 10462 } 10463 /> 10464 </svg> 10465 `; 10466 10467 function isElementVisible(element) { 10468 return ( 10469 document.body.contains(element) && 10470 getComputedStyle(element).display !== "none" && 10471 getComputedStyle(element).visibility !== "hidden" && 10472 getComputedStyle(element).opacity !== "0" && 10473 !element.hasAttribute("hidden") && 10474 !isAncestorHidden(element) 10475 ); 10476 } 10477 10478 function isAncestorHidden(element) { 10479 let parent = element.parentElement; 10480 while (parent) { 10481 if ( 10482 getComputedStyle(parent).display === "none" || 10483 getComputedStyle(parent).visibility === "hidden" || 10484 getComputedStyle(parent).opacity === "0" || 10485 parent.hasAttribute("hidden") 10486 ) { 10487 return true; 10488 } 10489 parent = parent.parentElement; 10490 } 10491 return false; 10492 } 10493 10494 function showAlert(message) { 10495 const alertBox = document.createElement("div"); 10496 alertBox.textContent = message; 10497 alertBox.style.position = "fixed"; 10498 alertBox.style.top = "20px"; 10499 alertBox.style.right = "-300px"; // Start off-screen 10500 alertBox.style.backgroundColor = "#ffffff"; // Black background 10501 alertBox.style.color = "#ffffff"; // White text 10502 alertBox.style.padding = "15px"; 10503 alertBox.style.borderRadius = "8px"; 10504 alertBox.style.zIndex = "1000"; 10505 alertBox.style.transition = 10506 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 10507 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 10508 10509 document.body.appendChild(alertBox); 10510 10511 // Slide in 10512 requestAnimationFrame(() => { 10513 alertBox.style.right = "20px"; // Move into view 10514 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 10515 }); 10516 10517 // Slide out and remove the alert after a few seconds 10518 setTimeout(() => { 10519 alertBox.style.opacity = "0"; // Fade out 10520 alertBox.style.right = "-300px"; // Move out of view 10521 10522 // Wait for the transition to finish before removing the element 10523 setTimeout(() => { 10524 document.body.removeChild(alertBox); 10525 }, 500); // Match this duration with the exit transition duration 10526 }, 3000); 10527 } 10528 </script>
10528 10529 10530 <style> 10531 .daftarku-fixed-footer { 10532 display: flex; 10533 justify-content: space-around; 10534 position: fixed; 10535 background: linear-gradient(to bottom, #000000 0%, #b90909, #000000 100%); 10536 box-shadow: 0 0 12px #ffffff; 10537 outline: none; 10538 padding: 5px 0; 10539 box-shadow: 0 0 0 0 2px 2px #198f01; 10540 left: 0; 10541 right: 0; 10542 bottom: 0; 10543 z-index: 99; 10544 border-radius: 40px 40px 0px 0px; 10545 border-style:dashed; 10546 10547 } 10548 10549 .daftarku-fixed-footer a { 10550 flex-basis: calc((100% - 15px*6)/ 5); 10551 text-decoration: none; 10552 display: flex; 10553 flex-direction: column; 10554 justify-content: center; 10555 align-items: center; 10556 color: #ffffff; 10557 max-width: 75px; 10558 font-size: 12px; 10559 font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 10560 } 10561 10562 .daftarku-fixed-footer a:hover { 10563 font-weight: bold; 10564 } 10565 10566 .daftarku-fixed-footer .center { 10567 transform: scale(1.5) translateY(-5px); 10568 background: center no-repeat; 10569 background-size: contain; 10570 background-color: inherit; 10571 border-radius: 50%; 10572 } 10573 10574 .daftarku-fixed-footer img { 10575 max-width: 20px; 10576 margin-bottom: 0; 10577 max-height: 20px; 10578 } 10579 </style> 10580 10581 <div class="daftarku-fixed-footer"> 10582 <a href="https://amp-kmpa-new.pages.dev/" rel="nofollow noopener" target="_blank"> 10583 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI"> 10584 PROMO 10585 </a> 10586 <a href="https://amp-kmpa-new.pages.dev/" rel="nofollow noopener" target="_blank"> 10587 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN"> 10588 LOGIN 10589 </a> 10590 <a href="https://amp-kmpa-new.pages.dev/" rel="nofollow noopener" target="_blank" class="tada"> 10591 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR"> 10592 DAFTAR 10593 </a> 10594 <a href="https://amp-kmpa-new.pages.dev/" rel="nofollow noopener" target="_blank"> 10595 <img layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP"> 10596 WHATSAPP 10597 </a> 10598 <a href="https://amp-kmpa-new.pages.dev/" rel="nofollow noopener" target="_blank" 10599 class="js_live_chat_link live-chat-link"> 10600 <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px" src="https://imgstore.io/images/2025/06/17/live-chat.png" alt="Live Chat"> 10601 Live Chat 10602 </a> 10603 </div> 10604 </div> 10605
10605<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"1a94e38a8e73406b85441fbe62a102c0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
10605 10606</body> 10607 </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.