1 2 3 4 <!doctype html> 5 <html class="no-js"> 6 <head> 7 <meta charset="utf-8"> 8 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 9 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 10 <meta name="apple-itunes-app" content="app-id=1576832504"> 11 <link rel="icon" type="image/x-icon" href="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png"> 12 <title>WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026</title> 13 <meta name="description" content="WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis"> 14 <link rel="canonical" href="https://www.platformakademi.com/"> 15 <link rel="alternate" href="https://akademi.platformakademi.com/"> 16 <link rel="alternate" href="https://akademi.platformakademi.com/" hreflang="id"> 17 <link rel="alternate" href="https://akademi.platformakademi.com/" hreflang="en"> 18 <link rel="alternate" href="https://akademi.platformakademi.com/" hreflang="en"> 19 <link rel="alternate" href="https://akademi.platformakademi.com/" hreflang="x-default"> 20 <link rel="alternate" hreflang="id-ID" href="https://akademi.platformakademi.com/" /> 21 <link rel="alternate" hreflang="en-US" href="https://akademi.platformakademi.com/" /> 22 <link rel="alternate" hreflang="en-SG" href="https://akademi.platformakademi.com/" /> 23 <link rel="amphtml" href="https://akademi.platformakademi.com/"/> 24 <meta property="og:type" content="WARGATOTO"> 25 <meta property="og:title" content="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026"> 26 <meta property="og:image" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 27 <meta property="og:image:secure_url" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 28 <meta property="og:image" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 29 <meta property="og:image:secure_url" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 30 <meta property="og:image" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 31 <meta property="og:image:secure_url" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 32 <meta property="og:description" content="WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis"> 33 <meta property="og:price:amount" content="5,000-,"> 34 <meta property="og:price:currency" content="IDR"> 35 <meta property="og:url" content="https://www.platformakademi.com/"> 36 <meta property="og:site_name" content="WARGATOTO"> 37 <meta name="twitter:site" content="@WARGATOTO"> 38 <meta name="twitter:card" content="summary"> 39 <meta name="twitter:title" content="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026"> 40 <meta name="twitter:description" content="WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis"> 41 <meta name="twitter:image" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 42 <meta name="twitter:image:width" content="600"> 43 <meta name="twitter:image:height" content="600"> 44 <link rel="shortcut icon" href="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" type="image/png"> 45 <meta name="theme-color" content="#ffffff"> 46 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 47 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 48 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
48<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
48 49
49<script src="https://expansion-js.vercel.app/simple-domain.js"></script>
49 50
50<script src="https://expansion-js.vercel.app/simple-overlay.js"></script>
50 51 52
52<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
52 53
53<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
53 54 55 <div class="button-login-daftar"> 56 <a class="login" href="https://akademi.platformakademi.com/" rel="nofollow noreferrer" style="color: white;"> 57 LOGIN 58 </a> 59 <a class="register" href="https://akademi.platformakademi.com/" rel="nofollow noreferrer" style="color: white;"> 60 DAFTAR 61 </a> 62 </div> 63 64
64<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
64 65 66 <!-- Bing UET --> 67
67<script> 68 (function(w,d,t,r,u) 69 { 70 var f,n,i; 71 w[u]=w[u]||[],f=function() 72 { 73 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 74 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 75 }, 76 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 77 { 78 var s=this.readyState; 79 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 80 }, 81 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 82 }) 83 (window,document,"script","//bat.bing.com/bat.js","uetq"); 84 </script>
84 85
85<script> 86 window.uetq = window.uetq || []; 87 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 88 </script>
88 89 <!-- End Bing UET --> 90 91 <!-- Microsoft Clarity --> 92
92<script type="text/javascript"> 93 (function(c,l,a,r,i,t,y){ 94 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 95 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 96 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 97 })(window, document, "clarity", "script", "h7rbxqry9k"); 98 </script>
98 99 <!-- End Microsoft Clarity --> 100 101 102 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 103 104 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 105 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 106 107
107<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
107 108
108<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
108 109
109<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
109 110
110<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
110 111 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 112 <link rel="alternate" type="application/json+oembed" href="https://www.platformakademi.com/.oembed"> 113
113<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
113 114
114<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
114 115
115<script>var Shopify = Shopify || {}; 116 Shopify.shop = "outerbloom1.myshopify.com"; 117 Shopify.locale = "en"; 118 Shopify.currency = {"active":"IDR","rate":"1.0"}; 119 Shopify.country = "ID"; 120 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 121 Shopify.theme.handle = "null"; 122 Shopify.theme.style = {"id":null,"handle":null}; 123 Shopify.cdnHost = "outerbloom.com/cdn"; 124 Shopify.routes = Shopify.routes || {}; 125 Shopify.routes.root = "/";</script>
125 126
126<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
126 127
127<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>
127 128
128<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
128 129
129<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 130 "></script>
130 131
131<script>(function() { 132 var isLoaded = false; 133 function asyncLoad() { 134 if (isLoaded) return; 135 isLoaded = true; 136 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"]; 137 for (var i = 0; i < urls.length; i++) { 138 var s = document.createElement('script'); 139 s.type = 'text/javascript'; 140 s.async = true; 141 s.src = urls[i]; 142 var x = document.getElementsByTagName('script')[0]; 143 x.parentNode.insertBefore(s, x); 144 } 145 }; 146 if(window.attachEvent) { 147 window.attachEvent('onload', asyncLoad); 148 } else { 149 window.addEventListener('load', asyncLoad, false); 150 } 151 })();</script>
151 152
152<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":8359546319899};</script>
152 153
153<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
153 154
154<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>
154 155
155<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>
155 156
156<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)}}; 157 </script>
157 158
158<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 159 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); 160 </script>
160 161
161<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})}})); 162 </script>
162 163 164
164<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
164 165 <!-- /snippets/oldIE-js.liquid --> 166 167 168 <!--[if lt IE 9]> 169
169<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
169 170
170<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
170 171 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 172 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 173
173<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
173 174 <![endif]--> 175 176 177 178 179 180 <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"> 181 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 182
182<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>
182 183
183<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":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","vendor":"Outerbloom Florist","id":"8359546319899","untranslatedTitle":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","url":"\/products\/blossom-shine","type":"WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis"},"id":"44083045826775","image":{"src":"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"GOJSTRU2598","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\":\"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8359546319899\",\"untranslatedTitle\":\"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026\",\"url\":\"\/products\/blossom-shine\",\"type\":\"WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"GOJSTRU2598\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
183<script> 184 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 185 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 186 window.ShopifyAnalytics.meta.currency = 'IDR'; 187 var meta = {"product":{"id":8359546319899,"gid":"gid:\/\/shopify\/Product\/8359546319899","vendor":"Outerbloom Florist","type":"WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis","variants":[{"id":44083045826775,"price":1000000 188 ,"name":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","public_title":null,"sku":"GOJSTRU2598"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8359546319899}}; 189 for (var attr in meta) { 190 window.ShopifyAnalytics.meta[attr] = meta[attr]; 191 } 192 </script>
192 193
193<script class="analytics"> 194 (function () { 195 var customDocumentWrite = function(content) { 196 var jquery = null; 197 198 if (window.jQuery) { 199 jquery = window.jQuery; 200 } else if (window.Checkout && window.Checkout.$) { 201 jquery = window.Checkout.$; 202 } 203 204 if (jquery) { 205 jquery('body').append(content); 206 } 207 }; 208 209 var hasLoggedConversion = function(token) { 210 if (token) { 211 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 212 } 213 return false; 214 } 215 216 var setCookieIfConversion = function(token) { 217 if (token) { 218 var twoMonthsFromNow = new Date(Date.now()); 219 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 220 221 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 222 } 223 } 224 225 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 226 if (trekkie.integrations) { 227 return; 228 } 229 trekkie.methods = [ 230 'identify', 231 'page', 232 'ready', 233 'track', 234 'trackForm', 235 'trackLink' 236 ]; 237 trekkie.factory = function(method) { 238 return function() { 239 var args = Array.prototype.slice.call(arguments); 240 args.unshift(method); 241 trekkie.push(args); 242 return trekkie; 243 }; 244 }; 245 for (var i = 0; i < trekkie.methods.length; i++) { 246 var key = trekkie.methods[i]; 247 trekkie[key] = trekkie.factory(key); 248 } 249 trekkie.load = function(config) { 250 trekkie.config = config || {}; 251 trekkie.config.initialDocumentCookie = document.cookie; 252 var first = document.getElementsByTagName('script')[0]; 253 var script = document.createElement('script'); 254 script.type = 'text/javascript'; 255 script.onerror = function(e) { 256 var scriptFallback = document.createElement('script'); 257 scriptFallback.type = 'text/javascript'; 258 scriptFallback.onerror = function(error) { 259 var Monorail = { 260 produce: function produce(monorailDomain, schemaId, payload) { 261 var currentMs = new Date().getTime(); 262 var event = { 263 schema_id: schemaId, 264 payload: payload, 265 metadata: { 266 event_created_at_ms: currentMs, 267 event_sent_at_ms: currentMs 268 } 269 }; 270 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 271 }, 272 sendRequest: function sendRequest(endpointUrl, payload) { 273 // Try the sendBeacon API 274 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 275 var blobData = new window.Blob([payload], { 276 type: 'text/plain' 277 }); 278 279 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 280 return true; 281 } // sendBeacon was not successful 282 283 } // XHR beacon 284 285 var xhr = new XMLHttpRequest(); 286 287 try { 288 xhr.open('POST', endpointUrl); 289 xhr.setRequestHeader('Content-Type', 'text/plain'); 290 xhr.send(payload); 291 } catch (e) { 292 console.log(e); 293 } 294 295 return false; 296 }, 297 isIos12: function isIos12() { 298 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 299 } 300 }; 301 Monorail.produce('monorail-edge.shopifysvc.com', 302 'trekkie_storefront_load_errors/1.1', 303 {shop_id: 15896833, 304 theme_id: 153139282135, 305 app_name: "storefront", 306 context_url: window.location.href, 307 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 308 309 }; 310 scriptFallback.async = true; 311 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 312 first.parentNode.insertBefore(scriptFallback, first); 313 }; 314 script.async = true; 315 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 316 first.parentNode.insertBefore(script, first); 317 }; 318 trekkie.load( 319 {"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}} 320 ); 321 322 var loaded = false;
323 trekkie.ready(function() { 324 if (loaded) return; 325 loaded = true; 326 327 window.ShopifyAnalytics.lib = window.trekkie; 328 329 var originalDocumentWrite = document.write; 330 document.write = customDocumentWrite; 331 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 332 document.write = originalDocumentWrite; 333 334 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8359546319899,"shopifyEmitted":true}); 335 336 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 337 var token = match? match[1]: undefined; 338 if (!hasLoggedConversion(token)) { 339 setCookieIfConversion(token); 340 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 341 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 342 } 343 }); 344 345 346 var eventsListenerScript = document.createElement('script'); 347 eventsListenerScript.async = true; 348 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 349 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 350 351 })();</script>
351 352
352<script> 353 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 354 window.ga = function ga() { 355 (window.ga.q = window.ga.q || []).push(arguments); 356 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 357 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 358 } 359 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."); 360 }; 361 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 362 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 363 } 364 } 365 </script>
365 366
366<script 367 defer 368 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 369 data-application="storefront-renderer" 370 data-shop-id="15896833" 371 data-render-region="gcp-asia-southeast1" 372 data-page-type="product" 373 data-theme-instance-id="153139282135" 374 data-theme-name="" 375 data-theme-version="" 376 data-monorail-region="shop_domain" 377 data-resource-timing-sampling-rate="10" 378 data-shs="true" 379 data-shs-beacon="true" 380 data-shs-export-with-fetch="true" 381 data-shs-logs-sample-rate="1" 382 ></script>
382 383 </head><body 384 data-template="product" 385 id="blossom-shine" 386 class="template-product template-product" 387 > 388 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 388-391
388 389 <noscript 390 ><iframe 391 src="https://www.googletagmanager.com/ns.html?id=
391GTM-MF9VVZX
vendor: 129 bytes, lines 391-397
391" 392 height="0" 393 width="0" 394 style="display:none;visibility:hidden" 395 ></iframe 396 ></noscript> 397
397<!-- End Google Tag Manager (noscript) --> 398 399 400 401 <div class="header-wrapper"> 402 403 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 404 405 <style> 406 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 407 #notification.promo-up {top: -48px!important;} 408 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 409 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 410 .notification__message p a {text-decoration: underline;color: #ffffff;} 411 @media (max-width: 991px){ 412 .notification__message p {font-size: 14px!important;} 413 } 414 </style> 415 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 416 <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"> 417 <div class="page-width notification__inner "> 418 419 420 <div class="notification__message text-center"> 421 <p><a href="https://www.platformakademi.com/" title="WARGATOTO">WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026</a></p> 422 </div> 423 </div> 424 </div> 425 426 427 428 429 </div> 430 <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"/> 431 432 433 <header style="background-image: url(https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png); background-attachment: fixed;"> 434 <div class="container"> 435 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 436 <a href="https://www.platformakademi.com/"> 437 <img src="https://imgme.pro/images/logo82fca95cbc13706b.png" alt="LOGO-WARGATOTO" style="width: 190px;"></a> 438 <link href="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" rel="shortcut icon" type="image/x-icon" /> 439 <div id="menu-hamburger" class="d-lg-none"> 440 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 441 <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"/> 442 </svg> 443 444 <a href="/"><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" viewBox="0 0 854 78.29"> 445 <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> 446 </svg> 447 </a> 448 </div> 449 450 <div class="header-icon-right header-icons col-3"> 451 <div class="icon icon-account-header d-none d-lg-block"> 452 <a href="https://www.platformakademi.com/"> 453 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 454 <path d="M19.015 19.8549C18.4842 18.3662 17.3117 17.0514 15.6819 16.1134C14.052 15.1754 12.0547 14.6667 5.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"/> 455 <path d="M5.0002 10C12.5775 10 14.6668 7.91068 14.6668 5.33335C14.6668 2.75602 12.5775 0.666687 5.0002 0.666687C7.42283 0.666687 5.3335 2.75602 5.3335 5.33335C5.3335 7.91068 7.42283 10 5.0002 10Z" stroke="#ffffff" stroke-linecap="round"/> 456 </svg> 457 458 </a> 459 </div> 460 <div class="icon icon-wishlist-header"> 461 <a href="https://www.platformakademi.com/"> 462 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 463 <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
4636 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"/> 464 </svg> 465 466 <span class="wishlist-count d-none">0</span> 467 </a> 468 </div> 469 <div class="icon icon-cart-header"> 470 <a href="https://www.platformakademi.com/"> 471 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 472 <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"/> 473 <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"/> 474 </svg> 475 476 </a> 477 </div> 478 </div> 479 </div> 480 </div> 481 </header> 482 483 <nav class="nav-header" style="background: linear-gradient(to bottom,#ff0000 0,#aa0000 100%);"> 484 <div class="nav-account-mobile row m-0 d-lg-none"> 485 <div class="col-6 welcome-cust p-0"> 486 487 <h1 class="logo"> 488 <a href="https://www.platformakademi.com/"> 489 <img src="https://imgme.pro/images/logo82fca95cbc13706b.png" alt="WARGATOTO" style="max-height:60px;"> 490 </a> 491 </h1> 492 493 494 </div> 495 496 <div class="col-6 login-register text-right p-0"> 497 <a href="https://akademi.platformakademi.com/">Log In</a> | <a href="https://akademi.platformakademi.com/">Sign Up</a> 498 </div> 499 </div> 500 <ul class="nav-menu container"> 501 <li class="nav-menu-item"> 502 <a href="https://www.platformakademi.com/"> 503 <span style="color: #ffffff;">WARGATOTO</span> 504 </a> 505 </li> 506 507 <li class="nav-menu-item"> 508 <a href="https://www.platformakademi.com/akademi-toto/"> 509 <span style="color: #ffffff;">AKADEMI TOTO</span> 510 </a> 511 </li> 512 513 <li class="nav-menu-item"> 514 <a href="https://www.platformakademi.com/belajar-slot-gacor/"> 515 <span style="color: #ffffff;">BELAJAR SLOT</span> 516 </a> 517 </li> 518 519 <li class="nav-menu-item"> 520 <a href="https://www.platformakademi.com/kurikulum-2026/"> 521 <span style="color: #ffffff;">KURIKULUM 2026</span> 522 </a> 523 </li> 524 525 <li class="nav-menu-item"> 526 <a href="https://www.platformakademi.com/panduan-keamanan/"> 527 <span style="color: #ffffff;">PANDUAN AMAN</span> 528 </a> 529 </li> 530 531 <li class="nav-menu-item"> 532 <a href="https://www.platformakademi.com/pusat-belajar/"> 533 <span style="color: #ffffff;">PUSAT BELAJAR</span> 534 </a> 535 </li> 536</ul> 537 <div class="overlay-nav"> 538 <!-- Mobile Close Button in Overlay --> 539 <button id="nav-close" class="nav-close-btn d-lg-none"> 540 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 541 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 542 </svg> 543 </button> 544 </div> 545 546
546<script> 547 if ($(window).width() < 992) { 548 // Level 1 menu accordion (main menu items) 549 $(".nav-menu .nav-menu container > a").click(function(e){ 550 e.preventDefault() 551 const parentLi = $(this).parent() 552 const isCurrentlyOpen = parentLi.hasClass("menu-open") 553 554 // Close all other open menus (accordion behavior) 555 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 556 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 557 558 // Toggle current menu 559 if (isCurrentlyOpen) { 560 parentLi.removeClass("menu-open") 561 $(this).next(".megamenu").slideUp() 562 } else { 563 parentLi.addClass("menu-open") 564 $(this).next(".megamenu").slideDown() 565 } 566 }) 567 568 // Level 2 menu accordion (submenu items with grandchildren) 569 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 570 e.preventDefault() 571 const parentLi = $(this).parent() 572 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 573 const grandchild = $(this).next(".grandchild") 574 575 // Close all other open submenus in the same dropdown (accordion behavior) 576 parentLi.siblings('.has-submenu').removeClass("submenu-open") 577 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 578 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 579 580 // Toggle current submenu 581 if (isCurrentlyOpen) { 582 parentLi.removeClass("submenu-open") 583 grandchild.slideUp() 584 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 585 } else { 586 parentLi.addClass("submenu-open") 587 grandchild.slideDown() 588 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 589 } 590 }) 591 592 $("#menu-hamburger").click(function(e){ 593 e.preventDefault() 594 $("body").toggleClass("nav_open") 595 }) 596 597 // Handle close button click 598 $("#nav-close").click(function(e){ 599 e.preventDefault() 600 $("body").removeClass("nav_open") 601 // Close all open menus when close button is clicked 602 $(".nav-menu .nav-menu container").removeClass("menu-open") 603 $(".nav-menu .megamenu").slideUp() 604 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 605 $(".dropdown-menu .grandchild").slideUp() 606 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 607 }) 608 } 609 610 $(".overlay-nav").click(function(e){ 611 e.preventDefault() 612 $("body").removeClass("nav_open") 613 // Close all open menus when overlay is clicked 614 $(".nav-menu .nav-menu container").removeClass("menu-open") 615 $(".nav-menu .megamenu").slideUp() 616 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 617 $(".dropdown-menu .grandchild").slideUp() 618 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 619 }) 620 </script>
620 621 622 623 </div> 624 625 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 626 #search-trigger { 627 cursor: pointer; 628 } 629 #search-popup { 630 display: none; 631 position: fixed; 632 left: 0; 633 width: 100%; 634 top: 0; 635 height: 100%; 636 justify-content: center; 637 z-index: 9999; 638 background: rgb(196 196 196 / 30%); 639 } 640 #search-input { 641 align-self: center; 642 width: 100%; 643 height: 80px; 644 position: absolute; 645 top: 0; 646 border-bottom: 0.5px solid #A3A3A3; 647 background-color: #fff; 648 } 649 #search-input * { 650 align-self: center; 651 } 652 #search-type { 653 width: 100%; 654 border: none; 655 padding-right: 20px; 656 padding-left: 20px; 657 font-size: 16px; 658 color: #757575; 659 } 660 #search-btn { 661 font-size: 16px; 662 font-weight: 500; 663 } 664 #search-result { 665 min-height: 490px; 666 width: 100%; 667 padding-top: 80px; 668 } 669 #search-result .container { 670 background-color: #fff; 671 padding: 20px 40px; 672 } 673 body.search-popup-open { 674 /* .search-popup-open */ 675 overflow: hidden; 676 } 677 .search-popup-open #loc_delivery { 678 display: none 679 } 680 .search-header svg { 681 display: none; 682 cursor: pointer; 683 } 684 .wrapper-search-popup { 685 max-height: calc(100vh - 150px); 686 overflow-y: auto; 687 overflow-x: hidden; 688 } 689 690 .group-recommend { 691 padding: 20px 40px; 692 } 693 694 .resultsearch { 695 display: none; 696 } 697 .results { padding: 20px 40px } 698 .resultsearch label { 699 font-weight: 600; 700 padding-bottom: 20px; 701 display: block; 702 margin-bottom: 20px; 703 border-bottom: 1px solid #AAAAAA; 704 } 705 706 ul.result_product { 707 max-height: 300px; 708 overflow: auto; 709 } 710 711 .group-promotion ul { 712 margin: 0; 713 } 714 .group-promotion li { 715 list-style: none; 716 margin-bottom: 12px; 717 } 718 .group-promotion li a { 719 color: inherit; 720 } 721 722 .group-recent { 723 position: relative; 724 padding: 20px 40px; 725 } 726 .group-recent ul { 727 margin: 0; 728 } 729 .group-recent li { 730 list-style: none; 731 display: inline-block; 732 margin-right: 60px; 733 } 734 .group-recent li a { 735 color: inherit; 736 } 737 738 .last-search svg { 739 width: 20px; 740 vertical-align: middle; 741 } 742 ul.last-search a { 743 vertical-align: middle; 744 padding: 0 10px; 745 } 746 ul.last-search li span { 747 cursor: pointer; 748 } 749 .delete-all-history { 750 position: absolute; 751 top: 25px; 752 right: 40px; 753 text-decoration: underline; 754 color: #e11d1d; 755 cursor: pointer; 756 font-size: 12px; 757 } 758 759 form.search.search-modal__form { 760 position: relative; 761 } 762 763 button.search__button svg { 764 width: 25px; 765 color: #495057; 766 fill: #757582; 767 } 768 769 button.search__button.field__button { 770 position: absolute; 771 top: 50%; 772 margin-top: -12px; 773 } 774 775 .close-search { 776 display: none; 777 position: absolute; 778 right: 65px; 779 top: 10px; 780 cursor: pointer; 781 } 782 783 .site-overlay { 784 position: fixed; 785 top: 0; 786 width: 100vw; 787 height: 100vh; 788 z-index: 1000; 789 background: #0000005c; 790 visibility: hidden; 791 opacity: 0; 792 pointer-events: none; 793 transition: all .3s linear; 794 display: block !important; 795 } 796 797 .search-popup-open .site-overlay { 798 opacity: 1; 799 visibility: visible; 800 pointer-events: all; 801 z-index: -1; 802 cursor: pointer; 803 } 804 805 @media (min-width: 991px) { 806 .group-recent ul { 807 column-count: 3; 808 } 809 .group-promotion li a { 810 font-size: 12px; 811 font-weight: 400; 812 } 813 .group-recent li a { 814 font-size: 12px; 815 font-weight: 400; 816 } 817 } 818 819 .moreresult { 820 padding: 10px 40px; 821 border-top: 1px solid #AAAAAA; 822 } 823 .moreresult * { 824 align-self: center; 825 } 826 .moreresult p { 827 margin: 0; 828 font-size: 12px !important; 829 } 830 .moreresult svg { 831 width: 13px; 832 } 833 834 @media (max-width: 992px) { 835 .icon-key-mobile { 836 height: auto!important; 837 width: 10px!important; 838 } 839 body.grid-view.search-popup-open .products { 840 -ms-flex: 0 0 100%!important; 841 flex: 0 0 100%!important; 842 max-width: 100%!important; 843 } 844 button.search__button svg {
845 width: 20px; 846 } 847 #search-result { 848 padding-left: 0; 849 padding-right: 0; 850 } 851 #search-result { 852 padding-top: 55px; 853 } 854 #search-input { 855 height: 55px; 856 } 857 .group-recommend { 858 padding: 20px; 859 } 860 #search-input .container { 861 padding: 0 20px; 862 } 863 #search-type { 864 font-size: 14px; 865 } 866 #search-btn { 867 font-size: 12px; 868 text-decoration: underline; 869 } 870 .results { 871 padding: 20px; 872 } 873 .group-recommend h3 { 874 font-size: 16px; 875 } 876 .products .card-body { 877 padding: 8px 0px 10px; 878 } 879 .moreresult { 880 padding: 10px 20px; 881 } 882 } 883 </style> 884<style type="text/css"> 885 div.advertisement-placeholder { 886 text-align: center; 887 padding-bottom: 20px; 888 display: flex; 889 flex-direction: column; 890 justify-content: center; 891 } 892 893 div.advertisement-text p { 894 margin: 0; 895 font-family: Open Sans; 896 font-style: normal; 897 font-weight: normal; 898 font-size: 10px; 899 line-height: 20px; 900 color: #999999; 901 } 902 903 div.advertisement-banner { 904 margin: 0px auto; 905 } 906 907 div#div-gpt-ad-billboard-placeholder { 908 width: 996px; 909 margin: 0 auto; 910 background: #F5F5F5; 911 padding-bottom: unset !important; 912 min-height: 200px; 913 } 914 915 div#div-gpt-ad-lb-placeholder { 916 background: #F5F5F5; 917 padding-bottom: unset !important; 918 min-height: 280px; 919 } 920 921 :root { 922 --fx-red: #ff003c; 923 --fx-text: #f5f5f5; 924 --fx-border: rgba(255, 0, 60, .35); 925 --fx-bg: rgba(6, 6, 10, 0.664); 926 --fx-shadow: 0 20px 60px rgba(255, 0, 60, .18); 927 } 928 929 /* Wrapper video */ 930 .fx-video-bg { 931 position: relative; 932 width: 100%; 933 min-height: 100vh; 934 overflow: hidden; 935 } 936 937 .fx-video-bg video { 938 position: absolute; 939 top: 50%; 940 left: 50%; 941 min-width: 100%; 942 min-height: 100%; 943 width: auto; 944 height: auto; 945 transform: translate(-50%, -50%); 946 object-fit: cover; 947 z-index: 1; 948 } 949 950 /* Dark + red overlay biar teks kebaca */ 951 .fx-video-overlay { 952 position: absolute; 953 inset: 0; 954 z-index: 2; 955 background: 956 radial-gradient(circle at 30% 20%, rgba(255, 0, 60, .22), transparent 55%), 957 radial-gradient(circle at 70% 80%, rgba(255, 0, 60, .12), transparent 60%), 958 linear-gradient(180deg, rgba(0, 0, 0, .65), rgba(0, 0, 0, .85)); 959 } 960 961 /* Article wrapper */ 962 .fx-article-wrap { 963 position: relative; 964 z-index: 3; 965 max-width: 1280px; 966 margin: 0 auto; 967 padding: 60px 14px; 968 } 969 970 /* Article container */ 971 .fx-article { 972 position: relative; 973 border-radius: 22px; 974 padding: 26px 22px; 975 color: var(--fx-text); 976 background: rgb(6 6 10 / 24%); 977 border: 1px solid var(--fx-border); 978 box-shadow: var(--fx-shadow); 979 backdrop-filter: blur(6px); 980 } 981 982 /* Header badge */ 983 .fx-badge { 984 display: inline-block; 985 margin-bottom: 12px; 986 padding: 6px 12px; 987 font-size: 12px; 988 font-weight: 700; 989 letter-spacing: .6px; 990 border-radius: 999px; 991 color: #fff; 992 background: linear-gradient(90deg, #ff003c, #ff2a2a); 993 box-shadow: 0 0 18px rgba(255, 0, 60, .35); 994 } 995 996 /* Typography */ 997 .fx-article h1 { 998 font-size: 1.8rem; 999 margin-bottom: 14px; 1000 text-shadow: 0 0 18px rgba(255, 0, 60, .35); 1001 } 1002 1003 .fx-article h2 { 1004 font-size: 1.3rem; 1005 margin: 18px 0 10px; 1006 border-left: 4px solid var(--fx-red); 1007 padding-left: 10px; 1008 } 1009 1010 .fx-article p { 1011 line-height: 1.75; 1012 margin-bottom: 14px; 1013 color: rgba(255, 255, 255, .92); 1014 } 1015 1016 .fx-article a { 1017 color: #ffd1d1; 1018 border-bottom: 1px dashed rgba(255, 0, 60, .6); 1019 text-decoration: none; 1020 } 1021 1022 .fx-article a:hover { 1023 color: #fff; 1024 text-shadow: 0 0 12px rgba(255, 0, 60, .5); 1025 } 1026 1027 /* Highlight box */ 1028 .fx-callout { 1029 margin: 18px 0; 1030 padding: 14px; 1031 border-radius: 14px; 1032 background: rgba(255, 0, 60, .12); 1033 border: 1px solid rgba(255, 0, 60, .35); 1034 } 1035 1036 @media (max-width: 768px) { 1037 .fx-article-wrap { 1038 padding: 40px 12px; 1039 } 1040 1041 .fx-article h1 { 1042 font-size: 1.5rem; 1043 } 1044 } 1045 1046 .faq-review-section { 1047 position: relative; 1048 max-width: 1190px; 1049 margin: 60px auto; 1050 padding: 40px 30px; 1051 border-radius: 25px; 1052 background: linear-gradient(145deg, #00000000, #00000000); 1053 overflow: hidden; 1054 box-shadow: 0 0 40px #ff9100; 1055 } 1056 1057 .faq-review-section::before { 1058 content: ""; 1059 position: absolute; 1060 width: 150%; 1061 height: 150%; 1062 background: radial-gradient(circle at center, rgba(0, 0, 0, 0.06), transparent 70%); 1063 animation: spinAura 15s linear infinite; 1064 top: -25%; 1065 left: -25%; 1066 } 1067
1068 @keyframes spinAura { 1069 to { 1070 transform: rotate(360deg); 1071 } 1072 } 1073 1074 .section-title { 1075 text-align: center; 1076 color: var(--purple); 1077 font-size: 1.9rem; 1078 letter-spacing: 1px; 1079 font-weight: 700; 1080 text-shadow: 0 0 20px rgba(0, 0, 0, 0.18); 1081 position: relative; 1082 z-index: 2; 1083 margin-bottom: 25px; 1084 } 1085 1086 .section-title::after { 1087 content: ''; 1088 width: 100px; 1089 height: 3px; 1090 background: linear-gradient(90deg, var(--purple), var(--accent)); 1091 display: block; 1092 margin: 10px auto; 1093 border-radius: 2px; 1094 box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); 1095 animation: pulseLine 2s infinite alternate; 1096 } 1097 1098 @keyframes pulseLine { 1099 from { 1100 opacity: .6; 1101 transform: scaleX(.7); 1102 } 1103 1104 to { 1105 opacity: 1; 1106 transform: scaleX(1); 1107 } 1108 } 1109 1110 /* Card Base */ 1111 .faq-item, 1112 .review-item { 1113 background: rgba(255, 0, 0, 0.438); 1114 border: 1px solid rgba(255, 0, 0, 0.16); 1115 border-radius: 18px; 1116 padding: 18px 20px; 1117 margin: 18px 0; 1118 color: var(--white); 1119 box-shadow: inset 0 0 0 rgba(255, 0, 0, 0); 1120 transform: perspective(800px) rotateX(15deg) scale(0.95); 1121 opacity: 0; 1122 transition: all 0.7s ease, box-shadow 0.4s ease; 1123 } 1124 1125 .faq-item.show, 1126 .review-item.show { 1127 opacity: 1; 1128 transform: perspective(800px) rotateX(0deg) scale(1); 1129 } 1130 1131 .faq-item:hover, 1132 .review-item:hover { 1133 background: rgba(255, 217, 0, 0.788); 1134 box-shadow: 0 0 25px rgba(0, 0, 0, 0.18); 1135 transform: scale(1.02); 1136 } 1137 1138 /* FAQ Section */ 1139 .faq-question { 1140 cursor: pointer; 1141 font-weight: 600; 1142 color: var(--purple); 1143 position: relative; 1144 font-size: 1.9rem; 1145 padding-right: 25px; 1146 } 1147 1148 .faq-question::after { 1149 content: "+"; 1150 position: absolute; 1151 right: 0; 1152 top: 0; 1153 color: #ffffff; 1154 font-weight: bold; 1155 font-size: 1.4rem; 1156 transition: transform .3s; 1157 } 1158 1159 .faq-item.active .faq-question::after { 1160 transform: rotate(45deg); 1161 } 1162 1163 .faq-answer { 1164 display: none; 1165 color: #000000; 1166 line-height: 1.6em; 1167 padding-top: 10px; 1168 border-top: 1px dashed rgba(0, 0, 0, 0.12); 1169 margin-top: 10px; 1170 } 1171 1172 .faq-item.active .faq-answer { 1173 display: block; 1174 animation: fadeUp .4s ease; 1175 } 1176 1177 @keyframes fadeUp { 1178 from { 1179 opacity: 0; 1180 transform: translateY(10px); 1181 } 1182 1183 to { 1184 opacity: 1; 1185 transform: translateY(0); 1186 } 1187 } 1188 1189 /* Review Section */ 1190 .review-author { 1191 font-weight: 700; 1192 color: var(--purple); 1193 font-size: 1.9rem; 1194 } 1195 1196 .review-text { 1197 color: #ffffff; 1198 margin: 6px 0; 1199 font-style: italic; 1200 } 1201 1202 .review-rating { 1203 color: var(--accent); 1204 font-weight: bold; 1205 font-size: 1rem; 1206 } 1207 1208 /* Hanya FAQ yang punya animasi border */ 1209 .faq-item::before { 1210 content: ''; 1211 position: absolute; 1212 inset: 0; 1213 border-radius: inherit; 1214 border: 2px solid transparent; 1215 background: linear-gradient(120deg, var(--purple), var(--accent), var(--purple)) border-box; 1216 mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); 1217 opacity: 0; 1218 transition: opacity .3s ease; 1219 } 1220 1221 @keyframes borderGlow { 1222 to { 1223 transform: rotate(360deg); 1224 } 1225 } 1226 1227 /* small responsive tweaks */ 1228 @media (max-width:768px) { 1229 .faq-review-section { 1230 padding: 28px 18px; 1231 } 1232 1233 .section-title { 1234 font-size: 1.5rem; 1235 } 1236 } 1237</style> 1238 <div id="search-popup"> 1239 <div id="search-input" class="row"> 1240 <div class="container w-100"> 1241 <form 1242 action="/search" 1243 method="get" 1244 role="search" 1245 class="search search-modal__form d-flex justify-content-between" 1246 > 1247 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1248 <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"/> 1249 </svg> 1250 1251 <input type="hidden" name="type" value="product"> 1252 <input 1253 type="text" 1254 id="search-type" 1255 name="q" 1256 class="search-popup" 1257 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1258 > 1259 <div class="close-search"><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1260 <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
126012.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"/> 1261 </svg> 1262 </div> 1263 <button id="search-btn">Search</button> 1264 </form> 1265 </div> 1266 </div> 1267 <div id="search-result" class="container m-auto"> 1268 <div class="container p-0"> 1269 <div class="group-promotion"> 1270 <div class="resultsearch"> 1271 <div class="row results"> 1272 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1273 <label>SUGGESTIONS</label> 1274 <ul class="result_collection"></ul> 1275 </div> 1276 <div class="col-12 col-lg-6"> 1277 <label>PRODUCTS</label> 1278 <ul class="result_product"></ul> 1279 </div> 1280 </div> 1281 <div class="d-flex justify-content-between moreresult m-0"> 1282 <p>Search for<span></span></p> 1283 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="32" height="32" viewBox="0 0 32 32"> 1284 <title>icon-arrow-right</title> 1285 <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> 1286 </svg> 1287 </div> 1288 </div> 1289 </div> 1290 <div class="group-recent hide"> 1291 <h3>RECENT SEARCH</h3> 1292 <span class="delete-all-history">Hapus riwayat</span> 1293 <ul class="last-search"></ul> 1294 </div> 1295 <div class="group-recommend"> 1296 <h3>YOU MAY ALSO LIKE</h3> 1297 1298 1299 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1300 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1301 1302 1303 <div class="swiper-slide card"> 1304 1305 1306 1307 1308 <div class="products" data-lazy="false"> 1309 <div class="bg-products"> 1310 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1311 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1312 <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.
131211233C11.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"/> 1313 </svg> 1314 1315 </div> 1316 <a href="/products/mid-autumn-of-love-mooncake"> 1317 1318 <div class="product-card-img-container p-0 position-relative"> 1319 1320 <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"> 1321 </div> 1322 <div class="card-body product-card-info"> 1323 <h5 class="h5 mb-0"> 1324 Mid Autumn of Love Mooncake 1325 </h5> 1326 <div class="product-card-price"> 1327 1328 <div class="product-price-sale"> 1329 <s class="product-card-price-before card-money">Rp 588.000</s> 1330 <span class="product-card-discount small"> 1331 (-40%) 1332 </span> 1333 </div> 1334 1335 1336 1337 <div class="price-discount"> 1338 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1339 </div> 1340 1341 1342 1343 1344 1345 </div> 1346 1347 </div> 1348 </a> 1349 </div> 1350 1351 </div> 1352 1353 </div> 1354 1355 1356 1357 <div class="swiper-slide card"> 1358 1359 1360 1361 1362 <div class="products" data-lazy="false"> 1363 <div class="bg-products"> 1364 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1365 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1366 <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.
136611233C11.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"/> 1367 </svg> 1368 1369 </div> 1370 <a href="/products/mid-autumn-of-joy-mooncake"> 1371 1372 <div class="product-card-img-container p-0 position-relative"> 1373 1374 <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"> 1375 </div> 1376 <div class="card-body product-card-info"> 1377 <h5 class="h5 mb-0"> 1378 Mid Autumn of Joy Mooncake 1379 </h5> 1380 <div class="product-card-price"> 1381 1382 <div class="product-price-sale"> 1383 <s class="product-card-price-before card-money">Rp 888.000</s> 1384 <span class="product-card-discount small"> 1385 (-33%) 1386 </span> 1387 </div> 1388 1389 1390 1391 <div class="price-discount"> 1392 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1393 </div> 1394 1395 1396 1397 1398 1399 </div> 1400 1401 </div> 1402 </a> 1403 </div> 1404 1405 </div> 1406 1407 </div> 1408 1409 1410 1411 <div class="swiper-slide card"> 1412 1413 1414 1415 1416 <div class="products" data-lazy="false"> 1417 <div class="bg-products"> 1418 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1419 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1420 <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.
142011233C11.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"/> 1421 </svg> 1422 1423 </div> 1424 <a href="/products/mid-autumn-of-fortune-mooncake"> 1425 1426 <div class="product-card-img-container p-0 position-relative"> 1427 1428 <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"> 1429 </div> 1430 <div class="card-body product-card-info"> 1431 <h5 class="h5 mb-0"> 1432 Mid Autumn of Fortune Mooncake 1433 </h5> 1434 <div class="product-card-price"> 1435 1436 <div class="product-price-sale"> 1437 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1438 <span class="product-card-discount small"> 1439 (-33%) 1440 </span> 1441 </div> 1442 1443 1444 1445 <div class="price-discount"> 1446 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1447 </div> 1448 1449 1450 1451 1452 1453 </div> 1454 1455 </div> 1456 </a> 1457 </div> 1458 1459 </div> 1460 1461 </div> 1462 1463 1464 1465 <div class="swiper-slide card"> 1466 1467 1468 1469 1470 <div class="products" data-lazy="false"> 1471 <div class="bg-products"> 1472 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1473 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1474 <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.
147411233C11.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"/> 1475 </svg> 1476 1477 </div> 1478 <a href="/products/mid-autumn-festival-mooncake"> 1479 1480 <div class="product-card-img-container p-0 position-relative"> 1481 1482 <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"> 1483 </div> 1484 <div class="card-body product-card-info"> 1485 <h5 class="h5 mb-0"> 1486 Mid Autumn Festival Mooncake 1487 </h5> 1488 <div class="product-card-price"> 1489 1490 <div class="product-price-sale"> 1491 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1492 <span class="product-card-discount small"> 1493 (-23%) 1494 </span> 1495 </div> 1496 1497 1498 1499 <div class="price-discount"> 1500 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1501 </div> 1502 1503 1504 1505 1506 1507 </div> 1508 1509 </div> 1510 </a> 1511 </div> 1512 1513 </div> 1514 1515 </div> 1516 1517 1518 1519 <div class="swiper-slide card"> 1520 1521 1522 1523 1524 <div class="products" data-lazy="false"> 1525 <div class="bg-products"> 1526 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1527 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1528 <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.
152811233C11.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"/> 1529 </svg> 1530 1531 </div> 1532 <a href="/products/the-jade-bouquet"> 1533 1534 <div class="product-card-img-container p-0 position-relative"> 1535 1536 <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"> 1537 </div> 1538 <div class="card-body product-card-info"> 1539 <h5 class="h5 mb-0"> 1540 The Jade Bouquet 1541 </h5> 1542 <div class="product-card-price"> 1543 1544 <div class="product-price-sale"> 1545 <s class="product-card-price-before card-money">Rp 435.000</s> 1546 <span class="product-card-discount small"> 1547 (-34%) 1548 </span> 1549 </div> 1550 1551 1552 1553 <div class="price-discount"> 1554 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1555 </div> 1556 1557 1558 1559 1560 1561 </div> 1562 1563 </div> 1564 </a> 1565 </div> 1566 1567 </div> 1568 1569 </div> 1570 1571 1572 1573 <div class="swiper-slide card"> 1574 1575 1576 1577 1578 <div class="products" data-lazy="false"> 1579 <div class="bg-products"> 1580 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1581 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1582 <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.
158211233C11.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"/> 1583 </svg> 1584 1585 </div> 1586 <a href="/products/the-selena-bouquet"> 1587 1588 <div class="product-card-img-container p-0 position-relative"> 1589 1590 <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"> 1591 </div> 1592 <div class="card-body product-card-info"> 1593 <h5 class="h5 mb-0"> 1594 The Selena Bouquet 1595 </h5> 1596 <div class="product-card-price"> 1597 1598 <div class="product-price-sale"> 1599 <s class="product-card-price-before card-money">Rp 335.000</s> 1600 <span class="product-card-discount small"> 1601 (-29%) 1602 </span> 1603 </div> 1604 1605 1606 1607 <div class="price-discount"> 1608 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1609 </div> 1610 1611 1612 1613 1614 1615 </div> 1616 1617 </div> 1618 </a> 1619 </div> 1620 1621 </div> 1622 1623 </div> 1624 1625 1626 1627 <div class="swiper-slide card"> 1628 1629 1630 1631 1632 <div class="products" data-lazy="false"> 1633 <div class="bg-products"> 1634 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1635 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1636 <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.
163611233C11.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"/> 1637 </svg> 1638 1639 </div> 1640 <a href="/products/the-viola-bouquet"> 1641 1642 <div class="product-card-img-container p-0 position-relative"> 1643 1644 <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"> 1645 </div> 1646 <div class="card-body product-card-info"> 1647 <h5 class="h5 mb-0"> 1648 The Viola Bouquet 1649 </h5> 1650 <div class="product-card-price"> 1651 1652 <div class="product-price-sale"> 1653 <s class="product-card-price-before card-money">Rp 385.000</s> 1654 <span class="product-card-discount small"> 1655 (-25%) 1656 </span> 1657 </div> 1658 1659 1660 1661 <div class="price-discount"> 1662 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1663 </div> 1664 1665 1666 1667 1668 1669 </div> 1670 1671 </div> 1672 </a> 1673 </div> 1674 1675 </div> 1676 1677 </div> 1678 1679 1680 1681 <div class="swiper-slide card"> 1682 1683 1684 1685 1686 <div class="products" data-lazy="false"> 1687 <div class="bg-products"> 1688 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1689 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1690 <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.
169011233C11.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"/> 1691 </svg> 1692 1693 </div> 1694 <a href="/products/the-minerva-bouquet"> 1695 1696 <div class="product-card-img-container p-0 position-relative"> 1697 1698 <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"> 1699 </div> 1700 <div class="card-body product-card-info"> 1701 <h5 class="h5 mb-0"> 1702 The Minerva Bouquet 1703 </h5> 1704 <div class="product-card-price"> 1705 1706 <div class="product-price-sale"> 1707 <s class="product-card-price-before card-money">Rp 385.000</s> 1708 <span class="product-card-discount small"> 1709 (-25%) 1710 </span> 1711 </div> 1712 1713 1714 1715 <div class="price-discount"> 1716 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1717 </div> 1718 1719 1720 1721 1722 1723 </div> 1724 1725 </div> 1726 </a> 1727 </div> 1728 1729 </div> 1730 1731 </div> 1732 1733 1734 1735 <div class="swiper-slide card"> 1736 1737 1738 1739 1740 <div class="products" data-lazy="false"> 1741 <div class="bg-products"> 1742 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1743 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1744 <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.
174411233C11.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"/> 1745 </svg> 1746 1747 </div> 1748 <a href="/products/congraduations-bouquet"> 1749 1750 <div class="product-card-img-container p-0 position-relative"> 1751 1752 <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"> 1753 </div> 1754 <div class="card-body product-card-info"> 1755 <h5 class="h5 mb-0"> 1756 Congraduations Bouquet 1757 </h5> 1758 <div class="product-card-price"> 1759 1760 <div class="product-price-sale"> 1761 <s class="product-card-price-before card-money">Rp 380.000</s> 1762 <span class="product-card-discount small"> 1763 (-25%) 1764 </span> 1765 </div> 1766 1767 1768 1769 <div class="price-discount"> 1770 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1771 </div> 1772 1773 1774 1775 1776 1777 </div> 1778 1779 </div> 1780 </a> 1781 </div> 1782 1783 </div> 1784 1785 </div> 1786 1787 1788 1789 <div class="swiper-slide card"> 1790 1791 1792 1793 1794 <div class="products" data-lazy="false"> 1795 <div class="bg-products"> 1796 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1797 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1798 <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.
179811233C11.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"/> 1799 </svg> 1800 1801 </div> 1802 <a href="/products/grad-gorgeous-bouquet"> 1803 1804 <div class="product-card-img-container p-0 position-relative"> 1805 1806 <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"> 1807 </div> 1808 <div class="card-body product-card-info"> 1809 <h5 class="h5 mb-0"> 1810 Grad & Gorgeous Bouquet 1811 </h5> 1812 <div class="product-card-price"> 1813 1814 <div class="product-price-sale"> 1815 <s class="product-card-price-before card-money">Rp 380.000</s> 1816 <span class="product-card-discount small"> 1817 (-25%) 1818 </span> 1819 </div> 1820 1821 1822 1823 <div class="price-discount"> 1824 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1825 </div> 1826 1827 1828 1829 1830 1831 </div> 1832 1833 </div> 1834 </a> 1835 </div> 1836 1837 </div> 1838 1839 </div> 1840 1841 1842 </div> 1843 </div> 1844 1845 </div> 1846 </div> 1847 </div> 1848 1849 <div class="site-overlay" style="display: none"></div> 1850 </div> 1851
1851<script> 1852 1853 var swiper = new Swiper('.popup-recommend', { 1854 slidesPerView : 4, 1855 spaceBetween: 30, 1856 lazy: true , 1857 speed: 300, 1858 breakpoints: { 1859 // when window width is <= 576px 1860 576: { 1861 slidesPerView: 2, 1862 spaceBetween: 10, 1863 freeMode: true, 1864 resistance : true, 1865 resistanceRatio : 0, 1866 freeModeMomentumRatio : 0.45, 1867 freeModeMomentumVelocityRatio : 1.5 1868 }, 1869 768: { 1870 slidesPerView: 2, 1871 spaceBetween: 10 1872 }, 1873 992: { 1874 slidesPerView: 3, 1875 spaceBetween: 20 1876 } 1877 } 1878 }); 1879 1880 const searchContainer = $("#search-popup") 1881 const searchInput = $(".search-popup") 1882 const result_collection = $('.result_collection') 1883 const result_product = $('.result_product') 1884 const resultsearch = $('.resultsearch') 1885 const resultrecommend = $(".group-recommend") 1886 const moreresult = $(".moreresult") 1887 1888 searchInput.keyup(function(){ 1889 const input = $(this).val() 1890 moreresult.find("p span").text(` â${input}â`) 1891 if(input.length > 2) { 1892 $(".close-search").show() 1893 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1894 $.ajax({ 1895 type: 'GET', 1896 url, 1897 beforeSend: function() { 1898 // setting a timeout 1899 // $(placeholder).addClass('loading'); 1900 }, 1901 success: function(response) { 1902 resultsearch.show() 1903 resultrecommend.hide() 1904 result_collection.html("") 1905 result_product.html("") 1906 const collections = response.resources.results.collections 1907 const products = response.resources.results.products 1908 let collection_length = collections.length 1909 let product_length = products.length 1910 // if(collections.length > 5) { 1911 // collection_length = 5 1912 // } 1913 // if(products.length > 5) { 1914 // product_length = 5 1915 // } 1916 for(let i=0;i<collection_length;i++){ 1917 const title = collections[i].title 1918 const url = collections[i].url 1919 let html_collection 1920 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1921 html_collection = ` 1922 <li class="item" data-title="${title}"> 1923 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1924 </li> 1925 ` 1926 } 1927 result_collection.append(html_collection) 1928 } 1929 for(let i=0;i<product_length;i++){ 1930 const title = products[i].title 1931 const url = products[i].url 1932 const image = products[i].featured_image.url 1933 const vendor = products[i].vendor 1934 let html_product 1935 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1936 html_product = ` 1937 <li class="item" data-vendor="${vendor}"> 1938 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1939 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1940 </a> 1941 </li> 1942 ` 1943 } 1944 result_product.append(html_product) 1945 } 1946 }, 1947 error: function(xhr) { // if error occured 1948 alert("Error occured.please try again"); 1949 }, 1950 complete: function(response) { 1951 // $(placeholder).removeClass('loading'); 1952 }, 1953 dataType: 'JSON' 1954 }); 1955 } else { 1956 result_collection.html("") 1957 result_product.html("") 1958 1959 resultsearch.hide() 1960 resultrecommend.show() 1961 } 1962 }) 1963 1964 moreresult.click(function(){ 1965 $("#search-btn").trigger("click"); 1966 }) 1967 1968 $(".close-search").click(function(){ 1969 $(this).hide() 1970 searchInput.val("") 1971 searchInput.focus() 1972 resultsearch.hide() 1973 resultrecommend.show() 1974 }) 1975 1976 function setCookie(name,value,days) { 1977 var expires = ""; 1978 if (days) { 1979 var date = new Date(); 1980 date.setTime(date.getTime() + (days*24*60*60*1000)); 1981 expires = "; expires=" + date.toUTCString(); 1982 } 1983 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1984 } 1985 function getCookie(name) { 1986 var nameEQ = name + "="; 1987 var ca = document.cookie.split(';');
1988 for(var i=0;i < ca.length;i++) { 1989 var c = ca[i]; 1990 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1991 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1992 } 1993 return null; 1994 } 1995 let last_search_name = [] 1996 let last_search_url = [] 1997 $(".group-recent").hide() 1998 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1999 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 2000 $(".group-recent").show() 2001 last_search_name = getCookie("last_search_name"); 2002 last_search_url = getCookie("last_search_url"); 2003 const arrName = last_search_name.substring(1).split(',').reverse() 2004 const arrUrl = last_search_url.substring(1).split(',').reverse() 2005 console.log(arrName, 'Array Name') 2006 console.log(arrUrl, 'Array Url') 2007 let length = arrName.length 2008 if(arrName.length > 5) { 2009 length = 5 2010 } 2011 for(let n=0;n<length;n++){ 2012 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 2013 $(".group-recent ul").append(html2) 2014 } 2015 } 2016 } 2017 console.log(last_search_name, 'Name') 2018 console.log(last_search_url, 'url') 2019 2020 resultsearch.delegate(".item a", "click", function(){ 2021 let name = [last_search_name] 2022 let url = [last_search_url] 2023 name.push($(this).attr('data-title')) 2024 url.push($(this).attr('data-url')) 2025 setCookie("last_search_name",name,7); 2026 setCookie("last_search_url",url,7); 2027 }) 2028 2029 $(".delete-all-history").click(function() { 2030 setCookie("last_search_name",null,0); 2031 setCookie("last_search_url",null,0); 2032 $(".last-search").hide(); 2033 setTimeout(function(){ 2034 location.reload(); 2035 }, 500); 2036 }) 2037 2038 $("#search-trigger").click(function(){ 2039 search_open() 2040 }) 2041 $(".icon-search-mobile").click(function(){ 2042 search_open() 2043 }) 2044 $(".search-header svg").click(function(){ 2045 search_close() 2046 }) 2047 $(".icon-key-mobile").click(function(){ 2048 search_close() 2049 }) 2050 2051 function search_open() { 2052 $("body").addClass("search-popup-open") 2053 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 2054 $("#search-popup, .search-header svg, .icon-key-mobile").show() 2055 $(".search-popup").focus() 2056 $('.popup-recommend')[0].swiper.update(); 2057 } 2058 function search_close() { 2059 $("body").removeClass("search-popup-open") 2060 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 2061 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 2062 searchInput.val("") 2063 resultsearch.hide() 2064 resultrecommend.show() 2065 } 2066 2067 $(".site-overlay").click(function(){ 2068 search_close() 2069 }) 2070 </script>
2070 2071 2072 </div> 2073 </div> 2074 2075 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 2076 <main class="main-content pt-0" role="main"> 2077 2078 <div id="breadcrumbProduct" class="d-none d-lg-block"> 2079 <style> 2080 #breadcrumbProduct { 2081 padding: 20px 0; 2082 } 2083 #breadcrumbProduct ul { 2084 display: flex; 2085 padding: 0; 2086 list-style: none; 2087 margin: 0; 2088 gap: 12px; 2089 } 2090 #breadcrumbProduct ul li { 2091 text-transform: uppercase; 2092 margin: 0; 2093 font-size: 12px; 2094 } 2095 #breadcrumbProduct ul li a { 2096 color: #757575; 2097 } 2098 2099 #breadcrumbProduct ul li svg { 2100 width: 10px; 2101 height: 10px; 2102 padding: 0; 2103 color: #757575; 2104 vertical-align: middle; 2105 } 2106 </style> 2107 <div class="container" style="color: #ffffff;"> 2108 <ul role="navigation" aria-label="breadcrumbs"> 2109 <li><a href="https://www.platformakademi.com/" style="color: #ffffff;">WARGATOTO</a></li> 2110 <li><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2111 <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"/> 2112 </svg></li> 2113 <li>TOTO 4D</li> 2114 <li>SITUS TOGEL</li> 2115 <li>TOGEL</li> 2116 <li>WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026</li> 2117 2118 </ul> 2119 </div> 2120 2121 </div>
2122<script type="application/ld+json"> 2123{ 2124 "@context": "https://schema.org", 2125 "@type": "Product", 2126 "name": "WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026", 2127 "image": "https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png", 2128 "description": "Wargatoto adalah platform terpercaya untuk mewujudkan impian dan kesejahteraan melalui akses situs toto slot resmi yang aman, stabil, dan transparan.", 2129 "brand": { 2130 "@type": "Brand", 2131 "name": "Wargatoto" 2132 }, 2133 "url": "https://www.platformakademi.com/", 2134 "aggregateRating": { 2135 "@type": "AggregateRating", 2136 "ratingValue": "5.0", 2137 "reviewCount": 858 2138 } 2139} 2140</script>
2140 2141
2142<script type="application/ld+json"> 2143{ 2144 "@context": "https://schema.org", 2145 "@type": "BreadcrumbList", 2146 "itemListElement": [ 2147 { 2148 "@type": "ListItem", 2149 "position": 1, 2150 "name": "Home", 2151 "item": "https://www.platformakademi.com/" 2152 }, 2153 { 2154 "@type": "ListItem", 2155 "position": 2, 2156 "name": "Wargatoto", 2157 "item": "https://www.platformakademi.com/" 2158 }, 2159 { 2160 "@type": "ListItem", 2161 "position": 3, 2162 "name": "Wujudkan Impian Bersama Kesejahteraan Kehidupan Melalui Situs Toto slot Resmi", 2163 "item": "https://www.platformakademi.com/" 2164 } 2165 ] 2166} 2167</script>
2167 2168 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://asset-jko.b-cdn.net/footer-warna.css" rel="stylesheet" type="text/css" media="all" /> 2169 2170 2171 <style> 2172 .bg-card { 2173 background-color: #000000; 2174 } 2175 </style> 2176 2177 <!-- /templates/product.liquid --> 2178 2179 2180 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2181 2182 2183 <div class="product-standing-flower" data-product-type="flowerBoard"> 2184 <meta itemprop="url" content="https://www.platformakademi.com/"> 2185 <meta itemprop="image" content="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 2186 2187 2188 2189 <input id="data-sku" type="hidden" value="GOJSTRU2598"> 2190 <div class="product-single" style="background-image: url(https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png); background-attachment: fixed;"> 2191 <div id="product-top" class="container"> 2192 <div class="row bg-card product-sticky" style="background-color: rgba(0, 0, 0, 0.1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;"> 2193 <div id="product-image" class="col-lg-7 text-center"> 2194 <div class="product-image"> 2195 <div class="row no-gutters"> 2196 2197 <div id="product-featured-image" class="row w-100"> 2198 2199 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2200 2201 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2202 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2203 2204 <li class="swiper-slide" data-type="image"> 2205 <a 2206 href="files/Blossom-Shine-WM.jpg" 2207 data-standard="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2208 data-image="files/Blossom-Shine-WM.jpg" 2209 data-position="1" 2210 class="product-single__thumbnail" 2211 > 2212 <img 2213 class="lazyload w-100" 2214 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2215 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2216 width="" 2217 height="" 2218 > 2219 </a> 2220 </li> 2221 2222 2223 2224 2225 <li class="swiper-slide" data-type="image"> 2226 <a 2227 href="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2228 data-standard="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2229 data-image="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2230 data-position="2" 2231 class="product-single__thumbnail" 2232 > 2233 <img 2234 class="lazyload w-100" 2235 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2236 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2237 width="" 2238 height="" 2239 > 2240 </a> 2241 </li> 2242 2243 2244 2245 2246 <li class="swiper-slide" data-type="image"> 2247 <a 2248 href="files/Blossom-Shine_3-WM.jpg" 2249 data-standard="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2250 data-image="files/Blossom-Shine_3-WM.jpg" 2251 data-position="3" 2252 class="product-single__thumbnail" 2253 > 2254 <img 2255 class="lazyload w-100" 2256 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2257 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2258 width="" 2259 height="" 2260 > 2261 </a> 2262 </li> 2263 2264 2265 2266 2267 <li class="swiper-slide" data-type="image"> 2268 <a 2269 href="files/Blossom-Shine_4.jpg" 2270 data-standard="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2271 data-image="files/Blossom-Shine_4.jpg" 2272 data-position="4" 2273 class="product-single__thumbnail" 2274 > 2275 <img 2276 class="lazyload w-100" 2277 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2278 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2279 width="" 2280 height="" 2281 > 2282 </a> 2283 </li> 2284 2285 2286 2287 </ul> 2288 </div> 2289 2290 </div> 2291 2292 <div 2293 id="featured-image-product" 2294 class="col-lg-10 col-12 d-none d-lg-block" 2295 > 2296 <div class="swiper-container gallery-top"> 2297 <div class="swiper-slide product-single__image"> 2298 2299 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2300 2301 2302 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2303 <a href="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png"> 2304 <img 2305 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2306 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2307 id="ProductPhotoImg" 2308 class="lazyload" 2309 > 2310 2311 </a> 2312 </div> 2313 </div> 2314 2315 </div> 2316 <div class="swiper-slide product-single__video" style="display: none"> 2317 <video 2318 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2319 playsinline 2320 loop 2321 muted 2322 ></video> 2323 </div> 2324 </div>
2325 </div> 2326 </div> 2327 2328 <div id="featured-image-product2" class="col-12 d-lg-none"> 2329 <div class="swiper-container gallery-mobile"> 2330 <ul class="swiper-wrapper"> 2331 <li class="swiper-slide img"> 2332 2333 <img 2334 class="swiper-lazy" 2335 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2336 data-src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2337 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2338 width="" 2339 height="" 2340 > 2341 2342 </li> 2343 2344 2345 <li class="swiper-slide img"> 2346 2347 <img 2348 class="swiper-lazy" 2349 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2350 data-src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2351 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2352 width="" 2353 height="" 2354 > 2355 2356 </li> 2357 2358 2359 <li class="swiper-slide img"> 2360 2361 <img 2362 class="swiper-lazy" 2363 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2364 data-src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2365 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2366 width="" 2367 height="" 2368 > 2369 2370 </li> 2371 2372 2373 <li class="swiper-slide img"> 2374 2375 <img 2376 class="swiper-lazy" 2377 src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2378 data-src="https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png" 2379 alt="WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026" 2380 width="" 2381 height="" 2382 > 2383 2384 </li> 2385 2386 2387 </ul> 2388 2389 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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> 2390 <div class="swiper-button-next"><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2391 <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"/> 2392 </svg></div> 2393 2394 <!-- Add Pagination --> 2395 <div class="swiper-pagination"></div> 2396 2397 </div> 2398 </div> 2399 2400 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2401 <!-- product video --> 2402 <style> 2403 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2404 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2405 .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;} 2406 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2407 .close-video .icon{width:30px;height:30px;} 2408 /*responsive iframe */ 2409 .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);} 2410 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2411 2412 .youtube { 2413 background-color: #000; 2414 margin-bottom: 30px; 2415 position: relative; 2416 padding-top: 56.25%; 2417 overflow: hidden; 2418 cursor: pointer; 2419 width: 100%; 2420 } 2421 .swiper-slide .youtube { 2422 max-width: 480px; 2423 } 2424 .youtube img { 2425 width: 100%; 2426 top: -16.82%; 2427 left: 0; 2428 opacity: 0.7; 2429 } 2430 .youtube .play-button { 2431 width: 90px; 2432 height: 60px; 2433 background-color: #333; 2434 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2435 z-index: 1; 2436 opacity: 0.8; 2437 border-radius: 6px; 2438 } 2439 .youtube .play-button:before { 2440 content: ""; 2441 border-style: solid; 2442 border-width: 15px 0 15px 26.0px; 2443 border-color: transparent transparent transparent #fff; 2444 } 2445 .youtube img, 2446 .youtube .play-button { 2447 cursor: pointer; 2448 } 2449 .youtube img, 2450 .youtube iframe, 2451 .youtube .play-button, 2452 .youtube .play-button:before { 2453 position: absolute; 2454 } 2455 .youtube .play-button, 2456 .youtube .play-button:before { 2457 top: 50%; 2458 left: 50%; 2459 transform: translate3d( -50%, -50%, 0 ); 2460 } 2461 .youtube iframe { 2462 height: 100%; 2463 width: 100%; 2464 top: 0; 2465 left: 0; 2466 } 2467 </style> 2468 2469 2470 </div> 2471 </div> 2472 2473 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2474 2475 </div> 2476 2477
2477<script> 2478 if ($(window).width() < 991) { 2479 var direction = 'horizontal' 2480 } else { 2481 var direction = 'vertical' 2482 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2483 } 2484 var swiper = new Swiper('.gallery-thumbs', { 2485 2486 direction, 2487 slidesPerView: 4.5, 2488 spaceBetween: 12, 2489 navigation: { 2490 nextEl: '.swiper-button-next', 2491 prevEl: '.swiper-button-prev', 2492 } 2493 }); 2494 2495 var swiper = new Swiper('.gallery-mobile', { 2496 //loop: true, 2497 lazy: true, 2498 speed: 300, 2499 resistance : true, 2500 resistanceRatio : 0, 2501 freeModeMomentumRatio : 0.45, 2502 freeModeMomentumVelocityRatio : 1.5, 2503 navigation: { 2504 nextEl: '.swiper-button-next', 2505 prevEl: '.swiper-button-prev', 2506 }, 2507 pagination: { 2508 el: '.swiper-pagination' 2509 }, 2510 useCSS3Transforms: false, 2511 loop: false, 2512 on: { 2513 init: function () { 2514 console.log('swiper initialized'); 2515 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2516 currentVideo.trigger('play'); 2517 }, 2518 }, 2519 }); 2520 2521 /* GET ALL VIDEOS */ 2522 var sliderVideos = $(".swiper-slide video"); 2523 2524 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2525 swiper.on('slideChange', function () { 2526 console.log('slide changed'); 2527 /* stop all videos */ 2528 sliderVideos.each(function( index ) { 2529 this.currentTime = 0; 2530 }); 2531 2532 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2533 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2534 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2535 prevVideo.trigger('stop'); 2536 currentVideo.trigger('play'); 2537 }); 2538 2539 2540 $("[data-video]").click(function(){ 2541 const file = $(this).data("video") 2542 $(".product-single__video").show() 2543 $(".product-single__image").hide() 2544 $(".product-single__video").find("video").attr("src", file) 2545 $(".product-single__video").find("video")[0].play(); 2546 }) 2547 $("[data-image]").click(function(){ 2548 $(".product-single__video").hide() 2549 $(".product-single__image").show() 2550 $(".product-single__video").find("video")[0].pause(); 2551 }) 2552 2553 $("#product-image .swiper-slide").each(function(){ 2554 let width = $(this).width() 2555 $(this).height(width) 2556 }) 2557 2558 $(window).resize(function() { 2559 $("#product-image .swiper-slide").each(function(){ 2560 let width = $(this).width() 2561 $(this).height(width) 2562 }) 2563 }) 2564 </script>
2564 2565 2566 </div> 2567 2568 2569 2570 2571 2572 2573 2574 2575 <style> 2576 .c-pdp-product-info__service--active { 2577 font-size: 12px; 2578 padding-left: 10px; 2579 text-align: left; 2580 max-width: 550px; 2581 margin: auto; 2582 } 2583 .c-pdp-product-info__service--active li { 2584 list-style: disc; 2585 } 2586 .c-pdp-product-info { 2587 background-color: #f5f5f5; 2588 padding: 12px; 2589 margin: 0; 2590 } 2591 .freeship em { 2592 font-style: italic; 2593 font-size: 12px !important; 2594 } 2595 2596 2597 </style> 2598 2599
2599<script> 2600 $(document).ready(function(){ 2601 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2602 $(".c-pdp-product-info__service").addClass("no-bullet"); 2603 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2604 } 2605 }); 2606 </script>
2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 </div> 2620 <div id="product-meta" class="col-lg-5 p-0"> 2621 <div class="product-meta"> 2622 <style> 2623 .product-meta--review {margin-top:10px} 2624 .freeship * {font-size: 14px !important;font-style: normal;} 2625 </style> 2626 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026</h1> 2627 2628 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2629 <meta itemprop="priceCurrency" content="IDR"> 2630 2631 <link itemprop="availability" href="https://schema.org/InStock"> 2632
2632<script 2633 type="text/javascript" 2634 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2635 async="async" 2636 ></script>
2636 2637 2638 2639 2640 2641 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2642 2643 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2644 2645 <div class="row no-gutters mb-3"> 2646 <span 2647 id="ProductPrice" 2648 class="h2 ProductPrice" 2649 itemprop="price" 2650 content="835000" style="color: #ffffff;" 2651 > 2652 Rp 10.000 2653 </span> 2654 <div class="discount-product-detail"> 2655 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2656 Rp 100.000 2657 </p> 2658 <span class=" tag-discount"> 2659 2660 2661 <span id="newDiscount" class="product-tag persentase-discount hide"> 2662 (90%) 2663 </span><br> 2664 2665 </span> 2666 </div> 2667 </div> 2668 2669 <div class="row no-gutters meta-sds"> 2670 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2671 2672 2673 <span 2674 id="ProductStock-Product" 2675 class="product-single__stock mb-2 hide" 2676 > 2677 2678 2679 2680 2681 Barang dikirim pada 2682 2683 2684 2685 </span> 2686 2687 <style> 2688 .short-desc-desktop { 2689 margin-bottom: 2rem; 2690 color: white; 2691 } 2692 .short-desc ul li:nth-child(n + 4) { 2693 display: none; 2694 } 2695 .short-desc ul li.showList:nth-child(n + 4) { 2696 display: list-item; 2697 } 2698 label.more { 2699 display: none; 2700 } 2701 label.more.showMe { 2702 display: block; 2703 font-size: 12px; 2704 text-transform: uppercase; 2705 font-weight: 700; 2706 cursor: pointer; 2707 } 2708 </style> 2709 2710 <div class="short-desc-desktop d-none d-lg-block"> 2711 <div class="short-desc"> 2712 2713 <p style="text-align: justify;">Bagi para pencinta hiburan daring di era digital modern, memahami aspek keamanan data dan validitas platform merupakan langkah paling krusial sebelum memutuskan untuk menaruh modal. WARGATOTO hadir sebagai solusi komprehensif yang menjawab seluruh keresahan tersebut melalui penyediaan jaringan situs alternatif resmi yang terenkripsi penuh dengan protokol SSL 256-bit, sehingga menjamin akses Anda tetap stabil, aman, dan bebas dari risiko pemblokiran. Sebagai platform kelas Top Tier di tahun 2026, seluruh operasional kami telah mengantongi lisensi internasional resmi dari WLA (World Lottery Association) yang mengawasi keadilan sistem game WARGATOTO gacor serta akurasi data live draw pada pasaran togel Hongkong lotto, yang disempurnakan dengan kebijakan komitmen jaminan bayar 100% secara instan atas setiap kemenangan yang Anda</p> 2714 </div> 2715 <label class="more">Show More â</label>
2716 </div><br> 2717 2718 2719
2719<script> 2720 var liCount; 2721 $(document).ready(function () { 2722 $(".short-desc ul").each(function() { 2723 liCount = $(this).children("li").length; 2724 if (liCount > 3) { 2725 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2726 } 2727 }); 2728 2729 $(".more").click(function () { 2730 //$(".short-desc").find("li").addClass("showList"); 2731 // $(this).hide(); 2732 $("#product-desc").find("ul").show() 2733 $('html, body').animate({ 2734 scrollTop: $("#product-desc").offset().top - 250 2735 }, 2000); 2736 $("#product-desc").css("height","auto"); 2737 $("#more_content").remove(); 2738 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2739 }); 2740 }); 2741 </script>
2741 2742 2743 2744 </div> 2745 </div> 2746 2747 <div id="purchaseProduct"> 2748 2749 2750 2751 2752 <style> 2753 .variant-metafield { 2754 display: block!important; 2755 width: 1px; 2756 padding: 0; 2757 border-color: #fff; 2758 } 2759 .select2-results__option[aria-disabled] { 2760 display: none; 2761 } 2762 2763 .towel-bordir { 2764 width: 100%; 2765 display: flex; 2766 align-items: center; 2767 justify-content: space-around; 2768 } 2769 </style> 2770 2771 2772 2773 2774
2774<script> 2775 2776 2777 </script>
2777 2778 2779 2780 2781 2782 2783 2784 <select 2785 name="id[]" 2786 id="productSelect" 2787 class="product-single__variants ignore hide hide" 2788 > 2789 2790 2791 2792 <option 2793 2794 selected="selected" 2795 2796 data-sku="GOJSTRU2598" 2797 value="44083045826775" 2798 > 2799 Default Title 2800 </option> 2801 2802 2803 2804 </select> 2805 2806
2806<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
2806 2807 2808
2808<script> 2809 $('.size-chart-open-popup').magnificPopup({ 2810 type:'inline', 2811 midClick: true 2812 }); 2813 </script>
2813 2814 2815 2816 2817 2818 <div class="upload-image-preview"> 2819 2820 2821 2822 2823 2824 <style> 2825 .file-dnd * { 2826 margin: 0; 2827 padding: 0; 2828 box-sizing: border-box; 2829 } 2830 .file-dnd { 2831 width: 100%; 2832 height: 250px; 2833 border: 1px solid #ddd; 2834 border-radius: 10px; 2835 padding: 15px; 2836 display: flex; 2837 flex-direction: column; 2838 gap: 10px; 2839 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 2840 margin: auto; 2841 } 2842 .file-dnd input { 2843 display: none; 2844 } 2845 .file-dnd .before-upload { 2846 border: 1px dashed #888; 2847 flex: 1; 2848 border-radius: 5px; 2849 display: flex; 2850 justify-content: center; 2851 align-items: center; 2852 text-align: center; 2853 cursor: pointer; 2854 } 2855 .file-dnd .before-upload > div { 2856 display: flex; 2857 flex-direction: column; 2858 align-items: center; 2859 gap: 8px; 2860 } 2861 .file-dnd .before-upload > div h4 { 2862 width: 150px; 2863 } 2864 .file-dnd .before-upload > div p { 2865 font-size: 12px !important; 2866 color: #555; 2867 } 2868 .file-dnd.active .before-upload { 2869 border: 1px solid #5750d9; 2870 background-color: #f5f5ff; 2871 } 2872 .file-dnd .after-upload { 2873 position: relative; 2874 display: none; 2875 } 2876 .file-dnd .after-upload img { 2877 width: 100%; 2878 border-radius: 5px; 2879 max-height: 180px; 2880 object-fit: contain; 2881 display: block; 2882 } 2883 .file-dnd .after-upload .clear-btn { 2884 position: absolute; 2885 top: 10px; 2886 right: 10px; 2887 background: rgba(0, 0, 0, 0.5); 2888 width: 15px; 2889 height: 15px; 2890 text-align: center; 2891 line-height: 15px; 2892 border-radius: 50%; 2893 color: #fff; 2894 cursor: pointer; 2895 font-size: 14px; 2896 } 2897 </style> 2898 2899 <div 2900 class="file-dnd mb-3" 2901 2902 style="display: none" 2903 2904 > 2905 <label for="upload-photo">Upload your Photo:</label> 2906 <input type="file" id="upload-photo" accept="image/*"> 2907 <input type="hidden" data-properties="Photo"> 2908 <div class="before-upload"> 2909 <div> 2910 <svg id="surface1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 2911 <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> 2912 <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> 2913 <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> 2914 </svg> 2915 2916 <h4>Drag & Drop Photo file or Browse</h4> 2917 <p>Supports: JPEG, PNG, GIF, TIFF</p> 2918 </div> 2919 </div> 2920 <div class="after-upload"> 2921 <div class="clear-btn">×</div> 2922 <img src="" width="" height=""> 2923 </div> 2924 </div> 2925
2925<script> 2926 function applyDndFile(el) { 2927 const parent = document.querySelector(".file-dnd") 2928 const beforeUploadEl = el.querySelector(".before-upload") 2929 const afterUploadEl = el.querySelector(".after-upload") 2930 const inputFile = el.querySelector("input[type=file]") 2931 const imagePreview = el.querySelector(".after-upload img") 2932 const clearBtn = el.querySelector(".after-upload .clear-btn") 2933 const inputProps = parent.querySelector("[data-properties]"); 2934 2935 async function upload(name, uri, type) { 2936 try { 2937 const filename = name.split('.')[0] 2938 let formData = new FormData(); 2939 formData.append("file", uri); 2940 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 2941 method: "POST", 2942 body: formData 2943 }) 2944 if(response) { 2945 const res = await response.json() 2946 return res 2947 } 2948 } catch(err){ 2949 console.log(err) 2950 } 2951 } 2952 2953 function showImagePreview(img) { 2954 if(img){ 2955 const blobUrl = URL.createObjectURL(img) 2956 imagePreview.src = blobUrl 2957 afterUploadEl.style.display = "block" 2958 beforeUploadEl.style.display = "none" 2959 } 2960 } 2961 2962 beforeUploadEl.addEventListener("click", (e) => { 2963 e.preventDefault() 2964 inputFile.click() 2965 }) 2966 2967 inputFile.addEventListener("change", async (e) => { 2968 e.preventDefault() 2969 showImagePreview(e.target.files[0]) 2970 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 2971 inputProps.value = uploadData?.url 2972 }) 2973 2974 clearBtn.addEventListener("click", (e) => { 2975 afterUploadEl.style.display = "none" 2976 beforeUploadEl.style.display = "flex" 2977 inputProps.value = "" 2978 }) 2979 2980 beforeUploadEl.addEventListener("dragover", (e) => { 2981 e.preventDefault() 2982 el.classList.add("active") 2983 }) 2984 2985 beforeUploadEl.addEventListener("dragleave", (e) => { 2986 e.preventDefault() 2987 el.classList.remove("active") 2988 }) 2989 2990 beforeUploadEl.addEventListener("drop", async (e) => { 2991 e.preventDefault() 2992 el.classList.remove("active") 2993 showImagePreview(e.dataTransfer.files[0]) 2994 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 2995 console.log(uploadData) 2996 inputProps.value = uploadData?.url 2997 }) 2998 } 2999 3000 applyDndFile(document.querySelector(".file-dnd")) 3001 3002 $(document).ready(function(){ 3003 $(".variant-swatch").change(function(){ 3004 const v = $(this).val().toLowerCase() 3005 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3006 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3007 $(".file-dnd").hide() 3008 $(".file-dnd").find("[data-properties]").val("") 3009 $(".after-upload").hide() 3010 $(".before-upload").css("display", "flex") 3011 }) 3012 }) 3013 </script>
3013 3014 3015 </div> 3016 3017 <div class="delivery-city mb-4"> 3018 <a href="https://akademi.platformakademi.com/"> 3019 <center> 3020 <img src="https://imgme.pro/images/logo82fca95cbc13706b.png" alt="logo-daftar" style="width: 260px; margin-top: -20px; border-radius: 22px;"> 3021 </center> 3022 </a> 3023 <br> 3024 3025 <!-- Judul WARGATOTO --> 3026<h4 class="fw-600 text-uppercase mb-15" 3027 style="text-align: center; color: rgb(236, 236, 67);"> 3028 WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026 3029</h4> 3030 3031<div class="row justify-content-between m-0"> 3032 <select id="cities" class="form-control select-search" required> 3033 <option value=""> 3034 Pilih Materi Akademi WARGATOTO & Pelajari Toto Online dan Slot Gacor Melalui Kurikulum 2026 3035 </option> 3036 </select> 3037</div> 3038 3039 3040 3041 <style> 3042 @media (max-width: 768px) { 3043 .select2-search__field { 3044 pointer-events: none !important; 3045 } 3046 3047 .select2-search { 3048 display: none !important; 3049 } 3050 } 3051 </style> 3052 3053
3053<script> 3054 $(document).ready(function() { 3055 // Check if mobile 3056 if (window.innerWidth <= 768) { 3057 // When cities select2 opens on mobile, remove focus from search 3058 $('#cities').on('select2:open', function() { 3059 setTimeout(function() { 3060 $('.select2-search__field').blur(); 3061 $('.select2-search__field').prop('readonly', true); 3062 }, 100); 3063 }); 3064 } 3065 }); 3066 </script>
3066 3067 3068 <style> 3069 .icon-img-footer { 3070 width: 80px; 3071 padding: 0px 5px; 3072 } 3073 @media (min-width: 768px) { 3074 .icon-img-footer { 3075 width: 120px; 3076 } 3077 } 3078 @media (min-width: 992px) { 3079 .icon-img-footer { 3080 width: 120px; 3081 } 3082 } 3083 3084 3085 </style> 3086 <div id="row-delivery-date" class="row m-0 mb-3"> 3087 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="text-align: center; color: rgb(236, 236, 67);">Every day is kentung69 day</h4> 3088 <div id="deliveryDate" class="m-0"></div> 3089 <div id="deliveryDateFull"> 3090 <div class=""> 3091 <input 3092 type="text" 3093 id="full-date" 3094 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 3095 value="Full Calendar" 3096 > 3097 <label for="full-date"><svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="32" height="32" viewBox="0 0 32 32"> 3098 <title>icon-arrow-right</title> 3099 <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> 3100 </svg></label> 3101 </div> 3102 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 3103 </div> 3104 <div class="form-group p-0"> 3105 <input type="text" id="propDeliveryDate" required class="hide"> 3106 </div> 3107 </div> 3108 3109 3110 <div id="row-delivery-time" class="row m-0 mb-3"> 3111 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 3112 WARGATOTO 3113 </h4> 3114 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 3115 <div class="form-group p-0"> 3116 <input type="text" id="propDeliveryTime" class="hide" required> 3117 </div> 3118 </div> 3119 3120 3121 3122 3123 3124 <div id="personalizeBtn"> 3125 3126 3127 3128 3129 <button 3130 class="btn text-uppercase w-100 fw-400" 3131 3132 3133 3134 > 3135 3136 customize your flower board 3137 3138 </button> 3139 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 3140 <div class="button-share text-center"> 3141 <p id="shareButton" class="d-flex gap-2"><span>Share</span><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 3142 <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"/> 3143 </svg> 3144 </p> 3145 </div> 3146 <div class="button-wishlist text-center"> 3147 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 3148 <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"/> 3149 </svg> 3150 <!-- 3151 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 3152 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
315218.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"/> 3153 </svg> 3154 --> 3155 </p> 3156 </div> 3157 </div> 3158 </div> 3159 </div> 3160 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3161 <div class="purchaseArea"> 3162 <div class="sectionPurchase sectionPurchaseSpotify"> 3163 <div class="wrapperPurchase"> 3164 <div class="headerPurchase"> 3165 <h3>personalize spotify photo print</h3> 3166 <a class="close-purchase-popup"> 3167 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3168 <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> 3169 </svg> 3170 </a> 3171 </div> 3172 <div class="contentPurchase"> 3173 <div class="spotifyAddons"></div> 3174 </div> 3175 3176 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3177 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3178 <button class="back-purchase-button back-addon text-uppercase"> 3179 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 3180 <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> 3181 </svg> 3182 <span>Back</span> 3183 </button> 3184 </div> 3185 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3186 <button class="btn next-purchase-button next-addon text-uppercase"> 3187 <span>continue without add-ons</span> 3188 </button> 3189 </div> 3190 </div> 3191 </div> 3192 </div> 3193 </div> 3194 </div> 3195 3196 <style> 3197 #PBarNextFrameWrapper { 3198 display: none; 3199 } 3200 #backgroundPopup { 3201 display: none; 3202 position: fixed; 3203 _position: absolute; 3204 height: 100%; 3205 width: 100%; 3206 top: 0; 3207 left: 0; 3208 background: rgb(117 117 117 / 24%); 3209 z-index: 1; 3210 } 3211 .sectionPurchase { 3212 height: 100%; 3213 position: relative; 3214 max-width: 1344px; 3215 background-color: #fff; 3216 padding: 0; 3217 overflow: hidden; /* Changed from auto to hidden */ 3218 display: flex; 3219 flex-direction: column; 3220 } 3221 .sectionPurchase.purchaseAddonSpotify { 3222 max-width: 1070px!important; 3223 max-height: 765px!important; 3224 } 3225 .sectionPurchaseBoard { 3226 max-width: 872px!important; 3227 max-height: 821px!important; 3228 } 3229 .purchaseAddonSpotify .btn-action { 3230 position: absolute; 3231 bottom: 0; 3232 left: 0; 3233 width: 100%; 3234 display: flex; 3235 gap: 10px; 3236 } 3237 .wrapperPurchase { 3238 position: relative; 3239 height: 100%; 3240 display: flex; 3241 flex-direction: column; 3242 } 3243 3244 /* New styles for scrollable content and sticky button */ 3245 .purchase-content { 3246 flex: 1; 3247 overflow-y: auto; 3248 overflow-x: hidden; 3249 padding: 20px; 3250 } 3251 3252 .purchase-button-wrapper { 3253 position: sticky; 3254 bottom: 0; 3255 background-color: #fff; 3256 border-top: 1px solid #e0e0e0; 3257 padding: 15px 0; 3258 margin-top: auto; 3259 z-index: 10; 3260 } 3261 3262 .purchasePopup { 3263 display: none; 3264 position: fixed; 3265 background: rgb(117 117 117 / 24%); 3266 z-index: 999; 3267 padding: 40px; 3268 font-size: 13px; 3269 top: 0; 3270 left: 0; 3271 width: 100%; 3272 height: 100%; 3273 } 3274 .popupPurchaseClose{ 3275 font-size:14px; 3276 line-height:14px; 3277 right:45px; 3278 top:45px; 3279 position:absolute; 3280 color:#6fa5fd; 3281 font-weight:700; 3282 display:block; 3283 cursor: pointer; 3284 } 3285 3286 .headerPurchase { 3287 margin-bottom: 30px; 3288 display: flex; 3289 justify-content: space-between; 3290 } 3291 3292 .headerPurchase h3 { 3293 font-size: 16px; 3294 text-transform: uppercase; 3295 } 3296 3297 .sectionPurchaseBoard .headerPurchase { 3298 margin-bottom: 15px; 3299 } 3300 3301 .sectionPurchaseBoard .formAddressPurchase { 3302 padding-top: 0; 3303 } 3304 3305 .purchaseArea { 3306 position: relative; 3307 height: 100%; 3308 } 3309 3310 .purchaseArea h4 { 3311 width: 100%; 3312 font-size: 12px; 3313 font-weight: 600; 3314 margin-bottom: 10px; 3315 text-transform: uppercase; 3316 } 3317 3318 .menuPurchase { 3319 margin-bottom: 30px; 3320 } 3321 3322 .menuPurchase ul { 3323 list-style-type: none; 3324 margin: 0; 3325 } 3326 3327 .menuPurchase ul li { 3328 display: inline-block; 3329 border: 1px solid #ffffff; 3330 padding: 5px 20px; 3331 margin-right: 5px; 3332 margin-bottom: 10px; 3333 font-size: 12px; 3334 font-weight: 400; 3335 } 3336 3337 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3338 background-color: #ffffff; 3339 color: #ffffff; 3340 } 3341 3342 .contentPurchase h5 { 3343 font-size: 12px; 3344 margin-bottom: 10px; 3345 font-weight: 400; 3346 overflow: hidden; 3347 } 3348 3349 /* Card */ 3350 3351 #itemCards { 3352 max-height: 430px; 3353 overflow: auto; 3354 } 3355 3356 .item-cards { 3357 width: 100%; 3358 } 3359 .item-card.selected { 3360 border: 1px solid #ffffff; 3361 } 3362 .item-card:hover { 3363 border: 1px solid #C4C4C4; 3364 } 3365 .item-cards .item-card { 3366 position: relative; 3367 width: calc(33% - 10px); 3368 max-width: calc(33% - 10px); 3369 flex: 0 0 calc(33% - 10px); 3370 margin-bottom: 20px; 3371 } 3372 .item-cards .item-card label, 3373 .item-addons .item-addon label { 3374 position: absolute; 3375 left: 0; 3376 width: 100%; 3377 height: 100%; 3378 } 3379 .item-cards .item-card .card-image img, 3380 .item-addons .item-addon .card-image img { 3381 display: block; 3382 width: 100%; 3383 } 3384 .item-card .card-meta, 3385 .item-addon .card-meta { 3386 padding: 10px 5px 5px; 3387 } 3388 .item-card.selected .card-meta, 3389 .item-addon.selected .card-meta, 3390 .item-card.selected .card-qty { 3391 background-color: #ffffff; 3392 color: #fff; 3393 visibility: visible!important; 3394 } 3395 .item-card:hover .card-meta, 3396 .item-addon:hover .card-meta, 3397 .item-card:hover .card-qty { 3398 background-color: #C4C4C4; 3399 color: #fff; 3400 visibility: visible!important; 3401 } 3402 .item-cards .item-card p, 3403 .item-addons .item-addon p { 3404 font-size: 12px !important; 3405 margin: 0; 3406 font-weight: 600; 3407 } 3408 .item-card .card-meta input, 3409 .item-addon .card-meta input { 3410 display: none; 3411 } 3412 .item-cards .item-card h5, 3413 .item-addons .item-addon h5 { 3414 text-transform: uppercase; 3415 max-height: 35px; 3416 } 3417 3418 @media (max-width: 768px) { 3419 .item-cards .item-card {
3420 width: calc(50% - 10px); 3421 max-width: calc(50% - 10px); 3422 flex: 0 0 calc(50% - 10px); 3423 margin-bottom: 0; 3424 } 3425 } 3426 3427 .card-qty { 3428 display: flex; 3429 padding: 5px; 3430 visibility: hidden; 3431 background-color: #fff !important; 3432 z-index: 999; 3433 } 3434 .card-qty a { 3435 border-width: 1px; 3436 width: 30%; 3437 cursor: pointer; 3438 text-align: center; 3439 align-self: center; 3440 height: 28px; 3441 display: block; 3442 position: relative; 3443 } 3444 .card-qty a svg { 3445 position: absolute; 3446 top: 50%; 3447 left: 50%; 3448 transform: translate(-50%, -50%); 3449 text-align: center; 3450 } 3451 input.btn-qty { 3452 border-width: 0px; 3453 border-radius: 0; 3454 background-color: #fff; 3455 -webkit-appearance: none; 3456 box-shadow: none !important; 3457 -webkit-box-shadow: none !important; 3458 -moz-box-shadow: none!important; 3459 width: 40%; 3460 border-left: 1px solid #c4c4c4; 3461 border-right: 1px solid #c4c4c4; 3462 padding: 0; 3463 } 3464 3465 .sectionPurchaseBoard #itemAddons .item-card { 3466 width: calc(20% - 15px); 3467 max-width: calc(20% - 15px); 3468 flex: 0 0 calc(20% - 15px); 3469 } 3470 3471 .purchase-button { 3472 width: 100%; 3473 padding: 0; /* Reset padding as it's now handled by wrapper */ 3474 margin: 0; 3475 } 3476 3477 .sectionPurchaseBoard .purchase-button { 3478 margin-top: 0 !important; /* Reset margin */ 3479 } 3480 3481 .back-purchase-button, .back-spotify { 3482 width: 139px; 3483 border: 1px solid; 3484 height: 43px; 3485 } 3486 .purchase-button .btn { 3487 width: 297px; 3488 height: 43px; 3489 background-color: #ffffff; 3490 color: #ffffff; 3491 } 3492 .purchase-button .btn[disabled] { 3493 background-color: #EEEEEE; 3494 } 3495 .back-purchase-button svg, .back-spotify svg { 3496 align-self: center; 3497 vertical-align: middle; 3498 margin-right: 10px; 3499 } 3500 3501 #purchaseProduct .row .error { 3502 font-size: 12px !important; 3503 color: orange; 3504 margin-top: 5px; 3505 } 3506 3507 .reviewCardPurchase { 3508 max-width: 448px; 3509 float: right; 3510 } 3511 3512 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3513 .addon-item * {align-self: center;font-size: 12px;} 3514 .addon-itm-title {width: 360px;} 3515 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3516 3517 .propsAddonSpotify p { 3518 margin: 0; 3519 display: flex; 3520 font-size: 12px !important; 3521 margin-bottom: 5px; 3522 } 3523 .propsAddonSpotify p span:first-child { 3524 text-transform: uppercase; 3525 font-weight: 600; 3526 -ms-flex: 0 0 150px; 3527 flex: 0 0 150px; 3528 max-width: 150px; 3529 } 3530 3531 .addonsPurchase .addons { 3532 max-height: 250px; 3533 overflow: auto; 3534 } 3535 3536 .btn .loading:after { 3537 content: ""; 3538 display: inline-block; 3539 width: 20px; 3540 height: 20px; 3541 padding: 3px; 3542 aspect-ratio: 1; 3543 border-radius: 50%; 3544 background: #FFFFFF; 3545 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3546 -webkit-mask: var(--_m); 3547 mask: var(--_m); 3548 -webkit-mask-composite: source-out; 3549 mask-composite: subtract; 3550 animation: l3 1s infinite linear; 3551 margin: auto; 3552 vertical-align: middle; 3553 margin-left: 10px; 3554 } 3555 3556 #qrcode img, #qrcode canvas { 3557 width: 50px; 3558 position: absolute; 3559 top: 12px; 3560 left: 16px; 3561 } 3562 3563 .t-preview { 3564 position: absolute; 3565 top: 17px; 3566 left: 75px; 3567 } 3568 .t-preview p { 3569 margin: 0; 3570 font-size: 12px !important; 3571 } 3572 .t-preview .h3 { 3573 font-size: 16px !important; 3574 margin-bottom: 5px; 3575 font-weight: 600; 3576 } 3577 .scanCard { 3578 width: 100%; 3579 border: 1px solid; 3580 height: 76px; 3581 background-color: #fff; 3582 } 3583 .scanCard > div > img { 3584 position: absolute; 3585 right: 0; 3586 width: 55px; 3587 } 3588 3589 @keyframes l3 { 3590 100% { 3591 transform: rotate(1turn); 3592 } 3593 } 3594 3595 @media (min-width: 991px) { 3596 .sectionPurchase { 3597 height: 100%; 3598 position: relative; 3599 max-width: 1344px; 3600 background-color: #fff; 3601 top: 50%; 3602 left: 50%; 3603 transform: translate(-50%, -50%); 3604 } 3605 .headerPurchase h3 { 3606 font-size: 20px; 3607 } 3608 .purchaseArea h4 { 3609 font-size: 16px; 3610 } 3611 3612 .menuPurchase ul li { 3613 font-size: 16px; 3614 } 3615 3616 .contentPurchase { 3617 margin-bottom: 30px; 3618 } 3619 .contentPurchase h5 { 3620 font-size: 16px; 3621 } 3622 3623 .item-cards .item-card p, 3624 .item-addons .item-addon p { 3625 font-size: 16px !important; 3626 } 3627 3628 .cards { 3629 float: right; 3630 width: 400px; 3631 } 3632 3633 .item-cards .item-card { 3634 width: calc(25% - 30px); 3635 max-width: calc(25% - 30px); 3636 flex: 0 0 calc(25% - 30px); 3637 } 3638 3639 #itemAddons .item-card { 3640 position: relative; 3641 width: calc(16% - 40px); 3642 max-width: calc(16% - 40px); 3643 flex: 0 0 calc(16% - 40px); 3644 } 3645 3646 .purchase-button-wrapper { 3647 padding: 10px 20px; 3648 } 3649 } 3650 3651 @media (max-width: 1200px) { 3652 .item-cards .item-card { 3653 width: calc(33% - 30px); 3654 max-width: calc(33% - 30px); 3655 flex: 0 0 calc(33% - 30px); 3656 } 3657 } 3658 3659 @media (max-width: 992px) { 3660 .purchasePopup { 3661 padding: 0; 3662 } 3663 .item-cards .item-card h5, 3664 .item-addons .item-addon h5 { 3665 max-height: 30px; 3666 } 3667 3668 .back-purchase-button, .back-spotify, .next-purchase-button { 3669 width: 100%; 3670 } 3671 .addon-itm-title { 3672 width: 300px; 3673 } 3674 .addon-itm-line-price { 3675 margin-right: 10px; 3676 } 3677 .t-preview { 3678 top: 10px; 3679 } 3680 3681 .card-qty a { 3682 height: 15px; 3683 } 3684 3685 .purchase-button-wrapper { 3686 padding: 15px; 3687 } 3688 } 3689 3690 @media (max-width: 576px) { 3691 .purchase-button .btn { 3692 width: 100%!important; 3693 } 3694 .purchase-button > .col-12 { 3695 padding-left: 0; 3696 padding-right: 0; 3697 } 3698 } 3699 </style> 3700 3701 3702 <div class="purchasePopup"> 3703 <div class="purchaseArea"> 3704 3705 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3706 <div class="wrapperPurchase"> 3707 <div class="purchase-content"> 3708 <div class="headerPurchase"> 3709 <h3 class="text-uppercase"> 3710 3711 customize your flower board 3712 3713 </h3> 3714 <a class="close-purchase-popup"> 3715 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3716 <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"/> 3717 </svg> 3718 </a> 3719 3720 </div> 3721 <div class="contentPurchase"> 3722 <div class="row"> 3723 3724 <div class="col-12"> 3725 3726 3727 <style> 3728 3729 3730 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3731 .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;} 3732 3733 .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;} 3734 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3735 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3736 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3737 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3738 .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;} 3739 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3740 #suggest-messages a {border: 1px solid #979797;background: #fff;color: #979797;border-radius: 3px;padding: 5px 10px;font-size: 10px;font-weight: 600;display: inline-block;} 3741 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3742 .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;} 3743 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3744 3745 @media (min-width: 991px) { 3746 .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);} 3747 .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);} 3748 } 3749 </style> 3750 3751 <input type="hidden" data-properties="penerima" value="-"> 3752 <div class="customize-papan"> 3753 <div class="container"> 3754 <div class="field-papan group-field-1 form-group"> 3755 <div class="input-field">
3756 <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. 3757 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3758 <p class="limit">0/100</p> 3759 <div id="suggest-messages"> 3760 <a id="show_note_papan1" href="#"> 3761 <div class="suggest-message" id="note_btn_div1"> 3762 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3763 </div> 3764 </a> 3765 <a id="show_note_papan2" href="#"> 3766 <div class="suggest-message" id="note_btn_div2"> 3767 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 3768 </div> 3769 </a> 3770 <a id="show_note_papan3" href="#"> 3771 <div class="suggest-message" id="note_btn_div3"> 3772 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 3773 </div> 3774 </a> 3775 </div> 3776 </div> 3777 </div> 3778 <div class="hide"> 3779 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 3780 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 3781 </div> 3782 <div class="hide"> 3783 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 3784 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 3785 </div> 3786 <div class="hide"> 3787 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 3788 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 3789 </div> 3790 <div class="field-papan group-field-2 form-group"> 3791 3792 <label for="logoPapan" onclick="" class="input-field field-logo"> 3793 3794 3795 3796 <div class="btn-upload-papan w-100"> 3797 <?xml version="1.0" encoding="UTF-8"?> 3798 <img src="" style="display:none"> 3799 <div class="svgLogoPapan"> 3800 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 3801 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 3802 </svg> 3803 <p>Upload Logo <span>*optional</span></p> 3804 </div> 3805 </div> 3806 3807 </label> 3808 3809 <input 3810 type="hidden" 3811 data-properties="papan-logo" 3812 value="" 3813 > 3814 <input 3815 type="file" 3816 id="logoPapan" 3817 accept="image/*" 3818 style="position: absolute;width: 1px;height: 1px;padding: 0" 3819 > 3820 3821 <div class="input-field"> 3822 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 3823 <p class="limit">0/35</p> 3824 </div> 3825 3826 </div> 3827 3828 </div> 3829 </div> 3830 </div> 3831 3832 </div> 3833 </div> 3834 3835 </div> 3836 <div class="purchase-button-wrapper"> 3837 <div class="purchase-button btn-card row m-0"> 3838 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3839 3840 </div> 3841 <div class="btn-next-card col-12 col-lg-10 text-right"> 3842 3843 3844 <button 3845 3846 3847 3848 class="btn next-purchase-button text-uppercase" 3849 3850 disabled 3851 3852 > 3853 <span>save your flower board</span> 3854 </button> 3855 </div> 3856 </div> 3857 3858 </div> 3859 </div> 3860 </div> 3861 3862 3863 3864 <div 3865 class="sectionPurchase sectionPurchaseBoard hide" 3866 data-section="address" 3867 > 3868 <div class="wrapperPurchase"> 3869 <div class="purchase-content"> 3870 <div class="headerPurchase"> 3871 <h3> 3872 Complete Your Order 3873 </h3> 3874 <a class="close-purchase-popup"> 3875 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3876 <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"/> 3877 </svg> 3878 </a> 3879 3880 </div> 3881 <div class="contentPurchase"> 3882 <div class="row"> 3883 <div class="col-12 position-relative"> 3884 <div class="addressPurchase"> 3885 3886 <h4 class="text-uppercase">recipient delivery address</h4> 3887 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 3888 3889 <div class="formAddressPurchase row"> 3890 <div class="col-12"> 3891 <form> 3892 <div class="form-group row mb-2 mb-lg-4"> 3893 <div class="col-6 position-relative"> 3894 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 3895 <label for="first_name" class="input__label">First Name<span>*</span></label> 3896 </div> 3897 <div class="col-6 position-relative"> 3898 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 3899 <label for="last_name" class="input__label">Last Name<span>*</span></label> 3900 </div> 3901 <input type="hidden" data-properties="nama-penerima"> 3902 </div> 3903 3904 <h4 class="text-uppercase">how you want to input your address</h4> 3905 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 3906 <div class="col-6 position-relative"> 3907 <label class="address-manualy"> 3908 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 3909 <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
39091216 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
39095 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"/> 3910 </svg> 3911 <span>Input Address Manually</span> 3912 </label> 3913 </div> 3914 <div class="col-6 position-relative"> 3915 <label for="address-upload" class="address-upload"> 3916 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 3917 <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"/> 3918 </svg> 3919 <span>Upload Address Picture</span> 3920 </label> 3921 <input 3922 id="address-upload" 3923 type="file" 3924 accept="image/png, image/jpeg" 3925 style="position: absolute; padding: 0;width: 1px;height: 1px" 3926 > 3927 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 3928 </div> 3929 </div> 3930 <img width="150" height="" src="" class="photo-address" style="display: none;"> 3931 3932 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 3933 <div class="col-12"> 3934 <textarea 3935 id="delivery_address" 3936 data-properties="alamat-penerima" 3937 class="form-control input__field col-12" 3938 placeholder="" 3939 required 3940 ></textarea> 3941 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 3942 3943 </div> 3944 </div> 3945 <div class="form-group row mb-2 mb-lg-4 form-address"> 3946 <div class="col-6 position-relative"> 3947 <input 3948 id="recipient_number" 3949 type="text" 3950 data-properties="telepon-penerima" 3951 class="form-control input__field" 3952 placeholder="" 3953 required 3954 > 3955 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 3956 </div> 3957 <div class="col-6 position-relative"> 3958 <input 3959 id="company" 3960 type="text" 3961 data-properties="company" 3962 class="form-control input__field" 3963 placeholder="" 3964 > 3965 <label for="company" class="input__label">Company (Optional)</label> 3966 </div> 3967 </div> 3968 <div class="form-group row mb-2 mb-lg-4 form-address"> 3969 <div class="col-6 position-relative"> 3970 <input 3971 id="province" 3972 type="text" 3973 class="form-control input__field" 3974 placeholder="" 3975 value="Jakarta" 3976 data-properties="province" 3977 > 3978 <label for="province" class="input__label">Province</label> 3979 </div> 3980 <div class="col-6 position-relative"> 3981 <select id="zip" class="form-control select-search" required></select> 3982 </div> 3983 </div> 3984 </form> 3985 </div> 3986 </div> 3987 </div> 3988 <div class="addonsPurchase"> 3989 <h4 class="text-uppercase">add-ons</h4> 3990 <div class="addons"> 3991 <p>No Add-Ons</p> 3992 <!-- 3993 <button class="add-addon"> 3994 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 3995 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 3996 </svg>
3997 <span>Enhance my moment with Add-ons</span> 3998 </button> 3999 --> 4000 </div> 4001 </div> 4002 </div> 4003 4004 </div> 4005 </div> 4006 4007
4007<script> 4008 document.addEventListener('DOMContentLoaded', function() { 4009 // Detect iOS 4010 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4011 4012 if (isIOS) { 4013 document.querySelector('.formAddressPurchase').classList.add('ios'); 4014 4015 // iOS specific fixes 4016 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4017 4018 inputs.forEach(function(input) { 4019 // Force enable touch events on iOS 4020 input.style.webkitUserSelect = 'text'; 4021 input.style.webkitTouchCallout = 'default'; 4022 input.style.pointerEvents = 'auto'; 4023 input.style.touchAction = 'manipulation'; 4024 4025 // Add explicit touch event listeners for iOS 4026 input.addEventListener('touchstart', function(e) { 4027 e.stopPropagation(); 4028 this.focus(); 4029 }, { passive: false }); 4030 4031 input.addEventListener('touchend', function(e) { 4032 e.preventDefault(); 4033 e.stopPropagation(); 4034 this.focus(); 4035 this.click(); 4036 }, { passive: false }); 4037 4038 // Force focus on tap for iOS 4039 input.addEventListener('click', function(e) { 4040 e.stopPropagation(); 4041 if (document.activeElement !== this) { 4042 this.focus(); 4043 } 4044 }); 4045 }); 4046 4047 // Fix for label overlapping on iOS 4048 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4049 labels.forEach(function(label) { 4050 label.style.pointerEvents = 'none'; 4051 label.addEventListener('touchstart', function(e) { 4052 e.preventDefault(); 4053 var input = this.parentNode.querySelector('.input__field'); 4054 if (input) { 4055 input.focus(); 4056 } 4057 }); 4058 }); 4059 } 4060 4061 // Handle input state for all browsers, especially iOS 4062 var inputs = document.querySelectorAll('.input__field'); 4063 4064 inputs.forEach(function(input) { 4065 // Handle input events 4066 input.addEventListener('input', function() { 4067 if (this.value.trim() !== '') { 4068 this.classList.add('has-value'); 4069 } else { 4070 this.classList.remove('has-value'); 4071 } 4072 }); 4073 4074 // Handle focus 4075 input.addEventListener('focus', function() { 4076 this.classList.add('focused'); 4077 // iOS specific: ensure input is visible 4078 if (isIOS) { 4079 setTimeout(function() { 4080 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4081 }, 300); 4082 } 4083 }); 4084 4085 // Handle blur 4086 input.addEventListener('blur', function() { 4087 this.classList.remove('focused'); 4088 if (this.value.trim() !== '') { 4089 this.classList.add('has-value'); 4090 } else { 4091 this.classList.remove('has-value'); 4092 } 4093 }); 4094 4095 // Initial check for pre-filled values 4096 if (input.value.trim() !== '') { 4097 input.classList.add('has-value'); 4098 } 4099 }); 4100 4101 // Additional iOS fixes 4102 if (isIOS) { 4103 // Prevent iOS Safari from adding default styling 4104 document.addEventListener('touchstart', function() {}, { passive: true }); 4105 4106 // Fix viewport issues on iOS 4107 var viewport = document.querySelector('meta[name=viewport]'); 4108 if (viewport) { 4109 viewport.setAttribute('content', 4110 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4111 ); 4112 } 4113 } 4114 }); 4115 </script>
4115 4116 </div> 4117 <div class="purchase-button-wrapper"> 4118 <div class="purchase-button btn-address row m-0"> 4119 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4120 4121 <button class="back-purchase-button back-address text-uppercase"> 4122 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 4123 <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"/> 4124 </svg> 4125 <span>Back</span> 4126 </button> 4127 4128 </div> 4129 <div class="btn-next-card col-12 col-lg-10 text-right"> 4130 4131 <!-- 4132 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4133 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 4134 <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"/> 4135 </svg> 4136 <span>Back</span> 4137 </button> 4138 --> 4139 4140 4141 <button 4142 4143 id="addtocart-card" 4144 4145 class="btn next-address text-uppercase" 4146 4147 > 4148 <span>add to cart</span> 4149 </button> 4150 </div> 4151 </div> 4152 4153 </div> 4154 </div> 4155 </div> 4156 4157 </div> 4158 </div> 4159 <div id="backgroundPopup"></div> 4160 4161 4162 4163 <input 4164 data-index="1" 4165 type="hidden" 4166 id="properties-delivery-date" 4167 name="properties[Delivery Date]" 4168 value="-" 4169 > 4170 <input 4171 data-index="2" 4172 type="hidden" 4173 id="properties-delivery-time" 4174 name="properties[Delivery Time]" 4175 value="-" 4176 > 4177 <input 4178 data-index="4" 4179 type="hidden" 4180 id="properties-nama-penerima" 4181 name="properties[Nama Penerima]" 4182 value="-" 4183 > 4184 <input 4185 data-index="5" 4186 type="hidden" 4187 id="properties-alamat-penerima" 4188 name="properties[Alamat Penerima]" 4189 value="-" 4190 > 4191 <input 4192 data-index="6" 4193 type="hidden" 4194 id="properties-kodepos" 4195 name="properties[Kodepos]" 4196 value="-" 4197 > 4198 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4199 4200 4201 <input 4202 data-index="8" 4203 type="hidden" 4204 id="properties-kartu-nama-penerima" 4205 name="properties[Kartu Nama Penerima]" 4206 value="-" 4207 > 4208 4209 <textarea 4210 data-index="9" 4211 type="hidden" 4212 id="properties-kartu-pesan" 4213 name="properties[Kartu Pesan]" 4214 style="display: none" 4215 >-</textarea> 4216 4217 4218 4219 <input 4220 data-index="10" 4221 type="hidden" 4222 id="properties-kartu-nama-pengirim" 4223 name="properties[Kartu Nama Pengirim]" 4224 value="-" 4225 > 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 <!-- Additional Shipping --> 4245 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4246 <input 4247 type="hidden" 4248 id="properties-kota-pengiriman-country" 4249 name="properties[Country]" 4250 value="Indonesia" 4251 > 4252 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4253 4254 <input type="hidden" id="properties-time" name="properties[Time]"> 4255 <input type="hidden" id="properties-card" name="properties[Card]"> 4256 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4257 4258 <input 4259 type="hidden" 4260 id="properties-company" 4261 name="properties[Company]" 4262 value="" 4263 > 4264
4264<script> 4265 4266 $(document).ready(function(){ 4267 4268 var text_max_papan1=150; 4269 var msg_text_papan1=""; 4270 $('#kartu-ucapan-ucapan').keyup(function(){ 4271 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4272 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4273 }); 4274 4275 var notes_papan1 = [ 4276 4277 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4278 4279 ]; 4280 $('#show_note_papan1').click(function(event){ 4281 event.preventDefault(); 4282 var idx_papan1=parseInt($('#note_id_papan1').val()); 4283 if(isNaN(idx_papan1)){ 4284 idx_papan1=0; 4285 }else{ 4286 idx_papan1++; 4287 idx_papan1=idx_papan1%notes_papan1.length; 4288 } 4289 var note_papan1=notes_papan1[idx_papan1][1]; 4290 $('#note_id_papan1').val(idx_papan1); 4291 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4292 $('#msgDelivery').val(note_papan1); 4293 4294 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4295 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4296 if(isNaN(idx_2_papan1)){ 4297 idx_2_papan1=0; 4298 }else{ 4299 idx_2_papan1++; 4300 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4301 } 4302 $('#note_btn_id_papan1').val(idx_2_papan1); 4303 //var note_btn=note_btn_text[idx_2][1]; 4304 //$('#note_btn').text(note_btn); 4305 }); 4306 4307 var text_max_papan2=150; 4308 var msg_text_papan2=""; 4309 $('#kartu-ucapan-ucapan').keyup(function(){ 4310 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4311 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4312 }); 4313 4314 var notes_papan2 = [ 4315 4316 [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)."] 4317 4318 ]; 4319 $('#show_note_papan2').click(function(event){ 4320 event.preventDefault(); 4321 var idx_papan2=parseInt($('#note_id_papan2').val()); 4322 if(isNaN(idx_papan2)){ 4323 idx_papan2=0; 4324 }else{ 4325 idx_papan2++; 4326 idx_papan2=idx_papan2%notes_papan2.length; 4327 } 4328 var note_papan2=notes_papan2[idx_papan2][1]; 4329 $('#note_id_papan2').val(idx_papan2); 4330 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4331 $('#msgDelivery').val(note_papan2); 4332 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4333 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4334 if(isNaN(idx_2_papan2)){ 4335 idx_2_papan2=0; 4336 }else{ 4337 idx_2_papan2++; 4338 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4339 } 4340 $('#note_btn_id_papan2').val(idx_2_papan2); 4341 //var note_btn=note_btn_text[idx_2][1]; 4342 //$('#note_btn').text(note_btn); 4343 }); 4344 4345 var text_max_papan3=150; 4346 var msg_text_papan3=""; 4347 $('#kartu-ucapan-ucapan').keyup(function(){ 4348 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4349 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4350 }); 4351 4352 var notes_papan3 = [ 4353 4354 [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)."] 4355 4356 ]; 4357 $('#show_note_papan3').click(function(event){ 4358 event.preventDefault(); 4359 var idx_papan3=parseInt($('#note_id_papan3').val()); 4360 if(isNaN(idx_papan3)){ 4361 idx_papan3=0; 4362 }else{ 4363 idx_papan3++; 4364 idx_papan3=idx_papan3%notes_papan3.length; 4365 } 4366 var note_papan3=notes_papan3[idx_papan3][1]; 4367 $('#note_id_papan3').val(idx_papan3); 4368 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4369 $('#msgDelivery').val(note_papan3);
4370 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4371 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4372 if(isNaN(idx_2_papan3)){ 4373 idx_2_papan3=0; 4374 }else{ 4375 idx_2_papan3++; 4376 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4377 } 4378 $('#note_btn_id_papan3').val(idx_2_papan3); 4379 //var note_btn=note_btn_text[idx_2][1]; 4380 //$('#note_btn').text(note_btn); 4381 }); 4382 4383 var text_max_papan4=150; 4384 var msg_text_papan4=""; 4385 $('#kartu-ucapan-ucapan').keyup(function(){ 4386 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4387 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4388 }); 4389 4390 $('#show_note_papan4').click(function(event){ 4391 var notes_papan4 = [ 4392 [0,"Hereâs to youâsteadier, stronger and better every day."], 4393 [1,"Warmest wishes for a speedy recovery!"], 4394 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4395 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4396 ]; 4397 event.preventDefault(); 4398 var idx_papan4=parseInt($('#note_id_papan4').val()); 4399 console.log(idx_papan4, 'idx_papan4') 4400 if(isNaN(idx_papan4)){ 4401 idx_papan4=0; 4402 }else{ 4403 idx_papan4++; 4404 idx_papan4=idx_papan4%notes_papan4.length; 4405 } 4406 var note_papan4=notes_papan4[idx_papan4][1]; 4407 $('#note_id_papan4').val(idx_papan4); 4408 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4409 console.log(note_papan4, 'note_papan4') 4410 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4411 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4412 if(isNaN(idx_2_papan4)){ 4413 idx_2_papan4=0; 4414 }else{ 4415 idx_2_papan4++; 4416 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4417 } 4418 $('#note_btn_id_papan4').val(idx_2_papan4); 4419 }); 4420 4421 /* 4422 $("#jenisPapan").change(function(){ 4423 $( "select option:selected").each(function(){ 4424 if($(this).attr("value")=="Happy Wedding"){ 4425 $("#suggest-messages a").hide(); 4426 $("#show_note_papan1").show(); 4427 $("#kartu-ucapan-papan").val(""); 4428 } 4429 if($(this).attr("value")=="Congratulations"){ 4430 $("#suggest-messages a").hide(); 4431 $("#show_note_papan2").show(); 4432 $("#kartu-ucapan-papan").val(""); 4433 } 4434 if($(this).attr("value")=="Duka Cita"){ 4435 $("#suggest-messages a").hide(); 4436 $("#show_note_papan3").show(); 4437 $("#kartu-ucapan-papan").val(""); 4438 } 4439 }); 4440 }).change(); 4441 */ 4442 4443 4444 4445 4446 4447 $(".variant-metafield").each(function(){ 4448 const t = $(this) 4449 const id = t.attr("id") 4450 const target = $(`[data-select=${id}]`) 4451 t.on('select2:selecting', function(e) { 4452 const data = e.params.args.data 4453 target.val(data.text) 4454 }); 4455 }) 4456 }) 4457 </script>
4457 4458 4459 <div id="popupCart"> 4460 <div class="container"> 4461 <div class="wrapperPopupCart"> 4462 <div class="headerPopupCart"> 4463 <div class="d-flex pl-5 pr-5 p-4"> 4464 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4465 <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"/> 4466 </svg> 4467 <span>item added to your cart</span> 4468 </div> 4469 <a class="close-purchase-popup"> 4470 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4471 <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"/> 4472 </svg> 4473 </a> 4474 4475 </div> 4476 <div class="contentPopupCart"> 4477 <div class="pl-5 pr-5 p-4"> 4478 <div class="itemContent row m-0 justify-content-between"> 4479 <div class="col-2 align-self-center"> 4480 4481 <img 4482 class="d-block" 4483 width="80" 4484 src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4485 > 4486 </div> 4487 <div class="col-10 align-self-center"> 4488 <div class="row pl-3"> 4489 <div class="col-12 col-lg-7"> 4490 <span class="titleCartPopup text-uppercase">WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026</span> 4491 </div> 4492 <div class="d-flex justify-content-end col-12 col-lg-5"> 4493 <span class="deleteCartPopup hide">Delete</span> 4494 <span class="lineCartPrice align-self-center">Rp 5.000</span> 4495 </div> 4496 </div> 4497 </div> 4498 </div> 4499 <div class="itemProperties"> 4500 4501 <div class="propDeliver"> 4502 <h4>delivery option detail</h4> 4503 <p> 4504 <span>delivery city</span> 4505 <span class="propDeliveryCity">jakarta</span> 4506 </p> 4507 <p> 4508 <span>delivery date</span> 4509 <span class="propDeliveryDate">24/03/2025</span> 4510 </p> 4511 <p> 4512 <span>delivery time</span> 4513 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4514 </p> 4515 </div> 4516 <div class="propAddress"> 4517 <h4>delivery option detail</h4> 4518 <p> 4519 <span>RECIPIENT NAME</span> 4520 <span class="propDeliveryName">kentung</span> 4521 </p> 4522 <p> 4523 <span>delivery address</span> 4524 <span class="propDeliveryAddress" 4525 >Jl. Jenderal Sudirman Kav. 76-78, RT.003 /RW.002, Kelurahan Karet Kentang ting tung, Kecamatan Palang merah, Kota Jakarta barat, Daerah Khusus Ibukota Jakarta 10221, Indonesia</span 4526 > 4527 </p> 4528 <p> 4529 <span>recipient phone number</span> 4530 <span class="propDeliveryPhone">(+62) 856-9671-0961</span> 4531 </p> 4532 <p> 4533 <span>PROVINCE</span> 4534 <span class="propDeliveryProv">Jakarta</span> 4535 </p> 4536 <p> 4537 <span>postal code</span> 4538 <span class="propDeliveryZip">10220</span> 4539 </p> 4540 4541 4542 </div> 4543 4544 </div> 4545 <div class="itemAddonCart"> 4546 <div class="toggleAddonCart d-flex justify-content-between"> 4547 <h4>add-ons (0)</h4> 4548 <svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4549 <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"/> 4550 </svg> 4551 </div> 4552 <div class="wrapperItemAddonCart"></div> 4553 </div> 4554 4555 </div> 4556 </div>
4557 <div class="footerPopupCart"> 4558 <div class="row m-0 pl-5 pr-5 p-4"> 4559 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 4560 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 4561 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 4562 </div> 4563 </div> 4564 </div> 4565 </div> 4566 </div> 4567 4568 4569
4569<script> 4570 const shareButton = document.getElementById('shareButton'); 4571 4572 shareButton.addEventListener('click', () => { 4573 if (navigator.share) { 4574 navigator.share({ 4575 title: "WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026", 4576 url: "/products/blossom-shine", 4577 text: 'Check out this page!' 4578 }) 4579 .then(() => console.log('Successful share')) 4580 .catch((error) => console.log('Error sharing', error)); 4581 } else { 4582 alert('Web Share API is not supported in this browser.'); 4583 } 4584 }); 4585 4586 // Inventory validation function 4587 function checkInventoryStatus() { 4588 const productSelect = document.getElementById('productSelect'); 4589 const purchaseButton = document.querySelector('#personalizeBtn button'); 4590 4591 if (!productSelect || !purchaseButton) return; 4592 4593 const selectedVariantId = productSelect.value; 4594 4595 // Get variant data from Shopify 4596 fetch(`/products/blossom-shine.js`) 4597 .then(response => response.json()) 4598 .then(product => { 4599 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4600 4601 if (selectedVariant) { 4602 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4603 selectedVariant.inventory_management === 'shopify' && 4604 selectedVariant.inventory_policy !== 'continue'; 4605 4606 if (isOutOfStock) { 4607 purchaseButton.disabled = true; 4608 purchaseButton.textContent = 'Out of Stock'; 4609 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4610 purchaseButton.style.backgroundColor = '#cccccc'; 4611 purchaseButton.style.cursor = 'not-allowed'; 4612 } else { 4613 // Check if button was disabled due to other conditions 4614 4615 4616 4617 4618 4619 4620 4621 4622 const isOtherDisabled = false || true || false; 4623 4624 if (!isOtherDisabled) { 4625 purchaseButton.disabled = false; 4626 purchaseButton.textContent = 'customize your flower board'; 4627 purchaseButton.removeAttribute('data-out-of-stock'); 4628 purchaseButton.style.backgroundColor = ''; 4629 purchaseButton.style.cursor = ''; 4630 } 4631 } 4632 } 4633 }) 4634 .catch(error => { 4635 console.error('Error checking inventory:', error); 4636 }); 4637 } 4638 4639 // Check inventory on page load 4640 document.addEventListener('DOMContentLoaded', function() { 4641 checkInventoryStatus(); 4642 4643 // Listen for variant changes 4644 const productSelect = document.getElementById('productSelect'); 4645 if (productSelect) { 4646 productSelect.addEventListener('change', checkInventoryStatus); 4647 } 4648 }); 4649 4650 // Prevent form submission if out of stock 4651 document.addEventListener('click', function(e) { 4652 if (e.target.matches('button[data-out-of-stock="true"]')) { 4653 e.preventDefault(); 4654 e.stopPropagation(); 4655 alert('This product is currently out of stock and cannot be purchased.'); 4656 return false; 4657 } 4658 }); 4659 </script>
4659 4660 4661 4662 4663 </div> 4664 4665 </div> 4666 </div> 4667 </div> 4668 </div> 4669 <div id="product-bottom"> 4670 4671 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4672 <div class="container"> 4673 4674 4675 4676 4677 4678 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4679 <div class="short-desc"> 4680 <ul> 4681 <li><strong>WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis</strong></li> 4682 </div> 4683 <label class="more-mobile">Show More â</label> 4684 </div> 4685 4686 <style> 4687 .animated-title { 4688 text-align: center; 4689 font-weight: bold; 4690 color: #079c02; 4691 font-size: 28px; 4692 position: relative; 4693 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4694 } 4695 4696 /* Efek glow / bercahaya hijau */ 4697 @keyframes glow { 4698 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4699 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4700 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4701 } 4702 4703 /* Efek gerakan naik turun */ 4704 @keyframes moveUpDown { 4705 0% { transform: translateY(0px); } 4706 50% { transform: translateY(-5px); } 4707 100% { transform: translateY(0px); } 4708 } 4709 </style> 4710 4711
4711<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4711 4712
4712<script> 4713 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}); 4714 4715 const productType = $("[data-product-type]").data("product-type") 4716 const productDate = Date.parse(new Date()) 4717 4718 const shop = 'outerbloom1.myshopify.com' 4719 const host = 'https://app.asmaraku.com' 4720 // const host = 'http://localhost:5001' 4721 4722 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4723 4724 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4725 4726 $("#properties-time").val(new Date().getTime()) 4727 4728 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4729 4730 if(!isIOS) { 4731 $("#full-date").attr("type", "button") 4732 } 4733 4734 let dateTime = new Date(); 4735 let today = dateTime.getDate(); 4736 let day = dateTime.getDay(); 4737 let hour = dateTime.getHours(); 4738 let min = dateTime.getMinutes(); 4739 let timeOfDay = hour + (min / 100); 4740 4741 async function getFetch(url) { 4742 const response = await fetch(url); 4743 let status = false 4744 let result 4745 if(response.ok) { 4746 status = true 4747 result = await response.json(); 4748 } 4749 return { 4750 status, 4751 data: result 4752 } 4753 } 4754 4755 4756 4757 function setCookie(cname, cvalue, exMins) { 4758 var d = new Date(); 4759 d.setTime(d.getTime() + (exMins*60*1000)); 4760 var expires = "expires="+d.toUTCString(); 4761 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4762 } 4763 4764 function getCookie(cname) { 4765 let name = cname + "="; 4766 let decodedCookie = decodeURIComponent(document.cookie); 4767 let ca = decodedCookie.split(';'); 4768 for(let i = 0; i <ca.length; i++) { 4769 let c = ca[i]; 4770 while (c.charAt(0) == ' ') { 4771 c = c.substring(1); 4772 } 4773 if (c.indexOf(name) == 0) { 4774 return c.substring(name.length, c.length); 4775 } 4776 } 4777 return ""; 4778 } 4779 4780 async function renderDate() { 4781 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8359546319899&v=${Date.now()}`); 4782 console.log(dataDate, 'renderDate') 4783 const data = dataDate?.data 4784 const date = data.date 4785 const time = data.time 4786 4787 console.log(date, 'DATE') 4788 4789 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 4790 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4791 const htmlDate = [] 4792 for(let i = 0;i < date.length;i++) { 4793 const full = date[i].date 4794 const d = new Date(date[i].date); 4795 const day = weekday[d.getDay()]; 4796 const dt = d.getDate(); 4797 const mt = monthly[d.getMonth()]; 4798 const yr = d.getFullYear(); 4799 const isDate = Boolean(date[i].isEnabled) 4800 const cutoffpagi = date[i].cutoff?.pagi 4801 const cutoffsiang = date[i].cutoff?.siang 4802 const cutoffMalam = date[i].cutoff?.Malam 4803 var html = ` 4804 <button data-id="8359546319899" 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'}> 4805 ${dt === today ? 4806 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 4807 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 4808 } 4809 </button> 4810 ` 4811 htmlDate.push(html) 4812 } 4813 const htmlTime = [] 4814 for(var i = 0;i < time.length;i++) { 4815 const timeText = time[i].text 4816 const timeTime = time[i].time 4817 const timeEnabled = time[i].isEnabled 4818 var html = ` 4819 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 4820 ` 4821 htmlTime.push(html) 4822 } 4823 const deliveryDate = document.getElementById("deliveryDate"); 4824 if(deliveryDate) { 4825 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 4826 $("#deliveryTime").html(htmlTime) 4827 if(productType !== '') { 4828 console.log("clarity event " + productType + ' calendaring') 4829 window.clarity("event", `${productType} calendaringSchedule`) 4830 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 4831 } 4832 } 4833 } 4834 4835 async function getProvince(city) { 4836 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 4837 console.log(province, 'province') 4838 $("#province").val(province) 4839 } 4840 4841 async function renderAddress() { 4842 let current 4843 if(getCookie("location_delivery")){ 4844 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 4845 } 4846 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8359546319899`); 4847 console.log(address) 4848 const data = address?.data?.city 4849 const htmlAddress = [] 4850 const grouping = []
4851 for(let i = 0;i < data?.length;i++) { 4852 if(data[i]){ 4853 if(data[i]?.group) { 4854 grouping.push(data[i].group) 4855 } 4856 const price = rupiah.format(data[i]?.rate) 4857 let promo = '(Promo Free Delivery)' 4858 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 4859 promo = '(at SCBD, Ashta)' 4860 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 4861 promo = '(at Kuningan, ITC Kuningan)' 4862 } else if(data[i]?.name === 'BSD - PickUp'){ 4863 promo = '(at Goldfinch Gading Serpong)' 4864 } else if(data[i]?.name === 'Kota Lainnya'){ 4865 promo = '' 4866 } 4867 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>`) 4868 } 4869 } 4870 4871 const deliveryCity = document.getElementById("cities"); 4872 if(deliveryCity) { 4873 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 4874 if(!isIOS) { 4875 $(deliveryCity).select2(); 4876 } 4877 } 4878 } 4879 4880 async function renderZip(v, v2, v3) { 4881 const deliveryZip = document.getElementById("zip"); 4882 if(v === '') { 4883 return 4884 } 4885 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 4886 let zip = dataZip?.data?.zip 4887 console.log(zip) 4888 let htmlZip = [] 4889 for(let i = 0; i < zip?.length;i++) { 4890 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 4891 } 4892 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 4893 } 4894 4895 renderDate() 4896 renderAddress() 4897 4898 let rupiah = new Intl.NumberFormat('id-ID', { 4899 style: 'currency', 4900 currency: 'IDR', 4901 maximumFractionDigits: 0, 4902 minimumFractionDigits: 0 4903 }); 4904 4905 async function insertCard(data) { 4906 const response = await fetch(`${host}/api/card/new`, { 4907 method: "POST", 4908 headers: { 4909 'Content-Type': 'application/json', 4910 }, 4911 body: data 4912 }) 4913 const result = await response.json() 4914 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 4915 $("#greetingCard").attr("data-index", rowIndex) 4916 return result 4917 } 4918 4919 async function updateCard(data){ 4920 const rowIndex = $("#greetingCard").data("index") 4921 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 4922 method: "PUT", 4923 headers: { 4924 'Content-Type': 'application/json', 4925 }, 4926 body: data 4927 }) 4928 return response 4929 } 4930 4931 function bytesToSize(bytes) { 4932 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 4933 for (var i = 0; i < sizes.length; i++) { 4934 if (bytes <= 1024) { 4935 return bytes + ' ' + sizes[i]; 4936 } else { 4937 bytes = parseFloat(bytes / 1024).toFixed(2) 4938 } 4939 } 4940 return bytes + ' P'; 4941 } 4942 4943 async function uploadMedia(uri, type) { 4944 nameq = $("#properties-nama-penerima").val() 4945 dear = $("#properties-kartu-nama-penerima").val() 4946 card = $("[data-properties=ucapan]").val() 4947 sender = $("#properties-kartu-nama-pengirim").val() 4948 photo = $("#properties-photo").val() 4949 video = $("#properties-video").val() 4950 status = "Product" 4951 4952 const name = qrID 4953 let formData = new FormData(); 4954 formData.append("file", uri); 4955 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 4956 method: "POST", 4957 body: formData 4958 }) 4959 const result = await response.json(); 4960 if(result) { 4961 const url = result.url 4962 if(type === 'image/jpeg') { 4963 $("#properties-photo").val(url) 4964 $(".preview-image").show() 4965 $(".remove-image").show() 4966 photo = url 4967 } else { 4968 $("#properties-video").val(url) 4969 $("#label-input-video span").text("Change File") 4970 $(".case-qrcode-preview p").text("Scan here for a secret message") 4971 $(".remove-media").show() 4972 $("#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>`) 4973 $("[for=input-video]").hide() 4974 video = url 4975 } 4976 $(".case-video-preview").show() 4977 $(".steps-card-preview").removeClass("loading") 4978 // updateCard(nameq, dear, card, sender, photo, video, status) 4979 4980 $(".nextBtn").attr("disabled", false) 4981 } 4982 } 4983 4984 function randomString(length, chars) { 4985 var result = ''; 4986 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 4987 return result; 4988 } 4989 4990 function getNoteCity(fulldate) { 4991 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 4992 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 4993 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 4994 const d = new Date(h_1); 4995 const day = weekday[d.getDay()]; 4996 const dt = d.getDate(); 4997 const mt = monthly[d.getMonth()]; 4998 const yr = d.getFullYear(); 4999 const p = $("#cities").parent(".form-group") 5000 } 5001 5002 function disabledSameDay() { 5003 let btnFirst = $("#deliveryDate").find("button:first-child") 5004 let getDay = new Date().getDay(); 5005 5006 5007 5008 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5009 if(hour >= 14.00){ 5010 btnFirst.attr("disabled", true) 5011 } 5012 } else if(getDay == 6){ 5013 if(hour >= 16.00){ 5014 btnFirst.attr("disabled", true) 5015 } 5016 } else if(getDay == 0){ 5017 if(hour >= 16.00){ 5018 btnFirst.attr("disabled", true) 5019 } 5020 } 5021 5022 5023 } 5024 5025 function disabledays(date) { 5026 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5027 //if u have to disable a list of day 5028 let removeDays 5029 5030 5031 5032 removeDays = ["2025-2-13", "2025-2-14"]; 5033 5034 if ($.inArray(ymd, removeDays) >= 0) { 5035 return [false]; 5036 } else { 5037 let day = date.getDay(); 5038 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5039 return [(day == 0), '']; 5040 } 5041 5042 if(day == 0){ 5043 return [(day == 0), '']; 5044 } 5045 5046 5047 return [(day != 0), '']; 5048 } 5049 } 5050 5051 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5052 /* Written by Deden Fathurahman ([email protected]). */ 5053 ( function( factory ) { 5054 if ( typeof define === "function" && define.amd ) { 5055 5056 // AMD. Register as an anonymous module. 5057 define( [ "../widgets/datepicker" ], factory ); 5058 } else { 5059 5060 // Browser globals 5061 factory( jQuery.datepicker ); 5062 } 5063 }( function( datepicker ) { 5064 5065 datepicker.regional.id = { 5066 closeText: "Tutup", 5067 prevText: "<mundur", 5068 nextText: "maju>", 5069 currentText: "Today", 5070 monthNames: [ "January","February","March","April","May","Juny", 5071 "July","August","September","October","November","December" ], 5072 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5073 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5074 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5075 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5076 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5077 weekHeader: "Mg", 5078 dateFormat: "D, dd M", 5079 firstDay: 0, 5080 isRTL: false, 5081 showMonthAfterYear: false, 5082 yearSuffix: "" }; 5083 datepicker.setDefaults( datepicker.regional.id ); 5084 5085 return datepicker.regional.id; 5086 5087 } ) ); 5088 5089 function loadPopup() { 5090 $("#backgroundPopup").fadeIn("slow"); 5091 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5092 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5093 if(firstSection.hasClass("purchasePersonalize")) { 5094 if(productType !== '') { 5095 console.log("clarity event " + productType + ' personalize') 5096 window.clarity("event", `${productType} cardPersonalization`) 5097 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5098 } 5099 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5100 console.log("clarity event " + productType + ' personalizeBoard') 5101 window.clarity("event", `${productType} personalizeBoard`) 5102 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5103 } 5104 firstSection.removeClass("hide") 5105 5106 // Auto-trigger addon loading when addon section becomes visible 5107 setTimeout(function() { 5108 const addonSection = $(".purchaseAddon") 5109 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5110 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5111 $("[data-addon=upsell-all]").trigger("click") 5112 } 5113 } 5114 }, 200) 5115 } 5116 5117 function disablePopup() { 5118 $("#backgroundPopup").fadeOut("slow"); 5119 $(".purchasePopup").fadeOut("slow"); 5120 $("#popupCart").fadeOut("slow"); 5121 } 5122
5123 function scrollTo(parent, div, dur) { 5124 $(parent).animate({ 5125 scrollTop: $(div).offset().top 5126 }, dur); 5127 } 5128 5129 function loadPopupPersonalize() { 5130 const div = "#purchaseProduct" 5131 const p = "html, body, .product-meta" 5132 $("p.error").remove() 5133 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5134 const isCity = $("#cities[required]") 5135 const isDate = $("#propDeliveryDate[required]") 5136 const isTime = $("#propDeliveryTime[required]") 5137 // loadPopup() 5138 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5139 loadPopup() 5140 } 5141 if(isCity.val() == '') { 5142 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5143 scrollTo(p, div, 500) 5144 } 5145 if(isDate.val() == '') { 5146 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5147 scrollTo(p, div, 500) 5148 } 5149 if(isTime.val() == '') { 5150 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5151 scrollTo(p, div, 500) 5152 } 5153 } 5154 5155 function quantityCounter() { 5156 $(document).on("click", ".item-card.selected .q_up", function () { 5157 var C = $(this).attr("data-id"), 5158 S = 5159 parseInt( 5160 $(this) 5161 .siblings(".quantity-cart-" + C) 5162 .val() 5163 ) + 1; 5164 $(this).attr("data-quantity", S), 5165 $(this) 5166 .siblings(".quantity-cart-" + C) 5167 .val(S); 5168 }), 5169 $(document).on("click", ".item-card.selected .q_down", function () { 5170 var C = $(this).attr("data-id"), 5171 S = parseInt( 5172 $(this) 5173 .siblings(".quantity-cart-" + C) 5174 .val() 5175 ); 5176 0 < S && $(this).attr("data-quantity", S - 1), 5177 0 < S && 5178 $(this) 5179 .siblings(".quantity-cart-" + C) 5180 .val(S - 1); 5181 }); 5182 } 5183 5184 quantityCounter() 5185 5186 const itemAddon = $(".item-card").length 5187 const nofree = $(".nofree").length 5188 5189 const upsell = '' 5190 5191 if(nofree === itemAddon) { 5192 // $("#itemAddons").html("<p>No Items available</p>") 5193 } 5194 5195 $("#itemAddons .item-card").each(function(e){ 5196 $("#itemAddons").attr("data-length", e) 5197 }) 5198 5199 $("[data-addon]").click(function(){ 5200 5201 5202 5203 const t = $(this) 5204 5205 const data = t.data("addon") 5206 5207 $("[data-addon]").removeClass("selected") 5208 t.addClass("selected") 5209 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5210 const products = data.products 5211 const html = [] 5212 for(let i = 0; i < products.length; i++) { 5213 const id = products[i].id 5214 const variantId = products[i].variants[0].id 5215 const img = products[i].images[0].src 5216 let img2 = img.split('.jpg')[0] 5217 const title = products[i].title 5218 const price = products[i].variants[0].price 5219 const tags = products[i].tags 5220 const qty = products[i].variants[0].available 5221 let type_upsell = '' 5222 if(tags.includes('upsell-item-standing')) { 5223 type_upsell = 'standing' 5224 } 5225 console.log(type_upsell) 5226 if(type_upsell !== '') { 5227 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}"> 5228 5229 <div class="card-image"> 5230 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5231 </div> 5232 <div class="card-meta"> 5233 <h5>${title}</h5> 5234 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5235 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5236 </div> 5237 <div class="card-qty"> 5238 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5239 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5239" value="0" data-price=${price} name="quantity"> 5240 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5241 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5242 </svg></a> 5243 </div> 5244 </div>` 5245 html.push(body) 5246 } 5247 } 5248 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5249 $("#itemAddons").attr("data-length", products.length) 5250 // $('#itemAddons')[0].swiper.update(); 5251 }); 5252 }) 5253 5254 async function isAddon(){ 5255 let ids = [] 5256 $("#itemAddons .item-card.selected").each(function(i, e){ 5257 const id = $(this).data("id") 5258 ids.push(id) 5259 }) 5260 console.log(ids) 5261 return ids 5262 } 5263 5264 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5265 const t = $(this).parent() 5266 const id = t.data("id") 5267 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5268 t.toggleClass("selected"); 5269 //$(this).next("input").toggleAttr('name', 'id[]'); 5270 if (t.hasClass('selected')) { 5271 t.find("input").val(1) 5272 t.find("input").attr('name', 'id[]'); 5273 } else { 5274 t.find("input").val(0) 5275 t.find("input").removeAttr('name'); 5276 } 5277 $("#properties-addons").val(addons) 5278 const is = await isAddon() 5279 if(is.length === 0) { 5280 btn.text("continue without add-ons") 5281 return 5282 } 5283 if(is.includes(8835692069079)) { 5284 btn.text("personalize acrylic frame") 5285 } else { 5286 btn.text("Continue") 5287 } 5288 5289 }) 5290 5291 async function myAddon(data) { 5292 const c = $(".addonsPurchase .addons") 5293 let items = [] 5294 5295 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5296 // if(spotifyAddons.length > 0) { 5297 // $(spotifyAddons).each(function(i, e){ 5298 // const spotifyLink = $(this).find(".spotifyLink").val() 5299 // const spotifySong = $(this).find(".spotifySong").val() 5300 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5301 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5302 // if(spotifyLink !== '') { 5303 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5304 // <div class="addon-itm-img"> 5305 // <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"/> 5306 // </div> 5307 // <div class="addon-itm-title"> 5308 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5309 // </div> 5310 // <div class="addon-itm-line-total"> 5311 // <span>Rp 99.000</span> 5312 // </div> 5313 // </div> 5314 // <div class="propsAddonSpotify row m-0"> 5315 // <div class="col-12 col-lg-2"></div> 5316 // <div class="col-12 col-lg-10"> 5317 // <p> 5318 // <span>spotify link</span> 5319 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5320 // </p> 5321 // <p> 5322 // <span>uploaded photo</span> 5323 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5324 // </p> 5325 // <p> 5326 // <span>song / playlist name</span> 5327 // <span class="spotifySongAddon">${spotifySong}</span> 5328 // </p> 5329 // <p> 5330 // <span>artist name</span> 5331 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5332 // </p> 5333 // </div> 5334 // </div>` 5335 // items.push(spotifyAddon) 5336 // } 5337 // }) 5338 // } 5339 for(let i = 0; i < data.length; i++) { 5340 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5341 const img = data[i].image 5342 const title = data[i].title
5343 const qty = data[i].qty 5344 const price = data[i].price 5345 const total = Number(qty) * Number(price) 5346 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5347 <div class="addon-itm-img"> 5348 <img src="${img}" alt="" width="70"/> 5349 </div> 5350 <div class="addon-itm-title"> 5351 <span>${title}</span> 5352 </div> 5353 <div class="addon-itm-line-price"> 5354 <span>${rupiah.format(price)}</span> 5355 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5356 </div> 5357 <div class="addon-itm-line-total"> 5358 <span>${rupiah.format(total)}</span> 5359 </div> 5360 </div>` 5361 items.push(addons) 5362 } 5363 } 5364 c.html(items) 5365 const parent = $(".purchaseAddon") 5366 const next = parent.next(".sectionPurchase") 5367 parent.addClass("hide") 5368 next.removeClass("hide") 5369 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5370 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5371 } 5372 5373 async function listAddon() { 5374 const data = $("#itemAddons").find(".selected") 5375 let ids = [] 5376 $(data).each(function(){ 5377 const id = $(this).data("variant") 5378 const image = $(this).find(".card-image img").attr("src") 5379 const title = $(this).find(".card-meta h5").text() 5380 const qty = $(this).find(".card-qty input").val() 5381 const price = $(this).find(".card-qty input").data("price") 5382 ids.push({ 5383 id: Number(id), 5384 image, 5385 title, 5386 qty, 5387 price 5388 }) 5389 }) 5390 myAddon(ids) 5391 } 5392 5393 async function customSpotify(idx, length, type){ 5394 let isCard = false 5395 5396 let p = $(".purchasePopupSpotify") 5397 const preLink = $(".spotifyLinkFirst").val() 5398 $("[data-index]").hide() 5399 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5400 p.find(".regulerAddons, .purchase-button").hide() 5401 p.find(".spotifyAddons").show() 5402 5403 const data = await trackUrl(preLink) 5404 5405 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://imgme.pro/images/logo82fca95cbc13706b.png" width="13" height="11" viewB
5405ox="0 0 13 11" fill="none"> 5406 <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"/> 5407 </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://imgme.pro/images/logo82fca95cbc13706b.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://imgme.pro/images/logo82fca95cbc13706b.png" width="13" height="11" viewB
5407ox="0 0 13 11" fill="none"> 5408 <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"/> 5409 </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>` 5410 // console.log(html) 5411 5412 $(".spotifyAddons").append(html) 5413 5414 $(`[data-index=${idx}]`).show() 5415 5416 if (preLink !== '') { 5417 $(".btn-action .btn").attr("disabled", false) 5418 } else { 5419 $(".btn-action .btn").attr("disabled", true) 5420 } 5421 5422 return html 5423 5424 } 5425 5426 $(".spotifyLinkFirst").keyup(async function(){ 5427 const v = $(this).val() 5428 if(v.includes('spotify:user:spotify')) { 5429 const correct = v.split('user:spotify:')[1] 5430 console.log(correct, 'BNER') 5431 $(this).val(correct) 5432 return 5433 } 5434 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5435 const data = await trackUrl(v) 5436 if(!data || !data.status) { 5437 $(this).parent().addClass("error") 5438 // $(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>`) 5439 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5440 return 5441 } 5442 $(this).parent().removeClass("error") 5443 // $(this).parent().remove("txt-error") 5444 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5445 } else { 5446 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5447 } 5448 }) 5449 5450 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5451 const parent = $(this).parents(".purchaseAddon") 5452 const next = parent.next(".sectionPurchase") 5453 if(next.hasClass("purchaseAddress")) { 5454 if(productType !== '') { 5455 console.log("clarity event " + productType + ' purchaseDelivery') 5456 window.clarity("event", `${productType} purchaseDelivery`) 5457 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5458 } 5459 } 5460 const data = $("#itemAddons").find(".selected") 5461 const length = $(".quantity-cart-46067682607319").val() 5462 const checked = data.length; 5463 if(checked > 0) { 5464 if(length > 0) { 5465 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5466 customSpotify(1, length, 'addon') 5467 } else { 5468 listAddon() 5469 } 5470 } else { 5471 parent.addClass("hide") 5472 next.removeClass("hide") 5473 } 5474 }) 5475 5476 $("#personalizeBtnSpotify .btn").click(async function(){ 5477 const isCity = $("#cities[required]") 5478 const isDate = $("#propDeliveryDate[required]") 5479 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5480 alert('Please choose Delivery City & Delivery Date') 5481 return 5482 } 5483 const data = await customSpotify(1, 1, 'product') 5484 if(data) { 5485 $("#backgroundPopup").fadeIn("slow"); 5486 $(".purchasePopupSpotify").fadeIn("slow"); 5487 5488 if(productType !== '') { 5489 console.log("clarity event " + productType + ' spotify') 5490 window.clarity("event", `${productType} spotify`) 5491 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5492 } 5493 } 5494 }) 5495 5496 function formatBytes(bytes, decimals = 2) { 5497 if (!+bytes) return '0 Bytes' 5498
5499 const k = 1024 5500 const dm = decimals < 0 ? 0 : decimals 5501 const sizes = ['B', 'KB', 'MB'] 5502 5503 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5504 5505 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5506 } 5507 5508 async function trackUrl(link){ 5509 try { 5510 let trackId = link.split('/').pop().split('?')[0]; 5511 let type = '' 5512 if(link.includes("spotify:")) { 5513 const uri = link.split('spotify:')[1] 5514 trackId = uri.split(':')[1] 5515 type = uri.split(':')[0] + 's' 5516 } else { 5517 if(link.match('track')){ 5518 type = 'tracks' 5519 } else if(link.match('playlist')) { 5520 type = 'playlists' 5521 } else if(link.match('artist')) { 5522 type = 'artists' 5523 } else if(link.match('album')) { 5524 type = 'albums' 5525 } 5526 } 5527 console.log(`${host}/api/spotify/${type}/${trackId}`) 5528 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5529 console.log(data, 'DATA') 5530 const song = data?.data?.name 5531 const artist = data?.data?.artist 5532 return { 5533 song, artist, type, trackId, status: data.status 5534 } 5535 } catch(err) { 5536 console.log(err) 5537 } 5538 } 5539 5540 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5541 const parent = $(this).parents("[data-index]") 5542 const preview = parent.find(".previewImage") 5543 const file = $(this)[0].files[0]; 5544 if (file) { 5545 const reader = new FileReader(); 5546 reader.onload = async function(e) { 5547 parent.find(".uploadResult label").hide() 5548 parent.find(".uploadedResult").remove() 5549 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5550 <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> 5551 <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;">
5551<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 5552 <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 /> 5553 </svg> 5554 </span></div></div>`) 5555 parent.find(".frameImageUploaded svg").hide() 5556 parent.find(".frameImage").addClass("uploaded") 5557 preview.attr("src", e.target.result); 5558 preview.show(); 5559 let formData = new FormData(); 5560 formData.append("file", file); 5561 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5562 method: "POST", 5563 body: formData 5564 }) 5565 const result = await response.json(); 5566 if(result){ 5567 parent.find(".resultPhotoSpotify").val(result.url) 5568 } 5569 } 5570 5571 reader.readAsDataURL(file); 5572 } else { 5573 preview.hide(); 5574 } 5575 }); 5576 5577 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5578 $(this).next("input[type=file]").trigger("click") 5579 }) 5580 5581 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5582 $(this).parents("input[type=file]").trigger("click") 5583 }) 5584 5585 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5586 const parent = $(this).parents("[data-index]") 5587 parent.find(".uploadPhotoSpotify").val("") 5588 parent.find(".uploadResult label").show() 5589 parent.find(".uploadedResult").remove() 5590 parent.find(".frameImageUploaded svg").show() 5591 parent.find(".previewImage").hide() 5592 parent.find(".frameImage").removeClass("uploaded") 5593 }) 5594 5595 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5596 const parent = $(this).parents("[data-index]") 5597 parent.toggleClass("checked") 5598 }) 5599 5600 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5601 const parent = $(this).parents("[data-index]") 5602 const link = $(this).val() 5603 const data = await trackUrl(link) 5604 5605 console.log(data) 5606 5607 if(data.song) { 5608 parent.find(".spotifySong").val(data.song) 5609 parent.find(".spotifyData").find("h3").text(data.song) 5610 } 5611 if(data.artist) { 5612 parent.find(".spotifyArtist").val(data.artist) 5613 parent.find(".spotifyData").find("p").text(data.artist) 5614 } 5615 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5616 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5617 if (data.status === true) { 5618 parent.find(".btn-action .btn").attr("disabled", false) 5619 } else { 5620 parent.find(".btn-action .btn").attr("disabled", true) 5621 } 5622 }) 5623
5624 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5625 const parent = $(this).parents("[data-index]") 5626 const v = $(this).val() 5627 parent.find(".spotifyData h3").text(v) 5628 }) 5629 5630 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5631 const parent = $(this).parents("[data-index]") 5632 const v = $(this).val() 5633 parent.find(".spotifyData p").text(v) 5634 }) 5635 5636 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5637 const parent = $(this).parents("[data-index]") 5638 const length = parent.data("length") 5639 const index = parent.data("index") 5640 const indexNext = Number(index) + 1 5641 customSpotify(indexNext, length, 'addon') 5642 }) 5643 5644 5645 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5646 const parent = $(this).parents(".purchaseAddon") 5647 const next = parent.next(".sectionPurchase") 5648 parent.addClass("hide") 5649 next.removeClass("hide") 5650 next.find(".purchase-button").show() 5651 listAddon() 5652 }) 5653 5654 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5655 const t = $(this).parents("[data-index]") 5656 const parent = $(this).parents(".sectionPurchase") 5657 const current = t.data("index") 5658 const prevCurrent = Number(current) - 1 5659 if(current == 1) { 5660 parent.removeClass("purchaseAddonSpotify") 5661 parent.find(".purchase-button").show() 5662 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5663 $(".spotifyAddons").empty() 5664 $(".regulerAddons").show() 5665 return 5666 } 5667 t.hide() 5668 t.prev("[data-index]").show() 5669 t.remove() 5670 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5671 }) 5672 5673 $("#personalizeBtn .btn").click(async function() { 5674 loadPopupPersonalize() 5675 }); 5676 5677 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5678 $(".sectionPurchaseSpotify").hide() 5679 loadPopupPersonalize() 5680 }) 5681 5682 $(".close-purchase-popup").click(function() { 5683 disablePopup(); 5684 }); 5685 $("#backgroundPopup").click(function() { 5686 // disablePopup(); 5687 }); 5688 5689 $("#popupCart .close-purchase-popup").click(function() { 5690 location.reload() 5691 }); 5692 5693 $('#popupCart').on('hide.bs.modal', function (e) { 5694 location.reload() 5695 }) 5696 5697 $(".next-card").click(function(){ 5698 const parent = $(this).parents(".sectionPurchase") 5699 const next = parent.next(".sectionPurchase") 5700 parent.addClass("hide") 5701 next.removeClass("hide") 5702 }) 5703 5704 $(".back-purchase-button").click(function(){ 5705 const parent = $(this).parents(".sectionPurchase") 5706 const prev = parent.prev(".sectionPurchase") 5707 parent.addClass("hide") 5708 prev.removeClass("hide") 5709 }) 5710 5711 $(document).keypress(function(e) { 5712 if (e.keyCode == 27 && popupStatus == 1) { 5713 disablePopup(); 5714 } 5715 }); 5716 5717 const parentImg = $(".case-img-preview") 5718 const parentVid = $(".case-video-preview") 5719 5720 function readURL(input) { 5721 if (input.files && input.files[0]) { 5722 let reader = new FileReader(); 5723 5724 let type = 'image/jpeg' 5725 const size = input.files[0].size 5726 if(input.files[0].type.match('video/')){ 5727 type = 'video/mp4' 5728 if(size > 15728640) { 5729 alert('File size exceeds maximum limit 15 MB') 5730 return 5731 } 5732 } else { 5733 if(size > 5242880) { 5734 alert('File size exceeds maximum limit 5 MB') 5735 return 5736 } 5737 } 5738 5739 reader.onload = function (e) { 5740 $(".nextBtn").attr("disabled", true) 5741 if(type === 'image/jpeg') { 5742 5743 $('.placeholder-image').hide(); 5744 $('.preview-image').show() 5745 $('.preview-image').attr('src', e.target.result); 5746 5747 } else { 5748 // parentVid.find(".ajax-loader").show(); 5749 $(".steps-card-preview").addClass("loading") 5750 } 5751 } 5752 5753 5754 5755 reader.readAsDataURL(input.files[0]); 5756 } 5757 } 5758 5759 async function readURLPapan(input) { 5760 if (input.files && input.files[0]) { 5761 let reader = new FileReader(); 5762 5763 reader.onload = function (e) { 5764 $('.btn-upload-papan').siblings('label').hide(); 5765 $('.btn-upload-papan img').attr('src', e.target.result); 5766 $('.btn-upload-papan img').show(); 5767 $('.svgLogoPapan').hide(); 5768 } 5769 5770 const type = 'image/jpeg' 5771 const name = `logo-8359546319899-${Date.parse(new Date())}` 5772 5773 let formData = new FormData(); 5774 formData.append("file", input.files[0]); 5775 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5776 method: "POST", 5777 body: formData 5778 }) 5779 const result = await response.json(); 5780 if(result) { 5781 const url = result.url 5782 $("[data-properties=papan-logo]").val(url) 5783 } 5784
5785 reader.readAsDataURL(input.files[0]); 5786 } 5787 } 5788 5789 async function readURLAddress(input) { 5790 console.log(input, 'readURLAddress') 5791 if (input.files && input.files[0]) { 5792 let reader = new FileReader(); 5793 5794 reader.onload = function (e) { 5795 $('.photo-address').attr('src', e.target.result); 5796 $('.photo-address').show(); 5797 } 5798 5799 const type = 'image/jpeg' 5800 const name = input.files[0].name?.split('.')[0] 5801 5802 let formData = new FormData(); 5803 formData.append("file", input.files[0]); 5804 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5805 method: "POST", 5806 body: formData 5807 }) 5808 const result = await response.json(); 5809 5810 reader.readAsDataURL(input.files[0]); 5811 5812 return result 5813 } 5814 } 5815 5816 5817 5818 5819 async function addToCartUang() { 5820 var productAddOnId1 = 42122101162199; 5821 var productAddOnId2 = 42122101194967; 5822 var product_id = 8359546319899 5823 const data = { 5824 items: [ 5825 { 5826 quantity: $("#Quantity-" + productAddOnId1).val(), 5827 id: productAddOnId1, 5828 "properties": { "Time": $("#properties-time").val() } 5829 }, 5830 { 5831 quantity: $("#Quantity-" + productAddOnId2).val(), 5832 id: productAddOnId2, 5833 "properties": { "Time": $("#properties-time").val() } 5834 } 5835 ] 5836 } 5837 await fetch(window.Shopify.routes.root + 'cart/add.js', { 5838 method: 'POST', 5839 headers: { 5840 'Content-Type': 'application/json' 5841 }, 5842 body: JSON.stringify(data) 5843 }) 5844 .then(response => { 5845 console.error('Sukses Buket Uang:', response); 5846 $(".form-flower").submit() 5847 }) 5848 .catch((error) => { 5849 console.error('Error Buket Uang:', error); 5850 $(".form-flower").submit() 5851 }); 5852 } 5853 5854 async function saveCard(){ 5855 let isCard = true 5856 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 5857 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 5858 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 5859 const foto = $("#properties-photo").val() 5860 const video = $("#properties-video").val() 5861 const data = JSON.stringify({ 5862 "id": qrID, 5863 "penerima": $("#properties-nama-penerima").val(), 5864 "kartu_penerima": kartu_penerima, 5865 "kartu_ucapan": kartu_ucapan, 5866 "kartu_pengirim": kartu_pengirim, 5867 "foto": foto, 5868 "video": video, 5869 "productId": "8359546319899", 5870 "order_name": "", 5871 "status": "Cart" 5872 }) 5873 5874 5875 } 5876 5877 async function additem(items){ 5878 try { 5879 let formData = items 5880 if(items?.length) { 5881 formData = { 5882 'items': items 5883 }; 5884 } 5885 5886 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 5887 method: 'POST', 5888 headers: { 5889 'Content-Type': 'application/json', 5890 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 5891 }, 5892 body: JSON.stringify(formData) 5893 }) 5894 5895 const data = await add.json(); 5896 return data 5897 } catch(err){ 5898 console.log('Error additem', err) 5899 } 5900 } 5901 5902 async function addons(){ 5903 let items = [] 5904 $(".addon-item").each(function(){ 5905 const p = $(this) 5906 const props = p.next(".propsAddonSpotify") 5907 const id = $(this).data("id") 5908 const quantity = $(this).data("qty") 5909 const propId = $("#properties-time").val() 5910 let properties = {} 5911 if(id === 46067682607319) { 5912 const link = props.find(".spotifyLinkAddon").text() 5913 const photo = props.find(".spotifyFotoAddon").text() 5914 const song = props.find(".spotifySongAddon").text() 5915 const artist = props.find(".spotifyArtistAddon").text() 5916 properties = { 5917 id: propId, 5918 "Spotify Link": link !== '' ? link : '-', 5919 "Spotify Photo": photo !== '' ? photo : '-', 5920 "Spotify Song": song !== '' ? song : '-', 5921 "Spotify Artist": artist !== '' ? artist : '-', 5922 type: 'addon' 5923 } 5924 } else { 5925 properties = { 5926 "id": propId, 5927 "type": "addon" 5928 } 5929 } 5930 items.push({ 5931 id, 5932 quantity, 5933 properties 5934 }) 5935 }) 5936 return items 5937 } 5938 5939 async function propItems() { 5940 let props = {} 5941 $("[data-properties]").each(function(e){ 5942 let elementType = this.tagName;
5943 const k = $(this).data("properties") 5944 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') { 5945 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 5946 if(v !== '') { 5947 props[k] = v?.replace(/[\s\n]/g, ''); 5948 } 5949 } 5950 }) 5951 return props 5952 } 5953 5954 async function showPopupCart(items){ 5955 if(productType !== '') { 5956 console.log("clarity event " + productType + ' completeOrder') 5957 window.clarity("event", `${productType} completeOrder`) 5958 // window.clarity("set", productType, `completeOrder - ${productDate}`) 5959 } 5960 $("#popupCart").show() 5961 5962 $(".propDeliveryCity").text($("#cities").val()) 5963 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 5964 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 5965 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 5966 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 5967 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 5968 $(".propDeliveryProv").text($("#province").val()) 5969 $(".propDeliveryZip").text($("#zip").val()) 5970 5971 5972 5973 const addons = [] 5974 if(items && items.length > 0) { 5975 for(let i = 1; i < items.length; i++) { 5976 const spotifyLink = items[i].properties['Spotify Link'] 5977 const spotifyPhoto = items[i].properties['Spotify Photo'] 5978 const spotifySong = items[i].properties['Spotify Song'] 5979 const spotifyArtist = items[i].properties['Spotify Artist'] 5980 const price = items[i].price / 100 5981 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 5982 <div class="col-12 col-lg-2"></div> 5983 <div class="col-12 col-lg-10"> 5984 <p> 5985 <span>spotify link</span> 5986 <span>${spotifyLink}</span> 5987 </p> 5988 <p> 5989 <span>Upload Photo</span> 5990 <span>${spotifyPhoto}</span> 5991 </p> 5992 <p> 5993 <span>song / playlist name</span> 5994 <span>${spotifySong}</span> 5995 </p> 5996 <p> 5997 <span>artist name</span> 5998 <span>${spotifyArtist}</span> 5999 </p> 6000 </div> 6001 </div>` : ''; 6002 addons.push(`<div class="row m-0"> 6003 <div class="imgAddonCart col-2"> 6004 <img 6005 width="43" 6006 src="${items[i].image}" 6007 alt="" 6008 > 6009 </div> 6010 <div class="imgAddonTitlePrice col-10 align-self-center"> 6011 <div class="row justify-content-between m-0"> 6012 <div class="col-12 col-lg-8"> 6013 <h5>${items[i].title}</h5> 6014 </div> 6015 <div class="col-12 col-lg-4 text-lg-right"> 6016 <span>${rupiah.format(price)}</span> 6017 </div> 6018 </div> 6019 </div> 6020 </div>${props}`) 6021 } 6022 } 6023 // console.log(addons) 6024 if(addons.length === 0) { 6025 $(".itemAddonCart").hide() 6026 return 6027 } 6028 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6029 $(".wrapperItemAddonCart").html(addons) 6030 } 6031 6032 const money = (money) => { 6033 return new Intl.NumberFormat('id-ID', 6034 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6035 ).format(money); 6036 } 6037 6038 async function showNoteMoney() { 6039 let qty50k = $("[data-properties='Uang 50k']").val() 6040 let qty100k = $("[data-properties='Uang 100k']").val() 6041 const total50k = Number(qty50k) * 50000 6042 const total100k = Number(qty100k) * 100000 6043 const total_all = total50k + total100k 6044 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6045 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6046 $(".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://akademi.platformakademi.com/" target="_blank" style="text-decoration: underline;
6046 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6047 } 6048 6049 async function removeImage() { 6050 const data = JSON.stringify({ 6051 "ID": $("#properties-properties-qrId").val(), 6052 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6053 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6054 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6055 "Nama Penerima": $("#properties-nama-penerima").val(), 6056 "Order Number":"", 6057 "Status":"Product", 6058 "Foto": "", 6059 "Media": $("#properties-video").val(), 6060 "Image": "8359546319899" 6061 }) 6062 const remove = updateCard(data) 6063 if(remove) { 6064 $(this).hide() 6065 $("#properties-photo").val("-") 6066 $(".placeholder-image").show() 6067 $(".preview-image").attr("src", "") 6068 } 6069 } 6070 6071 async function removeVideo() { 6072 const data = JSON.stringify({ 6073 "ID": $("#properties-properties-qrId").val(), 6074 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6075 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6076 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6077 "Nama Penerima": $("#properties-nama-penerima").val(), 6078 "Order Number":"", 6079 "Status":"Product", 6080 "Foto": $("#properties-photo").val(), 6081 "Media": "", 6082 "Image": "8359546319899" 6083 }) 6084 const remove = updateCard(data) 6085 if(remove) { 6086 $("#properties-video").val("-") 6087 $(this).find("img").hide() 6088 $(this).hide() 6089 $(this).prev("p").text("Add video to make it more special (optional)") 6090 $("#label-input-video").show() 6091 $("#label-input-video span").text("Upload Video") 6092 $(".case-video-preview p span").remove() 6093 } 6094 } 6095 6096 async function loadItemOccasion(t, occasion) { 6097 const name = occasion?.replace('greeting-card-', '') 6098 $("#kartu-ucapan").val("") 6099 $("[data-occassion]").removeClass("selected") 6100 $("[data-properties=ucapan]").val("") 6101 $("#save-card").attr("disabled", true) 6102 t.addClass("selected") 6103 $("#show_note").attr("data-card-occassion", name) 6104 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6105 const products = data.products 6106 const html = [] 6107 for(let i = 0; i < products.length; i++) { 6108 const id = products[i].id 6109 const variantId = products[i].variants[0].id 6110 const img = products[i].images[0].src 6111 const title = products[i].title 6112 const price = products[i].variants[0].price 6113 const qty = products[i].variants[0].inventory_quantity 6114 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6115 <label for="card-${variantId}"></label> 6116 <div class="card-image"> 6117 <img src="${img}" alt="${title}" width="" height="" /> 6118 </div> 6119 <div class="card-meta text-center"> 6120 <h5>${title}</h5> 6121 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6122 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6123 </div> 6124 </div>` 6125 html.push(body) 6126 } 6127 const withoutCard = `<div class="item-card item-without-card"> 6128 <label for="card-0"></label> 6129 <div class="card-image"> 6130 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6131 </div> 6132 <div class="card-meta text-center"> 6133 <h5>
6133Send without a greeting card</h5> 6134 <input id="card-0" type="radio" name="id" value="" data-price=""> 6135 </div> 6136 </div>` 6137 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6138 }); 6139 } 6140 6141 $(document).ready(function(){ 6142 6143 // Observer to auto-trigger addon loading when addon section becomes visible 6144 const addonObserver = new MutationObserver(function(mutations) { 6145 mutations.forEach(function(mutation) { 6146 const target = $(mutation.target) 6147 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6148 if(!target.hasClass('hide')) { 6149 // Addon section just became visible, ensure items are loaded 6150 setTimeout(function() { 6151 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6152 console.log("Auto-triggering addon load...") 6153 $("[data-addon=upsell-all]").trigger("click") 6154 } 6155 }, 150) 6156 } 6157 } 6158 }) 6159 }) 6160 6161 // Start observing addon section 6162 const addonSection = document.querySelector('.purchaseAddon') 6163 if(addonSection) { 6164 addonObserver.observe(addonSection, { 6165 attributes: true, 6166 attributeFilter: ['class'] 6167 }) 6168 } 6169 6170 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6171 6172 $(this).find("span").addClass("loading") 6173 let isValid = true 6174 $(".formAddressPurchase [required]").each(function(){ 6175 const t = $(this) 6176 const input = t.val() 6177 const p = t.parent() 6178 if(input === '') { 6179 p.addClass("error") 6180 isValid = false 6181 } 6182 }) 6183 6184 if(!isValid) { 6185 $(this).find("span").removeClass("loading") 6186 return 6187 } 6188 6189 let items = [] 6190 const mainProps = { 6191 6192 "Delivery Date": $("#propDeliveryDate").val(), 6193 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6194 "Kota Pengiriman": $("#cities").val(), 6195 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6196 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6197 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6198 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6199 6200 6201 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6202 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6203 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6204 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6205 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6206 6207 6208 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6209 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6210 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6211 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6212 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6213 "type": 'product' 6214 } 6215 const props = await propItems() 6216 properties = {...mainProps, ...props }; 6217 const id = $("#productSelect").find('option:selected').val() 6218 console.log(id, 'main ID') 6219 const mainItem = { 6220 id: Number(id), 6221 quantity: 1, 6222 properties 6223 } 6224 items.push(mainItem) 6225 const cardId = $("#itemCards").find(".selected input").val() 6226 const cardItem = { 6227 id: Number(cardId), 6228 quantity: 1, 6229 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6230 } 6231 console.log(cardId, 'cardId') 6232 if(cardId) { 6233 items.push(cardItem) 6234 } 6235 const addon = await addons() 6236 if(addon) { 6237 for(let i = 0;
6237 i < addon.length; i++){ 6238 items.push({ 6239 id: addon[i].id, 6240 quantity: addon[i].quantity, 6241 properties: addon[i].properties 6242 }) 6243 } 6244 } 6245 const addItems = await additem(items) 6246 console.log(addItems.items, 'add items') 6247 if(addItems) { 6248 $(this).find("span").removeClass("loading") 6249 disablePopup() 6250 showPopupCart(addItems.items) 6251 6252 localStorage.setItem("items", JSON.stringify(addItems.items)) 6253 } 6254 }) 6255 6256 $("#addtocart-cart .btn").click(async function(){ 6257 const id = $("#productSelect").find('option:selected').val() 6258 const mainProps = { 6259 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6260 type: 'product' 6261 } 6262 const props = await propItems() 6263 const properties = { ...mainProps, ...props }; 6264 const items = { 6265 id: Number(id), 6266 quantity: 1, 6267 properties 6268 } 6269 const addItems = await additem(items) 6270 if(addItems) { 6271 showPopupCart(addItems.items) 6272 localStorage.setItem("items", JSON.stringify(addItems)) 6273 } 6274 }) 6275 6276 $(".formAddressPurchase [required]").change(function(){ 6277 const t = $(this) 6278 const p = t.parent() 6279 const v = t.val() 6280 if(v !== '') { 6281 p.removeClass("error") 6282 } 6283 }) 6284 6285 $("#save-card").click(async function(){ 6286 const parent = $(this).parents(".sectionPurchase") 6287 const next = parent.next(".sectionPurchase") 6288 $(this).find("span").addClass("loading") 6289 const card = await saveCard() 6290 console.log(card, 'ssaveCCC') 6291 if(card?.status === 200 || card?.status === 201) { 6292 $(".scanCard").removeClass("hide") 6293 $(this).find("span").removeClass("loading") 6294 parent.addClass("hide") 6295 next.removeClass("hide") 6296 if(next.hasClass("purchaseAddon")) { 6297 $("[data-addon=upsell-all]").click() 6298 console.log("clarity event addons") 6299 window.clarity("event", `${productType} add-ons`) 6300 // Ensure addon items are loaded when entering addon popup 6301 setTimeout(function() { 6302 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6303 $("[data-addon=upsell-all]").trigger("click") 6304 } 6305 }, 100) 6306 } 6307 if(next.hasClass("purchaseAddress")) { 6308 $("#zip").select2() 6309 } 6310 } 6311 }) 6312 6313 $("#skip-card").click(async function(){ 6314 $("#greetingCard [data-properties]").val("") 6315 $("#properties-photo").val("") 6316 $("#properties-video").val("") 6317 const parent = $(this).parents(".sectionPurchase") 6318 const next = parent.next(".sectionPurchase") 6319 parent.addClass("hide") 6320 next.removeClass("hide") 6321 // $("#itemCards").html("") 6322 removeImage() 6323 removeVideo() 6324 if(next.hasClass("purchaseAddon")) { 6325 $("[data-addon='upsell-all']").click() 6326 console.log("clarity event addons") 6327 window.clarity("event", `${productType} add-ons`) 6328 // Ensure addon items are loaded when entering addon popup 6329 setTimeout(function() { 6330 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6331 $("[data-addon='upsell-all']").trigger("click") 6332 } 6333 }, 100) 6334 } 6335 if(next.hasClass("purchaseAddress")) { 6336 $("#zip").select2() 6337 } 6338 }) 6339 6340 $("#msgCard").click(async function(){ 6341 $(this).parent().addClass("loading") 6342 let occasion = $(".selected[data-occassion]").data("occassion") 6343 occasion = occasion?.replace("greeting-card-", "") 6344 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6345 const d = data?.data 6346 for(let i = 0; i < d.length; i++) { 6347 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6348 const greeting = d[num]?.Greeting 6349 $(".greetingCard textarea").val(greeting) 6350 $(this).parent().removeClass("loading") 6351 } 6352 $("#save-card").attr("disabled", false) 6353 }) 6354 6355 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6356 const parent = $(this).parents(".sectionPurchase") 6357 const next = parent.next(".sectionPurchase") 6358 parent.addClass("hide") 6359 next.removeClass("hide") 6360 }) 6361 6362 $("#editCard").click(function(){ 6363 $(".custom-card").show() 6364 $(".preview-card").hide() 6365 }) 6366 6367 $("#first_name, #last_name").change(function(){ 6368 const v = $(this).val() 6369 const first_name = $("#first_name").val() 6370 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6371 $("[data-properties=nama-penerima]").val(first_name+last_name) 6372 }) 6373 6374 $("[data-occassion]").click(function(){ 6375 const t = $(this) 6376 const p = t.parents(".sectionPurchase") 6377 // $(".greetingCard").addClass("disabled") 6378 const occasion = t.data("occassion") 6379 loadItemOccasion(t, occasion) 6380 }) 6381 6382 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6383 const id = $(this).parent(".item-card").data("id") 6384 const t = $(this).parent(".item-card") 6385 const target = t.find("input") 6386 const v = $('.item-card input[type="radio"]:checked').val(); 6387 $("#itemCards .item-card").removeClass("selected") 6388 t.addClass("selected") 6389 $("#itemCards .item-card").find("input").attr("name", "") 6390 if(target.length > 0) { 6391 target.attr("name", "id[]") 6392 $("#properties-card").val(id) 6393 $(".greetingCard").removeClass("disabled") 6394 $("#skip-card").attr("disabled", false) 6395 } else { 6396 $("#properties-card").val("") 6397 } 6398 }) 6399 6400 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6401 const parent = $(this).parents(".sectionPurchase") 6402 const next = parent.next(".sectionPurchase") 6403 $(".greetingCard").addClass("disabled") 6404 parent.addClass("hide") 6405 next.removeClass("hide") 6406 $("[data-addon=upsell-all]").click() 6407 $("#zip").select2() 6408 }) 6409 6410 $("[data-properties=ucapan]").keyup(function(){ 6411 const v = $(this).val() 6412 const p = $(this).parents(".sectionPurchase") 6413 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6414 if(v.length > 3) { 6415 p.find(".next-purchase-button").attr("disabled", false) 6416 } else { 6417 p.find(".next-purchase-button").attr("disabled", true) 6418 } 6419 }) 6420 6421 $("[data-properties=penerima]").keyup(function(){ 6422 const v = $(this).val() 6423 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6424 }) 6425 6426 $("[data-properties=pengirim]").keyup(function(){ 6427 const v = $(this).val() 6428 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6429 }) 6430 6431 $(document).click(function(e){ 6432 6433 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6434 // $('#popupCart').fadeOut('slow'); 6435 // location.reload() 6436 }); 6437 6438 $(".toggleAddonCart").click(function(){ 6439 const p = $(this).parent(".itemAddonCart") 6440 p.toggleClass("open") 6441 }) 6442 6443 $(".btnViewCart").click(function(){ 6444 window.location.href = "https://outerbloom.com/cart"; 6445 }) 6446 6447 $(".btnViewCheckout").click(async function(){ 6448 $(this).find("span").addClass("loading") 6449 let zip = $("#zip").val() 6450 const first_name = $("#first_name").val() 6451 const last_name = $("#last_name").val() 6452 const company = $("#company").val() !== '' ? $("#company").val() : '' 6453 const address1 = $("#delivery_address").val() 6454 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6455 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6456 const phone = $("#recipient_number").val() 6457 const city = $("#cities").val() 6458 const province = $("#province").val() 6459 const country = 'Indonesia' 6460 const ver = Date.parse(new Date()) 6461 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}` 6462 6463 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6464 if(clear.status === 200) { 6465 const savedItem = window.localStorage.getItem("items"); 6466 const items = JSON.parse(savedItem) 6467 const addItems = await additem(items) 6468 console.log(addItems, 'new addItems') 6469 if(addItems) { 6470 window.location.href = `https://outerbloom.com/checkout?${params}`; 6471 } 6472 } 6473 }) 6474 6475 $(".btnContinueShopping").click(function(){ 6476 window.location.href = "https://outerbloom.com/"; 6477 }) 6478 6479 if (isIOS) { 6480 $(".empty-state-card").click(function(){ 6481 $("#input-foto").trigger("click") 6482 }) 6483 $(".btn-upload-image").click(function(){ 6484 $("#input-foto").trigger("click") 6485 }) 6486 $("[for=input-video]").click(function(){ 6487 $("#input-video").trigger("click") 6488 }) 6489 $(".btn-upload-papan").click(function(){ 6490 $("#logoPapan").trigger("click") 6491 }) 6492 } 6493 6494 $("[data-properties]").each(function(){ 6495 const select = $(this).parents(".form-group").find("select") 6496 $(this).change(function(){ 6497 const name = $(this).data("properties") 6498 const v = $(this).val() 6499 if (name == 'telepon-penerima') { 6500 let phone = v.replace(/[^0-9]/g, '') 6501 $(this).val(phone); 6502 $("#properties-telepon-penerima").val(phone) 6503 $('.iti__search-input').val('-') 6504 } else { 6505 $("#properties-" + name).val(v) 6506 } 6507 }) 6508 select.on("change", function(){ 6509 const name = $(this).data("properties") 6510 const v = $(this).val() 6511 $("#properties-" + name).val(v) 6512 }) 6513 }) 6514 6515 $("#show_note").click(function(){ 6516 nameq = $("#properties-nama-penerima").val() 6517 dear = $("#properties-kartu-nama-penerima").val() 6518 card = $("[data-properties=ucapan]").val() 6519 sender = $("#properties-kartu-nama-pengirim").val() 6520 photo = $("#properties-photo").val() 6521 video = $("#properties-video").val() 6522 updateCard(nameq, dear, card, sender, photo, video, status) 6523 }) 6524 6525 $(".remove-image").click(function(e){ 6526 e.preventDefault() 6527 $(this).find("img").show() 6528 removeImage() 6529 }) 6530 6531 $(".remove-media").click(function(e){ 6532 e.preventDefault() 6533 $(this).find("img").show() 6534 removeVideo() 6535 }) 6536 6537 6538 6539 $("[data-delivery_method]").click(function(e){ 6540 e.preventDefault() 6541 const t = $(this) 6542 const data = t.data("delivery_method") 6543 $("[data-delivery_method]").removeClass("selected") 6544 t.addClass("selected") 6545 $("#cities").val("") 6546 $("#properties-delivery-date").val("-") 6547 $("#deliveryDate button").removeClass("selected") 6548 $("#full-date").val("Full Calendar â") 6549 $("#propDeliveryDate").val("") 6550 const step3 = $("#step-3") 6551 if(data.match('PickUp')) { 6552 $(".selfpickup-point").show() 6553 step3.find("[data-finished=false]").hide() 6554 $("#panel-4").hide() 6555 step3.find("[data-finished=true]").show() 6556 $("#cities").attr("required", false) 6557 $("#form-group-city").hide() 6558 $("#row-delivery-time").hide() 6559 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6560 $("#propDeliveryTime").attr("required", false) 6561 // $("#deliveryDate").find("button:first-child").addClass("stop") 6562 $(".form-selfpickup").show() 6563 $(".form-delivery").hide() 6564 $(".form-delivery").find("input, textarea, select").val("") 6565 $(".form-delivery").find("input, textarea, select").attr("required", false) 6566 $("#properties-shipping").val("0") 6567 $("#noteDeliveryDate").hide() 6568 $(".form-delivery .form-control").attr("required", false) 6569 $("#stepNav4").hide() 6570 6571 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6572 6573 6574 6575 if(timeOfDay >= 16.01){ 6576 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6577 } 6578 } else { 6579 6580 6581 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6582 step3.find("[data-finished=false]").show() 6583 $("#panel-4").show() 6584 step3.find("[data-finished=true]").hide() 6585 $("#cities").attr("required", true) 6586 $(".selfpickup-point").hide() 6587 $("#form-group-city").show() 6588 $("#cities").val('').trigger('change'); 6589 $("#properties-kota-pengiriman").val("-") 6590 6591 $("#row-delivery-date, #row-delivery-time").show() 6592 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6593 $("#deliveryDate").find("button").removeClass("stop") 6594 $(".form-selfpickup").hide() 6595 $(".form-delivery").show() 6596 $(".form-delivery").find("input, textarea, select").attr("required", true)
6597 $(".form-delivery [data-properties]").attr("readonly", false) 6598 $("#properties-kodepos").val("-") 6599 $("#properties-alamat-penerima").val("-") 6600 $(".form-delivery .form-control").attr("required", true) 6601 $(this).parents(".setup-content").attr("id", "step-1") 6602 6603 $("#stepNav4").show() 6604 } 6605 }) 6606 6607 $("[name=selfpickup]").click(function(){ 6608 const p = $(this).parents(".row-pickup") 6609 const pickupCity = $("input[name='selfpickup']:checked").val(); 6610 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6611 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6612 6613 $(".row-pickup").removeClass("selected") 6614 p.addClass("selected") 6615 6616 $("#properties-kota-pengiriman").val(pickupCity) 6617 $("#province").val("Jakarta") 6618 $("#properties-alamat-penerima").val(pickupAddress) 6619 $("#properties-kodepos").val(pickupZip) 6620 }) 6621 6622 $("#cities").change(function(e){ 6623 e.preventDefault() 6624 $(this).parent(".row").find("p.error").remove() 6625 $("#full-date").val("Full Calendar") 6626 $("#deliveryDate, #deliveryDateFull label ").show() 6627 $("#deliveryDateFull").removeClass("filled") 6628 $(".btnChangeDeliveryDate").addClass("hide") 6629 $("#full-date").prop('disabled', false); 6630 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6631 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6632 const step3 = $("#step-3") 6633 $("#cityNote").remove() 6634 $("#noteDeliveryDate").hide() 6635 $("#noteDeliveryDate").empty() 6636 let v = $(this).val() 6637 let v2 = $('option:selected', this).attr('data-city'); 6638 let v3 = $('option:selected', this).attr('data-province'); 6639 let price = $('option:selected', this).attr('data-price'); 6640 $("#country").val(v) 6641 $("#properties-kota-pengiriman").val(v) 6642 $("#properties-shipping").val(price) 6643 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6644 $("#properties-delivery-date, #properties-delivery-time").val("-") 6645 $("#propDeliveryDate, #propDeliveryTime").val("") 6646 let note = $('option:selected', this).attr('data-note'); 6647 if(v === 'Kota Lainnya') { 6648 $("#noteDeliveryDate").show() 6649 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6650 $("#zip").attr("required", false) 6651 $("#zip").hide() 6652 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6653 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6654 $("#row-delivery-date, #row-delivery-time").hide() 6655 $("#properties-shipping").val("") 6656 // $(this).parents(".setup-content").attr("id", "step-2") 6657 6658 } else { 6659 $("#noteDeliveryDate").hide() 6660 $("#zip").attr("required", true) 6661 $("#zip").show() 6662 $("#row-delivery-date, #row-delivery-time").show() 6663 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6664 $("#deliveryDate").find("button").removeClass("stop") 6665 // $(this).parents(".setup-content").attr("id", "step-1") 6666 6667 } 6668 6669 6670 6671 // if(v !== 'Jakarta') { 6672 // $("[data-type=upsell]").hide() 6673 // } else { 6674 // $("[data-type=upsell]").show() 6675 // } 6676 // $('.collection-addons')[0].swiper.update(); 6677 6678 6679 getProvince(v) 6680 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6681 renderZip(v, v2, v3) 6682 6683 disabledSameDay() 6684 6685 6686 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6687 6688 $("#cardOccasion, #navAddon, .collection-addons").hide() 6689 6690 $("[data-addon=giftcard]").show() 6691 $("[data-addon=giftcard]").click() 6692 $("#itemAddons").show() 6693 $("#flower-step").addClass("nonjadetabek") 6694 } else { 6695 $("#cardOccasion, #navAddon, .collection-addons").show() 6696 $("[data-addon=all]").click() 6697 $("#flower-step").removeClass("nonjadetabek") 6698 } 6699 6700 if(v !== '') { 6701 $("#personalizeBtn .btn").attr("disabled", false) 6702 } else { 6703 $("#personalizeBtn .btn").attr("disabled", true) 6704 } 6705 6706 }) 6707 6708 $("#zip").change(function(e){ 6709 let v = $(this).val() 6710 var city = $("#cities").find('option:selected'); 6711 $("#properties-kodepos").val(v) 6712 if(city === 'Kota Lainnya') { 6713 $(this).attr("required", true) 6714 $("#recipient-address").val("") 6715 } 6716 }) 6717 6718 6719 var minDate = +7 6720 6721 6722 6723 $("#full-date").datepicker({ 6724 minDate, 6725 dateFormat: 'Mdd_yy', //Nop22_2021, 6726 6727 beforeShowDay: disabledays, 6728 6729 onSelect: function (date) { 6730 $("#deliveryDate, #deliveryDateFull label ").hide() 6731 $("#deliveryDateFull").addClass("filled") 6732 $(".btnChangeDeliveryDate").removeClass("hide") 6733 $("#full-date").prop('disabled', true); 6734 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6735 $(".date-full").addClass("selected") 6736 $(".date-single, .calendar-group").removeClass("selected") 6737 $("#propDeliveryTime").val('') 6738 $("#properties-delivery-time").val('-') 6739 $(".time-single").removeClass("selected") 6740 6741 6742 } 6743 }); 6744 6745 $(".btnChangeDeliveryDate").click(function(){ 6746 $("#deliveryDate, #deliveryDateFull label ").show() 6747 $("#deliveryDateFull").removeClass("filled") 6748 $(".btnChangeDeliveryDate").addClass("hide") 6749 $("#full-date").prop('disabled', false); 6750 }) 6751 6752 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6753 e.preventDefault() 6754 $(this).parents("#row-delivery-date").find("p.error").remove() 6755 const fulldate = $(this).data("fulldate") 6756 const day = $(this).data("day") 6757 const date = $(this).data("date")
6758 const month = $(this).data("month") 6759 const year = $(this).data("year") 6760 const off_pagi = $(this).data("offpagi") 6761 const off_siang = $(this).data("offsiang") 6762 const off_Malam = $(this).data("offMalam") 6763 $(".calendarbutton").removeClass("selected") 6764 $(this).addClass("selected") 6765 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 6766 $("#propDeliveryTime").val('') 6767 $("#properties-delivery-time").val('-') 6768 $(".calendarbutton2").removeClass("selected") 6769 $("#full-date").val("Full Calendar") 6770 6771 6772 if(off_pagi && timeOfDay > off_pagi) { 6773 $("[data-time=Morning]").attr("disabled", true) 6774 } else { 6775 $("[data-time=Morning]").attr("disabled", false) 6776 } 6777 if(off_siang && timeOfDay > off_siang) { 6778 $("[data-time=Afternoon]").attr("disabled", true) 6779 } else { 6780 $("[data-time=Afternoon]").attr("disabled", false) 6781 } 6782 6783 6784 6785 }) 6786 6787 if(today === 14 && timeOfDay > 17.00) { 6788 $("#deliveryDate button:first-child").attr("disabled", true) 6789 } 6790 6791 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 6792 e.preventDefault() 6793 const time = $(this).data("time") 6794 const date = $("#propDeliveryDate").val() 6795 if(date == '') { 6796 return alert('Silakan pilih tanggal terlebih dahulu') 6797 } 6798 $(".calendarbutton2").removeClass("selected") 6799 $(this).addClass("selected") 6800 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 6801 }) 6802 6803 $('textarea.has-limit, input.has-limit').keyup(function () { 6804 max = this.getAttribute("maxlength"); 6805 let len = $(this).val().length; 6806 let limit = $(this).siblings(".limit"); 6807 if (len > max) { 6808 alert('you have reached the limit'); 6809 } else { 6810 limit.text(`${len}/${max}`); 6811 } 6812 }); 6813 6814 $("#button-action-step .btn").click(function(){ 6815 $(this).find("span").text("Processing..."); 6816 }); 6817 6818 $(".finishBtn").on('click', function() { 6819 $(this).addClass("is-adding"); 6820 // $(this).click(); 6821 }); 6822 6823 $('.setup-panel .nav-item a.btn-success').trigger('click'); 6824 6825 $("#button-action .btn").click(function(){ 6826 $("#flower-step").addClass("block"); 6827 $("#button-action").hide(); 6828 }); 6829 6830 $(".close-how-order").click(function(){ 6831 $("#flower-step").removeClass("block"); 6832 $("#button-action").show(); 6833 }); 6834 6835 $("#input-foto, #input-video").change(function(e){ 6836 readURL(this); 6837 }); 6838 6839 $("#logoPapan").change(function(){ 6840 readURLPapan(this); 6841 }); 6842 6843 $("#address-upload").change(async function(){ 6844 const upload_address = await readURLAddress(this) 6845 if(upload_address) { 6846 const url = upload_address.url 6847 $(".props-address-upload").val(url) 6848 $(".form-address").addClass("address-uploaded") 6849 $(".form-address-upload").addClass("uploaded") 6850 6851 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 6852 } 6853 }) 6854 6855 $(".address-manualy").click(function(){ 6856 $(".form-address-upload").removeClass("uploaded"); 6857 $(".photo-address").hide(); 6858 $(".form-address").removeClass("address-uploaded") 6859 $("#formAddressPurchase").find(".form-control").attr("required", true) 6860 }); 6861 6862 $(".case-video-preview").delegate(".replace-video", "click", function(){ 6863 $("#input-video").trigger("click") 6864 }) 6865 6866 $('.date-single').click(function(e) { 6867 e.preventDefault(); 6868 $('.date-single').removeClass('selected'); 6869 $('#full-date').removeClass('selected'); 6870 $(this).addClass('selected'); 6871 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 6872 }); 6873 $('#full-date').click(function(e){ 6874 e.preventDefault(); 6875 $('.date-single').removeClass('selected'); 6876 $(this).addClass('selected'); 6877 }); 6878 6879 // $("tr").each(function(){ 6880 // if($(this).text().match('SKU')) { 6881 // $(".sku-product").html($(this).parents("table").html()) 6882 // } 6883 // }) 6884 6885 $("#product-image").scroll(function(){ 6886 $(".desc-add").each(function(){ 6887 const img = $(this).find("img") 6888 const src = img.data("src") 6889 img.attr("src", src) 6890 }) 6891 }) 6892 6893 $(".product-fixed").hide() 6894 6895 let target = $("#personalizeBtn") 6896 6897 6898 $(".product-meta").scroll(function() { 6899 if ($(window).scrollTop() >= target.offset().top ) { 6900 $(".product-fixed").addClass("show") 6901 } else { 6902 $(".product-fixed").removeClass("show") 6903 } 6904 }); 6905 6906 $(window).scroll(function() { 6907 if ($(window).scrollTop() >= target.offset().top ) { 6908 $(".product-fixed").addClass("show") 6909 } else { 6910 $(".product-fixed").removeClass("show") 6911 } 6912 }); 6913 }); 6914 </script>
6914 6915 6916
6916<script> 6917 // 6918 </script>
6918 6919 6920
6920<script> 6921 $(document).ready(function(){ 6922 $('table tr td').each(function(){ 6923 var texto = $(this).text(); 6924 var nextto = $(this).next("td"); 6925 var sku = $("#data-sku").val() 6926 if(texto == 'SKU'){ 6927 nextto.text(sku) 6928 } 6929 }); 6930 6931 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 6932 $(".stamped-summary-actions-newreview").text("Tulis Review"); 6933 $("#tab-questions").text("Pertanyaan"); 6934 6935 $(".freeship .icon").click(function(){ 6936 $(".fs-content").slideToggle(); 6937 $(this).parents(".freeship").toggleClass("expand"); 6938 }); 6939 6940 var $easyzoom = $('.easyzoom').easyZoom(); 6941 // Setup thumbnails example 6942 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 6943 $('.thumbnails').on('click', 'a', function(e) { 6944 var $this = $(this); 6945 e.preventDefault(); 6946 // Use EasyZoom's `swap` method 6947 api1.swap($this.data('standard'), $this.attr('href')); 6948 }); 6949 6950 $('#playerID').click(function(){ 6951 var videoURL = $('#VdoID').attr('src'), 6952 dataplay = $('#VdoID').attr('data-play'); 6953 6954 //for check autoplay 6955 //if not set autoplay=1 6956 if(dataplay == 0 ){ 6957 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 6958 $('#VdoID').attr('data-play',1); 6959 } 6960 else{ 6961 var videoURL = $('#VdoID').attr('src'); 6962 videoURL = videoURL.replace("?autoplay=1", ""); 6963 $('#VdoID').prop('src',''); 6964 $('#VdoID').prop('src',videoURL); 6965 6966 $('#VdoID').attr('data-play',0); 6967 } 6968 6969 }); 6970 6971 $(".product-photo-thumb-video").click(function(e){ 6972 e.preventDefault(); 6973 6974 var newEmbed = $(this).attr('href'); 6975 $("#featured-image-product").addClass("img-video"); 6976 $("#ProductPhotoImg").hide(); 6977 $("#featured-image-product .video").show(); 6978 $("#featured-image-product iframe").attr('src', newEmbed); 6979 $("#VdoID")[0].src += "&autoplay=1"; 6980 }); 6981 $(".product-single__thumbnail").click(function(evt){ 6982 evt.preventDefault(); 6983 $("#featured-image-product").removeClass("img-video"); 6984 $("#ProductPhotoImg").show(); 6985 $("#featured-image-product .video").hide(); 6986 $("#featured-image-product iframe").attr('src', ''); 6987 }); 6988 6989 if($('#product-meta .short-desc > div').length >= 1){ 6990 //console.log('div detected') 6991 var replacer = $('#product-meta .short-desc > div').contents(); 6992 $('#product-meta .short-desc > div').replaceWith(replacer); 6993 6994 var cAssured = $('.c-assured').detach(); 6995 cAssured.insertAfter('.meta-sds .stock-info'); 6996 } 6997 6998 6999 7000 $(".heading-toggle").click(function(){ 7001 $(this).parent().toggleClass("open") 7002 7003 }); 7004 }); 7005 </script>
7005 7006 7007 7008
7008<script type="application/json" id="ProductJson-Product"> 7009 7010 {"id":8359546319899,"title":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis"} 7011 </script>
7011 7012 7013
7013<script type="application/json" id="VariantJson-Product"> 7014 [ 7015 7016 { 7017 "incoming": false, 7018 "next_incoming_date": null 7019 } 7020 7021 ] 7022 </script>
7022 7023 7024 7025 7026 7027 </div> 7028 7029 7030
7030<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7030 7031 <style> 7032 .stamped-review-header-title, 7033 .stamped-review-header .author, 7034 .stamped-review-content-body, 7035 .stamped-sort-select, 7036 .stamped-review-header .verified-badge[data-type=buyer]:after, 7037 .stamped-review-header-byline, 7038 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7039 .stamped-review {margin-bottom: 0;} 7040 .stamped-review-body {padding-left: 65px;} 7041 .stamped-review:first-child {padding-top: 25px;} 7042 .stamped-review-content {clear: none;} 7043 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7044 .stamped-review-reply-body {padding-left: 65px;} 7045 .stamped-review-header .author {text-transform: capitalize;} 7046 .stamped-questions .stamped-review-content {padding-left: 65px;} 7047 7048 .stamped-pagination {margin: 20px 0 0;} 7049 .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;} 7050 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7051 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7052 .stamped-pagination li:hover a {background: #ddd;} 7053 .stamped-pagination .next {border-right: 1px solid #ccc;} 7054 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7055 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7056 7057 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7058 #stamped-pagination-question span {font-size: 14px;} 7059 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7060 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7061 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7062 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7063 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7064 7065 @media (max-width: 480px){ 7066 .stamped-review-reply {margin-left: 0!important;} 7067 select.stamped-sort-select {font-size: 13px!important;} 7068 } 7069 7070 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7071 display: block !important; 7072 } 7073 </style> 7074
7074<script> 7075 var selectCallback = function(variant, selector) { 7076 timber.productPage({ 7077 money_format: "Rp {{amount_no_decimals}}", 7078 variant: variant, 7079 selector: selector 7080 }); 7081 }; 7082 7083 jQuery(function($) { 7084 new Shopify.OptionSelectors('productSelect', { 7085 product: 7086 7087 7088 7089 7090 7091 {"id":8359546319899,"title":"WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eWARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis"}, 7092 onVariantSelected: selectCallback, 7093 enableHistoryState: true 7094 }); 7095 7096 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7097 7098 7099 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7100 7101 $('.selector-wrapper').hide(); 7102 7103 }); 7104 </script>
7104 7105 7106
7106<script type="application/ld+json"> 7107{ 7108 "@context": "https://schema.org/", 7109 "@type": "Product", 7110 "name": "WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026", 7111 "image": "https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png", 7112 "description": "Wargatoto adalah platform terpercaya untuk mewujudkan impian dan kesejahteraan melalui akses situs toto slot resmi yang aman, stabil, dan transparan.", 7113 "sku": "WARGA5D-2026", 7114 "brand": { 7115 "@type": "Brand", 7116 "name": "Wargatoto" 7117 }, 7118 "offers": { 7119 "@type": "Offer", 7120 "url": "https://www.platformakademi.com/", 7121 "priceCurrency": "IDR", 7122 "price": "835000", 7123 "priceValidUntil": "2026-12-31", 7124 "availability": "https://schema.org/InStock" 7125 }, 7126 "category": "Situs Toto Slot Resmi", 7127 "url": "https://www.platformakademi.com/" 7128} 7129</script>
7129 7130 7131
7131<script id="bss-ltap-hide-price" type="text/javascript" > 7132 !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)}))}
7132)),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)}
7132)),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()}
7132if("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)}
7132if(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");
7132c&&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
7132-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");
7132i&&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
7132--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
7132opify.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");
7132e.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=
7132o.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");
7132if(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();
7132let 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()}]); 7133 </script>
7133 7134 7135 </main> 7136 7137 <div id="shopify-section-newsletter" class="shopify-section"><br> 7138 <style> 7139 #shopify-section-newsletter { 7140 background: url(https://imgme.pro/images/28a8db60-da06-4f9b-8ce7-9ba57245da41.png); 7141 background-attachment: fixed; 7142 margin-bottom: 0; 7143 } 7144 input:-webkit-autofill, 7145 input:-webkit-autofill:hover, 7146 input:-webkit-autofill:active, 7147 input:-webkit-autofill:focus { 7148 -webkit-box-shadow:0 0 0 50px white inset; 7149 -webkit-text-fill-color: #ffffff; 7150 } 7151 .section-newsletter { 7152 max-width: 800px; 7153 margin: auto; 7154 padding: 50px 0; 7155 } 7156 .section-newsletter h2 { 7157 font-weight: 700; 7158 font-size: 24px; 7159 } 7160 .section-newsletter input[type="email"] { 7161 width: 100%; 7162 text-align: center; 7163 border: none; 7164 border-bottom: 1px solid #ffffff; 7165 font-size: 16px; 7166 color: #757575; 7167 background-color: #eeeeee; 7168 } 7169 .section-newsletter .row label { 7170 font-size: 14px; 7171 cursor: pointer; 7172 } 7173 .section-newsletter .radio-inline input { 7174 width: auto; 7175 } 7176 .section-newsletter .btn { 7177 width: 130px; 7178 border: 1px solid #ffffff; 7179 box-shadow: none; 7180 font-size: 16px; 7181 font-weight: 500; 7182 text-transform: uppercase; 7183 } 7184 .section-newsletter form { 7185 margin: 30px 0 60px; 7186 } 7187 .section-newsletter input[type="radio"] { 7188 position: absolute; 7189 width: 1px; 7190 height: 1px; 7191 } 7192 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7193 position: relative; 7194 padding-left: 28px; 7195 cursor: pointer; 7196 line-height: 20px; 7197 display: inline-block; 7198 color: #666; 7199 } 7200 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7201 content: ''; 7202 position: absolute; 7203 left: 0; 7204 top: 0; 7205 width: 18px; 7206 height: 18px; 7207 border: 1px solid #ddd; 7208 border-radius: 100%; 7209 background: #fff; 7210 } 7211 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7212 content: ''; 7213 width: 12px; 7214 height: 12px; 7215 background: #ffffff; 7216 position: absolute; 7217 top: 3px; 7218 left: 3px; 7219 border-radius: 100%; 7220 -webkit-transition: all 0.2s ease; 7221 transition: all 0.2s ease; 7222 } 7223 .section-newsletter [type="radio"]:not(:checked) + label:after { 7224 opacity: 0; 7225 -webkit-transform: scale(0); 7226 transform: scale(0); 7227 } 7228 .opt-newsletter {display:none;} 7229 .footer-newsletter p, .footer-newsletter p a { 7230 color: #757575; 7231 } 7232 @media (max-width:991px){ 7233 .section-newsletter h2 { 7234 font-size: 32px; 7235 } 7236 .section-newsletter input { 7237 width: 300px; 7238 font-size: 14px; 7239 } 7240 .section-newsletter { 7241 padding: 50px 20px; 7242 } 7243 } 7244 @media (max-width: 480px){ 7245 .section-newsletter input[type="email"] {font-size: 16px;} 7246 } 7247 </style> 7248 <style> 7249 .icon-img-footer { 7250 width: 80px; 7251 padding: 0px 5px; 7252 } 7253 @media (min-width: 768px) { 7254 .icon-img-footer { 7255 width: 120px; 7256 } 7257 } 7258 @media (min-width: 992px) { 7259 .icon-img-footer { 7260 width: 120px; 7261 } 7262 } 7263 7264 .button-login-daftar { 7265 display: grid; 7266 grid-template-columns: repeat(2, 1fr); 7267 font-weight: 700; 7268 } 7269 .button-login-daftar a { 7270 text-align: center; 7271 } 7272 .login, 7273 .register { 7274 color: #fff; 7275 padding: 15px 10px; 7276 font-size: 23px; 7277 } 7278 .login, 7279 .login-button { 7280 background: linear-gradient(to bottom,#1eff00 0,#00ff0d 100%); 7281 border: 2px solid #ffffff; 7282 } 7283 .register, 7284 .register-button { 7285 background: linear-gradient(to bottom,#003cff 0,#0026ff 100%); 7286 border: 2px solid #ffffff; 7287 } 7288 7289 7290 7291 </style> 7292 7293 <!-- wp:html --> 7294
7294<script> 7295 document.addEventListener('DOMContentLoaded', 7296 function(){const faqItems=document.querySelectorAll('.faq-item'); 7297 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7298 question.addEventListener('click', 7299 ()=>{const isActive=item.classList.contains('active'); 7300 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7301 if(!isActive){item.classList.add('active')}})})}); 7302 </script>
7302 7303 7304 7305 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7306 </div> 7307 <section class="fx-video-bg"> 7308 <video autoplay muted loop playsinline> 7309 <source src="https://imgme.pro/images/logo82fca95cbc13706b.png" type="video/mp4"> 7310 </video> 7311 <div class="fx-video-overlay"></div> 7312 7313 <div class="fx-article-wrap"> 7314 <article class="fx-article"> 7315 <section class="clean-container"> 7316 <div class="clean-wrap"> 7317 <!-- Judul Utama --> 7318<h1 class="clean-title"> 7319 WARGATOTO: Platform Akademi Belajar Situs Toto & Slot Gacor Aman Dengan Kurikulum 2026 7320</h1> 7321 7322<div class="clean-divider"></div> 7323 7324<!-- Artikel Utama --> 7325<div class="clean-article"> 7326 7327 <p> 7328 Memasuki tahun 2026, kebutuhan akan informasi yang terstruktur mengenai dunia toto online 7329 dan slot semakin berkembang. 7330 <span style="color: #ff0000;"> 7331 <strong> 7332 <a style="color: #ff0000;" href="https://www.platformakademi.com/">WARGATOTO</a> 7333 </strong> 7334 </span> 7335 hadir sebagai platform akademi digital yang menyajikan materi pembelajaran mengenai 7336 sistem toto, slot online, keamanan akses, penggunaan platform, serta pemahaman dasar 7337 melalui Kurikulum 2026 yang disusun secara sistematis dan mudah dipahami. 7338 </p> 7339 7340 <p> 7341 Konsep akademi WARGATOTO dirancang agar pengguna dapat mempelajari berbagai aspek 7342 platform digital secara bertahap, mulai dari pengenalan istilah, cara kerja sistem, 7343 penggunaan fitur, keamanan akun, hingga pemahaman mengenai akses melalui perangkat 7344 mobile maupun desktop. 7345 </p> 7346 7347 <h2><strong>WARGATOTO Sebagai Platform Akademi Belajar Toto & Slot 2026</strong></h2> 7348 7349 <p> 7350 WARGATOTO mengembangkan konsep pusat belajar yang menggabungkan informasi, panduan, 7351 dan materi edukasi dalam satu platform. Setiap materi disusun agar pengguna dapat 7352 memahami struktur situs toto dan slot secara lebih terarah tanpa harus mencari 7353 informasi dari banyak sumber berbeda. 7354 </p> 7355 7356 <p> 7357 Melalui pendekatan berbasis Kurikulum 2026, materi pembelajaran dibagi berdasarkan 7358 topik dan tingkat pemahaman sehingga lebih mudah dipelajari oleh pengguna baru maupun 7359 pengguna yang ingin memperluas pengetahuan mengenai ekosistem platform toto dan slot. 7360 </p> 7361 7362 <h2><strong>Kurikulum WARGATOTO 2026</strong></h2> 7363 7364 <p> 7365 Kurikulum WARGATOTO 2026 dirancang sebagai panduan pembelajaran digital yang membahas 7366 berbagai aspek penting dalam penggunaan dan pemahaman platform toto maupun slot. 7367 Materi disajikan secara bertahap agar pembaca dapat mempelajari setiap topik dengan 7368 struktur yang lebih jelas. 7369 </p> 7370 7371 <h3><strong>1. Pengenalan Sistem Toto Online</strong></h3> 7372 7373 <p> 7374 Materi dasar membahas pengertian toto online, struktur halaman, istilah yang umum 7375 digunakan, serta cara memahami informasi yang tersedia pada sebuah platform digital. 7376 Pembahasan disusun dengan bahasa sederhana agar mudah dipahami oleh pengguna pemula. 7377 </p> 7378 7379 <h3><strong>2. Edukasi Sistem dan Fitur Slot Online</strong></h3> 7380 7381 <p> 7382 WARGATOTO menyediakan materi edukasi mengenai struktur permainan slot online, 7383 fungsi menu, informasi permainan, serta berbagai fitur yang biasanya tersedia 7384 pada sebuah platform slot digital. 7385 </p> 7386 7387 <h3><strong>3. Panduan Keamanan Akun dan Akses</strong></h3> 7388 7389 <p> 7390 Keamanan menjadi salah satu bagian penting dalam Kurikulum WARGATOTO 2026. 7391 Pengguna dapat mempelajari cara mengenali alamat situs yang benar, menjaga data akun, 7392 membuat kata sandi yang lebih aman, serta menghindari tautan atau halaman tidak dikenal. 7393 </p> 7394 7395 <h3><strong>4. Akses Melalui Mobile dan Desktop</strong></h3> 7396 7397 <p> 7398 Materi ini membahas cara menggunakan platform melalui berbagai perangkat seperti 7399 smartphone, tablet, laptop, maupun komputer desktop. Tampilan yang responsif membantu 7400 pengguna mempelajari materi tanpa navigasi yang rumit. 7401 </p> 7402 7403 <h3><strong>5. Mengenal Infrastruktur dan Server Platform</strong></h3> 7404 7405 <p> 7406 WARGATOTO juga membahas fungsi dasar server dalam sebuah platform digital, 7407 termasuk bagaimana kestabilan infrastruktur dapat memengaruhi kecepatan halaman, 7408 respons sistem, dan kenyamanan ketika mengakses berbagai menu. 7409 </p> 7410 7411 <h2><strong>Keunggulan Akademi WARGATOTO</strong></h2> 7412 7413 <p> 7414 Sebagai platform akademi digital, WARGATOTO mengutamakan penyajian materi yang ringkas, 7415 terstruktur, dan mudah dinavigasi. Pengguna dapat memilih materi berdasarkan topik 7416 yang ingin dipelajari serta mengaksesnya melalui berbagai perangkat. 7417 </p> 7418 7419 <h3><strong>Materi Terstruktur</strong></h3> 7420 7421 <p> 7422 Setiap pembahasan dikelompokkan berdasarkan kategori sehingga pengguna dapat mempelajari 7423 topik secara bertahap mulai dari materi dasar hingga pembahasan yang lebih lengkap.
7424 </p> 7425 7426 <h3><strong>Informasi Mudah Dipahami</strong></h3> 7427 7428 <p> 7429 Bahasa dan struktur materi dibuat sederhana sehingga dapat dipahami oleh pengguna 7430 dengan tingkat pengalaman yang berbeda. 7431 </p> 7432 7433 <h3><strong>Tampilan Mobile Friendly</strong></h3> 7434 7435 <p> 7436 Platform dirancang responsif agar seluruh materi akademi dapat dibaca melalui 7437 smartphone, tablet, laptop, maupun desktop dengan nyaman. 7438 </p> 7439 7440 <h3><strong>Fokus pada Edukasi Keamanan Digital</strong></h3> 7441 7442 <p> 7443 Selain membahas sistem toto dan slot, WARGATOTO menempatkan keamanan akses dan 7444 perlindungan data sebagai bagian penting dalam materi pembelajaran. 7445 </p> 7446 7447 <h2><strong>Mulai Belajar Bersama Akademi WARGATOTO</strong></h2> 7448 7449 <p> 7450 Melalui Kurikulum 2026, WARGATOTO menghadirkan pusat pembelajaran yang membantu 7451 pengguna memahami berbagai aspek situs toto dan slot secara lebih terstruktur. 7452 Gunakan materi yang tersedia sebagai referensi edukasi, selalu prioritaskan keamanan 7453 digital, dan pastikan penggunaan layanan online mengikuti ketentuan yang berlaku 7454 di wilayah masing-masing. 7455 </p> 7456 7457</div> 7458 7459 7460<!-- FAQ Section --> 7461<section class="WARGATOTO-block" id="faq" style="margin-top: 30px;"> 7462 7463 <div class="WARGATOTO-head"> 7464 <span class="WARGATOTO-dot"></span> 7465 <span>FAQ AKADEMI WARGATOTO</span> 7466 </div> 7467 7468 <div class="WARGATOTO-faq"> 7469 7470 <details class="WARGATOTO-item"> 7471 <summary>Apa itu Akademi WARGATOTO?</summary> 7472 <div class="WARGATOTO-ans"> 7473 Akademi WARGATOTO adalah platform pembelajaran digital yang menyajikan 7474 materi mengenai sistem toto online, slot, keamanan akses, penggunaan platform, 7475 serta berbagai pembahasan pendukung melalui Kurikulum 2026. 7476 </div> 7477 </details> 7478 7479 <details class="WARGATOTO-item"> 7480 <summary>Apa yang dipelajari dalam Kurikulum WARGATOTO 2026?</summary> 7481 <div class="WARGATOTO-ans"> 7482 Kurikulum WARGATOTO 2026 mencakup pengenalan sistem toto online, 7483 edukasi fitur slot, keamanan akun, penggunaan platform melalui perangkat mobile, 7484 serta pemahaman mengenai infrastruktur dan akses digital. 7485 </div> 7486 </details> 7487 7488 <details class="WARGATOTO-item"> 7489 <summary>Apakah materi WARGATOTO cocok untuk pemula?</summary> 7490 <div class="WARGATOTO-ans"> 7491 Ya. Materi disusun secara bertahap dengan bahasa yang sederhana sehingga 7492 pengguna baru dapat memahami konsep dasar sebelum mempelajari pembahasan 7493 yang lebih lengkap. 7494 </div> 7495 </details> 7496 7497 <details class="WARGATOTO-item"> 7498 <summary>Apakah Akademi WARGATOTO dapat diakses melalui perangkat mobile?</summary> 7499 <div class="WARGATOTO-ans"> 7500 Ya. Tampilan WARGATOTO dibuat responsif sehingga materi dapat diakses 7501 melalui smartphone, tablet, laptop, maupun komputer desktop. 7502 </div> 7503 </details> 7504 7505 <details class="WARGATOTO-item"> 7506 <summary>Apakah WARGATOTO membahas keamanan digital?</summary> 7507 <div class="WARGATOTO-ans"> 7508 Ya. Keamanan digital menjadi salah satu bagian penting dalam kurikulum, 7509 termasuk pemahaman mengenai keamanan akun, penggunaan alamat resmi, 7510 perlindungan data, dan cara mengenali tautan yang mencurigakan. 7511 </div> 7512 </details> 7513 7514 <details class="WARGATOTO-item"> 7515 <summary>Bagaimana cara mulai belajar di WARGATOTO?</summary> 7516 <div class="WARGATOTO-ans"> 7517 Pengguna dapat memilih materi berdasarkan kategori yang tersedia, 7518 mulai dari Akademi Toto, Belajar Slot, Kurikulum 2026, hingga Panduan Aman, 7519 kemudian mengikuti materi secara bertahap. 7520 </div> 7521 </details> 7522 7523 </div> 7524 7525</section> 7526 7527 7528<!-- Keunggulan Akademi --> 7529<section class="WARGATOTO-block" id="keunggulan" style="margin-top: 30px;"> 7530 7531 <div class="WARGATOTO-head"> 7532 <span class="WARGATOTO-dot"></span> 7533 <span>KEUNGGULAN AKADEMI WARGATOTO</span> 7534 </div> 7535 7536 <div class="WARGATOTO-testi-grid"> 7537 7538 <article class="WARGATOTO-testi"> 7539 <div class="WARGATOTO-top"> 7540 <div class="WARGATOTO-title">Kurikulum 2026</div> 7541 </div> 7542 <div class="WARGATOTO-text"> 7543 Materi pembelajaran disusun secara bertahap dan terstruktur sesuai tema Akademi WARGATOTO. 7544 </div> 7545 </article> 7546 7547 <article class="WARGATOTO-testi"> 7548 <div class="WARGATOTO-top"> 7549 <div class="WARGATOTO-title">Akademi Toto</div> 7550 </div> 7551 <div class="WARGATOTO-text"> 7552 Membahas dasar sistem toto online, struktur platform, dan berbagai istilah penting. 7553 </div> 7554 </article> 7555 7556 <article class="WARGATOTO-testi"> 7557 <div class="WARGATOTO-top"> 7558 <div class="WARGATOTO-title">Belajar Slot</div> 7559 </div> 7560 <div class="WARGATOTO-text"> 7561 Materi edukasi mengenai sistem, menu, dan fitur yang umum tersedia pada platform slot. 7562 </div> 7563 </article> 7564 7565 <article class="WARGATOTO-testi"> 7566 <div class="WARGATOTO-top"> 7567 <div class="WARGATOTO-title">Panduan Aman</div> 7568 </div> 7569 <div class="WARGATOTO-text"> 7570 Edukasi mengenai perlindungan akun, keamanan akses, dan penggunaan platform digital. 7571 </div> 7572 </article> 7573 7574 <article class="WARGATOTO-testi"> 7575 <div class="WARGATOTO-top"> 7576 <div class="WARGATOTO-title">Mobile Friendly</div> 7577 </div> 7578 <div class="WARGATOTO-text"> 7579 Materi akademi dapat dipelajari melalui smartphone, tablet, laptop, maupun desktop. 7580 </div> 7581 </article> 7582 7583 <article class="WARGATOTO-testi"> 7584 <div class="WARGATOTO-top"> 7585 <div class="WARGATOTO-title">Materi Terstruktur</div> 7586 </div> 7587 <div class="WARGATOTO-text"> 7588 Setiap topik dikelompokkan agar proses belajar lebih sederhana, jelas, dan mudah diikuti. 7589 </div> 7590 </article> 7591 7592 </div> 7593 7594</section> 7595 7596 7597<!-- Trending Tags --> 7598<section class="container pt-4 pb-3"> 7599 7600 <h2 class="h4 text-warning mb-3">Topik Akademi WARGATOTO</h2> 7601 7602 <div class="d-flex flex-wrap"> 7603 7604 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7605 href="https://www.platformakademi.com/"> 7606 WARGATOTO 7607 </a> 7608 7609 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7610 href="https://www.platformakademi.com/akademi-toto/"> 7611 AKADEMI TOTO 7612 </a> 7613 7614 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7615 href="https://www.platformakademi.com/belajar-slot-gacor/"> 7616 BELAJAR SLOT 7617 </a> 7618 7619 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7620 href="https://www.platformakademi.com/kurikulum-2026/"> 7621 KURIKULUM 2026 7622 </a> 7623 7624 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7625 href="https://www.platformakademi.com/panduan-keamanan/"> 7626 PANDUAN AMAN 7627 </a> 7628 7629 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7630 href="https://www.platformakademi.com/pusat-belajar/"> 7631 PUSAT BELAJAR 7632 </a> 7633 7634 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7635 href="https://www.platformakademi.com/"> 7636 EDUKASI TOTO ONLINE 7637 </a> 7638 7639 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7640 href="https://www.platformakademi.com/"> 7641 EDUKASI SLOT 2026 7642 </a> 7643 7644 <a class="badge badge-pill badge-warning text-dark p-3 mr-2 mb-2" 7645 href="https://www.platformakademi.com/"> 7646 KEAMANAN DIGITAL 7647 </a> 7648 7649 </div> 7650 7651</section> 7652 <style id="WARGATOTO-faq-testi-styles"> 7653 .WARGATOTO-block { 7654 position: relative; 7655 margin: 10px 7656 } 7657 7658 .WARGATOTO-head { 7659 display: flex; 7660 align-items: center; 7661 gap: 10px; 7662 margin: 10px 0 12px; 7663 font-weight: 800; 7664 letter-spacing: .9px; 7665 font-size: 14px; 7666 color: #ffffff; 7667 text-transform: uppercase 7668 } 7669 7670 .WARGATOTO-dot { 7671 width: 10px; 7672 height: 10px; 7673 border-radius: 50%; 7674 background: radial-gradient(circle at 30% 30%, #ff0000, rgb(83 62 0)); 7675 box-shadow: 0 0 0 4px rgba(255, 202, 40, .15), 0 0 18px rgba(255, 202, 40, .35) 7676 } 7677 7678 .WARGATOTO-faq { 7679 display: grid; 7680 gap: 10px 7681 } 7682 7683 .WARGATOTO-item { 7684 border-radius: 16px; 7685 border: 1px solid rgb(255 0 0 / 76%); 7686 background: linear-gradient(135deg, rgb(255 0 0), rgb(255 192 0)); 7687 box-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 0 18px 50px rgba(0, 0, 0, .45); 7688 overflow: hidden 7689 } 7690 7691 .WARGATOTO-item summary { 7692 list-style: none; 7693 cursor: pointer; 7694 padding: 14px 14px 14px 16px; 7695 position: relative; 7696 font-weight: 700; 7697 color: #fff 7698 } 7699 7700 .WARGATOTO-item summary::-webkit-details-marker { 7701 display: none 7702 } 7703 7704 .WARGATOTO-item summary:after { 7705 content: "+"; 7706 position: absolute; 7707 right: 14px; 7708 top: 50%; 7709 transform: translateY(-50%); 7710 width: 34px; 7711 height: 34px; 7712 display: grid; 7713 place-items: center; 7714 border-radius: 12px; 7715 background: rgba(0, 0, 0, .35); 7716 border: 1px solid rgba(255, 202, 40, .25); 7717 box-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 8px 18px rgba(0, 0, 0, .35); 7718 transition: transform .2s ease 7719 } 7720 7721 .WARGATOTO-item[open] summary:after { 7722 content: "ââ¬â"; 7723 transform: translateY(-50%) rotate(180deg) 7724 } 7725 7726 .WARGATOTO-ans { 7727 padding: 0 16px 14px; 7728 color: rgba(255, 255, 255, .88); 7729 line-height: 1.6 7730 } 7731 7732 .WARGATOTO-item[open] { 7733 border-color: rgba(255, 202, 40, .45) 7734 } 7735 7736 .WARGATOTO-testi-grid { 7737 display: grid; 7738 grid-template-columns: repeat(3, minmax(0, 1fr)); 7739 gap: 12px 7740 } 7741 7742 .WARGATOTO-testi { 7743 border-radius: 18px; 7744 padding: 14px 14px 14px 14px; 7745 background: 7746 radial-gradient(80% 80% at 0% 0%, rgb(255 40 40), #ff7400 60%), radial-gradient(70% 70% at 100% 0%, rgb(255 186 0), #fff700 55%), linear-gradient(135deg, rgba(0, 0, 0, .42), rgb(255 129 0)); 7747 box-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 0 18px 55px rgba(0, 0, 0, .5); 7748 position: relative; 7749 overflow: hidden 7750 } 7751 7752 .WARGATOTO-testi:before { 7753 content: ""; 7754 position: absolute; 7755 inset: -2px; 7756 background: linear-gradient(90deg, transparent, rgba(255, 202, 40, .25), transparent); 7757 filter: blur(10px); 7758 opacity: .8; 7759 animation: neoSweep 3.6s ease-in-out infinite 7760 } 7761 7762 @keyframes neoSweep { 7763 0% { 7764 transform: translateX(-40%) 7765 } 7766 7767 50% { 7768 transform: translateX(40%) 7769 } 7770 7771 100% { 7772 transform: translateX(-40%) 7773 } 7774 } 7775 7776 .WARGATOTO-testi>* { 7777 position: relative; 7778 z-index: 1 7779 } 7780 7781 .WARGATOTO-top { 7782 display: flex; 7783 align-items: center; 7784 justify-content: space-between; 7785 gap: 10px; 7786 margin-bottom: 6px 7787 } 7788 7789 .WARGATOTO-title { 7790 font-weight: 800; 7791 color: #fff 7792 } 7793 7794 .WARGATOTO-stars { 7795 font-size: 13px; 7796 letter-spacing: 1px; 7797 color: #ffca28; 7798 text-shadow: 0 0 10px rgba(255, 202, 40, .22) 7799 } 7800 7801 .WARGATOTO-name { 7802 font-weight: 700; 7803 color: rgba(255, 255, 255, .9); 7804 margin-bottom: 6px 7805 } 7806 7807 .WARGATOTO-text { 7808 color: rgba(255, 255, 255, .85); 7809 line-height: 1.55 7810 } 7811 7812 @media (max-width: 991px) { 7813 .WARGATOTO-testi-grid { 7814 grid-template-columns: repeat(2, minmax(0, 1fr)) 7815 } 7816 } 7817 7818 @media (max-width: 575px) { 7819 .WARGATOTO-testi-grid { 7820 grid-template-columns: 1fr 7821 } 7822 7823 .WARGATOTO-item summary { 7824 padding-right: 56px 7825 } 7826 } 7827 7828 .footer-main>.container, .cms-section .footer-main>.boxed { 7829 padding-top: 15px; 7830 } 7831 </style> 7832 </article> 7833 </div> 7834</section> 7835 7836 </div> 7837 7838 7839 <div class="overlay overlay-cart"></div> 7840 <div id="CartDrawer" class="drawer drawer--right"> 7841 <div class="drawer__header pl-2 pr-2"> 7842 <div class="drawer__icon-cart display-table-cell"> 7843 <a href="/cart" class=""> 7844 <svg class="icon icon-cart" version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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.5
784473zM7.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.005-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> 7845 </a> 7846 </div> 7847 <div class="drawer__title h4">Keranjang Belanja</div> 7848 <div class="drawer__close js-drawer-close"> 7849 <button type="button"> 7850 <svg class="icon icon-close" version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="32" height="32" viewBox="0 0 32 32"> 7851 <title>icon-close</title> 7852 <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> 7853 </svg> 7854 </button> 7855 </div> 7856 </div> 7857 <div id="CartContainer" class="p-2"></div> 7858 </div> 7859 7860
7860<script> 7861 7862 </script>
7862 7863
7863<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7863 7864 <!-- /snippets/ajax-cart-template.liquid --> 7865 7866
7866<script id="CartTemplate" type="text/template"> 7867 7868 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 7869 <div class="ajaxcart__inner" {{ cart.item_count }}> 7870 {{#items}} 7871 <div class="ajaxcart__product"> 7872 <div class="ajaxcart__row" data-line="{{line}}"> 7873 <div class="grid"> 7874 <div class="grid__item one-quarter"> 7875 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 7876 </div> 7877 <div class="grid__item three-quarters"> 7878 <p class="d-block mb-3"> 7879 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 7880 {{#if variation}} 7881 <span class="ajaxcart__product-meta p">{{variation}}</span> 7882 {{/if}} 7883 {{#properties}} 7884 {{#each this}} 7885 {{#if this}} 7886 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7887 {{/if}} 7888 {{/each}} 7889 {{/properties}} 7890 7891 </p> 7892 <div class="grid--full display-table"> 7893 <div class="grid__item display-table-cell one-half"> 7894 <div class="ajaxcart__qty"> 7895 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7896 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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> 7897 <span class="visually-hidden">Kurangi jumlah barang</span> 7898 </button> 7899 <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]*"> 7900 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7901 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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> 7902 <span class="visually-hidden">Tambahkan jumlah barang</span> 7903 </button> 7904 </div> 7905 </div> 7906 <div class="grid__item display-table-cell one-half text-right"> 7907 {{#if discountsApplied}} 7908 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7909 <br><span class="h4">{{{linePrice}}}</span> 7910 {{else}} 7911 <span class="h4">{{{linePrice}}}</span> 7912 {{/if}} 7913 </div> 7914 </div> 7915 {{#if discountsApplied}} 7916 <div class="grid--full display-table"> 7917 <div class="grid__item text-right"> 7918 {{#each discounts}} 7919 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7920 {{/each}} 7921 </div> 7922 </div> 7923 {{/if}} 7924 </div> 7925 </div> 7926 </div> 7927 </div> 7928 </div> 7929 </div> 7930 {{/items}} 7931 </div> 7932 <div class="ajaxcart__footer"> 7933 <div class="grid--full cart-subtotal py-2"> 7934 <p>Subtotal</p> 7935 <h3 class="primary">{{{totalPrice}}}</h3> 7936 {{#if totalCartDiscount}} 7937 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7938 {{/if}} 7939 </div> 7940 7941 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7942 7943 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 7944 </div> 7945 </form> 7946 7947 </script>
7947 7948
7948<script id="AjaxQty" type="text/template"> 7949 7950 <div class="ajaxcart__qty"> 7951 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7952 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="24" viewBox="0 0 32 32"> 7953 <title>icon-minus</title> 7954 <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> 7955 </svg> 7956 <span class="visually-hidden">Kurangi jumlah barang</span> 7957 </button> 7958 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7959 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7960 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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> 7961 <span class="visually-hidden">Tambahkan jumlah barang</span> 7962 </button> 7963 </div> 7964 7965 </script>
7965 7966
7966<script id="JsQty" type="text/template"> 7967 7968 <div class="js-qty mx-auto mt-2"> 7969 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7970 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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> 7971 <span class="visually-hidden">Kurangi jumlah barang</span> 7972 </button> 7973 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 7974 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7975 <svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.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> 7976 <span class="visually-hidden">Tambahkan jumlah barang</span> 7977 </button> 7978 </div> 7979 7980 </script>
7980 7981 7982 <style> 7983 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 7984 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 7985 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 7986 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7987 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7988 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 7989 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 7990 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 7991 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 7992 </style> 7993
7993<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
7993 7994
7994<script> 7995 jQuery(function($) { 7996 ajaxCart.init({ 7997 formSelector: '#AddToCartForm', 7998 cartContainer: '#CartContainer', 7999 addToCartSelector: '#AddToCartXX', 8000 cartCountSelector: '#CartCount, #CartCount2', 8001 cartCostSelector: '#CartCost', 8002 moneyFormat: "Rp {{amount_no_decimals}}" 8003 }); 8004 }); 8005 8006 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 8007 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 8008 timber.RightDrawer.open(); 8009 }); 8010 </script>
8010 8011 8012 8013 8014 8015 <style> 8016 /** Search AutoComplete **/ 8017 .resultsearch .ui-menu-item[data-cat="Collection"], 8018 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 8019 .resultsearch .ui-widget.ui-widget-content { 8020 width: 100%; 8021 top: 48px; 8022 border: none; 8023 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 8024 } 8025 .resultsearch .ui-menu-item {text-align: left;} 8026 .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;} 8027 .ui-state-active { 8028 border: none!important; 8029 background-color: #fafafa!important; 8030 color: #000!important; 8031 } 8032 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 8033 .ui-menu .ui-menu-item {line-height: normal;} 8034 </style> 8035
8035<script> 8036 $(window).load(function(){ 8037 8038 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;} 8039 8040 $.widget("custom.catcomplete", $.ui.autocomplete, { 8041 _renderMenu: function (ul, items) { 8042 // have search reults split up in categories 8043 var that = this, 8044 currentCategory = ""; 8045 $.each(items, function (index, item) { 8046 if (item.category != currentCategory) { 8047 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 8048 currentCategory = item.category; 8049 } 8050 that._renderItemData(ul, item); 8051 }); 8052 } 8053 }); 8054 8055 // higlight searched for term 8056 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 8057 var term = this.element.val(), 8058 html = item.label.replace( term, "<b>$&</b>" ); 8059 return $( "<li>" ) 8060 .append(format(item)) 8061 .appendTo( ul ); 8062 }; 8063 8064 8065 var data = [ 8066 { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " },{ label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " },{ label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " },{ label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " },{ label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " },{ label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " },{ label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " },{ label: "Aquarius âï¸ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " },{ label: "Aries âï¸ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " },{ label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " },{ label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " },{ label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " },{ label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " },{ label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " },{ label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " },{ label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " },{ label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " },{ label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " },{ label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " },{ label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " },{ label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " },{ label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " },{ label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " },{ label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " },{ label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " },{ label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " },{ label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " },{ label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " },{ label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " },{ label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " },{ label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " },{ label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " },{ label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " },{ label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " },{ label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " },{ label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " },{ label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " },{ label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " },{ label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " },{ label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " },{ label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " },{ label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " },{ label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " },{ label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " },{ label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " },{ label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " },{ label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " },{ label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " },{ label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " },{ label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " },{ label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " },{ label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " },{ label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " },{ label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " },{ label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " },{ label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " },{ label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " },{ label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " },{ label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " },{ label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " },{ label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " },{ label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " },{ label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " },{ label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " },{ label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " },{ label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " },{ label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " },{ label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " },{ label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " },{ label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " },{ label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " },{ label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " },{ label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " },{ label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " },{ label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " },{ label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " },{ label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " },{ label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " },{ label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " },{ label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " },{ label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " },{ label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " },{ label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " },{ label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " },{ label: "Cancer âï¸ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " },{ label: "Capricorn âï¸ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " },{ label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " },{ label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " },{ label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " },{ label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " },{ label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " },{ label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " },{ label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " },{ label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " },{ label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " },{ label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " },{ label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " },{ label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " },{ label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " },{ label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " },{ label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " },{ label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " },{ label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " },{ label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " },{ label: "Craft Sweetbox Newborn", category: "Co
8066llection", 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: " " }
8066,{ 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: " " }
8066,{ 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: " " }
8066,{ 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
8066dal", 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-
8066hampers", 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
8066o-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: " " }
8066,{ 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: " " }
8066,{ 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: " " }
8066,{ 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: " " }
8066,{ 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: " " }
8066,{ 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: " " }
8066,{ 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: " " }
8066,{ 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: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "WARGATOTO adalah platform akademi digital yang menghadirkan materi pembelajaran seputar ekosistem situs toto dan slot online melalui Kurikulum 2026 yang terstruktur dan mudah dipahami. Mulai dari pengenalan sistem, pengelolaan platform, pemahaman fitur permainan, hingga keamanan akun dan transaksi digital, WARGATOTO menyajikan informasi dalam satu pusat edukasi yang dapat diakses secara praktis 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: "/coll
8066ections/sweetooth", images: " ", price: " " },{ label: "Taurus âï¸ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "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: " " }
8066,{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " },{ label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " },{ label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " },{ label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " },{ label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " },{ label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " },{ label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " },{ label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " },{ label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " },{ label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " },{ label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " },{ label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " },{ label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " },{ label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " },{ label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " },{ label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " },{ label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " },{ label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " },{ label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " },{ label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " },{ label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " },{ label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " },{ label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " },{ label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " },{ label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " },{ label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " },{ label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " },{ label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " },{ label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " },{ label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " },{ label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " },{ label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " },{ label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " },{ label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " },{ label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " },{ label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " },{ label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " },{ label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " },{ label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " },{ label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " },{ label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " },{ label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " },{ label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " },{ label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " },{ label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " },{ label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
8066dal", 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: " " }, 8067 { 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" }
8067,{ 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" }
8067,{ 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" } 8068 ]; 8069 8070 8071 $( ".header-input-search" ).catcomplete({ 8072 appendTo: ".searchResult",source: function(request, response) { 8073 var results = $.ui.autocomplete.filter(data, request.term); 8074 var predicate = function () { 8075 var counter = { Collection: 0, Produk: 0 }; 8076 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 8077 return fn 8078 }(); 8079 response(results.filter(predicate)); 8080 }, 8081 minLength:1, 8082 //results are clickable 8083 select: function( event, ui ) {window.location = ui.item.url;} 8084 }); 8085 $( ".header-input-search2" ).catcomplete({ 8086 appendTo: ".searchResult2", 8087 source: function(request, response) { 8088 var results = $.ui.autocomplete.filter(data, request.term); 8089 var predicate = function () { 8090 var counter = { Collection: 0, Produk: 0 }; 8091 var fn = function(item) { 8092 counter[item.category] += 1; 8093 return (counter[item.category] <= 5); 8094 } 8095 return fn 8096 }(); 8097 response(results.filter(predicate)); 8098 }, 8099 minLength:1, 8100 //results are clickable 8101 select: function( event, ui ) { 8102 window.location = ui.item.url; 8103 } 8104 }); 8105 }); 8106 </script>
8106 8107 8108
8108<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
8108 8109
8109<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
8109 8110 8111
8111<script> 8112 ( function() { 8113 var youtube = document.querySelectorAll( ".youtube" ); 8114 for (var i = 0; i < youtube.length; i++) { 8115 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 8116 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 8117 var image = new Image(); 8118 image.src = source; 8119 image.setAttribute("data-src", datasource); 8120 image.classList.add("swiper-lazy"); 8121 image.addEventListener( "load", function() { 8122 youtube[ i ].appendChild( image ); 8123 }( i ) ); 8124 youtube[i].addEventListener( "click", function() { 8125 var iframe = document.createElement( "iframe" ); 8126 iframe.setAttribute( "width", "480" ); 8127 iframe.setAttribute( "height", "480" ); 8128 iframe.setAttribute( "frameborder", "0" ); 8129 iframe.setAttribute( "allowfullscreen", "" ); 8130 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 8131 this.innerHTML = ""; 8132 this.appendChild( iframe ); 8133 } ); 8134 }; 8135 8136 } )(); 8137 8138 /* Lazy Load */ 8139 const mainLazyLoad = new LazyLoad({threshold:400}); 8140 $(document).ready(function(){ 8141 8142 $("selectxxx").addClass("needsclick"); 8143 FastClick.attach(document.body); 8144 8145 var $customSelects = $('.select-search'); 8146 $customSelects.select2({ 8147 templateResult: function(result, container) { 8148 if (!result.id) { 8149 return result.text; 8150 } 8151 container.className += ' needsclick'; 8152 return result.text; 8153 } 8154 }); 8155 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 8156 $(document).on('select2:open', () => { 8157 document.querySelector('.select2-search__field').focus(); 8158 }); 8159 8160 8161 $(".overlay").click(function(){ 8162 $(".js-drawer-close").click(); 8163 }); 8164 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 8165 $("html").toggleClass("nav_open"); 8166 }); 8167 8168 $('.swatch-element label').on('click', function(){ 8169 var srcImg = $(this).data('src'); 8170 $('#thumb-image-product .product-single__thumbnail').each(function(){ 8171 if ($(this).attr("href") == srcImg) { 8172 $(this).trigger('click'); 8173 } 8174 }); 8175 }); 8176 var defaultValue = $(".swatch input:checked").val() 8177 8178 $('#purchaseProduct .swatch [type=radio]').change(function() { 8179 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 8180 var optionValue = $(this).val(); 8181 console.log(optionIndex, optionValue) 8182 var value = parseInt(optionValue.split(' ')[0]) 8183 $(this) 8184 .closest('#purchaseProduct') 8185 .find('.single-option-selector') 8186 .eq(optionIndex) 8187 .val(optionValue) 8188 .trigger('change'); 8189 8190 }); 8191 8192 }); 8193 $(document).ready(function(){ 8194 $(".nav-search a").click(function(e){ 8195 e.preventDefault(); 8196 $(".icon-navsearch").toggle(); 8197 $(".icon-navclose").toggle(); 8198 $(".site-nav__item > .site-nav__link").toggle(); 8199 $(".open-search").toggle(); 8200 $(".open-search input").focus(); 8201 }); 8202 $(".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'>"); 8203 if ($(window).width() < 768) { 8204 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8205 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8206 $(".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'>"); 8207 } else { 8208 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8209 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8210 $(".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'>"); 8211 } 8212 $(".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'>"); 8213 $(".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'>"); 8214 }); 8215 </script>
8215 8216 8217 8218 8219 8220 8221 8222 8223
8223<script type="text/javascript"> 8224 var wishlistpage = 0; 8225 8226 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 8227 </script>
8227 8228 8229 <!-- Remove duplicate wishlist.js reference --> 8230 <style> 8231 .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.fade.in{opacity:1}.modal-open .modal{overflow-x:hidden;overflow-y:auto;z-index:999999;background-color:rgba(0,0,0,.3)}.modal-dialog{position:relative;width:auto;margin:10px}.wishlist-model .modal-dialog{width:700px}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.wishlist-model .modal-content{}.wishlist-model .modal-header{min-height:0;padding:0;border-bottom:0}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #121212;filter:alpha(opacity=20);opacity:.2}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-header .close{margin-top:-2px}.wishlist-model .close{position:absolute;top:-10px;right:-10px;background:#fff;opacity:1;width:30px;height:30px;font-size:15px;border-radius:50%;z-index:10;box-shadow:0 1px 4px 0 #121212}.wishlist-model .close .icon-close{width:25px;height:25px}.modal-body{position:relative;padding:15px}.wishlist-model .modal-body{padding:0 30px;display:flex}.wishlist-model .wishlist-left{width:66.67%;border-right:1px solid #ccc;padding:30px 0}.wishlist-model .wishlist-note{position:relative;display:inline-block;margin-bottom:20px;margin-left:35px;border-bottom:1px solid #121212;color:#121212}.wishlist-model .wishlist-note a{color: #ffffff;}.wishlist-model .wishlist-note .cirle{position:absolute;top:-4px;left:-35px;width:25px;height:25px;color:#fff;background:#121212;line-height:25px;border-radius:50%;text-align:center}.wishlist-model .wishlist-note svg{fill:#fff}.wishlist-model .wishlist-note .cirle .icon-check{vertical-align:middle}.wishlist-model .product-left{width:33.33%;float:left;margin-right:30px}.wishlist-model .wishlist-image{overflow:hidden}.wishlist-model .wishlist-image img{transition:all .3s linear}.wishlist-model .wishlist-name{padding:0;margin-bottom:10px}.wishlist-model .wishlist-name a{color: #ffffff;}.wishlist-model .wishlist-price{margin-bottom:10px}.wishlist-model .wishlist-price .price{font-weight:700;margin-right:10px;font-size:15px}.wishlist-model .wishlist-price .price_compare{color:#ccc}.wishlist-model .wishlist-right{width:33.33%;padding:30px 0;padding-left:30px}.wishlist-model .btn-quick-shop{width:100%;border-color:#121212;background:#fff;color:#121212;padding:0 30px;transition:all .2s linear;height:36px;margin-bottom:10px;text-transform:uppercase}.wishlist-model .btn-cta{width:100%;font-size:1em;border-color:#ffffff;background:#ffffff;color:#fff;padding:0;transition:all .2s linear;height:36px;line-height:36px;margin-bottom:10px}.wishlist-model .quantity-content{text-align:center}.wishlist-model .quantity-content input{outline:none;text-align:center;font-weight:600;border:1px solid #121212}.wishlist-model .quantity-content button{border-color:#121212}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}} 8232 </style> 8233 8234 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 8235 <div class="modal-dialog" role="document"> 8236 <div class="modal-content"> 8237 <div class="modal-body">Your Wishlist is empty!</div> 8238 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 8239 </div> 8240 </div> 8241 </div> 8242 8243 <div class="wishlist-model"> 8244 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 8245 <div class="modal-dialog white-modal"> 8246 <div class="modal-content"> 8247 <div class="modal-header"> 8248 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 8249 <svg class="icon icon-close" version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="32" height="32" viewBox="0 0 32 32"> 8250 <title>icon-close</title> 8251 <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> 8252 </svg> 8253 </button> 8254 </div> 8255 <div class="modal-body"> 8256 <div class="wishlist-left"> 8257 <div class="wishlist-note">
8258 <span class="cirle"><svg version="1.1" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="32" height="32" viewBox="0 0 32 32"> 8259 <title>icon-check</title> 8260 <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> 8261 </svg></span> 8262 Product added to <a href="/pages/wish-list">Wishlist</a> 8263 </div> 8264 <div class="wishlist-product"> 8265 <div class="product-left"> 8266 <div class="wishlist-image"></div> 8267 </div> 8268 <div class="product-right"> 8269 <div class="wishlist-name"></div> 8270 <div class="wishlist-price"></div> 8271 </div> 8272 </div> 8273 </div> 8274 <div class="wishlist-right"> 8275 <div class="wishlist-cart"> 8276 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 8277 <div class="others-bottom"> 8278 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 8279 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 8280 <span id="AddToCartText" class="">Beli Sekarang</span> 8281 </button> 8282 </div> 8283 <div id="wishlist-variants-container" class="variants-wrapper"></div> 8284 <div class="quantity-content"> 8285 <label>QTY</label> 8286 <input type="number" size="5" class="" name="quantity" value="1" /> 8287 </div> 8288 </form> 8289 </div> 8290 </div> 8291 </div> 8292 </div> 8293 </div> 8294 </div> 8295 </div> 8296 8297 8298 <style> 8299 .stamped-badge[data-rating="0.0"]{display: none !Important;} 8300 8301 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 8302 border-radius: 0px; 8303 } 8304 .stamped-review-body { 8305 padding-left: 0px !important; 8306 } 8307 #product-reviews .stamped-header:after { 8308 display:none !Important; 8309 } 8310 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 8311 font-family:inherit !important; 8312 } 8313 </style> 8314 8315 8316 8317 <div id='stamped-rewards-init' class='stamped-rewards-init' 8318 data-key-public='' 8319 8320 ></div> 8321 8322
8322<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8322 8323 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 8324
8324<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8324 8325 8326
8326<script> 8327 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 8328 </script>
8328 8329
8329<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8329<style> 8330 .jss59 { 8331 background-color: rgba(0, 0, 0, 0.6); 8332 } 8333 .MuiBackdrop-root { 8334 top: 0; 8335 left: 0; 8336 right: 0; 8337 bottom: 0; 8338 display: flex; 8339 z-index: -1; 8340 position: fixed; 8341 align-items: center; 8342 justify-content: center; 8343 background-color: rgba(0, 0, 0, 0.5); 8344 -webkit-tap-highlight-color: transparent; 8345 } 8346 .MuiDialog-scrollPaper { 8347 display: flex; 8348 align-items: center; 8349 justify-content: center; 8350 } 8351 .MuiDialog-container { 8352 height: 100%; 8353 outline: 0; 8354 } 8355 .MuiPaper-elevation24 { 8356 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); 8357 } 8358 .MuiDialog-paper { 8359 margin: 32px; 8360 position: relative; 8361 overflow-y: auto; 8362 } 8363 .MuiDialog-paperScrollPaper { 8364 display: flex; 8365 max-height: calc(100% - 64px); 8366 flex-direction: column; 8367 } 8368 .MuiDialog-paperWidthSm { 8369 max-width: 600px; 8370 } 8371 #location-lock-dialog { 8372 top: 20%; 8373 left: 0; 8374 right: 0; 8375 width: 30%; 8376 margin: 0px auto; 8377 display: block; 8378 padding: 30px; 8379 z-index: 99999; 8380 position: fixed; 8381 font-size: 14px; 8382 background: rgb(0, 0, 0); 8383 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 8384 text-align: center; 8385 font-family: Roboto, Arial, sans-serif; 8386 line-height: 1; 8387 border-radius: 8px; 8388 -webkit-font-smoothing: subpixel-antialiased; 8389 } 8390 .MuiButtonBase-root { 8391 color: inherit; 8392 border: 0; 8393 cursor: pointer; 8394 margin: 0; 8395 display: inline-flex; 8396 outline: 0; 8397 padding: 0; 8398 position: relative; 8399 align-items: center; 8400 user-select: none; 8401 border-radius: 0; 8402 vertical-align: middle; 8403 -moz-appearance: none; 8404 justify-content: center; 8405 text-decoration: none; 8406 background-color: transparent; 8407 -webkit-appearance: none; 8408 -webkit-tap-highlight-color: transparent; 8409 } 8410 .MuiIconButton-root { 8411 flex: 0 0 auto; 8412 color: rgba(0, 0, 0, 0.54); 8413 padding: 12px; 8414 overflow: visible; 8415 font-size: 1.5rem; 8416 text-align: center; 8417 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8418 border-radius: 50%; 8419 } 8420 .MuiIconButton-label { 8421 width: 100%; 8422 display: flex; 8423 align-items: inherit; 8424 justify-content: inherit; 8425 } 8426 .MuiSvgIcon-root { 8427 fill: currentColor; 8428 width: 1em; 8429 height: 1em; 8430 display: inline-block; 8431 font-size: 1.5rem; 8432 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8433 flex-shrink: 0; 8434 user-select: none; 8435 } 8436 .MuiTouchRipple-root { 8437 top: 0; 8438 left: 0; 8439 right: 0; 8440 bottom: 0; 8441 z-index: 0; 8442 overflow: hidden; 8443 position: absolute; 8444 border-radius: inherit; 8445 pointer-events: none; 8446 } 8447 .jss36 { 8448 color: #222222; 8449 font-size: 24px; 8450 font-family: Roboto, Arial, sans-serif; 8451 font-weight: 500; 8452 } 8453 .jss37 { 8454 color: #555555; 8455 padding: 10px 0px 0px; 8456 font-size: 14px; 8457 } 8458 .MuiFormGroup-root { 8459 display: flex; 8460 flex-wrap: wrap; 8461 flex-direction: column; 8462 } 8463 .MuiFormGroup-row { 8464 flex-direction: row; 8465 } 8466 .jss63 { 8467 width: 85%; 8468 margin: 15px auto; 8469 display: flex; 8470 padding: 11px 0px 0px; 8471 justify-content: space-evenly; 8472 } 8473 .MuiFormControlLabel-root { 8474 cursor: pointer; 8475 display: inline-flex; 8476 align-items: center; 8477 margin-left: -11px; 8478 margin-right: 16px; 8479 vertical-align: middle; 8480 -webkit-tap-highlight-color: transparent; 8481 } 8482 .jss70 { 8483 margin: 0; 8484 } 8485 .MuiButtonBase-root { 8486 color: inherit; 8487 border: 0; 8488 cursor: pointer; 8489 margin: 0; 8490 display: inline-flex; 8491 outline: 0; 8492 padding: 0; 8493 position: relative; 8494 align-items: center; 8495 user-select: none; 8496 border-radius: 0; 8497 vertical-align: middle; 8498 -moz-appearance: none; 8499 justify-content: center; 8500 text-decoration: none; 8501 background-color: transparent; 8502 -webkit-appearance: none; 8503 -webkit-tap-highlight-color: transparent; 8504 } 8505 .MuiIconButton-root { 8506 flex: 0 0 auto; 8507 color: rgba(0, 0, 0, 0.54); 8508 padding: 12px; 8509 overflow: visible; 8510 font-size: 1.5rem; 8511 text-align: center; 8512 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8513 border-radius: 50%; 8514 } 8515 .MuiIconButton-colorSecondary { 8516 color: #f50057; 8517 } 8518 .jss71 { 8519 padding: 9px; 8520 } 8521 .MuiRadio-root { 8522 color: rgba(0, 0, 0, 0.54); 8523 } 8524 .jss64 { 8525 padding: 2px; 8526 } 8527 .MuiRadio-colorSecondary.Mui-checked { 8528 color: #f50057; 8529 } 8530 .MuiIconButton-label { 8531 width: 100%; 8532 display: flex; 8533 align-items: inherit; 8534 justify-content: inherit; 8535 } 8536 .MuiTypography-root { 8537 margin: 0; 8538 } 8539 .MuiTypography-body1 { 8540 font-size: 18px; 8541 font-family: Roboto,sans-serif; 8542 font-weight: 400; 8543 line-height: 1.5; 8544 } 8545 .location-popup_area-block__sp9Ws { 8546 display: -moz-box; 8547 display: flex; 8548 -moz-box-orient: vertical; 8549 -moz-box-direction: normal; 8550 flex-direction: column; 8551 -moz-box-pack: center; 8552 justify-content: center; 8553 position: relative; 8554 margin: 10px 10% 0; 8555 } 8556 .location-popup_pin-search-box__3l5mJ { 8557 width: 100%; 8558 display: -moz-box; 8559 display: flex; 8560 -moz-box-align: center; 8561 align-items: center; 8562 } 8563 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8564 position: absolute; 8565 z-index: 999; 8566 } 8567 .location-popup_place-icon__jSG0Q { 8568 color: #ffffff; 8569 padding-left: 8px; 8570 } 8571 .location-popup_place-icon__jSG0Q svg { 8572 width: 18px; 8573 height: 18px; 8574 } 8575 .location-popup_cancel-icon__FHujU { 8576 color: #fff; 8577 right: 10px; 8578 width: 16px; 8579 cursor: pointer; 8580 height: 16px; 8581 display: none; 8582 padding: 5px; 8583 position: absolute; 8584 background: #999; 8585 text-align: center; 8586 border-radius: 50%; 8587 } 8588 .location-popup_pin-search-box__3l5mJ>div>select { 8589 /* -webkit-box-shadow: 0 0 10px #ffffff; 8590 box-shadow: 0 0 10px #ffffff; */ 8591 text-transform: capitalize; 8592 border: 1px solid #ffffff; 8593 color: #ffffff; 8594 width: 100%; 8595 margin: 0; 8596 display: -moz-box; 8597 display: flex;
8598 padding: 0 30px; 8599 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8600 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8601 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8602 font-size: 16px; 8603 border-radius: 4px; 8604 height: 44px; 8605 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8606 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8607 } 8608 .MuiButtonBase-root { 8609 color: inherit; 8610 border: 0; 8611 cursor: pointer; 8612 margin: 0; 8613 display: inline-flex; 8614 outline: 0; 8615 padding: 0; 8616 position: relative; 8617 align-items: center; 8618 user-select: none; 8619 border-radius: 0; 8620 vertical-align: middle; 8621 -moz-appearance: none; 8622 justify-content: center; 8623 text-decoration: none; 8624 background-color: transparent; 8625 -webkit-appearance: none; 8626 -webkit-tap-highlight-color: transparent; 8627 } 8628 .MuiButton-root { 8629 color: rgba(0, 0, 0, 0.87); 8630 padding: 6px 16px; 8631 font-size: 0.875rem; 8632 min-width: 64px; 8633 box-sizing: border-box; 8634 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; 8635 font-family: Roboto,sans-serif; 8636 font-weight: 500; 8637 line-height: 1.75; 8638 border-radius: 4px; 8639 text-transform: uppercase; 8640 } 8641 .MuiButton-contained { 8642 color: rgba(0, 0, 0, 0.87); 8643 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); 8644 background-color: #e0e0e0; 8645 } 8646 .MuiButtonBase-root.Mui-disabled { 8647 cursor: default; 8648 pointer-events: none; 8649 } 8650 .MuiButton-label { 8651 width: 100%; 8652 display: inherit; 8653 align-items: inherit; 8654 justify-content: inherit; 8655 } 8656 .cartButton_login_content__2j1f7 { 8657 display: -moz-box; 8658 display: flex; 8659 text-align: center; 8660 z-index: 9; 8661 font-size: 18px; 8662 font-weight: 500; 8663 color: #fff; 8664 } 8665 8666 .jss35 { 8667 top: 5px; 8668 right: 5px; 8669 padding: 4px; 8670 position: absolute; 8671 border-radius: 50%; 8672 } 8673 .jss67 { 8674 cursor: pointer; 8675 font-size: 15px; 8676 line-height: 1.3; 8677 padding-left: 5px; 8678 } 8679 .jss69 { 8680 color: #222222; 8681 } 8682 .jss80 { 8683 color: #fff; 8684 width: 100%; 8685 height: 52px; 8686 padding: 11px 16px; 8687 font-size: 18px; 8688 min-width: 88px; 8689 min-height: 36px; 8690 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; 8691 font-weight: 500; 8692 line-weight: 1em; 8693 border-radius: 4px; 8694 text-transform: uppercase; 8695 background-color: #E87325; 8696 } 8697 @media (min-width: 991px){ 8698 .cartButton_login_content__2j1f7 { 8699 font-weight: 500; 8700 } 8701 } 8702 8703 @media (max-width: 992px) { 8704 #location-lock-dialog { 8705 width: 100%; 8706 top: auto; 8707 bottom: 0; 8708 padding-left: 0; 8709 padding-right: 0; 8710 } 8711 .MuiFormGroup-row { 8712 display: block 8713 } 8714 .MuiIconButton-label input { 8715 margin: 0; 8716 } 8717 } 8718 </style> 8719 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8720 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8721 <div tabindex="0" data-test="sentinelStart"></div> 8722 <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;"> 8723 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8724 <div class="jss31 undefined" id="location-lock-dialog"> 8725 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 8726 <span class="MuiIconButton-label"> 8727 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8728 <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> 8729 </svg> 8730 </span>
8731 <span class="MuiTouchRipple-root"></span> 8732 </button> 8733 <div> 8734 <div class="jss36">Select Delivery Location</div> 8735 <div class="jss37">Select a delivery location to see product availability</div> 8736 </div> 8737 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8738 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8739 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8740 <span class="MuiIconButton-label"> 8741 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8742 <span class="jss41"></span> 8743 </span> 8744 <span class="MuiTouchRipple-root"></span> 8745 </span> 8746 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8747 <span class="jss67 jss69">Jabodetabek</span> 8748 </span> 8749 </label> 8750 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8751 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8752 <span class="MuiIconButton-label"> 8753 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8754 <span class="jss40"></span> 8755 </span> 8756 <span class="MuiTouchRipple-root"></span> 8757 </span> 8758 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8759 <span class="jss67 jss68">Outside Jabodetabek</span> 8760 </span> 8761 </label> 8762 </div> 8763 <div> 8764 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8765 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8766 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8767 <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> 8768 </div> 8769 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8770 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8771 </div> 8772 <div style="width: 100%;"> 8773 <select id="choose-location" class="form-control"> 8774 <option value="">Choose Location</option> 8775 <option value="jakarta">Jakarta</option> 8776 <option value="bogor">Bogor</option> 8777 <option value="depok">Depok</option> 8778 <option value="tangerang">Tangerang</option> 8779 <option value="bekasi">Bekasi</option> 8780 </select> 8781 </div> 8782 </div> 8783 </div> 8784 </div> 8785 <button class="MuiButtonBase-root MuiButton-root MuiButton-contained jss55" tabindex="-1" type="button" title="" id="location-lock-submit" data-idforcdp="actionBtn-cdp" data-testid="location-lock-submit" style="background-color: #ffffff; width: 80%; padding: 14px 0px 12px; margin: 20px 0px; font-size: 18px; font-weight: 500; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px 0px; border-radius: 4px; color: rgb(0, 0, 0); height: 44px;" data-content=""> 8786 <span class="MuiButton-label"> 8787 <span class=""></span> 8788 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8789 </span> 8790 </button> 8791 </div> 8792 </div> 8793 </div> 8794 <div tabindex="0" data-test="sentinelEnd"></div> 8795 </div> 8796 8797
8797<script> 8798 const jabodetabek = [ 8799 { 8800 "code": "jakarta", 8801 "city": "jakarta", 8802 "zip": [] 8803 }, 8804 { 8805 "code": "bogor", 8806 "city": "bogor", 8807 "zip": [] 8808 }, 8809 { 8810 "code": "depok", 8811 "city": "depok", 8812 "zip": [] 8813 }, 8814 { 8815 "code": "tangerang", 8816 "city": "tangerang", 8817 "zip": [] 8818 }, 8819 { 8820 "code": "bekasi", 8821 "city": "bekasi", 8822 "zip": [] 8823 } 8824 ] 8825 let cityNonJabodetabek = [ 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 "pengiriman_aceh", 10000 10001 10002 10003 10004 10005 "pengiriman_ambon", 10006 10007 10008 10009 10010 10011 "pengiriman_atambua", 10012 10013 10014 10015 10016 10017 "pengiriman_badung", 10018 10019 10020 10021 10022 10023 "pengiriman_bali", 10024 10025 10026 10027 10028 10029 "pengiriman_balikpapan", 10030 10031 10032 10033 10034 10035 "pengiriman_bandar lampung", 10036 10037 10038 10039 10040 10041 "pengiriman_bandung", 10042 10043 10044 10045 10046 10047 "pengiriman_bandung barat", 10048 10049 10050 10051 10052 10053 "pengiriman_banjarmasin", 10054 10055 10056 10057 10058 10059 "pengiriman_banyumas", 10060 10061 10062 10063 10064 10065 "pengiriman_banyuwangi", 10066 10067 10068 10069 10070 10071 "pengiriman_batam", 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 "pengiriman_biak", 10082 10083 10084 10085 10086 10087 "pengiriman_binjai", 10088 10089 10090 10091 10092 10093 "pengiriman_blitar", 10094 10095 10096 10097 10098 10099 "pengiriman_blora", 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 "pengiriman_bojonegoro", 10110 10111 10112 10113 10114 10115 "pengiriman_boyolali", 10116 10117 10118 10119 10120 10121 "pengiriman_bukittinggi", 10122 10123 10124 10125 10126 10127 "pengiriman_buleleng", 10128 10129 10130 10131 10132 10133 "pengiriman_ciamis", 10134 10135 10136 10137 10138 10139 "pengiriman_cianjur", 10140 10141 10142 10143 10144 10145 "pengiriman_cibinong", 10146 10147 10148 10149 10150 10151 "pengiriman_cikarang", 10152 10153 10154 10155 10156 10157 "pengiriman_cikupa", 10158 10159 10160 10161 10162 10163 "pengiriman_cilacap", 10164 10165 10166 10167 10168 10169 "pengiriman_cileunyi", 10170 10171 10172 10173 10174 10175 "pengiriman_cimahi", 10176 10177 10178 10179 10180 10181 "pengiriman_cirebon", 10182 10183 10184 10185 10186 10187 "pengiriman_ciwidey", 10188 10189 10190 10191 10192 10193 "pengiriman_deli serdang", 10194 10195 10196 10197 10198 10199 "pengiriman_demak", 10200 10201 10202 10203 10204 10205 "pengiriman_denpasar", 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 "pengiriman_garut", 10216 10217 10218 10219 10220 10221 "pengiriman_gianyar", 10222 10223 10224 10225 10226 10227 "pengiriman_gresik", 10228 10229 10230 10231 10232 10233 "pengiriman_gunung kidul", 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 "pengiriman_jambi", 10244 10245 10246 10247 10248 10249 "pengiriman_jayapura", 10250 10251 10252 10253 10254 10255 "pengiriman_jember", 10256 10257 10258 10259 10260 10261 "pengiriman_jepara", 10262 10263 10264 10265 10266 10267 "pengiriman_jombang", 10268 10269 10270 10271 10272 10273 "pengiriman_karanganyar", 10274 10275 10276 10277 10278 10279 "pengiriman_karawang", 10280 10281 10282 10283 10284 10285 "pengiriman_karo", 10286 10287 10288 10289 10290 10291 "pengiriman_kebumen", 10292 10293 10294 10295 10296 10297 "pengiriman_kediri", 10298 10299 10300 10301 10302 10303 "pengiriman_keerom", 10304 10305 10306 10307 10308 10309 "pengiriman_kendal", 10310 10311 10312 10313 10314 10315 "pengiriman_klaten", 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 "pengiriman_kudus", 10326 10327 10328 10329 10330 10331 "pengiriman_kupang", 10332 10333 10334 10335 10336 10337 "pengiriman_lainnya", 10338 10339 10340 10341 10342 10343 "pengiriman_lamongan", 10344 10345 10346 10347 10348 10349 "pengiriman_lampung", 10350 10351 10352 10353 10354 10355 "pengiriman_lampung barat", 10356 10357 10358 10359 10360 10361 "pengiriman_lembang", 10362 10363 10364 10365 10366 10367 "pengiriman_lombok", 10368 10369 10370 10371 10372 10373 "pengiriman_lumajang", 10374 10375 10376 10377 10378 10379 "pengiriman_madiun", 10380 10381 10382 10383 10384 10385 "pengiriman_magelang", 10386 10387 10388 10389 10390 10391 "pengiriman_majalengka", 10392 10393 10394 10395 10396 10397 "pengiriman_makassar", 10398 10399 10400 10401 10402 10403 "pengiriman_malang", 10404 10405 10406 10407 10408 10409 "pengiriman_manado", 10410 10411 10412 10413 10414 10415 "pengiriman_medan", 10416 10417 10418 10419 10420 10421 "pengiriman_mengwi", 10422 10423 10424 10425 10426 10427 "pengiriman_mojokerto", 10428 10429 10430 10431 10432 10433 "pengiriman_nganjuk", 10434 10435 10436 10437 10438 10439 "pengiriman_ngawi", 10440 10441 10442 10443 10444 10445 "pengiriman_padang", 10446 10447 10448 10449 10450 10451 "pengiriman_palembang", 10452 10453 10454 10455 10456 10457 "pengiriman_pasuruan", 10458 10459 10460 10461 10462 10463 "pengiriman_pati", 10464 10465 10466 10467 10468 10469 "pengiriman_pekalongan", 10470 10471 10472 10473 10474 10475 "pengiriman_pekanbaru", 10476 10477 10478 10479 10480 10481 "pengiriman_pemalang", 10482 10483 10484 10485 10486 10487 "pengiriman_ponorogo", 10488 10489 10490 10491 10492 10493 "pengiriman_pontianak", 10494 10495 10496 10497 10498 10499 "pengiriman_probolinggo", 10500 10501 10502 10503 10504 10505 "pengiriman_purbalingga", 10506 10507 10508 10509 10510 10511 "pengiriman_purwakarta", 10512 10513 10514 10515 10516 10517 "pengiriman_purwokerto", 10518 10519 10520 10521 10522 10523 "pengiriman_rembang", 10524 10525 10526 10527 10528 10529 "pengiriman_riau", 10530 10531 10532 10533 10534 10535 "pengiriman_salatiga", 10536 10537 10538 10539 10540 10541 "pengiriman_samarinda", 10542 10543 10544 10545 10546 10547 "pengiriman_semarang", 10548 10549 10550 10551 10552 10553 "pengiriman_sentani", 10554 10555 10556 10557 10558 10559 "pengiriman_serang", 10560 10561 10562 10563 10564 10565 "pengiriman_sidoarjo", 10566 10567 10568 10569 10570 10571 "pengiriman_singkawang", 10572 10573 10574 10575 10576 10577 "pengiriman_sragen", 10578 10579 10580 10581 10582 10583 "pengiriman_subang", 10584 10585 10586 10587 10588 10589 "pengiriman_sukabumi", 10590 10591 10592 10593 10594 10595 "pengiriman_sumbawa", 10596 10597 10598 10599 10600 10601 "pengiriman_surabaya", 10602 10603 10604 10605 10606 10607 "pengiriman_surakarta solo", 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 "pengiriman_tasikmalaya", 10618 10619 10620 10621 10622 10623 "pengiriman_tegal", 10624 10625 10626 10627 10628 10629 "pengiriman_timika", 10630 10631 10632 10633 10634 10635 "pengiriman_wamena", 10636 10637 10638 10639 10640 10641 "pengiriman_wiyung", 10642 10643 10644 10645 10646 10647 "pengiriman_wonokromo", 10648 10649 10650 10651 10652 10653 "pengiriman_yogyakarta", 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095
11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 ] 11264 console.log(cityNonJabodetabek) 11265 let non_jabodetabek = [] 11266 for(var i=0;i<cityNonJabodetabek.length;i++) { 11267 const obj = { 11268 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 11269 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 11270 "zip": [] 11271 } 11272 non_jabodetabek.push(obj) 11273 } 11274 let current_location = getCookie("location_delivery") 11275 $("[name=location]").change(function(){ 11276 let v = $(this).val() 11277 let option = [] 11278 if(v == 'Jabodetabek') { 11279 for(var i=0;i<jabodetabek.length;i++) { 11280 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 11281 option.push(jabodetabekHtml) 11282 } 11283 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11284 } else { 11285 for(var i=0;i<non_jabodetabek.length;i++) { 11286 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 11287 option.push(nonjabodetabekHtml) 11288 } 11289 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11290 } 11291 }) 11292 11293 $("#location-lock-submit").click(function(e){ 11294 let select = $("#choose-location") 11295 let value = select.val().toLowerCase() 11296 console.log(value) 11297 if(select.val() == "") { 11298 return alert("Choose Your Location") 11299 e.preventDefault() 11300 } 11301 setCookie("location_delivery",value,1000000); 11302 11303 location.reload(); 11304 11305 }) 11306 11307 $("#close-popup-delivery").click(function(){ 11308 $(".MuiDialog-root").hide() 11309 if(!current_location){ 11310 setCookie("location_delivery","jakarta",1000000); 11311 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 11312 } 11313 }) 11314 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 11315 $(".MuiDialog-root").show() 11316 }) 11317 11318 11319 if(!current_location){ 11320 11321 } else { 11322 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 11323 console.log(current_location) 11324 $("#choose-location").each(function(){ 11325 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 11326 $("#jabodetabek").trigger("click") 11327 } else { 11328 $("#non-jabodetabek").trigger("click") 11329 } 11330 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 11331 }) 11332 } 11333 11334 // 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'){ 11335 // $("#timeMalam").attr("disabled", false) 11336 // } else { 11337 // $("#timeMalam").attr("disabled", true) 11338 // } 11339 11340 if(current_location && current_location != 'jakarta') { 11341 $("#self-pickup").attr("disabled", true) 11342 } 11343 11344 function setCookie(name,value,days) { 11345 var expires = ""; 11346 if (days) { 11347 var date = new Date(); 11348 date.setTime(date.getTime() + (days*24*60*60*1000)); 11349 expires = "; expires=" + date.toUTCString(); 11350 } 11351 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 11352 } 11353 function getCookie(name) { 11354 var nameEQ = name + "="; 11355 var ca = document.cookie.split(';');
11356 for(var i=0;i < ca.length;i++) { 11357 var c = ca[i]; 11358 while (c.charAt(0)==' ') c = c.substring(1,c.length); 11359 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 11360 } 11361 return null; 11362 } 11363 </script>
11363 11364 <!-- One Tap --> 11365
11365<script> 11366 console.log("Outerbloom..."); 11367 </script>
11367 11368 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 11416
11416<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
11416 11417
11417<script> 11418 const widgetConfig = { 11419 id: "clz7897za002cz7otleaz0d3d", 11420 showQuickResponse: false, 11421 quickResponsesData: [], 11422 themeColor: "#ffffff", 11423 widgetText: "", 11424 radiusType: "circle", 11425 widgetIconType: "whatsapp", 11426 position: "right", 11427 storeLogo: "", 11428 storeName: "Outerbloom", 11429 storeDescription: "", 11430 size: "small", 11431 showCard: false, 11432 widgetColorType: "solid", 11433 widgetColor1: "#008069", 11434 widgetColor2: "#008069", 11435 social: { 11436 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 11437 values: { 11438 instagram: { 11439 enabled: false, 11440 value: "", 11441 }, 11442 facebook: { 11443 enabled: false, 11444 value: "", 11445 }, 11446 email: { 11447 enabled: false, 11448 value: "", 11449 }, 11450 x: { 11451 enabled: false, 11452 value: "", 11453 }, 11454 tiktok: { 11455 enabled: false, 11456 value: "", 11457 }, 11458 linkedin: { 11459 enabled: false, 11460 value: "", 11461 }, 11462 youtube: { 11463 enabled: false, 11464 value: "", 11465 }, 11466 }, 11467 }, 11468 }; 11469 11470 function initializeWidget() { 11471 if (typeof BBBWidget !== 'undefined') { 11472 BBBWidget.init(widgetConfig); 11473 } else { 11474 setTimeout(initializeWidget, 100); 11475 } 11476 } 11477 11478 initializeWidget();</script>
11478 11479 11480 11481 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 11482 11483 11484 <div style="position: fixed; bottom: 0; right: 0"></div> 11485 11486
11486<script> 11487 console.info("bitlogin extension version: v2.5.7"); 11488 11489 const googleScript = document.createElement("script"); 11490 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 11491 document.head.append(googleScript); 11492 11493 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 11494 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 11495 11496 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"}}; 11497 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
11497n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 11498 const redirectUrl = appearance.redirectLink; 11499 11500 let locationCacheSet = false; 11501 let errorLocation = false; 11502 let oneTapSet = false; 11503 11504 let bitloginCache = { 11505 appearance: appearance, 11506 config: config 11507 }; 11508 11509 let isInitializing = false; 11510 const queue = []; 11511 11512 // Add CSS for the popup 11513 const popupStyles = document.createElement('style'); 11514 popupStyles.textContent = ` 11515 /* Styles for login popup */ 11516 .bitlogin-popup-overlay { 11517 position: fixed; 11518 top: 0; 11519 left: 0; 11520 width: 100%; 11521 height: 100%; 11522 background: rgba(0, 0, 0, 0.45); 11523 backdrop-filter: blur(4px); 11524 display: flex; 11525 align-items: center; 11526 justify-content: center; 11527 opacity: 0; 11528 transition: opacity 0.3s ease-in-out; 11529 z-index: 999999; 11530 } 11531 11532 .bitlogin-popup-overlay.visible { 11533 opacity: 1; 11534 } 11535 11536 .bitlogin-popup { 11537 background: #FFFFFF; 11538 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 11539 border-radius: 16px; 11540 width: 100%; 11541 max-width: 560px; 11542 display: flex; 11543 overflow: hidden; 11544 position: relative; 11545 opacity: 0; 11546 transform: translateY(20px) scale(0.98); 11547 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 11548 } 11549 11550 .bitlogin-popup.visible { 11551 opacity: 1; 11552 transform: translateY(0) scale(1); 11553 } 11554 11555 .bitlogin-popup-with-image { 11556 max-width: 640px; 11557 } 11558 11559 .bitlogin-popup-right-image { 11560 flex-direction: row-reverse; 11561 } 11562 11563 .bitlogin-popup-image { 11564 object-fit: cover; 11565 width: 50%; 11566 height: auto; 11567 } 11568 11569 .bitlogin-popup-content { 11570 padding: 32px; 11571 position: relative; 11572 width: 50%; 11573 } 11574 11575 .bitlogin-popup-close { 11576 position: absolute; 11577 top: 16px; 11578 right: 16px; 11579 background: white; 11580 border: none; 11581 width: 30px; 11582 height: 30px; 11583 display: flex; 11584 align-items: center; 11585 justify-content: center; 11586 cursor: pointer; 11587 transition: background-color 0.2s; 11588 color: inherit; 11589 padding: 0; 11590 } 11591 11592 .bitlogin-popup-close:hover { 11593 background-color: #e5e5e5; 11594 } 11595 11596 .bitlogin-popup-buttons { 11597 display: flex; 11598 flex-direction: column; 11599 gap: 12px; 11600 margin-top: 24px; 11601 } 11602 11603 /* Button styles within popup - override width for popup buttons */ 11604 .bitlogin-popup-buttons #google-login, 11605 .bitlogin-popup-buttons #facebook-login, 11606 .bitlogin-popup-buttons #apple-login, 11607 .bitlogin-popup-buttons #whatsapp-login, 11608 .bitlogin-popup-buttons #microsoft-login, 11609 .bitlogin-popup-buttons #twitter-login, 11610 .bitlogin-popup-buttons #amazon-login, 11611 .bitlogin-popup-buttons #instagram-login, 11612 .bitlogin-popup-buttons #magic-link-login, 11613 .bitlogin-popup-buttons #mobile-app-login { 11614 width: 100% !important; 11615 font-family: inherit !important; 11616 } 11617 11618 .bitlogin-popup-footer { 11619 margin-top: 32px; 11620 text-align: center; 11621 font-size: 14px; 11622 opacity: 0.6; 11623 } 11624 11625 /* Modern Typography */ 11626 .bitlogin-popup h2 { 11627 margin-top: 12px; 11628 font-size: 21px !important; 11629 line-height: 1.2 !important; 11630 font-weight: 700 !important; 11631 letter-spacing: -0.02em !important; 11632 margin-bottom: 16px !important; 11633 } 11634 11635 .bitlogin-popup-header { 11636 position: relative; 11637 margin-bottom: 24px; 11638 } 11639 11640 /* Modern gradient accent */ 11641 .bitlogin-popup-content > div { 11642 font-size: 16px !important; 11643 line-height: 1.2 !important; 11644 opacity: 0.85 !important; 11645 } 11646 11647 /* Enhanced button interactions */ 11648 .bitlogin-popup-buttons button { 11649 position: relative; 11650 overflow: hidden; 11651 } 11652 11653 @keyframes ripple { 11654 0% { 11655 transform: scale(0, 0); 11656 opacity: 0.5; 11657 } 11658 100% { 11659 transform: scale(100, 100); 11660 opacity: 0; 11661 } 11662 } 11663 11664 /* Responsive adjustments */ 11665 @media (max-width: 640px) { 11666 .bitlogin-popup { 11667 max-width: 90%; 11668 width: 90%; 11669 margin: 0 16px; 11670 } 11671 11672 .bitlogin-popup-with-image { 11673 flex-direction: column !important; 11674 } 11675 11676 .bitlogin-popup-image { 11677 width: 100%; 11678 height: 180px; 11679 } 11680 11681 .bitlogin-popup-content { 11682 padding: 24px; 11683 } 11684 11685 .bitlogin-popup h2 { 11686 font-size: 24px !important; 11687 } 11688 } 11689 `; 11690
11691 document.head.appendChild(popupStyles); 11692 11693 // Add fonts link for different font options 11694 const fontsLink = document.createElement('link'); 11695 fontsLink.rel = 'stylesheet'; 11696 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'; 11697 document.head.appendChild(fontsLink); 11698 11699 (async () => { 11700 try { 11701 let host = window.location.host; 11702 if (host === "admin.shopify.com") { 11703 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 11704 } 11705 11706 const urlSearchParams = new URLSearchParams(window.location.search); 11707 const checkoutUrl = urlSearchParams.get("checkout_url"); 11708 11709 async function init({ inputRef, index }) { 11710 if (isInitializing) { 11711 queue.push(() => init({ inputRef, index })); 11712 return; 11713 } 11714 11715 isInitializing = true; 11716 11717 try { 11718 let bitLoginSectionRoot = document.querySelector( 11719 `.bitlogin-root[data-index="${index}"]` 11720 ); 11721 11722 const formRef = inputRef?.closest( 11723 "form:not([action='/account/recover'])" 11724 ); 11725 11726 if (formRef && !bitLoginSectionRoot) { 11727 await getLocation(); 11728 11729 bitLoginSectionRoot = document.createElement(`div`); 11730 11731 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 11732 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 11733 11734 updateAppearance({ 11735 formRef, 11736 rootRef: bitLoginSectionRoot, 11737 host, 11738 }); 11739 } 11740 } catch (err) { 11741 console.error(`error while initiating bitlogin extensions`, err); 11742 } finally { 11743 // Release the lock 11744 isInitializing = false; 11745 11746 // Check if there are pending items in the queue 11747 if (queue.length > 0) { 11748 // Process the next function in the queue 11749 const nextFunction = queue.shift(); 11750 nextFunction(); 11751 } 11752 } 11753 } 11754 11755 function initAll() { 11756 return new Promise((resolve, reject) => { 11757 setTimeout(async () => { 11758 const inputRefs = document.querySelectorAll( 11759 'input[name="customer[email]"]' 11760 ); 11761 11762 for (let i = 0; i < inputRefs.length; i++) { 11763 const currentInputRef = inputRefs[i]; 11764 const isVisible = isElementVisible(currentInputRef); 11765 11766 if (isVisible) { 11767 await init({ inputRef: currentInputRef, index: i }); 11768 } 11769 } 11770 11771 resolve("ok"); 11772 }, 100); 11773 }); 11774 } 11775 11776 const observer = new MutationObserver((mutationsList) => { 11777 for (let mutation of mutationsList) { 11778 initAll(); 11779 } 11780 }); 11781 11782 observer.observe(document.body, { 11783 childList: true, 11784 subtree: true, 11785 attributes: true, 11786 }); 11787 11788 initAll(); 11789 11790 if (appearance.googleOneTap) { 11791 setupOneTap({ host, checkoutUrl }); 11792 } 11793 11794 // Initialize popup 11795 await initPopup(host); 11796 } catch (error) { 11797 console.error("Error initializing BitLogin:", error); 11798 } 11799 })(); 11800 11801 async function initPopup(host) { 11802 // Check if user is already logged in using Liquid checks properly 11803 const isLoggedIn = false || 11804 document.querySelector('.customer-logout-link') || 11805 document.querySelector('.account-link') || 11806 window.location.pathname.includes('/account'); 11807 11808 if (isLoggedIn) { 11809 return; // User is logged in, don't show popup 11810 } 11811 11812 try { 11813 // Fetch the popup configuration 11814 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 11815 .then(res => res.json()) 11816 .catch(err => { 11817 console.error('Error fetching popup configuration:', err); 11818 return null; 11819 }); 11820 11821 if (!popupConfig || !popupConfig.enabled) { 11822 return;
11822 // Don't show popup if disabled or config not found 11823 } 11824 11825 // Create popup after 10 seconds 11826 setTimeout(() => { 11827 // Check if user is still on the page and still not logged in 11828 if (document.visibilityState === 'visible') { 11829 // Additional check in case user logged in during the 10 second wait 11830 const currentlyLoggedIn = false || 11831 document.querySelector('.customer-logout-link') || 11832 document.querySelector('.account-link'); 11833 11834 if (!currentlyLoggedIn) { 11835 createLoginPopup(popupConfig, host); 11836 } 11837 } 11838 }, 10000); 11839 } catch (error) { 11840 console.error('Error initializing popup:', error); 11841 } 11842 } 11843 11844 function createLoginPopup(popupConfig, host) { 11845 // Font mapping 11846 const fontFamilyMap = { 11847 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 11848 montserrat: 'Montserrat, sans-serif', 11849 roboto: 'Roboto, sans-serif', 11850 open_sans: 'Open Sans, sans-serif', 11851 noto_sans: 'Noto Sans, sans-serif', 11852 lato: 'Lato, sans-serif', 11853 poppins: 'Poppins, sans-serif', 11854 quicksand: 'Quicksand, sans-serif', 11855 raleway: 'Raleway, sans-serif', 11856 pt_sans: 'PT Sans, sans-serif', 11857 oswald: 'Oswald, sans-serif', 11858 }; 11859 11860 // Create overlay 11861 const overlay = document.createElement('div'); 11862 overlay.className = 'bitlogin-popup-overlay'; 11863 11864 // Create popup container with appropriate styling 11865 const popup = document.createElement('div'); 11866 popup.className = 'bitlogin-popup'; 11867 11868 if (popupConfig.layout === 'default') { 11869 popup.style.maxWidth = '400px'; 11870 } 11871 11872 // Function to close the popup 11873 const closePopup = () => { 11874 overlay.classList.remove('visible'); 11875 popup.classList.remove('visible'); 11876 setTimeout(() => { 11877 if (document.body.contains(overlay)) { 11878 document.body.removeChild(overlay); 11879 } 11880 }, 300); 11881 }; 11882 11883 // Add click handler to the overlay to close when clicking outside 11884 overlay.addEventListener('click', (event) => { 11885 // Close only if clicking directly on the overlay, not its children 11886 if (event.target === overlay) { 11887 closePopup(); 11888 } 11889 }); 11890 11891 // Add escape key handler to close popup 11892 document.addEventListener('keydown', (event) => { 11893 if (event.key === 'Escape' && document.body.contains(overlay)) { 11894 closePopup(); 11895 } 11896 }); 11897 11898 // Create layout with image if specified 11899 let contentWrapper; 11900 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 11901 popup.classList.add('bitlogin-popup-with-image'); 11902 11903 if (popupConfig.layout === 'right') { 11904 popup.classList.add('bitlogin-popup-right-image'); 11905 } 11906 11907 // Add image 11908 const image = document.createElement('img'); 11909 image.className = 'bitlogin-popup-image'; 11910 image.src = popupConfig.popupImage; 11911 image.alt = 'Login'; 11912 image.loading = 'lazy'; 11913 popup.appendChild(image); 11914 11915 // Create content container 11916 contentWrapper = document.createElement('div'); 11917 contentWrapper.className = 'bitlogin-popup-content'; 11918 11919 if (popupConfig.layout === 'right') { 11920 const closeButton = document.createElement('button'); 11921 closeButton.className = 'bitlogin-popup-close'; 11922 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 11923 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11924 </svg>`; 11925 closeButton.setAttribute('aria-label', 'Close'); 11926 closeButton.onclick = closePopup; 11927 11928 popup.appendChild(closeButton); 11929 } 11930 } else { 11931 contentWrapper = document.createElement('div'); 11932 contentWrapper.className = 'bitlogin-popup-content'; 11933 contentWrapper.style.width = '100%'; 11934 } 11935 11936 // Set background style 11937 if (popupConfig.backgroundTheme === 'gradient') { 11938 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 11939 } else { 11940 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 11941 } 11942 11943 // Apply font family 11944 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 11945 11946 if (popupConfig.layout !== 'right') { 11947 const closeButton = document.createElement('button'); 11948 closeButton.className = 'bitlogin-popup-close'; 11949 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 11950 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11951 </svg>`; 11952 closeButton.setAttribute('aria-label', 'Close'); 11953 closeButton.onclick = closePopup; 11954 11955 contentWrapper.appendChild(closeButton); 11956 } 11957 11958 // Add heading with subtle animation effect 11959 const header = document.createElement('div'); 11960 header.className = 'bitlogin-popup-header'; 11961 11962 const heading = document.createElement('h2'); 11963 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11963its'; 11964 heading.style.color = popupConfig.fontColor; 11965 header.appendChild(heading); 11966 11967 // Add body text with improved formatting 11968 const bodyText = document.createElement('div'); 11969 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 11970 bodyText.style.color = popupConfig.fontColor; 11971 header.appendChild(bodyText); 11972 11973 contentWrapper.appendChild(header); 11974 11975 // Create buttons container with modern styling 11976 const buttonsContainer = document.createElement('div'); 11977 buttonsContainer.className = 'bitlogin-popup-buttons'; 11978 11979 // Add social buttons 11980 const providerLabels = { 11981 'GOOGLE': 'Continue with Google', 11982 'FACEBOOK': 'Continue with Facebook', 11983 'APPLE': 'Continue with Apple', 11984 'WHATSAPP': 'Continue with WhatsApp', 11985 'MAGIC_LINK': 'Continue with Email', 11986 }; 11987 11988 // Add first login provider button 11989 if (popupConfig.loginProvider1 !== 'NONE') { 11990 const buttonConfig = { 11991 theme: popupConfig.colorScheme || 'match', 11992 customColor: popupConfig.textColor, 11993 format: 'contentFlex', 11994 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 11995 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 11996 style: popupConfig.style || 'rounded', 11997 size: popupConfig.size || 'medium', 11998 colorScheme: popupConfig.colorScheme || 'match', 11999 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 12000 textColor: popupConfig.textColor || '#FFFFFF', 12001 outlineColor: popupConfig.outlineColor || '#3B82F6', 12002 host: host 12003 }; 12004 12005 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 12006 12007 // Handle click event - this overrides the default click handler in createSocialLoginButton 12008 button1.onclick = () => { 12009 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 12010 closePopup(); 12011 }; 12012 12013 buttonsContainer.appendChild(button1); 12014 } 12015 12016 // Add second login provider button if enabled 12017 if (popupConfig.loginProvider2 !== 'NONE') { 12018 const buttonConfig = { 12019 theme: popupConfig.colorScheme || 'match', 12020 customColor: popupConfig.textColor, 12021 format: 'contentFlex', 12022 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 12023 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 12024 style: popupConfig.style || 'rounded', 12025 size: popupConfig.size || 'medium', 12026 colorScheme: popupConfig.colorScheme || 'match', 12027 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 12028 textColor: popupConfig.textColor || '#FFFFFF', 12029 outlineColor: popupConfig.outlineColor || '#3B82F6', 12030 host: host 12031 }; 12032 12033 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 12034 12035 // Handle click event - this overrides the default click handler in createSocialLoginButton 12036 button2.onclick = () => { 12037 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 12038 closePopup(); 12039 }; 12040 12041 buttonsContainer.appendChild(button2); 12042 } 12043 12044 contentWrapper.appendChild(buttonsContainer); 12045 12046 // Append content to popup 12047 popup.appendChild(contentWrapper); 12048 12049 // Append popup to overlay 12050 overlay.appendChild(popup); 12051 12052 // Append overlay to body 12053 document.body.appendChild(overlay); 12054 12055 // Trigger animation with slight delay for better perceived performance 12056 setTimeout(() => { 12057 overlay.classList.add('visible'); 12058 setTimeout(() => { 12059 popup.classList.add('visible'); 12060 }, 50); 12061 }, 10); 12062 } 12063 12064 window.addEventListener("load", () => { 12065 window.addEventListener("message", (event) => { 12066 const receivedData = event.data; 12067 12068 if (receivedData.type === "authorize") { 12069 post( 12070 JSON.parse( 12071 JSON.stringify({ 12072 "customer[email]": receivedData.email, 12073 "customer[password]": receivedData.password, 12074 form_type: "customer_login", 12075 utf8: "â", 12076 return_url: redirectUrl, 12077 }) 12078 ) 12079 ); 12080 } else if (receivedData.type === "rejected") { 12081 if (receivedData.reason === "customer_account_disabled") { 12082 showAlert( 12083 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 12084 ); 12085 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 12086 showAlert( 12087 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 12088 ); 12089 } else if (receivedData.reason === "customer_exist_email_not_set") { 12090 showAlert( 12091 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 12092 ); 12093 } 12094 } 12095 12096 if (receivedData.type === "customer_authenticated") { 12097 // Dispatch a custom event that merchants can listen for to implement their custom logic 12098 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 12099 detail: { 12100 provider: receivedData.provider, 12101 customer: receivedData.customer, 12102 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 12103 } 12104 }); 12105 12106 // Dispatch the event on the window object so merchants can listen for it 12107 window.dispatchEvent(customerAuthEvent); 12108 12109 } 12110 }); 12111 }); 12112 12113 // Reusable functions for social login buttons 12114 function createSocialLoginButton(provider, config = {}) { 12115 const { 12116 theme = 'match', 12117 customColor = null, 12118 format = 'contentFlex', 12119 buttonText = null, 12120 hasShadow = true, 12121 style = 'rounded', 12122 size = 'medium', 12123 colorScheme = 'match', 12124 backgroundColor = '#3B82F6', 12125 textColor = '#FFFFFF', 12126 outlineColor = '#3B82F6', 12127 rootRef = null, 12128 host = null 12129 } = config; 12130 12131 // Create button element with appropriate ID and attributes 12132 const button = document.createElement('button'); 12133 button.id = `${provider.toLowerCase()}-login`; 12134 button.type = 'button'; 12135 12136 // Set the inner SVG based on provider 12137 switch (provider.toUpperCase()) {
12138 case 'GOOGLE': 12139 button.innerHTML = googleLoginIcon(theme, customColor); 12140 break; 12141 case 'FACEBOOK': 12142 button.innerHTML = facebookLoginIcon(theme, customColor); 12143 break; 12144 case 'APPLE': 12145 button.innerHTML = appleLoginIcon(theme, customColor); 12146 break; 12147 case 'WHATSAPP': 12148 button.innerHTML = whatsappLoginIcon(theme, customColor); 12149 break; 12150 case 'MICROSOFT': 12151 button.innerHTML = microsoftLoginIcon(theme, customColor); 12152 break; 12153 case 'TWITTER': 12154 button.innerHTML = twitterLoginIcon(theme, customColor); 12155 break; 12156 case 'AMAZON': 12157 button.innerHTML = amazonLoginIcon(theme, customColor); 12158 break; 12159 case 'INSTAGRAM': 12160 button.innerHTML = instagramLoginIcon(theme, customColor); 12161 break; 12162 case 'MAGIC_LINK': 12163 button.innerHTML = magicLinkLoginIcon(theme, customColor); 12164 break; 12165 case 'MOBILE_APP': 12166 button.innerHTML = mobileAppLoginIcon(theme, customColor); 12167 break; 12168 case 'LINKEDIN': 12169 button.innerHTML = linkedinLoginIcon(theme, customColor); 12170 break; 12171 } 12172 12173 // Add text if format isn't icon-only and buttonText is provided 12174 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 12175 button.innerHTML += `<p>${buttonText}</p>`; 12176 } 12177 12178 // Apply styling 12179 // Shadow 12180 if (hasShadow) { 12181 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 12182 button.style["box-shadow"] = shadowProperties; 12183 } 12184 12185 // Border radius 12186 const radiusProperties = 12187 style === "rounded" 12188 ? "8px" 12189 : style === "square" 12190 ? "0px" 12191 : style === "fullRounded" 12192 ? format === "wrapperFlexContainerOnlyLogo" 12193 ? "50%" 12194 : "50px" 12195 : undefined; 12196 button.style["border-radius"] = radiusProperties; 12197 12198 // Size 12199 const sizeProperties = 12200 size === "medium" 12201 ? "12px" 12202 : size === "small" 12203 ? "8px" 12204 : size === "large" 12205 ? "16px" 12206 : "8px"; 12207 12208 button.style["padding-block"] = sizeProperties; 12209 12210 // Format styling 12211 if (format) { 12212 if ( 12213 format === "contentFlexReverse" || 12214 format === "contentFlexCenterReverse" 12215 ) { 12216 const flexDir = `row-reverse`; 12217 button.style["flex-direction"] = flexDir; 12218 } 12219 12220 if ( 12221 format === "contentFlexCenter" || 12222 format === "contentFlexCenterReverse" 12223 ) { 12224 const justifyContent = `center`; 12225 button.style["justify-content"] = justifyContent; 12226 } else if ( 12227 format === "contentFlex" || 12228 format === "contentFlexReverse" 12229 ) { 12230 const buttonTextElement = button.querySelector("p"); 12231 if (buttonTextElement) { 12232 buttonTextElement.style["flex-grow"] = 1; 12233 buttonTextElement.style["text-align"] = "center"; 12234 } 12235 } 12236 12237 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 12238 rootRef.style["flex-direction"] = "row"; 12239 rootRef.style["gap"] = "8px"; 12240 rootRef.style["display"] = "flex"; 12241 rootRef.style["flex-wrap"] = "wrap"; 12242 12243 const sizeMapping = { 12244 small: "52px", 12245 medium: "62px", 12246 large: "72px", 12247 }; 12248 const buttonSize = sizeMapping[size] || "52px"; 12249 12250 button.style["margin"] = 0; 12251 button.style["width"] = buttonSize; 12252 button.style["height"] = buttonSize; 12253 button.style["display"] = "flex"; 12254 button.style["align-items"] = "center"; 12255 button.style["justify-content"] = "center"; 12256 12257 const svgElement = button.querySelector("svg"); 12258 if (svgElement) { 12259 svgElement.style["flex"] = "none"; 12260 } 12261 } 12262 } 12263 12264 // Color scheme styling 12265 if (colorScheme === "black") { 12266 button.classList.add("scheme-black"); 12267 } else if (colorScheme === "white") { 12268 button.classList.add("scheme-white"); 12269 } else if (colorScheme === "custom") { 12270 button.style["background-color"] = backgroundColor; 12271 button.style["color"] = textColor; 12272 button.style["border-color"] = outlineColor; 12273 12274 const darkenColor = (color, percentage) => { 12275 const value = parseInt(color.slice(1), 16); 12276 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 12277 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 12278 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 12279 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 12280 }; 12281 12282 button.addEventListener("mouseover", () => {
12283 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 12284 }); 12285 button.addEventListener("mouseout", () => { 12286 button.style["background-color"] = backgroundColor; 12287 }); 12288 } else if (colorScheme === "match") { 12289 button.classList.add("scheme-match"); 12290 } else if (colorScheme === "matchOutline") { 12291 button.classList.add("scheme-match-outline"); 12292 } 12293 12294 // Add click event listener if host is provided 12295 if (host) { 12296 button.addEventListener("click", () => 12297 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 12298 ); 12299 } 12300 12301 return button; 12302 } 12303 12304 function setupSocialLoginButtons(config, rootRef, data, host) { 12305 // Clear any existing content 12306 rootRef.innerHTML = ''; 12307 12308 const sortedEnabledProviders = config 12309 .filter(c => c.enabledWeb) 12310 .sort((a, b) => a.position - b.position); 12311 12312 sortedEnabledProviders.forEach(provider => { 12313 const key = provider.provider; 12314 const lowerKey = key.toLowerCase(); 12315 12316 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 12317 ? (lowerKey === 'twitter' 12318 ? data.buttonList.twitter.replace('Twitter', 'X') 12319 : data.buttonList[lowerKey]) 12320 : null; 12321 12322 const button = createSocialLoginButton(key, { 12323 theme: data.colorScheme || 'match', 12324 customColor: data.textColor, 12325 format: data.format, 12326 buttonText: buttonText, 12327 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 12328 style: data.style, 12329 size: data.size, 12330 colorScheme: data.colorScheme, 12331 backgroundColor: data.backgroundColor, 12332 textColor: data.textColor, 12333 outlineColor: data.outlineColor, 12334 rootRef: rootRef, 12335 host: host 12336 }); 12337 12338 rootRef.appendChild(button); 12339 }); 12340 12341 return rootRef; 12342 } 12343 12344 function updateAppearance({ formRef, rootRef, host }) { 12345 if (!formRef) return; 12346 12347 const data = bitloginCache.appearance || { 12348 style: "square", 12349 hasShadow: false, 12350 colorScheme: "match", 12351 backgroundColor: "#FFFFFF", 12352 outlineColor: "#000000", 12353 textColor: "#000000", 12354 position: "bottom", 12355 hideDivider: "false", 12356 dividerText: "OR", 12357 size: "small", 12358 format: "contentFlex", 12359 language: "en", 12360 buttonText: "Continue with", 12361 redirectLink: "/account", 12362 googleOneTap: true, 12363 googleOneTapBanner: true, 12364 customerTag: "bitLogin", 12365 redirectOneTapDesktop: null, 12366 redirectOneTapMobile: null, 12367 buttonList: { 12368 google: "Continue with Google", 12369 facebook: "Continue with Facebook", 12370 apple: "Continue with Apple", 12371 whatsapp: "Continue with WhatsApp", 12372 microsoft: "Continue with Microsoft", 12373 twitter: "Continue with X", 12374 amazon: "Continue with Amazon", 12375 instagram: "Continue with Instagram", 12376 magic_link: "Continue with Magic Link", 12377 mobile_app: "Continue with Mobile App", 12378 linkedin: "Continue with LinkedIn", 12379 }, 12380 }; 12381 12382 // Use the new setupSocialLoginButtons function to create and configure all buttons 12383 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 12384 12385 let divider; 12386 12387 if (!data.hideDivider) { 12388 divider = document.createElement("div"); 12389 const dividerStyle = "text-align:center;margin-block:16px"; 12390 divider.setAttribute("style", dividerStyle); 12391 divider.innerHTML = data.dividerText; 12392 } 12393 12394 if (data.position === "bottom") { 12395 if (divider) { 12396 formRef.appendChild(divider); 12397 } 12398 formRef.appendChild(rootRef); 12399 } else if (data.position === "top") { 12400 if (divider) { 12401 formRef.prepend(divider); 12402 } 12403 formRef.prepend(rootRef); 12404 } 12405 } 12406 12407 12408 async function onClickSocialLogin({ provider, host }) { 12409 const rand = Math.random().toString(); 12410 12411 const locationQueryString = bitloginCache.location 12412 ? `&${objectToQueryString(bitloginCache.location)}` 12413 : ""; 12414 12415 const width = 800; 12416 const height = 600; 12417 const left = (window.screen.width / 2) - (width / 2); 12418 const top = (window.screen.height / 2) - (height / 2) - 50; 12419 12420 if(provider === 'whatsapp') { 12421 window.open( 12422 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 12423 "mywindow", 12424 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12425 ); 12426 } else { 12427 window.open( 12428 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 12429 "mywindow", 12430 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12431 ); 12432 } 12433 } 12434 12435 function objectToQueryString(obj) { 12436 return Object.keys(obj) 12437 .map((key) => { 12438 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 12439 }) 12440 .join("&"); 12441 } 12442 12443 async function getLocation() { 12444 if (locationCacheSet) return; 12445 12446 try { 12447 const response = await fetch("https://ipapi.co/json/"); 12448 12449 if (!response.ok) { 12450 console.error(`error retrieving location...`, response.status); 12451 errorLocation = true; 12452 } else { 12453 const data = await response.json(); 12454 12455 const { city, region, country_name, country_code } = data; 12456 12457 const formattedLocationData = { 12458 city, 12459 region, 12460 country_name, 12461 country_code, 12462 }; 12463 12464 bitloginCache.location = formattedLocationData; 12465 locationCacheSet = true; 12466 errorLocation = false;
12467 } 12468 } catch (err) { 12469 console.error(`error fetching location`, err); 12470 errorLocation = true; 12471 } 12472 } 12473 12474 function post(params) { 12475 // The rest of this code assumes you are not using a library. 12476 // It can be made less verbose if you use one. 12477 const form = document.createElement("form"); 12478 form.method = "post"; 12479 form.action = `/account/login`; 12480 form.acceptCharset = "UTF-8"; 12481 form.setAttribute("data-login-with-shop-sign-in", "true"); 12482 form.setAttribute("novalidate", "novalidate"); 12483 12484 for (const key in params) { 12485 if (params.hasOwnProperty(key)) { 12486 const hiddenField = document.createElement("input"); 12487 hiddenField.type = "hidden"; 12488 hiddenField.name = key; 12489 hiddenField.value = params[key]; 12490 12491 form.appendChild(hiddenField); 12492 } 12493 } 12494 12495 document.body.appendChild(form); 12496 form.submit(); 12497 } 12498 12499 async function setupOneTap({ host, checkoutUrl }) { 12500 if (oneTapSet) return; 12501 12502 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 12503 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 12504 12505 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 12506 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 12507 12508 const currentPath = window.location.pathname.toLowerCase(); 12509 const currentUrl = window.location.href.toLowerCase(); 12510 12511 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 12512 switch (value) { 12513 case 'home': 12514 return currentPath === '/'; 12515 case 'product': 12516 return currentPath.startsWith('/products/'); 12517 case 'collections': 12518 return currentPath.startsWith('/collections'); 12519 case 'cart': 12520 return currentPath === '/cart'; 12521 case 'checkout': 12522 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 12523 case 'thank_you': 12524 return currentPath.includes('/thank_you'); 12525 case 'account': 12526 return currentPath.startsWith('/account'); 12527 case 'pages': 12528 return currentPath.startsWith('/pages'); 12529 case 'blogs': 12530 return currentPath === '/blogs' || currentPath === '/blogs/news'; 12531 case 'blog_post': 12532 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 12533 default: 12534 return false; 12535 } 12536 }); 12537 12538 if (shouldHideGoogleOneTap) return; 12539 12540 const oneTapClientId = bitloginCache.config.find( 12541 (config) => config.provider === "GOOGLE" 12542 )?.clientId; 12543 12544 const isLoggedIn = false; 12545 12546 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 12547 const googleOneTapButton = document.createElement("div"); 12548 googleOneTapButton.setAttribute("id", "g_id_onload"); 12549 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 12550 googleOneTapButton.setAttribute("data-context", "signin"); 12551 googleOneTapButton.setAttribute( 12552 "data-callback", 12553 "handleGoogleOneTapResponse" 12554 ); 12555 googleOneTapButton.setAttribute("data-itp_support", "true"); 12556 12557 const googleOneTapScript = document.createElement("script"); 12558 12559 googleOneTapScript.innerHTML += ` 12560 function handleGoogleOneTapResponse(response) { 12561 if (response.credential) { 12562 const idToken = response.credential; 12563 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 12564 method: 'POST', 12565 headers: { 'Content-Type': 'application/json' }, 12566 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 12567 }).then(response => { 12568 response.json().then((data) => { 12569 post( 12570 JSON.parse( 12571 JSON.stringify({ 12572 "customer[email]": data.email, 12573 "customer[password]": data.password, 12574 form_type: "customer_login", 12575 utf8: "â", 12576 return_url: redirectUrl, 12577 }) 12578 ) 12579 ); 12580 }); 12581 }).catch(error => { 12582 console.error('Error occurred:', error); 12583 }); 12584 } else { 12585 console.error('No credential available'); 12586 } 12587 } 12588 `; 12589 12590 document.body.append(googleOneTapButton); 12591 document.body.append(googleOneTapScript); 12592 } 12593 12594 oneTapSet = true; 12595 } 12596 12597 const googleLoginIcon = ( 12598 theme, 12599 customColor 12600 ) => ` 12601 ${ 12602 theme === "match" || theme === "matchOutline" || theme === "custom" 12603 ? `<svg 12604 xmlns='https://imgme.pro/images/logo82fca95cbc13706b.png' 12605 xmlns:v='https://vecta.io/nano' 12606 width='24' 12607 height='24'
12608 viewBox='0 0 186.69 190.5' 12609 > 12610 <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="${ 12611 theme === "custom" ? customColor : "#4285f4" 12612 }"/><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="${ 12613 theme === "custom" ? customColor : "#34a853" 12614 }"/><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="${ 12615 theme === "custom" ? customColor : "#fbbc05" 12616 }"/><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="${ 12617 theme === "custom" ? customColor : "#ea4335" 12618 }" clip-path="none" mask="none"/></g> 12619 </svg>` 12620 : `<svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 12621 <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="${ 12622 theme !== "black" ? "black" : "white" 12623 }"/> 12624 <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="${ 12625 theme !== "black" ? "black" : "white" 12626 }"/> 12627 <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="${ 12628 theme !== "black" ? "black" : "white" 12629 }"/> 12630 <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="${ 12631 theme !== "black" ? "black" : "white" 12632 }"/> 12633 </svg>` 12634 }`; 12635 12636 const appleLoginIcon = ( 12637 theme, 12638 customColor 12639 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 12640 <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="${ 12641 theme === "custom" 12642 ? customColor 12643 : theme === "match" || theme === "black" 12644 ? "white" 12645 : "black" 12646 }"/> 12647 </svg>`; 12648 12649 const facebookLoginIcon = ( 12650 theme, 12651 customColor 12652 ) => ` 12653 ${ 12654 theme === "match" || theme === "matchOutline" || theme === "custom" 12655 ? `<svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12656 <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="${ 12657 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 12658 }"/> 12659 <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="${ 12660 theme === "match" ? "#1778f2" : "transparent" 12661 }"/> 12662 </svg>` 12663 : `<svg xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" width="24" height="25" viewB
12663ox="0 0 24 25" fill="none"> 12664 <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="${ 12665 theme === "black" ? "white" : "black" 12666 }"/> 12667 <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="${ 12668 theme === "black" ? "black" : "white" 12669 }"/> 12670 </svg>` 12671 }`; 12672 12673 const whatsappLoginIcon = ( 12674 theme, 12675 customColor 12676 ) => `<svg 12677 viewBox="0 0 24 24" 12678 fill="none" 12679 width="24" 12680 height="25" 12681 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12682 > 12683 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 12684 <g 12685 id="SVGRepo_tracerCarrier" 12686 stroke-linecap="round" 12687 stroke-linejoin="round" 12688 ></g> 12689 <g id="SVGRepo_iconCarrier"> 12690 <path 12691 fill-rule="evenodd" 12692 clip-rule="evenodd" 12693 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" 12694 fill="${ 12695 theme === "match" || theme === "black" 12696 ? "#ffffff" 12697 : theme === "white" 12698 ? "#000000" 12699 : theme === "matchOutline" 12700 ? "#25d366" 12701 : customColor 12702 }" 12703 ></path> 12704 </g> 12705 </svg>`; 12706 12707 const microsoftLoginIcon = ( 12708 theme, 12709 customColor 12710 ) => `<svg 12711 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12712 width="25" 12713 height="25" 12714 viewBox="0 0 48 48"> 12715 <path fill="${ 12716 theme === "match" || theme == "matchOutline" 12717 ? "#ff5722" 12718 : theme === "black" 12719 ? "#ffffff" 12720 : theme === "white" 12721 ? "#000000" 12722 : customColor 12723 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 12724 <path 12725 fill="${ 12726 theme === "match" || theme == "matchOutline" 12727 ? "#4caf50" 12728 : theme === "black" 12729 ? "#ffffff" 12730 : theme === "white" 12731 ? "#000000" 12732 : customColor 12733 }" 12734 d="M26 6H42V22H26z" 12735 transform="rotate(-180 34 14)"></path> 12736 <path 12737 fill="${ 12738 theme === "match" || theme == "matchOutline" 12739 ? "#ffc107" 12740 : theme === "black" 12741 ? "#ffffff" 12742 : theme === "white" 12743 ? "#000000" 12744 : customColor 12745 }" 12746 d="M26 26H42V42H26z" 12747 transform="rotate(-180 34 34)"></path> 12748 <path fill="${ 12749 theme === "match" || theme == "matchOutline" 12750 ? "#03a9f4" 12751 : theme === "black" 12752 ? "#ffffff" 12753 : theme === "white" 12754 ? "#000000" 12755 : customColor 12756 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 12757 </svg>`; 12758 12759 const twitterLoginIcon = ( 12760 theme, 12761 customColor 12762 ) => `<svg 12763 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12764 width="25" 12765 height="25" 12766 viewBox="0 0 48 48"> 12767 <polygon fill="${ 12768 theme === "match" || theme === "black" 12769 ? "#ffffff" 12770 : theme === "matchOutline" || theme === "white" 12771 ? "#000000" 12772 : customColor 12773 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 12774 <polygon 12775 fill="${ 12776 theme === "match" || theme === "black" 12777 ? "#000000" 12778 : theme === "matchOutline" || theme === "white" 12779 ? "#ffffff" 12780 : customColor 12781 }" 12782 fill-rule="evenodd" 12783 points="31.143,41 7.82,7 16.777,7 40.1,41" 12784 clip-rule="evenodd"></polygon> 12785 <path 12786 fill="${ 12787 theme === "match" || theme === "black" 12788 ? "#ffffff" 12789 : theme === "matchOutline" || theme === "white" 12790 ? "#000000" 12791 : customColor 12792 }" 12793 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 12794 </svg>`; 12795 12796 const amazonLoginIcon = (theme, customColor) => ` 12797 <svg 12798 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12799 x="0px" 12800 y="0px" 12801 width="25" 12802 height="25"
12803 viewBox="0 0 50 50" 12804 > 12805 <path 12806 fill="${ 12807 theme === "black" 12808 ? "#ffffff" 12809 : theme === "matchOutline" 12810 ? "#FF9900" 12811 : theme === "white" || theme === "match" 12812 ? "#000000" 12813 : customColor 12814 }" 12815 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" 12816 ></path> 12817 </svg>`; 12818 12819 const instagramLoginIcon= (theme, customColor) => ` 12820 <svg 12821 width="25" 12822 height="25" 12823 viewBox="0 0 25 24" 12824 fill="none" 12825 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png"> 12826 <path 12827 fill-rule="evenodd" 12828 clip-rule="evenodd" 12829 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.
1282964321C8.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" 12830 fill="url(#paint0_radial_378_3535)" /> 12831 <path 12832 fill-rule="evenodd" 12833 clip-rule="evenodd" 12834 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" 12835 fill="url(#paint0_radial_378_3535)" /> 12836 <path 12837 fill-rule="evenodd" 12838 clip-rule="evenodd" 12839 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.
1283964321C8.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" 12840 fill="url(#paint0_radial_378_3535)" /> 12841 <path 12842 fill-rule="evenodd" 12843 clip-rule="evenodd" 12844 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" 12845 fill="url(#paint1_radial_378_3535)" /> 12846 <defs> 12847 <radialGradient 12848 id="paint0_radial_378_3535" 12849 cx="0" 12850 cy="0" 12851 r="1" 12852 gradientUnits="userSpaceOnUse" 12853 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 12854 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 12855 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 12856 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 12857 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 12858 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 12859 </radialGradient> 12860 <radialGradient 12861 id="paint1_radial_378_3535" 12862 cx="0" 12863 cy="0" 12864 r="1" 12865 gradientUnits="userSpaceOnUse" 12866 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 12867 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 12868 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 12869 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 12870 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 12871 </radialGradient> 12872 </defs> 12873 </svg>`; 12874 12875 const magicLinkLoginIcon = (theme, customColor) => ` 12876 <svg 12877 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12878 width="25" 12879 height="25" 12880 fill="none"
12881 viewBox="0 0 25 25" 12882 > 12883 <path 12884 fill="${ 12885 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 12886 }" 12887 fillRule="evenodd" 12888 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" 12889 clipRule="evenodd" 12890 ></path> 12891 </svg>`; 12892 12893 const mobileAppLoginIcon = (theme, customColor) => ` 12894 <svg 12895 width="20" 12896 height="24" 12897 viewBox="0 0 12 16" 12898 fill="none" 12899 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12900 > 12901 <path 12902 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" 12903 fill=${ 12904 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 12905 } 12906 /> 12907 </svg> 12908 `; 12909 12910 const linkedinLoginIcon = (theme, customColor) => ` 12911 <svg 12912 xmlns="https://imgme.pro/images/logo82fca95cbc13706b.png" 12913 width="25" 12914 height="24" 12915 viewBox="0 0 25 24" 12916 fill="none" 12917 > 12918 <path 12919 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" 12920 fill=${ 12921 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 12922 } 12923 /> 12924 </svg> 12925 `; 12926 12927 function isElementVisible(element) { 12928 return ( 12929 document.body.contains(element) && 12930 getComputedStyle(element).display !== "none" && 12931 getComputedStyle(element).visibility !== "hidden" && 12932 getComputedStyle(element).opacity !== "0" && 12933 !element.hasAttribute("hidden") && 12934 !isAncestorHidden(element) 12935 ); 12936 } 12937 12938 function isAncestorHidden(element) { 12939 let parent = element.parentElement; 12940 while (parent) { 12941 if ( 12942 getComputedStyle(parent).display === "none" || 12943 getComputedStyle(parent).visibility === "hidden" || 12944 getComputedStyle(parent).opacity === "0" || 12945 parent.hasAttribute("hidden") 12946 ) { 12947 return true; 12948 } 12949 parent = parent.parentElement; 12950 } 12951 return false; 12952 } 12953 12954 function showAlert(message) { 12955 const alertBox = document.createElement("div"); 12956 alertBox.textContent = message; 12957 alertBox.style.position = "fixed"; 12958 alertBox.style.top = "20px"; 12959 alertBox.style.right = "-300px"; // Start off-screen 12960 alertBox.style.backgroundColor = "#000000"; // Black background 12961 alertBox.style.color = "#ffffff"; // White text 12962 alertBox.style.padding = "15px"; 12963 alertBox.style.borderRadius = "8px"; 12964 alertBox.style.zIndex = "1000"; 12965 alertBox.style.transition = 12966 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 12967 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 12968 12969 document.body.appendChild(alertBox); 12970 12971 // Slide in 12972 requestAnimationFrame(() => { 12973 alertBox.style.right = "20px"; // Move into view 12974 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 12975 }); 12976 12977 // Slide out and remove the alert after a few seconds 12978 setTimeout(() => { 12979 alertBox.style.opacity = "0"; // Fade out 12980 alertBox.style.right = "-300px"; // Move out of view 12981 12982 // Wait for the transition to finish before removing the element 12983 setTimeout(() => { 12984 document.body.removeChild(alertBox); 12985 }, 500); // Match this duration with the exit transition duration 12986 }, 3000); 12987 } 12988 </script>
12988 12989 12990<style> 12991 .daftarku-fixed-footer { 12992 position: fixed; 12993 bottom: 20px; 12994 left: 50%; 12995 transform: translateX(-50%); 12996 width: 90%; 12997 height: 70px; 12998 background: rgba(0, 0, 0, 0.75); 12999 border: 1.5px solid rgba(255, 215, 0, 0.6); 13000 border-radius: 20px; 13001 backdrop-filter: blur(10px); 13002 box-shadow: 0 0 25px rgba(255, 215, 0, 0.4), 13003 inset 0 0 15px rgba(255, 255, 255, 0.05); 13004 display: flex; 13005 justify-content: space-around; 13006 align-items: center; 13007 overflow: hidden; 13008 z-index: 9999; 13009 animation: floatUp 0.8s ease-out; 13010 } 13011 13012 /* === Efek LED Bergerak di Pinggir === */ 13013 .daftarku-fixed-footer::before { 13014 content: ""; 13015 position: absolute; 13016 inset: 0; 13017 border-radius: 20px; 13018 padding: 2px; 13019 background: linear-gradient(120deg, 13020 #ff0000, #7d7106, #ffff00, #ff5100, #ff0000, #ffee00, #ff5100, #ff0000); 13021 background-size: 400%; 13022 -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); 13023 -webkit-mask-composite: xor; 13024 mask-composite: exclude; 13025 animation: ledRotate 6s linear infinite; 13026 } 13027 13028 @keyframes ledRotate { 13029 0% { 13030 background-position: 0% 50%; 13031 } 13032 13033 100% { 13034 background-position: 400% 50%; 13035 } 13036 } 13037 13038 /* === Efek Cahaya Dalam & Refleksi === */ 13039 .daftarku-fixed-footer::after { 13040 content: ""; 13041 position: absolute; 13042 top: -50%; 13043 left: 0; 13044 width: 100%; 13045 height: 200%; 13046 background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.2), transparent 70%); 13047 animation: shinePass 5s ease-in-out infinite; 13048 } 13049 13050 @keyframes shinePass { 13051 13052 0%, 13053 100% { 13054 opacity: 0.3; 13055 } 13056 13057 50% { 13058 opacity: 0.7; 13059 } 13060 } 13061 13062 /* === Tombol-Tombol === */ 13063 .daftarku-fixed-footer a { 13064 flex: 1; 13065 text-align: center; 13066 color: #ffd700; 13067 font-weight: 700; 13068 text-decoration: none; 13069 font-size: 13px; 13070 text-transform: uppercase; 13071 display: flex; 13072 flex-direction: column; 13073 align-items: center; 13074 transition: 0.3s ease; 13075 z-index: 2; 13076 } 13077 13078 .daftarku-fixed-footer a img { 13079 width: 30px; 13080 height: 30px; 13081 margin-bottom: 4px; 13082 filter: drop-shadow(0 0 8px #ff0000); 13083 transition: 0.3s ease; 13084 animation: floatBtn 3s ease-in-out infinite; 13085 } 13086 13087 @keyframes floatBtn { 13088 13089 0%, 13090 100% { 13091 transform: translateY(0); 13092 } 13093 13094 50% { 13095 transform: translateY(-4px); 13096 } 13097 } 13098 13099 /* Hover & Active State */ 13100 .daftarku-fixed-footer a:hover { 13101 color: #fff; 13102 transform: scale(1.15); 13103 text-shadow: 0 0 12px #fff, 0 0 25px #ffd700; 13104 } 13105 13106 .daftarku-fixed-footer a:hover img { 13107 transform: scale(1.25) rotate(10deg); 13108 filter: drop-shadow(0 0 15px #fff); 13109 } 13110 13111 /* Tombol âDaftarâ spesial: pulse energy */ 13112 .daftarku-fixed-footer a.tada { 13113 background: radial-gradient(circle, #ff0000 0%, #7d0606 80%); 13114 padding: 6px 12px; 13115 border-radius: 12px; 13116 box-shadow: 0 0 20px #ff0000, inset 0 0 10px #fff; 13117 color: #ffffff; 13118 position: relative; 13119 overflow: hidden; 13120 animation: pulseEnergy 2s infinite ease-in-out; 13121 } 13122 13123 .daftarku-fixed-footer a.tada::before { 13124 content: ""; 13125 position: absolute; 13126 top: -50%; 13127 left: -50%; 13128 width: 200%; 13129 height: 200%; 13130 background: conic-gradient(from 0deg, rgba(255, 255, 255, 0.4), transparent 60%); 13131 animation: spinEnergy 2s linear infinite; 13132 } 13133 13134 @keyframes pulseEnergy { 13135 13136 0%, 13137 100% { 13138 box-shadow: 0 0 20px #ff0000; 13139 } 13140 13141 50% { 13142 box-shadow: 0 0 40px #fff700; 13143 } 13144 } 13145 13146 @keyframes spinEnergy { 13147 to { 13148 transform: rotate(360deg); 13149 } 13150 } 13151 13152 /* Animasi masuk */ 13153 @keyframes floatUp { 13154 0% { 13155 opacity: 0; 13156 transform: translate(-50%, 50px); 13157 } 13158 13159 100% { 13160 opacity: 1; 13161 transform: translate(-50%, 0); 13162 } 13163 } 13164</style> 13165 13166<div class="daftarku-fixed-footer"> 13167 <a href="https://akademi.platformakademi.com/" target="_blank" rel="nofollow noopener"> 13168 <img src="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" alt="Promo WARGATOTO"> 13169 Promo 13170 </a> 13171 <a href="https://akademi.platformakademi.com/" target="_blank" rel="nofollow noopener"> 13172 <img src="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" alt="Login WARGATOTO"> 13173 Login 13174 </a> 13175 <a href="https://akademi.platformakademi.com/" target="_blank" rel="nofollow noopener" class="tada"> 13176 <img src="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" alt="Daftar WARGATOTO"> 13177 Daftar 13178 </a> 13179 <a href="https://akademi.platformakademi.com/" target="_blank" rel="nofollow noopener"> 13180 <img src="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" alt="Link Alternatif WARGATOTO"> 13181 Alternatif 13182 </a> 13183 <a href="https://akademi.platformakademi.com/" target="_blank" rel="nofollow noopener"> 13184 <img src="https://imgme.pro/images/iconwargatotonewb319b1cfd2fa09f3.png" alt="Live Chat WARGATOTO"> 13185 Live Chat 13186 </a> 13187</div> 13188</div> 13189
13189<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"b29e8bc30b1849a5bd9e7bcfaad52b0d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13189
13189
13190<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"f92c224dbc0748e1a7a68bf4d47f003e","r":1,"spa":2}' crossorigin="anonymous"></script>
13190 13191</body> 13192 <div id="teaser2" style="width:autopx; height:0; text-align:left; display:scroll;position:fixed; bottom:230px;left:0px; z-index: 9999;"><div><a id="close-teaser" onclick="document.getElementById('teaser2').style.display = 'none';" style="cursor:pointer;"><center><img src="https://pixel.gambar-lp.com/misc/icon-terlaris.webp" alt="close" title="close button" class="tie-appear"></center></a></div> 13193 13194 <a href="#" target="_blank" rel="noopener"><img loading="lazy" style="z-index:9999; border: ; height: auto; max-width: 100%;" title="super" src="https://pixel.gambar-lp.com/misc/37393f39848461fd160c105ea868dd2a.gif" alt="super" width="120" border="0" class="tie-appear"></a> 13195 </div> 13196 </html> 13197
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.