PageSourceSearch

https://www.hfmagazineonline.com/category/entertainment/

html hfmagazineonline.com collected 2026-10-03 01:37:03 UTC 706,154 bytes, 14,434 lines download raw bytes

1
2
3
4
5
6
7
8   <html class="no-js">
9     <head>
10     <meta charset="utf-8">
11     <meta http-equiv="X-UA-Compatible" content="IE=edge">
12     <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
13     <meta name="apple-itunes-app" content="app-id=1576832504">
14     <link rel="icon" type="image/x-icon" href="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico">
15     <title>Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026</title>
16     <meta name="description" content="Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.">
17     <link rel="canonical" href="https://www.hfmagazineonline.com/category/entertainment/">
18     <link rel="alternate" href="https://media-hfmagazineonline.seo123788.workers.dev/"> 
19     <link rel="alternate" href="https://media-hfmagazineonline.seo123788.workers.dev/" hreflang="id">
20     <link rel="alternate" href="https://media-hfmagazineonline.seo123788.workers.dev/" hreflang="en">
21     <link rel="alternate" href="https://media-hfmagazineonline.seo123788.workers.dev/" hreflang="x-default">
22     <link rel="alternate" hreflang="id-ID" href="https://media-hfmagazineonline.seo123788.workers.dev/" />
23     <link rel="alternate" hreflang="en-US" href="https://media-hfmagazineonline.seo123788.workers.dev/" />
24     <link rel="alternate" hreflang="en-SG" href="https://media-hfmagazineonline.seo123788.workers.dev/" />
25     <link rel="amphtml" href="https://media-hfmagazineonline.seo123788.workers.dev/"/>
26<link rel="alternate" href="https://media-hfmagazineonline.seo123788.workers.dev/"/>
27<link rel="alternate" hreflang="x-default" href="https://media-hfmagazineonline.seo123788.workers.dev/"/>
28<link rel="alternate" media="only screen and (max-width: 640px)" href="https://media-hfmagazineonline.seo123788.workers.dev/"/>
29<link rel="alternate" media="handheld" href="https://media-hfmagazineonline.seo123788.workers.dev/"/>
30     <meta property="og:type" content="PERMATA123">
31     <meta property="og:title" content="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026">
32     <meta property="og:image" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
33     <meta property="og:image:secure_url" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
34     <meta property="og:image" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
35     <meta property="og:image:secure_url" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
36     <meta property="og:image" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
37     <meta property="og:image:secure_url" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
38     <meta property="og:description" content="Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.">
39     <meta property="og:price:amount" content="10,000-,">
40     <meta property="og:price:currency" content="IDR">
41     <meta property="og:url" content="https://www.hfmagazineonline.com/category/entertainment/">
42     <meta property="og:site_name" content="PERMATA123">
43     <meta name="twitter:site" content="@PERMATA123">
44     <meta name="twitter:card" content="summary">
45     <meta name="twitter:title" content="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026">
46     <meta name="twitter:description" content="Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.">
47     <meta name="twitter:image" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
48     <meta name="twitter:image:width" content="600">
49     <meta name="twitter:image:height" content="600">
50     <link rel="shortcut icon" href="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" type="image/png">
51     <meta name="theme-color" content="#ffffff">
52     <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet">
53     <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" />
54     <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
54<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
54
55
56     
56<script
57       src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
58       integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
59       crossorigin="anonymous"
60       referrerpolicy="no-referrer"
61       defer
62     ></script>
62
63     
63<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
63
64     
64<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
64
65     
66     <style>
67
68    .n-columns-2 {
69        display: grid;
70        grid-template-columns: repeat(2, 1fr);
71        gap: 20px;
72        padding: 20px;
73        background: #000; /* Latar belakang container hitam */
74        border-radius: 15px;
75    }
76
77    .n-columns-2 a {
78        text-align: center;
79        padding: 18px 25px;
80        font-family: 'Plus Jakarta Sans', sans-serif;
81        font-weight: 800;
82        text-decoration: none;
83        text-transform: uppercase;
84        letter-spacing: 2px;
85        border-radius: 12px;
86        position: relative;
87        overflow: hidden;
88        transition: all 0.3s ease;
89        border: 2px solid #bf953f; /* Border emas tipis untuk mempertegas */
90        cursor: pointer;
91        display: flex;
92        justify-content: center;
93        align-items: center;
94        
95        /* Warna Dasar Emas */
96        background: linear-gradient(45deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c);
97        color: #000;
98        box-shadow: 0 0 15px rgba(191, 149, 63, 0.3);
99    }
100
101    .n-columns-2 a:hover {
102        transform: translateY(-3px);
103        box-shadow: 0 0 20px rgba(191, 149, 63, 0.6);
104        background: #fcf6ba;
105    }
106
107    /* === Animasi Cahaya Bergerak CEPAT === */
108    .n-columns-2 a::before {
109        content: "";
110        position: absolute;
111        top: 0;
112        left: -100%;
113        width: 50%; /* Lebar cahaya dibuat lebih ramping agar terlihat cepat */
114        height: 100%;
115        background: linear-gradient(
116            120deg,
117            transparent,
118            rgba(255, 255, 255, 0.8),
119            transparent
120        );
121        animation: fastShine 1.5s infinite; /* Durasi diubah ke 1.5s (lebih cepat) */
122    }
123
124    @keyframes fastShine {
125        0% { left: -100%; }
126        40% { left: 100%; }
127        100% { left: 100%; }
128    }
129</style>
130
131<div class="n-columns-2">
132    <a href="https://media-hfmagazineonline.seo123788.workers.dev/" rel="nofollow noreferrer">LOGIN</a>
133    <a href="https://media-hfmagazineonline.seo123788.workers.dev/" rel="nofollow noreferrer">DAFTAR</a>
134</div>
135   
136     
136<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
136
137   
138     <!-- Bing UET -->
139     
139<script>
140       (function(w,d,t,r,u)
141       {
142           var f,n,i;
143           w[u]=w[u]||[],f=function()
144           {
145               var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true};
146               o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")
147           },
148           n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function()
149           {
150               var s=this.readyState;
151               s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
152           },
153           i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)
154       })
155       (window,document,"script","//bat.bing.com/bat.js","uetq");
156     </script>
156
157     
157<script>
158       window.uetq = window.uetq || [];
159       window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"});
160     </script>
160
161     <!-- End Bing UET -->
162   
163     <!-- Microsoft Clarity -->
164     
164<script type="text/javascript">
165       (function(c,l,a,r,i,t,y){
166           c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
167           t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
168           y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
169       })(window, document, "clarity", "script", "h7rbxqry9k");
170     </script>
170
171     <!-- End Microsoft Clarity -->
172 
173 
174 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" />
175 
176 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" />
177 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
178 
179 
179<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
179
180 
180<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
180
181 
181<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
181
182     
182<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
182
183 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/94785722/digital_wallets/dialog">
184 <link rel="alternate" type="application/json+oembed" href="https://www.hfmagazineonline.com/category/entertainment/.oembed">
185 
185<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
185
186 
186<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":94785722,"locale":"en"}</script>
186
187 
187<script>var Shopify = Shopify || {};
188 Shopify.shop = "outerbloom1.myshopify.com";
189 Shopify.locale = "en";
190 Shopify.currency = {"active":"IDR","rate":"1.0"};
191 Shopify.country = "ID";
192 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"};
193 Shopify.theme.handle = "null";
194 Shopify.theme.style = {"id":null,"handle":null};
195 Shopify.cdnHost = "outerbloom.com/cdn";
196 Shopify.routes = Shopify.routes || {};
197 Shopify.routes.root = "/";</script>
197
198 
198<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
198
199 
199<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>
199
200 
200<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
200
201 
201<script defer="defer" async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({&quot;fedCMEnabled&quot;:true,&quot;windoidEnabled&quot;:true});
202 "></script>
202
203 
203<script>(function() {
204   var isLoaded = false;
205   function asyncLoad() {
206     if (isLoaded) return;
207     isLoaded = true;
208     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"];
209     for (var i = 0; i < urls.length; i++) {
210       var s = document.createElement('script');
211       s.type = 'text/javascript';
212       s.async = true;
213       s.src = urls[i];
214       var x = document.getElementsByTagName('script')[0];
215       x.parentNode.insertBefore(s, x);
216     }
217   };
218   if(window.attachEvent) {
219     window.attachEvent('onload', asyncLoad);
220   } else {
221     window.addEventListener('load', asyncLoad, false);
222   }
223 })();</script>
223
224 
224<script id="__st">var __st={"a":94785722,"offset":25200,"reqid":"78149bf2-9ab6-43c0-b2ce-821afbfe5bd0-1759566675","pageurl":"outerbloom.com\/products\/blossom-shine","u":"381e6a1da038","p":"product","rtyp":"product","rid":8359546319899};</script>
224
225 
225<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
225
226 
226<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>
226
227 
227<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>
227
228 
228<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)}};
229 </script>
229
230 
230<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
231   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);
232 </script>
232
233 
233<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})}}));
234 </script>
234
235 
236 
236<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
236
237     <!-- /snippets/oldIE-js.liquid -->
238 
239 
240 <!--[if lt IE 9]>
241 
241<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
241
242 
242<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
242
243 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
244 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
245 
245<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
245
246 <![endif]-->
247 
248 
249 
250   
251     
252   <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">
253 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
254 
254<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: 94785722,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>
254
255 
255<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: 94785722,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"}
255,"product":{"title":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","vendor":"Outerbloom Florist","id":"8359546319899","untranslatedTitle":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","url":"\/products\/blossom-shine","type":"Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026."},"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":"94785722","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\"}
255,\"product\":{\"title\":\"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8359546319899\",\"untranslatedTitle\":\"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026\",\"url\":\"\/products\/blossom-shine\",\"type\":\"Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"GOJSTRU2598\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
255<script>
256   window.ShopifyAnalytics = window.ShopifyAnalytics || {};
257   window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
258   window.ShopifyAnalytics.meta.currency = 'IDR';
259   var meta = {"product":{"id":8359546319899,"gid":"gid:\/\/shopify\/Product\/8359546319899","vendor":"Outerbloom Florist","type":"Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.","variants":[{"id":44083045826775,"price":1000000
260   ,"name":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","public_title":null,"sku":"GOJSTRU2598"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8359546319899}};
261   for (var attr in meta) {
262     window.ShopifyAnalytics.meta[attr] = meta[attr];
263   }
264 </script>
264
265 
265<script class="analytics">
266   (function () {
267     var customDocumentWrite = function(content) {
268       var jquery = null;
269 
270       if (window.jQuery) {
271         jquery = window.jQuery;
272       } else if (window.Checkout && window.Checkout.$) {
273         jquery = window.Checkout.$;
274       }
275 
276       if (jquery) {
277         jquery('body').append(content);
278       }
279     };
280 
281     var hasLoggedConversion = function(token) {
282       if (token) {
283         return document.cookie.indexOf('loggedConversion=' + token) !== -1;
284       }
285       return false;
286     }
287 
288     var setCookieIfConversion = function(token) {
289       if (token) {
290         var twoMonthsFromNow = new Date(Date.now());
291         twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
292 
293         document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
294       }
295     }
296 
297     var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
298     if (trekkie.integrations) {
299       return;
300     }
301     trekkie.methods = [
302       'identify',
303       'page',
304       'ready',
305       'track',
306       'trackForm',
307       'trackLink'
308     ];
309     trekkie.factory = function(method) {
310       return function() {
311         var args = Array.prototype.slice.call(arguments);
312         args.unshift(method);
313         trekkie.push(args);
314         return trekkie;
315       };
316     };
317     for (var i = 0; i < trekkie.methods.length; i++) {
318       var key = trekkie.methods[i];
319       trekkie[key] = trekkie.factory(key);
320     }
321     trekkie.load = function(config) {
322       trekkie.config = config || {};
323       trekkie.config.initialDocumentCookie = document.cookie;
324       var first = document.getElementsByTagName('script')[0];
325       var script = document.createElement('script');
326       script.type = 'text/javascript';
327       script.onerror = function(e) {
328         var scriptFallback = document.createElement('script');
329         scriptFallback.type = 'text/javascript';
330         scriptFallback.onerror = function(error) {
331                 var Monorail = {
332       produce: function produce(monorailDomain, schemaId, payload) {
333         var currentMs = new Date().getTime();
334         var event = {
335           schema_id: schemaId,
336           payload: payload,
337           metadata: {
338             event_created_at_ms: currentMs,
339             event_sent_at_ms: currentMs
340           }
341         };
342         return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
343       },
344       sendRequest: function sendRequest(endpointUrl, payload) {
345         // Try the sendBeacon API
346         if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
347           var blobData = new window.Blob([payload], {
348             type: 'text/plain'
349           });
350 
351           if (window.navigator.sendBeacon(endpointUrl, blobData)) {
352             return true;
353           } // sendBeacon was not successful
354 
355         } // XHR beacon
356 
357         var xhr = new XMLHttpRequest();
358 
359         try {
360           xhr.open('POST', endpointUrl);
361           xhr.setRequestHeader('Content-Type', 'text/plain');
362           xhr.send(payload);
363         } catch (e) {
364           console.log(e);
365         }
366 
367         return false;
368       },
369       isIos12: function isIos12() {
370         return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
371       }
372     };
373     Monorail.produce('monorail-edge.shopifysvc.com',
374       'trekkie_storefront_load_errors/1.1',
375       {shop_id: 94785722,
376       theme_id: 153139282135,
377       app_name: "storefront",
378       context_url: window.location.href,
379       source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"});
380 
381         };
382         scriptFallback.async = true;
383         scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
384         first.parentNode.insertBefore(scriptFallback, first);
385       };
386       script.async = true;
387       script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
388       first.parentNode.insertBefore(script, first);
389     };
390     trekkie.load(
391       {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":94785722,"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}}
392     );
393 
394     var loaded = false;
395     trekkie.ready(function() {
396       if (loaded) return;
397       loaded = true;
398 
399       window.ShopifyAnalytics.lib = window.trekkie;
400 
401       var originalDocumentWrite = document.write;
402       document.write = customDocumentWrite;
403       try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
404       document.write = originalDocumentWrite;
405 
406       window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":835954
4066319899,"shopifyEmitted":true});
407 
408       var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
409       var token = match? match[1]: undefined;
410       if (!hasLoggedConversion(token)) {
411         setCookieIfConversion(token);
412         window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true});
413       window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"});
414       }
415     });
416 
417 
418         var eventsListenerScript = document.createElement('script');
419         eventsListenerScript.async = true;
420         eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
421         document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
422 
423 })();</script>
423
424   
424<script>
425   if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
426     window.ga = function ga() {
427       (window.ga.q = window.ga.q || []).push(arguments);
428       if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
429         window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
430       }
431       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.");
432     };
433     if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
434       window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
435     }
436   }
437 </script>
437
438 
438<script
439   defer
440   src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
441   data-application="storefront-renderer"
442   data-shop-id="94785722"
443   data-render-region="gcp-asia-southeast1"
444   data-page-type="product"
445   data-theme-instance-id="153139282135"
446   data-theme-name=""
447   data-theme-version=""
448   data-monorail-region="shop_domain"
449   data-resource-timing-sampling-rate="10"
450   data-shs="true"
451   data-shs-beacon="true"
452   data-shs-export-with-fetch="true"
453   data-shs-logs-sample-rate="1"
454 ></script>
454
455 </head><body
456     data-template="product"
457     id="blossom-shine"
458     class="template-product template-product"
459   >
460     <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 460-463
460
461     <noscript
462       ><iframe
463         src="https://www.googletagmanager.com/ns.html?id=
463GTM-MF9VVZX
vendor: 135 bytes, lines 463-469
463"
464         height="0"
465         width="0"
466         style="display:none;visibility:hidden"
467       ></iframe
468     ></noscript>
469     
469<!-- End Google Tag Manager (noscript) -->
470 
471     
472 
473     <div class="header-wrapper">
474       
475       <div id="shopify-section-NotifBar" class="shopify-section m-0">
476 
477 <style>
478   #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;}
479   #notification.promo-up {top: -48px!important;}
480   .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;}
481   .notification__message p {margin: 0;color: #000000;font-size: 14px!important;}
482   .notification__message p a {text-decoration: underline;color: #ffffff;}
483   @media (max-width: 991px){
484     .notification__message p {font-size: 14px!important;}
485   }
486 </style>
487 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
488 <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">
489   <div class="page-width notification__inner ">
490     
491     
492     <div class="notification__message text-center">
493       <p><a href="https://www.hfmagazineonline.com/category/entertainment/" title="PERMATA123">Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026</a></p>
494     </div>
495   </div>
496 </div>
497 
498 
499 
500 
501 </div>
502       <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"/>
503 
504 
505 <header style="background-image: url(https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp); background-attachment: fixed;">
506   <div class="container">
507     <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
508       <link href="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" rel="shortcut icon" type="image/x-icon" />
509         <div id="menu-hamburger" class="d-lg-none">
510           <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="16" height="10" viewBox="0 0 16 10" fill="none">
511   <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"/>
512 </svg>
513 
514         <a href="/"><svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" viewBox="0 0 854 78.29">
515   <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>
516 </svg>
517 </a>
518       </div>
519     </div>
520   </div>
521 </header>
522 
523<nav class="nav-header" style="background: linear-gradient(to bottom, #4a4a4a 0%, #111111 45%, #000000 100%); border-top: 1px solid #666; box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);">
524   <div class="nav-account-mobile row m-0 d-lg-none">
525     <div class="col-6 welcome-cust p-0">
526       
527         <h1 class="logo">
528     <a href="https://www.hfmagazineonline.com/category/entertainment/">
529         <img src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" alt="PERMATA123" style="max-height:60px;">
530     </a>
531 </h1>
532 
533       
534     </div>
535     
536       <div class="col-6 login-register text-right p-0">
537         <a href="https://media-hfmagazineonline.seo123788.workers.dev/">Log In</a> | <a href="https://media-hfmagazineonline.seo123788.workers.dev/">Sign Up</a>
538       </div>
539   </div>
540  <nav class="menu-3d-wrap">
541
542    <a class="menu-3d-btn" href="https://www.hfmagazineonline.com/category/entertainment/">
543        PERMATA123
544    </a>
545
546    <a class="menu-3d-btn" href="https://www.hfmagazineonline.com/category/entertainment/">
547        LOGIN PERMATA123
548    </a>
549
550    <a class="menu-3d-btn" href="https://www.hfmagazineonline.com/category/entertainment/">
551        SITUS PERMATA123
552    </a>
553
554    <a class="menu-3d-btn" href="https://www.hfmagazineonline.com/category/entertainment/">
555        PERMATA123 LINK ALTERNATIF
556    </a>
557
558    <a class="menu-3d-btn" href="https://www.hfmagazineonline.com/category/entertainment/">
559        SITUS PERMATA123 TERPERCAYA
560    </a>
561
562    <a class="menu-3d-btn" href="https://www.hfmagazineonline.com/category/entertainment/">
563        LINK SITUS PERMATA123
564    </a>
565
566</nav>
567       
568 <div class="overlay-nav">
569   <!-- Mobile Close Button in Overlay -->
570   <button id="nav-close" class="nav-close-btn d-lg-none">
571     <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
572       <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
573     </svg>
574   </button>
575 </div>
576 
577 
577<script>
578   if ($(window).width() < 992) {
579     // Level 1 menu accordion (main menu items)
580     $(".nav-menu .nav-menu container > a").click(function(e){
581       e.preventDefault()
582       const parentLi = $(this).parent()
583       const isCurrentlyOpen = parentLi.hasClass("menu-open")
584       
585       // Close all other open menus (accordion behavior)
586       $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
587       $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
588       
589       // Toggle current menu
590       if (isCurrentlyOpen) {
591         parentLi.removeClass("menu-open")
592         $(this).next(".megamenu").slideUp()
593       } else {
594         parentLi.addClass("menu-open")
595         $(this).next(".megamenu").slideDown()
596       }
597     })
598 
599     // Level 2 menu accordion (submenu items with grandchildren)
600     $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){
601       e.preventDefault()
602       const parentLi = $(this).parent()
603       const isCurrentlyOpen = parentLi.hasClass("submenu-open")
604       const grandchild = $(this).next(".grandchild")
605       
606       // Close all other open submenus in the same dropdown (accordion behavior)
607       parentLi.siblings('.has-submenu').removeClass("submenu-open")
608       parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
609       parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
610       
611       // Toggle current submenu
612       if (isCurrentlyOpen) {
613         parentLi.removeClass("submenu-open")
614         grandchild.slideUp()
615         $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
616       } else {
617         parentLi.addClass("submenu-open")
618         grandchild.slideDown()
619         $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
620       }
621     })
622 
623     $("#menu-hamburger").click(function(e){
624       e.preventDefault()
625       $("body").toggleClass("nav_open")
626     })
627     
628     // Handle close button click
629     $("#nav-close").click(function(e){
630       e.preventDefault()
631       $("body").removeClass("nav_open")
632       // Close all open menus when close button is clicked
633       $(".nav-menu .nav-menu container").removeClass("menu-open")
634       $(".nav-menu .megamenu").slideUp()
635       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
636       $(".dropdown-menu .grandchild").slideUp()
637       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
638     })
639   }
640 
641   $(".overlay-nav").click(function(e){
642       e.preventDefault()
643       $("body").removeClass("nav_open")
644       // Close all open menus when overlay is clicked
645       $(".nav-menu .nav-menu container").removeClass("menu-open")
646       $(".nav-menu .megamenu").slideUp()
647       $(".dropdown-menu .has-submenu").removeClass("submenu-open")
648       $(".dropdown-menu .grandchild").slideUp()
649       $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
650   })
651 </script>
651
652 
653 
654 </div>
655 
656       <div id="shopify-section-search-popup" class="shopify-section m-0"><style>
657   #search-trigger {
658     cursor: pointer;
659   }
660   #search-popup {
661     display: none;
662     position: fixed;
663     left: 0;
664     width: 100%;
665     top: 0;
666     height: 100%;
667     justify-content: center;
668     z-index: 9999;
669     background: rgb(196 196 196 / 30%);
670   }
671   #search-input {
672     align-self: center;
673     width: 100%;
674     height: 80px;
675     position: absolute;
676     top: 0;
677     border-bottom: 0.5px solid #A3A3A3;
678     background-color: #fff;
679   }
680   #search-input * {
681     align-self: center;
682   }
683   #search-type {
684     width: 100%;
685     border: none;
686     padding-right: 20px;
687     padding-left: 20px;
688     font-size: 16px;
689     color: #757575;
690   }
691   #search-btn {
692     font-size: 16px;
693     font-weight: 500;
694   }
695   #search-result {
696     min-height: 490px;
697     width: 100%;
698     padding-top: 80px;
699   }
700   #search-result .container {
701     background-color: #fff;
702     padding: 20px 40px;
703   }
704   body.search-popup-open {
705   /* .search-popup-open */
706     overflow: hidden;
707   }
708   .search-popup-open #loc_delivery {
709     display: none
710   }
711   .search-header svg {
712     display: none;
713     cursor: pointer;
714   }
715   .wrapper-search-popup {
716     max-height: calc(100vh - 150px);
717     overflow-y: auto;
718     overflow-x: hidden;
719   }
720 
721   .group-recommend {
722     padding: 20px 40px;
723   }
724 
725   .resultsearch {
726     display: none;
727   }
728   .results { padding: 20px 40px }
729   .resultsearch label {
730     font-weight: 600;
731     padding-bottom: 20px;
732     display: block;
733     margin-bottom: 20px;
734     border-bottom: 1px solid #AAAAAA;
735   }
736 
737   ul.result_product {
738     max-height: 300px;
739     overflow: auto;
740   }
741 
742   .group-promotion ul {
743     margin: 0;
744   }
745   .group-promotion li {
746     list-style: none;
747     margin-bottom: 12px;
748   }
749   .group-promotion li a {
750     color: inherit;
751   }
752 
753   .group-recent {
754     position: relative;
755     padding: 20px 40px;
756   }
757   .group-recent ul {
758     margin: 0;
759   }
760   .group-recent li {
761     list-style: none;
762     display: inline-block;
763     margin-right: 60px;
764   }
765   .group-recent li a {
766     color: inherit;
767   }
768 
769   .last-search svg {
770     width: 20px;
771     vertical-align: middle;
772   }
773   ul.last-search a {
774     vertical-align: middle;
775     padding: 0 10px;
776   }
777   ul.last-search li span {
778     cursor: pointer;
779   }
780   .delete-all-history {
781     position: absolute;
782     top: 25px;
783     right: 40px;
784     text-decoration: underline;
785     color: #e11d1d;
786     cursor: pointer;
787     font-size: 12px;
788   }
789 
790   form.search.search-modal__form {
791     position: relative;
792   }
793 
794   button.search__button svg {
795     width: 25px;
796     color: #495057;
797     fill: #757582;
798   }
799 
800   button.search__button.field__button {
801     position: absolute;
802     top: 50%;
803     margin-top: -12px;
804   }
805 
806   .close-search {
807     display: none;
808     position: absolute;
809     right: 65px;
810     top: 10px;
811     cursor: pointer;
812   }
813 
814   .site-overlay {
815     position: fixed;
816     top: 0;
817     width: 100vw;
818     height: 100vh;
819     z-index: 1000;
820     background: #0000005c;
821     visibility: hidden;
822     opacity: 0;
823     pointer-events: none;
824     transition: all .3s linear;
825     display: block !important;
826   }
827 
828   .search-popup-open .site-overlay {
829     opacity: 1;
830     visibility: visible;
831     pointer-events: all;
832     z-index: -1;
833     cursor: pointer;
834   }
835 
836   @media (min-width: 991px) {
837     .group-recent ul {
838       column-count: 3;
839     }
840     .group-promotion li a {
841       font-size: 12px;
842       font-weight: 400;
843     }
844     .group-recent li a {
845       font-size: 12px;
846       font-weight: 400;
847     }
848   }
849 
850   .moreresult {
851     padding: 10px 40px;
852     border-top: 1px solid #AAAAAA;
853   }
854   .moreresult * {
855     align-self: center;
856   }
857   .moreresult p {
858     margin: 0;
859     font-size: 12px !important;
860   }
861   .moreresult svg {
862     width: 13px;
863   }
864 
865   @media (max-width: 992px) {
866     .icon-key-mobile {
867         height: auto!important;
868         width: 10px!important;
869     }
870     body.grid-view.search-popup-open .products {
871       -ms-flex: 0 0 100%!important;
872       flex: 0 0 100%!important;
873       max-width: 100%!important;
874     }
875     button.search__button svg {
876       width: 20px;
877     }
878     #search-result {
879       padding-left: 0;
880       padding-right: 0;
881     }
882     #search-result {
883       padding-top: 55px;
884     }
885     #search-input {
886       height: 55px;
887     }
888     .group-recommend {
889       padding: 20px;
890     }
891     #search-input .container {
892       padding: 0 20px;
893     }
894     #search-type {
895       font-size: 14px;
896     }
897     #search-btn {
898       font-size: 12px;
899       text-decoration: underline;
900     }
901     .results {
902       padding: 20px;
903     }
904     .group-recommend h3 {
905       font-size: 16px;
906     }
907     .products .card-body {
908       padding: 8px 0px 10px;
909     }
910     .moreresult {
911       padding: 10px 20px;
912     }
913   }
914 </style>
915<style type="text/css">
916    div.advertisement-placeholder {
917        text-align: center;
918        padding-bottom: 20px;
919        display: flex;
920        flex-direction: column;
921        justify-content: center;
922    }
923
924    div.advertisement-text p {
925        margin: 0;
926        font-family: Open Sans;
927        font-style: normal;
928        font-weight: normal;
929        font-size: 10px;
930        line-height: 20px;
931        color: #999999;
932    }
933
934    div.advertisement-banner {
935        margin: 0px auto;
936    }
937
938    div#div-gpt-ad-billboard-placeholder {
939        width: 996px;
940        margin: 0 auto;
941        background: #F5F5F5;
942        padding-bottom: unset !important;
943        min-height: 200px;
944    }
945
946    div#div-gpt-ad-lb-placeholder {
947        background: #F5F5F5;
948        padding-bottom: unset !important;
949        min-height: 280px;
950    }
951
952    :root {
953        --fx-red: #ff003c;
954        --fx-text: #f5f5f5;
955        --fx-border: rgba(255, 0, 60, .35);
956        --fx-bg: rgba(6, 6, 10, 0.664);
957        --fx-shadow: 0 20px 60px rgba(255, 0, 60, .18);
958    }
959
960    /* Wrapper video */
961.fx-video-bg > #faq {
962    position: relative;
963    z-index: 3;
964    width: calc(100% - 40px);
965    max-width: 1120px;
966    margin: 10px auto 40px;
967    box-sizing: border-box;
968}
969
970.fx-video-bg > video {
971    pointer-events: none;
972}
973
974#faq .neo-item summary {
975    padding-right: 64px;
976}
977
978    /* Article wrapper */
979.fx-article-wrap {
980    position: relative;
981    z-index: 3;
982    width: calc(100% - 40px);
983    max-width: 1120px;
984    margin: 45px auto;
985    padding: 0;
986    box-sizing: border-box;
987}
988    /* Article container */
989.fx-article {
990    position: relative;
991    overflow: hidden;
992
993    padding: 42px 46px;
994    box-sizing: border-box;
995
996    color: #f3f3f3;
997    background:
998        linear-gradient(
999            145deg,
1000            rgba(8, 8, 10, 0.94),
1001            rgba(20, 17, 8, 0.88)
1002        );
1003
1004    border: 1px solid rgba(212, 175, 55, 0.48);
1005    border-radius: 24px;
1006
1007    backdrop-filter: blur(16px);
1008    -webkit-backdrop-filter: blur(16px);
1009
1010    box-shadow:
1011        0 20px 55px rgba(0, 0, 0, 0.55),
1012        0 0 25px rgba(212, 175, 55, 0.12),
1013        inset 0 1px 0 rgba(255, 255, 255, 0.06);
1014}
1015.fx-article strong {
1016    color: #f6e29a;
1017    font-weight: 700;
1018}
1019.fx-article p {
1020    margin: 0 0 20px;
1021
1022    color: rgba(255, 255, 255, 0.88);
1023    font-size: 16px;
1024    line-height: 1.85;
1025    font-weight: 400;
1026}
1027.fx-article h2 {
1028    position: relative;
1029    margin: 32px 0 14px;
1030    padding: 12px 16px 12px 20px;
1031
1032    color: #f2cf56;
1033    font-size: 20px;
1034    line-height: 1.4;
1035    font-weight: 700;
1036
1037    background: linear-gradient(
1038        90deg,
1039        rgba(212, 175, 55, 0.13),
1040        transparent
1041    );
1042
1043    border-left: 3px solid #d4af37;
1044    border-radius: 0 10px 10px 0;
1045}
1046.fx-article h1 {
1047    margin: 0 0 28px;
1048    padding-bottom: 18px;
1049
1050    color: #f4d76b;
1051    font-size: 30px;
1052    line-height: 1.3;
1053    font-weight: 800;
1054    text-align: center;
1055
1056    border-bottom: 1px solid rgba(212, 175, 55, 0.22);
1057}
1058.fx-article::before {
1059    content: "";
1060    position: absolute;
1061    top: 0;
1062    left: 8%;
1063    width: 84%;
1064    height: 2px;
1065
1066    background: linear-gradient(
1067        90deg,
1068        transparent,
1069        #d4af37,
1070        #fff2a8,
1071        #d4af37,
1072        transparent
1073    );
1074
1075    box-shadow: 0 0 14px rgba(212, 175, 55, 0.55);
1076}
1077.fx-article .clean-wrap {
1078    max-width: 980px;
1079    margin: 0 auto;
1080}
1081
1082.fx-article .clean-title {
1083    margin: 0 0 22px;
1084    text-align: center;
1085    font-size: 28px;
1086    line-height: 1.3;
1087    color: #f5d76e;
1088}
1089
1090.fx-article .clean-article p {
1091    margin: 0 0 18px;
1092    line-height: 1.8;
1093    color: rgba(255, 255, 255, 0.92);
1094}
1095
1096.fx-article .clean-article h2 {
1097    margin: 28px 0 12px;
1098    padding-left: 14px;
1099    border-left: 3px solid #d4af37;
1100    color: #f5d76e;
1101    font-size: 20px;
1102    line-height: 1.4;
1103}
1104
1105@media (max-width: 768px) {
1106    .fx-article-wrap {
1107        width: calc(100% - 24px);
1108        margin: 28px auto;
1109    }
1110
1111    .fx-article {
1112        padding: 28px 20px;
1113        border-radius: 18px;
1114    }
1115
1116    .fx-article h1 {
1117        font-size: 23px;
1118        margin-bottom: 22px;
1119    }
1120
1121    .fx-article h2 {
1122        margin-top: 25px;
1123        font-size: 18px;
1124    }
1125
1126    .fx-article p {
1127        font-size: 15px;
1128        line-height: 1.75;
1129    }
1130}
1131
1132    /* Header badge */
1133    .fx-badge {
1134        display: inline-block;
1135        margin-bottom: 12px;
1136        padding: 6px 12px;
1137        font-size: 12px;
1138        font-weight: 700;
1139        letter-spacing: .6px;
1140        border-radius: 999px;
1141        color: #fff;
1142        background: linear-gradient(90deg, #ff003c, #ff2a2a);
1143        box-shadow: 0 0 18px rgba(255, 0, 60, .35);
1144    }
1145
1146    /* Typography */
1147    .fx-article h1 {
1148    font-size: 1.8rem;
1149    margin-bottom: 14px;
1150    text-shadow:
1151        0 0 8px rgba(255, 215, 0, 0.65),
1152        0 0 18px rgba(212, 175, 55, 0.55),
1153        0 0 30px rgba(255, 215, 0, 0.35);
1154}
1155
1156    .fx-article h2 {
1157    font-size: 1.3rem;
1158    margin: 18px 0 10px;
1159    border-left: 4px solid #d4af37;
1160    padding-left: 10px;
1161    color: #f5d76e;
1162    text-shadow:
1163        0 0 6px rgba(255, 215, 0, 0.45),
1164        0 0 14px rgba(212, 175, 55, 0.35);
1165}
1166
1167    .fx-article p {
1168        line-height: 1.75;
1169        margin-bottom: 14px;
1170        color: rgba(255, 255, 255, .92);
1171    }
1172
1173    .fx-article a {
1174    color: #f5d76e;
1175    border-bottom: 1px dashed rgba(255, 215, 0, 0.55);
1176    text-decoration: none;
1177    transition: all .3s ease;
1178}
1179
1180.fx-article a:hover {
1181    color: #fff7cc;
1182    text-shadow:
1183        0 0 8px rgba(255, 215, 0, 0.65),
1184        0 0 18px rgba(212, 175, 55, 0.45);
1185}
1186
1187/* Highlight box */
1188.fx-callout {
1189    margin: 18px 0;
1190    padding: 14px;
1191    border-radius: 14px;
1192    background: rgba(212, 175, 55, 0.10);
1193    border: 1px solid rgba(255, 215, 0, 0.35);
1194    box-shadow:
1195        0 0 12px rgba(255, 215, 0, 0.12),
1196        inset 0 0 8px rgba(255, 215, 0, 0.06);
1197}
1198
1199    @media (max-width: 768px) {
1200        .fx-article-wrap {
1201            padding: 40px 12px;
1202        }
1203
1204        .fx-article h1 {
1205            font-size: 1.5rem;
1206        }
1207    }
1208
1209    .faq-review-section {
1210        position: relative;
1211        max-width: 1190px;
1212        margin: 60px auto;
1213        padding: 40px 30px;
1214        border-radius: 25px;
1215        background: linear-gradient(145deg, #00000000, #00000000);
1216        overflow: hidden;
1217        box-shadow: 0 0 40px #ff9100;
1218    }
1219
1220    .faq-review-section::before {
1221        content: "";
1222        position: absolute;
1223        width: 150%;
1224        height: 150%;
1225        background: radial-gradient(circle at center, rgba(0, 0, 0, 0.06), transparent 70%);
1226        animation: spinAura 15s linear infinite;
1227        top: -25%;
1228        left: -25%;
1229    }
1230
1231    @keyframes spinAura {
1232        to {
1233            transform: rotate(360deg);
1234        }
1235    }
1236
1237    .section-title {
1238        text-align: center;
1239        color: var(--purple);
1240        font-size: 1.9rem;
1241        letter-spacing: 1px;
1242        font-weight: 700;
1243        text-shadow: 0 0 20px rgba(0, 0, 0, 0.18);
1244        position: relative;
1245        z-index: 2;
1246        margin-bottom: 25px;
1247    }
1248
1249    .section-title::after {
1250        content: '';
1251        width: 100px;
1252        height: 3px;
1253        background: linear-gradient(90deg, var(--purple), var(--accent));
1254        display: block;
1255        margin: 10px auto;
1256        border-radius: 2px;
1257        box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
1258        animation: pulseLine 2s infinite alternate;
1259    }
1260
1261    @keyframes pulseLine {
1262        from {
1263            opacity: .6;
1264            transform: scaleX(.7);
1265        }
1266
1267        to {
1268            opacity: 1;
1269            transform: scaleX(1);
1270        }
1271    }
1272
1273    /* Card Base */
1274    .faq-item,
1275    .review-item {
1276        background: rgba(255, 0, 0, 0.438);
1277        border: 1px solid rgba(255, 0, 0, 0.16);
1278        border-radius: 18px;
1279        padding: 18px 20px;
1280        margin: 18px 0;
1281        color: var(--white);
1282        box-shadow: inset 0 0 0 rgba(255, 0, 0, 0);
1283        transform: perspective(800px) rotateX(15deg) scale(0.95);
1284        opacity: 0;
1285        transition: all 0.7s ease, box-shadow 0.4s ease;
1286    }
1287
1288    .faq-item.show,
1289    .review-item.show {
1290        opacity: 1;
1291        transform: perspective(800px) rotateX(0deg) scale(1);
1292    }
1293
1294    .faq-item:hover,
1295    .review-item:hover {
1296        background: rgba(255, 217, 0, 0.788);
1297        box-shadow: 0 0 25px rgba(0, 0, 0, 0.18);
1298        transform: scale(1.02);
1299    }
1300
1301    /* FAQ Section */
1302    .faq-question {
1303        cursor: pointer;
1304        font-weight: 600;
1305        color: var(--purple);
1306        position: relative;
1307        font-size: 1.9rem;
1308        padding-right: 25px;
1309    }
1310
1311    .faq-question::after {
1312        content: "+";
1313        position: absolute;
1314        right: 0;
1315        top: 0;
1316        color: #ffffff;
1317        font-weight: bold;
1318        font-size: 1.4rem;
1319        transition: transform .3s;
1320    }
1321
1322    .faq-item.active .faq-question::after {
1323        transform: rotate(45deg);
1324    }
1325
1326    .faq-answer {
1327        display: none;
1328        color: #000000;
1329        line-height: 1.6em;
1330        padding-top: 10px;
1331        border-top: 1px dashed rgba(0, 0, 0, 0.12);
1332        margin-top: 10px;
1333    }
1334
1335    .faq-item.active .faq-answer {
1336        display: block;
1337        animation: fadeUp .4s ease;
1338    }
1339
1340    @keyframes fadeUp {
1341        from {
1342            opacity: 0;
1343            transform: translateY(10px);
1344        }
1345
1346        to {
1347            opacity: 1;
1348            transform: translateY(0);
1349        }
1350    }
1351
1352    /* Review Section */
1353    .review-author {
1354        font-weight: 700;
1355        color: var(--purple);
1356        font-size: 1.9rem;
1357    }
1358
1359    .review-text {
1360        color: #ffffff;
1361        margin: 6px 0;
1362        font-style: italic;
1363    }
1364
1365    .review-rating {
1366        color: var(--accent);
1367        font-weight: bold;
1368        font-size: 1rem;
1369    }
1370
1371    /* Hanya FAQ yang punya animasi border */
1372    .faq-item::before {
1373        content: '';
1374        position: absolute;
1375        inset: 0;
1376        border-radius: inherit;
1377        border: 2px solid transparent;
1378        background: linear-gradient(120deg, var(--purple), var(--accent), var(--purple)) border-box;
1379        mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
1380        opacity: 0;
1381        transition: opacity .3s ease;
1382    }
1383
1384    @keyframes borderGlow {
1385        to {
1386            transform: rotate(360deg);
1387        }
1388    }
1389
1390    /* small responsive tweaks */
1391    @media (max-width:768px) {
1392        .faq-review-section {
1393            padding: 28px 18px;
1394        }
1395
1396        .section-title {
1397            font-size: 1.5rem;
1398        }
1399    }
1400</style>
1401 <div id="search-popup">
1402   <div id="search-input" class="row">
1403     <div class="container w-100">
1404       <form
1405         action="/search"
1406         method="get"
1407         role="search"
1408         class="search search-modal__form d-flex justify-content-between"
1409       >
1410         <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="20" height="20" viewBox="0 0 20 20" fill="none">
1411   <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"/>
1412 </svg>
1413 
1414         <input type="hidden" name="type" value="product">
1415         <input
1416           type="text"
1417           id="search-type"
1418           name="q"
1419           class="search-popup"
1420           placeholder="Gifts that linger: Uncover treasures for cherished moments."
1421         >
1422         <div class="close-search"><svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
1423   <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 
142312.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"/>
1424 </svg>
1425 </div>
1426         <button id="search-btn">Search</button>
1427       </form>
1428     </div>
1429   </div>
1430   <div id="search-result" class="container m-auto">
1431     <div class="container p-0">
1432       <div class="group-promotion">
1433         <div class="resultsearch">
1434           <div class="row results">
1435             <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1436               <label>SUGGESTIONS</label>
1437               <ul class="result_collection"></ul>
1438             </div>
1439             <div class="col-12 col-lg-6">
1440               <label>PRODUCTS</label>
1441               <ul class="result_product"></ul>
1442             </div>
1443           </div>
1444           <div class="d-flex justify-content-between moreresult m-0">
1445             <p>Search for<span></span></p>
1446             <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="32" height="32" viewBox="0 0 32 32">
1447 <title>icon-arrow-right</title>
1448 <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>
1449 </svg>
1450           </div>
1451         </div>
1452       </div>
1453       <div class="group-recent hide">
1454         <h3>RECENT SEARCH</h3>
1455         <span class="delete-all-history">Hapus riwayat</span>
1456         <ul class="last-search"></ul>
1457       </div>
1458       <div class="group-recommend">
1459         <h3>YOU MAY ALSO LIKE</h3>
1460         
1461         
1462           <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1463             <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1464               
1465                 
1466                   <div class="swiper-slide card">
1467                     
1468 
1469 
1470 
1471 <div class="products" data-lazy="false">
1472   <div class="bg-products">
1473     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake">
1474       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1475   <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.
147511233C11.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"/>
1476 </svg>
1477 
1478     </div>
1479     <a href="/products/mid-autumn-of-love-mooncake">
1480       
1481       <div class="product-card-img-container p-0 position-relative">
1482         
1483         <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">
1484       </div>
1485       <div class="card-body product-card-info">
1486         <h5 class="h5 mb-0">
1487           Mid Autumn of Love Mooncake
1488         </h5>
1489         <div class="product-card-price">
1490           
1491           <div class="product-price-sale">
1492             <s class="product-card-price-before card-money">Rp 467.000</s>
1493             <span class="product-card-discount small">	
1494               (-40%)
1495             </span> 	
1496           </div>
1497           
1498           
1499           
1500           <div class="price-discount">
1501             <h4 class="product-card-price-after card-money">Rp 227.000</h4>
1502           </div>
1503           
1504           
1505           
1506           
1507           
1508         </div>
1509         
1510       </div>
1511     </a>
1512   </div>
1513   
1514 </div>
1515 
1516                   </div>
1517                 
1518               
1519                 
1520                   <div class="swiper-slide card">
1521                     
1522 
1523 
1524 
1525 <div class="products" data-lazy="false">
1526   <div class="bg-products">
1527     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake">
1528       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1529   <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.
152911233C11.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"/>
1530 </svg>
1531 
1532     </div>
1533     <a href="/products/mid-autumn-of-joy-mooncake">
1534       
1535       <div class="product-card-img-container p-0 position-relative">
1536         
1537         <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">
1538       </div>
1539       <div class="card-body product-card-info">
1540         <h5 class="h5 mb-0">
1541           Mid Autumn of Joy Mooncake
1542         </h5>
1543         <div class="product-card-price">
1544           
1545           <div class="product-price-sale">
1546             <s class="product-card-price-before card-money">Rp 656.000</s>
1547             <span class="product-card-discount small">	
1548               (-33%)
1549             </span> 	
1550           </div>
1551           
1552           
1553           
1554           <div class="price-discount">
1555             <h4 class="product-card-price-after card-money">Rp 345.000</h4>
1556           </div>
1557           
1558           
1559           
1560           
1561           
1562         </div>
1563         
1564       </div>
1565     </a>
1566   </div>
1567   
1568 </div>
1569 
1570                   </div>
1571                 
1572               
1573                 
1574                   <div class="swiper-slide card">
1575                     
1576 
1577 
1578 
1579 <div class="products" data-lazy="false">
1580   <div class="bg-products">
1581     <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake">
1582       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1583   <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.
158311233C11.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"/>
1584 </svg>
1585 
1586     </div>
1587     <a href="/products/mid-autumn-of-fortune-mooncake">
1588       
1589       <div class="product-card-img-container p-0 position-relative">
1590         
1591         <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">
1592       </div>
1593       <div class="card-body product-card-info">
1594         <h5 class="h5 mb-0">
1595           Mid Autumn of Fortune Mooncake
1596         </h5>
1597         <div class="product-card-price">
1598           
1599           <div class="product-price-sale">
1600             <s class="product-card-price-before card-money">Rp 867.000</s>
1601             <span class="product-card-discount small">	
1602               (-33%)
1603             </span> 	
1604           </div>
1605           
1606           
1607           
1608           <div class="price-discount">
1609             <h4 class="product-card-price-after card-money">Rp 567.000</h4>
1610           </div>
1611           
1612           
1613           
1614           
1615           
1616         </div>
1617         
1618       </div>
1619     </a>
1620   </div>
1621   
1622 </div>
1623 
1624                   </div>
1625                 
1626               
1627                 
1628                   <div class="swiper-slide card">
1629                     
1630 
1631 
1632 
1633 <div class="products" data-lazy="false">
1634   <div class="bg-products">
1635     <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake">
1636       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1637   <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.
163711233C11.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"/>
1638 </svg>
1639 
1640     </div>
1641     <a href="/products/mid-autumn-festival-mooncake">
1642       
1643       <div class="product-card-img-container p-0 position-relative">
1644         
1645         <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">
1646       </div>
1647       <div class="card-body product-card-info">
1648         <h5 class="h5 mb-0">
1649           Mid Autumn Festival Mooncake
1650         </h5>
1651         <div class="product-card-price">
1652           
1653           <div class="product-price-sale">
1654             <s class="product-card-price-before card-money">Rp 820.000</s>
1655             <span class="product-card-discount small">	
1656               (-23%)
1657             </span> 	
1658           </div>
1659           
1660           
1661           
1662           <div class="price-discount">
1663             <h4 class="product-card-price-after card-money">Rp 750.000</h4>
1664           </div>
1665           
1666           
1667           
1668           
1669           
1670         </div>
1671         
1672       </div>
1673     </a>
1674   </div>
1675   
1676 </div>
1677 
1678                   </div>
1679                 
1680               
1681                 
1682                   <div class="swiper-slide card">
1683                     
1684 
1685 
1686 
1687 <div class="products" data-lazy="false">
1688   <div class="bg-products">
1689     <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1690       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1691   <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.
169111233C11.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"/>
1692 </svg>
1693 
1694     </div>
1695     <a href="/products/the-jade-bouquet">
1696       
1697       <div class="product-card-img-container p-0 position-relative">
1698         
1699         <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">
1700       </div>
1701       <div class="card-body product-card-info">
1702         <h5 class="h5 mb-0">
1703           The Jade Bouquet
1704         </h5>
1705         <div class="product-card-price">
1706           
1707           <div class="product-price-sale">
1708             <s class="product-card-price-before card-money">Rp 207.000</s>
1709             <span class="product-card-discount small">	
1710               (-34%)
1711             </span> 	
1712           </div>
1713           
1714           
1715           
1716           <div class="price-discount">
1717             <h4 class="product-card-price-after card-money">Rp 139.000</h4>
1718           </div>
1719           
1720           
1721           
1722           
1723           
1724         </div>
1725         
1726       </div>
1727     </a>
1728   </div>
1729   
1730 </div>
1731 
1732                   </div>
1733                 
1734               
1735                 
1736                   <div class="swiper-slide card">
1737                     
1738 
1739 
1740 
1741 <div class="products" data-lazy="false">
1742   <div class="bg-products">
1743     <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1744       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1745   <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.
174511233C11.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"/>
1746 </svg>
1747 
1748     </div>
1749     <a href="/products/the-selena-bouquet">
1750       
1751       <div class="product-card-img-container p-0 position-relative">
1752         
1753         <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">
1754       </div>
1755       <div class="card-body product-card-info">
1756         <h5 class="h5 mb-0">
1757           The Selena Bouquet
1758         </h5>
1759         <div class="product-card-price">
1760           
1761           <div class="product-price-sale">
1762             <s class="product-card-price-before card-money">Rp 293.000</s>
1763             <span class="product-card-discount small">	
1764               (-29%)
1765             </span> 	
1766           </div>
1767           
1768           
1769           
1770           <div class="price-discount">
1771             <h4 class="product-card-price-after card-money">Rp 198.000</h4>
1772           </div>
1773           
1774           
1775           
1776           
1777           
1778         </div>
1779         
1780       </div>
1781     </a>
1782   </div>
1783   
1784 </div>
1785 
1786                   </div>
1787                 
1788               
1789                 
1790                   <div class="swiper-slide card">
1791                     
1792 
1793 
1794 
1795 <div class="products" data-lazy="false">
1796   <div class="bg-products">
1797     <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1798       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1799   <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.
179911233C11.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"/>
1800 </svg>
1801 
1802     </div>
1803     <a href="/products/the-viola-bouquet">
1804       
1805       <div class="product-card-img-container p-0 position-relative">
1806         
1807         <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">
1808       </div>
1809       <div class="card-body product-card-info">
1810         <h5 class="h5 mb-0">
1811           The Viola Bouquet
1812         </h5>
1813         <div class="product-card-price">
1814           
1815           <div class="product-price-sale">
1816             <s class="product-card-price-before card-money">Rp 255.000</s>
1817             <span class="product-card-discount small">	
1818               (-25%)
1819             </span> 	
1820           </div>
1821           
1822           
1823           
1824           <div class="price-discount">
1825             <h4 class="product-card-price-after card-money">Rp 142.000</h4>
1826           </div>
1827           
1828           
1829           
1830           
1831           
1832         </div>
1833         
1834       </div>
1835     </a>
1836   </div>
1837   
1838 </div>
1839 
1840                   </div>
1841                 
1842               
1843                 
1844                   <div class="swiper-slide card">
1845                     
1846 
1847 
1848 
1849 <div class="products" data-lazy="false">
1850   <div class="bg-products">
1851     <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
1852       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1853   <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.
185311233C11.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"/>
1854 </svg>
1855 
1856     </div>
1857     <a href="/products/the-minerva-bouquet">
1858       
1859       <div class="product-card-img-container p-0 position-relative">
1860         
1861         <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">
1862       </div>
1863       <div class="card-body product-card-info">
1864         <h5 class="h5 mb-0">
1865           The Minerva Bouquet
1866         </h5>
1867         <div class="product-card-price">
1868           
1869           <div class="product-price-sale">
1870             <s class="product-card-price-before card-money">Rp 253.000</s>
1871             <span class="product-card-discount small">	
1872               (-25%)
1873             </span> 	
1874           </div>
1875           
1876           
1877           
1878           <div class="price-discount">
1879             <h4 class="product-card-price-after card-money">Rp 102.000</h4>
1880           </div>
1881           
1882           
1883           
1884           
1885           
1886         </div>
1887         
1888       </div>
1889     </a>
1890   </div>
1891   
1892 </div>
1893 
1894                   </div>
1895                 
1896               
1897                 
1898                   <div class="swiper-slide card">
1899                     
1900 
1901 
1902 
1903 <div class="products" data-lazy="false">
1904   <div class="bg-products">
1905     <div class="wishlist-toggle" data-product-handle="congraduations-bouquet">
1906       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1907   <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.
190711233C11.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"/>
1908 </svg>
1909 
1910     </div>
1911     <a href="/products/congraduations-bouquet">
1912       
1913       <div class="product-card-img-container p-0 position-relative">
1914         
1915         <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">
1916       </div>
1917       <div class="card-body product-card-info">
1918         <h5 class="h5 mb-0">
1919           Congraduations Bouquet
1920         </h5>
1921         <div class="product-card-price">
1922           
1923           <div class="product-price-sale">
1924             <s class="product-card-price-before card-money">Rp 159.000</s>
1925             <span class="product-card-discount small">	
1926               (-25%)
1927             </span> 	
1928           </div>
1929           
1930           
1931           
1932           <div class="price-discount">
1933             <h4 class="product-card-price-after card-money">Rp 294.000</h4>
1934           </div>
1935           
1936           
1937           
1938           
1939           
1940         </div>
1941         
1942       </div>
1943     </a>
1944   </div>
1945   
1946 </div>
1947 
1948                   </div>
1949                 
1950               
1951                 
1952                   <div class="swiper-slide card">
1953                     
1954 
1955 
1956 
1957 <div class="products" data-lazy="false">
1958   <div class="bg-products">
1959     <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet">
1960       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="21" viewBox="0 0 24 21" fill="none">
1961   <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.
196111233C11.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"/>
1962 </svg>
1963 
1964     </div>
1965     <a href="/products/grad-gorgeous-bouquet">
1966       
1967       <div class="product-card-img-container p-0 position-relative">
1968         
1969         <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 &amp; Gorgeous Bouquet" height="200" width="200">
1970       </div>
1971       <div class="card-body product-card-info">
1972         <h5 class="h5 mb-0">
1973           Grad & Gorgeous Bouquet
1974         </h5>
1975         <div class="product-card-price">
1976           
1977           <div class="product-price-sale">
1978             <s class="product-card-price-before card-money">Rp 179.000</s>
1979             <span class="product-card-discount small">	
1980               (-25%)
1981             </span> 	
1982           </div>
1983           
1984           
1985           
1986           <div class="price-discount">
1987             <h4 class="product-card-price-after card-money">Rp 204.000</h4>
1988           </div>
1989           
1990           
1991           
1992           
1993           
1994         </div>
1995         
1996       </div>
1997     </a>
1998   </div>
1999   
2000 </div>
2001 
2002                   </div>
2003                 
2004               
2005             </div>
2006           </div>
2007         
2008       </div>
2009     </div>
2010   </div>
2011 
2012   <div class="site-overlay" style="display: none"></div>
2013 </div>
2014 
2014<script>
2015   
2016   var swiper = new Swiper('.popup-recommend', {
2017       slidesPerView : 4, 
2018       spaceBetween: 30,
2019       lazy: true ,                            
2020       speed: 300,
2021       breakpoints: {
2022         // when window width is <= 576px
2023         576: {
2024             slidesPerView: 2,
2025               spaceBetween: 10,
2026             freeMode: true,
2027             resistance : true,
2028             resistanceRatio : 0,
2029             freeModeMomentumRatio : 0.45,
2030             freeModeMomentumVelocityRatio : 1.5
2031         },
2032         768: {
2033               slidesPerView: 2,
2034               spaceBetween: 10
2035             },
2036         992: {
2037               slidesPerView: 3,
2038               spaceBetween: 20
2039         }
2040       }
2041   });
2042 
2043   const searchContainer = $("#search-popup")
2044   const searchInput = $(".search-popup")
2045   const result_collection = $('.result_collection')
2046   const result_product = $('.result_product')
2047   const resultsearch = $('.resultsearch')
2048   const resultrecommend = $(".group-recommend")
2049   const moreresult = $(".moreresult")
2050 
2051   searchInput.keyup(function(){
2052     const input = $(this).val()
2053     moreresult.find("p span").text(` “${input}”`)
2054     if(input.length > 2) {
2055       $(".close-search").show()
2056       const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
2057       $.ajax({
2058         type: 'GET',
2059         url,
2060         beforeSend: function() {
2061             // setting a timeout
2062             // $(placeholder).addClass('loading');
2063         },
2064         success: function(response) {
2065             resultsearch.show()
2066             resultrecommend.hide()
2067             result_collection.html("")
2068             result_product.html("")
2069             const collections = response.resources.results.collections
2070             const products = response.resources.results.products
2071             let collection_length = collections.length
2072             let product_length = products.length
2073             // if(collections.length > 5) {
2074             //   collection_length = 5
2075             // }
2076             // if(products.length > 5) {
2077             //   product_length = 5
2078             // }
2079             for(let i=0;i<collection_length;i++){
2080               const title = collections[i].title
2081               const url = collections[i].url
2082               let html_collection
2083               if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
2084                 html_collection = `
2085                 <li class="item" data-title="${title}">
2086                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
2087                 </li>
2088                 `
2089               }
2090               result_collection.append(html_collection)
2091             }
2092             for(let i=0;i<product_length;i++){
2093               const title = products[i].title
2094               const url = products[i].url
2095               const image = products[i].featured_image.url
2096               const vendor = products[i].vendor
2097               let html_product
2098               if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){
2099                 html_product = `
2100                 <li class="item" data-vendor="${vendor}">
2101                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
2102                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
2103                   </a>
2104                 </li>
2105                 `
2106               }
2107               result_product.append(html_product)
2108             }
2109         },
2110         error: function(xhr) { // if error occured
2111             alert("Error occured.please try again");
2112         },
2113         complete: function(response) {
2114             // $(placeholder).removeClass('loading');
2115         },
2116         dataType: 'JSON'
2117       });
2118     } else {
2119       result_collection.html("")
2120       result_product.html("")
2121       
2122       resultsearch.hide()
2123       resultrecommend.show()
2124     }
2125   })
2126 
2127   moreresult.click(function(){
2128     $("#search-btn").trigger("click");
2129   })
2130 
2131   $(".close-search").click(function(){
2132     $(this).hide()
2133     searchInput.val("")
2134     searchInput.focus()
2135     resultsearch.hide()
2136     resultrecommend.show()
2137   })
2138 
2139   function setCookie(name,value,days) {
2140     var expires = "";
2141     if (days) {
2142       var date = new Date();
2143       date.setTime(date.getTime() + (days*24*60*60*1000));
2144       expires = "; expires=" + date.toUTCString();
2145     }
2146     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
2147   }
2148   function getCookie(name) {
2149     var nameEQ = name + "=";
2150     var ca = document.cookie.split(';');
2151     for(var i=0;i < ca.length;i++) {
2152       var c = ca[i];
2153       while (c.charAt(0)==' ') c = c.substring(1,c.length);
2154       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
2155     }
2156     return null;
2157   }
2158   let last_search_name = []
2159   let last_search_url = []
2160   $(".group-recent").hide()
2161   if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){
2162     if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){
2163       $(".group-recent").show()
2164       last_search_name = getCookie("last_search_name");
2165       last_search_url = getCookie("last_search_url");
2166       const arrName = last_search_name.substring(1).split(',').reverse()
2167       const arrUrl = last_search_url.substring(1).split(',').reverse()
2168       console.log(arrName, 'Array Name')
2169       console.log(arrUrl, 'Array Url')
2170       let length = arrName.length
2171       if(arrName.length > 5) {
2172         length = 5
2173       }
2174       for(let n=0;n<length;n++){
2175         let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">
2175${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
2176         $(".group-recent ul").append(html2)
2177       }
2178     }
2179   }
2180   console.log(last_search_name, 'Name')
2181   console.log(last_search_url, 'url')
2182   
2183   resultsearch.delegate(".item a", "click", function(){
2184     let name = [last_search_name]
2185     let url = [last_search_url]
2186     name.push($(this).attr('data-title'))
2187     url.push($(this).attr('data-url'))
2188     setCookie("last_search_name",name,7);
2189     setCookie("last_search_url",url,7);
2190   })
2191   
2192   $(".delete-all-history").click(function() {
2193     setCookie("last_search_name",null,0);
2194     setCookie("last_search_url",null,0);
2195     $(".last-search").hide();
2196     setTimeout(function(){
2197       location.reload();
2198     }, 500);
2199   })
2200   
2201   $("#search-trigger").click(function(){
2202     search_open()
2203   })
2204   $(".icon-search-mobile").click(function(){
2205     search_open()
2206   })
2207   $(".search-header svg").click(function(){
2208     search_close()
2209   })
2210   $(".icon-key-mobile").click(function(){
2211     search_close()
2212   })
2213 
2214   function search_open() {
2215     $("body").addClass("search-popup-open")
2216     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
2217     $("#search-popup, .search-header svg, .icon-key-mobile").show()
2218     $(".search-popup").focus()
2219     $('.popup-recommend')[0].swiper.update();
2220   }
2221   function search_close() {
2222     $("body").removeClass("search-popup-open")
2223     $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
2224     $("#search-popup, .search-header svg, .icon-key-mobile").hide()
2225     searchInput.val("")
2226     resultsearch.hide()
2227     resultrecommend.show()
2228   }
2229 
2230   $(".site-overlay").click(function(){
2231     search_close()
2232   })
2233 </script>
2233
2234              <style>
2235#breadcrumbProduct {
2236    width: 100%;
2237    padding: 14px 0;
2238    background: #000;
2239    box-sizing: border-box;
2240}
2241
2242#breadcrumbProduct .container {
2243    width: 1120px;
2244    max-width: calc(100vw - 40px);
2245    margin: 0 auto;
2246    padding: 0;
2247    box-sizing: border-box;
2248}
2249
2250#breadcrumbProduct ul {
2251    width: 100%;
2252    margin: 0;
2253    padding: 12px 20px;
2254
2255    display: flex;
2256    align-items: center;
2257    justify-content: center;
2258    flex-wrap: wrap;
2259    gap: 10px;
2260
2261    list-style: none;
2262    box-sizing: border-box;
2263    text-align: center;
2264
2265    background: linear-gradient(180deg,#121212,#060606);
2266    border: 1px solid rgba(212,175,55,.35);
2267    border-radius: 14px;
2268
2269    box-shadow:
2270        0 8px 18px rgba(0,0,0,.35),
2271        inset 0 1px 0 rgba(255,255,255,.05);
2272}
2273
2274#breadcrumbProduct ul li:not(:first-child)::before {
2275    content: "›";
2276    display: inline-block;
2277    margin-right: 8px;
2278    color: #d4af37;
2279    font-size: 14px;
2280    font-weight: 700;
2281}
2282
2283#breadcrumbProduct ul li {
2284    display: inline-flex;
2285    align-items: center;
2286
2287    margin: 0;
2288    color: #fff;
2289    font-size: 11px;
2290    line-height: 1.4;
2291    font-weight: 700;
2292    text-transform: uppercase;
2293    white-space: nowrap;
2294}
2295
2296#breadcrumbProduct ul li a {
2297    color: #fff !important;
2298    text-decoration: none;
2299    transition: .25s;
2300}
2301
2302#breadcrumbProduct ul li a:hover {
2303    color: #ffd700 !important;
2304}
2305
2306#breadcrumbProduct ul li svg {
2307    display: block;
2308    width: 8px;
2309    height: 8px;
2310    color: #d4af37;
2311}
2312
2313@media (max-width:768px){
2314
2315    #breadcrumbProduct{
2316        padding:10px 0;
2317    }
2318
2319    #breadcrumbProduct .container{
2320        max-width:calc(100vw - 20px);
2321    }
2322
2323    #breadcrumbProduct ul{
2324        padding:10px 12px;
2325        gap:6px;
2326    }
2327
2328    #breadcrumbProduct ul li{
2329        font-size:9px;
2330        white-space:normal;
2331    }
2332
2333}
2334</style>
2335 
2336 </div>
2337     </div>
2338 
2339<div id="breadcrumbProduct" class="d-none d-lg-block">
2340    <div class="container">
2341        <ul role="navigation" aria-label="breadcrumbs">
2342            <li>
2343                <a href="https://www.hfmagazineonline.com/category/entertainment/">PERMATA123</a>
2344            </li>
2345            <li>SITUS PERMATA123</li>
2346            <li>SITUS RESMI &amp; TERBONAFIT</li>
2347            <li>SITUS TERPERCAYA PERMATA123</li>
2348            <li>Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026</li>
2349        </ul>
2350    </div>
2351</div>
2352         
2353<script type="application/ld+json">
2354 {
2355   "@context": "https://schema.org",
2356   "@type": "BreadcrumbList",
2357   "itemListElement": [
2358     {
2359       "@type": "ListItem",
2360       "position": 1,
2361       "name": "PERMATA123",
2362       "item": "https://www.hfmagazineonline.com/category/entertainment/"
2363     },
2364     {
2365       "@type": "ListItem",
2366       "position": 2,
2367       "name": "LOGIN PERMATA123",
2368       "item": "https://www.hfmagazineonline.com/category/entertainment/"
2369     },
2370     {
2371       "@type": "ListItem",
2372       "position": 3,
2373       "name": "SITUS PERMATA123",
2374       "item": "https://www.hfmagazineonline.com/category/entertainment/"
2375     },
2376     {
2377       "@type": "ListItem",
2378       "position": 4,
2379       "name": "PERMATA123 LINK ALTERNATIF",
2380       "item": "https://www.hfmagazineonline.com/category/entertainment/"
2381     },
2382     {
2383       "@type": "ListItem",
2384       "position": 5,
2385       "name": "SITUS PERMATA123 TERPERCAYA",
2386       "item": "https://www.hfmagazineonline.com/category/entertainment/"
2387     },
2388     {
2389       "@type": "ListItem",
2390       "position": 6,
2391       "name": "Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026",
2392       "item": "https://www.hfmagazineonline.com/category/entertainment/"
2393     }
2394   ]
2395 }
2396 </script>
2396
2397
2398 <!--faq-->
2399<script type="application/ld+json" id="faq-schema">
2400{
2401  "@context":"https://schema.org",
2402  "@type":"FAQPage",
2403  "mainEntity":[
2404    {
2405      "@type":"Question",
2406      "name":"Apa yang membuat Situs PERMATA123 menjadi media login terpercaya di tahun 2026?",
2407      "acceptedAnswer":{
2408        "@type":"Answer",
2409        "text":"Situs PERMATA123 mengedepankan akses yang mudah kepada setiap pengguna yang ingin menikmati hiburan online. Sistem jalur login dirancang dengan kecepatan tinggi serta perlindungan data kuat, sehingga pemain merasa lebih tenang dan bermain lebih leluasa karena keamanan mutlak akun dijaga dengan baik."
2410      }
2411    },
2412    {
2413      "@type":"Question",
2414      "name":"Mengapa PERMATA123 menyediakan link alternatif?",
2415      "acceptedAnswer":{
2416        "@type":"Answer",
2417        "text":"Link alternatif resmi PERMATA123 disediakan agar pengguna bisa tetap lancar mengakses game meski halaman utama situs sedang mengalami gangguan. Penyediaan alternatif stabil aktif 24 jam, mengarah ke akun serta layanan yang sama dan menjaga pengalaman login tetap cepat serta aman."
2418      }
2419    },
2420    {
2421      "@type":"Question",
2422      "name":"Apa benar proses login PERMATA123 paling cepat?",
2423      "acceptedAnswer":{
2424        "@type":"Answer",
2425        "text":"Ya. Ini dikarenakan PERMATA123 menjadikan desain dari halaman utama tetap sederhana, tidak ada menu atau fitur berlebihan yang ditemui. Hal ini bertujuan agar situs tetap ringan saat diakses meski sedang berada pada jaringan lemot sekalipun."
2426      }
2427    },
2428    {
2429      "@type":"Question",
2430      "name":"Seberapa aman data pengguna saat akses lewat media login PERMATA123?",
2431      "acceptedAnswer":{
2432        "@type":"Answer",
2433        "text":"PERMATA123 berdedikasi penuh untuk menyediakan ruang akses dan bermain yang aman untuk setiap pengguna. Untuk itu, PERMATA123 menggunakan sistem SSL dan enkripsi data tingkat tinggi agar baik transaksi hingga privasi data pengguna dapat terjaga dengan baik."
2434      }
2435    },
2436    {
2437      "@type":"Question",
2438      "name":"Apakah link alternatif bisa digunakan kapan saja?",
2439      "acceptedAnswer":{
2440        "@type":"Answer",
2441        "text":"Tentu saja, konsep link alternatif memang dibuat agar menjadi jalur tambahan buat para pemain yang mengalami kesulitan akses situs. Dengan desain fitur dan menu serupa dengan halaman asli, jadi tidak akan mempengaruhi sesi bermain pengguna meski sedang dalam perbaikan."
2442      }
2443    },
2444    {
2445      "@type":"Question",
2446      "name":"Apakah perlu akun tambahan untuk login link alternatif?",
2447      "acceptedAnswer":{
2448        "@type":"Answer",
2449        "text":"Tidak perlu akun tambahan, anda bisa tetap menggunakan ID dan sandi yang sudah didaftarkan sebelumnya untuk mengakses login link alternatif PERMATA123."
2450      }
2451    },
2452    {
2453      "@type":"Question",
2454      "name":"Apakah link alternatif PERMATA123 bisa disimpan?",
2455      "acceptedAnswer":{
2456        "@type":"Answer",
2457        "text":"Bisa, link alternatif PERMATA123 tidak ada tanggal kadarluasa, jadi bisa disimpan dan diakses sewaktu-waktu dibutuhkan. Jika melalui desktop, anda bisa simpan dibagian bookmark browser dan jika melalui smartphone, bisa simpan di notepad."
2458      }
2459    },
2460    {
2461      "@type":"Question",
2462      "name":"Apa manfaat menyimpan link alternatif PERMATA123?",
2463      "acceptedAnswer":{
2464        "@type":"Answer",
2465        "text":"Dengan menyimpan link resmi, akses menjadi lebih praktis tentunya dan terhindar dari resiko membuka halaman yang salah. Pengguna tetap bisa login dan bermain dengan sistem keamanan yang sama."
2466      }
2467    }
2468  ]
2469}
2470</script>
vendor: 2 bytes, line 2470
2470
2471<script type="application/ld+json" id="product-review-schema">
2472{
2473  "@context": "https://schema.org",
2474  "@type": "Product",
2475  "name": "Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026",
2476  "description": "Temukan akses login link alternatif mudah, cepat dan aman hanya di situs terpercaya PERMATA123.",
2477  "image": "https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp",
2478  "brand": { "@type": "Brand", "name": "PERMATA123" },
2479  "aggregateRating": {
2480    "@type": "AggregateRating",
2481    "ratingValue": "5",
2482    "bestRating": "5",
2483    "worstRating": "1",
2484    "ratingCount": "8",
2485    "reviewCount": "8"
2486  },
2487  "review": [
2488    {
2489      "@type": "Review",
2490      "author": {
2491        "@type": "Person",
2492        "name": "Ayo Bukk",
2493        "homeLocation": {
2494          "@type": "Place",
2495          "name": "Jember"
2496        }
2497      },
2498      "reviewRating": {
2499        "@type": "Rating",
2500        "ratingValue": "5",
2501        "bestRating": "5",
2502        "worstRating": "1"
2503      },
2504      "reviewBody": "Login di PERMATA123 cepat banget, gak pernah ada hambatan meski sedang jaringan lelet."
2505    },
2506    {
2507      "@type": "Review",
2508      "author": {
2509        "@type": "Person",
2510        "name": "Gusgus Dur",
2511        "homeLocation": {
2512          "@type": "Place",
2513          "name": "Bandung"
2514        }
2515      },
2516      "reviewRating": {
2517        "@type": "Rating",
2518        "ratingValue": "5",
2519        "bestRating": "5",
2520        "worstRating": "1"
2521      },
2522      "reviewBody": "Aman banget main di situs PERMATA123. Transaksi lancar dan akses gampang banget, ganti-ganti perangkat juga gak jadi masalah."
2523    },
2524    {
2525      "@type": "Review",
2526      "author": {
2527        "@type": "Person",
2528        "name": "Makejo Jo",
2529        "homeLocation": {
2530          "@type": "Place",
2531          "name": "Surakarta"
2532        }
2533      },
2534      "reviewRating": {
2535        "@type": "Rating",
2536        "ratingValue": "5",
2537        "bestRating": "5",
2538        "worstRating": "1"
2539      },
2540      "reviewBody": "Link alternatifnya fleksibel banget, bisa di save. Cocok buat yang butuh media login yang aman dan terpercaya."
2541    },
2542    {
2543      "@type": "Review",
2544      "author": {
2545        "@type": "Person",
2546        "name": "Nugge Get",
2547        "homeLocation": {
2548          "@type": "Place",
2549          "name": "Yogyakarta"
2550        }
2551      },
2552      "reviewRating": {
2553        "@type": "Rating",
2554        "ratingValue": "5",
2555        "bestRating": "5",
2556        "worstRating": "1"
2557      },
2558      "reviewBody": "Situs utama gangguan, gak jadi masalah. PERMATA123 sudah sediakan link alternatif, tampilannya mirip banget sama halaman asli."
2559    },
2560    {
2561      "@type": "Review",
2562      "author": {
2563        "@type": "Person",
2564        "name": "Plakk Gigi",
2565        "homeLocation": {
2566          "@type": "Place",
2567          "name": "Magetan"
2568        }
2569      },
2570      "reviewRating": {
2571        "@type": "Rating",
2572        "ratingValue": "5",
2573        "bestRating": "5",
2574        "worstRating": "1"
2575      },
2576      "reviewBody": "Aksesnya kenceng banget, tampilannya juga ringan. Gak pernah ada lag selama main disini."
2577    },
2578    {
2579      "@type": "Review",
2580      "author": {
2581        "@type": "Person",
2582        "name": "Ditya Sukma",
2583        "homeLocation": {
2584          "@type": "Place",
2585          "name": "Magelang"
2586        }
2587      },
2588      "reviewRating": {
2589        "@type": "Rating",
2590        "ratingValue": "5",
2591        "bestRating": "5",
2592        "worstRating": "1"
2593      },
2594      "reviewBody": "Tampilan link alternati dan situs asli PERMATA123 gak ada bedanya, mirip banget. Jadi gak perlu ngeraba lagi buat main."
2595    },
2596    {
2597      "@type": "Review",
2598      "author": {
2599        "@type": "Person",
2600        "name": "Amra Utse",
2601        "homeLocation": {
2602          "@type": "Place",
2603          "name": "Solo"
2604        }
2605      },
2606      "reviewRating": {
2607        "@type": "Rating",
2608        "ratingValue": "5",
2609        "bestRating": "5",
2610        "worstRating": "1"
2611      },
2612      "reviewBody": "Login pakai hape nanggung dan jaringan lelet gak jadi masalah, akses tetap lancar banget."
2613    },
2614    {
2615      "@type": "Review",
2616      "author": {
2617        "@type": "Person",
2618        "name": "Ogut Gut",
2619        "homeLocation": {
2620          "@type": "Place",
2621          "name": "Purwokerto"
2622        }
2623      },
2624      "reviewRating": {
2625        "@type": "Rating",
2626        "ratingValue": "5",
2627        "bestRating": "5",
2628        "worstRating": "1"
2629      },
2630      "reviewBody": "Luar biasa layanan dari PERMATA123, pantas disebut Media Login Paling Cepat & Aman tahun ini."
2631    }
2632  ]
2633}
2634</script>
2634
2635
2636 
2636<script type="application/ld+json">
2637 {
2638   "@context": "https://schema.org",
2639   "@type": "VideoObject",
2640   "name": "Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026",
2641   "description": "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.",
2642   "thumbnailUrl": [
2643     "https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp",
2644     "https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2645   ],
2646   "uploadDate": "2026-06-01T04:19:10-04:00",
2647   "duration": "PT2M58S",
2648   "contentUrl": "https://www.hfmagazineonline.com/category/entertainment/"
2649 }
2650 </script>
2650
2651 
2652<script type="application/ld+json">
2653{
2654  "@context": "https://schema.org",
2655  "@graph": [
2656    {
2657      "@type": "Organization",
2658      "@id": "https://www.hfmagazineonline.com/category/entertainment/#org",
2659      "name": "PERMATA123",
2660      "url": "https://www.hfmagazineonline.com/category/entertainment/",
2661      "logo": "https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp",
2662      "sameAs": [
2663        "https://www.facebook.com/groups/1116410483054591",
2664        "https://x.com/Permata123_",
2665        "https://www.instagram.com/matneverdiee/"
2666      ],
2667      "contactPoint": {
2668        "@type": "ContactPoint",
2669        "telephone": "+62-821-3745-7845",
2670        "contactType": "customer support",
2671        "areaServed": "ID",
2672        "availableLanguage": [
2673          "Indonesian",
2674          "English"
2675        ]
2676      }
2677    },
2678    {
2679      "@type": "WebSite",
2680      "@id": "https://www.hfmagazineonline.com/category/entertainment/#website",
2681      "url": "https://www.hfmagazineonline.com/category/entertainment/",
2682      "name": "SITUS PERMATA123 TERPERCAYA",
2683      "publisher": {
2684        "@id": "https://www.hfmagazineonline.com/category/entertainment/#org"
2685      },
2686      "inLanguage": "id-ID",
2687      "potentialAction": {
2688        "@type": "SearchAction",
2689        "target": "https://www.hfmagazineonline.com/category/entertainment/?s={search_term_string}",
2690        "query-input": "required name=search_term_string"
2691      }
2692    },
2693    {
2694      "@type": "SoftwareApplication",
2695      "@id": "https://www.hfmagazineonline.com/category/entertainment/#app",
2696      "name": "PERMATA123",
2697      "applicationCategory": "GameApplication",
2698      "operatingSystem": "Android, iOS, Windows",
2699      "offers": {
2700        "@type": "Offer",
2701        "price": "0",
2702        "priceCurrency": "IDR"
2703      },
2704      "aggregateRating": {
2705        "@type": "AggregateRating",
2706        "ratingValue": 5,
2707        "ratingCount": 30262
2708      }
2709    }
2710  ]
2711}
2712</script>
2712
2713 
2713<script>
2714document.addEventListener("DOMContentLoaded", function () {
2715    const container = document.getElementById("reviews-container");
2716    const schemaElement = document.getElementById(
2717        "product-review-schema"
2718    );
2719
2720    const scoreElement = document.getElementById(
2721        "review-big-score"
2722    );
2723
2724    const starsElement = document.getElementById(
2725        "review-big-stars"
2726    );
2727
2728    if (!container || !schemaElement) {
2729        console.error(
2730            "Container review atau schema review tidak ditemukan."
2731        );
2732        return;
2733    }
2734
2735    try {
2736        const schemaData = JSON.parse(
2737            schemaElement.textContent.trim()
2738        );
2739
2740        const reviews = Array.isArray(schemaData.review)
2741            ? schemaData.review
2742            : [];
2743
2744        const aggregateRating =
2745            schemaData.aggregateRating || {};
2746
2747        const aggregateScore = Number(
2748            aggregateRating.ratingValue || 0
2749        );
2750
2751        if (scoreElement) {
2752            scoreElement.textContent =
2753                aggregateScore > 0
2754                    ? aggregateScore.toFixed(1)
2755                    : "0";
2756        }
2757
2758        if (starsElement) {
2759            const roundedScore = Math.round(aggregateScore);
2760
2761            starsElement.textContent =
2762                "★".repeat(Math.max(0, roundedScore)) +
2763                "☆".repeat(Math.max(0, 5 - roundedScore));
2764        }
2765
2766        container.innerHTML = "";
2767
2768        reviews.forEach(function (review) {
2769            const author = review.author || {};
2770
2771            const authorName =
2772                typeof author.name === "string"
2773                    ? author.name.trim()
2774                    : "Pengguna PERMATA123";
2775
2776            const location =
2777                author.homeLocation &&
2778                typeof author.homeLocation.name === "string"
2779                    ? author.homeLocation.name.trim()
2780                    : "";
2781
2782            const reviewBody =
2783                typeof review.reviewBody === "string"
2784                    ? review.reviewBody.trim()
2785                    : "";
2786
2787            if (!reviewBody) {
2788                return;
2789            }
2790
2791            const article = document.createElement("article");
2792            article.className = "review-card";
2793
2794            const userName = document.createElement("span");
2795            userName.className = "user-name";
2796
2797            userName.textContent = location
2798                ? authorName + " (" + location + ")"
2799                : authorName;
2800
2801            const reviewText = document.createElement("div");
2802            reviewText.className = "review-text";
2803            reviewText.textContent = '"' + reviewBody + '"';
2804
2805            article.appendChild(userName);
2806            article.appendChild(reviewText);
2807
2808            container.appendChild(article);
2809        });
2810
2811        if (!container.children.length) {
2812            container.textContent = "Review belum tersedia.";
2813        }
2814    } catch (error) {
2815        console.error("Schema review gagal dibaca:", error);
2816        container.textContent = "Review belum dapat ditampilkan.";
2817    }
2818});
2819</script>
2819
2820 
2820<script>
2821document.addEventListener("DOMContentLoaded", function () {
2822  const container = document.getElementById("neo-faq-container");
2823  const schemaElement = document.getElementById("faq-schema");
2824
2825  if (!container || !schemaElement) {
2826    console.error("Container atau schema FAQ tidak ditemukan.");
2827    return;
2828  }
2829
2830  try {
2831    const schemaData = JSON.parse(schemaElement.textContent.trim());
2832
2833    const faqItems = Array.isArray(schemaData.mainEntity)
2834      ? schemaData.mainEntity
2835      : [];
2836
2837    container.innerHTML = "";
2838
2839    faqItems.forEach(function (item) {
2840      const question =
2841        typeof item.name === "string"
2842          ? item.name.trim()
2843          : "";
2844
2845      const answer =
2846        item.acceptedAnswer &&
2847        typeof item.acceptedAnswer.text === "string"
2848          ? item.acceptedAnswer.text.trim()
2849          : "";
2850
2851      if (!question || !answer) {
2852        return;
2853      }
2854
2855      const details = document.createElement("details");
2856      details.className = "neo-item";
2857
2858      const summary = document.createElement("summary");
2859      summary.textContent = question;
2860
2861      const answerBox = document.createElement("div");
2862      answerBox.className = "neo-ans";
2863      answerBox.textContent = answer;
2864
2865      details.appendChild(summary);
2866      details.appendChild(answerBox);
2867      container.appendChild(details);
2868    });
2869
2870    const allItems = container.querySelectorAll(".neo-item");
2871
2872    allItems.forEach(function (item) {
2873      item.addEventListener("toggle", function () {
2874        if (!item.open) {
2875          return;
2876        }
2877
2878        allItems.forEach(function (otherItem) {
2879          if (otherItem !== item) {
2880            otherItem.open = false;
2881          }
2882        });
2883      });
2884    });
2885  } catch (error) {
2886    console.error("Schema FAQ gagal dibaca:", error);
2887  }
2888});
2889</script>
2889
2890         
2891 <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" />
2892 
2893 
2894 <style>
2895     .bg-card {
2896     background-color: #000000;
2897 }
2898     </style>
2899 
2900 <!-- /templates/product.liquid -->
2901 
2902 
2903 <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2904 
2905 
2906 <div class="product-standing-flower" data-product-type="flowerBoard">
2907   <meta itemprop="url" content="https://www.hfmagazineonline.com/category/entertainment/">
2908   <meta itemprop="image" content="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp">
2909 
2910   
2911   
2912   <input id="data-sku" type="hidden" value="GOJSTRU2598">
2913   <div class="product-single" style="background-image: url(https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp); background-attachment: fixed;">
2914     <div id="product-top" class="container">
2915       <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;">
2916         <div id="product-image" class="col-lg-7 text-center">
2917           <div class="product-image">
2918             <div class="row no-gutters">
2919   
2920   <div id="product-featured-image" class="row w-100">
2921     
2922       <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2923         
2924         <div class="swiper-container gallery-thumbs" style="min-height: 500px">
2925           <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx">
2926 
2927                   <li class="swiper-slide" data-type="image">
2928                     <a
2929                       href="files/Blossom-Shine-WM.jpg"
2930                       data-standard="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2931                       data-image="files/Blossom-Shine-WM.jpg"
2932                       data-position="1"
2933                       class="product-single__thumbnail"
2934                     >
2935                       <img
2936                         class="lazyload w-100"
2937                         src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2938                         alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
2939                         width=""
2940                         height=""
2941                       >
2942                     </a>
2943                   </li>
2944                 
2945               
2946             
2947 
2948                   <li class="swiper-slide" data-type="image">
2949                     <a
2950                       href="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2951                       data-standard="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2952                       data-image="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2953                       data-position="2"
2954                       class="product-single__thumbnail"
2955                     >
2956                       <img
2957                         class="lazyload w-100"
2958                         src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2959                         alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
2960                         width=""
2961                         height=""
2962                       >
2963                     </a>
2964                   </li>
2965                 
2966               
2967             
2968 
2969                   <li class="swiper-slide" data-type="image">
2970                     <a
2971                       href="files/Blossom-Shine_3-WM.jpg"
2972                       data-standard="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2973                       data-image="files/Blossom-Shine_3-WM.jpg"
2974                       data-position="3"
2975                       class="product-single__thumbnail"
2976                     >
2977                       <img
2978                         class="lazyload w-100"
2979                         src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2980                         alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
2981                         width=""
2982                         height=""
2983                       >
2984                     </a>
2985                   </li>
2986                 
2987               
2988             
2989 
2990                   <li class="swiper-slide" data-type="image">
2991                     <a
2992                       href="files/Blossom-Shine_4.jpg"
2993                       data-standard="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
2994                       data-image="files/Blossom-Shine_4.jpg"
2995                       data-position="4"
2996                       class="product-single__thumbnail"
2997                     >
2998                       <img
2999                         class="lazyload w-100"
3000                         src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3001                         alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
3002                         width=""
3003                         height=""
3004                       >
3005                     </a>
3006                   </li>
3007                 
3008               
3009             
3010           </ul>
3011         </div>
3012         
3013       </div>
3014     
3015     <div
3016       id="featured-image-product"
3017       class="col-lg-10 col-12 d-none d-lg-block"
3018     >
3019       <div class="swiper-container gallery-top">
3020         <div class="swiper-slide product-single__image">
3021           
3022 <div class="product-single__photos slider slider-for" id="ProductPhoto">
3023   
3024 
3025<div class="product-image-static">
3026    <img
3027        src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3028        alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
3029        id="ProductPhotoImg"
3030        class="lazyload"
3031    >
3032</div>
3033 </div>
3034 
3035         </div>
3036         <div class="swiper-slide product-single__video" style="display: none">
3037           <video
3038             src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
3039             playsinline
3040             loop
3041             muted
3042           ></video>
3043         </div>
3044       </div>
3045     </div>
3046   </div>
3047 
3048   <div id="featured-image-product2" class="col-12 d-lg-none">
3049     <div class="swiper-container gallery-mobile">
3050       <ul class="swiper-wrapper">
3051 <li class="swiper-slide img">
3052               
3053                 <img
3054                   class="swiper-lazy"
3055                   src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3056                   data-src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3057                   alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
3058                   width=""
3059                   height=""
3060                 >
3061               
3062             </li>
3063           
3064         
3065 <li class="swiper-slide img">
3066               
3067                 <img
3068                   class="swiper-lazy"
3069                   src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3070                   data-src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3071                   alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
3072                   width=""
3073                   height=""
3074                 >
3075               
3076             </li>
3077           
3078         
3079 <li class="swiper-slide img">
3080               
3081                 <img
3082                   class="swiper-lazy"
3083                   src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3084                   data-src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3085                   alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
3086                   width=""
3087                   height=""
3088                 >
3089               
3090             </li>
3091           
3092         
3093 <li class="swiper-slide img">
3094               
3095                 <img
3096                   class="swiper-lazy"
3097                   src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3098                   data-src="https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp"
3099                   alt="Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026"
3100                   width=""
3101                   height=""
3102                 >
3103               
3104             </li>
3105           
3106         
3107       </ul>
3108       
3109         <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div>
3110         <div class="swiper-button-next"><svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="7" height="10" viewBox="0 0 7 10" fill="none">
3111     <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"/>
3112 </svg></div>
3113 
3114         <!-- Add Pagination -->
3115         <div class="swiper-pagination"></div>
3116       
3117     </div>
3118   </div>
3119 
3120   <div class="product-m-pageleb-video col-12 text-center d-lg-none">
3121     <!-- product video -->
3122     <style>
3123      
3124       .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;}
3125       .view-video .icon-play{fill:#ffffff;vertical-align: middle;}
3126       .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;}
3127       .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;}
3128       .close-video .icon{width:30px;height:30px;}
3129       /*responsive iframe */
3130       .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);}
3131       .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;}
3132 
3133       .youtube {
3134         background-color: #000;
3135         margin-bottom: 30px;
3136         position: relative;
3137         padding-top: 56.25%;
3138         overflow: hidden;
3139         cursor: pointer;
3140         width: 100%;
3141       }
3142       .swiper-slide .youtube {
3143         max-width: 480px;
3144       }
3145       .youtube img {
3146         width: 100%;
3147         top: -16.82%;
3148         left: 0;
3149         opacity: 0.7;
3150       }
3151       .youtube .play-button {
3152         width: 90px;
3153         height: 60px;
3154         background-color: #333;
3155         box-shadow: 0 0 30px rgba( 0,0,0,0.6 );
3156         z-index: 1;
3157         opacity: 0.8;
3158         border-radius: 6px;
3159       }
3160       .youtube .play-button:before {
3161         content: "";
3162         border-style: solid;
3163         border-width: 15px 0 15px 26.0px;
3164         border-color: transparent transparent transparent #fff;
3165       }
3166       .youtube img,
3167       .youtube .play-button {
3168         cursor: pointer;
3169       }
3170       .youtube img,
3171       .youtube iframe,
3172       .youtube .play-button,
3173       .youtube .play-button:before {
3174         position: absolute;
3175       }
3176       .youtube .play-button,
3177       .youtube .play-button:before {
3178         top: 50%;
3179         left: 50%;
3180         transform: translate3d( -50%, -50%, 0 );
3181       }
3182       .youtube iframe {
3183         height: 100%;
3184         width: 100%;
3185         top: 0;
3186         left: 0;
3187       }
3188     </style>
3189 
3190     
3191   </div>
3192 </div>
3193 
3194 <div class="product-desc-add position-relative d-none d-lg-block m-0">
3195 
3196 </div>
3197 
3198 
3198<script>
3199   if ($(window).width() < 991) {
3200     var direction = 'horizontal'
3201   } else {
3202     var direction = 'vertical'
3203     $(".gallery-thumbs").height($("#ProductPhotoImg").height())
3204   }
3205   var swiper = new Swiper('.gallery-thumbs', {
3206     
3207     direction,
3208     slidesPerView: 4.5,
3209     spaceBetween: 12,
3210     navigation: {
3211       nextEl: '.swiper-button-next',
3212       prevEl: '.swiper-button-prev',
3213     }
3214   });
3215   
3216   var swiper = new Swiper('.gallery-mobile', {
3217     //loop: true,
3218     lazy: true,
3219     speed: 300,
3220     resistance : true,
3221     resistanceRatio : 0,
3222     freeModeMomentumRatio : 0.45,
3223     freeModeMomentumVelocityRatio : 1.5,
3224     navigation: {
3225       nextEl: '.swiper-button-next',
3226       prevEl: '.swiper-button-prev',
3227     },
3228     pagination: {
3229       el: '.swiper-pagination'
3230     },
3231     useCSS3Transforms: false,
3232     loop: false,
3233     on: {
3234       init: function () {
3235         console.log('swiper initialized');
3236         var currentVideo =  $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
3237         currentVideo.trigger('play');
3238       },
3239     },
3240   });
3241 
3242   /* GET ALL VIDEOS */
3243   var sliderVideos = $(".swiper-slide video");
3244   
3245   /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
3246   swiper.on('slideChange', function () {
3247     console.log('slide changed');
3248     /* stop all videos  */
3249     sliderVideos.each(function( index ) {
3250       this.currentTime = 0;
3251     });
3252   
3253     /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
3254     var prevVideo =  $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
3255     var currentVideo =  $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
3256     prevVideo.trigger('stop');
3257     currentVideo.trigger('play');
3258   });
3259   
3260 
3261   $("[data-video]").click(function(){
3262     const file = $(this).data("video")
3263     $(".product-single__video").show()
3264     $(".product-single__image").hide()
3265     $(".product-single__video").find("video").attr("src", file)
3266     $(".product-single__video").find("video")[0].play();
3267   })
3268   $("[data-image]").click(function(){
3269     $(".product-single__video").hide()
3270     $(".product-single__image").show()
3271     $(".product-single__video").find("video")[0].pause();
3272   })
3273 
3274 </script>
3274
3275 
3276           </div>
3277 
3278   
3279     
3280   
3281 
3282 
3283 
3284 
3285 <style>
3286   .c-pdp-product-info__service--active {
3287     font-size: 12px;
3288     padding-left: 10px;
3289     text-align: left;
3290     max-width: 550px;
3291     margin: auto;
3292   }
3293   .c-pdp-product-info__service--active li {
3294     list-style: disc;
3295   }
3296   .c-pdp-product-info {
3297     background-color: #f5f5f5;
3298     padding: 12px;
3299     margin: 0;
3300   }
3301   .freeship em {
3302     font-style: italic;
3303     font-size: 12px !important;
3304   }
3305 
3306 
3307 </style>
3308 
3309 
3309<script>
3310   $(document).ready(function(){
3311     if ( $(".c-pdp-product-info__service li").length == 1 ) {
3312       $(".c-pdp-product-info__service").addClass("no-bullet");
3313       $(".c-pdp-product-info__service li").addClass("no-bullets");
3314     }
3315   });
3316 </script>
3316
3317 
3318   
3319 
3320 
3321 
3322   
3323 
3324   
3325 
3326 
3327             
3328           
3329         </div>
3330         <style>
3331          #product-top > .row.bg-card.product-sticky {
3332    width: 100%;
3333    max-width: 1100px;
3334    margin: 0 auto !important;
3335    box-sizing: border-box;
3336}
3337          .product-image-static {
3338    width: 100%;
3339    text-align: center;
3340}
3341
3342.product-image-static img {
3343    display: block;
3344    width: 600px;
3345    max-width: 100%;
3346    height: auto;
3347    margin: 0 auto;
3348    object-fit: contain;
3349    transform: none;
3350}
3351          #product-image {
3352    width: 100% !important;
3353    max-width: 100% !important;
3354}
3355
3356#product-image .swiper-slide,
3357#product-image .swiper-wrapper,
3358#product-image .swiper-container,
3359#product-featured-image {
3360    height: auto !important;
3361    min-height: 0 !important;
3362    overflow: visible !important;
3363}
3364
3365#product-image img,
3366.product-single__image {
3367    display: block;
3368    width: 600px !important;
3369    max-width: 95vw !important;
3370    height: auto !important;
3371    max-height: none !important;
3372    object-fit: contain !important;
3373    margin: 0 auto !important;
3374}
3375#product-image {
3376    flex: 0 0 100% !important;
3377    max-width: 100% !important;
3378    width: 100% !important;
3379}
3380
3381#product-meta {
3382    display: none !important;
3383}
3384
3385#product-featured-image {
3386    justify-content: center !important;
3387    margin-left: 0 !important;
3388    margin-right: 0 !important;
3389}
3390
3391#thumb-image-product {
3392    display: none !important;
3393}
3394
3395#product-featured-image > div:not(#thumb-image-product) {
3396    flex: 0 0 100% !important;
3397    max-width: 100% !important;
3398}
3399
3400.product-single__image,
3401.product-image img {
3402    display: block;
3403    margin-left: auto !important;
3404    margin-right: auto !important;
3405}
3406
3407.keunggulan-section {
3408    position: relative;
3409    width: 100%;
3410    clear: both;
3411    display: flex;
3412    justify-content: center;
3413    padding: 35px 20px;
3414    box-sizing: border-box;
3415    overflow: hidden;
3416    background-image: url("https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp");
3417    background-position: center;
3418    background-size: cover;
3419    background-repeat: no-repeat;
3420}
3421
3422.keunggulan-wrapper {
3423    position: relative;
3424    z-index: 1;
3425    width: 100%;
3426    max-width: 1100px;
3427    margin: 0 auto;
3428    padding: 25px;
3429    box-sizing: border-box;
3430    background: rgba(5, 5, 5, 0.94);
3431    border: 1px solid #333;
3432    border-radius: 15px;
3433}
3434.keunggulan-blur-box {
3435    position: relative;
3436    width: 100%;
3437    max-width: 1100px;
3438    margin: 0 auto;
3439    border-radius: 16px;
3440    overflow: hidden;
3441    padding: 0;
3442}
3443
3444.keunggulan-blur-box::before {
3445    content: "";
3446    position: absolute;
3447    inset: -25px;
3448    background-image: url("https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp");
3449    background-position: center;
3450    background-size: cover;
3451    background-repeat: no-repeat;
3452    filter: blur(18px);
3453    transform: scale(1.08);
3454    z-index: 0;
3455}
3456
3457    .section-title {
3458        text-align: center;
3459        color: #bf953f;
3460        font-family: 'Plus Jakarta Sans', sans-serif;
3461        font-size: 1.3rem;
3462        margin-bottom: 20px;
3463        text-transform: uppercase;
3464        letter-spacing: 2px;
3465    }
3466
3467    .row-container {
3468        display: flex;
3469        flex-direction: column;
3470        gap: 10px;
3471    }
3472
3473    .keunggulan-row {
3474        display: flex;
3475        align-items: center;
3476        background: #111;
3477        padding: 12px 18px;
3478        border-radius: 30px;
3479        border: 1px solid #222;
3480        transition: 0.3s;
3481    }
3482
3483    .keunggulan-row:hover {
3484        border-color: #bf953f;
3485        background: #1a1a1a;
3486    }
3487
3488    .number-badge {
3489        font-size: 0.9rem;
3490        font-weight: 700;
3491        color: #000;
3492        background: #bf953f;
3493        width: 30px;
3494        height: 30px;
3495        display: flex;
3496        justify-content: center;
3497        align-items: center;
3498        border-radius: 50%;
3499        margin-right: 15px;
3500        flex-shrink: 0;
3501    }
3502
3503    .content-box h3 {
3504        color: #fcf6ba;
3505        font-family: sans-serif;
3506        margin: 0;
3507        font-size: 0.9rem;
3508        font-weight: 600;
3509    }
3510
3511    .content-box p {
3512        color: #888;
3513        margin: 0;
3514        font-size: 0.8rem;
3515        line-height: 1.3;
3516    }
3517.menu-3d-wrap {
3518    width: 1120px;
3519    max-width: calc(100vw - 40px);
3520    margin: 14px auto;
3521    padding: 16px;
3522
3523    display: grid;
3524    grid-template-columns: repeat(6, minmax(0, 1fr));
3525    gap: 12px;
3526
3527    box-sizing: border-box;
3528    background: linear-gradient(180deg, #161616, #050505);
3529    border: 1px solid rgba(212, 175, 55, 0.35);
3530    border-radius: 16px;
3531}
3532
3533.menu-3d-btn {
3534    min-height: 52px;
3535    padding: 10px 8px;
3536
3537    display: flex;
3538    align-items: center;
3539    justify-content: center;
3540
3541    color: #171000 !important;
3542    font-size: 12px;
3543    line-height: 1.25;
3544    font-weight: 800;
3545    text-align: center;
3546    text-decoration: none !important;
3547
3548    background: linear-gradient(
3549        180deg,
3550        #fff5ae 0%,
3551        #e6c35c 38%,
3552        #bd8617 72%,
3553        #8e5900 100%
3554    );
3555
3556    border: 1px solid #ffe58a;
3557    border-radius: 11px;
3558
3559    box-shadow:
3560        0 5px 0 #684000,
3561        0 8px 13px rgba(0, 0, 0, 0.55),
3562        inset 0 2px 1px rgba(255, 255, 255, 0.8),
3563        inset 0 -3px 5px rgba(74, 38, 0, 0.35);
3564
3565    transition: 0.15s ease;
3566}
3567
3568.menu-3d-btn:hover {
3569    transform: translateY(-2px);
3570    filter: brightness(1.08);
3571}
3572
3573.menu-3d-btn:active {
3574    transform: translateY(4px);
3575    box-shadow:
3576        0 1px 0 #684000,
3577        0 3px 6px rgba(0, 0, 0, 0.5);
3578}
3579@media (max-width: 768px) {
3580    .menu-3d-wrap {
3581        grid-template-columns: repeat(2, minmax(0, 1fr));
3582        width: calc(100% - 20px);
3583        gap: 10px;
3584        padding: 12px;
3585    }
3586
3587    .menu-3d-btn {
3588        min-height: 46px;
3589        font-size: 10px;
3590    }
3591}
3592    
3593</style>
3594         <div id="product-meta" class="col-lg-5 p-0">
3595           <div class="product-meta">
3596             <style>
3597   .product-meta--review {margin-top:10px}
3598   .freeship * {font-size: 14px !important;font-style: normal;}
3599 </style>
3600 
3601 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
3602   <meta itemprop="priceCurrency" content="IDR">
3603 
3604   <link itemprop="availability" href="https://schema.org/InStock">
3605   
3605<script
3606     type="text/javascript"
3607     src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
3608     async="async"
3609   ></script>
3609
3610   
3611 
3612   
3613 
3614   <span class="visually-hidden">Translation missing: en.products.general.regular_price</span>
3615   
3616     <span class="visually-hidden">Translation missing: en.products.general.sale_price</span>
3617 
3618   <div class="row no-gutters meta-sds">
3619     <div class="col-12 mb-2 mb-lg-0 stock-info">
3620       
3621       
3622       <span
3623         id="ProductStock-Product"
3624         class="product-single__stock mb-2 hide"
3625       >
3626         
3627           
3628             
3629               
3630               Barang dikirim pada 
3631             
3632           
3633         
3634       </span>
3635 
3636       <style>
3637     .short-desc-desktop {
3638         margin-bottom: 2rem;
3639         color: white;
3640     }
3641     .short-desc ul li:nth-child(n + 4) {
3642         display: none;
3643     }
3644     .short-desc ul li.showList:nth-child(n + 4) {
3645         display: list-item;
3646     }
3647     label.more {
3648         display: none;
3649     }
3650     label.more.showMe {
3651         display: block;
3652         font-size: 12px;
3653         text-transform: uppercase;
3654         font-weight: 700;
3655         cursor: pointer;
3656     }
3657 </style>
3658 
3658<script>
3659     var liCount;
3660     $(document).ready(function () {
3661         $(".short-desc ul").each(function() {
3662             liCount = $(this).children("li").length;
3663             if (liCount > 3) {
3664                 $(this).parent(".short-desc").next(".more").addClass("showMe");
3665             }
3666         });
3667 
3668         $(".more").click(function () {
3669             //$(".short-desc").find("li").addClass("showList");
3670             // $(this).hide();
3671             $("#product-desc").find("ul").show()
3672             $('html, body').animate({
3673                 scrollTop: $("#product-desc").offset().top - 250
3674             }, 2000);
3675             $("#product-desc").css("height","auto");
3676             $("#more_content").remove();
3677             $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
3678         });
3679     });
3680 </script>
3680
3681 
3682       
3683     </div>
3684   </div>
3685 
3686   <div id="purchaseProduct">
3687   
3688   
3689 
3690 
3691 <style>
3692   .variant-metafield {
3693     display: block!important;
3694     width: 1px;
3695     padding: 0;
3696     border-color: #fff;
3697   }
3698   .select2-results__option[aria-disabled] {
3699     display: none;
3700   }
3701 
3702   .towel-bordir {
3703     width: 100%;
3704     display: flex;
3705     align-items: center;
3706     justify-content: space-around;
3707   }
3708 </style>
3709 
3710 
3711 
3712 
3713 
3713<script>
3714   
3715   
3716 </script>
3716
3717 
3718 
3719 
3720 
3721 
3722 
3723 <select
3724   name="id[]"
3725   id="productSelect"
3726   class="product-single__variants ignore hide hide"
3727 >
3728   
3729     
3730       
3731       <option
3732         
3733           selected="selected"
3734         
3735         data-sku="GOJSTRU2598"
3736         value="44083045826775"
3737       >
3738         Default Title
3739       </option>
3740 
3741     
3742   
3743 </select>
3744 
3745 
3745<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
3745
3746 
3747 
3747<script>
3748   $('.size-chart-open-popup').magnificPopup({
3749     type:'inline',
3750     midClick: true
3751   });
3752 </script>
3752
3753 
3754   
3755   
3756   
3757   <div class="upload-image-preview">
3758     
3759     
3760     
3761     
3762     
3763     <style>
3764   .file-dnd * {
3765     margin: 0;
3766     padding: 0;
3767     box-sizing: border-box;
3768   }
3769   .file-dnd {
3770     width: 100%;
3771     height: 250px;
3772     border: 1px solid #ddd;
3773     border-radius: 10px;
3774     padding: 15px;
3775     display: flex;
3776     flex-direction: column;
3777     gap: 10px;
3778     /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
3779     margin: auto;
3780   }
3781   .file-dnd input {
3782     display: none;
3783   }
3784   .file-dnd .before-upload {
3785     border: 1px dashed #888;
3786     flex: 1;
3787     border-radius: 5px;
3788     display: flex;
3789     justify-content: center;
3790     align-items: center;
3791     text-align: center;
3792     cursor: pointer;
3793   }
3794   .file-dnd .before-upload > div {
3795     display: flex;
3796     flex-direction: column;
3797     align-items: center;
3798     gap: 8px;
3799   }
3800   .file-dnd .before-upload > div h4 {
3801     width: 150px;
3802   }
3803   .file-dnd .before-upload > div p {
3804     font-size: 12px !important;
3805     color: #555;
3806   }
3807   .file-dnd.active .before-upload {
3808     border: 1px solid #5750d9;
3809     background-color: #f5f5ff;
3810   }
3811   .file-dnd .after-upload {
3812     position: relative;
3813     display: none;
3814   }
3815   .file-dnd .after-upload img {
3816     width: 100%;
3817     border-radius: 5px;
3818     max-height: 180px;
3819     object-fit: contain;
3820     display: block;
3821   }
3822   .file-dnd .after-upload .clear-btn {
3823     position: absolute;
3824     top: 10px;
3825     right: 10px;
3826     background: rgba(0, 0, 0, 0.5);
3827     width: 15px;
3828     height: 15px;
3829     text-align: center;
3830     line-height: 15px;
3831     border-radius: 50%;
3832     color: #fff;
3833     cursor: pointer;
3834     font-size: 14px;
3835   }
3836 </style>
3837 
3838 <div
3839   class="file-dnd mb-3"
3840   
3841     style="display: none"
3842   
3843 >
3844   <label for="upload-photo">Upload your Photo:</label>
3845   <input type="file" id="upload-photo" accept="image/*">
3846   <input type="hidden" data-properties="Photo">
3847   <div class="before-upload">
3848     <div>
3849       <svg id="surface1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="33.053" height="41.719" viewBox="0 0 33.053 41.719">
3850   <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>
3851   <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>
3852   <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>
3853 </svg>
3854 
3855       <h4>Drag & Drop Photo file or Browse</h4>
3856       <p>Supports: JPEG, PNG, GIF, TIFF</p>
3857     </div>
3858   </div>
3859   <div class="after-upload">
3860     <div class="clear-btn">&times;</div>
3861     <img src="" width="" height="">
3862   </div>
3863 </div>
3864 
3864<script>
3865   function applyDndFile(el) {
3866     const parent = document.querySelector(".file-dnd")
3867     const beforeUploadEl = el.querySelector(".before-upload")
3868     const afterUploadEl = el.querySelector(".after-upload")
3869     const inputFile = el.querySelector("input[type=file]")
3870     const imagePreview = el.querySelector(".after-upload img")
3871     const clearBtn = el.querySelector(".after-upload .clear-btn")
3872     const inputProps = parent.querySelector("[data-properties]");
3873 
3874     async function upload(name, uri, type) {
3875       try {
3876         const filename = name.split('.')[0]
3877         let formData = new FormData(); 
3878         formData.append("file", uri);
3879         const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3880           method: "POST", 
3881           body: formData
3882         })
3883         if(response) {
3884           const res = await response.json()
3885           return res
3886         }
3887       } catch(err){
3888         console.log(err)
3889       }
3890     }
3891 
3892     function showImagePreview(img) {
3893       if(img){
3894         const blobUrl = URL.createObjectURL(img)
3895         imagePreview.src = blobUrl
3896         afterUploadEl.style.display = "block"
3897         beforeUploadEl.style.display = "none"
3898       }
3899     }
3900 
3901     beforeUploadEl.addEventListener("click", (e) => {
3902       e.preventDefault()
3903       inputFile.click()
3904     })
3905 
3906     inputFile.addEventListener("change", async (e) => {
3907       e.preventDefault()
3908       showImagePreview(e.target.files[0])
3909       var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3910       inputProps.value = uploadData?.url
3911     })
3912 
3913     clearBtn.addEventListener("click", (e) => {
3914       afterUploadEl.style.display = "none"
3915       beforeUploadEl.style.display = "flex"
3916       inputProps.value = ""
3917     })
3918 
3919     beforeUploadEl.addEventListener("dragover", (e) => {
3920       e.preventDefault()
3921       el.classList.add("active")
3922     })
3923 
3924     beforeUploadEl.addEventListener("dragleave", (e) => {
3925       e.preventDefault()
3926       el.classList.remove("active")
3927     })
3928 
3929     beforeUploadEl.addEventListener("drop", async (e) => {
3930       e.preventDefault()
3931       el.classList.remove("active")
3932       showImagePreview(e.dataTransfer.files[0])
3933       var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3934       console.log(uploadData)
3935       inputProps.value = uploadData?.url
3936     })
3937   }
3938 
3939   applyDndFile(document.querySelector(".file-dnd"))
3940 
3941   $(document).ready(function(){
3942     $(".variant-swatch").change(function(){
3943       const v = $(this).val().toLowerCase()
3944       const list = ["photo", "custom one side", "custom two side", "small", "big"]
3945       if(list.some(item => v.includes(item))) return $(".file-dnd").show()
3946       $(".file-dnd").hide()
3947       $(".file-dnd").find("[data-properties]").val("")
3948       $(".after-upload").hide()
3949       $(".before-upload").css("display", "flex")
3950     })
3951   })
3952 </script>
3952
3953 
3954   </div>
3955 
3956 <style>
3957   @media (max-width: 768px) {
3958     .select2-search__field {
3959       pointer-events: none !important;
3960     }
3961     
3962     .select2-search {
3963       display: none !important;
3964     }
3965   }
3966 </style>
3967 
3968 
3968<script>
3969   $(document).ready(function() {
3970     // Check if mobile
3971     if (window.innerWidth <= 768) {
3972       // When cities select2 opens on mobile, remove focus from search
3973       $('#cities').on('select2:open', function() {
3974         setTimeout(function() {
3975           $('.select2-search__field').blur();
3976           $('.select2-search__field').prop('readonly', true);
3977         }, 100);
3978       });
3979     }
3980   });
3981 </script>
3981
3982 
3983  <style>
3984 .icon-img-footer {
3985     width: 80px; 
3986     padding: 0px 5px;
3987 }
3988 @media (min-width: 768px) {
3989     .icon-img-footer {
3990         width: 120px; 
3991     }
3992 }
3993 @media (min-width: 992px) {
3994     .icon-img-footer {
3995         width: 120px; 
3996     }
3997 }
3998 
3999 
4000 </style>
4001
4002
4003<div class="form-group p-0">
4004    <input type="text" id="propDeliveryDate" required class="hide">
4005</div>
4006   </div>
4007   
4008   
4009     <div id="row-delivery-time" class="row m-0 mb-3">
4010       <div id="deliveryTime" class="d-flex w-100 m-0"></div>
4011       <div class="form-group p-0">
4012         <input type="text" id="propDeliveryTime" class="hide" required>
4013       </div>
4014     </div>
4015 </div>
4016 
4017 <style>
4018   #PBarNextFrameWrapper {
4019     display: none;
4020   }
4021   #backgroundPopup {
4022     display: none;
4023     position: fixed;
4024     _position: absolute;
4025     height: 100%;
4026     width: 100%;
4027     top: 0;
4028     left: 0;
4029     background: rgb(117 117 117 / 24%);
4030     z-index: 1;
4031   }
4032   .sectionPurchase {
4033     height: 100%;
4034     position: relative;
4035     max-width: 1344px;
4036     background-color: #fff;
4037     padding: 0;
4038     overflow: hidden; /* Changed from auto to hidden */
4039     display: flex;
4040     flex-direction: column;
4041   }
4042   .sectionPurchase.purchaseAddonSpotify {
4043     max-width: 1070px!important;
4044     max-height: 765px!important;
4045   }
4046   .sectionPurchaseBoard {
4047     max-width: 872px!important;
4048     max-height: 821px!important;
4049   }
4050   .purchaseAddonSpotify .btn-action {
4051     position: absolute;
4052     bottom: 0;
4053     left: 0;
4054     width: 100%;
4055     display: flex;
4056     gap: 10px;
4057   }
4058   .wrapperPurchase {
4059     position: relative;
4060     height: 100%;
4061     display: flex;
4062     flex-direction: column;
4063   }
4064   
4065   /* New styles for scrollable content and sticky button */
4066   .purchase-content {
4067     flex: 1;
4068     overflow-y: auto;
4069     overflow-x: hidden;
4070     padding: 20px;
4071   }
4072   
4073   .purchase-button-wrapper {
4074     position: sticky;
4075     bottom: 0;
4076     background-color: #fff;
4077     border-top: 1px solid #e0e0e0;
4078     padding: 15px 0;
4079     margin-top: auto;
4080     z-index: 10;
4081   }
4082   
4083   .purchasePopup {
4084     display: none;
4085     position: fixed;
4086     background: rgb(117 117 117 / 24%);
4087     z-index: 999;
4088     padding: 40px;
4089     font-size: 13px;
4090     top: 0;
4091     left: 0;
4092     width: 100%;
4093     height: 100%;
4094   }
4095   .popupPurchaseClose{
4096     font-size:14px;
4097     line-height:14px;
4098     right:45px;
4099     top:45px;
4100     position:absolute;
4101     color:#6fa5fd;
4102     font-weight:700;
4103     display:block;
4104     cursor: pointer;
4105   }
4106 
4107   .headerPurchase {
4108     margin-bottom: 30px;
4109     display: flex;
4110     justify-content: space-between;
4111   }
4112 
4113   .headerPurchase h3 {
4114     font-size: 16px;
4115     text-transform: uppercase;
4116   }
4117 
4118   .sectionPurchaseBoard .headerPurchase {
4119     margin-bottom: 15px;
4120   }
4121 
4122   .sectionPurchaseBoard .formAddressPurchase {
4123     padding-top: 0;
4124   }
4125 
4126   .purchaseArea {
4127     position: relative;
4128     height: 100%;
4129   }
4130 
4131   .purchaseArea h4 {
4132     width: 100%;
4133     font-size: 12px;
4134     font-weight: 600;
4135     margin-bottom: 10px;
4136     text-transform: uppercase;
4137   }
4138 
4139   .menuPurchase {
4140     margin-bottom: 30px;
4141   }
4142 
4143   .menuPurchase ul {
4144     list-style-type: none;
4145     margin: 0;
4146   }
4147 
4148   .menuPurchase ul li {
4149     display: inline-block;
4150     border: 1px solid #ffffff;
4151     padding: 5px 20px;
4152     margin-right: 5px;
4153     margin-bottom: 10px;
4154     font-size: 12px;
4155     font-weight: 400;
4156   }
4157 
4158   .menuPurchase ul li:hover, .menuPurchase ul li.selected {
4159     background-color: #ffffff;
4160     color: #ffffff;
4161   }
4162 
4163   .contentPurchase h5 {
4164       font-size: 12px;
4165       margin-bottom: 10px;
4166       font-weight: 400;
4167       overflow: hidden;
4168   }
4169 
4170   /* Card */
4171 
4172   #itemCards {
4173     max-height: 430px;
4174     overflow: auto;
4175   }
4176 
4177   .item-cards {
4178       width: 100%;
4179   }
4180   .item-card.selected {
4181       border: 1px solid #ffffff;
4182   }
4183   .item-card:hover {
4184       border: 1px solid #C4C4C4;
4185   }
4186   .item-cards .item-card {
4187     position: relative;
4188     width: calc(33% - 10px);
4189     max-width: calc(33% - 10px);
4190     flex: 0 0 calc(33% - 10px);
4191     margin-bottom: 20px;
4192   }
4193   .item-cards .item-card label,
4194   .item-addons .item-addon label {
4195       position: absolute;
4196       left: 0;
4197       width: 100%;
4198       height: 100%;
4199   }
4200   .item-cards .item-card .card-image img,
4201   .item-addons .item-addon .card-image img {
4202       display: block;
4203       width: 100%;
4204   }
4205   .item-card .card-meta,
4206   .item-addon .card-meta {
4207       padding: 10px 5px 5px;
4208   }
4209   .item-card.selected .card-meta,
4210   .item-addon.selected .card-meta,
4211   .item-card.selected .card-qty {
4212       background-color: #ffffff;
4213       color: #fff;
4214       visibility: visible!important;
4215   }
4216   .item-card:hover .card-meta,
4217   .item-addon:hover .card-meta,
4218   .item-card:hover .card-qty {
4219       background-color: #C4C4C4;
4220       color: #fff;
4221       visibility: visible!important;
4222   }
4223   .item-cards .item-card p,
4224   .item-addons .item-addon p {
4225     font-size: 12px !important;
4226     margin: 0;
4227     font-weight: 600;
4228   }
4229   .item-card .card-meta input,
4230   .item-addon .card-meta input {
4231       display: none;
4232   }
4233   .item-cards .item-card h5,
4234   .item-addons .item-addon h5 {
4235     text-transform: uppercase;
4236     max-height: 35px;
4237   }
4238 
4239   @media (max-width: 768px) {
4240     .item-cards .item-card {
4241         width: calc(50% - 10px);
4242         max-width: calc(50% - 10px);
4243         flex: 0 0 calc(50% - 10px);
4244         margin-bottom: 0;
4245     }
4246   }
4247 
4248   .card-qty {
4249     display: flex;
4250     padding: 5px;
4251     visibility: hidden;
4252     background-color: #fff !important;
4253     z-index: 999;
4254   }
4255   .card-qty a {
4256     border-width: 1px;
4257     width: 30%;
4258     cursor: pointer;
4259     text-align: center;
4260     align-self: center;
4261     height: 28px;
4262     display: block;
4263     position: relative;
4264   }
4265   .card-qty a svg {
4266     position: absolute;
4267     top: 50%;
4268     left: 50%;
4269     transform: translate(-50%, -50%);
4270     text-align: center;
4271   }
4272   input.btn-qty {
4273     border-width: 0px;
4274     border-radius: 0;
4275     background-color: #fff;
4276     -webkit-appearance: none;
4277     box-shadow: none !important;
4278     -webkit-box-shadow: none !important;
4279     -moz-box-shadow: none!important;
4280     width: 40%;
4281     border-left: 1px solid #c4c4c4;
4282     border-right: 1px solid #c4c4c4;
4283     padding: 0;
4284   }
4285 
4286   .sectionPurchaseBoard #itemAddons .item-card {
4287     width: calc(20% - 15px);
4288     max-width: calc(20% - 15px);
4289     flex: 0 0 calc(20% - 15px);
4290   }
4291 
4292   .purchase-button {
4293     width: 100%;
4294     padding: 0; /* Reset padding as it's now handled by wrapper */
4295     margin: 0;
4296   }
4297 
4298   .sectionPurchaseBoard .purchase-button {
4299     margin-top: 0 !important; /* Reset margin */
4300   }
4301 
4302   .back-purchase-button, .back-spotify {
4303       width: 139px;
4304       border: 1px solid;
4305       height: 43px;
4306   }
4307   .purchase-button .btn {
4308     width: 297px;
4309     height: 43px;
4310     background-color: #ffffff;
4311     color: #ffffff;
4312   }
4313   .purchase-button .btn[disabled] {
4314     background-color: #EEEEEE;
4315   }
4316   .back-purchase-button svg, .back-spotify svg {
4317     align-self: center;
4318     vertical-align: middle;
4319     margin-right: 10px;
4320   }
4321 
4322   #purchaseProduct .row .error {
4323     font-size: 12px !important;
4324     color: orange;
4325     margin-top: 5px;
4326   }
4327 
4328   .reviewCardPurchase {
4329     max-width: 448px;
4330     float: right;
4331   }
4332 
4333   .addonsPurchase .addon-item {display: flex;justify-content: space-between;}
4334   .addon-item * {align-self: center;font-size: 12px;}
4335   .addon-itm-title {width: 360px;}
4336   .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;}
4337 
4338   .propsAddonSpotify p {
4339     margin: 0;
4340     display: flex;
4341     font-size: 12px !important;
4342     margin-bottom: 5px;
4343   }
4344   .propsAddonSpotify p span:first-child {
4345     text-transform: uppercase;
4346     font-weight: 600;
4347     -ms-flex: 0 0 150px;
4348     flex: 0 0 150px;
4349     max-width: 150px;
4350   }
4351 
4352   .addonsPurchase .addons {
4353     max-height: 250px;
4354     overflow: auto;
4355   }
4356 
4357   .btn .loading:after {
4358     content: "";
4359     display: inline-block;
4360     width: 20px;
4361     height: 20px;
4362     padding: 3px;
4363     aspect-ratio: 1;
4364     border-radius: 50%;
4365     background: #FFFFFF;
4366     --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
4367     -webkit-mask: var(--_m);
4368     mask: var(--_m);
4369     -webkit-mask-composite: source-out;
4370     mask-composite: subtract;
4371     animation: l3 1s infinite linear;
4372     margin: auto;
4373     vertical-align: middle;
4374     margin-left: 10px;
4375   }
4376 
4377   #qrcode img, #qrcode canvas {
4378     width: 50px;
4379     position: absolute;
4380     top: 12px;
4381     left: 16px;
4382   }
4383 
4384   .t-preview {
4385     position: absolute;
4386     top: 17px;
4387     left: 75px;
4388   }
4389   .t-preview p {
4390     margin: 0;
4391     font-size: 12px !important;
4392   }
4393   .t-preview .h3 {
4394     font-size: 16px !important;
4395     margin-bottom: 5px;
4396     font-weight: 600;
4397   }
4398   .scanCard {
4399     width: 100%;
4400     border: 1px solid;
4401     height: 76px;
4402     background-color: #fff;
4403   }
4404   .scanCard > div > img {
4405     position: absolute;
4406     right: 0;
4407     width: 55px;
4408   }
4409 
4410   @keyframes l3 {
4411     100% {
4412       transform: rotate(1turn);
4413     }
4414   }
4415 
4416   @media (min-width: 991px) {
4417     .sectionPurchase {
4418       height: 100%;
4419       position: relative;
4420       max-width: 1344px;
4421       background-color: #fff;
4422       top: 50%;
4423       left: 50%;
4424       transform: translate(-50%, -50%);
4425     }
4426     .headerPurchase h3 {
4427       font-size: 20px;
4428     }
4429     .purchaseArea h4 {
4430       font-size: 16px;
4431     }
4432 
4433     .menuPurchase ul li {
4434         font-size: 16px;
4435     }
4436     
4437     .contentPurchase {
4438       margin-bottom: 30px;
4439     }
4440     .contentPurchase h5 {
4441       font-size: 16px;
4442     }
4443 
4444     .item-cards .item-card p,
4445     .item-addons .item-addon p {
4446       font-size: 16px !important;
4447     }
4448 
4449     .cards {
4450       float: right;
4451       width: 400px;
4452     }
4453 
4454     .item-cards .item-card {
4455       width: calc(25% - 30px);
4456       max-width: calc(25% - 30px);
4457       flex: 0 0 calc(25% - 30px);
4458     }
4459 
4460       #itemAddons .item-card {
4461         position: relative;
4462         width: calc(16% - 40px);
4463         max-width: calc(16% - 40px);
4464         flex: 0 0 calc(16% - 40px);
4465       }
4466       
4467     .purchase-button-wrapper {
4468         padding: 10px 20px;
4469     }
4470   }
4471 
4472   @media (max-width: 1200px) {
4473     .item-cards .item-card {
4474       width: calc(33% - 30px);
4475       max-width: calc(33% - 30px);
4476       flex: 0 0 calc(33% - 30px);
4477     }
4478   }
4479 
4480   @media (max-width: 992px) {
4481     .purchasePopup {
4482       padding: 0;
4483     }
4484     .item-cards .item-card h5,
4485     .item-addons .item-addon h5 {
4486       max-height: 30px;
4487     }
4488 
4489     .back-purchase-button, .back-spotify, .next-purchase-button {
4490         width: 100%;
4491     }
4492     .addon-itm-title {
4493       width: 300px;
4494     }
4495     .addon-itm-line-price {
4496       margin-right: 10px;
4497     }
4498     .t-preview {
4499       top: 10px;
4500     }
4501 
4502     .card-qty a {
4503       height: 15px;
4504     }
4505     
4506     .purchase-button-wrapper {
4507       padding: 15px;
4508     }
4509   }
4510 
4511   @media (max-width: 576px) {
4512     .purchase-button .btn {
4513         width: 100%!important;
4514     }
4515     .purchase-button > .col-12 {
4516       padding-left: 0;
4517       padding-right: 0;
4518     }
4519   }
4520 </style>
4521 
4522 
4523 <div class="purchasePopup">
4524   <div class="purchaseArea">
4525     
4526       <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
4527         <div class="wrapperPurchase">
4528           <div class="purchase-content">
4529             <div class="headerPurchase">
4530   <h3 class="text-uppercase">
4531     
4532       customize your flower board
4533     
4534   </h3>
4535   <a class="close-purchase-popup">
4536   <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="18" height="18" viewBox="0 0 18 18" fill="none">
4537     <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"/>
4538   </svg>
4539 </a>
4540 
4541 </div>
4542 <div class="contentPurchase">
4543   <div class="row">
4544     
4545       <div class="col-12">
4546         
4547 
4548 <style>
4549   
4550   
4551   .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;}
4552   .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;}
4553   
4554   .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;}
4555   .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;}
4556   .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;}
4557   .svgLogoPapan p {color: #8E8E93; margin: 0;}
4558   .svgLogoPapan p span {font-size: 12px;color: #FF0E00;}
4559   .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;}
4560   #suggest-messages {position: absolute;bottom: 5px;left: 5px;}
4561   #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;}
4562   .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;}
4563   .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;}
4564   .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;}
4565 
4566   @media (min-width: 991px) {
4567     .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);}
4568     .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);}
4569   }
4570 </style>
4571 
4572 <input type="hidden" data-properties="penerima" value="-">
4573 <div class="customize-papan">
4574   <div class="container">
4575     <div class="field-papan group-field-1 form-group">
4576       <div class="input-field">
4577         <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.
4578 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
4579         <p class="limit">0/100</p>
4580         <div id="suggest-messages">
4581           <a id="show_note_papan1" href="#">
4582             <div class="suggest-message" id="note_btn_div1">
4583               <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span>
4584             </div>
4585           </a>
4586           <a id="show_note_papan2" href="#">
4587             <div class="suggest-message" id="note_btn_div2">
4588               <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span>
4589             </div>
4590           </a>
4591           <a id="show_note_papan3" href="#">
4592             <div class="suggest-message" id="note_btn_div3">
4593               <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span>
4594             </div>
4595           </a>
4596         </div>
4597       </div>
4598     </div>
4599     <div class="hide">
4600       <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;">
4601       <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1">
4602     </div>
4603     <div class="hide">
4604       <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;">
4605       <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2">
4606     </div>
4607     <div class="hide">
4608       <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;">
4609       <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3">
4610     </div>
4611     <div class="field-papan group-field-2 form-group">
4612       
4613       <label for="logoPapan" onclick="" class="input-field field-logo">
4614         
4615         
4616         
4617         <div class="btn-upload-papan w-100">
4618           <?xml version="1.0" encoding="UTF-8"?>
4619           <img src="" style="display:none">
4620           <div class="svgLogoPapan">
4621             <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="22" height="26" viewBox="0 0 22 26" fill="none">
4622               <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/>
4623             </svg>
4624             <p>Upload Logo <span>*optional</span></p>
4625           </div>
4626         </div>
4627         
4628       </label>
4629       
4630       <input
4631         type="hidden"
4632         data-properties="papan-logo"
4633         value=""
4634       >
4635       <input
4636         type="file"
4637         id="logoPapan"
4638         accept="image/*"
4639         style="position: absolute;width: 1px;height: 1px;padding: 0"
4640       >
4641       
4642       <div class="input-field">
4643         <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/>
4644         <p class="limit">0/35</p>
4645       </div>
4646       
4647     </div>
4648     
4649   </div>
4650 </div>
4651       </div>
4652     
4653   </div>
4654 </div>
4655 
4656           </div>
4657           <div class="purchase-button-wrapper">
4658             <div class="purchase-button btn-card row m-0">
4659   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4660     
4661   </div>
4662   <div class="btn-next-card col-12 col-lg-10 text-right">
4663     
4664     
4665     <button
4666       
4667         
4668       
4669       class="btn next-purchase-button text-uppercase"
4670       
4671         disabled
4672       
4673     >
4674       <span>save your flower board</span>
4675     </button>
4676   </div>
4677 </div>
4678 
4679           </div>
4680         </div>
4681       </div>
4682     
4683     
4684     
4685       <div
4686         class="sectionPurchase sectionPurchaseBoard hide"
4687         data-section="address"
4688       >
4689         <div class="wrapperPurchase">
4690           <div class="purchase-content">
4691 <div class="contentPurchase">
4692   <div class="row">
4693     <div class="col-12 position-relative">
4694       <div class="addressPurchase">
4695         
4696           <h4 class="text-uppercase">recipient delivery address</h4>
4697           <p>Share the delivery address to send your heartfelt blooms straight to their door.</p>
4698         
4699         <div class="formAddressPurchase row">
4700           <div class="col-12">
4701             <form>
4702               <div class="form-group row mb-2 mb-lg-4">
4703                 <div class="col-6 position-relative">
4704                   <input id="first_name" type="text" class="form-control input__field" placeholder="" required>
4705                   <label for="first_name" class="input__label">First Name<span>*</span></label>
4706                 </div>
4707                 <div class="col-6 position-relative">
4708                   <input id="last_name" type="text" class="form-control input__field" placeholder="" required>
4709                   <label for="last_name" class="input__label">Last Name<span>*</span></label>
4710                 </div>
4711                 <input type="hidden" data-properties="nama-penerima">
4712               </div>
4713               
4714                 <h4 class="text-uppercase">how you want to input your address</h4>
4715                 <div class="form-group row mb-2 mb-lg-4 form-address-upload">
4716                   <div class="col-6 position-relative">
4717                     <label class="address-manualy">
4718                       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="18" height="17" viewBox="0 0 18 17" fill="none">
4719   <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
47191216 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
47195 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"/>
4720 </svg>
4721 <span>Input Address Manually</span>
4722                     </label>
4723                   </div>
4724                   <div class="col-6 position-relative">
4725                     <label for="address-upload" class="address-upload">
4726                       <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="12" height="13" viewBox="0 0 12 13" fill="none">
4727   <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"/>
4728 </svg>
4729 <span>Upload Address Picture</span>
4730                     </label>
4731                     <input
4732                       id="address-upload"
4733                       type="file"
4734                       accept="image/png, image/jpeg"
4735                       style="position: absolute; padding: 0;width: 1px;height: 1px"
4736                     >
4737                     <input type="hidden" class="props-address-upload" data-properties="foto-alamat">
4738                   </div>
4739                 </div>
4740                 <img width="150" height="" src="" class="photo-address" style="display: none;">
4741               
4742               <div class="form-group row position-relative mb-2 mb-lg-4 form-address">
4743                 <div class="col-12">
4744                   <textarea
4745                     id="delivery_address"
4746                     data-properties="alamat-penerima"
4747                     class="form-control input__field col-12"
4748                     placeholder=""
4749                     required
4750                   ></textarea>
4751                   <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label>
4752                   
4753                 </div>
4754               </div>
4755               <div class="form-group row mb-2 mb-lg-4 form-address">
4756                 <div class="col-6 position-relative">
4757                   <input
4758                     id="recipient_number"
4759                     type="text"
4760                     data-properties="telepon-penerima"
4761                     class="form-control input__field"
4762                     placeholder=""
4763                     required
4764                   >
4765                   <label for="recipient_number" class="input__label">Recipient number<span>*</span></label>
4766                 </div>
4767                 <div class="col-6 position-relative">
4768                   <input
4769                     id="company"
4770                     type="text"
4771                     data-properties="company"
4772                     class="form-control input__field"
4773                     placeholder=""
4774                   >
4775                   <label for="company" class="input__label">Company (Optional)</label>
4776                 </div>
4777               </div>
4778               <div class="form-group row mb-2 mb-lg-4 form-address">
4779                 <div class="col-6 position-relative">
4780                   <input
4781                     id="province"
4782                     type="text"
4783                     class="form-control input__field"
4784                     placeholder=""
4785                     value="Jakarta"
4786                     data-properties="province"
4787                   >
4788                   <label for="province" class="input__label">Province</label>
4789                 </div>
4790                 <div class="col-6 position-relative">
4791                   <select id="zip" class="form-control select-search" required></select>
4792                 </div>
4793               </div>
4794             </form>
4795           </div>
4796         </div>
4797       </div>
4798       <div class="addonsPurchase">
4799         <h4 class="text-uppercase">add-ons</h4>
4800         <div class="addons">
4801           <p>No Add-Ons</p>
4802           <!--
4803             <button class="add-addon">
4804               <svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="12" height="12" viewBox="0 0 12 12" fill="none">
4805                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4806               </svg>
4807               <span>Enhance my moment with Add-ons</span>
4808             </button>
4809           -->
4810         </div>
4811       </div>
4812     </div>
4813     
4814   </div>
4815 </div>
4816 
4817 
4817<script>
4818 document.addEventListener('DOMContentLoaded', function() {
4819   // Detect iOS
4820   var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4821   
4822   if (isIOS) {
4823     document.querySelector('.formAddressPurchase').classList.add('ios');
4824     
4825     // iOS specific fixes
4826     var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4827     
4828     inputs.forEach(function(input) {
4829       // Force enable touch events on iOS
4830       input.style.webkitUserSelect = 'text';
4831       input.style.webkitTouchCallout = 'default';
4832       input.style.pointerEvents = 'auto';
4833       input.style.touchAction = 'manipulation';
4834       
4835       // Add explicit touch event listeners for iOS
4836       input.addEventListener('touchstart', function(e) {
4837         e.stopPropagation();
4838         this.focus();
4839       }, { passive: false });
4840       
4841       input.addEventListener('touchend', function(e) {
4842         e.preventDefault();
4843         e.stopPropagation();
4844         this.focus();
4845         this.click();
4846       }, { passive: false });
4847       
4848       // Force focus on tap for iOS
4849       input.addEventListener('click', function(e) {
4850         e.stopPropagation();
4851         if (document.activeElement !== this) {
4852           this.focus();
4853         }
4854       });
4855     });
4856     
4857     // Fix for label overlapping on iOS
4858     var labels = document.querySelectorAll('.formAddressPurchase .input__label');
4859     labels.forEach(function(label) {
4860       label.style.pointerEvents = 'none';
4861       label.addEventListener('touchstart', function(e) {
4862         e.preventDefault();
4863         var input = this.parentNode.querySelector('.input__field');
4864         if (input) {
4865           input.focus();
4866         }
4867       });
4868     });
4869   }
4870   
4871   // Handle input state for all browsers, especially iOS
4872   var inputs = document.querySelectorAll('.input__field');
4873   
4874   inputs.forEach(function(input) {
4875     // Handle input events
4876     input.addEventListener('input', function() {
4877       if (this.value.trim() !== '') {
4878         this.classList.add('has-value');
4879       } else {
4880         this.classList.remove('has-value');
4881       }
4882     });
4883     
4884     // Handle focus
4885     input.addEventListener('focus', function() {
4886       this.classList.add('focused');
4887       // iOS specific: ensure input is visible
4888       if (isIOS) {
4889         setTimeout(function() {
4890           input.scrollIntoView({ behavior: 'smooth', block: 'center' });
4891         }, 300);
4892       }
4893     });
4894     
4895     // Handle blur
4896     input.addEventListener('blur', function() {
4897       this.classList.remove('focused');
4898       if (this.value.trim() !== '') {
4899         this.classList.add('has-value');
4900       } else {
4901         this.classList.remove('has-value');
4902       }
4903     });
4904     
4905     // Initial check for pre-filled values
4906     if (input.value.trim() !== '') {
4907       input.classList.add('has-value');
4908     }
4909   });
4910   
4911   // Additional iOS fixes
4912   if (isIOS) {
4913     // Prevent iOS Safari from adding default styling
4914     document.addEventListener('touchstart', function() {}, { passive: true });
4915     
4916     // Fix viewport issues on iOS
4917     var viewport = document.querySelector('meta[name=viewport]');
4918     if (viewport) {
4919       viewport.setAttribute('content', 
4920         'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
4921       );
4922     }
4923   }
4924 });
4925 </script>
4925
4926           </div>
4927           <div class="purchase-button-wrapper">
4928             <div class="purchase-button btn-address row m-0">
4929   <div class="col-12 col-lg-2 text-left mb-2 p-0">
4930     
4931       <button class="back-purchase-button back-address text-uppercase">
4932         <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
4933           <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"/>
4934         </svg>
4935         <span>Back</span>
4936       </button>
4937     
4938   </div>
4939   <div class="btn-next-card col-12 col-lg-10 text-right">
4940     
4941       <!--
4942         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
4943           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
4944             <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"/>
4945           </svg>
4946           <span>Back</span>
4947         </button>
4948       -->
4949     
4950     
4951     <button
4952       
4953         id="addtocart-card"
4954       
4955       class="btn  next-address text-uppercase"
4956       
4957     >
4958       <span>add to cart</span>
4959     </button>
4960   </div>
4961 </div>
4962 
4963           </div>
4964         </div>
4965       </div>
4966     
4967   </div>
4968 </div>
4969 <div id="backgroundPopup"></div>
4970 
4971 
4972 
4973 <input
4974   data-index="1"
4975   type="hidden"
4976   id="properties-delivery-date"
4977   name="properties[Delivery Date]"
4978   value="-"
4979 >
4980 <input
4981   data-index="2"
4982   type="hidden"
4983   id="properties-delivery-time"
4984   name="properties[Delivery Time]"
4985   value="-"
4986 >
4987 <input
4988   data-index="4"
4989   type="hidden"
4990   id="properties-nama-penerima"
4991   name="properties[Nama Penerima]"
4992   value="-"
4993 >
4994 <input
4995   data-index="5"
4996   type="hidden"
4997   id="properties-alamat-penerima"
4998   name="properties[Alamat Penerima]"
4999   value="-"
5000 >
5001 <input
5002   data-index="6"
5003   type="hidden"
5004   id="properties-kodepos"
5005   name="properties[Kodepos]"
5006   value="-"
5007 >
5008 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]">
5009 
5010   
5011     <input
5012       data-index="8"
5013       type="hidden"
5014       id="properties-kartu-nama-penerima"
5015       name="properties[Kartu Nama Penerima]"
5016       value="-"
5017     >
5018   
5019   <textarea
5020     data-index="9"
5021     type="hidden"
5022     id="properties-kartu-pesan"
5023     name="properties[Kartu Pesan]"
5024     style="display: none"
5025   >-</textarea>
5026 
5027 
5028 
5029   <input
5030     data-index="10"
5031     type="hidden"
5032     id="properties-kartu-nama-pengirim"
5033     name="properties[Kartu Nama Pengirim]"
5034     value="-"
5035   >
5036 
5037 
5038 
5039   
5040   
5041 
5042 
5043 
5044 
5045 
5046 
5047 
5048 
5049 
5050 
5051 
5052 
5053 
5054 <!-- Additional Shipping -->
5055 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]">
5056 <input
5057   type="hidden"
5058   id="properties-kota-pengiriman-country"
5059   name="properties[Country]"
5060   value="Indonesia"
5061 >
5062 <input type="hidden" id="properties-shipping" name="properties[Shipping]">
5063 
5064 <input type="hidden" id="properties-time" name="properties[Time]">
5065 <input type="hidden" id="properties-card" name="properties[Card]">
5066 <input type="hidden" id="properties-addons" name="properties[Addons]">
5067 
5068 <input
5069   type="hidden"
5070   id="properties-company"
5071   name="properties[Company]"
5072   value=""
5073 >
5074 
5074<script>
5075   
5076   $(document).ready(function(){
5077     
5078     var text_max_papan1=150;
5079     var msg_text_papan1="";
5080     $('#kartu-ucapan-ucapan').keyup(function(){
5081       var text_length_papan1=$('#kartu-ucapan-ucapan').val().length;
5082       var msg_text_papan1=$('#kartu-ucapan-ucapan').val();
5083     });
5084 
5085     var notes_papan1 = [
5086       
5087       [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."]
5088       
5089     ];
5090     $('#show_note_papan1').click(function(event){
5091       event.preventDefault();
5092       var idx_papan1=parseInt($('#note_id_papan1').val());
5093       if(isNaN(idx_papan1)){
5094         idx_papan1=0;
5095       }else{
5096         idx_papan1++;
5097         idx_papan1=idx_papan1%notes_papan1.length;
5098       }
5099       var note_papan1=notes_papan1[idx_papan1][1];
5100       $('#note_id_papan1').val(idx_papan1);
5101       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
5102       $('#msgDelivery').val(note_papan1);
5103 
5104       var text_length_papan1=$('#kartu-ucapan-papan').val().length;
5105       var idx_2_papan1=parseInt($('#note_btn_id_papan1').val());
5106       if(isNaN(idx_2_papan1)){
5107         idx_2_papan1=0;
5108       }else{
5109         idx_2_papan1++;
5110         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5111       }
5112       $('#note_btn_id_papan1').val(idx_2_papan1);
5113       //var note_btn=note_btn_text[idx_2][1];
5114       //$('#note_btn').text(note_btn);
5115     });
5116 
5117     var text_max_papan2=150;
5118     var msg_text_papan2="";
5119     $('#kartu-ucapan-ucapan').keyup(function(){
5120       var text_length_papan2=$('#kartu-ucapan-ucapan').val().length;
5121       var msg_text_papan2=$('#kartu-ucapan-ucapan').val();
5122     });
5123 
5124     var notes_papan2 = [
5125       
5126       [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)."]
5127       
5128     ];
5129     $('#show_note_papan2').click(function(event){
5130       event.preventDefault();
5131       var idx_papan2=parseInt($('#note_id_papan2').val());
5132       if(isNaN(idx_papan2)){
5133         idx_papan2=0;
5134       }else{
5135         idx_papan2++;
5136         idx_papan2=idx_papan2%notes_papan2.length;
5137       }
5138       var note_papan2=notes_papan2[idx_papan2][1];
5139       $('#note_id_papan2').val(idx_papan2);
5140       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
5141       $('#msgDelivery').val(note_papan2);
5142       var text_length_papan2=$('#kartu-ucapan-papan').val().length;
5143       var idx_2_papan2=parseInt($('#note_btn_id_papan2').val());
5144       if(isNaN(idx_2_papan2)){
5145         idx_2_papan2=0;
5146       }else{
5147         idx_2_papan2++;
5148         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5149       }
5150       $('#note_btn_id_papan2').val(idx_2_papan2);
5151       //var note_btn=note_btn_text[idx_2][1];
5152       //$('#note_btn').text(note_btn);
5153     });
5154 
5155     var text_max_papan3=150;
5156     var msg_text_papan3="";
5157     $('#kartu-ucapan-ucapan').keyup(function(){
5158       var text_length_papan3=$('#kartu-ucapan-ucapan').val().length;
5159       var msg_text_papan3=$('#kartu-ucapan-ucapan').val();
5160     });
5161 
5162     var notes_papan3 = [
5163       
5164       [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)."]
5165       
5166     ];
5167     $('#show_note_papan3').click(function(event){
5168       event.preventDefault();
5169       var idx_papan3=parseInt($('#note_id_papan3').val());
5170       if(isNaN(idx_papan3)){
5171         idx_papan3=0;
5172       }else{
5173         idx_papan3++;
5174         idx_papan3=idx_papan3%notes_papan3.length;
5175       }
5176       var note_papan3=notes_papan3[idx_papan3][1];
5177       $('#note_id_papan3').val(idx_papan3);
5178       $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
5179       $('#msgDelivery').val(note_papan3);
5180       var text_length_papan3=$('#kartu-ucapan-papan').val().length;
5181       var idx_2_papan3=parseInt($('#note_btn_id_papan3').val());
5182       if(isNaN(idx_2_papan3)){
5183         idx_2_papan3=0;
5184       }else{
5185         idx_2_papan3++;
5186         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5187       }
5188       $('#note_btn_id_papan3').val(idx_2_papan3);
5189       //var note_btn=note_btn_text[idx_2][1];
5190       //$('#note_btn').text(note_btn);
5191     });
5192 
5193     var text_max_papan4=150;
5194     var msg_text_papan4="";
5195     $('#kartu-ucapan-ucapan').keyup(function(){
5196       var text_length_papan4=$('#kartu-ucapan-ucapan').val().length;
5197       var msg_text_papan4=$('#kartu-ucapan-ucapan').val();
5198     });
5199 
5200     $('#show_note_papan4').click(function(event){
5201       var notes_papan4 = [
5202         [0,"Here’s to you—steadier, stronger and better every day."],
5203         [1,"Warmest wishes for a speedy recovery!"],
5204         [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
5205         [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
5206       ];
5207       event.preventDefault();
5208       var idx_papan4=parseInt($('#note_id_papan4').val());
5209       console.log(idx_papan4, 'idx_papan4')
5210       if(isNaN(idx_papan4)){
5211         idx_papan4=0;
5212       }else{
5213         idx_papan4++;
5214         idx_papan4=idx_papan4%notes_papan4.length;
5215       }
5216       var note_papan4=notes_papan4[idx_papan4][1];
5217       $('#note_id_papan4').val(idx_papan4);
5218       $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
5219       console.log(note_papan4, 'note_papan4')
5220       var text_length_papan4=$('#kartu-ucapan-papan').val().length;
5221       var idx_2_papan4=parseInt($('#note_btn_id_papan4').val());
5222       if(isNaN(idx_2_papan4)){
5223         idx_2_papan4=0;
5224       }else{
5225         idx_2_papan4++;
5226         //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5227       }
5228       $('#note_btn_id_papan4').val(idx_2_papan4);
5229     });
5230 
5231     /*
5232     $("#jenisPapan").change(function(){
5233       $( "select option:selected").each(function(){
5234         if($(this).attr("value")=="Happy Wedding"){
5235           $("#suggest-messages a").hide();
5236           $("#show_note_papan1").show();
5237           $("#kartu-ucapan-papan").val("");
5238         }
5239         if($(this).attr("value")=="Congratulations"){
5240           $("#suggest-messages a").hide();
5241           $("#show_note_papan2").show();
5242           $("#kartu-ucapan-papan").val("");
5243         }
5244         if($(this).attr("value")=="Duka Cita"){
5245           $("#suggest-messages a").hide();
5246           $("#show_note_papan3").show();
5247           $("#kartu-ucapan-papan").val("");
5248         }
5249       });
5250     }).change();
5251     */
5252 
5253     
5254 
5255     
5256 
5257     $(".variant-metafield").each(function(){
5258       const t = $(this)
5259       const id = t.attr("id")
5260       const target = $(`[data-select=${id}]`)
5261       t.on('select2:selecting', function(e) {
5262         const data = e.params.args.data
5263         target.val(data.text)
5264       });
5265     })
5266   })
5267 </script>
5267
5268 
5269 
5269<script>
5270   const shareButton = document.getElementById('shareButton');
5271 
5272   shareButton.addEventListener('click', () => {
5273     if (navigator.share) {
5274       navigator.share({
5275         title: "Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026",
5276         url: "/products/blossom-shine",
5277         text: 'Check out this page!'
5278       })
5279       .then(() => console.log('Successful share'))
5280       .catch((error) => console.log('Error sharing', error));
5281     } else {
5282       alert('Web Share API is not supported in this browser.');
5283     }
5284   });
5285 
5286   // Inventory validation function
5287   function checkInventoryStatus() {
5288     const productSelect = document.getElementById('productSelect');
5289     const purchaseButton = document.querySelector('#personalizeBtn button');
5290     
5291     if (!productSelect || !purchaseButton) return;
5292 
5293     const selectedVariantId = productSelect.value;
5294     
5295     // Get variant data from Shopify
5296     fetch(`/products/blossom-shine.js`)
5297       .then(response => response.json())
5298       .then(product => {
5299         const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
5300         
5301         if (selectedVariant) {
5302           const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 
5303                                selectedVariant.inventory_management === 'shopify' && 
5304                                selectedVariant.inventory_policy !== 'continue';
5305           
5306           if (isOutOfStock) {
5307             purchaseButton.disabled = true;
5308             purchaseButton.textContent = 'Out of Stock';
5309             purchaseButton.setAttribute('data-out-of-stock', 'true');
5310             purchaseButton.style.backgroundColor = '#cccccc';
5311             purchaseButton.style.cursor = 'not-allowed';
5312           } else {
5313             // Check if button was disabled due to other conditions
5314             
5315             
5316             
5317             
5318             
5319             
5320             
5321             
5322             const isOtherDisabled = false || true || false;
5323             
5324             if (!isOtherDisabled) {
5325               purchaseButton.disabled = false;
5326               purchaseButton.textContent = 'customize your flower board';
5327               purchaseButton.removeAttribute('data-out-of-stock');
5328               purchaseButton.style.backgroundColor = '';
5329               purchaseButton.style.cursor = '';
5330             }
5331           }
5332         }
5333       })
5334       .catch(error => {
5335         console.error('Error checking inventory:', error);
5336       });
5337   }
5338 
5339   // Check inventory on page load
5340   document.addEventListener('DOMContentLoaded', function() {
5341     checkInventoryStatus();
5342     
5343     // Listen for variant changes
5344     const productSelect = document.getElementById('productSelect');
5345     if (productSelect) {
5346       productSelect.addEventListener('change', checkInventoryStatus);
5347     }
5348   });
5349 
5350   // Prevent form submission if out of stock
5351   document.addEventListener('click', function(e) {
5352     if (e.target.matches('button[data-out-of-stock="true"]')) {
5353       e.preventDefault();
5354       e.stopPropagation();
5355       alert('This product is currently out of stock and cannot be purchased.');
5356       return false;
5357     }
5358   });
5359 </script>
5359
5360 
5361 
5362   
5363 </div>
5364 
5365           </div>
5366         </div>
5367       </div>
5368     </div>
5369<div class="keunggulan-section">
5370  <div class="keunggulan-blur-box">
5371<div class="keunggulan-wrapper">
5372
5373<h2 class="section-title">MENGAPA PERMATA123 JADI PILIHAN MEDIA LOGIN TERPERCAYA 2026?</h2>
5374
5375<div class="row-container">
5376
5377<div class="keunggulan-row">
5378    <div class="number-badge">01</div>
5379    <div class="content-box">
5380        <h3>Tahap Login Ringkas dan Cepat</h3>
5381        <p>Dengan akses login yang ringan, pengguna tidak perlu lagi menunggu lama saat membuka halaman. Konsep tahapan dibuat agar jalur masuk terasa lebih enteng dan lebih siap digunakan.</p>
5382    </div>
5383</div>
5384
5385<div class="keunggulan-row">
5386    <div class="number-badge">02</div>
5387    <div class="content-box">
5388        <h3>Keamanan Lebih Terjaga</h3>
5389        <p>Perlindungan data menjadi satu prioritas. Setiap kali login, data pengguna akan langsung di enkripsi serta dilindungi SSL tingkat tinggi, menjadikan standar keamanan lebih baik.</p>
5390    </div>
5391</div>
5392
5393<div class="keunggulan-row">
5394    <div class="number-badge">03</div>
5395    <div class="content-box">
5396        <h3>Link Alternatif 24 Jam</h3>
5397        <p>Bisa akses kedalam game kapan saja tanpa hambatan berkat link alternatif stabil 24 jam. Tidak perlu khawatir meski halaman asli sedang mengalami gangguan.</p>
5398    </div>
5399</div>
5400
5401<div class="keunggulan-row">
5402    <div class="number-badge">04</div>
5403    <div class="content-box">
5404        <h3>Tampilan Alternatif Serupa Website Utama</h3>
5405        <p>Desain halaman utama dibuat mirip dengan website asli sehingga pengguna bisa langsung bermain tanpa harus belajar atau beradaptasi lagi.</p>
5406    </div>
5407</div>
5408
5409<div class="keunggulan-row">
5410    <div class="number-badge">05</div>
5411    <div class="content-box">
5412        <h3>Stabil di Berbagai Kondisi Jaringan</h3>
5413        <p>Baik keadaan sinyal kuat maupun sedang lelet, akses media login PERMATA123 tetap bisa dibuka dengan nyaman.ngan</p>
5414    </div>
5415</div>
5416
5417<div class="keunggulan-row">
5418    <div class="number-badge">06</div>
5419    <div class="content-box">
5420        <h3>Nyaman Untuk Perangkat Hp atau Dekstop</h3>
5421        <p>Mau login game lewat smartphone android, iOS atau desktop sekalipun, bisa banget. Tampilan responsive mengikuti layer perangkat yang digunakan.</p>
5422    </div>
5423</div>
5424
5425<div class="keunggulan-row">
5426    <div class="number-badge">07</div>
5427    <div class="content-box">
5428        <h3>Tak Perlu Buat Akun Baru</h3>
5429        <p>Pengguna tetap bisa login link alternatif PERMATA123 pakai akun lama. Data akun tetap utuh. Saldo, riwayat, dan informasi penting lainnya tidak berubah sama sekali.</p>
5430    </div>
5431</div>
5432
5433<div class="keunggulan-row">
5434    <div class="number-badge">08</div>
5435    <div class="content-box">
5436        <h3>Lebih Aman dengan Alamat yang Sudah Dikenal</h3>
5437        <p>Menggunakan link resmi ataupun alternatif yang sudah dikenal membantu pengguna menghindari halaman yang tidak jelas seperti scam. Pengguna bisa bebas akses dengan tenang dan terhindar resiko yang tidak diinginkan.</p>
5438    </div>
5439</div>
5440
5441</div>
5442
5443</div>
5444</div>
5445</div>
5446     <div id="product-bottom">
5447       
5448         <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
5449           <div class="container">
5450             
5451 
5452 
5453 
5454 
5455     <div class="short-desc-mobile d-block d-lg-none mb-3">
5456         <div class="short-desc">
5457             <ul>
5458 <li><strong>Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.</strong></li>
5459         </div>
5460         <label class="more-mobile">Show More →</label>
5461     </div>
5462 
5463 <style>
5464 .animated-title {
5465     text-align: center;
5466     font-weight: bold;
5467     color: #079c02;
5468     font-size: 28px;
5469     position: relative;
5470     animation: glow 2s infinite alternate, moveUpDown 3s infinite;
5471 }
5472 
5473 /* Efek glow / bercahaya hijau */
5474 @keyframes glow {
5475     0% { text-shadow: 0 0 5px #079c02; color: #079c02; }
5476     50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; }
5477     100% { text-shadow: 0 0 10px #1bff00; color: #079c02; }
5478 }
5479 
5480 /* Efek gerakan naik turun */
5481 @keyframes moveUpDown {
5482     0% { transform: translateY(0px); }
5483     50% { transform: translateY(-5px); }
5484     100% { transform: translateY(0px); }
5485 }
5486 </style>
5487 
5488 
5488<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
5488
5489 
5489<script>
5490   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});
5491 
5492   const productType = $("[data-product-type]").data("product-type")
5493   const productDate = Date.parse(new Date())
5494   
5495   const shop = 'outerbloom1.myshopify.com'
5496   const host = 'https://app.asmaraku.com'
5497   // const host = 'http://localhost:5001'
5498 
5499   const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
5500   
5501   const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
5502 
5503   $("#properties-time").val(new Date().getTime())
5504 
5505   const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
5506 
5507   if(!isIOS) {
5508     $("#full-date").attr("type", "button")
5509   }
5510 
5511   let dateTime = new Date();
5512   let today = dateTime.getDate();
5513   let day = dateTime.getDay();
5514   let hour = dateTime.getHours();
5515   let min = dateTime.getMinutes();
5516   let timeOfDay = hour + (min / 100);
5517 
5518   async function getFetch(url) {
5519     const response = await fetch(url);
5520     let status = false
5521     let result
5522     if(response.ok) {
5523       status = true
5524       result = await response.json();
5525     }
5526     return {
5527       status,
5528       data: result
5529     }
5530   }
5531 
5532   
5533 
5534   function setCookie(cname, cvalue, exMins) {
5535     var d = new Date();
5536     d.setTime(d.getTime() + (exMins*60*1000));
5537     var expires = "expires="+d.toUTCString();  
5538     document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
5539   }
5540 
5541   function getCookie(cname) {
5542     let name = cname + "=";
5543     let decodedCookie = decodeURIComponent(document.cookie);
5544     let ca = decodedCookie.split(';');
5545     for(let i = 0; i <ca.length; i++) {
5546       let c = ca[i];
5547       while (c.charAt(0) == ' ') {
5548         c = c.substring(1);
5549       }
5550       if (c.indexOf(name) == 0) {
5551         return c.substring(name.length, c.length);
5552       }
5553     }
5554     return "";
5555   }
5556 
5557   async function renderDate() {
5558     let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8359546319899&v=${Date.now()}`);
5559     console.log(dataDate, 'renderDate')
5560     const data = dataDate?.data
5561     const date = data.date
5562     const time = data.time
5563 
5564     console.log(date, 'DATE')
5565 
5566     const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
5567     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5568     const htmlDate = []
5569     for(let i = 0;i < date.length;i++) {
5570       const full = date[i].date
5571       const d = new Date(date[i].date);
5572       const day = weekday[d.getDay()];
5573       const dt = d.getDate();
5574       const mt = monthly[d.getMonth()];
5575       const yr = d.getFullYear();
5576       const isDate = Boolean(date[i].isEnabled)
5577       const cutoffpagi = date[i].cutoff?.pagi
5578       const cutoffsiang = date[i].cutoff?.siang
5579       const cutoffMalam = date[i].cutoff?.Malam
5580       var html = `
5581         <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'}>
5582           ${dt === today ?
5583             `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
5584             `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
5585           }
5586         </button>
5587       `
5588       htmlDate.push(html)
5589     }
5590     const htmlTime = []
5591     for(var i = 0;i < time.length;i++) {
5592       const timeText = time[i].text
5593       const timeTime = time[i].time
5594       const timeEnabled = time[i].isEnabled
5595       var html = `
5596           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
5597         `
5598       htmlTime.push(html)
5599     }
5600     const deliveryDate = document.getElementById("deliveryDate");
5601     if(deliveryDate) {
5602       deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
5603       $("#deliveryTime").html(htmlTime)
5604       if(productType !== '') {
5605         console.log("clarity event " + productType + ' calendaring')
5606         window.clarity("event", `${productType} calendaringSchedule`)
5607         // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
5608       }
5609     }
5610   }
5611 
5612   async function getProvince(city) {
5613     let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
5614     console.log(province, 'province')
5615     $("#province").val(province)
5616   }
5617 
5618   async function renderAddress() {
5619     let current
5620     if(getCookie("location_delivery")){
5621       current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
5622     }
5623     let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8359546319899`);
5624     console.log(address)
5625     const data = address?.data?.city
5626     const htmlAddress = []
5627     const grouping = []
5628     for(let i = 0;i < data?.length;i++) {
5629       if(data[i]){
5630         if(data[i]?.group) {
5631           grouping.push(data[i].group)
5632         }
5633         const price = rupiah.format(data[i]?.rate)
5634         let promo = '(Promo Free Delivery)'
5635         if(data[i]?.name === 'Jakarta - PickUp ASHTA'){
5636           promo = '(at SCBD, Ashta)'
5637         } else if(data[i]?.name === 'Jakarta - PickUp ITC'){
5638           promo = '(at Kuningan, ITC Kuningan)'
5639         } else if(data[i]?.name === 'BSD - PickUp'){
5640           promo = '(at Goldfinch Gading Serpong)'
5641         } else if(data[i]?.name === 'Kota Lainnya'){
5642           promo = ''
5643         }
5644         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>`)
5645       }
5646     }
5647     
5648     const deliveryCity = document.getElementById("cities");
5649     if(deliveryCity) {
5650       deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
5651       if(!isIOS) {
5652         $(deliveryCity).select2();
5653       }
5654     }
5655   }
5656 
5657   async function renderZip(v, v2, v3) {
5658     const deliveryZip = document.getElementById("zip");
5659     if(v === '') {
5660       return
5661     }
5662     let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
5663     let zip = dataZip?.data?.zip
5664     console.log(zip)
5665     let htmlZip = []
5666     for(let i = 0; i < zip?.length;i++) {
5667       htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
5668     }
5669     deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
5670   }
5671 
5672   renderDate()
5673   renderAddress()
5674 
5675   let rupiah = new Intl.NumberFormat('id-ID', {
5676     style: 'currency',
5677     currency: 'IDR',
5678     maximumFractionDigits: 0, 
5679     minimumFractionDigits: 0
5680   });
5681 
5682   async function insertCard(data) {
5683     const response = await fetch(`${host}/api/card/new`, {
5684         method: "POST",
5685         headers: {
5686           'Content-Type': 'application/json',
5687         },
5688         body: data
5689     })
5690     const result = await response.json()
5691     let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
5692     $("#greetingCard").attr("data-index", rowIndex)
5693     return result
5694   }
5695     
5696   async function updateCard(data){
5697     const rowIndex = $("#greetingCard").data("index")
5698     const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
5699         method: "PUT",
5700         headers: {
5701           'Content-Type': 'application/json',
5702         },
5703         body: data
5704     })
5705     return response
5706   }
5707     
5708   function bytesToSize(bytes) {
5709     var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
5710     for (var i = 0; i < sizes.length; i++) {
5711       if (bytes <= 1024) {
5712         return bytes + ' ' + sizes[i];
5713       } else {
5714         bytes = parseFloat(bytes / 1024).toFixed(2)
5715       }
5716     }
5717     return bytes + ' P';
5718   }
5719 
5720   async function uploadMedia(uri, type) {
5721     nameq = $("#properties-nama-penerima").val()
5722     dear = $("#properties-kartu-nama-penerima").val()
5723     card = $("[data-properties=ucapan]").val()
5724     sender = $("#properties-kartu-nama-pengirim").val()
5725     photo = $("#properties-photo").val()
5726     video = $("#properties-video").val()
5727     status = "Product"
5728         
5729     const name = qrID
5730     let formData = new FormData(); 
5731     formData.append("file", uri);
5732     const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5733       method: "POST", 
5734       body: formData
5735     })
5736     const result = await response.json();
5737     if(result) {
5738       const url = result.url
5739       if(type === 'image/jpeg') {
5740         $("#properties-photo").val(url)
5741         $(".preview-image").show()
5742         $(".remove-image").show()
5743         photo = url
5744       } else {
5745         $("#properties-video").val(url)
5746         $("#label-input-video span").text("Change File")
5747         $(".case-qrcode-preview p").text("Scan here for a secret message")
5748         $(".remove-media").show()
5749         $("#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>`)
5750         $("[for=input-video]").hide()
5751         video = url
5752       }
5753       $(".case-video-preview").show()
5754       $(".steps-card-preview").removeClass("loading")
5755       // updateCard(nameq, dear, card, sender, photo, video, status)
5756 
5757       $(".nextBtn").attr("disabled", false)
5758     }
5759   }
5760 
5761   function randomString(length, chars) {
5762     var result = '';
5763     for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5764     return result;
5765   }
5766 
5767   function getNoteCity(fulldate) {
5768     const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5769     const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"];
5770     const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];
5771     const d = new Date(h_1);
5772     const day = weekday[d.getDay()];
5773     const dt = d.getDate();
5774     const mt = monthly[d.getMonth()];
5775     const yr = d.getFullYear();
5776     const p = $("#cities").parent(".form-group")
5777   }
5778 
5779   function disabledSameDay() {
5780     let btnFirst = $("#deliveryDate").find("button:first-child")
5781     let getDay = new Date().getDay();
5782 
5783     
5784       
5785       if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){
5786         if(hour >= 14.00){
5787           btnFirst.attr("disabled", true)
5788         }
5789       } else if(getDay == 6){
5790         if(hour >= 16.00){
5791           btnFirst.attr("disabled", true)
5792         }
5793       } else if(getDay == 0){
5794         if(hour >= 16.00){
5795           btnFirst.attr("disabled", true)
5796         }
5797       }
5798       
5799     
5800   }
5801 
5802   function disabledays(date) {
5803     let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
5804     //if u have to disable a list of day
5805     let removeDays
5806     
5807     
5808     
5809         removeDays = ["2025-2-13", "2025-2-14"];
5810     
5811     if ($.inArray(ymd, removeDays) >= 0) {
5812       return [false];
5813     } else {
5814       let day = date.getDay();
5815       if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){
5816           return [(day == 0),  ''];
5817       }
5818       
5819       if(day == 0){
5820         return [(day == 0),  ''];
5821       }
5822       
5823       
5824       return [(day != 0),  ''];
5825     }
5826   }
5827 
5828   /* Indonesian initialisation for the jQuery UI date picker plugin. */
5829   /* Written by Deden Fathurahman ([email protected]). */
5830   ( function( factory ) {
5831     if ( typeof define === "function" && define.amd ) {
5832 
5833       // AMD. Register as an anonymous module.
5834       define( [ "../widgets/datepicker" ], factory );
5835     } else {
5836 
5837       // Browser globals
5838       factory( jQuery.datepicker );
5839     }
5840   }( function( datepicker ) {
5841 
5842   datepicker.regional.id = {
5843     closeText: "Tutup",
5844     prevText: "&#x3C;mundur",
5845     nextText: "maju&#x3E;",
5846     currentText: "Today",
5847     monthNames: [ "January","February","March","April","May","Juny",
5848                   "July","August","September","October","November","December" ],
5849     monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun",
5850                       "Jul","Agu","Sep","Oct","Nov","Dec" ],
5851     dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ],
5852     dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ],
5853     dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ],
5854     weekHeader: "Mg",
5855     dateFormat: "D, dd M",
5856     firstDay: 0,
5857     isRTL: false,
5858     showMonthAfterYear: false,
5859     yearSuffix: "" };
5860   datepicker.setDefaults( datepicker.regional.id );
5861 
5862   return datepicker.regional.id;
5863 
5864 } ) );
5865 
5866   function loadPopup() {
5867     $("#backgroundPopup").fadeIn("slow");
5868     $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
5869     const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
5870     if(firstSection.hasClass("purchasePersonalize")) {
5871       if(productType !== '') {
5872         console.log("clarity event " + productType + ' personalize')
5873         window.clarity("event", `${productType} cardPersonalization`)
5874         // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
5875       }
5876     } else if (firstSection.hasClass("sectionPurchaseBoard")) {
5877         console.log("clarity event " + productType + ' personalizeBoard')
5878         window.clarity("event", `${productType} personalizeBoard`)
5879         // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
5880     }
5881     firstSection.removeClass("hide")
5882     
5883     // Auto-trigger addon loading when addon section becomes visible
5884     setTimeout(function() {
5885       const addonSection = $(".purchaseAddon")
5886       if(addonSection.length > 0 && !addonSection.hasClass("hide")) {
5887         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
5888           $("[data-addon=upsell-all]").trigger("click")
5889         }
5890       }
5891     }, 200)
5892   }
5893 
5894   function disablePopup() {
5895     $("#backgroundPopup").fadeOut("slow");
5896     $(".purchasePopup").fadeOut("slow");
5897     $("#popupCart").fadeOut("slow");
5898   }
5899 
5900     function scrollTo(parent, div, dur) {
5901       $(parent).animate({
5902         scrollTop: $(div).offset().top
5903       }, dur);
5904     }
5905 
5906   function quantityCounter() {
5907     $(document).on("click", ".item-card.selected .q_up", function () {
5908       var C = $(this).attr("data-id"),
5909           S =
5910               parseInt(
5911                   $(this)
5912                       .siblings(".quantity-cart-" + C)
5913                       .val()
5914               ) + 1;
5915       $(this).attr("data-quantity", S),
5916           $(this)
5917               .siblings(".quantity-cart-" + C)
5918               .val(S);
5919     }),
5920     $(document).on("click", ".item-card.selected .q_down", function () {
5921         var C = $(this).attr("data-id"),
5922             S = parseInt(
5923                 $(this)
5924                     .siblings(".quantity-cart-" + C)
5925                     .val()
5926             );
5927         0 < S && $(this).attr("data-quantity", S - 1),
5928             0 < S &&
5929                 $(this)
5930                     .siblings(".quantity-cart-" + C)
5931                     .val(S - 1);
5932     });
5933   }
5934 
5935   quantityCounter()
5936 
5937   const itemAddon = $(".item-card").length
5938   const nofree = $(".nofree").length
5939 
5940   const upsell = ''
5941   
5942   if(nofree === itemAddon) {
5943       // $("#itemAddons").html("<p>No Items available</p>")
5944   }
5945 
5946   $("#itemAddons .item-card").each(function(e){
5947       $("#itemAddons").attr("data-length", e)
5948   })
5949 
5950   $("[data-addon]").click(function(){
5951       
5952       
5953       
5954       const t = $(this)
5955       
5956       const data = t.data("addon")
5957       
5958       $("[data-addon]").removeClass("selected")
5959       t.addClass("selected")
5960       $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){
5961           const products = data.products
5962           const html = []
5963           for(let i = 0; i < products.length; i++) {
5964               const id = products[i].id
5965               const variantId = products[i].variants[0].id
5966               const img = products[i].images[0].src
5967               let img2 = img.split('.jpg')[0]
5968               const title = products[i].title
5969               const price = products[i].variants[0].price
5970               const tags = products[i].tags
5971               const qty = products[i].variants[0].available
5972               let type_upsell = ''
5973               if(tags.includes('upsell-item-standing')) {
5974                   type_upsell = 'standing'
5975               }
5976               console.log(type_upsell)
5977               if(type_upsell !== '') {
5978                   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}">
5979                       
5980                           <div class="card-image">
5981                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
5982                           </div>
5983                           <div class="card-meta">
5984                               <h5>${title}</h5>
5985                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
5986                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
5987                           </div>
5988                           <div class="card-qty">
5989                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
5990                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity">
5991                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="12" height="13" viewBox="0 0 12 13" fill="none">
5992 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
5993 </svg></a>   
5994                           </div>
5995                       </div>`
5996                   html.push(body)
5997               }
5998           }
5999           $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
6000           $("#itemAddons").attr("data-length", products.length)
6001           // $('#itemAddons')[0].swiper.update();
6002       });
6003   })
6004 
6005   async function isAddon(){
6006     let ids = []
6007     $("#itemAddons .item-card.selected").each(function(i, e){
6008       const id = $(this).data("id")
6009       ids.push(id)
6010     })
6011     console.log(ids)
6012     return ids
6013   }
6014   
6015   $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){
6016     const t = $(this).parent()
6017     const id = t.data("id")
6018     const btn =  t.parents(".purchaseAddon").find(".next-purchase-button")
6019     t.toggleClass("selected");
6020     //$(this).next("input").toggleAttr('name', 'id[]');
6021     if (t.hasClass('selected')) {
6022         t.find("input").val(1)
6023         t.find("input").attr('name', 'id[]');
6024     } else {
6025         t.find("input").val(0)
6026         t.find("input").removeAttr('name');
6027     }
6028     $("#properties-addons").val(addons)
6029     const is = await isAddon()
6030     if(is.length === 0) {
6031       btn.text("continue without add-ons")
6032       return
6033     }
6034     if(is.includes(8835692069079)) {
6035       btn.text("personalize acrylic frame")
6036     } else {
6037       btn.text("Continue")
6038     }
6039       
6040   })
6041 
6042   async function myAddon(data) {
6043     const c = $(".addonsPurchase .addons")
6044     let items = []
6045     
6046     const spotifyAddons = $(".spotifyAddons").find("[data-index]")
6047     // if(spotifyAddons.length > 0) {
6048     //   $(spotifyAddons).each(function(i, e){
6049     //     const spotifyLink = $(this).find(".spotifyLink").val()
6050     //     const spotifySong = $(this).find(".spotifySong").val()
6051     //     const spotifyArtist = $(this).find(".spotifyArtist").val()
6052     //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
6053     //     if(spotifyLink !== '') {
6054     //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
6055     //         <div class="addon-itm-img">
6056     //           <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"/>
6057     //         </div>
6058     //         <div class="addon-itm-title">
6059     //           <span>[US] Outerbloom Acrylic Frame 4R</span>
6060     //         </div>
6061     //         <div class="addon-itm-line-total">
6062     //           <span>Rp 99.000</span>
6063     //         </div>
6064     //       </div>
6065     //       <div class="propsAddonSpotify row m-0">
6066     //         <div class="col-12 col-lg-2"></div>
6067     //           <div class="col-12 col-lg-10">
6068     //             <p>
6069     //               <span>spotify link</span>
6070     //               <span class="spotifyLinkAddon">${spotifyLink}</span>
6071     //             </p>
6072     //             <p>
6073     //               <span>uploaded photo</span>
6074     //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
6075     //             </p>
6076     //             <p>
6077     //               <span>song / playlist name</span>
6078     //               <span class="spotifySongAddon">${spotifySong}</span>
6079     //             </p>
6080     //             <p>
6081     //               <span>artist name</span>
6082     //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
6083     //             </p>
6084     //           </div>
6085     //       </div>`
6086     //       items.push(spotifyAddon)
6087     //     }
6088     //   })
6089     // }
6090     for(let i = 0; i < data.length; i++) {
6091       if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) {
6092         const img = data[i].image
6093         const title = data[i].title
6094         const qty = data[i].qty
6095         const price = data[i].price
6096         const total = Number(qty) * Number(price)
6097         let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
6098               <div class="addon-itm-img">
6099                 <img src="${img}" alt="" width="70"/>
6100               </div>
6101               <div class="addon-itm-title">
6102                 <span>${title}</span>
6103               </div>
6104               <div class="addon-itm-line-price">
6105                 <span>${rupiah.format(price)}</span>
6106                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
6107               </div>
6108               <div class="addon-itm-line-total">
6109                 <span>${rupiah.format(total)}</span>
6110               </div>
6111             </div>`
6112           items.push(addons)
6113       }
6114     }
6115     c.html(items)
6116     const parent = $(".purchaseAddon")
6117     const next = parent.next(".sectionPurchase")
6118     parent.addClass("hide")
6119     next.removeClass("hide")
6120     // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
6121     // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
6122   }
6123 
6124   async function listAddon() {
6125     const data = $("#itemAddons").find(".selected")
6126     let ids = []
6127     $(data).each(function(){
6128       const id = $(this).data("variant")
6129       const image = $(this).find(".card-image img").attr("src")
6130       const title = $(this).find(".card-meta h5").text()
6131       const qty = $(this).find(".card-qty input").val()
6132       const price = $(this).find(".card-qty input").data("price")
6133       ids.push({
6134         id: Number(id),
6135         image,
6136         title,
6137         qty,
6138         price
6139       })
6140     })
6141     myAddon(ids)
6142   }
6143 
6144   async function customSpotify(idx, length, type){
6145     let isCard = false
6146     
6147     let p = $(".purchasePopupSpotify")
6148     const preLink = $(".spotifyLinkFirst").val()
6149     $("[data-index]").hide()
6150     p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
6151     p.find(".regulerAddons, .purchase-button").hide()
6152     p.find(".spotifyAddons").show()
6153     
6154     const data = await trackUrl(preLink)
6155     
6156     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://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="13" height="11" viewB
6156ox="0 0 13 11" fill="none">
6157 <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"/>
6158 </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://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="13" height="11" viewB
6158ox="0 0 13 11" fill="none">
6159 <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"/>
6160 </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>`
6161     // console.log(html)
6162     
6163     $(".spotifyAddons").append(html)
6164     
6165     $(`[data-index=${idx}]`).show()
6166     
6167     if (preLink !== '') {
6168       $(".btn-action .btn").attr("disabled", false)
6169     } else {
6170       $(".btn-action .btn").attr("disabled", true)
6171     }
6172 
6173     return html
6174     
6175   }
6176 
6177   $(".spotifyLinkFirst").keyup(async function(){
6178     const v = $(this).val()
6179     if(v.includes('spotify:user:spotify')) {
6180       const correct = v.split('user:spotify:')[1]
6181       console.log(correct, 'BNER')
6182       $(this).val(correct)
6183       return
6184     }
6185     if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){
6186       const data = await trackUrl(v)
6187       if(!data || !data.status) {
6188         $(this).parent().addClass("error")
6189         // $(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>`)
6190         $("#personalizeBtnSpotify .btn").attr("disabled", true)
6191         return
6192       }
6193       $(this).parent().removeClass("error")
6194       // $(this).parent().remove("txt-error")
6195       $("#personalizeBtnSpotify .btn").attr("disabled", false)
6196     } else {
6197       $("#personalizeBtnSpotify .btn").attr("disabled", true)
6198     }
6199   })
6200 
6201   $(".purchaseAddon").delegate(".next-addon", "click", function(){
6202     const parent = $(this).parents(".purchaseAddon")
6203     const next = parent.next(".sectionPurchase")
6204     if(next.hasClass("purchaseAddress")) {
6205       if(productType !== '') {
6206         console.log("clarity event " + productType + ' purchaseDelivery')
6207         window.clarity("event", `${productType} purchaseDelivery`)
6208         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
6209       }
6210     }
6211     const data = $("#itemAddons").find(".selected")
6212     const length = $(".quantity-cart-46067682607319").val()
6213     const checked = data.length;
6214     if(checked > 0) {
6215       if(length > 0) {
6216         $(".purchaseAddon").addClass("purchaseAddonSpotify")
6217         customSpotify(1, length, 'addon')
6218       } else {
6219         listAddon()
6220       }
6221     } else {
6222       parent.addClass("hide")
6223       next.removeClass("hide")
6224     }
6225   })
6226 
6227   $("#personalizeBtnSpotify .btn").click(async function(){
6228     const isCity = $("#cities[required]")
6229     const isDate = $("#propDeliveryDate[required]")
6230     if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
6231       alert('Please choose Delivery City & Delivery Date')
6232       return
6233     }
6234     const data = await customSpotify(1, 1, 'product')
6235     if(data) {
6236       $("#backgroundPopup").fadeIn("slow");
6237       $(".purchasePopupSpotify").fadeIn("slow");
6238 
6239       if(productType !== '') {
6240         console.log("clarity event " + productType + ' spotify')
6241         window.clarity("event", `${productType} spotify`)
6242         // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
6243       }
6244     }
6245   })
6246 
6247   function formatBytes(bytes, decimals = 2) {
6248     if (!+bytes) return '0 Bytes'
6249 
6250     const k = 1024
6251     const dm = decimals < 0 ? 0 : decimals
6252     const sizes = ['B', 'KB', 'MB']
6253 
6254     const i = Math.floor(Math.log(bytes) / Math.log(k))
6255 
6256     return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
6257   }
6258 
6259   async function trackUrl(link){
6260     try {
6261       let trackId = link.split('/').pop().split('?')[0];
6262       let type = ''
6263       if(link.includes("spotify:")) {
6264         const uri = link.split('spotify:')[1]
6265         trackId = uri.split(':')[1]
6266         type = uri.split(':')[0] + 's'
6267       } else {
6268         if(link.match('track')){
6269           type = 'tracks'
6270         } else if(link.match('playlist')) {
6271           type = 'playlists'
6272         } else if(link.match('artist')) {
6273           type = 'artists'
6274         } else if(link.match('album')) {
6275           type = 'albums'
6276         }
6277       }
6278       console.log(`${host}/api/spotify/${type}/${trackId}`)
6279       const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
6280       console.log(data, 'DATA')
6281       const song = data?.data?.name
6282       const artist = data?.data?.artist
6283       return {
6284         song, artist, type, trackId, status: data.status
6285       }
6286     } catch(err) {
6287       console.log(err)
6288     }
6289   }
6290 
6291   $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){
6292     const parent = $(this).parents("[data-index]")
6293     const preview = parent.find(".previewImage")
6294     const file = $(this)[0].files[0];
6295     if (file) {
6296         const reader = new FileReader();
6297         reader.onload = async function(e) {
6298           parent.find(".uploadResult label").hide()
6299           parent.find(".uploadedResult").remove()
6300           parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
6301           <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>
6302           <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;">
6302<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
6303   <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 />
6304 </svg>
6305 </span></div></div>`)
6306           parent.find(".frameImageUploaded svg").hide()
6307           parent.find(".frameImage").addClass("uploaded")
6308           preview.attr("src", e.target.result);
6309           preview.show();
6310           let formData = new FormData(); 
6311           formData.append("file", file);
6312           const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
6313             method: "POST", 
6314             body: formData
6315           })
6316           const result = await response.json();
6317           if(result){
6318             parent.find(".resultPhotoSpotify").val(result.url)
6319           }
6320         }
6321         
6322         reader.readAsDataURL(file);
6323     } else {
6324         preview.hide();
6325     }
6326   });
6327 
6328   $(".spotifyAddons").delegate(".uploadResult", "click", function(){
6329     $(this).next("input[type=file]").trigger("click")
6330   })
6331 
6332   $(".spotifyAddons").delegate(".changeUpload", "click", function(){
6333     $(this).parents("input[type=file]").trigger("click")
6334   })
6335 
6336   $(".spotifyAddons").delegate(".removeUpload", "click", function(){
6337     const parent = $(this).parents("[data-index]")
6338     parent.find(".uploadPhotoSpotify").val("")
6339     parent.find(".uploadResult label").show()
6340     parent.find(".uploadedResult").remove()
6341     parent.find(".frameImageUploaded svg").show()
6342     parent.find(".previewImage").hide()
6343     parent.find(".frameImage").removeClass("uploaded")
6344   })
6345 
6346   $(".spotifyAddons").delegate("label.checkbox", "click", function(){
6347     const parent = $(this).parents("[data-index]")
6348     parent.toggleClass("checked")
6349   })
6350 
6351   $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){
6352     const parent = $(this).parents("[data-index]")
6353     const link = $(this).val()
6354     const data = await trackUrl(link)
6355 
6356     console.log(data)
6357 
6358     if(data.song) {
6359       parent.find(".spotifySong").val(data.song)
6360       parent.find(".spotifyData").find("h3").text(data.song)
6361     }
6362     if(data.artist) {
6363       parent.find(".spotifyArtist").val(data.artist)
6364       parent.find(".spotifyData").find("p").text(data.artist)
6365     }
6366     parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
6367     // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
6368     if (data.status === true) {
6369       parent.find(".btn-action .btn").attr("disabled", false)
6370     } else {
6371       parent.find(".btn-action .btn").attr("disabled", true)
6372     }
6373   })
6374   
6375   $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){
6376     const parent = $(this).parents("[data-index]")
6377     const v = $(this).val()
6378     parent.find(".spotifyData h3").text(v)
6379   })
6380 
6381   $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){
6382     const parent = $(this).parents("[data-index]")
6383     const v = $(this).val()
6384     parent.find(".spotifyData p").text(v)
6385   })
6386 
6387   $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){
6388     const parent = $(this).parents("[data-index]")
6389     const length = parent.data("length")
6390     const index = parent.data("index")
6391     const indexNext = Number(index) + 1
6392     customSpotify(indexNext, length, 'addon')
6393   })
6394 
6395   
6396   $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){
6397     const parent = $(this).parents(".purchaseAddon")
6398     const next = parent.next(".sectionPurchase")
6399     parent.addClass("hide")
6400     next.removeClass("hide")
6401     next.find(".purchase-button").show()
6402     listAddon()
6403   })
6404 
6405   $(".spotifyAddons").delegate(".back-spotify", "click", async function(){
6406     const t = $(this).parents("[data-index]")
6407     const parent = $(this).parents(".sectionPurchase")
6408     const current = t.data("index")
6409     const prevCurrent = Number(current) - 1
6410     if(current == 1) {
6411       parent.removeClass("purchaseAddonSpotify")
6412       parent.find(".purchase-button").show()
6413       parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
6414       $(".spotifyAddons").empty()
6415       $(".regulerAddons").show()
6416       return
6417     }
6418     t.hide()
6419     t.prev("[data-index]").show()
6420     t.remove()
6421     parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
6422   })
6423 
6424   $("#personalizeBtn .btn").click(async function() {
6425     loadPopupPersonalize()
6426   });
6427 
6428   $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){
6429     $(".sectionPurchaseSpotify").hide()
6430     loadPopupPersonalize()
6431   })
6432 
6433   $(".close-purchase-popup").click(function() {
6434       disablePopup();
6435   });
6436   $("#backgroundPopup").click(function() {
6437       // disablePopup();
6438   });
6439 
6440   $("#popupCart .close-purchase-popup").click(function() {
6441       location.reload()
6442   });
6443 
6444   $('#popupCart').on('hide.bs.modal', function (e) {
6445     location.reload()
6446   })
6447 
6448   $(".next-card").click(function(){
6449     const parent = $(this).parents(".sectionPurchase")
6450     const next = parent.next(".sectionPurchase")
6451     parent.addClass("hide")
6452     next.removeClass("hide")
6453   })
6454 
6455   $(".back-purchase-button").click(function(){
6456     const parent = $(this).parents(".sectionPurchase")
6457     const prev = parent.prev(".sectionPurchase")
6458     parent.addClass("hide")
6459     prev.removeClass("hide")
6460   })
6461   
6462   $(document).keypress(function(e) {
6463       if (e.keyCode == 27 && popupStatus == 1) {
6464           disablePopup();
6465       }
6466   });
6467   
6468   const parentImg = $(".case-img-preview")
6469   const parentVid = $(".case-video-preview")
6470   
6471   function readURL(input) {
6472     if (input.files && input.files[0]) {
6473       let reader = new FileReader();
6474 
6475       let type = 'image/jpeg'
6476       const size = input.files[0].size
6477       if(input.files[0].type.match('video/')){
6478         type = 'video/mp4'
6479         if(size > 15728640) {
6480           alert('File size exceeds maximum limit 15 MB')
6481           return
6482         }
6483       } else {
6484         if(size > 5242880) {
6485           alert('File size exceeds maximum limit 5 MB')
6486           return
6487         }
6488       }
6489 
6490       reader.onload = function (e) {
6491         $(".nextBtn").attr("disabled", true)
6492         if(type === 'image/jpeg') {
6493           
6494             $('.placeholder-image').hide();
6495             $('.preview-image').show()
6496             $('.preview-image').attr('src', e.target.result);
6497           
6498         } else {
6499           // parentVid.find(".ajax-loader").show();
6500           $(".steps-card-preview").addClass("loading")
6501         }
6502       }
6503 
6504       
6505 
6506       reader.readAsDataURL(input.files[0]);
6507     }
6508   }
6509 
6510   async function readURLPapan(input) {
6511     if (input.files && input.files[0]) {
6512       let reader = new FileReader();
6513 
6514       reader.onload = function (e) {
6515         $('.btn-upload-papan').siblings('label').hide();
6516         $('.btn-upload-papan img').attr('src', e.target.result);
6517         $('.btn-upload-papan img').show();
6518         $('.svgLogoPapan').hide();
6519       }
6520       
6521       const type = 'image/jpeg'
6522       const name = `logo-8359546319899-${Date.parse(new Date())}`
6523 
6524       let formData = new FormData(); 
6525       formData.append("file", input.files[0]);
6526       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
6527         method: "POST", 
6528         body: formData
6529       })
6530       const result = await response.json();
6531       if(result) {
6532         const url = result.url
6533         $("[data-properties=papan-logo]").val(url)
6534       }
6535 
6536       reader.readAsDataURL(input.files[0]);
6537     }
6538   }
6539 
6540   async function readURLAddress(input) {
6541     console.log(input, 'readURLAddress')
6542     if (input.files && input.files[0]) {
6543       let reader = new FileReader();
6544 
6545       reader.onload = function (e) {
6546         $('.photo-address').attr('src', e.target.result);
6547         $('.photo-address').show();
6548       }
6549       
6550       const type = 'image/jpeg'
6551       const name = input.files[0].name?.split('.')[0]
6552 
6553       let formData = new FormData(); 
6554       formData.append("file", input.files[0]);
6555       const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
6556         method: "POST", 
6557         body: formData
6558       })
6559       const result = await response.json();
6560 
6561       reader.readAsDataURL(input.files[0]);
6562 
6563       return result
6564     }
6565   }
6566 
6567   
6568 
6569   
6570   async function addToCartUang() {
6571     var productAddOnId1 = 42122101162199;
6572     var productAddOnId2 = 42122101194967;
6573     var product_id = 8359546319899
6574     const data = {
6575       items: [
6576           {
6577               quantity: $("#Quantity-" + productAddOnId1).val(),
6578               id: productAddOnId1,
6579               "properties": { "Time": $("#properties-time").val() }
6580           },
6581           {
6582               quantity: $("#Quantity-" + productAddOnId2).val(),
6583               id: productAddOnId2,
6584               "properties": { "Time": $("#properties-time").val() }
6585           }
6586       ]
6587     }
6588     await fetch(window.Shopify.routes.root + 'cart/add.js', {
6589       method: 'POST',
6590       headers: {
6591         'Content-Type': 'application/json'
6592       },
6593       body: JSON.stringify(data)
6594     })
6595     .then(response => {
6596       console.error('Sukses Buket Uang:', response);
6597       $(".form-flower").submit()
6598     })
6599     .catch((error) => {
6600       console.error('Error Buket Uang:', error);
6601       $(".form-flower").submit()
6602     });
6603   }
6604   
6605   async function saveCard(){
6606     let isCard = true
6607     const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
6608     const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
6609     const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
6610     const foto = $("#properties-photo").val()
6611     const video = $("#properties-video").val()
6612     const data = JSON.stringify({
6613       "id": qrID, 
6614       "penerima": $("#properties-nama-penerima").val(), 
6615       "kartu_penerima": kartu_penerima, 
6616       "kartu_ucapan": kartu_ucapan, 
6617       "kartu_pengirim": kartu_pengirim, 
6618       "foto": foto,
6619       "video": video, 
6620       "productId": "8359546319899", 
6621       "order_name": "", 
6622       "status": "Cart"
6623     })
6624 
6625     
6626   }
6627 
6628   async function additem(items){
6629     try {
6630       let formData = items
6631       if(items?.length) {
6632         formData = {
6633            'items': items
6634         };
6635       }
6636   
6637       const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
6638         method: 'POST',
6639         headers: {
6640           'Content-Type': 'application/json',
6641           'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
6642         },
6643         body: JSON.stringify(formData)
6644       })
6645   
6646       const data = await add.json();
6647       return data
6648     } catch(err){
6649       console.log('Error additem', err)
6650     }
6651   }
6652 
6653   async function addons(){
6654     let items = []
6655     $(".addon-item").each(function(){
6656       const p = $(this)
6657       const props = p.next(".propsAddonSpotify")
6658       const id = $(this).data("id")
6659       const quantity = $(this).data("qty")
6660       const propId = $("#properties-time").val()
6661       let properties = {}
6662       if(id === 46067682607319) {
6663         const link = props.find(".spotifyLinkAddon").text()
6664         const photo = props.find(".spotifyFotoAddon").text()
6665         const song = props.find(".spotifySongAddon").text()
6666         const artist = props.find(".spotifyArtistAddon").text()
6667         properties = {
6668           id: propId,
6669           "Spotify Link": link !== '' ? link : '-',
6670           "Spotify Photo": photo !== '' ? photo : '-',
6671           "Spotify Song": song !== '' ? song : '-',
6672           "Spotify Artist": artist !== '' ? artist : '-',
6673           type: 'addon'
6674         }
6675       } else {
6676         properties = { 
6677           "id": propId, 
6678           "type": "addon"
6679         }
6680       }
6681       items.push({
6682         id, 
6683         quantity, 
6684         properties
6685       })
6686     })
6687     return items
6688   }
6689 
6690   async function propItems() {
6691     let props = {}
6692     $("[data-properties]").each(function(e){
6693       let elementType = this.tagName;
6694       const k = $(this).data("properties")
6695       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') {
6696         const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
6697         if(v !== '') {
6698           props[k] = v?.replace(/[\s\n]/g, '');
6699         }
6700       }
6701     })
6702     return props
6703   }
6704 
6705   async function showPopupCart(items){
6706     if(productType !== '') {
6707       console.log("clarity event " + productType + ' completeOrder')
6708       window.clarity("event", `${productType} completeOrder`)
6709       // window.clarity("set", productType, `completeOrder - ${productDate}`)
6710     }
6711     $("#popupCart").show()
6712     
6713       $(".propDeliveryCity").text($("#cities").val())
6714       $(".propDeliveryDate").text($("#propDeliveryDate").val())
6715       $(".propDeliveryTime").text($("#propDeliveryTime").val())
6716       $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6717       $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6718       $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6719       $(".propDeliveryProv").text($("#province").val())
6720       $(".propDeliveryZip").text($("#zip").val())
6721       
6722     
6723 
6724     const addons = []
6725     if(items && items.length > 0) {
6726       for(let i = 1; i < items.length; i++) {
6727         const spotifyLink = items[i].properties['Spotify Link']
6728         const spotifyPhoto = items[i].properties['Spotify Photo']
6729         const spotifySong = items[i].properties['Spotify Song']
6730         const spotifyArtist = items[i].properties['Spotify Artist']
6731         const price = items[i].price / 100
6732         const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6733                   <div class="col-12 col-lg-2"></div>
6734                   <div class="col-12 col-lg-10">
6735                     <p>
6736                       <span>spotify link</span>
6737                       <span>${spotifyLink}</span>
6738                     </p>
6739                     <p>
6740                       <span>Upload Photo</span>
6741                       <span>${spotifyPhoto}</span>
6742                     </p>
6743                     <p>
6744                       <span>song / playlist name</span>
6745                       <span>${spotifySong}</span>
6746                     </p>
6747                     <p>
6748                       <span>artist name</span>
6749                       <span>${spotifyArtist}</span>
6750                     </p>
6751                   </div>
6752                 </div>` : '';
6753         addons.push(`<div class="row m-0">
6754                   <div class="imgAddonCart col-2">
6755                     <img
6756                       width="43"
6757                       src="${items[i].image}"
6758                       alt=""
6759                     >
6760                   </div>
6761                   <div class="imgAddonTitlePrice col-10 align-self-center">
6762                     <div class="row justify-content-between m-0">
6763                       <div class="col-12 col-lg-8">
6764                         <h5>${items[i].title}</h5>
6765                       </div>
6766                       <div class="col-12 col-lg-4 text-lg-right">
6767                         <span>${rupiah.format(price)}</span>
6768                       </div>
6769                     </div>
6770                   </div>
6771                 </div>${props}`)
6772       }
6773     }
6774     // console.log(addons)
6775     if(addons.length === 0) {
6776       $(".itemAddonCart").hide()
6777       return
6778     }
6779     $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
6780     $(".wrapperItemAddonCart").html(addons)
6781   }
6782 
6783   const money = (money) => {
6784       return new Intl.NumberFormat('id-ID',
6785           { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
6786       ).format(money);
6787   }
6788 
6789   async function showNoteMoney() {
6790     let qty50k = $("[data-properties='Uang 50k']").val()
6791     let qty100k = $("[data-properties='Uang 100k']").val()
6792     const total50k = Number(qty50k) * 50000
6793     const total100k = Number(qty100k) * 100000
6794     const total_all = total50k + total100k
6795     $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
6796     $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
6797     $(".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://media-hfmagazineonline.seo123788.workers.dev/" target="_blank" style="text-decoration: underline;
6797 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
6798   }
6799 
6800   async function removeImage() {
6801     const data = JSON.stringify({
6802       "ID": $("#properties-properties-qrId").val(), 
6803       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6804       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6805       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6806       "Nama Penerima": $("#properties-nama-penerima").val(), 
6807       "Order Number":"",
6808       "Status":"Product", 
6809       "Foto": "", 
6810       "Media": $("#properties-video").val(), 
6811       "Image": "8359546319899"
6812     })
6813     const remove = updateCard(data)
6814     if(remove) {
6815       $(this).hide()
6816       $("#properties-photo").val("-")
6817       $(".placeholder-image").show()
6818       $(".preview-image").attr("src", "")
6819     }
6820   }
6821 
6822   async function removeVideo() {
6823     const data = JSON.stringify({
6824       "ID": $("#properties-properties-qrId").val(), 
6825       "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 
6826       "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 
6827       "Kartu Ucapan": $("[data-properties=ucapan]").val(), 
6828       "Nama Penerima": $("#properties-nama-penerima").val(), 
6829       "Order Number":"",
6830       "Status":"Product", 
6831       "Foto": $("#properties-photo").val(), 
6832       "Media": "", 
6833       "Image": "8359546319899"
6834     })
6835     const remove = updateCard(data)
6836     if(remove) {
6837       $("#properties-video").val("-")
6838       $(this).find("img").hide()
6839       $(this).hide()
6840       $(this).prev("p").text("Add video to make it more special (optional)")
6841       $("#label-input-video").show()
6842       $("#label-input-video span").text("Upload Video")
6843       $(".case-video-preview p span").remove()
6844     }
6845   }
6846 
6847   async function loadItemOccasion(t, occasion) {
6848     const name = occasion?.replace('greeting-card-', '')
6849     $("#kartu-ucapan").val("")
6850     $("[data-occassion]").removeClass("selected")
6851     $("[data-properties=ucapan]").val("")
6852     $("#save-card").attr("disabled", true)
6853     t.addClass("selected")
6854     $("#show_note").attr("data-card-occassion", name)
6855     $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){
6856         const products = data.products
6857         const html = []
6858         for(let i = 0; i < products.length; i++) {
6859             const id = products[i].id
6860             const variantId = products[i].variants[0].id
6861             const img = products[i].images[0].src
6862             const title = products[i].title
6863             const price = products[i].variants[0].price
6864             const qty = products[i].variants[0].inventory_quantity
6865             const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
6866                 <label for="card-${variantId}"></label>
6867                     <div class="card-image">
6868                         <img src="${img}" alt="${title}" width="" height="" />
6869                     </div>
6870                     <div class="card-meta text-center">
6871                         <h5>${title}</h5>
6872                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6873                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
6874                     </div>
6875                 </div>`
6876             html.push(body)
6877         }
6878         const withoutCard = `<div class="item-card item-without-card">
6879                 <label for="card-0"></label>
6880                     <div class="card-image">
6881                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
6882                     </div>
6883                     <div class="card-meta text-center">
6884                         <h5>
6884Send without a greeting card</h5>
6885                         <input id="card-0" type="radio" name="id" value="" data-price="">
6886                     </div>
6887                 </div>`
6888         $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
6889     });
6890   }
6891         
6892   $(document).ready(function(){
6893 
6894     // Observer to auto-trigger addon loading when addon section becomes visible
6895     const addonObserver = new MutationObserver(function(mutations) {
6896       mutations.forEach(function(mutation) {
6897         const target = $(mutation.target)
6898         if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
6899           if(!target.hasClass('hide')) {
6900             // Addon section just became visible, ensure items are loaded
6901             setTimeout(function() {
6902               if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6903                 console.log("Auto-triggering addon load...")
6904                 $("[data-addon=upsell-all]").trigger("click")
6905               }
6906             }, 150)
6907           }
6908         }
6909       })
6910     })
6911     
6912     // Start observing addon section
6913     const addonSection = document.querySelector('.purchaseAddon')
6914     if(addonSection) {
6915       addonObserver.observe(addonSection, { 
6916         attributes: true, 
6917         attributeFilter: ['class'] 
6918       })
6919     }
6920 
6921     $(".purchasePopup").delegate("#addtocart-card", "click", async function(){
6922     
6923     $(this).find("span").addClass("loading")
6924     let isValid = true
6925     $(".formAddressPurchase [required]").each(function(){
6926       const t = $(this)
6927       const input = t.val()
6928       const p = t.parent()
6929       if(input === '') {
6930         p.addClass("error")
6931         isValid = false
6932       }
6933     })
6934 
6935     if(!isValid) {
6936       $(this).find("span").removeClass("loading")
6937       return
6938     }
6939     
6940     let items = []
6941     const mainProps = {
6942       
6943         "Delivery Date": $("#propDeliveryDate").val(),
6944         "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' ,
6945         "Kota Pengiriman": $("#cities").val(),
6946         "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' ,
6947         "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' ,
6948         "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' ,
6949         "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' ,
6950       
6951       
6952         "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' ,
6953         "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' ,
6954         "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' ,
6955         "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' ,
6956         "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' ,
6957       
6958       
6959       "Province": $("#province").val() !== '' ? $("#province").val() : '-' ,
6960       "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' ,
6961       "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' ,
6962       "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' ,
6963       "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
6964       "type": 'product'
6965     }
6966     const props = await propItems()
6967     properties = {...mainProps, ...props };
6968     const id = $("#productSelect").find('option:selected').val()
6969     console.log(id, 'main ID')
6970     const mainItem = {
6971       id: Number(id),
6972       quantity: 1,
6973       properties
6974     }
6975     items.push(mainItem)
6976     const cardId = $("#itemCards").find(".selected input").val()
6977     const cardItem = {
6978       id: Number(cardId),
6979       quantity: 1,
6980       properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
6981     }
6982     console.log(cardId, 'cardId')
6983     if(cardId) {
6984       items.push(cardItem)
6985     }
6986     const addon = await addons()
6987     if(addon) {
6988       for(let i = 0;
6988 i < addon.length; i++){
6989         items.push({
6990           id: addon[i].id,
6991           quantity: addon[i].quantity,
6992           properties: addon[i].properties
6993         })
6994       }
6995     }
6996     const addItems = await additem(items)
6997     console.log(addItems.items, 'add items')
6998     if(addItems) {
6999       $(this).find("span").removeClass("loading")
7000       disablePopup()
7001       showPopupCart(addItems.items)
7002       
7003       localStorage.setItem("items", JSON.stringify(addItems.items))
7004     }
7005   })
7006   
7007   $("#addtocart-cart .btn").click(async function(){
7008     const id = $("#productSelect").find('option:selected').val()
7009     const mainProps = {
7010       id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 
7011       type: 'product'
7012     }
7013     const props = await propItems()
7014     const properties = { ...mainProps, ...props };
7015     const items = {
7016       id: Number(id),
7017       quantity: 1,
7018       properties
7019     }
7020     const addItems = await additem(items)
7021     if(addItems) {
7022       showPopupCart(addItems.items)
7023       localStorage.setItem("items", JSON.stringify(addItems))
7024     }
7025   })
7026 
7027   $(".formAddressPurchase [required]").change(function(){
7028     const t = $(this)
7029     const p = t.parent()
7030     const v = t.val()
7031     if(v !== '') {
7032       p.removeClass("error")
7033     }
7034   })
7035 
7036   $("#save-card").click(async function(){
7037     const parent = $(this).parents(".sectionPurchase")
7038     const next = parent.next(".sectionPurchase")
7039     $(this).find("span").addClass("loading")
7040     const card = await saveCard()
7041     console.log(card, 'ssaveCCC')
7042     if(card?.status === 200 || card?.status === 201) {
7043       $(".scanCard").removeClass("hide")
7044       $(this).find("span").removeClass("loading")
7045       parent.addClass("hide")
7046       next.removeClass("hide")
7047       if(next.hasClass("purchaseAddon")) {
7048         $("[data-addon=upsell-all]").click()
7049         console.log("clarity event addons")
7050         window.clarity("event", `${productType} add-ons`)
7051         // Ensure addon items are loaded when entering addon popup
7052         setTimeout(function() {
7053           if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
7054             $("[data-addon=upsell-all]").trigger("click")
7055           }
7056         }, 100)
7057       }
7058       if(next.hasClass("purchaseAddress")) {
7059         $("#zip").select2()
7060       }
7061     }
7062   })
7063 
7064   $("#skip-card").click(async function(){
7065     $("#greetingCard [data-properties]").val("")
7066     $("#properties-photo").val("")
7067     $("#properties-video").val("")
7068     const parent = $(this).parents(".sectionPurchase")
7069     const next = parent.next(".sectionPurchase")
7070     parent.addClass("hide")
7071     next.removeClass("hide")
7072     // $("#itemCards").html("")
7073     removeImage()
7074     removeVideo()
7075     if(next.hasClass("purchaseAddon")) {
7076       $("[data-addon='upsell-all']").click()
7077       console.log("clarity event addons")
7078       window.clarity("event", `${productType} add-ons`)
7079       // Ensure addon items are loaded when entering addon popup
7080       setTimeout(function() {
7081         if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
7082           $("[data-addon='upsell-all']").trigger("click")
7083         }
7084       }, 100)
7085     }
7086     if(next.hasClass("purchaseAddress")) {
7087       $("#zip").select2()
7088     }
7089   })
7090 
7091   $("#msgCard").click(async function(){
7092       $(this).parent().addClass("loading")
7093       let occasion = $(".selected[data-occassion]").data("occassion")
7094       occasion = occasion?.replace("greeting-card-", "")
7095       const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
7096       const d = data?.data
7097       for(let i = 0; i < d.length; i++) {
7098         const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
7099         const greeting = d[num]?.Greeting
7100         $(".greetingCard textarea").val(greeting)
7101         $(this).parent().removeClass("loading")
7102       }
7103       $("#save-card").attr("disabled", false)
7104     })
7105 
7106   $(".sectionPurchaseBoard .next-purchase-button").click(function(){
7107     const parent = $(this).parents(".sectionPurchase")
7108     const next = parent.next(".sectionPurchase")
7109     parent.addClass("hide")
7110     next.removeClass("hide")
7111   })
7112 
7113   $("#editCard").click(function(){
7114     $(".custom-card").show()
7115     $(".preview-card").hide()
7116   })
7117 
7118   $("#first_name, #last_name").change(function(){
7119     const v = $(this).val()
7120     const first_name = $("#first_name").val()
7121     const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
7122     $("[data-properties=nama-penerima]").val(first_name+last_name)
7123   })
7124 
7125   $("[data-occassion]").click(function(){
7126       const t = $(this)
7127       const p = t.parents(".sectionPurchase")
7128       // $(".greetingCard").addClass("disabled")
7129       const occasion = t.data("occassion")
7130       loadItemOccasion(t, occasion)
7131   })
7132 
7133   $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){
7134       const id = $(this).parent(".item-card").data("id")
7135       const t = $(this).parent(".item-card")
7136       const target = t.find("input")
7137       const v = $('.item-card input[type="radio"]:checked').val();
7138       $("#itemCards .item-card").removeClass("selected")
7139       t.addClass("selected")
7140       $("#itemCards .item-card").find("input").attr("name", "")
7141       if(target.length > 0) {
7142           target.attr("name", "id[]")
7143           $("#properties-card").val(id)
7144           $(".greetingCard").removeClass("disabled")
7145           $("#skip-card").attr("disabled", false)
7146       } else {
7147           $("#properties-card").val("")
7148       }
7149   })
7150 
7151   $("#itemCards").delegate(".item-without-card label", "click", function(){
7152     const parent = $(this).parents(".sectionPurchase")
7153     const next = parent.next(".sectionPurchase")
7154     $(".greetingCard").addClass("disabled")
7155     parent.addClass("hide")
7156     next.removeClass("hide")
7157     $("[data-addon=upsell-all]").click()
7158     $("#zip").select2()
7159   })
7160 
7161   $("[data-properties=ucapan]").keyup(function(){
7162     const v = $(this).val()
7163     const p = $(this).parents(".sectionPurchase")
7164     $(".purchaseAddress").find(".greetingCard textarea").val(v)
7165     if(v.length > 3) {
7166       p.find(".next-purchase-button").attr("disabled", false)
7167     } else {
7168       p.find(".next-purchase-button").attr("disabled", true)
7169     }
7170   })
7171 
7172   $("[data-properties=penerima]").keyup(function(){
7173     const v = $(this).val()
7174     $(".purchaseAddress").find("[data-properties=penerima]").val(v)
7175   })
7176 
7177   $("[data-properties=pengirim]").keyup(function(){
7178     const v = $(this).val()
7179     $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
7180   })
7181 
7182   $(document).click(function(e){
7183 
7184      if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
7185      // $('#popupCart').fadeOut('slow');
7186     // location.reload()
7187   });
7188 
7189   $(".toggleAddonCart").click(function(){
7190     const p = $(this).parent(".itemAddonCart")
7191     p.toggleClass("open")
7192   })
7193 
7194   $(".btnViewCart").click(function(){
7195     window.location.href = "https://outerbloom.com/cart";
7196   })
7197 
7198   $(".btnViewCheckout").click(async function(){
7199     $(this).find("span").addClass("loading")
7200     let zip = $("#zip").val()
7201     const first_name = $("#first_name").val()
7202     const last_name = $("#last_name").val()
7203     const company = $("#company").val() !== '' ? $("#company").val() : ''
7204     const address1 = $("#delivery_address").val()
7205     const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
7206     zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
7207     const phone = $("#recipient_number").val()
7208     const city = $("#cities").val()
7209     const province = $("#province").val()
7210     const country = 'Indonesia'
7211     const ver = Date.parse(new Date())
7212     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}`
7213 
7214     const clear = await fetch(`/cart/clear.js`, {method: 'POST'})
7215     if(clear.status === 200) {
7216       const savedItem = window.localStorage.getItem("items");
7217       const items = JSON.parse(savedItem)
7218       const addItems = await additem(items)
7219       console.log(addItems, 'new addItems')
7220       if(addItems) {
7221         window.location.href = `https://outerbloom.com/checkout?${params}`;
7222       }
7223     }
7224   })
7225 
7226   $(".btnContinueShopping").click(function(){
7227     window.location.href = "https://outerbloom.com/";
7228   })
7229 
7230     if (isIOS) {
7231       $(".empty-state-card").click(function(){
7232         $("#input-foto").trigger("click")
7233       })
7234       $(".btn-upload-image").click(function(){
7235         $("#input-foto").trigger("click")
7236       })
7237       $("[for=input-video]").click(function(){
7238         $("#input-video").trigger("click")
7239       })
7240       $(".btn-upload-papan").click(function(){
7241         $("#logoPapan").trigger("click")
7242       })
7243     }
7244   
7245     $("[data-properties]").each(function(){
7246       const select = $(this).parents(".form-group").find("select")
7247       $(this).change(function(){
7248         const name = $(this).data("properties")
7249         const v = $(this).val()
7250         if (name == 'telepon-penerima') {
7251           let phone = v.replace(/[^0-9]/g, '')
7252           $(this).val(phone);
7253           $("#properties-telepon-penerima").val(phone)
7254           $('.iti__search-input').val('-') 
7255         } else {
7256           $("#properties-" + name).val(v)
7257         }
7258       })
7259       select.on("change", function(){
7260         const name = $(this).data("properties")
7261         const v = $(this).val()
7262         $("#properties-" + name).val(v)
7263       })
7264     })
7265 
7266     $("#show_note").click(function(){
7267       nameq = $("#properties-nama-penerima").val()
7268       dear = $("#properties-kartu-nama-penerima").val()
7269       card = $("[data-properties=ucapan]").val()
7270       sender = $("#properties-kartu-nama-pengirim").val()
7271       photo = $("#properties-photo").val()
7272       video = $("#properties-video").val()
7273       updateCard(nameq, dear, card, sender, photo, video, status)
7274     })
7275 
7276     $(".remove-image").click(function(e){
7277       e.preventDefault()
7278       $(this).find("img").show()
7279       removeImage()
7280     })
7281 
7282     $(".remove-media").click(function(e){
7283       e.preventDefault()
7284       $(this).find("img").show()
7285       removeVideo()
7286     })
7287 
7288     
7289 
7290     $("[data-delivery_method]").click(function(e){
7291       e.preventDefault()
7292       const t = $(this)
7293       const data = t.data("delivery_method")
7294       $("[data-delivery_method]").removeClass("selected")
7295       t.addClass("selected")
7296       $("#cities").val("")
7297       $("#properties-delivery-date").val("-")
7298       $("#deliveryDate button").removeClass("selected")
7299       $("#full-date").val("Full Calendar →")
7300       $("#propDeliveryDate").val("")
7301       const step3 = $("#step-3")
7302       if(data.match('PickUp')) {
7303         $(".selfpickup-point").show()
7304         step3.find("[data-finished=false]").hide()
7305         $("#panel-4").hide()
7306         step3.find("[data-finished=true]").show()
7307         $("#cities").attr("required", false)
7308         $("#form-group-city").hide()
7309         $("#row-delivery-time").hide()
7310         $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
7311         $("#propDeliveryTime").attr("required", false)
7312         // $("#deliveryDate").find("button:first-child").addClass("stop")
7313         $(".form-selfpickup").show()
7314         $(".form-delivery").hide()
7315         $(".form-delivery").find("input, textarea, select").val("")
7316         $(".form-delivery").find("input, textarea, select").attr("required", false)
7317         $("#properties-shipping").val("0")
7318         $("#noteDeliveryDate").hide()
7319         $(".form-delivery .form-control").attr("required", false)
7320         $("#stepNav4").hide()
7321         
7322         $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
7323         
7324         
7325         
7326         if(timeOfDay >= 16.01){
7327           $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
7328         }
7329       } else {
7330         
7331         
7332         $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
7333         step3.find("[data-finished=false]").show()
7334         $("#panel-4").show()
7335         step3.find("[data-finished=true]").hide()
7336         $("#cities").attr("required", true)
7337         $(".selfpickup-point").hide()
7338         $("#form-group-city").show()
7339         $("#cities").val('').trigger('change');
7340         $("#properties-kota-pengiriman").val("-")
7341         
7342         $("#row-delivery-date, #row-delivery-time").show()
7343         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
7344         $("#deliveryDate").find("button").removeClass("stop")
7345         $(".form-selfpickup").hide()
7346         $(".form-delivery").show()
7347         $(".form-delivery").find("input, textarea, select").attr("required", true)
7348         $(".form-delivery [data-properties]").attr("readonly", false)
7349         $("#properties-kodepos").val("-")
7350         $("#properties-alamat-penerima").val("-")
7351         $(".form-delivery .form-control").attr("required", true)
7352         $(this).parents(".setup-content").attr("id", "step-1")
7353         
7354         $("#stepNav4").show()
7355       }
7356     })
7357 
7358     $("[name=selfpickup]").click(function(){
7359         const p = $(this).parents(".row-pickup")
7360         const pickupCity = $("input[name='selfpickup']:checked").val();
7361         const pickupAddress = $("input[name='selfpickup']:checked").data("address");
7362         const pickupZip = $("input[name='selfpickup']:checked").data("zip");
7363 
7364         $(".row-pickup").removeClass("selected")
7365         p.addClass("selected")
7366         
7367         $("#properties-kota-pengiriman").val(pickupCity)
7368         $("#province").val("Jakarta")
7369         $("#properties-alamat-penerima").val(pickupAddress)
7370         $("#properties-kodepos").val(pickupZip)
7371     })
7372 
7373     $("#cities").change(function(e){
7374       e.preventDefault()
7375       $(this).parent(".row").find("p.error").remove()
7376       $("#full-date").val("Full Calendar")
7377       $("#deliveryDate, #deliveryDateFull label ").show()
7378       $("#deliveryDateFull").removeClass("filled")
7379       $(".btnChangeDeliveryDate").addClass("hide")
7380       $("#full-date").prop('disabled', false);
7381       $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
7382       $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
7383       const step3 = $("#step-3")
7384       $("#cityNote").remove()
7385       $("#noteDeliveryDate").hide()
7386       $("#noteDeliveryDate").empty()
7387       let v = $(this).val()
7388       let v2 = $('option:selected', this).attr('data-city');
7389       let v3 = $('option:selected', this).attr('data-province');
7390       let price = $('option:selected', this).attr('data-price');
7391       $("#country").val(v)
7392       $("#properties-kota-pengiriman").val(v)
7393       $("#properties-shipping").val(price)
7394       $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
7395       $("#properties-delivery-date, #properties-delivery-time").val("-")
7396       $("#propDeliveryDate, #propDeliveryTime").val("")
7397       let note = $('option:selected', this).attr('data-note');
7398       if(v === 'Kota Lainnya') {
7399         $("#noteDeliveryDate").show()
7400         $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
7401         $("#zip").attr("required", false)
7402         $("#zip").hide()
7403         $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
7404         $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
7405         $("#row-delivery-date, #row-delivery-time").hide()
7406         $("#properties-shipping").val("")
7407         // $(this).parents(".setup-content").attr("id", "step-2")
7408         
7409       } else {
7410         $("#noteDeliveryDate").hide()
7411         $("#zip").attr("required", true)
7412         $("#zip").show()
7413         $("#row-delivery-date, #row-delivery-time").show()
7414         $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
7415         $("#deliveryDate").find("button").removeClass("stop")
7416         // $(this).parents(".setup-content").attr("id", "step-1")
7417         
7418       }
7419       
7420       
7421       
7422       // if(v !== 'Jakarta') {
7423       //   $("[data-type=upsell]").hide()
7424       // } else {
7425       //   $("[data-type=upsell]").show()
7426       // }
7427       // $('.collection-addons')[0].swiper.update();
7428       
7429       
7430       getProvince(v)
7431       $("#zip").html(`<option value="">Choose Postal Code</option>`)
7432       renderZip(v, v2, v3)
7433       
7434       disabledSameDay()
7435       
7436 
7437       if(v !== 'Jakarta' && v !== 'Deli' && v !== 'Bekasi' && v !== 'Tangerang') {
7438         
7439         $("#cardOccasion, #navAddon, .collection-addons").hide()
7440         
7441         $("[data-addon=giftcard]").show()
7442         $("[data-addon=giftcard]").click()
7443         $("#itemAddons").show()
7444         $("#flower-step").addClass("nonjadetabek")
7445       } else {
7446         $("#cardOccasion, #navAddon, .collection-addons").show()
7447         $("[data-addon=all]").click()
7448         $("#flower-step").removeClass("nonjadetabek")
7449       }
7450       
7451         if(v !== '') {
7452           $("#personalizeBtn .btn").attr("disabled", false)
7453         } else {
7454           $("#personalizeBtn .btn").attr("disabled", true)
7455         }
7456       
7457     })
7458 
7459     $("#zip").change(function(e){
7460       let v = $(this).val()
7461       var city = $("#cities").find('option:selected');
7462       $("#properties-kodepos").val(v)
7463       if(city === 'Kota Lainnya') {
7464         $(this).attr("required", true)
7465         $("#recipient-address").val("")
7466       }
7467     })
7468 
7469     
7470       var minDate = +7
7471       
7472     
7473 
7474     $("#full-date").datepicker({
7475       minDate,
7476       dateFormat: 'Mdd_yy', //Nop22_2021,
7477       
7478       beforeShowDay: disabledays,
7479       
7480       onSelect: function (date) {
7481         $("#deliveryDate, #deliveryDateFull label ").hide()
7482         $("#deliveryDateFull").addClass("filled")
7483         $(".btnChangeDeliveryDate").removeClass("hide")
7484         $("#full-date").prop('disabled', true);
7485         $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date);
7486         $(".date-full").addClass("selected")
7487         $(".date-single, .calendar-group").removeClass("selected")
7488         $("#propDeliveryTime").val('')
7489         $("#properties-delivery-time").val('-')
7490         $(".time-single").removeClass("selected")
7491         
7492         
7493       }
7494     });
7495 
7496     $(".btnChangeDeliveryDate").click(function(){
7497         $("#deliveryDate, #deliveryDateFull label ").show()
7498         $("#deliveryDateFull").removeClass("filled")
7499         $(".btnChangeDeliveryDate").addClass("hide")
7500         $("#full-date").prop('disabled', false);
7501     })
7502   
7503     $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){
7504       e.preventDefault()
7505       $(this).parents("#row-delivery-date").find("p.error").remove()
7506       const fulldate = $(this).data("fulldate")
7507       const day = $(this).data("day")
7508       const date = $(this).data("date")
7509       const month = $(this).data("month")
7510       const year = $(this).data("year")
7511       const off_pagi = $(this).data("offpagi")
7512       const off_siang = $(this).data("offsiang")
7513       const off_Malam = $(this).data("offMalam")
7514       $(".calendarbutton").removeClass("selected")
7515       $(this).addClass("selected")
7516       $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
7517       $("#propDeliveryTime").val('')
7518       $("#properties-delivery-time").val('-')
7519       $(".calendarbutton2").removeClass("selected")
7520       $("#full-date").val("Full Calendar")
7521 
7522       
7523       if(off_pagi && timeOfDay > off_pagi) {
7524         $("[data-time=Morning]").attr("disabled", true)
7525       } else {
7526         $("[data-time=Morning]").attr("disabled", false)
7527       }
7528       if(off_siang && timeOfDay > off_siang) {
7529         $("[data-time=Afternoon]").attr("disabled", true)
7530       } else {
7531         $("[data-time=Afternoon]").attr("disabled", false)
7532       }
7533       
7534 
7535       
7536     })
7537     
7538     if(today === 14 && timeOfDay > 17.00) {
7539       $("#deliveryDate button:first-child").attr("disabled", true)
7540     }
7541   
7542     $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){
7543       e.preventDefault()
7544       const time = $(this).data("time")
7545       const date = $("#propDeliveryDate").val()
7546       if(date == '') {
7547         return alert('Silakan pilih tanggal terlebih dahulu')
7548       }
7549       $(".calendarbutton2").removeClass("selected")
7550       $(this).addClass("selected")
7551       $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`)
7552     })
7553       
7554     $('textarea.has-limit, input.has-limit').keyup(function () {
7555       max = this.getAttribute("maxlength");
7556       let len = $(this).val().length;
7557       let limit = $(this).siblings(".limit");
7558       if (len > max) {
7559         alert('you have reached the limit');
7560       } else {
7561         limit.text(`${len}/${max}`);
7562       }
7563     });
7564     
7565     $("#button-action-step .btn").click(function(){
7566       $(this).find("span").text("Processing...");
7567     });
7568 
7569     $(".finishBtn").on('click', function() {
7570       $(this).addClass("is-adding");
7571       // $(this).click();
7572     });
7573 
7574     $('.setup-panel .nav-item a.btn-success').trigger('click');
7575 
7576     $("#button-action .btn").click(function(){
7577       $("#flower-step").addClass("block");
7578       $("#button-action").hide();
7579     });
7580         
7581     $(".close-how-order").click(function(){
7582       $("#flower-step").removeClass("block");
7583       $("#button-action").show();
7584     });
7585 
7586     $("#input-foto, #input-video").change(function(e){
7587       readURL(this);
7588     });
7589 
7590     $("#logoPapan").change(function(){
7591       readURLPapan(this);
7592     });
7593 
7594     $("#address-upload").change(async function(){
7595       const upload_address = await readURLAddress(this)
7596       if(upload_address) {
7597         const url = upload_address.url
7598         $(".props-address-upload").val(url)
7599         $(".form-address").addClass("address-uploaded")
7600         $(".form-address-upload").addClass("uploaded")
7601 
7602         $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
7603       }
7604     })
7605 
7606     $(".address-manualy").click(function(){
7607       $(".form-address-upload").removeClass("uploaded");
7608       $(".photo-address").hide();
7609       $(".form-address").removeClass("address-uploaded")
7610       $("#formAddressPurchase").find(".form-control").attr("required", true)
7611     });
7612 
7613     $(".case-video-preview").delegate(".replace-video", "click", function(){
7614       $("#input-video").trigger("click")
7615     })
7616 
7617     $('.date-single').click(function(e) {
7618       e.preventDefault();
7619       $('.date-single').removeClass('selected');
7620       $('#full-date').removeClass('selected');
7621       $(this).addClass('selected');
7622       $('#full-date').html('Full' + '<br/>' + 'Calendar');
7623     });
7624     $('#full-date').click(function(e){
7625       e.preventDefault();
7626       $('.date-single').removeClass('selected');
7627       $(this).addClass('selected');
7628     });
7629     
7630     // $("tr").each(function(){
7631     //   if($(this).text().match('SKU')) {
7632     //     $(".sku-product").html($(this).parents("table").html())
7633     //   }
7634     // })
7635     
7636     $("#product-image").scroll(function(){
7637       $(".desc-add").each(function(){
7638         const img = $(this).find("img")
7639         const src = img.data("src")
7640         img.attr("src", src)
7641       })
7642     })
7643 
7644     $(".product-fixed").hide()
7645     
7646     let target = $("#personalizeBtn")
7647     
7648 
7649     $(".product-meta").scroll(function() {
7650         if ($(window).scrollTop() >= target.offset().top ) {
7651             $(".product-fixed").addClass("show")
7652         } else {
7653           $(".product-fixed").removeClass("show")
7654         }
7655     });
7656 
7657     $(window).scroll(function() {
7658         if ($(window).scrollTop() >= target.offset().top ) {
7659             $(".product-fixed").addClass("show")
7660         } else {
7661           $(".product-fixed").removeClass("show")
7662         }
7663     });
7664   });
7665 </script>
7665
7666 
7667   
7667<script>
7668     //
7669   </script>
7669
7670 
7671 
7671<script>
7672   $(document).ready(function(){
7673     $('table tr td').each(function(){
7674       var texto = $(this).text();
7675       var nextto = $(this).next("td");
7676       var sku = $("#data-sku").val()
7677       if(texto == 'SKU'){
7678         nextto.text(sku)
7679       }
7680     });
7681     
7682     $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
7683     $(".stamped-summary-actions-newreview").text("Tulis Review");
7684     $("#tab-questions").text("Pertanyaan");
7685     
7686     $(".freeship .icon").click(function(){
7687       $(".fs-content").slideToggle();
7688       $(this).parents(".freeship").toggleClass("expand");
7689     });
7690     $('#playerID').click(function(){
7691       var videoURL = $('#VdoID').attr('src'),
7692           dataplay = $('#VdoID').attr('data-play');
7693 
7694       //for check autoplay
7695       //if not set autoplay=1
7696       if(dataplay == 0 ){
7697         $('#VdoID').attr('src',videoURL+'?autoplay=1');
7698         $('#VdoID').attr('data-play',1);
7699       }
7700       else{
7701         var videoURL = $('#VdoID').attr('src');
7702         videoURL = videoURL.replace("?autoplay=1", "");
7703         $('#VdoID').prop('src','');
7704         $('#VdoID').prop('src',videoURL);
7705 
7706         $('#VdoID').attr('data-play',0);
7707       }
7708 
7709     });
7710     
7711     $(".product-photo-thumb-video").click(function(e){
7712       e.preventDefault();
7713 
7714       var newEmbed = $(this).attr('href');
7715       $("#featured-image-product").addClass("img-video");
7716       $("#ProductPhotoImg").hide();
7717       $("#featured-image-product .video").show();
7718       $("#featured-image-product iframe").attr('src', newEmbed);
7719       $("#VdoID")[0].src += "&autoplay=1";
7720     });
7721     $(".product-single__thumbnail").click(function(evt){
7722       evt.preventDefault();
7723       $("#featured-image-product").removeClass("img-video");
7724       $("#ProductPhotoImg").show();
7725       $("#featured-image-product .video").hide();
7726       $("#featured-image-product iframe").attr('src', '');
7727     });
7728     
7729     if($('#product-meta .short-desc > div').length >= 1){
7730       //console.log('div detected')
7731       var replacer = $('#product-meta .short-desc > div').contents();
7732       $('#product-meta .short-desc > div').replaceWith(replacer);
7733 
7734       var cAssured =  $('.c-assured').detach();
7735       cAssured.insertAfter('.meta-sds .stock-info');
7736     }
7737 
7738     
7739     
7740     $(".heading-toggle").click(function(){
7741       $(this).parent().toggleClass("open")
7742       
7743     });
7744   });
7745 </script>
7745
7746 
7747 
7748   
7748<script type="application/json" id="ProductJson-Product">
7749         
7750         {"id":8359546319899,"title":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSitus PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026."}
7751   </script>
7751
7752   
7753     
7753<script type="application/json" id="VariantJson-Product">
7754       [
7755         
7756           {
7757              "incoming": false,
7758              "next_incoming_date": null
7759           }
7760         
7761       ]
7762     </script>
7762
7763   
7764 
7765 
7766 
7767 </div>
7768 
7769 
7770 
7770<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7770
7771 <style>
7772     .stamped-review-header-title,
7773     .stamped-review-header .author,
7774     .stamped-review-content-body,
7775     .stamped-sort-select,
7776     .stamped-review-header .verified-badge[data-type=buyer]:after,
7777     .stamped-review-header-byline,
7778     .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;}
7779     .stamped-review {margin-bottom: 0;}
7780     .stamped-review-body {padding-left: 65px;}
7781     .stamped-review:first-child {padding-top: 25px;}
7782     .stamped-review-content {clear: none;}
7783     .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;}
7784     .stamped-review-reply-body {padding-left: 65px;}
7785     .stamped-review-header .author {text-transform: capitalize;}
7786     .stamped-questions .stamped-review-content {padding-left: 65px;}
7787 
7788     .stamped-pagination {margin: 20px 0 0;}
7789     .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;}
7790     .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;}
7791     .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;}
7792     .stamped-pagination li:hover a {background: #ddd;}
7793     .stamped-pagination .next {border-right: 1px solid #ccc;}
7794     .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;}
7795     .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;}
7796 
7797     #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;}
7798     #stamped-pagination-question span {font-size: 14px;}
7799     #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;}
7800     #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;}
7801     .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;}
7802     .stamped-pagination-prev, .stamped-pagination-next {position: inherit;}
7803     .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;}
7804 
7805     @media (max-width: 480px){
7806       .stamped-review-reply {margin-left: 0!important;}
7807       select.stamped-sort-select {font-size: 13px!important;}
7808     }
7809 
7810   #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content {
7811       display: block !important;
7812   }
7813 </style>
7814 
7814<script>
7815     var selectCallback = function(variant, selector) {
7816       timber.productPage({
7817         money_format: "Rp {{amount_no_decimals}}",
7818         variant: variant,
7819         selector: selector
7820       });
7821     };
7822 
7823     jQuery(function($) {
7824       new Shopify.OptionSelectors('productSelect', {
7825         product:
7826 
7827 
7828 
7829 
7830 
7831 {"id":8359546319899,"title":"Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSitus PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026."},
7832         onVariantSelected: selectCallback,
7833         enableHistoryState: true
7834       });
7835 
7836       // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
7837       
7838 
7839       // Hide selectors if we only have 1 variant and its title contains 'Default'.
7840       
7841         $('.selector-wrapper').hide();
7842       
7843     });
7844 </script>
7844
7845 
7846 
7847 
7848   
7848<script type="application/ld+json">
7849     {
7850     "@context": "http://schema.org",
7851     "@type": "Product",
7852 "offers": {
7853 "@type": "Offer",
7854 "availability":"https://schema.org/InStock",
7855 "price": 835000,
7856 "priceValidUntil": "05-10-2025",
7857 "priceCurrency": "IDR",
7858 "url": "https://www.hfmagazineonline.com/category/entertainment/"
7859 },
7860 "brand": {
7861 "@type": "Brand",
7862 "name": "PERMATA123"
7863 },
7864 "sku": "8359546319899",
7865 "gtin13": "Jawa",
7866 "name": "Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026",
7867 "description": "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.",
7868 "category": "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.",
7869 "url": "https://www.hfmagazineonline.com/category/entertainment/",
7870 "image": {
7871 "@type": "ImageObject",
7872 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7873 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
7874 "name": "Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026",
7875 "width": 1024,
7876 "height": 1024
7877 }
7878     }
7879   </script>
7879
7880 
7881 
7882 
7883 
7884         
7885 
7885<script id="bss-ltap-hide-price" type="text/javascript" >
7886 !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)}))}
7886)),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)}
7886)),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()}
7886if("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)}
7886if(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");
7886c&&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
7886-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");
7886i&&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
7886--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
7886opify.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");
7886e.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=
7886o.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");
7886if(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();
7886let 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()}]);
7887 </script>
7887
7888 
7889       </main>
7890       
7891       <div id="shopify-section-newsletter" class="shopify-section"><br>
7892   <style>
7893     #shopify-section-newsletter {
7894       background: url(https://www.hfmagazineonline.com/image/media-login-cepat-aman.webp);
7895       background-attachment: fixed;
7896       margin-bottom: 0;
7897     }
7898     input:-webkit-autofill,
7899     input:-webkit-autofill:hover,
7900     input:-webkit-autofill:active,
7901     input:-webkit-autofill:focus {
7902       -webkit-box-shadow:0 0 0 50px white inset;
7903       -webkit-text-fill-color: #ffffff;
7904     }
7905     .section-newsletter {
7906       max-width: 800px;
7907       margin: auto;
7908       padding: 50px 0;
7909     }
7910     .section-newsletter h2 {
7911       font-weight: 700;
7912       font-size: 24px;
7913     }
7914     .section-newsletter input[type="email"] {
7915       width: 100%;
7916       text-align: center;
7917       border: none;
7918       border-bottom: 1px solid #ffffff;
7919       font-size: 16px;
7920       color: #757575;
7921       background-color: #eeeeee;
7922     }
7923     .section-newsletter .row label {
7924       font-size: 14px;
7925       cursor: pointer;
7926     }
7927     .section-newsletter .radio-inline input {
7928       width: auto;
7929     }
7930     .section-newsletter .btn {
7931       width: 130px;
7932       border: 1px solid #ffffff;
7933       box-shadow: none;
7934       font-size: 16px;
7935       font-weight: 500;
7936       text-transform: uppercase;
7937     }
7938     .section-newsletter form {
7939       margin: 30px 0 60px;
7940     }
7941     .section-newsletter input[type="radio"] {
7942       position: absolute;
7943       width: 1px;
7944       height: 1px;
7945     }
7946     .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label {
7947       position: relative;
7948       padding-left: 28px;
7949       cursor: pointer;
7950       line-height: 20px;
7951       display: inline-block;
7952       color: #666;
7953     }
7954     .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before {
7955       content: '';
7956       position: absolute;
7957       left: 0;
7958       top: 0;
7959       width: 18px;
7960       height: 18px;
7961       border: 1px solid #ddd;
7962       border-radius: 100%;
7963       background: #fff;
7964     }
7965     .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after {
7966       content: '';
7967       width: 12px;
7968       height: 12px;
7969       background: #ffffff;
7970       position: absolute;
7971       top: 3px;
7972       left: 3px;
7973       border-radius: 100%;
7974       -webkit-transition: all 0.2s ease;
7975       transition: all 0.2s ease;
7976     }
7977     .section-newsletter [type="radio"]:not(:checked) + label:after {
7978       opacity: 0;
7979       -webkit-transform: scale(0);
7980       transform: scale(0);
7981     }
7982     .opt-newsletter {display:none;}
7983     .footer-newsletter p, .footer-newsletter p a {
7984       color: #757575;
7985     }
7986     @media (max-width:991px){
7987       .section-newsletter h2 {
7988         font-size: 32px;
7989       }
7990       .section-newsletter input {
7991         width: 300px;
7992         font-size: 14px;
7993       }
7994       .section-newsletter {
7995         padding: 50px 20px;
7996       }
7997     }
7998     @media (max-width: 480px){
7999       .section-newsletter input[type="email"] {font-size: 16px;}
8000     }
8001   </style>
8002  
8003 
8004 <!-- wp:html -->
8005  
8005<script>
8006         document.addEventListener('DOMContentLoaded',
8007             function(){const faqItems=document.querySelectorAll('.faq-item');
8008             faqItems.forEach(item=>{const question=item.querySelector('.faq-question');
8009             question.addEventListener('click',
8010             ()=>{const isActive=item.classList.contains('active');
8011             faqItems.forEach(otherItem=>{otherItem.classList.remove('active')});
8012             if(!isActive){item.classList.add('active')}})})});
8013         </script>
8013
8014 
8015 
8016            <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
8017             </div>
8018             <section class="fx-video-bg">
8019  <video autoplay muted loop playsinline>
8020    <source src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" type="video/mp4">
8021  </video>
8022
8023  <div class="fx-article-wrap">
8024    <article class="fx-article">
8025      <section class="clean-container">
8026  <div class="clean-wrap">
8027<h1 class="clean-title">
8028
8029<h1>
8030    Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026
8031</h1>
8032
8033<div class="clean-divider"></div>
8034
8035<div class="clean-article">
8036
8037<p>
8038Memilih media login game online yang tepat sering kali menjadi pertimbangan penting bagi banyak orang. Bukan hanya soal tampilan, tetapi juga kecepatan akses, rasa aman saat masuk akun, serta kemudahan menemukan jalur masuk alternatif jika halaman utama sedang mengalami gangguan. Hal-hal sederhana seperti ini justru paling sering menentukan kenyamanan dalam jangka panjang.
8039</p>
8040
8041<p>
8042PERMATA123 hadir sebagai media penghubung yang mengutamakan kecepatan dan keamanan di tahun 2026. Tampilan dibuat lebih ringan namun tetap modern agar proses masuk akun terasa ringkas dan berkelas, sementara sistem keamanan dirancang untuk memberikan rasa tenang setiap kali pengguna membuka halaman.
8043</p>
8044
8045<h2><strong>Login Lebih Cepat Tanpa Perlu Menunggu Lama</strong></h2>
8046
8047<p>
8048Salah satu yang paling diharapkan dari sebuah media akses login adalah proses masuk yang tidak bertele-tele. Pengguna ingin langsung bisa mengakses dan menikmati hiburan tanpa harus melewati banyak tahapan yang menyulitkan atau menunggu loading yang terlalu lama.
8049</p>
8050
8051<p>
8052Di PERMATA123, halaman login disusun agar tetap sederhana. Setelah data akun dimasukkan, akses biasanya langsung terbuka sehingga pengguna bisa segera melanjutkan aktivitas mengisi saldo akun, melihat riyawat permainan serta menikmati hiburan tanpa hambatan yang berarti.
8053</p>
8054
8055<h2><strong>Link Alternatif yang Siap Digunakan 24 Jam</strong></h2>
8056
8057<p>
8058Meski sudah mendukung teknologi digital canggih, tidak jarang halaman utama sempat sulit dibuka karena berbagai alasan seperti maintenance rutin hingga gangguan  provider. Situasi seperti ini biasanya membuat pengguna mencari cara lain agar tetap bisa masuk ke akun dan menikmati hiburan.
8059</p>
8060
8061<p>
8062PERMATA123 menyediakan link alternatif yang stabil sepanjang hari. Pengguna bisa beralih ke jalur masuk lain tanpa harus membuat akun baru atau kehilangan data yang sudah ada. Semua tetap terhubung ke akun yang sama tanpa ada yang berubah sedikitpun.
8063</p>
8064
8065<h2><strong>Akses Tetap Nyaman di Berbagai Perangkat</strong></h2>
8066
8067<p>
8068Sebagian orang lebih sering membuka media login lewat ponsel, sementara yang lain terbiasa menggunakan komputer. Keduanya tetap didukung dengan baik. PERMATA123 menyempurkan sistem akses yang dimiliki agar dapat responsif dengan tampilan layar apapun.
8069</p>
8070
8071<p>
8072Dengan teknologi yang sensitive menjadikan menu login semakin mudah, perpindahan antar perangkat tidak menjadi hambatan lagi. Cukup akses link alternatif pada divice yang ingin digunakan, kemudian langsung login akun dan mainkan.
8073</p>
8074
8075<h2><strong>Konsistensi yang Membuat Pengguna Betah</strong></h2>
8076
8077<p>
8078Banyak pengguna mengakui dan bertahan pada satu media login karena sudah merasa nyaman. Mereka tahu harus mengunjungi situs mana ketika ingin mendapatkan hiburan berkelas, bagaimana cara beralih ke link alternatif, dan merasa data akunnya cukup terlindungi.
8079</p>
8080
8081<p>
8082Situs PERMATA123 mencoba mempertahankan konsistensi tersebut. Proses login tetap cepat, sistem keamanan dijaga dengan baik, dan yang paling penting link alternatif selalu siap digunakan kapan saja dibutuhkan.
8083</p>
8084
8085<h2><strong>Pilihan yang Lebih Tenang di Tahun 2026</strong></h2>
8086
8087<p>
8088Di tengah banyaknya pilihan yang muncul, pengguna cenderung memilih media penghubung hiburan yang sudah terbukti memberikan pengalaman stabil. Bukan hanya soal kecepatan, tetapi juga rasa aman dan kemudahan saat akses utama sedang terganggu.
8089</p>
8090
8091<p>
8092Dengan mengutamakan login yang cepat, sistem keamanan yang lebih baik, serta link alternatif yang aktif 24 jam, PERMATA123 berusaha menjadi pilihan terbaik dan terpercaya bagi penggunanya hingga saat ini.
8093</p>
8094
8095    <p>👉 <span style="font-weight: bold;
8096             background: linear-gradient(to bottom, #fff3b0 0%, #d4af37 50%, #8b6b00 100%);
8097             -webkit-background-clip: text;
8098             -webkit-text-fill-color: transparent;
8099             text-shadow: 0 1px 3px rgba(0,0,0,0.5);">
8100        <a href="https://media-hfmagazineonline.seo123788.workers.dev/"
8101           style="color:#d4af37;
8102                  text-decoration:none;
8103                  text-shadow:
8104                      0 0 8px rgba(255,215,0,0.55),
8105                      0 0 16px rgba(212,175,55,0.35);">
8106            [Klik di Sini untuk Dapatkan Media Login Link Alternatif Terpercaya Situs PE
8106RMATA123]
8107        </a>
8108    </span></p>
8109
8110</div>
8111
8112</div>
8113
8114    </div>
8115    
8116<section class="neo-block faq-box" id="faq">
8117  <div class="neo-title">
8118    <span class="neo-dot"></span>
8119    <span>FAQ Situs PERMATA123 | Media Login Paling Cepat & Aman Tahun 2026</span>
8120  </div>
8121
8122  <div class="neo-faq" id="neo-faq-container"></div>
8123</section>
8124<!-- Wrapper Unik (ID ini memastikan style tidak bocor keluar) -->
8125<div id="PERMATA123-reviews">
8126    <style>
8127        /* Menggunakan #PERMATA123-reviews sebagai prefix agar aman */
8128        #PERMATA123-reviews .review-section {
8129    max-width: 1000px;
8130    margin: 40px auto;
8131    padding: 30px;
8132    background: #000;
8133    border-radius: 20px;
8134    border: 2px solid #d4af37;
8135    box-shadow:
8136        0 0 12px rgba(212, 175, 55, 0.25),
8137        0 0 28px rgba(255, 215, 0, 0.12);
8138    font-family: sans-serif;
8139    box-sizing: border-box;
8140}
8141/* BOX UTAMA FAQ */
8142.faq-box {
8143  position: relative;
8144  z-index: 3;
8145  width: calc(100% - 64px);
8146  max-width: 1120px;
8147  margin: 28px auto 40px;
8148  padding: 26px 22px 24px;
8149  box-sizing: border-box;
8150  overflow: hidden;
8151
8152  background: linear-gradient(
8153    180deg,
8154    rgba(33, 27, 13, 0.97),
8155    rgba(8, 8, 8, 0.98)
8156  );
8157
8158  border: 1px solid rgba(255, 215, 0, 0.75);
8159  border-radius: 22px;
8160
8161  box-shadow:
8162    inset 0 0 0 1px rgba(255, 193, 7, 0.12),
8163    0 12px 34px rgba(0, 0, 0, 0.6),
8164    0 0 22px rgba(255, 215, 0, 0.12);
8165}
8166
8167/* JUDUL FAQ */
8168.faq-box .neo-title {
8169  display: flex;
8170  align-items: center;
8171  gap: 8px;
8172  margin: 0 0 14px;
8173  padding: 0 4px;
8174
8175  color: #ffffff;
8176  font-size: 14px;
8177  font-weight: 800;
8178  line-height: 1.5;
8179  text-transform: uppercase;
8180}
8181
8182.faq-box .neo-dot {
8183  width: 9px;
8184  height: 9px;
8185  flex: 0 0 9px;
8186  border-radius: 50%;
8187  background: #ffd700;
8188  box-shadow: 0 0 10px rgba(255, 215, 0, 0.9);
8189}
8190
8191/* DAFTAR FAQ */
8192.faq-box .neo-list {
8193  display: grid;
8194  gap: 10px;
8195}
8196
8197/* SETIAP ITEM */
8198.faq-box .neo-item {
8199  width: 100%;
8200  margin: 0;
8201  box-sizing: border-box;
8202  overflow: hidden;
8203
8204  background: linear-gradient(
8205    90deg,
8206    rgba(31, 31, 31, 0.98),
8207    rgba(4, 4, 4, 0.98)
8208  );
8209
8210  border: 1px solid rgba(255, 215, 0, 0.55);
8211  border-radius: 16px;
8212
8213  box-shadow:
8214    inset 0 0 12px rgba(255, 215, 0, 0.04),
8215    0 4px 12px rgba(0, 0, 0, 0.4);
8216}
8217
8218/* PERTANYAAN */
8219.faq-box .neo-item summary {
8220  position: relative;
8221  display: flex;
8222  align-items: center;
8223  min-height: 52px;
8224  padding: 14px 64px 14px 16px;
8225  box-sizing: border-box;
8226
8227  color: #ffffff;
8228  font-size: 14px;
8229  font-weight: 800;
8230  line-height: 1.45;
8231
8232  cursor: pointer;
8233  list-style: none;
8234  user-select: none;
8235}
8236
8237.faq-box .neo-item summary::-webkit-details-marker {
8238  display: none;
8239}
8240
8241/* TOMBOL PLUS */
8242.faq-box .neo-item summary::after {
8243  content: "+";
8244  position: absolute;
8245  top: 50%;
8246  right: 14px;
8247  width: 32px;
8248  height: 32px;
8249
8250  display: flex;
8251  align-items: center;
8252  justify-content: center;
8253
8254  transform: translateY(-50%);
8255  border: 1px solid rgba(255, 215, 0, 0.55);
8256  border-radius: 12px;
8257
8258  color: #ffffff;
8259  font-size: 20px;
8260  font-weight: 500;
8261  line-height: 1;
8262
8263  background: rgba(0, 0, 0, 0.7);
8264}
8265
8266/* SAAT FAQ TERBUKA */
8267.faq-box .neo-item[open] summary::after {
8268  content: "–";
8269}
8270
8271.faq-box .neo-item[open] summary {
8272  border-bottom: 1px solid rgba(255, 215, 0, 0.22);
8273}
8274
8275/* JAWABAN */
8276.faq-box .neo-answer {
8277  padding: 0 16px 14px;
8278  color: #e5e5e5;
8279  font-size: 14px;
8280  line-height: 1.7;
8281}
8282
8283.faq-box .neo-answer p {
8284  margin: 0;
8285}
8286
8287/* AGAR VIDEO LATAR TIDAK MENUTUP FAQ */
8288.fx-video-bg > video {
8289  pointer-events: none;
8290}
8291
8292/* MOBILE */
8293@media (max-width: 640px) {
8294  .faq-box {
8295    width: calc(100% - 24px);
8296    margin: 18px auto 28px;
8297    padding: 18px 12px 16px;
8298    border-radius: 16px;
8299  }
8300
8301  .faq-box .neo-title {
8302    font-size: 12px;
8303  }
8304
8305  .faq-box .neo-item summary {
8306    min-height: 48px;
8307    padding: 12px 54px 12px 13px;
8308    font-size: 13px;
8309  }
8310
8311  .faq-box .neo-item summary::after {
8312    right: 10px;
8313    width: 30px;
8314    height: 30px;
8315  }
8316
8317  .faq-box .neo-answer {
8318    padding: 0 13px 13px;
8319    font-size: 13px;
8320  }
8321}
8322
8323#PERMATA123-reviews .section-title {
8324    color: #f5d76e;
8325    text-align: center;
8326    font-size: 1.8rem;
8327    font-weight: 800;
8328    margin-bottom: 30px;
8329    text-transform: uppercase;
8330    letter-spacing: 1px;
8331    text-shadow:
8332        0 0 8px rgba(255, 215, 0, 0.45),
8333        0 0 18px rgba(212, 175, 55, 0.30);
8334}
8335
8336#PERMATA123-reviews .main-content {
8337    display: flex;
8338    gap: 30px;
8339}
8340
8341#PERMATA123-reviews .rating-side {
8342    flex: 1;
8343    background: linear-gradient(
8344        135deg,
8345        #fff3b0 0%,
8346        #d4af37 45%,
8347        #8b6b00 100%
8348    );
8349    border-radius: 15px;
8350    display: flex;
8351    flex-direction: column;
8352    justify-content: center;
8353    align-items: center;
8354    padding: 40px;
8355    color: #000;
8356    box-shadow:
8357        0 0 18px rgba(255, 215, 0, 0.18),
8358        inset 0 0 12px rgba(255, 255, 255, 0.18);
8359    height: fit-content;
8360}
8361
8362        #PERMATA123-reviews .big-score { font-size: 5rem; font-weight: 800; margin: 0; line-height: 1; }
8363        #PERMATA123-reviews .stars-big { color: #fff; font-size: 1.5rem; margin-bottom: 10px; }
8364
8365        #PERMATA123-reviews .reviews-side {
8366            flex: 2;
8367            height: 450px;
8368            overflow: hidden;
8369            position: relative;
8370        }
8371
8372        #PERMATA123-reviews .reviews-wrapper {
8373            display: flex;
8374            flex-direction: column;
8375            gap: 15px;
8376            animation: PERMATA123-scroll 40s linear infinite;
8377        }
8378
8379        #PERMATA123-reviews .reviews-wrapper:hover { animation-play-state: paused; }
8380
8381        #PERMATA123-reviews .review-card {
8382            background: #111;
8383            padding: 20px;
8384            border-radius: 12px;
8385            border: 1px solid #333;
8386            color: #ddd;
8387            flex-shrink: 0;
8388        }
8389
8390        #PERMATA123-reviews .user-name { color: #ff8c00; font-weight: bold; font-size: 0.95rem; margin-bottom: 5px; display: block; }
8391        #PERMATA123-reviews .review-text { font-size: 0.85rem; line-height: 1.6; }
8392
8393        @keyframes PERMATA123-scroll {
8394            0% { transform: translateY(0); }
8395            100% { transform: translateY(-50%); }
8396        }
8397
8398        /* Responif untuk layar kecil */
8399        @media (max-width: 768px) {
8400            #PERMATA123-reviews .main-content { flex-direction: column; }
8401        }
8402    </style>
8403
8404<section class="review-section">
8405    <h2 class="section-title">
8406        CERITA PENGGUNA PERMATA123 | SITUS RESMI & TERPERCAYA PILIHAN UTAMA DI INDONESIA
8407    </h2>
8408
8409    <div class="main-content">
8410        <div class="rating-side">
8411            <h2 class="big-score"
8412                id="review-big-score"
8413                style="
8414                    color:#000000;
8415                    font-weight:900;
8416                    text-shadow:
8417                        0 1px 0 rgba(255,255,255,0.08),
8418                        0 0 8px rgba(0,0,0,0.45);
8419                ">
8420                0
8421            </h2>
8422
8423            <div class="stars-big" id="review-big-stars"></div>
8424
8425            <div style="font-weight:bold;">
8426                KATA MEREKA YANG BERGABUNG
8427            </div>
8428
8429            <div style="font-size:0.8rem; margin-top:5px;">
8430                PENGALAMAN NYATA SETIAP HARI
8431            </div>
8432        </div>
8433
8434        <div class="reviews-side">
8435            <div class="reviews-wrapper" id="reviews-container"></div>
8436        </div>
8437    </div>
8438</section>
8439</div>
8440<div id="server-tech-info">
8441    <style>
8442    #server-tech-info {
8443        font-family: 'Segoe UI', sans-serif;
8444        background: #0c0c0e;
8445        padding: 40px;
8446        border-radius: 20px;
8447        color: #f5d76e;
8448        max-width: 1000px;
8449        margin: auto;
8450        box-shadow:
8451            0 0 18px rgba(255, 215, 0, 0.08),
8452            0 0 40px rgba(212, 175, 55, 0.06);
8453    }
8454
8455    #server-tech-info h2 {
8456        color: #f5d76e;
8457        font-size: 1.5rem;
8458        margin-bottom: 5px;
8459        text-shadow:
8460            0 0 8px rgba(255, 215, 0, 0.35),
8461            0 0 18px rgba(212, 175, 55, 0.22);
8462    }
8463
8464    #server-tech-info p {
8465        color: #b8a66a;
8466        font-size: 0.9rem;
8467        margin-bottom: 30px;
8468    }
8469
8470    #server-tech-info .section-label {
8471        color: #d4af37;
8472        font-weight: bold;
8473        margin-bottom: 20px;
8474        display: flex;
8475        align-items: center;
8476        text-shadow:
8477            0 0 6px rgba(255,215,0,0.28);
8478    }
8479
8480    /* Grid Parameter */
8481    #server-tech-info .grid-params {
8482        display: grid;
8483        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
8484        gap: 15px;
8485        margin-bottom: 40px;
8486    }
8487
8488    #server-tech-info .param-card {
8489        background: linear-gradient(145deg, #16161a, #0d0d0f);
8490        padding: 20px;
8491        border-radius: 12px;
8492        border: 1px solid rgba(212, 175, 55, 0.22);
8493        box-shadow:
8494            0 0 12px rgba(255, 215, 0, 0.05);
8495    }
8496
8497    #server-tech-info .param-title {
8498        font-size: 0.7rem;
8499        color: #9d8b52;
8500        text-transform: uppercase;
8501        margin-bottom: 8px;
8502    }
8503
8504    #server-tech-info .param-value {
8505        font-size: 1rem;
8506        font-weight: bold;
8507        color: #fff3b0;
8508        text-shadow:
8509            0 0 8px rgba(255,215,0,0.18);
8510    }
8511
8512    #server-tech-info .highlight {
8513        color: #ffd700;
8514        text-shadow:
8515            0 0 6px rgba(255,215,0,0.30);
8516    }
8517
8518    /* Tables */
8519    #server-tech-info table {
8520        width: 100%;
8521        border-collapse: collapse;
8522        margin-bottom: 40px;
8523        background: linear-gradient(145deg, #16161a, #101013);
8524        border-radius: 12px;
8525        overflow: hidden;
8526        border: 1px solid rgba(212,175,55,0.15);
8527    }
8528
8529    #server-tech-info th {
8530        text-align: left;
8531        padding: 15px;
8532        color: #a8914f;
8533        font-size: 0.75rem;
8534        text-transform: uppercase;
8535    }
8536
8537    #server-tech-info td {
8538        padding: 15px;
8539        border-top: 1px solid rgba(212,175,55,0.08);
8540        font-size: 0.85rem;
8541        color: #f5d76e;
8542    }
8543
8544    #server-tech-info .badge {
8545        padding: 5px 10px;
8546        border-radius: 5px;
8547        font-size: 0.7rem;
8548        font-weight: bold;
8549        background: linear-gradient(to bottom, #fff3b0, #d4af37);
8550        color: #000;
8551        box-shadow:
8552            0 0 10px rgba(255,215,0,0.20);
8553    }
8554</style>
8555
8556    <h2>Informasi & Spesifikasi Teknis Server PERMATA123</h2>
8557    <p>Rangkuman komprehensif metrik performa, standar regulasi internasional, serta analisis distribusi trafik jaringan 2026.</p>
8558
8559    <div class="section-label">
8559● Parameter Nilai Dasar</div>
8560    <div class="grid-params">
8561        <div class="param-card"><div class="param-title">Brand Utama</div><div class="param-value highlight">PERMATA123 OFFICIAL</div></div>
8562        <div class="param-card"><div class="param-title">Infrastruktur</div><div class="param-value highlight">ENKRIPSI WLA & PAGCOR</div></div>
8563        <div class="param-card"><div class="param-title">Kecepatan Deposit</div><div class="param-value">Hitungan Detik</div></div>
8564        <div class="param-card"><div class="param-title">Kepuasan Member</div><div class="param-value">91,6%</div></div>
8565        <div class="param-card"><div class="param-title">Metode Transaksi</div><div class="param-value">Bank Lokal, E-Wallet & QRIS</div></div>
8566        <div class="param-card"><div class="param-title">Sistem Permainan</div><div class="param-value">RNG Teruji (Fair Play)</div></div>
8567        <div class="param-card"><div class="param-title">Minimal Depo & Wede</div><div class="param-value">Depo 10.000 & Wede 50.000</div></div>
8568        <div class="param-card"><div class="param-title">Sistem keamanan</div><div class="param-value">sertifikat SSL 256-bit</div></div>
8569    </div>				
8570	<div id="PERMATA123-trending-tags">
8571    <style>
8572        #PERMATA123-trending-tags {
8573            max-width: 1000px; margin: 40px auto; padding: 30px;
8574            text-align: center; font-family: sans-serif;
8575        }
8576        #PERMATA123-trending-tags h3 { color: #ff8c00; margin-bottom: 25px; text-transform: uppercase; letter-spacing: 3px; font-weight: 800; }
8577        
8578        #PERMATA123-trending-tags .tag-container {
8579            display: flex; flex-wrap: wrap; justify-content: center; gap: 15px;
8580        }
8581
8582        #PERMATA123-trending-tags .tag {
8583            padding: 12px 22px; background: #000; color: #ff8c00;
8584            border: 2px solid #ff8c00; border-radius: 50px;
8585            font-size: 0.9rem; font-weight: bold; cursor: pointer;
8586            transition: all 0.3s ease;
8587            box-shadow: 0 0 10px rgba(255, 140, 0, 0.3);
8588            text-transform: uppercase;
8589        }
8590
8591        /* Efek Glow Playful */
8592        #PERMATA123-trending-tags .tag:hover {
8593            background: #ff8c00; color: #000;
8594            box-shadow: 0 0 25px rgba(255, 140, 0, 0.8), 0 0 50px rgba(255, 140, 0, 0.5);
8595            transform: scale(1.1) rotate(-2deg);
8596        }
8597    </style>
8598
8599    <h3>🔥 Trending Tags</h3>
8600    <div class="tag-container">
8601        <span class="tag">PERMATA123</span>
8602        <span class="tag">LOGIN PERMATA123</span>
8603        <span class="tag">SITUS PERMATA123</span>
8604        <span class="tag">PERMATA123 LINK ALTERNATIF</span>
8605        <span class="tag">SITUS PERMATA123 TERPERCAYA</span>
8606    </div>
8607</div>
8608				
8609                <style id="neo-faq-testi-styles">
8610                    .neo-block {
8611                        position: relative;
8612                        margin: 10px
8613                    }
8614                
8615                    .neo-head {
8616                        display: flex;
8617                        align-items: center;
8618                        gap: 10px;
8619                        margin: 10px 0 12px;
8620                        font-weight: 800;
8621                        letter-spacing: .9px;
8622                        font-size: 14px;
8623                        color: #ffffff;
8624                        text-transform: uppercase
8625                    }
8626                
8627                    .neo-dot {
8628    width: 10px;
8629    height: 10px;
8630    border-radius: 50%;
8631    background: radial-gradient(circle at 30% 30%, #ffe082, #d4af37 45%, #8b6b00 100%);
8632    box-shadow:
8633        0 0 0 4px rgba(255, 215, 0, 0.12),
8634        0 0 18px rgba(212, 175, 55, 0.35);
8635}
8636                
8637                    .neo-faq {
8638                        display: grid;
8639                        gap: 10px
8640                    }
8641                
8642                    .neo-item {
8643    border-radius: 16px;
8644    border: 1px solid rgba(212, 175, 55, 0.45);
8645    background: linear-gradient(135deg, #3a3a3a 0%, #111111 45%, #000000 100%);
8646    box-shadow:
8647        0 0 0 1px rgba(255, 255, 255, 0.04),
8648        0 0 18px rgba(212, 175, 55, 0.12),
8649        0 18px 50px rgba(0, 0, 0, 0.55);
8650    overflow: hidden;
8651}
8652                
8653                    .neo-item summary {
8654                        list-style: none;
8655                        cursor: pointer;
8656                        padding: 14px 14px 14px 16px;
8657                        position: relative;
8658                        font-weight: 700;
8659                        color: #fff
8660                    }
8661                
8662                    .neo-item summary::-webkit-details-marker {
8663                        display: none
8664                    }
8665                
8666                    .neo-item summary:after {
8667                        content: "+";
8668                        position: absolute;
8669                        right: 14px;
8670                        top: 50%;
8671                        transform: translateY(-50%);
8672                        width: 34px;
8673                        height: 34px;
8674                        display: grid;
8675                        place-items: center;
8676                        border-radius: 12px;
8677                        background: rgba(0, 0, 0, .35);
8678                        border: 1px solid rgba(255, 202, 40, .25);
8679                        box-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 8px 18px rgba(0, 0, 0, .35);
8680                        transition: transform .2s ease
8681                    }
8682                
8683                    .neo-item[open] summary:after {
8684                        content: "–";
8685                        transform: translateY(-50%) rotate(180deg)
8686                    }
8687                
8688                    .neo-ans {
8689                        padding: 0 16px 14px;
8690                        color: rgba(255, 255, 255, .88);
8691                        line-height: 1.6
8692                    }
8693                
8694                    .neo-item[open] {
8695                        border-color: rgba(255, 202, 40, .45)
8696                    }
8697                
8698                    .neo-testi-grid {
8699                        display: grid;
8700                        grid-template-columns: repeat(3, minmax(0, 1fr));
8701                        gap: 12px
8702                    }
8703                
8704                    .neo-testi {
8705                        border-radius: 18px;
8706                        padding: 14px 14px 14px 14px;
8707                        background:
8708                            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));
8709                        box-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 0 18px 55px rgba(0, 0, 0, .5);
8710                        position: relative;
8711                        overflow: hidden
8712                    }
8713                
8714                    .neo-testi:before {
8715                        content: "";
8716                        position: absolute;
8717                        inset: -2px;
8718                        background: linear-gradient(90deg, transparent, rgba(255, 202, 40, .25), transparent);
8719                        filter: blur(10px);
8720                        opacity: .8;
8721                        animation: neoSweep 3.6s ease-in-out infinite
8722                    }
8723                
8724                    @keyframes neoSweep {
8725                        0% {
8726                            transform: translateX(-40%)
8727                        }
8728                
8729                        50% {
8730                            transform: translateX(40%)
8731                        }
8732                
8733                        100% {
8734                            transform: translateX(-40%)
8735                        }
8736                    }
8737                
8738                    .neo-testi>* {
8739                        position: relative;
8740                        z-index: 1
8741                    }
8742                
8743                    .neo-top {
8744                        display: flex;
8745                        align-items: center;
8746                        justify-content: space-between;
8747                        gap: 10px;
8748                        margin-bottom: 6px
8749                    }
8750                
8751                    .neo-title {
8752                        font-weight: 800;
8753                        color: #fff
8754                    }
8755                
8756                    .neo-stars {
8757                        font-size: 13px;
8758                        letter-spacing: 1px;
8759                        color: #ffca28;
8760                        text-shadow: 0 0 10px rgba(255, 202, 40, .22)
8761                    }
8762                
8763                    .neo-name {
8764                        font-weight: 700;
8765                        color: rgba(255, 255, 255, .9);
8766                        margin-bottom: 6px
8767                    }
8768                
8769                    .neo-text {
8770                        color: rgba(255, 255, 255, .85);
8771                        line-height: 1.55
8772                    }
8773                
8774                    @media (max-width: 991px) {
8775                        .neo-testi-grid {
8776                            grid-template-columns: repeat(2, minmax(0, 1fr))
8777                        }
8778                    }
8779                
8780                    @media (max-width: 575px) {
8781                        .neo-testi-grid {
8782                            grid-template-columns: 1fr
8783                        }
8784                
8785                        .neo-item summary {
8786                            padding-right: 56px
8787                        }
8788                    }
8789
8790                    .footer-main>.container, .cms-section .footer-main>.boxed {
8791                            padding-top: 15px;
8792                        }                    
8793                </style>
8794    </article>
8795  </div>
8796</section>
8797 
8798     </div>
8799 
8800 
8801 <div class="overlay overlay-cart"></div>
8802 <div id="CartDrawer" class="drawer drawer--right">
8803   <div class="drawer__header pl-2 pr-2">
8804     <div class="drawer__icon-cart display-table-cell">
8805       <a href="/cart" class="">
8806         <svg class="icon icon-cart" version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.5
880673zM7.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>
8807       </a>
8808     </div>
8809     <div class="drawer__title h4">Keranjang Belanja</div>
8810     <div class="drawer__close js-drawer-close">
8811       <button type="button">
8812         <svg class="icon icon-close" version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="32" height="32" viewBox="0 0 32 32">
8813 <title>icon-close</title>
8814 <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>
8815 </svg>
8816       </button>
8817     </div>
8818   </div>
8819   <div id="CartContainer" class="p-2"></div>
8820 </div>
8821 
8822 
8822<script>
8823       
8824     </script>
8824
8825       
8825<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
8825
8826       <!-- /snippets/ajax-cart-template.liquid -->
8827 
8828   
8828<script id="CartTemplate" type="text/template">
8829   
8830     <form action="/cart" method="post" novalidate class="cart ajaxcart">
8831       <div class="ajaxcart__inner" {{ cart.item_count }}>
8832         {{#items}}
8833         <div class="ajaxcart__product">
8834           <div class="ajaxcart__row" data-line="{{line}}">
8835             <div class="grid">
8836               <div class="grid__item one-quarter">
8837                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
8838               </div>
8839               <div class="grid__item three-quarters">
8840                 <p class="d-block mb-3">
8841                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
8842                   {{#if variation}}
8843                     <span class="ajaxcart__product-meta p">{{variation}}</span>
8844                   {{/if}}
8845                   {{#properties}}
8846                     {{#each this}}
8847                       {{#if this}}
8848                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
8849                       {{/if}}
8850                     {{/each}}
8851                   {{/properties}}
8852                   
8853                 </p>
8854                 <div class="grid--full display-table">
8855                   <div class="grid__item display-table-cell one-half">
8856                     <div class="ajaxcart__qty">
8857                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
8858                         <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
8859                         <span class="visually-hidden">Kurangi jumlah barang</span>
8860                       </button>
8861                       <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]*">
8862                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
8863                         <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
8864                         <span class="visually-hidden">Tambahkan jumlah barang</span>
8865                       </button>
8866                     </div>
8867                   </div>
8868                   <div class="grid__item display-table-cell one-half text-right">
8869                     {{#if discountsApplied}}
8870                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
8871                       <br><span class="h4">{{{linePrice}}}</span>
8872                     {{else}}
8873                       <span class="h4">{{{linePrice}}}</span>
8874                     {{/if}}
8875                     </div>
8876                   </div>
8877                   {{#if discountsApplied}}
8878                     <div class="grid--full display-table">
8879                       <div class="grid__item text-right">
8880                         {{#each discounts}}
8881                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
8882                         {{/each}}
8883                       </div>
8884                     </div>
8885                   {{/if}}
8886                   </div>
8887                 </div>
8888               </div>
8889             </div>
8890           </div>
8891         </div>
8892         {{/items}}
8893       </div>
8894       <div class="ajaxcart__footer">
8895         <div class="grid--full cart-subtotal py-2">
8896             <p>Subtotal</p>
8897             <h3 class="primary">{{{totalPrice}}}</h3>
8898           {{#if totalCartDiscount}}
8899             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
8900           {{/if}}
8901         </div>
8902         
8903         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
8904         
8905         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
8906       </div>
8907     </form>
8908   
8909   </script>
8909
8910   
8910<script id="AjaxQty" type="text/template">
8911   
8912     <div class="ajaxcart__qty">
8913       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
8914         <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="24" viewBox="0 0 32 32">
8915             <title>icon-minus</title>
8916             <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>
8917         </svg>
8918         <span class="visually-hidden">Kurangi jumlah barang</span>
8919           </button>
8920               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
8921           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
8922         <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
8923         <span class="visually-hidden">Tambahkan jumlah barang</span>
8924       </button>
8925     </div>
8926   
8927   </script>
8927
8928   
8928<script id="JsQty" type="text/template">
8929   
8930     <div class="js-qty mx-auto mt-2">
8931       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
8932         <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
8933         <span class="visually-hidden">Kurangi jumlah barang</span>
8934       </button>
8935       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
8936       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
8937         <svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
8938         <span class="visually-hidden">Tambahkan jumlah barang</span>
8939       </button>
8940     </div>
8941   
8942   </script>
8942
8943 
8944 <style>
8945   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
8946   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
8947   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;}
8948   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
8949   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
8950   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;}
8951   #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
8952   #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
8953   #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;}
8954 </style>
8955       
8955<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
8955
8956       
8956<script>
8957         jQuery(function($) {
8958           ajaxCart.init({
8959             formSelector: '#AddToCartForm',
8960             cartContainer: '#CartContainer',
8961             addToCartSelector: '#AddToCartXX',
8962             cartCountSelector: '#CartCount, #CartCount2',
8963             cartCostSelector: '#CartCost',
8964             moneyFormat: "Rp {{amount_no_decimals}}"
8965           });
8966           });
8967 
8968           jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) {
8969             // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
8970             timber.RightDrawer.open();
8971           });
8972       </script>
8972
8973     
8974 
8975 
8976 
8977 <style>
8978   /** Search AutoComplete **/
8979   .resultsearch .ui-menu-item[data-cat="Collection"],
8980   .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;}
8981   .resultsearch .ui-widget.ui-widget-content {
8982     width: 100%;
8983     top: 48px;
8984     border: none;
8985     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
8986   }
8987   .resultsearch .ui-menu-item {text-align: left;}
8988   .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;}
8989   .ui-state-active {
8990     border: none!important;
8991     background-color: #fafafa!important;
8992     color: #000!important;
8993   }
8994   .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;}
8995   .ui-menu .ui-menu-item {line-height: normal;}
8996 </style>
8997 
8997<script>
8998 $(window).load(function(){
8999 
9000   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;}
9001 
9002   $.widget("custom.catcomplete", $.ui.autocomplete, {
9003     _renderMenu: function (ul, items) {
9004       // have search reults split up in categories
9005       var that = this,
9006           currentCategory = "";
9007       $.each(items, function (index, item) {
9008         if (item.category != currentCategory) {
9009           ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
9010           currentCategory = item.category;
9011         }
9012         that._renderItemData(ul, item);
9013       });
9014     }
9015   });
9016 
9017   // higlight searched for term
9018   $.ui.autocomplete.prototype._renderItem = function( ul, item ) {
9019     var term = this.element.val(),
9020         html = item.label.replace( term, "<b>$&</b>" );
9021     return $( "<li>" )
9022     .append(format(item))
9023     .appendTo( ul );
9024   };
9025 
9026 
9027   var data = [
9028       { 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 Banten", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " },{ label: "Buket Bunga Boyolali", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " },{ label: "Buket Bunga Denpasar", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " },{ label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " },{ label: "Buket Bunga Jombang", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " },{ label: "Buket Bunga Manado", 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 Sorong", 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 Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " },{ label: "Bunga Anggrek Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " },{ label: "Bunga Carnations Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " },{ label: "Bunga Daisy Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " },{ label: "Bunga Gerbera Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " },{ label: "Bunga Lily Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " },{ label: "Bunga Matahari Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " },{ label: "Bunga Mawar Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " },{ label: "Bunga Meja Boyolali", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " },{ label: "Bunga Meja Jombang", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " },{ label: "Bunga Meja Manado", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " },{ label: "Bunga Meja Sorong", 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 Sorong", 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 Banten", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " },{ label: "Bunga Modern Pastel Manado", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " },{ label: "Bunga Modern Pastel Sorong", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " },{ label: "Bunga Modern Pastel Sorong", 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", cate
9028gory: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
9028,{ 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 Banten", 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 Banten", 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 Sorong", category: "Collection", url: "/collections/hampers-lebaran-semarang", images: " ", price: " " },{ label: "Hampers Lebaran Sorong", 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: " " }
9028,{ 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 Banten", category: "Collection", url: "/collections/karangan-bunga-balikpapan", images: " ", price: " " },{ label: "Karangan Bunga Banten", category: "Collection", url: "/collections/karangan-bunga-bandung", images: " ", price: " " },{ label: "Karangan Bunga Banten 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 Banjarnegara", category: "Collection", url: "/collections/karangan-bunga-banjarmasin", images: " ", price: " " },{ label: "Karangan Bunga Boyolali", 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 Boyolali", category: "Collection", url: "/collections/karangan-bunga-banyuwangi", images: " ", price: " " },{ label: "Karangan Bunga Boyolali", 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 Boyolali", 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 Banjarnegara", category: "Collection", url: "/collections/karangan-bunga-bogor", images: " ", price: " " },{ label: "Karangan Bunga Banjarnegara", category: "Collection", url: "/collections/karangan-bunga-bojonegoro", images: " ", price: " " },{ label: "Karangan Bunga Banten", 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: " " }
9028,{ 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 Denpasar", 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 Deli", 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 Jombang", 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 Jombang", 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
9028dal", 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 Manado", category: "Collection", url: "/collections/karangan-bunga-madiun", images: " ", price: " " },{ label: "Karangan Bunga Manado", 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 Mojokerto", category: "Collection", url: "/collections/karangan-bunga-makassar", images: " ", price: " " },{ label: "Karangan Bunga Manado", 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 Situs 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 Manado", 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 pekanbaru", 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 pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pasuruan", images: " ", price: " " },{ label: "Karangan Bunga pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pati", images: " ", price: " " },{ label: "Karangan Bunga pekanbaru", 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 Pamelang", 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 Purwakarta", 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 Sorong", category: "Collection", url: "/collections/karangan-bunga-semarang", images: " ", price: " " },{ label: "Karangan Bunga Sorong", 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 Sorong", category: "Collection", url: "/collections/karangan-bunga-surabaya", images: " ", price: " " },{ label: "Karangan Bunga Sorong", 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 Banten", 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 pekanbarusserie", 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-
9028hampers", 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
9028o-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 Banten", category: "Collection", url: "/collections/papan-bunga-balikpapan", images: " ", price: " " },{ label: "Papan Bunga Situs Lampung", category: "Collection", url: "/collections/papan-bunga-bandar-lampung", images: " ", price: " " },{ label: "Papan Bunga Banten", category: "Collection", url: "/collections/papan-bunga-bandung", images: " ", price: " " },{ label: "Papan Bunga Banten 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 Banjarnegara", category: "Collection", url: "/collections/papan-bunga-banjarmasin", images: " ", price: " " },{ label: "Papan Bunga Boyolali", 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 Boyolali", category: "Collection", url: "/collections/papan-bunga-banyuwangi", images: " ", price: " " },{ label: "Papan Bunga Boyolali", 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 Boyolali", category: "Collection", url: "/collections/papan-bunga-bengkulu", images: " ", price: " " }
9028,{ 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 Banjarnegara", category: "Collection", url: "/collections/papan-bunga-bogor", images: " ", price: " " },{ label: "Papan Bunga Banjarnegara", category: "Collection", url: "/collections/papan-bunga-bojonegoro", images: " ", price: " " },{ label: "Papan Bunga Banten", 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 Banten", 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 Banjarnegara", 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 Denpasar", category: "Collection", url: "/collections/papan-bunga-congratulations-demak", images: " ", price: " " },{ label: "Papan Bunga Congratulations Deli", 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 Jombang", category: "Collection", url: "/collections/papan-bunga-congratulations-jepara", images: " ", price: " " },{ label: "Papan Bunga Congratulations Manado", category: "Collection", url: "/collections/papan-bunga-congratulations-medan", images: " ", price: " " },{ label: "Papan Bunga Congratulations Sorong", category: "Collection", url: "/collections/papan-bunga-congratulations-semarang", images: " ", price: " " }
9028,{ label: "Papan Bunga Congratulations Sorong", 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 Sorong", 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 Denpasar", 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 Deli", 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 Banten", 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 Banjarnegara", 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 Denpasar", category: "Collection", url: "/collections/papan-bunga-duka-cita-demak", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Deli", 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 Jombang", category: "Collection", url: "/collections/papan-bunga-duka-cita-jepara", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Manado", category: "Collection", url: "/collections/papan-bunga-duka-cita-medan", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Sorong", category: "Collection", url: "/collections/papan-bunga-duka-cita-semarang", images: " ", price: " " },{ label: "Papan Bunga Duka Cita Sorong", 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 Sorong", 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: " " }
9028,{ 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 Jombang", 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 Jombang", 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: " " }
9028,{ 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 Manado", category: "Collection", url: "/collections/papan-bunga-madiun", images: " ", price: " " },{ label: "Papan Bunga Manado", 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 Mojokerto", category: "Collection", url: "/collections/papan-bunga-makassar", images: " ", price: " " },{ label: "Papan Bunga Manado", 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 Manado", 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 pekanbaru", 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 pekanbaru", category: "Collection", url: "/collections/papan-bunga-pasuruan", images: " ", price: " " },{ label: "Papan Bunga pekanbaru", category: "Collection", url: "/collections/papan-bunga-pati", images: " ", price: " " },{ label: "Papan Bunga pekanbaru", 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: " " }
9028,{ label: "Papan Bunga Pernikahan Bali", category: "Collection", url: "/collections/papan-bunga-pernikahan-bali", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Banten", 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 Banjarnegara", 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 Denpasar", category: "Collection", url: "/collections/papan-bunga-pernikahan-demak", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Deli", 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 Jombang", category: "Collection", url: "/collections/papan-bunga-pernikahan-jepara", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Manado", category: "Collection", url: "/collections/papan-bunga-pernikahan-medan", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Sorong", category: "Collection", url: "/collections/papan-bunga-pernikahan-semarang", images: " ", price: " " },{ label: "Papan Bunga Pernikahan Sorong", 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 Sorong", 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 Pamelang", 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 Purwakarta", 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: " " }
9028,{ label: "Papan Bunga Samarinda", category: "Collection", url: "/collections/papan-bunga-samarinda", images: " ", price: " " },{ label: "Papan Bunga Selamat Banten", category: "Collection", url: "/collections/papan-bunga-selamat-bandung", images: " ", price: " " },{ label: "Papan Bunga Selamat Manado", category: "Collection", url: "/collections/papan-bunga-selamat-medan", images: " ", price: " " },{ label: "Papan Bunga Sorong", category: "Collection", url: "/collections/papan-bunga-semarang", images: " ", price: " " },{ label: "Papan Bunga Sorong", 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 Sorong", category: "Collection", url: "/collections/papan-bunga-surabaya", images: " ", price: " " },{ label: "Papan Bunga Sorong", 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: " " }
9028,{ 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 Sorong", 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 Banten", category: "Collection", url: "/collections/parcel-buah-bandung", images: " ", price: " " },{ label: "Parcel Buah Sorong", 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 Sorong", category: "Collection", url: "/collections/parcel-buah-surabaya", images: " ", price: " " },{ label: "Parcel Imlek 2025", category: "Collection", url: "/collections/parcel-imlek", images: " ", price: " " },{ label: "Parcel Imlek Banten", 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 Banten", 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 Sorong", 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 Banten", 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 Manado", 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: " " }
9028,{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Banten", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Denpasar", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Jombang", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Sorong", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Sorong", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "Situs PERMATA123 semakin memudahkan akses pengguna lewat link alternatif stabil 24 jam. Login dengan sistem keamanan terbaik dan terpercaya tahun 2026. Yogyakarta", category: "Collection", url: "/collections/standing-flower-Yogyakarta", images: " ", price: " " },{ label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " },{ label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " },{ label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " },{ label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " },{ label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " },{ label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " },{ label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " },{ label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " },{ label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " },{ label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " },{ label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " },{ label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " },{ label: "Taurus ♉️ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " },{ label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " },{ label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " },{ label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " },{ label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " },{ label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " },{ label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " },{ label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Situs Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Banten Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarnegara", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Boyolali", 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 Boyolali", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Boyolali", 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 Banjarnegara", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Banjarnegara", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Banten", 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: " " }
9028,{ 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 Denpasar", 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 Deli", 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 Jombang", 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 Jombang", 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 Sorong", 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 Sorong", 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
9028dal", 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 Manado", category: "Collection", url: "/collections/toko-bunga-madiun", images: " ", price: " " },{ label: "Toko Bunga Manado", 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 Mojokerto", category: "Collection", url: "/collections/toko-bunga-makassar", images: " ", price: " " },{ label: "Toko Bunga Manado", 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 Manado", 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 pekanbaru", 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 pekanbaru", category: "Collection", url: "/collections/toko-bunga-pasuruan", images: " ", price: " " },{ label: "Toko Bunga pekanbaru", category: "Collection", url: "/collections/toko-bunga-pati", images: " ", price: " " },{ label: "Toko Bunga pekanbaru", 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: " " },
9029       { 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" }
9029,{ 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" }
9029,{ 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" }
9030   ];
9031 
9032              
9033         $( ".header-input-search" ).catcomplete({
9034          appendTo: ".searchResult",source: function(request, response) {
9035             var results = $.ui.autocomplete.filter(data, request.term);
9036             var predicate = function () {
9037                 var counter = { Collection: 0, Produk: 0 };
9038             var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);}
9039             return fn
9040             }();
9041             response(results.filter(predicate));
9042           },
9043           minLength:1,
9044            //results are clickable
9045           select: function( event, ui ) {window.location = ui.item.url;}
9046 });
9047 $( ".header-input-search2" ).catcomplete({
9048         appendTo: ".searchResult2",
9049                    source: function(request, response) {
9050                     var results = $.ui.autocomplete.filter(data, request.term);
9051                     var predicate = function () {
9052                         var counter = { Collection: 0, Produk: 0 };
9053               var fn = function(item) {
9054               counter[item.category] += 1;
9055   return (counter[item.category] <= 5);
9056 }
9057                return fn
9058                }();
9059 response(results.filter(predicate));
9060 },
9061   minLength:1,
9062         //results are clickable
9063         select: function( event, ui ) {
9064           window.location = ui.item.url;
9065         }
9066 });
9067 });
9068 </script>
9068
9069 
9070     
9070<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
9070
9071 
9071<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
9071
9072 
9073 
9073<script>
9074   ( function() {
9075     var youtube = document.querySelectorAll( ".youtube" );
9076     for (var i = 0; i < youtube.length; i++) {
9077       var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg";
9078       var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg";
9079       var image = new Image();
9080       image.src = source;
9081       image.setAttribute("data-src", datasource);
9082       image.classList.add("swiper-lazy");
9083       image.addEventListener( "load", function() {
9084         youtube[ i ].appendChild( image );
9085       }( i ) );
9086       youtube[i].addEventListener( "click", function() {
9087         var iframe = document.createElement( "iframe" );
9088         iframe.setAttribute( "width", "480" );
9089         iframe.setAttribute( "height", "480" );
9090         iframe.setAttribute( "frameborder", "0" );
9091         iframe.setAttribute( "allowfullscreen", "" );
9092         iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" );
9093         this.innerHTML = "";
9094         this.appendChild( iframe );
9095       } );
9096     };
9097 
9098   } )();
9099 
9100   /* Lazy Load */
9101   const mainLazyLoad = new LazyLoad({threshold:400});
9102   $(document).ready(function(){
9103 
9104     $("selectxxx").addClass("needsclick");
9105     FastClick.attach(document.body);
9106     
9107     var $customSelects = $('.select-search');
9108     $customSelects.select2({
9109       templateResult: function(result, container) {
9110         if (!result.id) {
9111           return result.text;
9112         }
9113         container.className += ' needsclick';
9114         return result.text;
9115       }
9116     });
9117     $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');});
9118     $(document).on('select2:open', () => {
9119       document.querySelector('.select2-search__field').focus();
9120     });
9121     
9122 
9123     $(".overlay").click(function(){
9124       $(".js-drawer-close").click();
9125     });
9126     $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){
9127       $("html").toggleClass("nav_open");
9128     });
9129     
9130     $('.swatch-element label').on('click', function(){
9131       var srcImg = $(this).data('src');
9132       $('#thumb-image-product .product-single__thumbnail').each(function(){
9133         if ($(this).attr("href") == srcImg) {
9134           $(this).trigger('click');
9135         }
9136       });
9137     });
9138     var defaultValue = $(".swatch input:checked").val()
9139     
9140     $('#purchaseProduct .swatch [type=radio]').change(function() {
9141       var optionIndex = $(this).closest('.swatch').attr('data-option-index');
9142       var optionValue = $(this).val();
9143       console.log(optionIndex, optionValue)
9144       var value = parseInt(optionValue.split(' ')[0])
9145       $(this)
9146       .closest('#purchaseProduct')
9147       .find('.single-option-selector')
9148       .eq(optionIndex)
9149       .val(optionValue)
9150       .trigger('change');
9151       
9152     });
9153     
9154   });
9155   $(document).ready(function(){
9156     $(".nav-search a").click(function(e){
9157       e.preventDefault();
9158       $(".icon-navsearch").toggle();
9159       $(".icon-navclose").toggle();
9160       $(".site-nav__item > .site-nav__link").toggle();
9161       $(".open-search").toggle();
9162       $(".open-search input").focus();
9163     });
9164     $(".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'>");
9165     if ($(window).width() < 768) {
9166       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
9167       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
9168       $(".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'>");
9169     } else {
9170       $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
9171       $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
9172       $(".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'>");
9173     }
9174     $(".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'>");
9175     $(".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'>");
9176   });
9177 </script>
9177
9178 
9179 
9180     
9181     
9182     
9183     
9184 
9185     
9185<script type="text/javascript">
9186       var wishlistpage = 0;
9187        
9188        var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>";
9189     </script>
9189
9190     
9191       <!-- Remove duplicate wishlist.js reference -->
9192       <style>
9193   .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)}}
9194 </style>
9195 
9196 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
9197   <div class="modal-dialog" role="document">
9198     <div class="modal-content">        
9199       <div class="modal-body">Your Wishlist is empty!</div>
9200       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>          
9201     </div>
9202   </div>
9203 </div> 
9204 
9205 <div class="wishlist-model">
9206   <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
9207     <div class="modal-dialog white-modal">
9208       <div class="modal-content">
9209         <div class="modal-header">
9210           <button type="button" class="close" data-dismiss="modal" aria-label="Close">
9211             <svg class="icon icon-close" version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="32" height="32" viewBox="0 0 32 32">
9212 <title>icon-close</title>
9213 <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>
9214 </svg>
9215           </button>
9216         </div>
9217         <div class="modal-body">
9218           <div class="wishlist-left">
9219             <div class="wishlist-note">
9220               <span class="cirle"><svg version="1.1" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="32" height="32" viewBox="0 0 32 32">
9221 <title>icon-check</title>
9222 <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>
9223 </svg></span>
9224               Product added to <a href="/pages/wish-list">Wishlist</a>
9225             </div>
9226             <div class="wishlist-product">
9227               <div class="product-left">
9228                 <div class="wishlist-image"></div>
9229               </div>
9230               <div class="product-right">
9231                 <div class="wishlist-name"></div>
9232                 <div class="wishlist-price"></div>
9233               </div>
9234             </div>
9235           </div>
9236           <div class="wishlist-right">
9237             <div class="wishlist-cart">
9238               <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data">                  
9239                 <div class="others-bottom">
9240                   <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
9241                   <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
9242                     <span id="AddToCartText" class="">Beli Sekarang</span>
9243                   </button>
9244                 </div>
9245                 <div id="wishlist-variants-container" class="variants-wrapper"></div> 
9246                 <div class="quantity-content">
9247                   <label>QTY</label>
9248                   <input type="number" size="5" class="" name="quantity" value="1" />
9249                 </div>
9250               </form> 
9251             </div>
9252           </div>
9253         </div>
9254       </div>
9255     </div>
9256   </div>
9257 </div>
9258 
9259     
9260     <style>
9261        .stamped-badge[data-rating="0.0"]{display: none !Important;}
9262        
9263         div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
9264           border-radius: 0px;
9265       }
9266           .stamped-review-body {
9267           padding-left: 0px !important;
9268       }
9269           #product-reviews .stamped-header:after {
9270             display:none !Important;
9271           }
9272       #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget {
9273           font-family:inherit !important;
9274       }
9275     </style>
9276 
9277     
9278 
9279 <div id='stamped-rewards-init' class='stamped-rewards-init'
9280   data-key-public=''
9281 
9282 ></div>
9283 
9284     
9284<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
9284
9285     <!-- Remove duplicate jQuery reference and load wishlist script properly -->
9286     
9286<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
9286
9287 
9288     
9288<script>
9289       function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
9290     </script>
9290
9291     
9291<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
9291<style>
9292   .jss59 {
9293     background-color: rgba(0, 0, 0, 0.6);
9294   }
9295   .MuiBackdrop-root {
9296     top: 0;
9297     left: 0;
9298     right: 0;
9299     bottom: 0;
9300     display: flex;
9301     z-index: -1;
9302     position: fixed;
9303     align-items: center;
9304     justify-content: center;
9305     background-color: rgba(0, 0, 0, 0.5);
9306     -webkit-tap-highlight-color: transparent;
9307   }
9308   .MuiDialog-scrollPaper {
9309     display: flex;
9310     align-items: center;
9311     justify-content: center;
9312   }
9313   .MuiDialog-container {
9314     height: 100%;
9315     outline: 0;
9316   }
9317   .MuiPaper-elevation24 {
9318     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);
9319   }
9320   .MuiDialog-paper {
9321     margin: 32px;
9322     position: relative;
9323     overflow-y: auto;
9324   }
9325   .MuiDialog-paperScrollPaper {
9326     display: flex;
9327     max-height: calc(100% - 64px);
9328     flex-direction: column;
9329   }
9330   .MuiDialog-paperWidthSm {
9331     max-width: 600px;
9332   }
9333   #location-lock-dialog {
9334     top: 20%;
9335     left: 0;
9336     right: 0;
9337     width: 30%;
9338     margin: 0px auto;
9339     display: block;
9340     padding: 30px;
9341     z-index: 99999;
9342     position: fixed;
9343     font-size: 14px;
9344     background: rgb(0, 0, 0);
9345     box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
9346     text-align: center;
9347     font-family: Roboto, Arial, sans-serif;
9348     line-height: 1;
9349     border-radius: 8px;
9350     -webkit-font-smoothing: subpixel-antialiased;
9351   }
9352   .MuiButtonBase-root {
9353     color: inherit;
9354     border: 0;
9355     cursor: pointer;
9356     margin: 0;
9357     display: inline-flex;
9358     outline: 0;
9359     padding: 0;
9360     position: relative;
9361     align-items: center;
9362     user-select: none;
9363     border-radius: 0;
9364     vertical-align: middle;
9365     -moz-appearance: none;
9366     justify-content: center;
9367     text-decoration: none;
9368     background-color: transparent;
9369     -webkit-appearance: none;
9370     -webkit-tap-highlight-color: transparent;
9371   }
9372   .MuiIconButton-root {
9373     flex: 0 0 auto;
9374     color: rgba(0, 0, 0, 0.54);
9375     padding: 12px;
9376     overflow: visible;
9377     font-size: 1.5rem;
9378     text-align: center;
9379     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9380     border-radius: 50%;
9381   }
9382   .MuiIconButton-label {
9383     width: 100%;
9384     display: flex;
9385     align-items: inherit;
9386     justify-content: inherit;
9387   }
9388   .MuiSvgIcon-root {
9389     fill: currentColor;
9390     width: 1em;
9391     height: 1em;
9392     display: inline-block;
9393     font-size: 1.5rem;
9394     transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9395     flex-shrink: 0;
9396     user-select: none;
9397   }
9398   .MuiTouchRipple-root {
9399     top: 0;
9400     left: 0;
9401     right: 0;
9402     bottom: 0;
9403     z-index: 0;
9404     overflow: hidden;
9405     position: absolute;
9406     border-radius: inherit;
9407     pointer-events: none;
9408   }
9409   .jss36 {
9410     color: #222222;
9411     font-size: 24px;
9412     font-family: Roboto, Arial, sans-serif;
9413     font-weight: 500;
9414   }
9415   .jss37 {
9416     color: #555555;
9417     padding: 10px 0px 0px;
9418     font-size: 14px;
9419   }
9420   .MuiFormGroup-root {
9421     display: flex;
9422     flex-wrap: wrap;
9423     flex-direction: column;
9424   }
9425   .MuiFormGroup-row {
9426     flex-direction: row;
9427   }
9428   .jss63 {
9429     width: 85%;
9430     margin: 15px auto;
9431     display: flex;
9432     padding: 11px 0px 0px;
9433     justify-content: space-evenly;
9434   }
9435   .MuiFormControlLabel-root {
9436     cursor: pointer;
9437     display: inline-flex;
9438     align-items: center;
9439     margin-left: -11px;
9440     margin-right: 16px;
9441     vertical-align: middle;
9442     -webkit-tap-highlight-color: transparent;
9443   }
9444   .jss70 {
9445     margin: 0;
9446   }
9447   .MuiButtonBase-root {
9448     color: inherit;
9449     border: 0;
9450     cursor: pointer;
9451     margin: 0;
9452     display: inline-flex;
9453     outline: 0;
9454     padding: 0;
9455     position: relative;
9456     align-items: center;
9457     user-select: none;
9458     border-radius: 0;
9459     vertical-align: middle;
9460     -moz-appearance: none;
9461     justify-content: center;
9462     text-decoration: none;
9463     background-color: transparent;
9464     -webkit-appearance: none;
9465     -webkit-tap-highlight-color: transparent;
9466   }
9467   .MuiIconButton-root {
9468     flex: 0 0 auto;
9469     color: rgba(0, 0, 0, 0.54);
9470     padding: 12px;
9471     overflow: visible;
9472     font-size: 1.5rem;
9473     text-align: center;
9474     transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9475     border-radius: 50%;
9476   }
9477   .MuiIconButton-colorSecondary {
9478     color: #f50057;
9479   }
9480   .jss71 {
9481     padding: 9px;
9482   }
9483   .MuiRadio-root {
9484     color: rgba(0, 0, 0, 0.54);
9485   }
9486   .jss64 {
9487     padding: 2px;
9488   }
9489   .MuiRadio-colorSecondary.Mui-checked {
9490     color: #f50057;
9491   }
9492   .MuiIconButton-label {
9493     width: 100%;
9494     display: flex;
9495     align-items: inherit;
9496     justify-content: inherit;
9497   }
9498   .MuiTypography-root {
9499     margin: 0;
9500   }
9501   .MuiTypography-body1 {
9502     font-size: 18px;
9503     font-family: Roboto,sans-serif;
9504     font-weight: 400;
9505     line-height: 1.5;
9506   }
9507   .location-popup_area-block__sp9Ws {
9508     display: -moz-box;
9509     display: flex;
9510     -moz-box-orient: vertical;
9511     -moz-box-direction: normal;
9512     flex-direction: column;
9513     -moz-box-pack: center;
9514     justify-content: center;
9515     position: relative;
9516     margin: 10px 10% 0;
9517   }
9518   .location-popup_pin-search-box__3l5mJ {
9519     width: 100%;
9520     display: -moz-box;
9521     display: flex;
9522     -moz-box-align: center;
9523     align-items: center;
9524   }
9525   .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q {
9526     position: absolute;
9527     z-index: 999;
9528   }
9529   .location-popup_place-icon__jSG0Q {
9530     color: #ffffff;
9531     padding-left: 8px;
9532   }
9533   .location-popup_place-icon__jSG0Q svg {
9534     width: 18px;
9535     height: 18px;
9536   }
9537   .location-popup_cancel-icon__FHujU {
9538     color: #fff;
9539     right: 10px;
9540     width: 16px;
9541     cursor: pointer;
9542     height: 16px;
9543     display: none;
9544     padding: 5px;
9545     position: absolute;
9546     background: #999;
9547     text-align: center;
9548     border-radius: 50%;
9549   }
9550   .location-popup_pin-search-box__3l5mJ>div>select {
9551 /*     -webkit-box-shadow: 0 0 10px #ffffff;
9552     box-shadow: 0 0 10px #ffffff; */
9553     text-transform: capitalize;
9554     border: 1px solid #ffffff;
9555     color: #ffffff;
9556     width: 100%;
9557     margin: 0;
9558     display: -moz-box;
9559     display: flex;
9560     padding: 0 30px;
9561     -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
9562     -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
9563     animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
9564     font-size: 16px;
9565     border-radius: 4px;
9566     height: 44px;
9567     moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
9568     webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
9569   }
9570   .MuiButtonBase-root {
9571     color: inherit;
9572     border: 0;
9573     cursor: pointer;
9574     margin: 0;
9575     display: inline-flex;
9576     outline: 0;
9577     padding: 0;
9578     position: relative;
9579     align-items: center;
9580     user-select: none;
9581     border-radius: 0;
9582     vertical-align: middle;
9583     -moz-appearance: none;
9584     justify-content: center;
9585     text-decoration: none;
9586     background-color: transparent;
9587     -webkit-appearance: none;
9588     -webkit-tap-highlight-color: transparent;
9589   }
9590   .MuiButton-root {
9591     color: rgba(0, 0, 0, 0.87);
9592     padding: 6px 16px;
9593     font-size: 0.875rem;
9594     min-width: 64px;
9595     box-sizing: border-box;
9596     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;
9597     font-family: Roboto,sans-serif;
9598     font-weight: 500;
9599     line-height: 1.75;
9600     border-radius: 4px;
9601     text-transform: uppercase;
9602   }
9603   .MuiButton-contained {
9604     color: rgba(0, 0, 0, 0.87);
9605     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);
9606     background-color: #e0e0e0;
9607   }
9608   .MuiButtonBase-root.Mui-disabled {
9609     cursor: default;
9610     pointer-events: none;
9611   }
9612   .MuiButton-label {
9613     width: 100%;
9614     display: inherit;
9615     align-items: inherit;
9616     justify-content: inherit;
9617   }
9618   .cartButton_login_content__2j1f7 {
9619     display: -moz-box;
9620     display: flex;
9621     text-align: center;
9622     z-index: 9;
9623     font-size: 18px;
9624     font-weight: 500;
9625     color: #fff;
9626   }
9627   
9628   .jss35 {
9629     top: 5px;
9630     right: 5px;
9631     padding: 4px;
9632     position: absolute;
9633     border-radius: 50%;
9634   }
9635   .jss67 {
9636     cursor: pointer;
9637     font-size: 15px;
9638     line-height: 1.3;
9639     padding-left: 5px;
9640   }
9641   .jss69 {
9642     color: #222222;
9643   }
9644   .jss80 {
9645     color: #fff;
9646     width: 100%;
9647     height: 52px;
9648     padding: 11px 16px;
9649     font-size: 18px;
9650     min-width: 88px;
9651     min-height: 36px;
9652     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;
9653     font-weight: 500;
9654     line-weight: 1em;
9655     border-radius: 4px;
9656     text-transform: uppercase;
9657     background-color: #E87325;
9658   }
9659   @media (min-width: 991px){
9660     .cartButton_login_content__2j1f7 {
9661         font-weight: 500;
9662     }
9663   }
9664 
9665   @media (max-width: 992px) {
9666     #location-lock-dialog {
9667       width: 100%;
9668       top: auto;
9669       bottom: 0;
9670       padding-left: 0;
9671       padding-right: 0;
9672     }
9673     .MuiFormGroup-row {
9674       display: block
9675     }
9676     .MuiIconButton-label input {
9677       margin: 0;
9678     }
9679   }
9680 </style>
9681 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;">
9682   <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
9683   <div tabindex="0" data-test="sentinelStart"></div>
9684   <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;">
9685     <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog">
9686       <div class="jss31 undefined" id="location-lock-dialog">
9687         <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
9688           <span class="MuiIconButton-label">
9689             <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
9690               <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>
9691             </svg>
9692           </span>
9693           <span class="MuiTouchRipple-root"></span>
9694         </button>
9695         <div>
9696           <div class="jss36">Select Delivery Location</div>
9697           <div class="jss37">Select a delivery location to see product availability</div>
9698         </div>
9699         <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
9700           <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
9701             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false">
9702               <span class="MuiIconButton-label">
9703                 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location">
9704                 <span class="jss41"></span>
9705               </span>
9706               <span class="MuiTouchRipple-root"></span>
9707             </span>
9708             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
9709               <span class="jss67 jss69">Jabodetabek</span>
9710             </span>
9711           </label>
9712           <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
9713             <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false">
9714               <span class="MuiIconButton-label">
9715                 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location">
9716                 <span class="jss40"></span>
9717               </span>
9718               <span class="MuiTouchRipple-root"></span>
9719             </span>
9720             <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
9721               <span class="jss67 jss68">Outside Jabodetabek</span>
9722             </span>
9723           </label>
9724         </div>
9725         <div>
9726           <div class="MuiGrid-root location-popup_area-block__sp9Ws">
9727             <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
9728               <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
9729                 <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>
9730               </div>
9731               <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
9732                 <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
9733               </div>
9734               <div style="width: 100%;">
9735                 <select id="choose-location" class="form-control">
9736                   <option value="">Choose Location</option>
9737                   <option value="jakarta">Jakarta</option>
9738                   <option value="bogor">Banjarnegara</option>
9739                   <option value="depok">Deli</option>
9740                   <option value="tangerang">Tangerang</option>
9741                   <option value="bekasi">Bekasi</option>
9742                 </select>
9743               </div>
9744             </div>
9745           </div>
9746         </div>
9747         <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="">
9748           <span class="MuiButton-label">
9749             <span class=""></span>
9750             <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span>
9751           </span>
9752         </button>
9753       </div>
9754     </div>
9755   </div>
9756   <div tabindex="0" data-test="sentinelEnd"></div>
9757 </div>
9758 
9759 
9759<script>
9760   const jabodetabek = [
9761     {
9762       "code": "jakarta",
9763       "city": "jakarta",
9764       "zip": []
9765     },
9766     {
9767       "code": "bogor",
9768       "city": "bogor",
9769       "zip": []
9770     },
9771     {
9772       "code": "depok",
9773       "city": "depok",
9774       "zip": []
9775     },
9776     {
9777       "code": "tangerang",
9778       "city": "tangerang",
9779       "zip": []
9780     },
9781     {
9782       "code": "bekasi",
9783       "city": "bekasi",
9784       "zip": []
9785     }
9786   ]
9787   let cityNonJabodetabek = [
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     
10000     
10001     
10002     
10003     
10004     
10005     
10006     
10007     
10008     
10009     
10010     
10011     
10012     
10013     
10014     
10015     
10016     
10017     
10018     
10019     
10020     
10021     
10022     
10023     
10024     
10025     
10026     
10027     
10028     
10029     
10030     
10031     
10032     
10033     
10034     
10035     
10036     
10037     
10038     
10039     
10040     
10041     
10042     
10043     
10044     
10045     
10046     
10047     
10048     
10049     
10050     
10051     
10052     
10053     
10054     
10055     
10056     
10057     
10058     
10059     
10060     
10061     
10062     
10063     
10064     
10065     
10066     
10067     
10068     
10069     
10070     
10071     
10072     
10073     
10074     
10075     
10076     
10077     
10078     
10079     
10080     
10081     
10082     
10083     
10084     
10085     
10086     
10087     
10088     
10089     
10090     
10091     
10092     
10093     
10094     
10095     
10096     
10097     
10098     
10099     
10100     
10101     
10102     
10103     
10104     
10105     
10106     
10107     
10108     
10109     
10110     
10111     
10112     
10113     
10114     
10115     
10116     
10117     
10118     
10119     
10120     
10121     
10122     
10123     
10124     
10125     
10126     
10127     
10128     
10129     
10130     
10131     
10132     
10133     
10134     
10135     
10136     
10137     
10138     
10139     
10140     
10141     
10142     
10143     
10144     
10145     
10146     
10147     
10148     
10149     
10150     
10151     
10152     
10153     
10154     
10155     
10156     
10157     
10158     
10159     
10160     
10161     
10162     
10163     
10164     
10165     
10166     
10167     
10168     
10169     
10170     
10171     
10172     
10173     
10174     
10175     
10176     
10177     
10178     
10179     
10180     
10181     
10182     
10183     
10184     
10185     
10186     
10187     
10188     
10189     
10190     
10191     
10192     
10193     
10194     
10195     
10196     
10197     
10198     
10199     
10200     
10201     
10202     
10203     
10204     
10205     
10206     
10207     
10208     
10209     
10210     
10211     
10212     
10213     
10214     
10215     
10216     
10217     
10218     
10219     
10220     
10221     
10222     
10223     
10224     
10225     
10226     
10227     
10228     
10229     
10230     
10231     
10232     
10233     
10234     
10235     
10236     
10237     
10238     
10239     
10240     
10241     
10242     
10243     
10244     
10245     
10246     
10247     
10248     
10249     
10250     
10251     
10252     
10253     
10254     
10255     
10256     
10257     
10258     
10259     
10260     
10261     
10262     
10263     
10264     
10265     
10266     
10267     
10268     
10269     
10270     
10271     
10272     
10273     
10274     
10275     
10276     
10277     
10278     
10279     
10280     
10281     
10282     
10283     
10284     
10285     
10286     
10287     
10288     
10289     
10290     
10291     
10292     
10293     
10294     
10295     
10296     
10297     
10298     
10299     
10300     
10301     
10302     
10303     
10304     
10305     
10306     
10307     
10308     
10309     
10310     
10311     
10312     
10313     
10314     
10315     
10316     
10317     
10318     
10319     
10320     
10321     
10322     
10323     
10324     
10325     
10326     
10327     
10328     
10329     
10330     
10331     
10332     
10333     
10334     
10335     
10336     
10337     
10338     
10339     
10340     
10341     
10342     
10343     
10344     
10345     
10346     
10347     
10348     
10349     
10350     
10351     
10352     
10353     
10354     
10355     
10356     
10357     
10358     
10359     
10360     
10361     
10362     
10363     
10364     
10365     
10366     
10367     
10368     
10369     
10370     
10371     
10372     
10373     
10374     
10375     
10376     
10377     
10378     
10379     
10380     
10381     
10382     
10383     
10384     
10385     
10386     
10387     
10388     
10389     
10390     
10391     
10392     
10393     
10394     
10395     
10396     
10397     
10398     
10399     
10400     
10401     
10402     
10403     
10404     
10405     
10406     
10407     
10408     
10409     
10410     
10411     
10412     
10413     
10414     
10415     
10416     
10417     
10418     
10419     
10420     
10421     
10422     
10423     
10424     
10425     
10426     
10427     
10428     
10429     
10430     
10431     
10432     
10433     
10434     
10435     
10436     
10437     
10438     
10439     
10440     
10441     
10442     
10443     
10444     
10445     
10446     
10447     
10448     
10449     
10450     
10451     
10452     
10453     
10454     
10455     
10456     
10457     
10458     
10459     
10460     
10461     
10462     
10463     
10464     
10465     
10466     
10467     
10468     
10469     
10470     
10471     
10472     
10473     
10474     
10475     
10476     
10477     
10478     
10479     
10480     
10481     
10482     
10483     
10484     
10485     
10486     
10487     
10488     
10489     
10490     
10491     
10492     
10493     
10494     
10495     
10496     
10497     
10498     
10499     
10500     
10501     
10502     
10503     
10504     
10505     
10506     
10507     
10508     
10509     
10510     
10511     
10512     
10513     
10514     
10515     
10516     
10517     
10518     
10519     
10520     
10521     
10522     
10523     
10524     
10525     
10526     
10527     
10528     
10529     
10530     
10531     
10532     
10533     
10534     
10535     
10536     
10537     
10538     
10539     
10540     
10541     
10542     
10543     
10544     
10545     
10546     
10547     
10548     
10549     
10550     
10551     
10552     
10553     
10554     
10555     
10556     
10557     
10558     
10559     
10560     
10561     
10562     
10563     
10564     
10565     
10566     
10567     
10568     
10569     
10570     
10571     
10572     
10573     
10574     
10575     
10576     
10577     
10578     
10579     
10580     
10581     
10582     
10583     
10584     
10585     
10586     
10587     
10588     
10589     
10590     
10591     
10592     
10593     
10594     
10595     
10596     
10597     
10598     
10599     
10600     
10601     
10602     
10603     
10604     
10605     
10606     
10607     
10608     
10609     
10610     
10611     
10612     
10613     
10614     
10615     
10616     
10617     
10618     
10619     
10620     
10621     
10622     
10623     
10624     
10625     
10626     
10627     
10628     
10629     
10630     
10631     
10632     
10633     
10634     
10635     
10636     
10637     
10638     
10639     
10640     
10641     
10642     
10643     
10644     
10645     
10646     
10647     
10648     
10649     
10650     
10651     
10652     
10653     
10654     
10655     
10656     
10657     
10658     
10659     
10660     
10661     
10662     
10663     
10664     
10665     
10666     
10667     
10668     
10669     
10670     
10671     
10672     
10673     
10674     
10675     
10676     
10677     
10678     
10679     
10680     
10681     
10682     
10683     
10684     
10685     
10686     
10687     
10688     
10689     
10690     
10691     
10692     
10693     
10694     
10695     
10696     
10697     
10698     
10699     
10700     
10701     
10702     
10703     
10704     
10705     
10706     
10707     
10708     
10709     
10710     
10711     
10712     
10713     
10714     
10715     
10716     
10717     
10718     
10719     
10720     
10721     
10722     
10723     
10724     
10725     
10726     
10727     
10728     
10729     
10730     
10731     
10732     
10733     
10734     
10735     
10736     
10737     
10738     
10739     
10740     
10741     
10742     
10743     
10744     
10745     
10746     
10747     
10748     
10749     
10750     
10751     
10752     
10753     
10754     
10755     
10756     
10757     
10758     
10759     
10760     
10761     
10762     
10763     
10764     
10765     
10766     
10767     
10768     
10769     
10770     
10771     
10772     
10773     
10774     
10775     
10776     
10777     
10778     
10779     
10780     
10781     
10782     
10783     
10784     
10785     
10786     
10787     
10788     
10789     
10790     
10791     
10792     
10793     
10794     
10795     
10796     
10797     
10798     
10799     
10800     
10801     
10802     
10803     
10804     
10805     
10806     
10807     
10808     
10809     
10810     
10811     
10812     
10813     
10814     
10815     
10816     
10817     
10818     
10819     
10820     
10821     
10822     
10823     
10824     
10825     
10826     
10827     
10828     
10829     
10830     
10831     
10832     
10833     
10834     
10835     
10836     
10837     
10838     
10839     
10840     
10841     
10842     
10843     
10844     
10845     
10846     
10847     
10848     
10849     
10850     
10851     
10852     
10853     
10854     
10855     
10856     
10857     
10858     
10859     
10860     
10861     
10862     
10863     
10864     
10865     
10866     
10867     
10868     
10869     
10870     
10871     
10872     
10873     
10874     
10875     
10876     
10877     
10878     
10879     
10880     
10881     
10882     
10883     
10884     
10885     
10886     
10887     
10888     
10889     
10890     
10891     
10892     
10893     
10894     
10895     
10896     
10897     
10898     
10899     
10900     
10901     
10902     
10903     
10904     
10905     
10906     
10907     
10908     
10909     
10910     
10911     
10912     
10913     
10914     
10915     
10916     
10917     
10918     
10919     
10920     
10921     
10922     
10923     
10924     
10925     
10926     
10927     
10928     
10929     
10930     
10931     
10932     
10933     
10934     
10935     
10936     
10937     
10938     
10939     
10940     
10941     
10942     
10943     
10944     
10945     
10946     
10947     
10948     
10949     
10950     
10951     
10952     
10953     
10954     
10955     
10956     
10957     
10958     
10959     
10960     
10961     "pengiriman_aceh",
10962     
10963     
10964     
10965     
10966     
10967     "pengiriman_ambon",
10968     
10969     
10970     
10971     
10972     
10973     "pengiriman_atambua",
10974     
10975     
10976     
10977     
10978     
10979     "pengiriman_badung",
10980     
10981     
10982     
10983     
10984     
10985     "pengiriman_bali",
10986     
10987     
10988     
10989     
10990     
10991     "pengiriman_balikpapan",
10992     
10993     
10994     
10995     
10996     
10997     "pengiriman_bandar lampung",
10998     
10999     
11000     
11001     
11002     
11003     "pengiriman_bandung",
11004     
11005     
11006     
11007     
11008     
11009     "pengiriman_bandung barat",
11010     
11011     
11012     
11013     
11014     
11015     "pengiriman_banjarmasin",
11016     
11017     
11018     
11019     
11020     
11021     "pengiriman_banyumas",
11022     
11023     
11024     
11025     
11026     
11027     "pengiriman_banyuwangi",
11028     
11029     
11030     
11031     
11032     
11033     "pengiriman_batam",
11034     
11035     
11036     
11037     
11038     
11039     
11040     
11041     
11042     
11043     "pengiriman_biak",
11044     
11045     
11046     
11047     
11048     
11049     "pengiriman_binjai",
11050     
11051     
11052     
11053     
11054     
11055     "pengiriman_blitar",
11056     
11057     
11058     
11059     
11060     
11061     "pengiriman_blora",
11062     
11063     
11064     
11065     
11066     
11067     
11068     
11069     
11070     
11071     "pengiriman_bojonegoro",
11072     
11073     
11074     
11075     
11076     
11077     "pengiriman_boyolali",
11078     
11079     
11080     
11081     
11082     
11083     "pengiriman_bukittinggi",
11084     
11085     
11086     
11087     
11088     
11089     "pengiriman_buleleng",
11090     
11091     
11092     
11093     
11094     
11095     "pengiriman_ciamis",
11096     
11097     
11098     
11099     
11100     
11101     "pengiriman_cianjur",
11102     
11103     
11104     
11105     
11106     
11107     "pengiriman_cibinong",
11108     
11109     
11110     
11111     
11112     
11113     "pengiriman_cikarang",
11114     
11115     
11116     
11117     
11118     
11119     "pengiriman_cikupa",
11120     
11121     
11122     
11123     
11124     
11125     "pengiriman_cilacap",
11126     
11127     
11128     
11129     
11130     
11131     "pengiriman_cileunyi",
11132     
11133     
11134     
11135     
11136     
11137     "pengiriman_cimahi",
11138     
11139     
11140     
11141     
11142     
11143     "pengiriman_cirebon",
11144     
11145     
11146     
11147     
11148     
11149     "pengiriman_ciwidey",
11150     
11151     
11152     
11153     
11154     
11155     "pengiriman_deli serdang",
11156     
11157     
11158     
11159     
11160     
11161     "pengiriman_demak",
11162     
11163     
11164     
11165     
11166     
11167     "pengiriman_denpasar",
11168     
11169     
11170     
11171     
11172     
11173     
11174     
11175     
11176     
11177     "pengiriman_garut",
11178     
11179     
11180     
11181     
11182     
11183     "pengiriman_gianyar",
11184     
11185     
11186     
11187     
11188     
11189     "pengiriman_gresik",
11190     
11191     
11192     
11193     
11194     
11195     "pengiriman_gunung kidul",
11196     
11197     
11198     
11199     
11200     
11201     
11202     
11203     
11204     
11205     "pengiriman_jambi",
11206     
11207     
11208     
11209     
11210     
11211     "pengiriman_jayapura",
11212     
11213     
11214     
11215     
11216     
11217     "pengiriman_jember",
11218     
11219     
11220     
11221     
11222     
11223     "pengiriman_jepara",
11224     
11225     
11226     
11227     
11228     
11229     "pengiriman_jombang",
11230     
11231     
11232     
11233     
11234     
11235     "pengiriman_karanganyar",
11236     
11237     
11238     
11239     
11240     
11241     "pengiriman_karawang",
11242     
11243     
11244     
11245     
11246     
11247     "pengiriman_karo",
11248     
11249     
11250     
11251     
11252     
11253     "pengiriman_kebumen",
11254     
11255     
11256     
11257     
11258     
11259     "pengiriman_kediri",
11260     
11261     
11262     
11263     
11264     
11265     "pengiriman_keerom",
11266     
11267     
11268     
11269     
11270     
11271     "pengiriman_kendal",
11272     
11273     
11274     
11275     
11276     
11277     "pengiriman_klaten",
11278     
11279     
11280     
11281     
11282     
11283     
11284     
11285     
11286     
11287     "pengiriman_kudus",
11288     
11289     
11290     
11291     
11292     
11293     "pengiriman_kupang",
11294     
11295     
11296     
11297     
11298     
11299     "pengiriman_lainnya",
11300     
11301     
11302     
11303     
11304     
11305     "pengiriman_lamongan",
11306     
11307     
11308     
11309     
11310     
11311     "pengiriman_lampung",
11312     
11313     
11314     
11315     
11316     
11317     "pengiriman_lampung barat",
11318     
11319     
11320     
11321     
11322     
11323     "pengiriman_lembang",
11324     
11325     
11326     
11327     
11328     
11329     "pengiriman_lombok",
11330     
11331     
11332     
11333     
11334     
11335     "pengiriman_lumajang",
11336     
11337     
11338     
11339     
11340     
11341     "pengiriman_madiun",
11342     
11343     
11344     
11345     
11346     
11347     "pengiriman_magelang",
11348     
11349     
11350     
11351     
11352     
11353     "pengiriman_majalengka",
11354     
11355     
11356     
11357     
11358     
11359     "pengiriman_makassar",
11360     
11361     
11362     
11363     
11364     
11365     "pengiriman_malang",
11366     
11367     
11368     
11369     
11370     
11371     "pengiriman_manado",
11372     
11373     
11374     
11375     
11376     
11377     "pengiriman_medan",
11378     
11379     
11380     
11381     
11382     
11383     "pengiriman_mengwi",
11384     
11385     
11386     
11387     
11388     
11389     "pengiriman_mojokerto",
11390     
11391     
11392     
11393     
11394     
11395     "pengiriman_nganjuk",
11396     
11397     
11398     
11399     
11400     
11401     "pengiriman_ngawi",
11402     
11403     
11404     
11405     
11406     
11407     "pengiriman_padang",
11408     
11409     
11410     
11411     
11412     
11413     "pengiriman_palembang",
11414     
11415     
11416     
11417     
11418     
11419     "pengiriman_pasuruan",
11420     
11421     
11422     
11423     
11424     
11425     "pengiriman_pati",
11426     
11427     
11428     
11429     
11430     
11431     "pengiriman_pekalongan",
11432     
11433     
11434     
11435     
11436     
11437     "pengiriman_pekanbaru",
11438     
11439     
11440     
11441     
11442     
11443     "pengiriman_pemalang",
11444     
11445     
11446     
11447     
11448     
11449     "pengiriman_ponorogo",
11450     
11451     
11452     
11453     
11454     
11455     "pengiriman_pontianak",
11456     
11457     
11458     
11459     
11460     
11461     "pengiriman_probolinggo",
11462     
11463     
11464     
11465     
11466     
11467     "pengiriman_purbalingga",
11468     
11469     
11470     
11471     
11472     
11473     "pengiriman_purwakarta",
11474     
11475     
11476     
11477     
11478     
11479     "pengiriman_purwokerto",
11480     
11481     
11482     
11483     
11484     
11485     "pengiriman_rembang",
11486     
11487     
11488     
11489     
11490     
11491     "pengiriman_riau",
11492     
11493     
11494     
11495     
11496     
11497     "pengiriman_salatiga",
11498     
11499     
11500     
11501     
11502     
11503     "pengiriman_samarinda",
11504     
11505     
11506     
11507     
11508     
11509     "pengiriman_semarang",
11510     
11511     
11512     
11513     
11514     
11515     "pengiriman_sentani",
11516     
11517     
11518     
11519     
11520     
11521     "pengiriman_serang",
11522     
11523     
11524     
11525     
11526     
11527     "pengiriman_sidoarjo",
11528     
11529     
11530     
11531     
11532     
11533     "pengiriman_singkawang",
11534     
11535     
11536     
11537     
11538     
11539     "pengiriman_sragen",
11540     
11541     
11542     
11543     
11544     
11545     "pengiriman_subang",
11546     
11547     
11548     
11549     
11550     
11551     "pengiriman_sukabumi",
11552     
11553     
11554     
11555     
11556     
11557     "pengiriman_sumbawa",
11558     
11559     
11560     
11561     
11562     
11563     "pengiriman_surabaya",
11564     
11565     
11566     
11567     
11568     
11569     "pengiriman_surakarta solo",
11570     
11571     
11572     
11573     
11574     
11575     
11576     
11577     
11578     
11579     "pengiriman_tasikmalaya",
11580     
11581     
11582     
11583     
11584     
11585     "pengiriman_tegal",
11586     
11587     
11588     
11589     
11590     
11591     "pengiriman_timika",
11592     
11593     
11594     
11595     
11596     
11597     "pengiriman_wamena",
11598     
11599     
11600     
11601     
11602     
11603     "pengiriman_wiyung",
11604     
11605     
11606     
11607     
11608     
11609     "pengiriman_wonokromo",
11610     
11611     
11612     
11613     
11614     
11615     "pengiriman_Yogyakarta",
11616     
11617     
11618     
11619     
11620     
11621     
11622     
11623     
11624     
11625     
11626     
11627     
11628     
11629     
11630     
11631     
11632     
11633     
11634     
11635     
11636     
11637     
11638     
11639     
11640     
11641     
11642     
11643     
11644     
11645     
11646     
11647     
11648     
11649     
11650     
11651     
11652     
11653     
11654     
11655     
11656     
11657     
11658     
11659     
11660     
11661     
11662     
11663     
11664     
11665     
11666     
11667     
11668     
11669     
11670     
11671     
11672     
11673     
11674     
11675     
11676     
11677     
11678     
11679     
11680     
11681     
11682     
11683     
11684     
11685     
11686     
11687     
11688     
11689     
11690     
11691     
11692     
11693     
11694     
11695     
11696     
11697     
11698     
11699     
11700     
11701     
11702     
11703     
11704     
11705     
11706     
11707     
11708     
11709     
11710     
11711     
11712     
11713     
11714     
11715     
11716     
11717     
11718     
11719     
11720     
11721     
11722     
11723     
11724     
11725     
11726     
11727     
11728     
11729     
11730     
11731     
11732     
11733     
11734     
11735     
11736     
11737     
11738     
11739     
11740     
11741     
11742     
11743     
11744     
11745     
11746     
11747     
11748     
11749     
11750     
11751     
11752     
11753     
11754     
11755     
11756     
11757     
11758     
11759     
11760     
11761     
11762     
11763     
11764     
11765     
11766     
11767     
11768     
11769     
11770     
11771     
11772     
11773     
11774     
11775     
11776     
11777     
11778     
11779     
11780     
11781     
11782     
11783     
11784     
11785     
11786     
11787     
11788     
11789     
11790     
11791     
11792     
11793     
11794     
11795     
11796     
11797     
11798     
11799     
11800     
11801     
11802     
11803     
11804     
11805     
11806     
11807     
11808     
11809     
11810     
11811     
11812     
11813     
11814     
11815     
11816     
11817     
11818     
11819     
11820     
11821     
11822     
11823     
11824     
11825     
11826     
11827     
11828     
11829     
11830     
11831     
11832     
11833     
11834     
11835     
11836     
11837     
11838     
11839     
11840     
11841     
11842     
11843     
11844     
11845     
11846     
11847     
11848     
11849     
11850     
11851     
11852     
11853     
11854     
11855     
11856     
11857     
11858     
11859     
11860     
11861     
11862     
11863     
11864     
11865     
11866     
11867     
11868     
11869     
11870     
11871     
11872     
11873     
11874     
11875     
11876     
11877     
11878     
11879     
11880     
11881     
11882     
11883     
11884     
11885     
11886     
11887     
11888     
11889     
11890     
11891     
11892     
11893     
11894     
11895     
11896     
11897     
11898     
11899     
11900     
11901     
11902     
11903     
11904     
11905     
11906     
11907     
11908     
11909     
11910     
11911     
11912     
11913     
11914     
11915     
11916     
11917     
11918     
11919     
11920     
11921     
11922     
11923     
11924     
11925     
11926     
11927     
11928     
11929     
11930     
11931     
11932     
11933     
11934     
11935     
11936     
11937     
11938     
11939     
11940     
11941     
11942     
11943     
11944     
11945     
11946     
11947     
11948     
11949     
11950     
11951     
11952     
11953     
11954     
11955     
11956     
11957     
11958     
11959     
11960     
11961     
11962     
11963     
11964     
11965     
11966     
11967     
11968     
11969     
11970     
11971     
11972     
11973     
11974     
11975     
11976     
11977     
11978     
11979     
11980     
11981     
11982     
11983     
11984     
11985     
11986     
11987     
11988     
11989     
11990     
11991     
11992     
11993     
11994     
11995     
11996     
11997     
11998     
11999     
12000     
12001     
12002     
12003     
12004     
12005     
12006     
12007     
12008     
12009     
12010     
12011     
12012     
12013     
12014     
12015     
12016     
12017     
12018     
12019     
12020     
12021     
12022     
12023     
12024     
12025     
12026     
12027     
12028     
12029     
12030     
12031     
12032     
12033     
12034     
12035     
12036     
12037     
12038     
12039     
12040     
12041     
12042     
12043     
12044     
12045     
12046     
12047     
12048     
12049     
12050     
12051     
12052     
12053     
12054     
12055     
12056     
12057     
12058     
12059     
12060     
12061     
12062     
12063     
12064     
12065     
12066     
12067     
12068     
12069     
12070     
12071     
12072     
12073     
12074     
12075     
12076     
12077     
12078     
12079     
12080     
12081     
12082     
12083     
12084     
12085     
12086     
12087     
12088     
12089     
12090     
12091     
12092     
12093     
12094     
12095     
12096     
12097     
12098     
12099     
12100     
12101     
12102     
12103     
12104     
12105     
12106     
12107     
12108     
12109     
12110     
12111     
12112     
12113     
12114     
12115     
12116     
12117     
12118     
12119     
12120     
12121     
12122     
12123     
12124     
12125     
12126     
12127     
12128     
12129     
12130     
12131     
12132     
12133     
12134     
12135     
12136     
12137     
12138     
12139     
12140     
12141     
12142     
12143     
12144     
12145     
12146     
12147     
12148     
12149     
12150     
12151     
12152     
12153     
12154     
12155     
12156     
12157     
12158     
12159     
12160     
12161     
12162     
12163     
12164     
12165     
12166     
12167     
12168     
12169     
12170     
12171     
12172     
12173     
12174     
12175     
12176     
12177     
12178     
12179     
12180     
12181     
12182     
12183     
12184     
12185     
12186     
12187     
12188     
12189     
12190     
12191     
12192     
12193     
12194     
12195     
12196     
12197     
12198     
12199     
12200     
12201     
12202     
12203     
12204     
12205     
12206     
12207     
12208     
12209     
12210     
12211     
12212     
12213     
12214     
12215     
12216     
12217     
12218     
12219     
12220     
12221     
12222     
12223     
12224     
12225   ]
12226   console.log(cityNonJabodetabek)
12227   let non_jabodetabek = []
12228   for(var i=0;i<cityNonJabodetabek.length;i++) {
12229     const obj = {
12230       "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'),
12231       "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'),
12232       "zip": []
12233     }
12234     non_jabodetabek.push(obj)
12235   }
12236   let current_location = getCookie("location_delivery")
12237   $("[name=location]").change(function(){
12238     let v = $(this).val()
12239     let option = []
12240     if(v == 'Jabodetabek') {
12241       for(var i=0;i<jabodetabek.length;i++) {
12242         const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
12243         option.push(jabodetabekHtml)
12244       }
12245       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
12246     } else {
12247       for(var i=0;i<non_jabodetabek.length;i++) {
12248         const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
12249         option.push(nonjabodetabekHtml)
12250       }
12251       $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
12252     }
12253   })
12254 
12255   $("#location-lock-submit").click(function(e){
12256     let select = $("#choose-location")
12257     let value = select.val().toLowerCase()
12258     console.log(value)
12259     if(select.val() == "") {
12260       return alert("Choose Your Location")
12261       e.preventDefault()
12262     }
12263     setCookie("location_delivery",value,1000000);
12264     
12265     location.reload();
12266     
12267   })
12268 
12269   $("#close-popup-delivery").click(function(){
12270     $(".MuiDialog-root").hide()
12271     if(!current_location){
12272       setCookie("location_delivery","jakarta",1000000);
12273       $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
12274     }
12275   })
12276   $("#loc_delivery, #loc_delivery_mobile").click(function(){
12277     $(".MuiDialog-root").show()
12278   })
12279 
12280   
12281   if(!current_location){
12282     
12283   } else {
12284     $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
12285     console.log(current_location)
12286     $("#choose-location").each(function(){
12287       if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){
12288         $("#jabodetabek").trigger("click")
12289       } else {
12290         $("#non-jabodetabek").trigger("click")
12291       }
12292       $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected")
12293     })
12294   }
12295 
12296   // 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'){
12297   //   $("#timeMalam").attr("disabled", false)
12298   // } else {
12299   //   $("#timeMalam").attr("disabled", true)
12300   // }
12301 
12302   if(current_location && current_location != 'jakarta') {
12303     $("#self-pickup").attr("disabled", true)
12304   }
12305 
12306   function setCookie(name,value,days) {
12307     var expires = "";
12308     if (days) {
12309       var date = new Date();
12310       date.setTime(date.getTime() + (days*24*60*60*1000));
12311       expires = "; expires=" + date.toUTCString();
12312     }
12313     document.cookie = name + "=" + (value || "")  + expires + "; path=/";
12314   }
12315   function getCookie(name) {
12316     var nameEQ = name + "=";
12317     var ca = document.cookie.split(';');
12318     for(var i=0;i < ca.length;i++) {
12319       var c = ca[i];
12320       while (c.charAt(0)==' ') c = c.substring(1,c.length);
12321       if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
12322     }
12323     return null;
12324   }
12325 </script>
12325
12326 <!-- One Tap -->
12327     
12327<script>
12328       console.log("Outerbloom...");
12329     </script>
12329
12330   <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
12331 
12332 
12333 
12334 
12335 
12336 
12337 
12338 
12339 
12340 
12341 
12342 
12343 
12344 
12345 
12346 
12347 
12348 
12349 
12350 
12351 
12352 
12353 
12354 
12355 
12356 
12357 
12358 
12359 
12360 
12361 
12362 
12363 
12364 
12365 
12366 
12367 
12368 
12369 
12370 
12371 
12372 
12373 
12374 
12375 
12376 
12377 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
12378 
12378<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
12378
12379 
12379<script>
12380   const widgetConfig = {
12381     id: "clz7897za002cz7otleaz0d3d",
12382     showQuickResponse: false,
12383     quickResponsesData: [],
12384     themeColor: "#ffffff",
12385     widgetText: "",
12386     radiusType: "circle",
12387     widgetIconType: "whatsapp",
12388     position: "right",
12389     storeLogo: "",
12390     storeName: "Outerbloom",
12391     storeDescription: "",
12392     size: "small",
12393     showCard: false,
12394     widgetColorType: "solid",
12395     widgetColor1: "#008069",
12396     widgetColor2: "#008069",
12397     social: {
12398       socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"],
12399       values: {
12400         instagram: {
12401           enabled: false,
12402           value: "",
12403         },
12404         facebook: {
12405           enabled: false,
12406           value: "",
12407         },
12408         email: {
12409           enabled: false,
12410           value: "",
12411         },
12412         x: {
12413           enabled: false,
12414           value: "",
12415         },
12416         tiktok: {
12417           enabled: false,
12418           value: "",
12419         },
12420         linkedin: {
12421           enabled: false,
12422           value: "",
12423         },
12424         youtube: {
12425           enabled: false,
12426           value: "",
12427         },
12428       },
12429     },
12430   };
12431 
12432   function initializeWidget() {
12433     if (typeof BBBWidget !== 'undefined') {
12434       BBBWidget.init(widgetConfig);
12435     } else {
12436       setTimeout(initializeWidget, 100);
12437     }
12438   }
12439 
12440   initializeWidget();</script>
12440
12441 
12442 
12443 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
12444 
12445 
12446 <div style="position: fixed; bottom: 0; right: 0"></div>
12447 
12448 
12448<script>
12449 console.info("bitlogin extension version: v2.5.7");
12450 
12451 const googleScript = document.createElement("script");
12452 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
12453 document.head.append(googleScript);
12454 
12455 const bitLoginBaseUrl = "https://api.bitbybit.studio";
12456 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
12457 
12458 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"}};
12459 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
12459n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}];
12460 const redirectUrl = appearance.redirectLink;
12461 
12462 let locationCacheSet = false;
12463 let errorLocation = false;
12464 let oneTapSet = false;
12465 
12466 let bitloginCache = {
12467   appearance: appearance,
12468   config: config
12469 };
12470 
12471 let isInitializing = false;
12472 const queue = [];
12473 
12474 // Add CSS for the popup
12475 const popupStyles = document.createElement('style');
12476 popupStyles.textContent = `
12477   /* Styles for login popup */
12478   .bitlogin-popup-overlay {
12479     position: fixed;
12480     top: 0;
12481     left: 0;
12482     width: 100%;
12483     height: 100%;
12484     background: rgba(0, 0, 0, 0.45);
12485     backdrop-filter: blur(4px);
12486     display: flex;
12487     align-items: center;
12488     justify-content: center;
12489     opacity: 0;
12490     transition: opacity 0.3s ease-in-out;
12491     z-index: 999999;
12492   }
12493   
12494   .bitlogin-popup-overlay.visible {
12495     opacity: 1;
12496   }
12497   
12498   .bitlogin-popup {
12499     background: #FFFFFF;
12500     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
12501     border-radius: 16px;
12502     width: 100%;
12503     max-width: 560px;
12504     display: flex;
12505     overflow: hidden;
12506     position: relative;
12507     opacity: 0;
12508     transform: translateY(20px) scale(0.98);
12509     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
12510   }
12511   
12512   .bitlogin-popup.visible {
12513     opacity: 1;
12514     transform: translateY(0) scale(1);
12515   }
12516   
12517   .bitlogin-popup-with-image {
12518     max-width: 640px;
12519   }
12520   
12521   .bitlogin-popup-right-image {
12522     flex-direction: row-reverse;
12523   }
12524   
12525   .bitlogin-popup-image {
12526     object-fit: cover;
12527     width: 50%;
12528     height: auto;
12529   }
12530   
12531   .bitlogin-popup-content {
12532     padding: 32px;
12533     position: relative;
12534     width: 50%;
12535   }
12536   
12537   .bitlogin-popup-close {
12538     position: absolute;
12539     top: 16px;
12540     right: 16px;
12541     background: white;
12542     border: none;
12543     width: 30px;
12544     height: 30px;
12545     display: flex;
12546     align-items: center;
12547     justify-content: center;
12548     cursor: pointer;
12549     transition: background-color 0.2s;
12550     color: inherit;
12551     padding: 0;
12552   }
12553   
12554   .bitlogin-popup-close:hover {
12555     background-color: #e5e5e5;
12556   }
12557   
12558   .bitlogin-popup-buttons {
12559     display: flex;
12560     flex-direction: column;
12561     gap: 12px;
12562     margin-top: 24px;
12563   }
12564   
12565   /* Button styles within popup - override width for popup buttons */
12566   .bitlogin-popup-buttons #google-login,
12567   .bitlogin-popup-buttons #facebook-login,
12568   .bitlogin-popup-buttons #apple-login,
12569   .bitlogin-popup-buttons #whatsapp-login,
12570   .bitlogin-popup-buttons #microsoft-login,
12571   .bitlogin-popup-buttons #twitter-login,
12572   .bitlogin-popup-buttons #amazon-login,
12573   .bitlogin-popup-buttons #instagram-login,
12574   .bitlogin-popup-buttons #magic-link-login,
12575   .bitlogin-popup-buttons #mobile-app-login {
12576     width: 100% !important;
12577     font-family: inherit !important;
12578   }
12579   
12580   .bitlogin-popup-footer {
12581     margin-top: 32px;
12582     text-align: center;
12583     font-size: 14px;
12584     opacity: 0.6;
12585   }
12586   
12587   /* Modern Typography */
12588   .bitlogin-popup h2 {
12589     margin-top: 12px;
12590     font-size: 21px !important;
12591     line-height: 1.2 !important;
12592     font-weight: 700 !important;
12593     letter-spacing: -0.02em !important;
12594     margin-bottom: 16px !important;
12595   }
12596   
12597   .bitlogin-popup-header {
12598     position: relative;
12599     margin-bottom: 24px;
12600   }
12601   
12602   /* Modern gradient accent */
12603   .bitlogin-popup-content > div {
12604     font-size: 16px !important;
12605     line-height: 1.2 !important;
12606     opacity: 0.85 !important;
12607   }
12608   
12609   /* Enhanced button interactions */
12610   .bitlogin-popup-buttons button {
12611     position: relative;
12612     overflow: hidden;
12613   }
12614   
12615   @keyframes ripple {
12616     0% {
12617       transform: scale(0, 0);
12618       opacity: 0.5;
12619     }
12620     100% {
12621       transform: scale(100, 100);
12622       opacity: 0;
12623     }
12624   }
12625   
12626   /* Responsive adjustments */
12627   @media (max-width: 640px) {
12628     .bitlogin-popup {
12629       max-width: 90%;
12630       width: 90%;
12631       margin: 0 16px;
12632     }
12633     
12634     .bitlogin-popup-with-image {
12635       flex-direction: column !important;
12636     }
12637     
12638     .bitlogin-popup-image {
12639       width: 100%;
12640       height: 180px;
12641     }
12642     
12643     .bitlogin-popup-content {
12644       padding: 24px;
12645     }
12646     
12647     .bitlogin-popup h2 {
12648       font-size: 24px !important;
12649     }
12650   }
12651 `;
12652 
12653 document.head.appendChild(popupStyles);
12654 
12655 // Add fonts link for different font options
12656 const fontsLink = document.createElement('link');
12657 fontsLink.rel = 'stylesheet';
12658 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';
12659 document.head.appendChild(fontsLink);
12660 
12661 (async () => {
12662   try {
12663     let host = window.location.host;
12664     if (host === "admin.shopify.com") {
12665       host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
12666     }
12667 
12668     const urlSearchParams = new URLSearchParams(window.location.search);
12669     const checkoutUrl = urlSearchParams.get("checkout_url");
12670 
12671     async function init({ inputRef, index }) {
12672       if (isInitializing) {
12673         queue.push(() => init({ inputRef, index }));
12674         return;
12675       }
12676 
12677       isInitializing = true;
12678 
12679       try {
12680         let bitLoginSectionRoot = document.querySelector(
12681           `.bitlogin-root[data-index="${index}"]`
12682         );
12683 
12684         const formRef = inputRef?.closest(
12685           "form:not([action='/account/recover'])"
12686         );
12687 
12688         if (formRef && !bitLoginSectionRoot) {
12689           await getLocation();
12690 
12691           bitLoginSectionRoot = document.createElement(`div`);
12692 
12693           bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
12694           bitLoginSectionRoot.setAttribute("data-index", `${index}`);
12695 
12696           updateAppearance({
12697             formRef,
12698             rootRef: bitLoginSectionRoot,
12699             host,
12700           });
12701         }
12702       } catch (err) {
12703         console.error(`error while initiating bitlogin extensions`, err);
12704       } finally {
12705         // Release the lock
12706         isInitializing = false;
12707 
12708         // Check if there are pending items in the queue
12709         if (queue.length > 0) {
12710           // Process the next function in the queue
12711           const nextFunction = queue.shift();
12712           nextFunction();
12713         }
12714       }
12715     }
12716 
12717     function initAll() {
12718       return new Promise((resolve, reject) => {
12719         setTimeout(async () => {
12720           const inputRefs = document.querySelectorAll(
12721             'input[name="customer[email]"]'
12722           );
12723 
12724           for (let i = 0; i < inputRefs.length; i++) {
12725             const currentInputRef = inputRefs[i];
12726             const isVisible = isElementVisible(currentInputRef);
12727 
12728             if (isVisible) {
12729               await init({ inputRef: currentInputRef, index: i });
12730             }
12731           }
12732 
12733           resolve("ok");
12734         }, 100);
12735       });
12736     }
12737 
12738     const observer = new MutationObserver((mutationsList) => {
12739       for (let mutation of mutationsList) {
12740         initAll();
12741       }
12742     });
12743 
12744     observer.observe(document.body, {
12745       childList: true,
12746       subtree: true,
12747       attributes: true,
12748     });
12749 
12750     initAll();
12751 
12752     if (appearance.googleOneTap) {
12753       setupOneTap({ host, checkoutUrl });
12754     }
12755 
12756     // Initialize popup
12757     await initPopup(host);
12758   } catch (error) {
12759     console.error("Error initializing BitLogin:", error);
12760   }
12761 })();
12762 
12763 async function initPopup(host) {
12764   // Check if user is already logged in using Liquid checks properly
12765   const isLoggedIn = false || 
12766                     document.querySelector('.customer-logout-link') || 
12767                     document.querySelector('.account-link') || 
12768                     window.location.pathname.includes('/account');
12769   
12770   if (isLoggedIn) {
12771     return; // User is logged in, don't show popup
12772   }
12773 
12774   try {
12775     // Fetch the popup configuration
12776     const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
12777       .then(res => res.json())
12778       .catch(err => {
12779         console.error('Error fetching popup configuration:', err);
12780         return null;
12781       });
12782 
12783     if (!popupConfig || !popupConfig.enabled) {
12784       return;
12784 // Don't show popup if disabled or config not found
12785     }
12786 
12787     // Create popup after 10 seconds
12788     setTimeout(() => {
12789       // Check if user is still on the page and still not logged in
12790       if (document.visibilityState === 'visible') {
12791         // Additional check in case user logged in during the 10 second wait
12792         const currentlyLoggedIn = false || 
12793                               document.querySelector('.customer-logout-link') || 
12794                               document.querySelector('.account-link');
12795         
12796         if (!currentlyLoggedIn) {
12797           createLoginPopup(popupConfig, host);
12798         }
12799       }
12800     }, 10000);
12801   } catch (error) {
12802     console.error('Error initializing popup:', error);
12803   }
12804 }
12805 
12806 function createLoginPopup(popupConfig, host) {
12807   // Font mapping
12808   const fontFamilyMap = {
12809     system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
12810     montserrat: 'Montserrat, sans-serif',
12811     roboto: 'Roboto, sans-serif',
12812     open_sans: 'Open Sans, sans-serif',
12813     noto_sans: 'Noto Sans, sans-serif',
12814     lato: 'Lato, sans-serif',
12815     poppins: 'Poppins, sans-serif',
12816     quicksand: 'Quicksand, sans-serif',
12817     raleway: 'Raleway, sans-serif',
12818     pt_sans: 'PT Sans, sans-serif',
12819     oswald: 'Oswald, sans-serif',
12820   };
12821 
12822   // Create overlay
12823   const overlay = document.createElement('div');
12824   overlay.className = 'bitlogin-popup-overlay';
12825   
12826   // Create popup container with appropriate styling
12827   const popup = document.createElement('div');
12828   popup.className = 'bitlogin-popup';
12829 
12830   if (popupConfig.layout === 'default') {
12831     popup.style.maxWidth = '400px';
12832   }
12833   
12834   // Function to close the popup
12835   const closePopup = () => {
12836     overlay.classList.remove('visible');
12837     popup.classList.remove('visible');
12838     setTimeout(() => {
12839       if (document.body.contains(overlay)) {
12840         document.body.removeChild(overlay);
12841       }
12842     }, 300);
12843   };
12844   
12845   // Add click handler to the overlay to close when clicking outside
12846   overlay.addEventListener('click', (event) => {
12847     // Close only if clicking directly on the overlay, not its children
12848     if (event.target === overlay) {
12849       closePopup();
12850     }
12851   });
12852   
12853   // Add escape key handler to close popup
12854   document.addEventListener('keydown', (event) => {
12855     if (event.key === 'Escape' && document.body.contains(overlay)) {
12856       closePopup();
12857     }
12858   });
12859 
12860   // Create layout with image if specified
12861   let contentWrapper;
12862   if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
12863     popup.classList.add('bitlogin-popup-with-image');
12864     
12865     if (popupConfig.layout === 'right') {
12866       popup.classList.add('bitlogin-popup-right-image');
12867     }
12868     
12869     // Add image
12870     const image = document.createElement('img');
12871     image.className = 'bitlogin-popup-image';
12872     image.src = popupConfig.popupImage;
12873     image.alt = 'Login';
12874     image.loading = 'lazy';
12875     popup.appendChild(image);
12876     
12877     // Create content container
12878     contentWrapper = document.createElement('div');
12879     contentWrapper.className = 'bitlogin-popup-content';
12880 
12881     if (popupConfig.layout === 'right') {
12882       const closeButton = document.createElement('button');
12883       closeButton.className = 'bitlogin-popup-close';
12884       closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
12885         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
12886       </svg>`;
12887       closeButton.setAttribute('aria-label', 'Close');
12888       closeButton.onclick = closePopup;
12889   
12890       popup.appendChild(closeButton);
12891     }
12892   } else {
12893     contentWrapper = document.createElement('div');
12894     contentWrapper.className = 'bitlogin-popup-content';
12895     contentWrapper.style.width = '100%';
12896   }
12897 
12898   // Set background style
12899   if (popupConfig.backgroundTheme === 'gradient') {
12900     contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
12901   } else {
12902     contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
12903   }
12904 
12905   // Apply font family
12906   contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
12907 
12908   if (popupConfig.layout !== 'right') {
12909     const closeButton = document.createElement('button');
12910     closeButton.className = 'bitlogin-popup-close';
12911     closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
12912       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
12913     </svg>`;
12914     closeButton.setAttribute('aria-label', 'Close');
12915     closeButton.onclick = closePopup;
12916   
12917     contentWrapper.appendChild(closeButton);
12918   }
12919 
12920   // Add heading with subtle animation effect
12921   const header = document.createElement('div');
12922   header.className = 'bitlogin-popup-header';
12923   
12924   const heading = document.createElement('h2');
12925   heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
12925its';
12926   heading.style.color = popupConfig.fontColor;
12927   header.appendChild(heading);
12928 
12929   // Add body text with improved formatting
12930   const bodyText = document.createElement('div');
12931   bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
12932   bodyText.style.color = popupConfig.fontColor;
12933   header.appendChild(bodyText);
12934   
12935   contentWrapper.appendChild(header);
12936 
12937   // Create buttons container with modern styling
12938   const buttonsContainer = document.createElement('div');
12939   buttonsContainer.className = 'bitlogin-popup-buttons';
12940   
12941   // Add social buttons
12942   const providerLabels = {
12943     'GOOGLE': 'Continue with Google',
12944     'FACEBOOK': 'Continue with Facebook',
12945     'APPLE': 'Continue with Apple',
12946     'WHATSAPP': 'Continue with WhatsApp',
12947     'MAGIC_LINK': 'Continue with Email',
12948   };
12949 
12950   // Add first login provider button
12951   if (popupConfig.loginProvider1 !== 'NONE') {
12952     const buttonConfig = {
12953       theme: popupConfig.colorScheme || 'match',
12954       customColor: popupConfig.textColor,
12955       format: 'contentFlex',
12956       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
12957       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
12958       style: popupConfig.style || 'rounded',
12959       size: popupConfig.size || 'medium',
12960       colorScheme: popupConfig.colorScheme || 'match',
12961       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
12962       textColor: popupConfig.textColor || '#FFFFFF',
12963       outlineColor: popupConfig.outlineColor || '#3B82F6',
12964       host: host
12965     };
12966     
12967     const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
12968     
12969     // Handle click event - this overrides the default click handler in createSocialLoginButton
12970     button1.onclick = () => {
12971       onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
12972       closePopup();
12973     };
12974     
12975     buttonsContainer.appendChild(button1);
12976   }
12977 
12978   // Add second login provider button if enabled
12979   if (popupConfig.loginProvider2 !== 'NONE') {
12980     const buttonConfig = {
12981       theme: popupConfig.colorScheme || 'match',
12982       customColor: popupConfig.textColor,
12983       format: 'contentFlex',
12984       buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
12985       hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
12986       style: popupConfig.style || 'rounded',
12987       size: popupConfig.size || 'medium',
12988       colorScheme: popupConfig.colorScheme || 'match',
12989       backgroundColor: popupConfig.backgroundColor || '#3B82F6',
12990       textColor: popupConfig.textColor || '#FFFFFF',
12991       outlineColor: popupConfig.outlineColor || '#3B82F6',
12992       host: host
12993     };
12994     
12995     const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
12996     
12997     // Handle click event - this overrides the default click handler in createSocialLoginButton
12998     button2.onclick = () => {
12999       onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
13000       closePopup();
13001     };
13002     
13003     buttonsContainer.appendChild(button2);
13004   }
13005 
13006   contentWrapper.appendChild(buttonsContainer);
13007 
13008   // Append content to popup
13009   popup.appendChild(contentWrapper);
13010   
13011   // Append popup to overlay
13012   overlay.appendChild(popup);
13013   
13014   // Append overlay to body
13015   document.body.appendChild(overlay);
13016   
13017   // Trigger animation with slight delay for better perceived performance
13018   setTimeout(() => {
13019     overlay.classList.add('visible');
13020     setTimeout(() => {
13021       popup.classList.add('visible');
13022     }, 50);
13023   }, 10);
13024 }
13025 
13026 window.addEventListener("load", () => {
13027   window.addEventListener("message", (event) => {
13028     const receivedData = event.data;
13029 
13030     if (receivedData.type === "authorize") {
13031       post(
13032         JSON.parse(
13033           JSON.stringify({
13034             "customer[email]": receivedData.email,
13035             "customer[password]": receivedData.password,
13036             form_type: "customer_login",
13037             utf8: "✓",
13038             return_url: redirectUrl,
13039           })
13040         )
13041       );
13042     } else if (receivedData.type === "rejected") {
13043       if (receivedData.reason === "customer_account_disabled") {
13044         showAlert(
13045           "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
13046         );
13047       } else if (receivedData.reason === "customer_entry_created_email_not_set") {
13048         showAlert(
13049           "A new account was created but requires an email address. Please update your account with a valid email address to continue."
13050         );
13051       } else if (receivedData.reason === "customer_exist_email_not_set") {
13052         showAlert(
13053           "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
13054         );
13055       }
13056     }
13057 
13058     if (receivedData.type === "customer_authenticated") {
13059       // Dispatch a custom event that merchants can listen for to implement their custom logic
13060       const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
13061         detail: {
13062           provider: receivedData.provider,
13063           customer: receivedData.customer,
13064           shopifyCustomerCreated: receivedData.shopifyCustomerCreated
13065         }
13066       });
13067       
13068       // Dispatch the event on the window object so merchants can listen for it
13069       window.dispatchEvent(customerAuthEvent);
13070       
13071     }
13072   });
13073 });
13074 
13075 // Reusable functions for social login buttons
13076 function createSocialLoginButton(provider, config = {}) {
13077   const {
13078     theme = 'match',
13079     customColor = null,
13080     format = 'contentFlex',
13081     buttonText = null,
13082     hasShadow = true,
13083     style = 'rounded',
13084     size = 'medium',
13085     colorScheme = 'match',
13086     backgroundColor = '#3B82F6',
13087     textColor = '#FFFFFF',
13088     outlineColor = '#3B82F6',
13089     rootRef = null,
13090     host = null
13091   } = config;
13092   
13093   // Create button element with appropriate ID and attributes
13094   const button = document.createElement('button');
13095   button.id = `${provider.toLowerCase()}-login`;
13096   button.type = 'button';
13097   
13098   // Set the inner SVG based on provider
13099   switch (provider.toUpperCase()) {
13100     case 'GOOGLE':
13101       button.innerHTML = googleLoginIcon(theme, customColor);
13102       break;
13103     case 'FACEBOOK':
13104       button.innerHTML = facebookLoginIcon(theme, customColor);
13105       break;
13106     case 'APPLE':
13107       button.innerHTML = appleLoginIcon(theme, customColor);
13108       break;
13109     case 'WHATSAPP':
13110       button.innerHTML = whatsappLoginIcon(theme, customColor);
13111       break;
13112     case 'MICROSOFT':
13113       button.innerHTML = microsoftLoginIcon(theme, customColor);
13114       break;
13115     case 'TWITTER':
13116       button.innerHTML = twitterLoginIcon(theme, customColor);
13117       break;
13118     case 'AMAZON':
13119       button.innerHTML = amazonLoginIcon(theme, customColor);
13120       break;
13121     case 'INSTAGRAM':
13122       button.innerHTML = instagramLoginIcon(theme, customColor);
13123       break;
13124     case 'MAGIC_LINK':
13125       button.innerHTML = magicLinkLoginIcon(theme, customColor);
13126       break;
13127     case 'MOBILE_APP':
13128       button.innerHTML = mobileAppLoginIcon(theme, customColor);
13129       break;
13130     case 'LINKEDIN':
13131       button.innerHTML = linkedinLoginIcon(theme, customColor);
13132       break;
13133   }
13134   
13135   // Add text if format isn't icon-only and buttonText is provided
13136   if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
13137     button.innerHTML += `<p>${buttonText}</p>`;
13138   }
13139   
13140   // Apply styling
13141   // Shadow
13142   if (hasShadow) {
13143     const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
13144     button.style["box-shadow"] = shadowProperties;
13145   }
13146   
13147   // Border radius
13148   const radiusProperties =
13149     style === "rounded"
13150       ? "8px"
13151       : style === "square"
13152       ? "0px"
13153       : style === "fullRounded"
13154       ? format === "wrapperFlexContainerOnlyLogo"
13155         ? "50%"
13156         : "50px"
13157       : undefined;
13158   button.style["border-radius"] = radiusProperties;
13159   
13160   // Size
13161   const sizeProperties =
13162     size === "medium"
13163       ? "12px"
13164       : size === "small"
13165       ? "8px"
13166       : size === "large"
13167       ? "16px"
13168       : "8px";
13169 
13170   button.style["padding-block"] = sizeProperties;
13171 
13172   // Format styling
13173   if (format) {
13174     if (
13175       format === "contentFlexReverse" ||
13176       format === "contentFlexCenterReverse"
13177     ) {
13178       const flexDir = `row-reverse`;
13179       button.style["flex-direction"] = flexDir;
13180     }
13181     
13182     if (
13183       format === "contentFlexCenter" ||
13184       format === "contentFlexCenterReverse"
13185     ) {
13186       const justifyContent = `center`;
13187       button.style["justify-content"] = justifyContent;
13188     } else if (
13189       format === "contentFlex" ||
13190       format === "contentFlexReverse"
13191     ) {
13192       const buttonTextElement = button.querySelector("p");
13193       if (buttonTextElement) {
13194         buttonTextElement.style["flex-grow"] = 1;
13195         buttonTextElement.style["text-align"] = "center";
13196       }
13197     }
13198 
13199     if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
13200       rootRef.style["flex-direction"] = "row";
13201       rootRef.style["gap"] = "8px";
13202       rootRef.style["display"] = "flex";
13203       rootRef.style["flex-wrap"] = "wrap";
13204 
13205       const sizeMapping = {
13206         small: "52px",
13207         medium: "62px",
13208         large: "72px",
13209       };
13210       const buttonSize = sizeMapping[size] || "52px";
13211 
13212       button.style["margin"] = 0;
13213       button.style["width"] = buttonSize;
13214       button.style["height"] = buttonSize;
13215       button.style["display"] = "flex";
13216       button.style["align-items"] = "center";
13217       button.style["justify-content"] = "center";
13218 
13219       const svgElement = button.querySelector("svg");
13220       if (svgElement) {
13221         svgElement.style["flex"] = "none";
13222       }
13223     }
13224   }
13225 
13226   // Color scheme styling
13227   if (colorScheme === "black") {
13228     button.classList.add("scheme-black");
13229   } else if (colorScheme === "white") {
13230     button.classList.add("scheme-white");
13231   } else if (colorScheme === "custom") {
13232     button.style["background-color"] = backgroundColor;
13233     button.style["color"] = textColor;
13234     button.style["border-color"] = outlineColor;
13235 
13236     const darkenColor = (color, percentage) => {
13237       const value = parseInt(color.slice(1), 16);
13238       const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
13239       const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
13240       const b = Math.max(0, (value & 0xff) - (0xff * percentage));
13241       return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
13242     };
13243 
13244     button.addEventListener("mouseover", () => {
13245       button.style["background-color"] = darkenColor(backgroundColor, 0.2);
13246     });
13247     button.addEventListener("mouseout", () => {
13248       button.style["background-color"] = backgroundColor;
13249     });
13250   } else if (colorScheme === "match") {
13251     button.classList.add("scheme-match");
13252   } else if (colorScheme === "matchOutline") {
13253     button.classList.add("scheme-match-outline");
13254   }
13255   
13256   // Add click event listener if host is provided
13257   if (host) {
13258     button.addEventListener("click", () => 
13259       onClickSocialLogin({ provider: provider.toLowerCase(), host })
13260     );
13261   }
13262   
13263   return button;
13264 }
13265 
13266 function setupSocialLoginButtons(config, rootRef, data, host) {
13267   // Clear any existing content
13268   rootRef.innerHTML = '';
13269 
13270   const sortedEnabledProviders = config
13271     .filter(c => c.enabledWeb)
13272     .sort((a, b) => a.position - b.position);
13273 
13274   sortedEnabledProviders.forEach(provider => {
13275     const key = provider.provider;
13276     const lowerKey = key.toLowerCase();
13277 
13278     const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
13279       ? (lowerKey === 'twitter'
13280           ? data.buttonList.twitter.replace('Twitter', 'X')
13281           : data.buttonList[lowerKey])
13282       : null;
13283 
13284     const button = createSocialLoginButton(key, {
13285       theme: data.colorScheme || 'match',
13286       customColor: data.textColor,
13287       format: data.format,
13288       buttonText: buttonText,
13289       hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
13290       style: data.style,
13291       size: data.size,
13292       colorScheme: data.colorScheme,
13293       backgroundColor: data.backgroundColor,
13294       textColor: data.textColor,
13295       outlineColor: data.outlineColor,
13296       rootRef: rootRef,
13297       host: host
13298     });
13299 
13300     rootRef.appendChild(button);
13301   });
13302 
13303   return rootRef;
13304 }
13305 
13306 function updateAppearance({ formRef, rootRef, host }) {
13307   if (!formRef) return;
13308 
13309   const data = bitloginCache.appearance || {
13310     style: "square",
13311     hasShadow: false,
13312     colorScheme: "match",
13313     backgroundColor: "#FFFFFF",
13314     outlineColor: "#000000",
13315     textColor: "#000000",
13316     position: "bottom",
13317     hideDivider: "false",
13318     dividerText: "OR",
13319     size: "small",
13320     format: "contentFlex",
13321     language: "en",
13322     buttonText: "Continue with",
13323     redirectLink: "/account",
13324     googleOneTap: true,
13325     googleOneTapBanner: true,
13326     customerTag: "bitLogin",
13327     redirectOneTapDesktop: null,
13328     redirectOneTapMobile: null,
13329     buttonList: {
13330       google: "Continue with Google",
13331       facebook: "Continue with Facebook",
13332       apple: "Continue with Apple",
13333       whatsapp: "Continue with WhatsApp",
13334       microsoft: "Continue with Microsoft",
13335       twitter: "Continue with X",
13336       amazon: "Continue with Amazon",
13337       instagram: "Continue with Instagram",
13338       magic_link: "Continue with Magic Link",
13339       mobile_app: "Continue with Mobile App",
13340       linkedin: "Continue with LinkedIn",
13341     },
13342   };
13343 
13344   // Use the new setupSocialLoginButtons function to create and configure all buttons
13345   setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
13346 
13347   let divider;
13348 
13349   if (!data.hideDivider) {
13350     divider = document.createElement("div");
13351     const dividerStyle = "text-align:center;margin-block:16px";
13352     divider.setAttribute("style", dividerStyle);
13353     divider.innerHTML = data.dividerText;
13354   }
13355 
13356   if (data.position === "bottom") {
13357     if (divider) {
13358       formRef.appendChild(divider);
13359     }
13360     formRef.appendChild(rootRef);
13361   } else if (data.position === "top") {
13362     if (divider) {
13363       formRef.prepend(divider);
13364     }
13365     formRef.prepend(rootRef);
13366   }
13367 }
13368 
13369 
13370 async function onClickSocialLogin({ provider, host }) {
13371   const rand = Math.random().toString();
13372 
13373   const locationQueryString = bitloginCache.location
13374     ? `&${objectToQueryString(bitloginCache.location)}`
13375     : "";
13376 
13377   const width = 800;
13378   const height = 600;
13379   const left = (window.screen.width / 2) - (width / 2);
13380   const top = (window.screen.height / 2) - (height / 2) - 50;
13381 
13382   if(provider === 'whatsapp') {
13383     window.open(
13384       `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
13385       "mywindow",
13386       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
13387     );
13388   } else {
13389     window.open(
13390       `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
13391       "mywindow",
13392       `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
13393     );
13394   }
13395 }
13396 
13397 function objectToQueryString(obj) {
13398   return Object.keys(obj)
13399     .map((key) => {
13400       return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
13401     })
13402     .join("&");
13403 }
13404 
13405 async function getLocation() {
13406   if (locationCacheSet) return;
13407 
13408   try {
13409     const response = await fetch("https://ipapi.co/json/");
13410 
13411     if (!response.ok) {
13412       console.error(`error retrieving location...`, response.status);
13413       errorLocation = true;
13414     } else {
13415       const data = await response.json();
13416 
13417       const { city, region, country_name, country_code } = data;
13418 
13419       const formattedLocationData = {
13420         city,
13421         region,
13422         country_name,
13423         country_code,
13424       };
13425 
13426       bitloginCache.location = formattedLocationData;
13427       locationCacheSet = true;
13428       errorLocation = false;
13429     }
13430   } catch (err) {
13431     console.error(`error fetching location`, err);
13432     errorLocation = true;
13433   }
13434 }
13435 
13436 function post(params) {
13437   // The rest of this code assumes you are not using a library.
13438   // It can be made less verbose if you use one.
13439   const form = document.createElement("form");
13440   form.method = "post";
13441   form.action = `/account/login`;
13442   form.acceptCharset = "UTF-8";
13443   form.setAttribute("data-login-with-shop-sign-in", "true");
13444   form.setAttribute("novalidate", "novalidate");
13445 
13446   for (const key in params) {
13447     if (params.hasOwnProperty(key)) {
13448       const hiddenField = document.createElement("input");
13449       hiddenField.type = "hidden";
13450       hiddenField.name = key;
13451       hiddenField.value = params[key];
13452 
13453       form.appendChild(hiddenField);
13454     }
13455   }
13456 
13457   document.body.appendChild(form);
13458   form.submit();
13459 }
13460 
13461 async function setupOneTap({ host, checkoutUrl }) {
13462   if (oneTapSet) return;
13463 
13464   const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
13465   const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
13466 
13467   const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
13468   const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
13469 
13470   const currentPath = window.location.pathname.toLowerCase();
13471   const currentUrl = window.location.href.toLowerCase();
13472 
13473   const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
13474     switch (value) {
13475       case 'home':
13476         return currentPath === '/';
13477       case 'product':
13478         return currentPath.startsWith('/products/');
13479       case 'collections':
13480         return currentPath.startsWith('/collections');
13481       case 'cart':
13482         return currentPath === '/cart';
13483       case 'checkout':
13484         return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
13485       case 'thank_you':
13486         return currentPath.includes('/thank_you');
13487       case 'account':
13488         return currentPath.startsWith('/account');
13489       case 'pages':
13490         return currentPath.startsWith('/pages');
13491       case 'blogs':
13492         return currentPath === '/blogs' || currentPath === '/blogs/news';
13493       case 'blog_post':
13494         return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
13495       default:
13496         return false;
13497     }
13498   });
13499 
13500   if (shouldHideGoogleOneTap) return;
13501 
13502   const oneTapClientId = bitloginCache.config.find(
13503     (config) => config.provider === "GOOGLE"
13504   )?.clientId;
13505 
13506   const isLoggedIn = false;
13507 
13508   if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
13509     const googleOneTapButton = document.createElement("div");
13510     googleOneTapButton.setAttribute("id", "g_id_onload");
13511     googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
13512     googleOneTapButton.setAttribute("data-context", "signin");
13513     googleOneTapButton.setAttribute(
13514       "data-callback",
13515       "handleGoogleOneTapResponse"
13516     );
13517     googleOneTapButton.setAttribute("data-itp_support", "true");
13518 
13519     const googleOneTapScript = document.createElement("script");
13520 
13521     googleOneTapScript.innerHTML += `
13522           function handleGoogleOneTapResponse(response) {
13523               if (response.credential) {
13524                   const idToken = response.credential;
13525                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
13526                       method: 'POST',
13527                       headers: { 'Content-Type': 'application/json' },
13528                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
13529                   }).then(response => {
13530                       response.json().then((data) => {
13531                         post(
13532                           JSON.parse(
13533                             JSON.stringify({
13534                               "customer[email]": data.email,
13535                               "customer[password]": data.password,
13536                               form_type: "customer_login",
13537                               utf8: "✓",
13538                               return_url: redirectUrl,
13539                             })
13540                           )
13541                         );
13542                       });  
13543                   }).catch(error => {
13544                       console.error('Error occurred:', error);
13545                   });
13546               } else {
13547                   console.error('No credential available');
13548               }
13549           }
13550        `;
13551 
13552     document.body.append(googleOneTapButton);
13553     document.body.append(googleOneTapScript);
13554   }
13555 
13556   oneTapSet = true;
13557 }
13558 
13559 const googleLoginIcon = (
13560   theme,
13561   customColor
13562 ) => `
13563 ${
13564   theme === "match" || theme === "matchOutline" || theme === "custom"
13565     ? `<svg
13566     xmlns='https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif'
13567     xmlns:v='https://vecta.io/nano'
13568     width='24'
13569     height='24'
13570     viewBox='0 0 186.69 190.5'
13571   >
13572     <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="${
13573       theme === "custom" ? customColor : "#4285f4"
13574     }"/><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="${
13575         theme === "custom" ? customColor : "#34a853"
13576       }"/><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="${
13577         theme === "custom" ? customColor : "#fbbc05"
13578       }"/><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="${
13579         theme === "custom" ? customColor : "#ea4335"
13580       }" clip-path="none" mask="none"/></g>
13581   </svg>`
13582     : `<svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="25" height="25" viewBox="0 0 25 25" fill="none">
13583 <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="${
13584         theme !== "black" ? "black" : "white"
13585       }"/>
13586 <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="${
13587         theme !== "black" ? "black" : "white"
13588       }"/>
13589 <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="${
13590         theme !== "black" ? "black" : "white"
13591       }"/>
13592 <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="${
13593         theme !== "black" ? "black" : "white"
13594       }"/>
13595 </svg>`
13596 }`;
13597 
13598 const appleLoginIcon = (
13599   theme,
13600   customColor
13601 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
13602 <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="${
13603   theme === "custom"
13604     ? customColor
13605     : theme === "match" || theme === "black"
13606     ? "white"
13607     : "black"
13608 }"/>
13609 </svg>`;
13610 
13611 const facebookLoginIcon = (
13612   theme,
13613   customColor
13614 ) => `
13615 ${
13616   theme === "match" || theme === "matchOutline" || theme === "custom"
13617     ? `<svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="25" viewB
13617ox="0 0 24 25" fill="none">
13618     <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="${
13619       theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
13620     }"/>
13621     <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="${
13622       theme === "match" ? "#1778f2" : "transparent"
13623     }"/>
13624     </svg>`
13625     : `<svg xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif" width="24" height="25" viewBox="0 0 24 25" fill="none">
13626 <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="${
13627         theme === "black" ? "white" : "black"
13628       }"/>
13629 <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="${
13630         theme === "black" ? "black" : "white"
13631       }"/>
13632 </svg>`
13633 }`;
13634 
13635 const whatsappLoginIcon = (
13636   theme,
13637   customColor
13638 ) => `<svg
13639   viewBox="0 0 24 24"
13640   fill="none"
13641   width="24"
13642   height="25"
13643   xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13644 >
13645   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
13646   <g
13647     id="SVGRepo_tracerCarrier"
13648     stroke-linecap="round"
13649     stroke-linejoin="round"
13650   ></g>
13651   <g id="SVGRepo_iconCarrier">
13652     <path
13653       fill-rule="evenodd"
13654       clip-rule="evenodd"
13655       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"
13656       fill="${
13657         theme === "match" || theme === "black"
13658           ? "#ffffff"
13659           : theme === "white"
13660           ? "#000000"
13661           : theme === "matchOutline"
13662           ? "#25d366"
13663           : customColor
13664       }"
13665     ></path>
13666   </g>
13667 </svg>`;
13668 
13669 const microsoftLoginIcon = (
13670   theme,
13671   customColor
13672 ) => `<svg
13673 xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13674 width="25"
13675 height="25"
13676 viewBox="0 0 48 48">
13677 <path fill="${
13678   theme === "match" || theme == "matchOutline"
13679     ? "#ff5722"
13680     : theme === "black"
13681     ? "#ffffff"
13682     : theme === "white"
13683     ? "#000000"
13684     : customColor
13685 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
13686 <path
13687   fill="${
13688     theme === "match" || theme == "matchOutline"
13689       ? "#4caf50"
13690       : theme === "black"
13691       ? "#ffffff"
13692       : theme === "white"
13693       ? "#000000"
13694       : customColor
13695   }"
13696   d="M26 6H42V22H26z"
13697   transform="rotate(-180 34 14)"></path>
13698 <path
13699   fill="${
13700     theme === "match" || theme == "matchOutline"
13701       ? "#ffc107"
13702       : theme === "black"
13703       ? "#ffffff"
13704       : theme === "white"
13705       ? "#000000"
13706       : customColor
13707   }"
13708   d="M26 26H42V42H26z"
13709   transform="rotate(-180 34 34)"></path>
13710 <path fill="${
13711   theme === "match" || theme == "matchOutline"
13712     ? "#03a9f4"
13713     : theme === "black"
13714     ? "#ffffff"
13715     : theme === "white"
13716     ? "#000000"
13717     : customColor
13718 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
13719 </svg>`;
13720 
13721 const twitterLoginIcon = (
13722   theme,
13723   customColor
13724 ) => `<svg
13725 xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13726 width="25"
13727 height="25"
13728 viewBox="0 0 48 48">
13729 <polygon fill="${
13730   theme === "match" || theme === "black"
13731     ? "#ffffff"
13732     : theme === "matchOutline" || theme === "white"
13733     ? "#000000"
13734     : customColor
13735 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
13736 <polygon
13737   fill="${
13738     theme === "match" || theme === "black"
13739       ? "#000000"
13740       : theme === "matchOutline" || theme === "white"
13741       ? "#ffffff"
13742       : customColor
13743   }"
13744   fill-rule="evenodd"
13745   points="31.143,41 7.82,7 16.777,7 40.1,41"
13746   clip-rule="evenodd"></polygon>
13747 <path
13748   fill="${
13749     theme === "match" || theme === "black"
13750       ? "#ffffff"
13751       : theme === "matchOutline" || theme === "white"
13752       ? "#000000"
13753       : customColor
13754   }"
13755   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
13756 </svg>`;
13757 
13758 const amazonLoginIcon = (theme, customColor) => `
13759  <svg
13760       xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13761       x="0px"
13762       y="0px"
13763       width="25"
13764       height="25"
13765       viewBox="0 0 50 50"
13766     >
13767       <path
13768         fill="${
13769           theme === "black"
13770             ? "#ffffff"
13771             : theme === "matchOutline"
13772             ? "#FF9900"
13773             : theme === "white" || theme === "match"
13774             ? "#000000"
13775             : customColor
13776         }"
13777         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"
13778       ></path>
13779     </svg>`;
13780 
13781 const instagramLoginIcon= (theme, customColor) => `
13782     <svg
13783       width="25"
13784       height="25"
13785       viewBox="0 0 25 24"
13786       fill="none"
13787       xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif">
13788       <path
13789         fill-rule="evenodd"
13790         clip-rule="evenodd"
13791         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.
1379164321C8.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"
13792         fill="url(#paint0_radial_378_3535)" />
13793       <path
13794         fill-rule="evenodd"
13795         clip-rule="evenodd"
13796         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"
13797         fill="url(#paint0_radial_378_3535)" />
13798       <path
13799         fill-rule="evenodd"
13800         clip-rule="evenodd"
13801         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.
1380164321C8.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"
13802         fill="url(#paint0_radial_378_3535)" />
13803       <path
13804         fill-rule="evenodd"
13805         clip-rule="evenodd"
13806         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"
13807         fill="url(#paint1_radial_378_3535)" />
13808       <defs>
13809         <radialGradient
13810           id="paint0_radial_378_3535"
13811           cx="0"
13812           cy="0"
13813           r="1"
13814           gradientUnits="userSpaceOnUse"
13815           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
13816           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
13817           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
13818           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
13819           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
13820           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
13821         </radialGradient>
13822         <radialGradient
13823           id="paint1_radial_378_3535"
13824           cx="0"
13825           cy="0"
13826           r="1"
13827           gradientUnits="userSpaceOnUse"
13828           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
13829           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
13830           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
13831           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
13832           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
13833         </radialGradient>
13834       </defs>
13835     </svg>`;
13836 
13837 const magicLinkLoginIcon = (theme, customColor) => `
13838   <svg
13839     xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13840     width="25"
13841     height="25"
13842     fill="none"
13843     viewBox="0 0 25 25"
13844   >
13845     <path
13846       fill="${
13847         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
13848       }"
13849       fillRule="evenodd"
13850       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"
13851       clipRule="evenodd"
13852     ></path>
13853   </svg>`;
13854 
13855 const mobileAppLoginIcon = (theme, customColor) => `
13856   <svg
13857     width="20"
13858     height="24"
13859     viewBox="0 0 12 16"
13860     fill="none"
13861     xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13862   >
13863     <path
13864       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"
13865       fill=${
13866         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
13867       }
13868     />
13869   </svg>
13870 `;
13871 
13872 const linkedinLoginIcon = (theme, customColor) => `
13873   <svg
13874     xmlns="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/logo.gif"
13875     width="25"
13876     height="24"
13877     viewBox="0 0 25 24"
13878     fill="none"
13879   >
13880     <path
13881       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"
13882       fill=${
13883         theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
13884       }
13885     />
13886   </svg>
13887 `;
13888 
13889 function isElementVisible(element) {
13890   return (
13891     document.body.contains(element) &&
13892     getComputedStyle(element).display !== "none" &&
13893     getComputedStyle(element).visibility !== "hidden" &&
13894     getComputedStyle(element).opacity !== "0" &&
13895     !element.hasAttribute("hidden") &&
13896     !isAncestorHidden(element)
13897   );
13898 }
13899 
13900 function isAncestorHidden(element) {
13901   let parent = element.parentElement;
13902   while (parent) {
13903     if (
13904       getComputedStyle(parent).display === "none" ||
13905       getComputedStyle(parent).visibility === "hidden" ||
13906       getComputedStyle(parent).opacity === "0" ||
13907       parent.hasAttribute("hidden")
13908     ) {
13909       return true;
13910     }
13911     parent = parent.parentElement;
13912   }
13913   return false;
13914 }
13915 
13916 function showAlert(message) {
13917   const alertBox = document.createElement("div");
13918   alertBox.textContent = message;
13919   alertBox.style.position = "fixed";
13920   alertBox.style.top = "20px";
13921   alertBox.style.right = "-300px"; // Start off-screen
13922   alertBox.style.backgroundColor = "#000000"; // Black background
13923   alertBox.style.color = "#ffffff"; // White text
13924   alertBox.style.padding = "15px";
13925   alertBox.style.borderRadius = "8px";
13926   alertBox.style.zIndex = "1000";
13927   alertBox.style.transition =
13928     "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
13929   alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
13930 
13931   document.body.appendChild(alertBox);
13932 
13933   // Slide in
13934   requestAnimationFrame(() => {
13935     alertBox.style.right = "20px"; // Move into view
13936     alertBox.style.opacity = "1"; // Ensure opacity is set to 1
13937   });
13938 
13939   // Slide out and remove the alert after a few seconds
13940   setTimeout(() => {
13941     alertBox.style.opacity = "0"; // Fade out
13942     alertBox.style.right = "-300px"; // Move out of view
13943 
13944     // Wait for the transition to finish before removing the element
13945     setTimeout(() => {
13946       document.body.removeChild(alertBox);
13947     }, 500); // Match this duration with the exit transition duration
13948   }, 3000);
13949 }
13950 </script>
13950
13951 
13952<style>
13953    .daftarku-fixed-footer {
13954        position: fixed;
13955        bottom: 20px;
13956        left: 50%;
13957        transform: translateX(-50%);
13958        width: 90%;
13959        height: 70px;
13960        background: rgba(0, 0, 0, 0.75);
13961        border: 1.5px solid rgba(255, 215, 0, 0.6);
13962        border-radius: 20px;
13963        backdrop-filter: blur(10px);
13964        box-shadow: 0 0 25px rgba(255, 215, 0, 0.4),
13965            inset 0 0 15px rgba(255, 255, 255, 0.05);
13966        display: flex;
13967        justify-content: space-around;
13968        align-items: center;
13969        overflow: hidden;
13970        z-index: 9999;
13971        animation: floatUp 0.8s ease-out;
13972    }
13973
13974    /* === Efek LED Bergerak di Pinggir === */
13975    .daftarku-fixed-footer::before {
13976    content: "";
13977    position: absolute;
13978    inset: 0;
13979    border-radius: 20px;
13980    padding: 2px;
13981    background: linear-gradient(
13982        120deg,
13983        #fff3b0,
13984        #ffd700,
13985        #d4af37,
13986        #ffec8b,
13987        #b8860b,
13988        #ffd700,
13989        #fff3b0
13990    );
13991    
13992    background-size: 400%;
13993    -webkit-mask: linear-gradient(#000 0 0) content-box,
13994                  linear-gradient(#000 0 0);
13995    -webkit-mask-composite: xor;
13996    mask-composite: exclude;
13997    box-shadow:
13998        0 0 10px rgba(255, 215, 0, 0.45),
13999        0 0 22px rgba(212, 175, 55, 0.30);
14000    animation: ledRotate 6s linear infinite;
14001}
14002
14003    @keyframes ledRotate {
14004        0% {
14005            background-position: 0% 50%;
14006        }
14007
14008        100% {
14009            background-position: 400% 50%;
14010        }
14011    }
14012
14013    /* === Efek Cahaya Dalam & Refleksi === */
14014    .daftarku-fixed-footer::after {
14015        content: "";
14016        position: absolute;
14017        top: -50%;
14018        left: 0;
14019        width: 100%;
14020        height: 200%;
14021        background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.2), transparent 70%);
14022        animation: shinePass 5s ease-in-out infinite;
14023    }
14024
14025    @keyframes shinePass {
14026
14027        0%,
14028        100% {
14029            opacity: 0.3;
14030        }
14031
14032        50% {
14033            opacity: 0.7;
14034        }
14035    }
14036
14037    /* === Tombol-Tombol === */
14038    .daftarku-fixed-footer a {
14039        flex: 1;
14040        text-align: center;
14041        color: #ffd700;
14042        font-weight: 700;
14043        text-decoration: none;
14044        font-size: 13px;
14045        text-transform: uppercase;
14046        display: flex;
14047        flex-direction: column;
14048        align-items: center;
14049        transition: 0.3s ease;
14050        z-index: 2;
14051    }
14052
14053    .daftarku-fixed-footer a img {
14054    width: 30px;
14055    height: 30px;
14056    margin-bottom: 4px;
14057    filter:
14058        drop-shadow(0 0 4px rgba(255, 215, 0, 0.35))
14059        drop-shadow(0 0 10px rgba(212, 175, 55, 0.28));
14060    transition: 0.3s ease;
14061    animation: floatBtn 3s ease-in-out infinite;
14062}
14063
14064    @keyframes floatBtn {
14065
14066        0%,
14067        100% {
14068            transform: translateY(0);
14069        }
14070
14071        50% {
14072            transform: translateY(-4px);
14073        }
14074    }
14075
14076    /* Hover & Active State */
14077    .daftarku-fixed-footer a:hover {
14078        color: #fff;
14079        transform: scale(1.15);
14080        text-shadow: 0 0 12px #fff, 0 0 25px #ffd700;
14081    }
14082
14083    .daftarku-fixed-footer a:hover img {
14084        transform: scale(1.25) rotate(10deg);
14085        filter: drop-shadow(0 0 15px #fff);
14086    }
14087
14088    /* Tombol “Daftar” spesial: pulse energy */
14089    .daftarku-fixed-footer a.tada {
14090    background: radial-gradient(circle, #3a3a3a 0%, #050505 80%);
14091    padding: 6px 12px;
14092    border-radius: 12px;
14093    box-shadow:
14094        0 0 18px rgba(0, 0, 0, 0.75),
14095        inset 0 0 10px rgba(255, 255, 255, 0.08);
14096    color: #ffffff;
14097    position: relative;
14098    overflow: hidden;
14099    animation: pulseEnergy 2s infinite ease-in-out;
14100}
14101
14102    .daftarku-fixed-footer a.tada::before {
14103        content: "";
14104        position: absolute;
14105        top: -50%;
14106        left: -50%;
14107        width: 200%;
14108        height: 200%;
14109        background: conic-gradient(from 0deg, rgba(255, 255, 255, 0.4), transparent 60%);
14110        animation: spinEnergy 2s linear infinite;
14111    }
14112
14113    @keyframes pulseEnergy {
14114
14115    0%,
14116    100% {
14117        box-shadow:
14118            0 0 12px rgba(255, 215, 0, 0.35),
14119            0 0 24px rgba(212, 175, 55, 0.22);
14120    }
14121
14122        50% {
14123            box-shadow: 0 0 40px #fff700;
14124        }
14125    }
14126
14127    @keyframes spinEnergy {
14128        to {
14129            transform: rotate(360deg);
14130        }
14131    }
14132
14133    /* Animasi masuk */
14134    @keyframes floatUp {
14135        0% {
14136            opacity: 0;
14137            transform: translate(-50%, 50px);
14138        }
14139
14140        100% {
14141            opacity: 1;
14142            transform: translate(-50%, 0);
14143        }
14144    }
14145</style>
14146<style>
14147
14148/* ===========================
14149   BILLIARD THROW EFFECT
14150=========================== */
14151
14152.billiard-throw-layer{
14153    position:fixed;
14154    inset:0;
14155    overflow:hidden;
14156    pointer-events:none;
14157    z-index:1;
14158}
14159
14160.billiard-throw{
14161
14162    --size:54px;
14163
14164    position:absolute;
14165    left:-90px;
14166    bottom:-90px;
14167
14168    width:var(--size);
14169    height:var(--size);
14170
14171    /* Ganti URL berikut dengan sprite PNG milikmu */
14172    background-image:url("https://imgstore.io/images/2026/08/02/billiard-sprite-1-15.png");
14173
14174    background-repeat:no-repeat;
14175
14176    background-size:
14177        calc(var(--size) * 5)
14178        calc(var(--size) * 3);
14179
14180    filter:drop-shadow(0 5px 7px rgba(0,0,0,.55));
14181
14182    animation:billiardThrow 8s cubic-bezier(.22,.65,.3,1) infinite;
14183
14184    will-change:transform,opacity;
14185}
14186
14187
14188/* ===========================
14189   SPRITE POSITION
14190=========================== */
14191
14192.bt-1{
14193    background-position:0 0;
14194}
14195
14196.bt-3{
14197    background-position:
14198        calc(var(--size) * -2)
14199        0;
14200}
14201
14202.bt-5{
14203    background-position:
14204        calc(var(--size) * -4)
14205        0;
14206}
14207
14208.bt-8{
14209    background-position:
14210        calc(var(--size) * -2)
14211        calc(var(--size) * -1);
14212}
14213
14214.bt-9{
14215    background-position:
14216        calc(var(--size) * -3)
14217        calc(var(--size) * -1);
14218}
14219
14220.bt-12{
14221    background-position:
14222        calc(var(--size) * -1)
14223        calc(var(--size) * -2);
14224}
14225
14226.bt-15{
14227    background-position:
14228        calc(var(--size) * -4)
14229        calc(var(--size) * -2);
14230}
14231
14232
14233/* ===========================
14234   POSISI MASING-MASING BOLA
14235=========================== */
14236
14237.billiard-throw:nth-child(1){
14238    left:2%;
14239    animation-delay:0s;
14240    animation-duration:7.5s;
14241}
14242
14243.billiard-throw:nth-child(2){
14244    left:16%;
14245    animation-delay:1s;
14246    animation-duration:8.2s;
14247}
14248
14249.billiard-throw:nth-child(3){
14250    left:30%;
14251    animation-delay:2s;
14252    animation-duration:7.7s;
14253}
14254
14255.billiard-throw:nth-child(4){
14256    left:45%;
14257    animation-delay:3s;
14258    animation-duration:9s;
14259}
14260
14261.billiard-throw:nth-child(5){
14262    left:60%;
14263    animation-delay:4s;
14264    animation-duration:8.4s;
14265}
14266
14267.billiard-throw:nth-child(6){
14268    left:76%;
14269    animation-delay:5s;
14270    animation-duration:8.8s;
14271}
14272
14273.billiard-throw:nth-child(7){
14274    left:90%;
14275    animation-delay:6s;
14276    animation-duration:7.8s;
14277}
14278
14279
14280/* ===========================
14281   ANIMASI
14282=========================== */
14283
14284@keyframes billiardThrow{
14285
14286    0%{
14287
14288        transform:
14289            translate3d(-40px,90px,0)
14290            rotate(0deg)
14291            scale(.45);
14292
14293        opacity:0;
14294
14295    }
14296
14297    10%{
14298
14299        opacity:1;
14300
14301    }
14302
14303    35%{
14304
14305        transform:
14306            translate3d(70px,-45vh,0)
14307            rotate(360deg)
14308            scale(.8);
14309
14310    }
14311
14312    60%{
14313
14314        transform:
14315            translate3d(-30px,-70vh,0)
14316            rotate(720deg)
14317            scale(1);
14318
14319    }
14320
14321    85%{
14322
14323        transform:
14324            translate3d(50px,-35vh,0)
14325            rotate(960deg)
14326            scale(.9);
14327
14328        opacity:1;
14329
14330    }
14331
14332    100%{
14333
14334        transform:
14335            translate3d(110px,130px,0)
14336            rotate(1260deg)
14337            scale(.6);
14338
14339        opacity:0;
14340
14341    }
14342
14343}
14344
14345
14346/* ===========================
14347   RESPONSIVE
14348=========================== */
14349
14350@media(max-width:768px){
14351
14352    .billiard-throw{
14353
14354        --size:38px;
14355
14356    }
14357
14358}
14359
14360
14361/* ===========================
14362   LAYER WEBSITE
14363=========================== */
14364
14365header,
14366main,
14367footer,
14368.float-nav,
14369.header-wrapper{
14370
14371    position:relative;
14372    z-index:2;
14373
14374}
14375
14376</style>
14377<div class="billiard-throw-layer" aria-hidden="true">
14378
14379  <span class="billiard-throw bt-1"></span>
14380
14381  <span class="billiard-throw bt-3"></span>
14382
14383  <span class="billiard-throw bt-5"></span>
14384
14385  <span class="billiard-throw bt-8"></span>
14386
14387  <span class="billiard-throw bt-9"></span>
14388
14389  <span class="billiard-throw bt-12"></span>
14390
14391  <span class="billiard-throw bt-15"></span>
14392
14393</div>
14394
14395
14396<div class="daftarku-fixed-footer">
14397    <a href="https://rebrand.ly/Tombol_Login123" target="_blank" rel="nofollow noopener">
14398        <img src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" alt="Promo PERMATA123">
14399        Promo
14400    </a>
14401    <a href="https://media-hfmagazineonline.seo123788.workers.dev/" target="_blank" rel="nofollow noopener">
14402        <img src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" alt="Login P
14402ERMATA123">
14403        Login
14404    </a>
14405    <a href="https://media-hfmagazineonline.seo123788.workers.dev/" target="_blank" rel="nofollow noopener" class="tada">
14406        <img src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" alt="Daftar PERMATA123">
14407        Daftar
14408    </a>
14409    <a href="https://rebrand.ly/Tombol_Alternatif" target="_blank" rel="nofollow noopener">
14410        <img src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" alt="PERMATA123 LINK ALTERNATIF">
14411        Alternatif
14412    </a>
14413    <a href="https://direct.lc.chat/17109672/" target="_blank" rel="nofollow noopener">
14414        <img src="https://cdn.robotaset.com/assets/tpl/7712b75dfd/images/favicon.ico" alt="Live Chat PERMATA123">
14415        Live Chat
14416    </a>
14417</div>
14418</div>
14419 
14419<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1496c6c168314d5ba25fec5ffebcba92","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
14419
14420 
14420<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"35c0090c7d544a5ebd6cb76e1773c81a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14420
14420
14421<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"276768321f134ec5a0581a2bbb719892","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14421
14421
14422<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":"d4dba8ba200745e6b8f590095c3b6c88","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14422
14422
14423<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":"30b2727e2a8f493ebe6fe2f450fe2b35","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14423
14423
14424<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":"08d09cb268c84616a4399eeb35067fff","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14424
14424
14425<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":"08d09cb268c84616a4399eeb35067fff","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14425
14425
14426<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":"08d09cb268c84616a4399eeb35067fff","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14426
14426
14427<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":"08d09cb268c84616a4399eeb35067fff","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14427
14427
14428<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":"08d09cb268c84616a4399eeb35067fff","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
14428
14429
14430<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v3d52b47920f24c319d37e2661827c42b1787588026925" integrity="sha512-d9sL6GJLXn6fInD1+TVXhTcQOsmxeHfmHAvwGDIxp5TO+uo1fiWW7mHomMj4MLRlCsJDTqXzWLHJFFlPCEIj/A==" data-cf-beacon='{"version":"2024.11.0","token":"5871698bfd864308bc68936b9d238569","r":1}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14430
14430
14431<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":"5871698bfd864308bc68936b9d238569","r":1,"spa":2}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 14431
14431
14432<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":"5b0042b98ce34028845e2737b470dc30","r":1,"spa":2}' crossorigin="anonymous"></script>
14432
14433</body>
14434 </html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.