PageSourceSearch

https://belajarpsikologi.com/

html belajarpsikologi.com collected 2026-10-02 12:21:07 UTC 989,035 bytes, 12,559 lines download raw bytes

1<!doctype html>
2<html class="no-js">
3
4<head>
5    <meta charset="utf-8">
6    <meta http-equiv="X-UA-Compatible" content="IE=edge">
7    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
8    <meta name="apple-itunes-app" content="app-id=1576832504">
9    <link rel="icon" type="image/x-icon" href="https://belajarpsikologi.com/assets/img/favicon-agam99.png">
10    <!-- Title and description -->
11    <title>AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari</title>
12    <meta name="description"
13        content="AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja">
14    <meta name="keywords"
15        content="agam99" />
16    <meta name="robots" content="index, follow">
17    <link rel="canonical" href="https://belajarpsikologi.com/">
18    <link rel="amphtml" href="https://belajarpsikologi.com/portal/" />
19    <link rel="alternate" hreflang="id-id" href="https://belajarpsikologi.com/portal/"/>
20    <link rel="alternate" href="https://belajarpsikologi.com/portal/"/>
21    <link rel="alternate" hreflang="id" href="https://belajarpsikologi.com/portal/"/>
22    <link rel="alternate" hreflang="en" href="https://belajarpsikologi.com/portal/"/>
23    <link rel="alternate" hreflang="x-default" href="https://belajarpsikologi.com/portal/"/>
24    <!-- /snippets/social-meta-tags.liquid -->
25    <meta property="og:type" content="AGAM99">
26    <meta property="og:title"
27        content="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari">
28    <meta property="og:image"
29        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
30    <meta property="og:image:secure_url"
31        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
32    <meta property="og:image"
33        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
34    <meta property="og:image:secure_url"
35        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
36    <meta property="og:image"
37        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
38    <meta property="og:image:secure_url"
39        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
40    <meta property="og:description"
41        content="AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja">
42    <meta property="og:price:amount" content="5,000-,">
43    <meta property="og:price:currency" content="IDR">
44    <meta property="og:url" content="https://belajarpsikologi.com/">
45    <meta property="og:site_name" content="AGAM99">
46    <meta name="twitter:site" content="@AGAM99">
47    <meta name="twitter:card" content="summary">
48    <meta name="twitter:title"
49        content="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari">
50    <meta name="twitter:description"
51        content="AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja">
52    <meta name="twitter:image"
53        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
54    <meta name="twitter:image:width" content="600">
55    <meta name="twitter:image:height" content="600">
56    <link rel="shortcut icon" href="https://belajarpsikologi.com/assets/img/favicon-agam99.png" type="image/png">
57    <meta name="theme-color" content="#ffffff">
58    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap"
59        rel="stylesheet">
60    <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418"
61        rel="stylesheet" type="text/css" media="all" />
62    <link rel="stylesheet"
63        href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
64    
64<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
64
65    
65<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
66        integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
67        crossorigin="anonymous" referrerpolicy="no-referrer" defer></script>
67
68    
68<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
68
69    
69<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
69
70    <!-- Facebook Pixel Code -->
71    
71<script>
vendor: 607 bytes, lines 71-83
71
72        !function (f, b, e, v, n, t, s) {
73            if (f.fbq) return; n = f.fbq = function () {
74                n.callMethod ?
75                    n.callMethod.apply(n, arguments) : n.queue.push(arguments)
76            };
77            if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0';
78            n.queue = []; t = b.createElement(e); t.async = !0;
79            t.src = v; s = b.getElementsByTagName(e)[0];
80            s.parentNode.insertBefore(t, s)
81        }(window, document, 'script',
82            'https://connect.facebook.net/en_US/fbevents.js');
83        fbq('init', '
83165971065669324
vendor: 44 bytes, lines 83-85
83');
84        fbq('track', 'PageView');
85    
85</script>
85
86    <noscript><img height="1" width="1" style="display:none"
87            src="https://www.facebook.com/tr?id=165971065669324&ev=PageView&noscript=1"></noscript>
88    <!-- End Facebook Pixel Code -->
89
90    <!-- Google G4 Script - Disabled by developer (William) to prioritize Mobile App tracking -->
91    <!--
92      Global site tag (gtag.js) - Google Analytics --
vendor: 76 bytes, lines 92-93
92
93           <script async src="https://www.googletagmanager.com/gtag/js?id=
93G-X26HYP4083
vendor: 24 bytes, lines 93-94
93"></script>
94           
94<script>
95             
vendor: 174 bytes, lines 95-99
95window.dataLayer = window.dataLayer || [];
96             function gtag(){dataLayer.push(arguments);}
97             gtag('js', new Date());
98   
99             gtag('config', '
99G-X26HYP4083
vendor: 16 bytes, lines 99-100
99');
100           
100</script>
100
101     Global site tag (gtag.js) - Google Analytics
102     -->
103
104    <div class="button-login-daftar">
105        <a class="login" href="https://belajarpsikologi.com/portal/" rel="nofollow noreferrer" style="color: white;">
106            LOGIN
107        </a>
108        <a class="register" href="https://belajarpsikologi.com/portal/" rel="nofollow noreferrer" style="color: white;">
109            DAFTAR
110        </a>
111    </div>
112
113    
113<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
113
114
115    <!-- Bing UET -->
116    
116<script>
117        (function (w, d, t, r, u) {
118            var f, n, i;
119            w[u] = w[u] || [], f = function () {
120                var o = { ti: "343051754", tm: "shpfy_ui", enableAutoSpaTracking: true };
121                o.q = w[u], w[u] = new UET(o), w[u].push("pageLoad")
122            },
123                n = d.createElement(t), n.src = r, n.async = 1, n.onload = n.onreadystatechange = function () {
124                    var s = this.readyState;
125                    s && s !== "loaded" && s !== "complete" || (f(), n.onload = n.onreadystatechange = null)
126                },
127                i = d.getElementsByTagName(t)[0], i.parentNode.insertBefore(n, i)
128        })
129            (window, document, "script", "//bat.bing.com/bat.js", "uetq");
130    </script>
130
131    
131<script>
132        window.uetq = window.uetq || [];
133        window.uetq.push('event', '', { "revenue_value": 0, "currency": "IDR" });
134    </script>
134
135    <!-- End Bing UET -->
136
137    <!-- Microsoft Clarity -->
138    
138<script type="text/javascript">
139        (function (c, l, a, r, i, t, y) {
140            c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments) };
141            t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i;
142            y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
143        })(window, document, "clarity", "script", "h7rbxqry9k");
144    </script>
144
145    <!-- End Microsoft Clarity -->
146
147
148    <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205"
149        rel="stylesheet" type="text/css" media="all" />
150    <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421"
151        rel="stylesheet" type="text/css" media="all" />
152    <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
153    
153<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
154        crossorigin="anonymous"></script>
154
155    
155<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421"
156        type="text/javascript"></script>
156
157    
157<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
157
158    
158<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
158
159    <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
160    <link rel="alternate" type="application/json+oembed"
161        href="https://belajarpsikologi.com/.oembed">
162    
162<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
162
163    
163<script id="shopify-features"
164        type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
164
165    
165<script>var Shopify = Shopify || {};
166        Shopify.shop = "outerbloom1.myshopify.com";
167        Shopify.locale = "en";
168        Shopify.currency = { "active": "IDR", "rate": "1.0" };
169        Shopify.country = "ID";
170        Shopify.theme = { "name": "web-outerbloom-shopify\/main", "id": 153139282135, "schema_name": null, "schema_version": null, "theme_store_id": null, "role": "main" };
171        Shopify.theme.handle = "null";
172        Shopify.theme.style = { "id": null, "handle": null };
173        Shopify.cdnHost = "outerbloom.com/cdn";
174        Shopify.routes = Shopify.routes || {};
175        Shopify.routes.root = "/";</script>
175
176    
176<script type="module">!function (o) { (o.Shopify = o.Shopify || {}).modules = !0 }(window);</script>
176
177    
177<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>
177
178    
178<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
178
179    
179<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});
180 "></script>
180
181    
181<script>(function () {
182            var isLoaded = false;
183            function asyncLoad() {
184                if (isLoaded) return;
185                isLoaded = true;
186                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"];
187                for (var i = 0; i < urls.length; i++) {
188                    var s = document.createElement('script');
189                    s.type = 'text/javascript';
190                    s.async = true;
191                    s.src = urls[i];
192                    var x = document.getElementsByTagName('script')[0];
193                    x.parentNode.insertBefore(s, x);
194                }
195            };
196            if (window.attachEvent) {
197                window.attachEvent('onload', asyncLoad);
198            } else {
199                window.addEventListener('load', asyncLoad, false);
200            }
201        })();</script>
201
202    
202<script
203        id="__st">var __st = { "a": 15896833, "offset": 25200, "reqid": "78149bf2-9ab6-43c0-b2ce-821afbfe5bd0-1759566675", "pageurl": "outerbloom.com\/products\/blossom-shine", "u": "381e6a1da038", "p": "product", "rtyp": "product", "rid": 9233866700552 };</script>
203
204    
204<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
204
205    
205<script
206        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
206] = 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>
206
207    
207<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc="
208        data-source-attribution="shopify.loadfeatures" defer="defer"
209        src="//outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js"
210        crossorigin="anonymous"></script>
210
211    
211<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) } };
212    </script>
212
213    
213<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
214        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);
215    </script>
215
216    
216<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 }) } }));
217    </script>
217
218
219    
219<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
219
220    <!-- /snippets/oldIE-js.liquid -->
221
222
223    <!--[if lt IE 9]>
224 
224<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
224
225 
225<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
225
226 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
227 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
228 
228<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
228
229 <![endif]-->
230
231
232
233
234
235    <link
236        href="https://cdn.shopify.com/extensions/5c1bf460-65bd-4bca-82d0-995a5814b48d/bitlogin-social-login-135/assets/app.css"
237        rel="stylesheet" type="text/css" media="all">
238    <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
239    
239<script>(function () { if ("sendBeacon" in navigator && "performance" in window) { try { var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description; } catch { var session_token_from_headers = undefined; } var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/); var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : ""; var session_token = session_token_from_headers || session_token_from_cookie || ""; function handle_abandonment_event(e) { var entries = performance.getEntries().filter(function (entry) { return /monorail-edge.shopifysvc.com/.test(entry.name); }); if (!window.abandonment_tracked && entries.length === 0) { window.abandonment_tracked = true; var currentMs = Date.now(); var navigation_start = performance.timing.navigationStart; var payload = { shop_id: 15896833, url: window.location.href, navigation_start, duration: currentMs - navigation_start, session_token, page_type: "product" }; window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({ schema_id: "online_store_buyer_site_abandonment/1.1", payload: payload, metadata: { event_created_at_ms: currentMs, event_sent_at_ms: currentMs } })); } } window.addEventListener('pagehide', handle_abandonment_event); } }());</script>
239
240    
240<script
241        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);
241 else { if (!c) throw new Error("Did not find a head or body element to append the script"); c.appendChild(l) } }({ src: f, async: !0, onload: function () { if (!function () { var e, d; return Boolean(null === (d = null === (e = window.Shopify) || void 0 === e ? void 0 : e.analytics) || void 0 === d ? void 0 : d.initialized) }()) { var d = window.webPixelsManager.init(e) || void 0; if (d) { var r = window.Shopify.analytics; r.replayQueue.forEach((function (e) { var r = e[0], n = e[1], o = e[2]; d.publishCustomEvent(r, n, o) })), r.replayQueue = [], r.publish = d.publishCustomEvent, r.visitor = d.visitor, r.initialized = !0 } } }, onerror: function () { return m.emit({ status: "failed", errorMsg: "".concat(f, " has failed to load") }) }, sri: function (e) { var d = /^sha384-[A-Za-z0-9+/=]+$/; return "string" == typeof e && d.test(e) }(c) ? c : "", scriptDataAttributes: o }), m.emit({ status: "loading" }) } catch (e) { m.emit({ status: "failed", errorMsg: (null == e ? void 0 : e.message) || "Unknown error" }) } } })({ shopId: 15896833, storefrontBaseUrl: "https://outerbloom.com", extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager", monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch", surface: "storefront-renderer", enabledBetaFlags: [], webPixelsConfigList: [{ "id": "870383831", "configuration": "{\"accountID\":\"outerbloom1\"}", "eventPayloadVersion": "v1", "runtimeContext": "STRICT", "scriptVersion": "162380e6ffd3e5a2854f1aabf54537bb", "type": "APP", "apiClientId": 32196493313, "privacyPurposes": ["ANALYTICS", "MARKETING", "SALE_OF_DATA"] }, { "id": "824574167", "configuration": "{\"shop\":\"outerbloom1.myshopify.com\", \"backend\": \"api.bitbybit.studio\"}", "eventPayloadVersion": "v1", "runtimeContext": "STRICT", "scriptVersion": "a3ba46f2364c9db1bf57bc969c3dd935", "type": "APP", "apiClientId": 28314632193, "privacyPurposes": ["ANALYTICS", "MARKETING", "SALE_OF_DATA"] }, { "id": "521994455", "configuration": "{\"config\":\"{\\\"pixel_id\\\":\\\"G-X26HYP4083\\\",\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/YjjSCKiog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/RHfSCK6og9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/dMv0CKWog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/Y2DbCJ-og9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/xwQ2CKKog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/i9yRCLGog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/T9poCKuog9gZEMHe74Yp\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}", "eventPayloadVersion": "v1", "runtimeContext": "OPEN", "scriptVersion": "b2a88bafab3e21179ed38636efcd8a93", "type": "APP", "apiClientId": 1780363, "privacyPurposes": [] }, { "id": "236060887", "configuration": "{\"pixel_id\":\"165971065669324\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}", "eventPayloadVersion": "v1", "runtimeContext": "OPEN", "scriptVersion": "6d8c3ef0426b37b2a9b717daeb719f58", "type": "APP", "apiClientId": 2329312, "privacyPurposes": ["ANALYTICS", "MARKETING", "SALE_OF_DATA"] }, { "id": "62947543", "eventPayloadVersion": "v1", "runtimeContext": "LAX", "scriptVersion": "1", "type": "CUSTOM", "privacyPurposes": ["MARKETING"], "name": "Meta pixel (migrated)" }, { "id": "shopify-app-pixel", "configuration": "{}", "eventPayloadVersion": "v1", "runtimeContext": "STRICT", "scriptVersion": "0450", "apiClientId": "shopify-pixel", "type": "APP", "privacyPurposes": ["ANALYTICS", "MARKETING"] }, { "id": "shopify-custom-pixel", "eventPayloadVersion": "v1", "runtimeContext": "LAX", "scriptVersion": "0450", "apiClientId": "shopify-pixel", "type": "CUSTOM", "privacyPurposes": ["ANALYTICS", "MARKETING"] }], isMerchantRequest: false, initData: { "shop": { "name": "Outerbloom", "paymentSettings": { "currencyCode": "IDR" }, "myshopifyDomain": "outerbloom1.myshopify.com", "countryCode": "ID", "storefrontUrl": "https:\/\/outerbloom.com" }, "customer": null, "cart": null, "checkout": null, "productVariants": [{ "price": { "amount": 835000.0, "currencyCode": "IDR" }, "product": { "title": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari", "vendor": "Outerbloom Florist", "id": "9233866700552", "untranslatedTitle": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari", "url": "\/products\/blossom-shine", "type": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja" }, "id": "44083045826775", "image": { "src": "\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426" }, "sku": "TSLATGL1563", "title": "Default Title", "untranslatedTitle": "Default Title" }], "purchasingCompany": null }, }, "https://outerbloom.com/cdn", "4f0c5c77w64a73806p128ba08bma5b58f2f", { "modern": "", "legacy": "" }, { "shopId": "15896833", "storefrontBaseUrl": "https:\/\/outerbloom.com", "extensionBaseUrl": "https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager", "surface": "storefront-renderer", "enabledBetaFlags": "[]", "isMerchantRequest": "false", "hashVersion": "4f0c5c77w64a73806p128ba08bma5b58f2f", "publish": "custom", "events": "[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari\",\"vendor\":\"Outerbloom Florist\",\"id\":\"9233866700552\",\"untranslatedTitle\":\"AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari\",\"url\":\"\/products\/blossom-shine\",\"type\":\"AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"TSLATGL1563\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]" });</script>
241
242    
242<script>
243        window.ShopifyAnalytics = window.ShopifyAnalytics || {};
244        window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
245        window.ShopifyAnalytics.meta.currency = 'IDR';
246        var meta = {
247            "product": {
248                "id": 9233866700552, "gid": "gid:\/\/shopify\/Product\/9233866700552", "vendor": "Outerbloom Florist", "type": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja", "variants": [{
249                    "id": 44083045826775, "price": 1000000
250                    , "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari", "public_title": null, "sku": "TSLATGL1563"
251                }], "remote": false
252            }, "page": { "pageType": "product", "resourceType": "product", "resourceId": 9233866700552 }
253        };
254        for (var attr in meta) {
255            window.ShopifyAnalytics.meta[attr] = meta[attr];
256        }
257    </script>
257
258    
258<script class="analytics">
259        (function () {
260            var customDocumentWrite = function (content) {
261                var jquery = null;
262
263                if (window.jQuery) {
264                    jquery = window.jQuery;
265                } else if (window.Checkout && window.Checkout.$) {
266                    jquery = window.Checkout.$;
267                }
268
269                if (jquery) {
270                    jquery('body').append(content);
271                }
272            };
273
274            var hasLoggedConversion = function (token) {
275                if (token) {
276                    return document.cookie.indexOf('loggedConversion=' + token) !== -1;
277                }
278                return false;
279            }
280
281            var setCookieIfConversion = function (token) {
282                if (token) {
283                    var twoMonthsFromNow = new Date(Date.now());
284                    twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
285
286                    document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
287                }
288            }
289
290            var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
291            if (trekkie.integrations) {
292                return;
293            }
294            trekkie.methods = [
295                'identify',
296                'page',
297                'ready',
298                'track',
299                'trackForm',
300                'trackLink'
301            ];
302            trekkie.factory = function (method) {
303                return function () {
304                    var args = Array.prototype.slice.call(arguments);
305                    args.unshift(method);
306                    trekkie.push(args);
307                    return trekkie;
308                };
309            };
310            for (var i = 0; i < trekkie.methods.length; i++) {
311                var key = trekkie.methods[i];
312                trekkie[key] = trekkie.factory(key);
313            }
314            trekkie.load = function (config) {
315                trekkie.config = config || {};
316                trekkie.config.initialDocumentCookie = document.cookie;
317                var first = document.getElementsByTagName('script')[0];
318                var script = document.createElement('script');
319                script.type = 'text/javascript';
320                script.onerror = function (e) {
321                    var scriptFallback = document.createElement('script');
322                    scriptFallback.type = 'text/javascript';
323                    scriptFallback.onerror = function (error) {
324                        var Monorail = {
325                            produce: function produce(monorailDomain, schemaId, payload) {
326                                var currentMs = new Date().getTime();
327                                var event = {
328                                    schema_id: schemaId,
329                                    payload: payload,
330                                    metadata: {
331                                        event_created_at_ms: currentMs,
332                                        event_sent_at_ms: currentMs
333                                    }
334                                };
335                                return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
336                            },
337                            sendRequest: function sendRequest(endpointUrl, payload) {
338                                // Try the sendBeacon API
339                                if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
340                                    var blobData = new window.Blob([payload], {
341                                        type: 'text/plain'
342                                    });
343
344                                    if (window.navigator.sendBeacon(endpointUrl, blobData)) {
345                                        return true;
346                                    } // sendBeacon was not successful
347
348                                } // XHR beacon
349
350                                var xhr = new XMLHttpRequest();
351
352                                try {
353                                    xhr.open('POST', endpointUrl);
354                                    xhr.setRequestHeader('Content-Type', 'text/plain');
355                                    xhr.send(payload);
356                                } catch (e) {
357                                    console.log(e);
358                                }
359
360                                return false;
361                            },
362                            isIos12: function isIos12() {
363                                return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
364                            }
365                        };
366                        Monorail.produce('monorail-edge.shopifysvc.com',
367                            'trekkie_storefront_load_errors/1.1',
368                            {
369                                shop_id: 15896833,
370                                theme_id: 153139282135,
371                                app_name: "storefront",
372                                context_url: window.location.href,
373                                source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"
374                            });
375
376                    };
377                    scriptFallback.async = true;
378                    scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
379                    first.parentNode.insertBefore(scriptFallback, first);
380                };
381                script.async = true;
382                script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
383                first.parentNode.insertBefore(script, first);
384            };
385            trekkie.load(
386                { "Trekkie": { "appName": "storefront", "development": false, "defaultAttributes": { "shopId": 15896833, "isMerchantRequest": null, "themeId": 153139282135, "themeCityHash": "1741993959449676309", "contentLanguage": "en", "currency": "IDR" }, "isServerSideCookieWritingEnabled": true, "monorailRegion": "shop_domain" }, "Session Attribution": {}, "S2S": { "facebookCapiEnabled": true, "source": "trekkie-storefront-renderer", "apiClientId": 580111 } }
387            );
388
389            var loaded = false;
390            trekkie.ready(function () {
391                if (loaded) return;
392                loaded = true;
393
394                window.ShopifyAnalytics.lib = window.trekkie;
395
396                var originalDocumentWrite = document.write;
397                document.write = customDocumentWrite;
398                try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch (error) { };
399                document.write = originalDocumentWrite;
400
401                window.ShopifyAnalytics.lib.page(null, { "pageType": "product", "resourceType": "product", "resourceId": 9233866700552, "shopifyEmitted": true });
402
403                var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
404                var token = match ? match[1] : undefined;
405                if (!hasLoggedConversion(token)) {
406                    setCookieIfConversion(token);
407                    window.ShopifyAnalytics.lib.track("Viewed Product", { "currency": "IDR", "variantId": 44083045826775, "productId": 9233866700552, "productGid": "gid:\/\/shopify\/Product\/9233866700552", "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari", "price": "835000.00", "sku": "TSLATGL1563", "brand": "Outerbloom Florist", "variant": null, "category": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja", "nonInteraction": true, "remote": false }, undefined, undefined, { "shopifyEmitted": true });
408                    window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1", { "currency": "IDR", "variantId": 44083045826775, "productId": 9233866700552, "productGid": "gid:\/\/shopify\/Product\/9233866700552", "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari", "price": "835000.00", "sku": "TSLATGL1563", "brand": "Outerbloom Florist", "variant": null, "category": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja", "nonInteraction": true, "remote": false, "referer": "https:\/\/outerbloom.com\/products\/blossom-shine" });
409                }
410            });
411
412
413            var eventsListenerScript = document.createElement('script');
414            eventsListenerScript.async = true;
415            eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
416            document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
417
418        })();</script>
418
419    
419<script>
420        if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
421            window.ga = function ga() {
422                (window.ga.q = window.ga.q || []).push(arguments);
423                if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
424                    window.Shopify.analytics.publish("ga_stub_called", {}, { sendTo: "google_osp_migration" });
425                }
426                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.");
427            };
428            if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
429                window.Shopify.analytics.publish("ga_stub_initialized", {}, { sendTo: "google_osp_migration" });
430            }
431        }
432    </script>
432
433    
433<script defer src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
434        data-application="storefront-renderer" data-shop-id="15896833" data-render-region="gcp-asia-southeast1"
435        data-page-type="product" data-theme-instance-id="153139282135" data-theme-name="" data-theme-version=""
436        data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" data-shs="true"
437        data-shs-beacon="true" data-shs-export-with-fetch="true" data-shs-logs-sample-rate="1"></script>
437
438
439    
439<script type="application/ld+json">
440{
441  "@context": "https://schema.org",
442  "@type": "Product",
443  "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari",
444  "image": "https://belajarpsikologi.com/assets/img/logo-agam99.png",
445  "description": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja",
446  "brand": {
447    "@type": "Brand",
448    "name": "AGAM99"
449  },
450  "sku": "AGAM99",
451  "mpn": "AGAM99",
452  "url": "https://belajarpsikologi.com/",
453  "offers": {
454    "@type": "Offer",
455    "url": "https://belajarpsikologi.com/",
456    "priceCurrency": "USD",
457    "price": "11",
458    "priceValidUntil": "2026-12-06",
459    "itemCondition": "https://schema.org/NewCondition",
460    "availability": "https://schema.org/InStock",
461    "seller": {
462      "@type": "Organization",
463      "name": "AGAM99"
464    }
465  },
466  "aggregateRating": {
467    "@type": "AggregateRating",
468    "ratingValue": "5.0",
469    "reviewCount": 96228
470  },
471  "review": [
472    {
473      "@type": "Review",
474      "reviewRating": {
475        "@type": "Rating",
476        "ratingValue": "5",
477        "bestRating": "5"
478      },
479      "author": {
480        "@type": "Person",
481        "name": "Rendy - Tampilan Modern"
482      },
483      "reviewBody": "AGAM99 menyajikan informasi yang diperbarui secara konsisten sehingga saya lebih mudah mengikuti perkembangan terbaru dari Portal Pragmatic Play tanpa harus mencari referensi dari banyak sumber."
484    },
485    {
486      "@type": "Review",
487      "reviewRating": {
488        "@type": "Rating",
489        "ratingValue": "5",
490        "bestRating": "5"
491      },
492      "author": {
493        "@type": "Person",
494        "name": "Aldo - Server Cepat"
495      },
496      "reviewBody": "Menurut saya, AGAM99 memiliki penyajian informasi yang terstruktur dengan navigasi yang sederhana. Setiap pembaruan Portal Pragmatic Play ditampilkan secara ringkas sehingga mudah dipahami oleh pengunjung."
497    },
498    {
499      "@type": "Review",
500      "reviewRating": {
501        "@type": "Rating",
502        "ratingValue": "5",
503        "bestRating": "5"
504      },
505      "author": {
506        "@type": "Person",
507        "name": "Kevin - Sangat Menarik"
508      },
509      "reviewBody": "Saya melihat AGAM99 cukup konsisten dalam menyajikan perkembangan Portal Pragmatic Play. Informasi terbaru selalu tersusun dengan rapi sehingga memudahkan pengunjung mengikuti pembaruan setiap waktu."
510    }
511  ]
512}
513</script>
513
514    
514<script type="application/ld+json">
515{
516  "@context": "https://schema.org",
517  "@type": "BreadcrumbList",
518  "itemListElement": [
519    {
520      "@type": "ListItem",
521      "position": 1,
522      "name": "AGAM99",
523      "item": "https://belajarpsikologi.com/"
524    },
525    {
526      "@type": "ListItem",
527      "position": 2,
528      "name": "AGAM99 Login",
529      "item": "https://belajarpsikologi.com/"
530    },
531    {
532      "@type": "ListItem",
533      "position": 3,
534      "name": "Portal Informasi",
535      "item": "https://belajarpsikologi.com/"
536    },
537    {
538      "@type": "ListItem",
539      "position": 4,
540      "name": "Pragmatic Play",
541      "item": "https://belajarpsikologi.com/"
542    },
543    {
544      "@type": "ListItem",
545      "position": 5,
546      "name": "Perkembangan Harian",
547      "item": "https://belajarpsikologi.com/"
548    },
549    {
550      "@type": "ListItem",
551      "position": 6,
552      "name": "Observasi Terbaru",
553      "item": "https://belajarpsikologi.com/"
554    },
555    {
556      "@type": "ListItem",
557      "position": 7,
558      "name": "Update Portal Pragmatic Play",
559      "item": "https://belajarpsikologi.com/"
560    },
561    {
562      "@type": "ListItem",
563      "position": 8,
564      "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari",
565      "item": "https://belajarpsikologi.com/"
566    }
567  ]
568}
569</script>
569
570    
570<script type="application/ld+json">
571			{
572				"@context": "https://schema.org",
573				"@type": "Organization",
574				"name": "AGAM99",
575				"url": "https://belajarpsikologi.com/",
576				"logo": "https://belajarpsikologi.com/assets/img/logo-agam99.png",
577				"sameAs": ["https://www.facebook.com/AGAM99", "https://twitter.com/AGAM99", "https://www.instagram.com/AGAM99"],
578				"contactPoint": {
579					"@type": "ContactPoint",
580					"telephone": "+62-812-7752-3364",
581					"contactType": "customer support",
582					"areaServed": "ID",
583					"availableLanguage": ["Indonesian", "English"]
584				}
585			}
586		</script>
586
587    
587<script type="application/ld+json">
588{
589  "@context": "https://schema.org",
590  "@type": "FAQPage",
591  "mainEntity": [
592    {
593      "@type": "Question",
594      "name": "Apa itu AGAM99?",
595      "acceptedAnswer": {
596        "@type": "Answer",
597        "text": "AGAM99 merangkum berbagai pembaruan yang berkaitan dengan Portal Pragmatic Play melalui halaman yang diperbarui secara berkala agar pengunjung dapat mengikuti perubahan terbaru dengan lebih praktis."
598      }
599    },
600    {
601      "@type": "Question",
602      "name": "Informasi apa saja yang dapat ditemukan melalui AGAM99?",
603      "acceptedAnswer": {
604        "@type": "Answer",
605        "text": "Pengunjung dapat menemukan rangkuman perkembangan harian, pembahasan fitur, perubahan tampilan, serta topik terbaru yang berkaitan dengan Portal Pragmatic Play."
606      }
607    },
608    {
609      "@type": "Question",
610      "name": "Apakah pembahasan di AGAM99 mudah dipahami oleh pengunjung baru?",
611      "acceptedAnswer": {
612        "@type": "Answer",
613        "text": "Ya, AGAM99 menyajikan setiap pembahasan menggunakan bahasa yang ringkas dan terstruktur sehingga tetap mudah dipahami oleh pengunjung baru maupun pembaca rutin."
614      }
615    },
616    {
617      "@type": "Question",
618      "name": "Kapan waktu terbaik untuk melihat pembaruan di AGAM99?",
619      "acceptedAnswer": {
620        "@type": "Answer",
621        "text": "Pengunjung dapat membuka AGAM99 kapan saja karena halaman dirancang untuk menampilkan pembaruan secara berkala dan dapat diakses melalui berbagai perangkat."
622      }
623    },
624    {
625      "@type": "Question",
626      "name": "Apakah AGAM99 hanya membahas satu jenis pembaruan?",
627      "acceptedAnswer": {
628        "@type": "Answer",
629        "text": "Tidak. AGAM99 membahas beragam perkembangan yang masih berkaitan dengan Portal Pragmatic Play, mulai dari perubahan fitur, tampilan, hingga rangkuman topik yang sedang diperbarui."
630      }
631    }
632  ]
633}
634</script>
634
635
636    
636<script type="application/ld+json">
637{
638  "@context": "https://schema.org",
639  "@type": "HowToStep",
640  "name": "Cara Mengikuti Perkembangan Portal Pragmatic Play Melalui AGAM99",
641  "description": "AGAM99 menyajikan pembaruan mengenai perkembangan Portal Pragmatic Play secara berkala dengan informasi yang tersusun ringkas, mudah dipahami, dan dapat diakses melalui berbagai perangkat.",
642  "image": "https://belajarpsikologi.com/assets/img/pictures-agam99.png",
643  "step": [
644    {
645      "@type": "HowToStep",
646      "name": "Buka Halaman AGAM99",
647      "text": "Kunjungi halaman AGAM99 melalui browser desktop maupun perangkat seluler untuk memperoleh informasi terbaru mengenai Portal Pragmatic Play.",
648      "url": "https://belajarpsikologi.com/",
649      "image": "https://belajarpsikologi.com/assets/img/pictures-agam99.png"
650    },
651    {
652      "@type": "HowToStep",
653      "name": "Ikuti Pembaruan Harian",
654      "text": "Lihat informasi yang diperbarui secara berkala agar dapat mengikuti perkembangan terbaru Portal Pragmatic Play setiap hari.",
655      "image": "https://belajarpsikologi.com/assets/img/pictures-agam99.png"
656    },
657    {
658      "@type": "HowToStep",
659      "name": "Pelajari Informasi yang Tersedia",
660      "text": "Baca setiap pembahasan yang disusun secara ringkas dan terstruktur sehingga informasi lebih mudah dipahami oleh pengunjung.",
661      "image": "https://belajarpsikologi.com/assets/img/pictures-agam99.png"
662    },
663    {
664      "@type": "HowToStep",
665      "name": "Kunjungi Secara Berkala",
666      "text": "Kunjungi AGAM99 secara berkala untuk memperoleh pembaruan terbaru mengenai Portal Pragmatic Play melalui halaman yang selalu diperbarui.",
667      "image": "https://belajarpsikologi.com/assets/img/pictures-agam99.png"
668    }
669  ],
670  "tool": [
671    {
672      "@type": "HowToTool",
673      "name": "Perangkat smartphone atau komputer"
674    },
675    {
676      "@type": "HowToTool",
677      "name": "AGAM99"
678    }
679  ],
680  "totalTime": "PT5M",
681  "estimatedCost": {
682    "@type": "MonetaryAmount",
683    "currency": "IDR",
684    "value": "5000"
685  },
686  "supply": {
687    "@type": "HowToSupply",
688    "name": "Deposit Semua Bank & Ewallet"
689  }
690}
691</script>
691
692
693</head>
694
695<body data-template="product" id="blossom-shine" class="template-product template-product">
696    <!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 696-697
696
697    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
697GTM-MF9VVZX
vendor: 101 bytes, lines 697-699
697" height="0" width="0"
698            style="display:none;visibility:hidden"></iframe></noscript>
699    
699<!-- End Google Tag Manager (noscript) -->
700
701
702
703    <div class="header-wrapper">
704
705        <div id="shopify-section-NotifBar" class="shopify-section m-0">
706
707            <style>
708                #notification {
709                    z-index: 99;
710                    width: 100%;
711                    transition: top 0.2s ease-in-out;
712                }
713
714                #notification.promo-up {
715                    top: -48px !important;
716                }
717
718                .promo-bg {
719                    width: 100%;
720                    padding: 6px 0;
721                    background: linear-gradient(to bottom, #20B2AA 0%, #20B2AA 50%, #20B2AA 100%);
722                }
723
724                .notification__message p {
725                    margin: 0;
726                    color: #ffffff;
727                    font-size: 20px !important;
728                    font-weight: bold;
729                }
730
731                .notification__message p a {
732                    text-decoration: underline;
733                    color: #ffffff;
734                }
735
736                @media (max-width: 991px) {
737                    .notification__message p {
738                        font-size: 14px !important;
739                    }
740                }
741            </style>
742            <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
743            <div id="notification" class="promo-down promo-bg pl-2 pr-2"
744                data-text="up-to-40-off-embrace-traditions-with-our-special-mooncake-hampers-pre-order-now">
745                <div class="page-width notification__inner ">
746
747
748                    <div class="notification__message text-center">
749                        <p>AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari</p>
750                    </div>
751                </div>
752            </div>
753
754
755
756
757        </div>
758        <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0">
759            <link href="//outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904"
760                rel="stylesheet" type="text/css" media="all" />
761
762
763            <header style="background: black;">
764                <div class="container">
765                    <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
766                        <a href="https://belajarpsikologi.com/">
767                            <img src="https://belajarpsikologi.com/assets/img/logo-agam99.png" alt="LOGO AGAM99"
768                                style="width: 190px;"></a>
769                        <link href="https://belajarpsikologi.com/assets/img/favicon-agam99.png" rel="shortcut icon"
770                            type="image/x-icon" />
771                        <div id="menu-hamburger" class="d-lg-none">
772                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="16" height="10"
773                                viewBox="0 0 16 10" fill="none">
774                                <path
775                                    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"
776                                    fill="#ffffff" />
777                            </svg>
778
779                            <a href="/"><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
780                                    viewBox="0 0 854 78.29">
781                                    <g id="Layer_2" data-name="Layer 2">
782                                        <g id="Layer_1-2" data-name="Layer 1">
783                                            <path
784                                                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">
785                                            </path>
786                                            <path
787                                                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">
788                                            </path>
789                                            <path
790                                                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">
791                                            </path>
792                                            <path
793                                                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">
794                                            </path>
795                                            <path
796                                                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">
797                                            </path>
798                                            <path
799                                                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">
800                                            </path>
801                                            <path
802                                                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">
803                                            </path>
804                                            <path
805                                                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">
806                                            </path>
807                                            <path
808                                                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">
809                                            </path>
810                                            <path
811                                                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">
812                                            </path>
813                                        </g>
814                                    </g>
815                                </svg>
816                            </a>
817                        </div>
818
819                        <div class="header-icon-right header-icons col-3">
820                            <div class="icon icon-account-header d-none d-lg-block">
821                                <a href="https://belajarpsikologi.com/">
822                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="20"
823                                        height="21" viewBox="0 0 20 21" fill="none">
824                                        <path
825                                            d="M19.015 19.8549C18.4842 18.3662 17.3117 17.0514 15.6819 16.1134C14.052 15.1754 12.0547 14.6667 10.0002 14.6667C7.94569 14.6667 5.94835 15.1754 4.31852 16.1134C2.68869 17.0514 1.51618 18.3662 0.985352 19.8549"
826                                            stroke="#ffffff" stroke-linecap="round" />
827                                        <path
828                                            d="M10.0002 10C12.5775 10 14.6668 7.91068 14.6668 5.33335C14.6668 2.75602 12.5775 0.666687 10.0002 0.666687C7.42283 0.666687 5.3335 2.75602 5.3335 5.33335C5.3335 7.91068 7.42283 10 10.0002 10Z"
829                                            stroke="#ffffff" stroke-linecap="round" />
830                                    </svg>
831
832                                </a>
833                            </div>
834                            <div class="icon icon-wishlist-header">
835                                <a href="https://belajarpsikologi.com/">
836                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24"
837                                        height="21" viewBox="0 0 24 21" fill="none">
838                                        <path
839                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
8396 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
840                                            fill="#ffffff" />
841                                    </svg>
842
843                                    <span class="wishlist-count d-none">0</span>
844                                </a>
845                            </div>
846                            <div class="icon icon-cart-header">
847                                <a href="https://belajarpsikologi.com/">
848                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="22"
849                                        height="21" viewBox="0 0 22 21" fill="none">
850                                        <path
851                                            d="M6.33301 10V5.33335C6.33301 4.09568 6.82467 2.90869 7.69984 2.03352C8.57501 1.15835 9.762 0.666687 10.9997 0.666687C12.2374 0.666687 13.4243 1.15835 14.2995 2.03352C15.1747 2.90869 15.6663 4.09568 15.6663 5.33335V10"
852                                            stroke="#ffffff" stroke-linecap="round" />
853                                        <path
854                                            d="M1.30956 10.7793C1.47873 8.74817 1.56389 7.73317 2.23356 7.116C2.90323 6.49883 3.92289 6.5 5.96106 6.5H16.0399C18.0769 6.5 19.0966 6.5 19.7662 7.116C20.4359 7.732 20.5211 8.74817 20.6902 10.7793L21.2899 17.973C21.3879 19.1548 21.4369 19.7463 21.0916 20.1232C20.7439 20.5 20.1512 20.5 18.9636 20.5H3.03623C1.84973 20.5 1.25589 20.5 0.909392 20.1232C0.562892 19.7463 0.611892 19.1548 0.711059 17.973L1.30956 10.7793Z"
855                                            stroke="#ffffff" />
856                                    </svg>
857
858                                </a>
859                            </div>
860                        </div>
861                    </div>
862                </div>
863            </header>
864
865            <nav class="nav-header"
866                style="background: linear-gradient(to bottom, #20B2AA 0%, #20B2AA 50%, #20B2AA 100%);">
867                <div class="nav-account-mobile row m-0 d-lg-none">
868                    <div class="col-6 welcome-cust p-0">
869
870                        <h1 class="logo">
871                            <a href="https://belajarpsikologi.com/">
872                                <img src="https://belajarpsikologi.com/assets/img/logo-agam99.png" alt="AGAM99"
873                                    style="max-height:60px;">
874                            </a>
875                        </h1>
876
877
878                    </div>
879
880                    <div class="col-6 login-register text-right p-0">
881                        <a href="https://belajarpsikologi.com/portal/">Log In</a> | <a
882                            href="https://belajarpsikologi.com/portal/">Sign Up</a>
883                    </div>
884                </div>
885                <ul class="nav-menu container">
886
887                    <li class="nav-menu container">
888                        <a href="https://belajarpsikologi.com/">
889                            <span style="color: #ffffff;">AGAM99</span>
890
891
892                    <li class=" nav-menu container">
893                        <a href="https://belajarpsikologi.com/">
894                            <span style="color: #ffffff;">Portal Pragmatic Play</span>
895
896
897                    <li class=" nav-menu container">
898                        <a href="https://belajarpsikologi.com/">
899                            <span style="color: #ffffff;">Perkembangan Harian</span>
900
901                    <li class=" nav-menu container">
902                        <a href="https://belajarpsikologi.com/">
903                            <span style="color: #ffffff;">Informasi Terbaru</span>
904
905                    <li class=" nav-menu container">
906                        <a href="https://belajarpsikologi.com/">
907                            <span style="color: #ffffff;">Observasi Portal</span>
908
909                    <li class=" nav-menu container">
910                        <a href="https://belajarpsikologi.com/">
911                            <span style="color: #ffffff;">Pembaruan Harian</span>
912
913                    <li class=" nav-menu container">
914                        <a href="https://belajarpsikologi.com/">
915                            <span style="color: #ffffff;">Kompas Perkembangan</span>
916
917                            <div class="overlay-nav">
918                                <!-- Mobile Close Button in Overlay -->
919                                <button id="nav-close" class="nav-close-btn d-lg-none">
920                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none"
921                                        xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
922                                        <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2"
923                                            stroke-linecap="round" stroke-linejoin="round" />
924                                    </svg>
925                                </button>
926                            </div>
927
928                            
928<script>
929                                if ($(window).width() < 992) {
930                                    // Level 1 menu accordion (main menu items)
931                                    $(".nav-menu .nav-menu container > a").click(function (e) {
932                                        e.preventDefault()
933                                        const parentLi = $(this).parent()
934                                        const isCurrentlyOpen = parentLi.hasClass("menu-open")
935
936                                        // Close all other open menus (accordion behavior)
937                                        $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
938                                        $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
939
940                                        // Toggle current menu
941                                        if (isCurrentlyOpen) {
942                                            parentLi.removeClass("menu-open")
943                                            $(this).next(".megamenu").slideUp()
944                                        } else {
945                                            parentLi.addClass("menu-open")
946                                            $(this).next(".megamenu").slideDown()
947                                        }
948                                    })
949
950                                    // Level 2 menu accordion (submenu items with grandchildren)
951                                    $(document).on('click', '.dropdown-menu .has-submenu > a', function (e) {
952                                        e.preventDefault()
953                                        const parentLi = $(this).parent()
954                                        const isCurrentlyOpen = parentLi.hasClass("submenu-open")
955                                        const grandchild = $(this).next(".grandchild")
956
957                                        // Close all other open submenus in the same dropdown (accordion behavior)
958                                        parentLi.siblings('.has-submenu').removeClass("submenu-open")
959                                        parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
960                                        parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
961
962                                        // Toggle current submenu
963                                        if (isCurrentlyOpen) {
964                                            parentLi.removeClass("submenu-open")
965                                            grandchild.slideUp()
966                                            $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
967                                        } else {
968                                            parentLi.addClass("submenu-open")
969                                            grandchild.slideDown()
970                                            $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
971                                        }
972                                    })
973
974                                    $("#menu-hamburger").click(function (e) {
975                                        e.preventDefault()
976                                        $("body").toggleClass("nav_open")
977                                    })
978
979                                    // Handle close button click
980                                    $("#nav-close").click(function (e) {
981                                        e.preventDefault()
982                                        $("body").removeClass("nav_open")
983                                        // Close all open menus when close button is clicked
984                                        $(".nav-menu .nav-menu container").removeClass("menu-open")
985                                        $(".nav-menu .megamenu").slideUp()
986                                        $(".dropdown-menu .has-submenu").removeClass("submenu-open")
987                                        $(".dropdown-menu .grandchild").slide
987Up()
988                                        $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
989                                    })
990                                }
991
992                                $(".overlay-nav").click(function (e) {
993                                    e.preventDefault()
994                                    $("body").removeClass("nav_open")
995                                    // Close all open menus when overlay is clicked
996                                    $(".nav-menu .nav-menu container").removeClass("menu-open")
997                                    $(".nav-menu .megamenu").slideUp()
998                                    $(".dropdown-menu .has-submenu").removeClass("submenu-open")
999                                    $(".dropdown-menu .grandchild").slideUp()
1000                                    $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
1001                                })
1002                            </script>
1002
1003
1004
1005        </div>
1006
1007        <div id="shopify-section-search-popup" class="shopify-section m-0">
1008            <style>
1009                #search-trigger {
1010                    cursor: pointer;
1011                }
1012
1013                #search-popup {
1014                    display: none;
1015                    position: fixed;
1016                    left: 0;
1017                    width: 100%;
1018                    top: 0;
1019                    height: 100%;
1020                    justify-content: center;
1021                    z-index: 9999;
1022                    background: rgb(196 196 196 / 30%);
1023                }
1024
1025                #search-input {
1026                    align-self: center;
1027                    width: 100%;
1028                    height: 80px;
1029                    position: absolute;
1030                    top: 0;
1031                    border-bottom: 0.5px solid #A3A3A3;
1032                    background-color: #fff;
1033                }
1034
1035                #search-input * {
1036                    align-self: center;
1037                }
1038
1039                #search-type {
1040                    width: 100%;
1041                    border: none;
1042                    padding-right: 20px;
1043                    padding-left: 20px;
1044                    font-size: 16px;
1045                    color: #757575;
1046                }
1047
1048                #search-btn {
1049                    font-size: 16px;
1050                    font-weight: 500;
1051                }
1052
1053                #search-result {
1054                    min-height: 490px;
1055                    width: 100%;
1056                    padding-top: 80px;
1057                }
1058
1059                #search-result .container {
1060                    background-color: #fff;
1061                    padding: 20px 40px;
1062                }
1063
1064                body.search-popup-open {
1065                    /* .search-popup-open */
1066                    overflow: hidden;
1067                }
1068
1069                .search-popup-open #loc_delivery {
1070                    display: none
1071                }
1072
1073                .search-header svg {
1074                    display: none;
1075                    cursor: pointer;
1076                }
1077
1078                .wrapper-search-popup {
1079                    max-height: calc(100vh - 150px);
1080                    overflow-y: auto;
1081                    overflow-x: hidden;
1082                }
1083
1084                .group-recommend {
1085                    padding: 20px 40px;
1086                }
1087
1088                .resultsearch {
1089                    display: none;
1090                }
1091
1092                .results {
1093                    padding: 20px 40px
1094                }
1095
1096                .resultsearch label {
1097                    font-weight: 600;
1098                    padding-bottom: 20px;
1099                    display: block;
1100                    margin-bottom: 20px;
1101                    border-bottom: 1px solid #AAAAAA;
1102                }
1103
1104                ul.result_product {
1105                    max-height: 300px;
1106                    overflow: auto;
1107                }
1108
1109                .group-promotion ul {
1110                    margin: 0;
1111                }
1112
1113                .group-promotion li {
1114                    list-style: none;
1115                    margin-bottom: 12px;
1116                }
1117
1118                .group-promotion li a {
1119                    color: inherit;
1120                }
1121
1122                .group-recent {
1123                    position: relative;
1124                    padding: 20px 40px;
1125                }
1126
1127                .group-recent ul {
1128                    margin: 0;
1129                }
1130
1131                .group-recent li {
1132                    list-style: none;
1133                    display: inline-block;
1134                    margin-right: 60px;
1135                }
1136
1137                .group-recent li a {
1138                    color: inherit;
1139                }
1140
1141                .last-search svg {
1142                    width: 20px;
1143                    vertical-align: middle;
1144                }
1145
1146                ul.last-search a {
1147                    vertical-align: middle;
1148                    padding: 0 10px;
1149                }
1150
1151                ul.last-search li span {
1152                    cursor: pointer;
1153                }
1154
1155                .delete-all-history {
1156                    position: absolute;
1157                    top: 25px;
1158                    right: 40px;
1159                    text-decoration: underline;
1160                    color: #20B2AA;
1161                    cursor: pointer;
1162                    font-size: 12px;
1163                }
1164
1165                form.search.search-modal__form {
1166                    position: relative;
1167                }
1168
1169                button.search__button svg {
1170                    width: 25px;
1171                    color: #495057;
1172                    fill: #757582;
1173                }
1174
1175                button.search__button.field__button {
1176                    position: absolute;
1177                    top: 50%;
1178                    margin-top: -12px;
1179                }
1180
1181                .close-search {
1182                    display: none;
1183                    position: absolute;
1184                    right: 65px;
1185                    top: 10px;
1186                    cursor: pointer;
1187                }
1188
1189                .site-overlay {
1190                    position: fixed;
1191                    top: 0;
1192                    width: 100vw;
1193                    height: 100vh;
1194                    z-index: 1000;
1195                    background: #0000005c;
1196                    visibility: hidden;
1197                    opacity: 0;
1198                    pointer-events: none;
1199                    transition: all .3s linear;
1200                    display: block !important;
1201                }
1202
1203                .search-popup-open .site-overlay {
1204                    opacity: 1;
1205                    visibility: visible;
1206                    pointer-events: all;
1207                    z-index: -1;
1208                    cursor: pointer;
1209                }
1210
1211                @media (min-width: 991px) {
1212                    .group-recent ul {
1213                        column-count: 3;
1214                    }
1215
1216                    .group-promotion li a {
1217                        font-size: 12px;
1218                        font-weight: 400;
1219                    }
1220
1221                    .group-recent li a {
1222                        font-size: 12px;
1223                        font-weight: 400;
1224                    }
1225                }
1226
1227                .moreresult {
1228                    padding: 10px 40px;
1229                    border-top: 1px solid #AAAAAA;
1230                }
1231
1232                .moreresult * {
1233                    align-self: center;
1234                }
1235
1236                .moreresult p {
1237                    margin: 0;
1238                    font-size: 12px !important;
1239                }
1240
1241                .moreresult svg {
1242                    width: 13px;
1243                }
1244
1245                @media (max-width: 992px) {
1246                    .icon-key-mobile {
1247                        height: auto !important;
1248                        width: 10px !important;
1249                    }
1250
1251                    body.grid-view.search-popup-open .products {
1252                        -ms-flex: 0 0 100% !important;
1253                        flex: 0 0 100% !important;
1254                        max-width: 100% !important;
1255                    }
1256
1257                    button.search__button svg {
1258                        width: 20px;
1259                    }
1260
1261                    #search-result {
1262                        padding-left: 0;
1263                        padding-right: 0;
1264                    }
1265
1266                    #search-result {
1267                        padding-top: 55px;
1268                    }
1269
1270                    #search-input {
1271                        height: 55px;
1272                    }
1273
1274                    .group-recommend {
1275                        padding: 20px;
1276                    }
1277
1278                    #search-input .container {
1279                        padding: 0 20px;
1280                    }
1281
1282                    #search-type {
1283                        font-size: 14px;
1284                    }
1285
1286                    #search-btn {
1287                        font-size: 12px;
1288                        text-decoration: underline;
1289                    }
1290
1291                    .results {
1292                        padding: 20px;
1293                    }
1294
1295                    .group-recommend h3 {
1296                        font-size: 16px;
1297                    }
1298
1299                    .products .card-body {
1300                        padding: 8px 0px 10px;
1301                    }
1302
1303                    .moreresult {
1304                        padding: 10px 20px;
1305                    }
1306                }
1307            </style>
1308            <style type="text/css">
1309                div.advertisement-placeholder {
1310                    text-align: center;
1311                    padding-bottom: 20px;
1312                    display: flex;
1313                    flex-direction: column;
1314                    justify-content: center;
1315                }
1316
1317                div.advertisement-text p {
1318                    margin: 0;
1319                    font-family: Open Sans;
1320                    font-style: normal;
1321                    font-weight: normal;
1322                    font-size: 10px;
1323                    line-height: 20px;
1324                    color: #999999;
1325                }
1326
1327                div.advertisement-banner {
1328                    margin: 0px auto;
1329                }
1330
1331                div#div-gpt-ad-billboard-placeholder {
1332                    width: 996px;
1333                    margin: 0 auto;
1334                    background: #F5F5F5;
1335                    padding-bottom: unset !important;
1336                    min-height: 200px;
1337                }
1338
1339                div#div-gpt-ad-lb-placeholder {
1340                    background: #F5F5F5;
1341                    padding-bottom: unset !important;
1342                    min-height: 280px;
1343                }
1344
1345                .faq-section {
1346                    max-width: 1200px;
1347                    margin: 50px auto;
1348                    padding: 40px 20px;
1349                    position: relative;
1350                    background-color: rgba(0, 0, 0, 0.1);
1351                    backdrop-filter: blur(25px);
1352                    border-radius: 20px;
1353                }
1354
1355                .faq-section::before {
1356                    content: "";
1357                    position: absolute;
1358                    top: 0;
1359                    left: 50%;
1360                    transform: translateX(-50%);
1361                    width: 80%;
1362                    height: 2px;
1363                    background: linear-gradient(90deg, transparent, #20B2AA, transparent)
1364                }
1365
1366                .faq-section h2 {
1367                    text-align: center;
1368                    font-size: 34px;
1369                    font-weight: 700;
1370                    margin-bottom: 50px;
1371                    background: linear-gradient(135deg, #676767, #ebebeb, #676767);
1372                    -webkit-background-clip: text;
1373                    -webkit-text-fill-color: transparent;
1374                    background-clip: text;
1375                    font-family: "Poppins", sans-serif;
1376                    letter-spacing: 1px
1377                }
1378
1379                .faq-container {
1380                    display: flex;
1381                    flex-direction: column;
1382                    gap: 25px
1383                }
1384
1385                .faq-item {
1386                    background: linear-gradient(145deg, #0a0a0a, #1a1a1a);
1387                    border: 2px solid #20B2AA;
1388                    border-radius: 20px;
1389                    overflow: hidden;
1390                    transition: all .4s ease;
1391                    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5)
1392                }
1393
1394                .faq-item:hover {
1395                    border-color: #20B2AA;
1396                    transform: translateX(10px);
1397                    box-shadow: 0 12px 35px rgba(4, 141, 253, 0.25)
1398                }
1399
1400                .faq-question {
1401                    width: 100%;
1402                    padding: 28px 35px;
1403                    background: transparent;
1404                    color: #ffffff;
1405                    font-size: 18px;
1406                    font-weight: 600;
1407                    text-align: left;
1408                    border: none;
1409                    cursor: pointer;
1410                    display: flex;
1411                    justify-content: space-between;
1412                    align-items: center;
1413                    font-family: "Poppins", sans-serif;
1414                    transition: all .3s ease
1415                }
1416
1417                .faq-question:hover {
1418                    color: #20B2AA
1419                }
1420
1421                .faq-question::after {
1422                    content: '+';
1423                    font-size: 32px;
1424                    font-weight: 300;
1425                    transition: all .4s ease;
1426                    color: #20B2AA;
1427                    width: 40px;
1428                    height: 40px;
1429                    display: flex;
1430                    align-items: center;
1431                    justify-content: center;
1432                    border: 2px solid #20B2AA;
1433                    border-radius: 50%;
1434                    background: rgba(0, 0, 0, 0.1)
1435                }
1436
1437                .faq-item.active .faq-question::after {
1438                    transform: rotate(135deg);
1439                    background: linear-gradient(to bottom, #000000 0%, #20B2AA 50%, #000000 100%);
1440                    color: #000;
1441                    border-color: transparent
1442                }
1443
1444                .faq-answer {
1445                    max-height: 0;
1446                    overflow: hidden;
1447                    transition: max-height .5s ease, padding .5s ease;
1448                    background: linear-gradient(180deg, rgba(253, 228, 4, 0.05), transparent);
1449                    padding: 0 35px
1450                }
1451
1452                .faq-item.active .faq-answer {
1453                    max-height: 800px;
1454                    padding: 30px 35px;
1455                    border-top: 1px solid rgba(4, 0, 255, 0.6)
1456                }
1457
1458                .faq-answer p {
1459                    color: #e0e0e0;
1460                    font-size: 16px;
1461                    line-height: 2;
1462                    margin: 0;
1463                    font-family: "Poppins", sans-serif
1464                }
1465
1466                @media (max-width:768px) {
1467
1468                    .faq-section {
1469                        padding: 30px 15px
1470                    }
1471
1472                    .faq-section h2 {
1473                        font-size: 26px
1474                    }
1475
1476                    .faq-question {
1477                        font-size: 16px;
1478                        padding: 22px 25px
1479                    }
1480
1481                    .faq-question::after {
1482                        width: 35px;
1483                        height: 35px;
1484                        font-size: 28px
1485                    }
1486
1487                    .faq-answer {
1488                        padding: 0 25px
1489                    }
1490
1491                    .faq-item.active .faq-answer {
1492                        padding: 25px
1493                    }
1494
1495                    .faq-item:hover {
1496                        transform: translateX(5px)
1497                    }
1498                }
1499            </style>
1500            <div id="search-popup">
1501                <div id="search-input" class="row">
1502                    <div class="container w-100">
1503                        <form action="/search" method="get" role="search"
1504                            class="search search-modal__form d-flex justify-content-between">
1505                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="20" height="20"
1506                                viewBox="0 0 20 20" fill="none">
1507                                <path
1508                                    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"
1509                                    fill="#ffffff" />
1510                            </svg>
1511
1512                            <input type="hidden" name="type" value="product">
1513                            <input type="text" id="search-type" name="q" class="search-popup"
1514                                placeholder="Gifts that linger: Uncover treasures for cherished moments.">
1515                            <div class="close-search"><svg
1516                                    xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="18"
1517                                    height="18" viewBox="0 0 18 18" fill="none">
1518                                    <path
1519                                        d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z"
1520                                        fill="#757575" />
1521                                </svg>
1522                            </div>
1523                            <button id="search-btn">Search</button>
1524                        </form>
1525                    </div>
1526                </div>
1527                <div id="search-result" class="container m-auto">
1528                    <div class="container p-0">
1529                        <div class="group-promotion">
1530                            <div class="resultsearch">
1531                                <div class="row results">
1532                                    <div class="col-12 col-lg-6 mb-3 mb-lg-0">
1533                                        <label>SUGGESTIONS</label>
1534                                        <ul class="result_collection"></ul>
1535                                    </div>
1536                                    <div class="col-12 col-lg-6">
1537                                        <label>PRODUCTS</label>
1538                                        <ul class="result_product"></ul>
1539                                    </div>
1540                                </div>
1541                                <div class="d-flex justify-content-between moreresult m-0">
1542                                    <p>Search for<span></span></p>
1543                                    <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1544                                        width="32" height="32" viewBox="0 0 32 32">
1545                                        <title>icon-arrow-right</title>
1546                                        <path
1547                                            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">
1548                                        </path>
1549                                    </svg>
1550                                </div>
1551                            </div>
1552                        </div>
1553                        <div class="group-recent hide">
1554                            <h3>RECENT SEARCH</h3>
1555                            <span class="delete-all-history">Hapus riwayat</span>
1556                            <ul class="last-search"></ul>
1557                        </div>
1558                        <div class="group-recommend">
1559                            <h3>YOU MAY ALSO LIKE</h3>
1560
1561
1562                            <div class="row popup-recommend c-products-grid infinite-case product-multi-">
1563                                <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
1564
1565
1566                                    <div class="swiper-slide card">
1567
1568
1569
1570
1571                                        <div class="products" data-lazy="false">
1572                                            <div class="bg-products">
1573                                                <div class="wishlist-toggle"
1574                                                    data-product-handle="mid-autumn-of-love-mooncake">
1575                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1576                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1577                                                        <path
1578                                                            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.
157811233C11.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"
1579                                                            fill="#ffffff" />
1580                                                    </svg>
1581
1582                                                </div>
1583                                                <a href="/products/mid-autumn-of-love-mooncake">
1584
1585                                                    <div class="product-card-img-container p-0 position-relative">
1586
1587                                                        <img class="product-card-img" lazy="false"
1588                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898"
1589                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898"
1590                                                            alt="Mid Autumn of Love Mooncake" height="200" width="200">
1591                                                    </div>
1592                                                    <div class="card-body product-card-info">
1593                                                        <h5 class="h5 mb-0">
1594                                                            Mid Autumn of Love Mooncake
1595                                                        </h5>
1596                                                        <div class="product-card-price">
1597
1598                                                            <div class="product-price-sale">
1599                                                                <s class="product-card-price-before card-money">Rp
1600                                                                    588.000</s>
1601                                                                <span class="product-card-discount small">
1602                                                                    (-40%)
1603                                                                </span>
1604                                                            </div>
1605
1606
1607
1608                                                            <div class="price-discount">
1609                                                                <h4 class="product-card-price-after card-money">Rp
1610                                                                    348.000</h4>
1611                                                            </div>
1612
1613
1614
1615
1616
1617                                                        </div>
1618
1619                                                    </div>
1620                                                </a>
1621                                            </div>
1622
1623                                        </div>
1624
1625                                    </div>
1626
1627
1628
1629                                    <div class="swiper-slide card">
1630
1631
1632
1633
1634                                        <div class="products" data-lazy="false">
1635                                            <div class="bg-products">
1636                                                <div class="wishlist-toggle"
1637                                                    data-product-handle="mid-autumn-of-joy-mooncake">
1638                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1639                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1640                                                        <path
1641                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
16416 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
1642                                                            fill="#ffffff" />
1643                                                    </svg>
1644
1645                                                </div>
1646                                                <a href="/products/mid-autumn-of-joy-mooncake">
1647
1648                                                    <div class="product-card-img-container p-0 position-relative">
1649
1650                                                        <img class="product-card-img" lazy="false"
1651                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798"
1652                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798"
1653                                                            alt="Mid Autumn of Joy Mooncake" height="200" width="200">
1654                                                    </div>
1655                                                    <div class="card-body product-card-info">
1656                                                        <h5 class="h5 mb-0">
1657                                                            Mid Autumn of Joy Mooncake
1658                                                        </h5>
1659                                                        <div class="product-card-price">
1660
1661                                                            <div class="product-price-sale">
1662                                                                <s class="product-card-price-before card-money">Rp
1663                                                                    888.000</s>
1664                                                                <span class="product-card-discount small">
1665                                                                    (-33%)
1666                                                                </span>
1667                                                            </div>
1668
1669
1670
1671                                                            <div class="price-discount">
1672                                                                <h4 class="product-card-price-after card-money">Rp
1673                                                                    588.000</h4>
1674                                                            </div>
1675
1676
1677
1678
1679
1680                                                        </div>
1681
1682                                                    </div>
1683                                                </a>
1684                                            </div>
1685
1686                                        </div>
1687
1688                                    </div>
1689
1690
1691
1692                                    <div class="swiper-slide card">
1693
1694
1695
1696
1697                                        <div class="products" data-lazy="false">
1698                                            <div class="bg-products">
1699                                                <div class="wishlist-toggle"
1700                                                    data-product-handle="mid-autumn-of-fortune-mooncake">
1701                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1702                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1703                                                        <path
1704                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
17046 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
1705                                                            fill="#ffffff" />
1706                                                    </svg>
1707
1708                                                </div>
1709                                                <a href="/products/mid-autumn-of-fortune-mooncake">
1710
1711                                                    <div class="product-card-img-container p-0 position-relative">
1712
1713                                                        <img class="product-card-img" lazy="false"
1714                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072"
1715                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072"
1716                                                            alt="Mid Autumn of Fortune Mooncake" height="200"
1717                                                            width="200">
1718                                                    </div>
1719                                                    <div class="card-body product-card-info">
1720                                                        <h5 class="h5 mb-0">
1721                                                            Mid Autumn of Fortune Mooncake
1722                                                        </h5>
1723                                                        <div class="product-card-price">
1724
1725                                                            <div class="product-price-sale">
1726                                                                <s class="product-card-price-before card-money">Rp
1727                                                                    1.188.000</s>
1728                                                                <span class="product-card-discount small">
1729                                                                    (-33%)
1730                                                                </span>
1731                                                            </div>
1732
1733
1734
1735                                                            <div class="price-discount">
1736                                                                <h4 class="product-card-price-after card-money">Rp
1737                                                                    788.000</h4>
1738                                                            </div>
1739
1740
1741
1742
1743
1744                                                        </div>
1745
1746                                                    </div>
1747                                                </a>
1748                                            </div>
1749
1750                                        </div>
1751
1752                                    </div>
1753
1754
1755
1756                                    <div class="swiper-slide card">
1757
1758
1759
1760
1761                                        <div class="products" data-lazy="false">
1762                                            <div class="bg-products">
1763                                                <div class="wishlist-toggle"
1764                                                    data-product-handle="mid-autumn-festival-mooncake">
1765                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1766                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1767                                                        <path
1768                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
17686 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
1769                                                            fill="#ffffff" />
1770                                                    </svg>
1771
1772                                                </div>
1773                                                <a href="/products/mid-autumn-festival-mooncake">
1774
1775                                                    <div class="product-card-img-container p-0 position-relative">
1776
1777                                                        <img class="product-card-img" lazy="false"
1778                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965"
1779                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965"
1780                                                            alt="Mid Autumn Festival Mooncake" height="200" width="200">
1781                                                    </div>
1782                                                    <div class="card-body product-card-info">
1783                                                        <h5 class="h5 mb-0">
1784                                                            Mid Autumn Festival Mooncake
1785                                                        </h5>
1786                                                        <div class="product-card-price">
1787
1788                                                            <div class="product-price-sale">
1789                                                                <s class="product-card-price-before card-money">Rp
1790                                                                    1.288.000</s>
1791                                                                <span class="product-card-discount small">
1792                                                                    (-23%)
1793                                                                </span>
1794                                                            </div>
1795
1796
1797
1798                                                            <div class="price-discount">
1799                                                                <h4 class="product-card-price-after card-money">Rp
1800                                                                    988.000</h4>
1801                                                            </div>
1802
1803
1804
1805
1806
1807                                                        </div>
1808
1809                                                    </div>
1810                                                </a>
1811                                            </div>
1812
1813                                        </div>
1814
1815                                    </div>
1816
1817
1818
1819                                    <div class="swiper-slide card">
1820
1821
1822
1823
1824                                        <div class="products" data-lazy="false">
1825                                            <div class="bg-products">
1826                                                <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
1827                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1828                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1829                                                        <path
1830                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
18306 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
1831                                                            fill="#ffffff" />
1832                                                    </svg>
1833
1834                                                </div>
1835                                                <a href="/products/the-jade-bouquet">
1836
1837                                                    <div class="product-card-img-container p-0 position-relative">
1838
1839                                                        <img class="product-card-img" lazy="false"
1840                                                            src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030"
1841                                                            data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030"
1842                                                            alt="The Jade Bouquet" height="200" width="200">
1843                                                    </div>
1844                                                    <div class="card-body product-card-info">
1845                                                        <h5 class="h5 mb-0">
1846                                                            The Jade Bouquet
1847                                                        </h5>
1848                                                        <div class="product-card-price">
1849
1850                                                            <div class="product-price-sale">
1851                                                                <s class="product-card-price-before card-money">Rp
1852                                                                    435.000</s>
1853                                                                <span class="product-card-discount small">
1854                                                                    (-34%)
1855                                                                </span>
1856                                                            </div>
1857
1858
1859
1860                                                            <div class="price-discount">
1861                                                                <h4 class="product-card-price-after card-money">Rp
1862                                                                    285.000</h4>
1863                                                            </div>
1864
1865
1866
1867
1868
1869                                                        </div>
1870
1871                                                    </div>
1872                                                </a>
1873                                            </div>
1874
1875                                        </div>
1876
1877                                    </div>
1878
1879
1880
1881                                    <div class="swiper-slide card">
1882
1883
1884
1885
1886                                        <div class="products" data-lazy="false">
1887                                            <div class="bg-products">
1888                                                <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
1889                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1890                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1891                                                        <path
1892                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
18926 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
1893                                                            fill="#ffffff" />
1894                                                    </svg>
1895
1896                                                </div>
1897                                                <a href="/products/the-selena-bouquet">
1898
1899                                                    <div class="product-card-img-container p-0 position-relative">
1900
1901                                                        <img class="product-card-img" lazy="false"
1902                                                            src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047"
1903                                                            data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047"
1904                                                            alt="The Selena Bouquet" height="200" width="200">
1905                                                    </div>
1906                                                    <div class="card-body product-card-info">
1907                                                        <h5 class="h5 mb-0">
1908                                                            The Selena Bouquet
1909                                                        </h5>
1910                                                        <div class="product-card-price">
1911
1912                                                            <div class="product-price-sale">
1913                                                                <s class="product-card-price-before card-money">Rp
1914                                                                    335.000</s>
1915                                                                <span class="product-card-discount small">
1916                                                                    (-29%)
1917                                                                </span>
1918                                                            </div>
1919
1920
1921
1922                                                            <div class="price-discount">
1923                                                                <h4 class="product-card-price-after card-money">Rp
1924                                                                    235.000</h4>
1925                                                            </div>
1926
1927
1928
1929
1930
1931                                                        </div>
1932
1933                                                    </div>
1934                                                </a>
1935                                            </div>
1936
1937                                        </div>
1938
1939                                    </div>
1940
1941
1942
1943                                    <div class="swiper-slide card">
1944
1945
1946
1947
1948                                        <div class="products" data-lazy="false">
1949                                            <div class="bg-products">
1950                                                <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
1951                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
1952                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
1953                                                        <path
1954                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
19546 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
1955                                                            fill="#ffffff" />
1956                                                    </svg>
1957
1958                                                </div>
1959                                                <a href="/products/the-viola-bouquet">
1960
1961                                                    <div class="product-card-img-container p-0 position-relative">
1962
1963                                                        <img class="product-card-img" lazy="false"
1964                                                            src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053"
1965                                                            data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053"
1966                                                            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."
1967                                                            height="200" width="200">
1968                                                    </div>
1969                                                    <div class="card-body product-card-info">
1970                                                        <h5 class="h5 mb-0">
1971                                                            The Viola Bouquet
1972                                                        </h5>
1973                                                        <div class="product-card-price">
1974
1975                                                            <div class="product-price-sale">
1976                                                                <s class="product-card-price-before card-money">Rp
1977                                                                    385.000</s>
1978                                                                <span class="product-card-discount small">
1979                                                                    (-25%)
1980                                                                </span>
1981                                                            </div>
1982
1983
1984
1985                                                            <div class="price-discount">
1986                                                                <h4 class="product-card-price-after card-money">Rp
1987                                                                    285.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
2006                                    <div class="swiper-slide card">
2007
2008
2009
2010
2011                                        <div class="products" data-lazy="false">
2012                                            <div class="bg-products">
2013                                                <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
2014                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
2015                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
2016                                                        <path
2017                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
20176 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
2018                                                            fill="#ffffff" />
2019                                                    </svg>
2020
2021                                                </div>
2022                                                <a href="/products/the-minerva-bouquet">
2023
2024                                                    <div class="product-card-img-container p-0 position-relative">
2025
2026                                                        <img class="product-card-img" lazy="false"
2027                                                            src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061"
2028                                                            data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061"
2029                                                            alt="The Minerva Bouquet" height="200" width="200">
2030                                                    </div>
2031                                                    <div class="card-body product-card-info">
2032                                                        <h5 class="h5 mb-0">
2033                                                            The Minerva Bouquet
2034                                                        </h5>
2035                                                        <div class="product-card-price">
2036
2037                                                            <div class="product-price-sale">
2038                                                                <s class="product-card-price-before card-money">Rp
2039                                                                    385.000</s>
2040                                                                <span class="product-card-discount small">
2041                                                                    (-25%)
2042                                                                </span>
2043                                                            </div>
2044
2045
2046
2047                                                            <div class="price-discount">
2048                                                                <h4 class="product-card-price-after card-money">Rp
2049                                                                    285.000</h4>
2050                                                            </div>
2051
2052
2053
2054
2055
2056                                                        </div>
2057
2058                                                    </div>
2059                                                </a>
2060                                            </div>
2061
2062                                        </div>
2063
2064                                    </div>
2065
2066
2067
2068                                    <div class="swiper-slide card">
2069
2070
2071
2072
2073                                        <div class="products" data-lazy="false">
2074                                            <div class="bg-products">
2075                                                <div class="wishlist-toggle"
2076                                                    data-product-handle="congraduations-bouquet">
2077                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
2078                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
2079                                                        <path
2080                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
20806 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
2081                                                            fill="#ffffff" />
2082                                                    </svg>
2083
2084                                                </div>
2085                                                <a href="/products/congraduations-bouquet">
2086
2087                                                    <div class="product-card-img-container p-0 position-relative">
2088
2089                                                        <img class="product-card-img" lazy="false"
2090                                                            src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306"
2091                                                            data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306"
2092                                                            alt="Congraduations Bouquet" height="200" width="200">
2093                                                    </div>
2094                                                    <div class="card-body product-card-info">
2095                                                        <h5 class="h5 mb-0">
2096                                                            Congraduations Bouquet
2097                                                        </h5>
2098                                                        <div class="product-card-price">
2099
2100                                                            <div class="product-price-sale">
2101                                                                <s class="product-card-price-before card-money">Rp
2102                                                                    380.000</s>
2103                                                                <span class="product-card-discount small">
2104                                                                    (-25%)
2105                                                                </span>
2106                                                            </div>
2107
2108
2109
2110                                                            <div class="price-discount">
2111                                                                <h4 class="product-card-price-after card-money">Rp
2112                                                                    285.000</h4>
2113                                                            </div>
2114
2115
2116
2117
2118
2119                                                        </div>
2120
2121                                                    </div>
2122                                                </a>
2123                                            </div>
2124
2125                                        </div>
2126
2127                                    </div>
2128
2129
2130
2131                                    <div class="swiper-slide card">
2132
2133
2134
2135
2136                                        <div class="products" data-lazy="false">
2137                                            <div class="bg-products">
2138                                                <div class="wishlist-toggle"
2139                                                    data-product-handle="grad-gorgeous-bouquet">
2140                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
2141                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
2142                                                        <path
2143                                                            d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
21436 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z"
2144                                                            fill="#ffffff" />
2145                                                    </svg>
2146
2147                                                </div>
2148                                                <a href="/products/grad-gorgeous-bouquet">
2149
2150                                                    <div class="product-card-img-container p-0 position-relative">
2151
2152                                                        <img class="product-card-img" lazy="false"
2153                                                            src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297"
2154                                                            data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297"
2155                                                            alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
2156                                                    </div>
2157                                                    <div class="card-body product-card-info">
2158                                                        <h5 class="h5 mb-0">
2159                                                            Grad & Gorgeous Bouquet
2160                                                        </h5>
2161                                                        <div class="product-card-price">
2162
2163                                                            <div class="product-price-sale">
2164                                                                <s class="product-card-price-before card-money">Rp
2165                                                                    380.000</s>
2166                                                                <span class="product-card-discount small">
2167                                                                    (-25%)
2168                                                                </span>
2169                                                            </div>
2170
2171
2172
2173                                                            <div class="price-discount">
2174                                                                <h4 class="product-card-price-after card-money">Rp
2175                                                                    285.000</h4>
2176                                                            </div>
2177
2178
2179
2180
2181
2182                                                        </div>
2183
2184                                                    </div>
2185                                                </a>
2186                                            </div>
2187
2188                                        </div>
2189
2190                                    </div>
2191
2192
2193                                </div>
2194                            </div>
2195
2196                        </div>
2197                    </div>
2198                </div>
2199
2200                <div class="site-overlay" style="display: none"></div>
2201            </div>
2202            
2202<script>
2203
2204                var swiper = new Swiper('.popup-recommend', {
2205                    slidesPerView: 4,
2206                    spaceBetween: 30,
2207                    lazy: true,
2208                    speed: 300,
2209                    breakpoints: {
2210                        // when window width is <= 576px
2211                        576: {
2212                            slidesPerView: 2,
2213                            spaceBetween: 10,
2214                            freeMode: true,
2215                            resistance: true,
2216                            resistanceRatio: 0,
2217                            freeModeMomentumRatio: 0.45,
2218                            freeModeMomentumVelocityRatio: 1.5
2219                        },
2220                        768: {
2221                            slidesPerView: 2,
2222                            spaceBetween: 10
2223                        },
2224                        992: {
2225                            slidesPerView: 3,
2226                            spaceBetween: 20
2227                        }
2228                    }
2229                });
2230
2231                const searchContainer = $("#search-popup")
2232                const searchInput = $(".search-popup")
2233                const result_collection = $('.result_collection')
2234                const result_product = $('.result_product')
2235                const resultsearch = $('.resultsearch')
2236                const resultrecommend = $(".group-recommend")
2237                const moreresult = $(".moreresult")
2238
2239                searchInput.keyup(function () {
2240                    const input = $(this).val()
2241                    moreresult.find("p span").text(` “${input}”`)
2242                    if (input.length > 2) {
2243                        $(".close-search").show()
2244                        const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
2245                        $.ajax({
2246                            type: 'GET',
2247                            url,
2248                            beforeSend: function () {
2249                                // setting a timeout
2250                                // $(placeholder).addClass('loading');
2251                            },
2252                            success: function (response) {
2253                                resultsearch.show()
2254                                resultrecommend.hide()
2255                                result_collection.html("")
2256                                result_product.html("")
2257                                const collections = response.resources.results.collections
2258                                const products = response.resources.results.products
2259                                let collection_length = collections.length
2260                                let product_length = products.length
2261                                // if(collections.length > 5) {
2262                                //   collection_length = 5
2263                                // }
2264                                // if(products.length > 5) {
2265                                //   product_length = 5
2266                                // }
2267                                for (let i = 0; i < collection_length; i++) {
2268                                    const title = collections[i].title
2269                                    const url = collections[i].url
2270                                    let html_collection
2271                                    if (!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
2272                                        html_collection = `
2273                 <li class="item" data-title="${title}">
2274                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
2275                 </li>
2276                 `
2277                                    }
2278                                    result_collection.append(html_collection)
2279                                }
2280                                for (let i = 0; i < product_length; i++) {
2281                                    const title = products[i].title
2282                                    const url = products[i].url
2283                                    const image = products[i].featured_image.url
2284                                    const vendor = products[i].vendor
2285                                    let html_product
2286                                    if (vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')) {
2287                                        html_product = `
2288                 <li class="item" data-vendor="${vendor}">
2289                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
2290                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
2291                   </a>
2292                 </li>
2293                 `
2294                                    }
2295                                    result_product.append(html_product)
2296                                }
2297                            },
2298                            error: function (xhr) { // if error occured
2299                                alert("Error occured.please try again");
2300                            },
2301                            complete: function (response) {
2302                                // $(placeholder).removeClass('loading');
2303                            },
2304                            dataType: 'JSON'
2305                        });
2306                    } else {
2307                        result_collection.html("")
2308                        result_product.html("")
2309
2310                        resultsearch.hide()
2311                        resultrecommend.show()
2312                    }
2313                })
2314
2315                moreresult.click(function () {
2316                    $("#search-btn").trigger("click");
2317                })
2318
2319                $(".close-search").click(function () {
2320                    $(this).hide()
2321                    searchInput.val("")
2322                    searchInput.focus()
2323                    resultsearch.hide()
2324                    resultrecommend.show()
2325                })
2326
2327                function setCookie(name, value, days) {
2328                    var expires = "";
2329                    if (days) {
2330                        var date = new Date();
2331                        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
2332                        expires = "; expires=" + date.toUTCString();
2333                    }
2334                    document.cookie = name + "=" + (value || "") + expires + "; path=/";
2335                }
2336                function getCookie(name) {
2337                    var nameEQ = name + "=";
2338                    var ca = document.cookie.split(';');
2339                    for (var i = 0; i < ca.length; i++) {
2340                        var c = ca[i];
2341                        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
2342                        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
2343                    }
2344                    return null;
2345                }
2346                let last_search_name = []
2347                let last_search_url = []
2348                $(".group-recent").hide()
2349                if (getCookie("last_search_name") != null && getCookie("last_search_url") != null) {
2350                    if (getCookie("last_search_name") != "" && getCookie("last_search_url") != "") {
2351                        $(".group-recent").show()
2352                        last_search_name = getCookie("last_search_name");
2353                        last_search_url = getCookie("last_search_url");
2354                        const arrName = last_search_name.substring(1).split(',').reverse()
2355                        const arrUrl = last_search_url.substring(1).split(',').reverse()
2356                        console.log(arrName, 'Array Name')
2357                        console.log(arrUrl, 'Array Url')
2358                        let length = arrName.length
2359                        if (arrName.length > 5) {
2360                            length = 5
2361                        }
2362                        for (let n = 0; n < length; n++) {
2363                            let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>`
2364                            $(".group-recent ul").append(html2)
2365                        }
2366                    }
2367                }
2368                console.log(last_search_name, 'Name')
2369                console.log(last_search_url, 'url')
2370
2371                resultsearch.delegate(".item a", "click", function () {
2372                    let name = [last_search_name]
2373                    let url = [last_search_url]
2374                    name.push($(this).attr('data-title'))
2375                    url.push($(this).attr('data-url'))
2376                    setCookie("last_search_name", name, 7);
2377                    setCookie("last_search_url", url, 7);
2378                })
2379
2380                $(".delete-all-history").click(function () {
2381                    setCookie("last_search_name", null, 0);
2382                    setCookie("last_search_url", null, 0);
2383                    $(".last-search").hide();
2384                    setTimeout(function () {
2385                        location.reload();
2386                    }, 500);
2387                })
2388
2389                $("#search-trigger").click(function () {
2390                    search_open()
2391                })
2392                $(".icon-search-mobile").click(function () {
2393                    search_open()
2394                })
2395                $(".search-header svg").click(function () {
2396                    search_close()
2397                })
2398                $(".icon-key-mobile").click(function () {
2399                    search_close()
2400                })
2401
2402                function search_open() {
2403                    $("body").addClass("search-popup-open")
2404                    $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
2405                    $("#search-popup, .search-header svg, .icon-key-mobile").show()
2406                    $(".search-popup").focus()
2407                    $('.popup-recommend')[0].swiper.update();
2408                }
2409                function search_close() {
2410                    $("body").removeClass("search-popup-open")
2411                    $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
2412                    $("#search-popup, .search-header svg, .icon-key-mobile").hide()
2413                    searchInput.val("")
2414                    resultsearch.hide()
2415                    resultrecommend.show()
2416                }
2417
2418                $(".site-overlay").click(function () {
2419                    search_close()
2420                })
2421            </script>
2421
2422
2423        </div>
2424    </div>
2425
2426    <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
2427        <main class="main-content pt-0" role="main">
2428
2429            <div id="breadcrumbProduct" class="d-none d-lg-block">
2430                <style>
2431                    #breadcrumbProduct {
2432                        padding: 20px 0;
2433                    }
2434
2435                    #breadcrumbProduct ul {
2436                        display: flex;
2437                        padding: 0;
2438                        list-style: none;
2439                        margin: 0;
2440                        gap: 12px;
2441                    }
2442
2443                    #breadcrumbProduct ul li {
2444                        text-transform: uppercase;
2445                        margin: 0;
2446                        font-size: 12px;
2447                    }
2448
2449                    #breadcrumbProduct ul li a {
2450                        color: #757575;
2451                    }
2452
2453                    #breadcrumbProduct ul li svg {
2454                        width: 10px;
2455                        height: 10px;
2456                        padding: 0;
2457                        color: #757575;
2458                        vertical-align: middle;
2459                    }
2460                </style>
2461                <div class="container" style="color: #ffffff;">
2462                    <ul role="navigation" aria-label="breadcrumbs">
2463                        <li><a href="https://belajarpsikologi.com/"
2464                                style="color: #ffffff;">AGAM99</a></li>
2465                        <li><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="7" height="10"
2466                                viewBox="0 0 7 10" fill="none">
2467                                <path
2468                                    d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
2469                                    fill="#757575" />
2470                            </svg></li>
2471                        <li><a href="https://belajarpsikologi.com/"
2472                                style="color: #ffffff;">Portal Pragmatic Play</a>
2473                        </li>
2474                        <li><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="7" height="10"
2475                                viewBox="0 0 7 10" fill="none">
2476                                <path
2477                                    d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
2478                                    fill="#757575" />
2479                            </svg></li>
2480                        <li><a href="https://belajarpsikologi.com/"
2481                                style="color: #ffffff;">Perkembangan Harian</a>
2482                        </li>
2483                        <li><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="7" height="10"
2484                                viewBox="0 0 7 10" fill="none">
2485                                <path
2486                                    d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
2487                                    fill="#757575" />
2488                            </svg></li>
2489                        <li><a href="https://belajarpsikologi.com/"
2490                                style="color: #ffffff;">Informasi Terbaru</a>
2491                        </li>
2492                        <li><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="7" height="10"
2493                                viewBox="0 0 7 10" fill="none">
2494                                <path
2495                                    d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
2496                                    fill="#757575" />
2497                            </svg></li>
2498                        <li><a style="color: #ffffff;">AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari</a></li>
2499
2500
2501                    </ul>
2502                </div>
2503
2504            </div>
2505
2506
2507            <div id="shopify-section-Product" class="shopify-section product-section mt-0">
2508                <link href="//outerbloom.com/cdn/shop/t/138/assets/product.css?v=31392998782552138141759380387"
2509                    rel="stylesheet" type="text/css" media="all" />
2510
2511
2512                <style>
2513                    .bg-card {
2514                        background-color: #000000;
2515                    }
2516                </style>
2517
2518                <!-- /templates/product.liquid -->
2519
2520
2521                <!-- <div itemscope itemtype="http://schema.org/Product"> -->
2522
2523
2524                <div class="product-standing-flower" data-product-type="flowerBoard">
2525                    <meta itemprop="url" content="https://belajarpsikologi.com/">
2526                    <meta itemprop="image"
2527                        content="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
2528
2529
2530
2531                    <input id="data-sku" type="hidden" value="TSLATGL1563">
2532                    <div class="product-single"
2533                        style="background-image: url(https://belajarpsikologi.com/assets/img/pictures-agam99.png); background-attachment: fixed;">
2534                        <div id="product-top" class="container">
2535                            <div class="row bg-card product-sticky"
2536                                style="background-color: rgba(0, 0, 0, 0.1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;">
2537                                <div id="product-image" class="col-lg-7 text-center">
2538                                    <div class="product-image">
2539                                        <div class="row no-gutters">
2540
2541                                            <div id="product-featured-image" class="row w-100">
2542
2543                                                <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
2544
2545                                                    <div class="swiper-container gallery-thumbs"
2546                                                        style="min-height: 500px">
2547                                                        <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails"
2548                                                            id="ProductThumbsx">
2549
2550                                                            <li class="swiper-slide" data-type="image">
2551                                                                <a href="files/Blossom-Shine-WM.jpg"
2552                                                                    data-standard="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2553                                                                    data-image="files/Blossom-Shine-WM.jpg"
2554                                                                    data-position="1" class="product-single__thumbnail">
2555                                                                    <img class="lazyload w-100"
2556                                                                        src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2557                                                                        alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2558                                                                        width="" height="">
2559                                                                </a>
2560                                                            </li>
2561
2562
2563
2564
2565                                                            <li class="swiper-slide" data-type="image">
2566                                                                <a href="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2567                                                                    data-standard="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2568                                                                    data-image="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2569                                                                    data-position="2" class="product-single__thumbnail">
2570                                                                    <img class="lazyload w-100"
2571                                                                        src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2572                                                                        alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2573                                                                        width="" height="">
2574                                                                </a>
2575                                                            </li>
2576
2577
2578
2579
2580                                                            <li class="swiper-slide" data-type="image">
2581                                                                <a href="files/Blossom-Shine_3-WM.jpg"
2582                                                                    data-standard="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2583                                                                    data-image="files/Blossom-Shine_3-WM.jpg"
2584                                                                    data-position="3" class="product-single__thumbnail">
2585                                                                    <img class="lazyload w-100"
2586                                                                        src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2587                                                                        alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2588                                                                        width="" height="">
2589                                                                </a>
2590                                                            </li>
2591
2592
2593
2594
2595                                                            <li class="swiper-slide" data-type="image">
2596                                                                <a href="files/Blossom-Shine_4.jpg"
2597                                                                    data-standard="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2598                                                                    data-image="files/Blossom-Shine_4.jpg"
2599                                                                    data-position="4" class="product-single__thumbnail">
2600                                                                    <img class="lazyload w-100"
2601                                                                        src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2602                                                                        alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2603                                                                        width="" height="">
2604                                                                </a>
2605                                                            </li>
2606
2607
2608
2609                                                        </ul>
2610                                                    </div>
2611
2612                                                </div>
2613
2614                                                <div id="featured-image-product"
2615                                                    class="col-lg-10 col-12 d-none d-lg-block">
2616                                                    <div class="swiper-container gallery-top">
2617                                                        <div class="swiper-slide product-single__image">
2618
2619                                                            <div class="product-single__photos slider slider-for"
2620                                                                id="ProductPhoto">
2621
2622
2623                                                                <div
2624                                                                    class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
2625                                                                    <a
2626                                                                        href="https://belajarpsikologi.com/assets/img/pictures-agam99.png">
2627                                                                        <img src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2628                                                                            alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2629                                                                            id="ProductPhotoImg" class="lazyload">
2630
2631                                                                    </a>
2632                                                                </div>
2633                                                            </div>
2634
2635                                                        </div>
2636                                                        <div class="swiper-slide product-single__video"
2637                                                            style="display: none">
2638                                                            <video
2639                                                                src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
2640                                                                playsinline loop muted></video>
2641                                                        </div>
2642                                                    </div>
2643                                                </div>
2644                                            </div>
2645
2646                                            <div id="featured-image-product2" class="col-12 d-lg-none">
2647                                                <div class="swiper-container gallery-mobile">
2648                                                    <ul class="swiper-wrapper">
2649                                                        <li class="swiper-slide img">
2650
2651                                                            <img class="swiper-lazy"
2652                                                                src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2653                                                                data-src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2654                                                                alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2655                                                                width="" height="">
2656
2657                                                        </li>
2658
2659
2660                                                        <li class="swiper-slide img">
2661
2662                                                            <img class="swiper-lazy"
2663                                                                src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2664                                                                data-src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2665                                                                alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2666                                                                width="" height="">
2667
2668                                                        </li>
2669
2670
2671                                                        <li class="swiper-slide img">
2672
2673                                                            <img class="swiper-lazy"
2674                                                                src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2675                                                                data-src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2676                                                                alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2677                                                                width="" height="">
2678
2679                                                        </li>
2680
2681
2682                                                        <li class="swiper-slide img">
2683
2684                                                            <img class="swiper-lazy"
2685                                                                src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2686                                                                data-src="https://belajarpsikologi.com/assets/img/pictures-agam99.png"
2687                                                                alt="AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari"
2688                                                                width="" height="">
2689
2690                                                        </li>
2691
2692
2693                                                    </ul>
2694
2695                                                    <div class="swiper-button-prev"><svg class="icon icon-chevron-left"
2696                                                            xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
2697                                                            width="7" height="12" viewBox="0 0 7 12">
2698                                                            <circle cx="60%" cy="50%" r="12" fill="transparent" />
2699                                                            <path
2700                                                                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" />
2701                                                        </svg></div>
2702                                                    <div class="swiper-button-next"><svg
2703                                                            xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
2704                                                            width="7" height="10" viewB
2704ox="0 0 7 10" fill="none">
2705                                                            <path
2706                                                                d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
2707                                                                fill="#757575" />
2708                                                        </svg></div>
2709
2710                                                    <!-- Add Pagination -->
2711                                                    <div class="swiper-pagination"></div>
2712
2713                                                </div>
2714                                            </div>
2715
2716                                            <div class="product-m-pageleb-video col-12 text-center d-lg-none">
2717                                                <!-- product video -->
2718                                                <style>
2719                                                    .c-pdp-product-info {
2720                                                        background-color: #000000 !important;
2721                                                        padding: 12px;
2722                                                        margin: 0;
2723                                                        color: white;
2724                                                    }
2725
2726                                                    .view-video {
2727                                                        display: block;
2728                                                        margin: auto;
2729                                                        padding: 5px 10px;
2730                                                        font-size: 16px;
2731                                                        font-weight: bold;
2732                                                        border: 2px solid #ffffff;
2733                                                        background: #fff;
2734                                                    }
2735
2736                                                    .view-video .icon-play {
2737                                                        fill: #ffffff;
2738                                                        vertical-align: middle;
2739                                                    }
2740
2741                                                    .video-modal {
2742                                                        display: none;
2743                                                        position: fixed;
2744                                                        background: rgba(0, 0, 0, .5);
2745                                                        width: 100%;
2746                                                        height: 100%;
2747                                                        overflow: auto;
2748                                                        z-index: 1;
2749                                                        top: 0;
2750                                                        left: 0;
2751                                                    }
2752
2753                                                    .close-video {
2754                                                        position: absolute;
2755                                                        right: 9px;
2756                                                        top: 8%;
2757                                                        z-index: 2;
2758                                                        padding: 5px;
2759                                                    }
2760
2761                                                    .close-video .icon {
2762                                                        width: 30px;
2763                                                        height: 30px;
2764                                                    }
2765
2766                                                    /*responsive iframe */
2767                                                    .video-container {
2768                                                        position: relative;
2769                                                        padding-bottom: 48.25%;
2770                                                        padding-top: 35px;
2771                                                        height: 0;
2772                                                        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);
2773                                                    }
2774
2775                                                    .video-container iframe {
2776                                                        position: absolute;
2777                                                        top: 60%;
2778                                                        left: 0;
2779                                                        width: 100%;
2780                                                        height: 100%;
2781                                                    }
2782
2783                                                    .youtube {
2784                                                        background-color: #000;
2785                                                        margin-bottom: 30px;
2786                                                        position: relative;
2787                                                        padding-top: 56.25%;
2788                                                        overflow: hidden;
2789                                                        cursor: pointer;
2790                                                        width: 100%;
2791                                                    }
2792
2793                                                    .swiper-slide .youtube {
2794                                                        max-width: 480px;
2795                                                    }
2796
2797                                                    .youtube img {
2798                                                        width: 100%;
2799                                                        top: -16.82%;
2800                                                        left: 0;
2801                                                        opacity: 0.7;
2802                                                    }
2803
2804                                                    .youtube .play-button {
2805                                                        width: 90px;
2806                                                        height: 60px;
2807                                                        background-color: #333;
2808                                                        box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
2809                                                        z-index: 1;
2810                                                        opacity: 0.8;
2811                                                        border-radius: 6px;
2812                                                    }
2813
2814                                                    .youtube .play-button:before {
2815                                                        content: "";
2816                                                        border-style: solid;
2817                                                        border-width: 15px 0 15px 26.0px;
2818                                                        border-color: transparent transparent transparent #fff;
2819                                                    }
2820
2821                                                    .youtube img,
2822                                                    .youtube .play-button {
2823                                                        cursor: pointer;
2824                                                    }
2825
2826                                                    .youtube img,
2827                                                    .youtube iframe,
2828                                                    .youtube .play-button,
2829                                                    .youtube .play-button:before {
2830                                                        position: absolute;
2831                                                    }
2832
2833                                                    .youtube .play-button,
2834                                                    .youtube .play-button:before {
2835                                                        top: 50%;
2836                                                        left: 50%;
2837                                                        transform: translate3d(-50%, -50%, 0);
2838                                                    }
2839
2840                                                    .youtube iframe {
2841                                                        height: 100%;
2842                                                        width: 100%;
2843                                                        top: 0;
2844                                                        left: 0;
2845                                                    }
2846                                                </style>
2847
2848
2849                                            </div>
2850                                        </div>
2851
2852                                        <div class="product-desc-add position-relative d-none d-lg-block m-0">
2853
2854                                        </div>
2855
2856                                        
2856<script>
2857                                            if ($(window).width() < 991) {
2858                                                var direction = 'horizontal'
2859                                            } else {
2860                                                var direction = 'vertical'
2861                                                $(".gallery-thumbs").height($("#ProductPhotoImg").height())
2862                                            }
2863                                            var swiper = new Swiper('.gallery-thumbs', {
2864
2865                                                direction,
2866                                                slidesPerView: 4.5,
2867                                                spaceBetween: 12,
2868                                                navigation: {
2869                                                    nextEl: '.swiper-button-next',
2870                                                    prevEl: '.swiper-button-prev',
2871                                                }
2872                                            });
2873
2874                                            var swiper = new Swiper('.gallery-mobile', {
2875                                                //loop: true,
2876                                                lazy: true,
2877                                                speed: 300,
2878                                                resistance: true,
2879                                                resistanceRatio: 0,
2880                                                freeModeMomentumRatio: 0.45,
2881                                                freeModeMomentumVelocityRatio: 1.5,
2882                                                navigation: {
2883                                                    nextEl: '.swiper-button-next',
2884                                                    prevEl: '.swiper-button-prev',
2885                                                },
2886                                                pagination: {
2887                                                    el: '.swiper-pagination'
2888                                                },
2889                                                useCSS3Transforms: false,
2890                                                loop: false,
2891                                                on: {
2892                                                    init: function () {
2893                                                        console.log('swiper initialized');
2894                                                        var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
2895                                                        currentVideo.trigger('play');
2896                                                    },
2897                                                },
2898                                            });
2899
2900                                            /* GET ALL VIDEOS */
2901                                            var sliderVideos = $(".swiper-slide video");
2902
2903                                            /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
2904                                            swiper.on('slideChange', function () {
2905                                                console.log('slide changed');
2906                                                /* stop all videos  */
2907                                                sliderVideos.each(function (index) {
2908                                                    this.currentTime = 0;
2909                                                });
2910
2911                                                /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
2912                                                var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
2913                                                var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
2914                                                prevVideo.trigger('stop');
2915                                                currentVideo.trigger('play');
2916                                            });
2917
2918
2919                                            $("[data-video]").click(function () {
2920                                                const file = $(this).data("video")
2921                                                $(".product-single__video").show()
2922                                                $(".product-single__image").hide()
2923                                                $(".product-single__video").find("video").attr("src", file)
2924                                                $(".product-single__video").find("video")[0].play();
2925                                            })
2926                                            $("[data-image]").click(function () {
2927                                                $(".product-single__video").hide()
2928                                                $(".product-single__image").show()
2929                                                $(".product-single__video").find("video")[0].pause();
2930                                            })
2931
2932                                            $("#product-image .swiper-slide").each(function () {
2933                                                let width = $(this).width()
2934                                                $(this).height(width)
2935                                            })
2936
2937                                            $(window).resize(function () {
2938                                                $("#product-image .swiper-slide").each(function () {
2939                                                    let width = $(this).width()
2940                                                    $(this).height(width)
2941                                                })
2942                                            })
2943                                        </script>
2943
2944
2945                                    </div>
2946                                    <br>
2947
2948
2949                                    <article class="AGAM99-content">
2950
2951                                        <h1>AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari</h1>
2952
2953<p>
2954AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja. tujuan utama ini adalah membantu pengunjung memperoleh referensi mengenai informasi terbaru, pembaruan fitur, pengenalan permainan, hingga berbagai informasi yang berkaitan dengan ekosistem Pragmatic tanpa harus mencari dari banyak sumber. Dengan tampilan yang responsif dan navigasi ini dapat diakses melalui komputer, tablet, maupun smartphone tanpa mengurangi kenyamanan saat membaca.
2955</p>
2956
2957<p>
2958Melalui AGAM99, pengunjung dapat menemukan rangkuman mengenai berbagai pembaruan, perubahan fitur, serta informasi terbaru yang berkaitan dengan Portal Pragmatic Play dalam satu halaman yang praktis. Seluruh konten disusun menggunakan bahasa yang ringkas dan mudah dipahami sehingga proses mencari informasi menjadi lebih efisien. Pembaruan dilakukan secara konsisten agar setiap informasi yang tersedia tetap relevan dengan perkembangan terbaru dan memberikan pengalaman membaca yang lebih nyaman.
2959</p>
2960
2961<p>
2962Portal digital terus mengalami pembaruan dari waktu ke waktu, baik dari sisi tampilan, fitur, maupun informasi yang disampaikan kepada pengguna. Oleh karena itu, AGAM99 berupaya menghadirkan rangkuman perkembangan secara berkala agar pengunjung dapat mengetahui perubahan terbaru tanpa harus memantau banyak halaman berbeda. Pembaruan yang dilakukan secara konsisten membantu pembaca memahami perkembangan yang terjadi dari waktu ke waktu sehingga informasi yang diperoleh tetap relevan dan sesuai dengan kondisi terkini.
2963</p>
2964                                        <div class="cta-wrapper">
2965
2966                                            <a href="https://belajarpsikologi.com/" class="btn-main">Gabung & Main
2967                                                Sekarang</a>
2968
2969                                        </div>
2970
2971                                    </article>
2972                                    <style>
2973                                        .AGAM99-content {
2974
2975                                            max-width: 750px;
2976
2977                                            margin: auto;
2978
2979                                            padding: 20px;
2980
2981                                            background: #111;
2982                                            /* Warna gelap elegan */
2983
2984                                            color: #ddd;
2985
2986                                            border-radius: 12px;
2987
2988                                            line-height: 1.7;
2989
2990                                        }
2991
2992
2993
2994                                        .AGAM99-content h1 {
2995
2996                                            color: #20B2AA;
2997                                            /* Warna Gold */
2998
2999                                            font-size: 24px;
3000
3001                                            text-align: center;
3002
3003                                            margin-bottom: 20px;
3004
3005                                        }
3006
3007
3008
3009                                        .AGAM99-content h2 {
3010
3011                                            color: #20B2AA;
3012
3013                                            font-size: 20px;
3014
3015                                            margin-top: 25px;
3016
3017                                            border-left: 4px solid #20B2AA;
3018
3019                                            padding-left: 12px;
3020
3021                                        }
3022
3023
3024
3025                                        .AGAM99-content h3 {
3026
3027                                            color: #fff;
3028
3029                                            font-size: 18px;
3030
3031                                            margin-top: 20px;
3032
3033                                        }
3034
3035
3036
3037                                        .feature-list {
3038
3039                                            padding-left: 20px;
3040
3041                                            list-style-type: square;
3042
3043                                        }
3044
3045
3046
3047                                        .feature-list li {
3048
3049                                            margin-bottom: 10px;
3050
3051                                        }
3052
3053
3054
3055                                        .cta-wrapper {
3056
3057                                            text-align: center;
3058
3059                                            margin-top: 30px;
3060
3061                                        }
3062
3063
3064
3065                                        .btn-main {
3066
3067                                            display: inline-block;
3068
3069                                            padding: 12px 25px;
3070
3071                                            background: linear-gradient(45deg, #20B2AA, #20B2AA);
3072
3073                                            color: #fff;
3074
3075                                            text-decoration: none;
3076
3077                                            font-weight: bold;
3078
3079                                            border-radius: 30px;
3080
3081                                            transition: 0.3s;
3082
3083                                        }
3084
3085
3086
3087                                        .btn-main:hover {
3088
3089                                            transform: scale(1.05);
3090
3091                                            box-shadow: 0 5px 15px rgba(46, 139, 87, 1);
3092
3093                                        }
3094                                    </style>
3095
3096                                    
3096<script>
3097                                        $(document).ready(function () {
3098                                            if ($(".c-pdp-product-info__service li").length == 1) {
3099                                                $(".c-pdp-product-info__service").addClass("no-bullet");
3100                                                $(".c-pdp-product-info__service li").addClass("no-bullets");
3101                                            }
3102                                        });
3103                                    </script>
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116                                </div>
3117                                <div id="product-meta" class="col-lg-5 p-0">
3118                                    <div class="product-meta">
3119                                        <style>
3120                                            .product-meta--review {
3121                                                margin-top: 10px
3122                                            }
3123
3124                                            .freeship * {
3125                                                font-size: 14px !important;
3126                                                font-style: normal;
3127                                            }
3128                                        </style>
3129                                        <h1 itemprop="name" class="mb-2"
3130                                            style="color: rgb(255, 255, 255); font-weight: bold;">
3131                                            AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari</h1>
3132
3133                                        <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
3134                                            <meta itemprop="priceCurrency" content="IDR">
3135
3136                                            <link itemprop="availability" href="https://schema.org/InStock">
3137                                            
3137<script type="text/javascript"
3138                                                src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
3139                                                async="async"></script>
3139
3140
3141
3142
3143
3144                                            <span class="visually-hidden">Translation missing:
3145                                                en.products.general.regular_price</span>
3146
3147                                            <span class="visually-hidden">Translation missing:
3148                                                en.products.general.sale_price</span>
3149
3150                                            <div class="row no-gutters mb-3">
3151                                                <span id="ProductPrice" class="h2 ProductPrice" itemprop="price"
3152                                                    content="835000" style="color: #ffffff;">
3153                                                    Rp 5.000
3154                                                </span>
3155                                                <div class="discount-product-detail">
3156                                                    <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
3157                                                        Rp 50.000
3158                                                    </p>
3159                                                    <span class=" tag-discount">
3160
3161
3162                                                        <span id="newDiscount"
3163                                                            class="product-tag persentase-discount hide">
3164                                                            (90%)
3165                                                        </span><br>
3166
3167                                                    </span>
3168                                                </div>
3169                                            </div>
3170
3171                                            <div class="row no-gutters meta-sds">
3172                                                <div class="col-12 mb-2 mb-lg-0 stock-info">
3173
3174
3175                                                    <span id="ProductStock-Product"
3176                                                        class="product-single__stock mb-2 hide">
3177
3178
3179
3180
3181                                                        Barang dikirim pada
3182
3183
3184
3185                                                    </span>
3186
3187                                                    <style>
3188                                                        .short-desc-desktop {
3189                                                            margin-bottom: 2rem;
3190                                                            color: white;
3191                                                        }
3192
3193                                                        .short-desc ul li:nth-child(n + 4) {
3194                                                            display: none;
3195                                                        }
3196
3197                                                        .short-desc ul li.showList:nth-child(n + 4) {
3198                                                            display: list-item;
3199                                                        }
3200
3201                                                        label.more {
3202                                                            display: none;
3203                                                        }
3204
3205                                                        label.more.showMe {
3206                                                            display: block;
3207                                                            font-size: 12px;
3208                                                            text-transform: uppercase;
3209                                                            font-weight: 700;
3210                                                            cursor: pointer;
3211                                                        }
3212                                                    </style>
3213
3214                                                    <div class="short-desc-desktop d-none d-lg-block">
3215                                                        <div class="short-desc">
3216
3217                                                            <p>AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja</p>
3218                                                        </div>
3219                                                        <label class="more">Show More →</label>
3220                                                    </div><br>
3221
3222
3223                                                    
3223<script>
3224                                                        var liCount;
3225                                                        $(document).ready(function () {
3226                                                            $(".short-desc ul").each(function () {
3227                                                                liCount = $(this).children("li").length;
3228                                                                if (liCount > 3) {
3229                                                                    $(this).parent(".short-desc").next(".more").addClass("showMe");
3230                                                                }
3231                                                            });
3232
3233                                                            $(".more").click(function () {
3234                                                                //$(".short-desc").find("li").addClass("showList");
3235                                                                // $(this).hide();
3236                                                                $("#product-desc").find("ul").show()
3237                                                                $('html, body').animate({
3238                                                                    scrollTop: $("#product-desc").offset().top - 250
3239                                                                }, 2000);
3240                                                                $("#product-desc").css("height", "auto");
3241                                                                $("#more_content").remove();
3242                                                                $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
3243                                                            });
3244                                                        });
3245                                                    </script>
3245
3246
3247
3248                                                </div>
3249                                            </div>
3250
3251                                            <div id="purchaseProduct">
3252
3253
3254
3255
3256                                                <style>
3257                                                    .variant-metafield {
3258                                                        display: block !important;
3259                                                        width: 1px;
3260                                                        padding: 0;
3261                                                        border-color: #fff;
3262                                                    }
3263
3264                                                    .select2-results__option[aria-disabled] {
3265                                                        display: none;
3266                                                    }
3267
3268                                                    .towel-bordir {
3269                                                        width: 100%;
3270                                                        display: flex;
3271                                                        align-items: center;
3272                                                        justify-content: space-around;
3273                                                    }
3274                                                </style>
3275
3276
3277
3278
3279                                                
3279<script>
3280
3281
3282                                                </script>
3282
3283
3284
3285
3286
3287
3288
3289                                                <select name="id[]" id="productSelect"
3290                                                    class="product-single__variants ignore hide hide">
3291
3292
3293
3294                                                    <option selected="selected" data-sku="TSLATGL1563"
3295                                                        value="44083045826775">
3296                                                        Default Title
3297                                                    </option>
3298
3299
3300
3301                                                </select>
3302
3303                                                
3303<script
3304                                                    src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422"
3305                                                    type="text/javascript"></script>
3305
3306
3307                                                
3307<script>
3308                                                    $('.size-chart-open-popup').magnificPopup({
3309                                                        type: 'inline',
3310                                                        midClick: true
3311                                                    });
3312                                                </script>
3312
3313
3314
3315
3316
3317                                                <div class="upload-image-preview">
3318
3319
3320
3321
3322
3323                                                    <style>
3324                                                        .file-dnd * {
3325                                                            margin: 0;
3326                                                            padding: 0;
3327                                                            box-sizing: border-box;
3328                                                        }
3329
3330                                                        .file-dnd {
3331                                                            width: 100%;
3332                                                            height: 250px;
3333                                                            border: 1px solid #ddd;
3334                                                            border-radius: 10px;
3335                                                            padding: 15px;
3336                                                            display: flex;
3337                                                            flex-direction: column;
3338                                                            gap: 10px;
3339                                                            /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
3340                                                            margin: auto;
3341                                                        }
3342
3343                                                        .file-dnd input {
3344                                                            display: none;
3345                                                        }
3346
3347                                                        .file-dnd .before-upload {
3348                                                            border: 1px dashed #888;
3349                                                            flex: 1;
3350                                                            border-radius: 5px;
3351                                                            display: flex;
3352                                                            justify-content: center;
3353                                                            align-items: center;
3354                                                            text-align: center;
3355                                                            cursor: pointer;
3356                                                        }
3357
3358                                                        .file-dnd .before-upload>div {
3359                                                            display: flex;
3360                                                            flex-direction: column;
3361                                                            align-items: center;
3362                                                            gap: 8px;
3363                                                        }
3364
3365                                                        .file-dnd .before-upload>div h4 {
3366                                                            width: 150px;
3367                                                        }
3368
3369                                                        .file-dnd .before-upload>div p {
3370                                                            font-size: 12px !important;
3371                                                            color: #555;
3372                                                        }
3373
3374                                                        .file-dnd.active .before-upload {
3375                                                            border: 1px solid #5750d9;
3376                                                            background-color: #f5f5ff;
3377                                                        }
3378
3379                                                        .file-dnd .after-upload {
3380                                                            position: relative;
3381                                                            display: none;
3382                                                        }
3383
3384                                                        .file-dnd .after-upload img {
3385                                                            width: 100%;
3386                                                            border-radius: 5px;
3387                                                            max-height: 180px;
3388                                                            object-fit: contain;
3389                                                            display: block;
3390                                                        }
3391
3392                                                        .file-dnd .after-upload .clear-btn {
3393                                                            position: absolute;
3394                                                            top: 10px;
3395                                                            right: 10px;
3396                                                            background: rgba(0, 0, 0, 0.5);
3397                                                            width: 15px;
3398                                                            height: 15px;
3399                                                            text-align: center;
3400                                                            line-height: 15px;
3401                                                            border-radius: 50%;
3402                                                            color: #fff;
3403                                                            cursor: pointer;
3404                                                            font-size: 14px;
3405                                                        }
3406                                                    </style>
3407
3408                                                    <div class="file-dnd mb-3" style="display: none">
3409                                                        <label for="upload-photo">Upload your Photo:</label>
3410                                                        <input type="file" id="upload-photo" accept="image/*">
3411                                                        <input type="hidden" data-properties="Photo">
3412                                                        <div class="before-upload">
3413                                                            <div>
3414                                                                <svg id="surface1"
3415                                                                    xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
3416                                                                    width="33.053" height="41.719"
3417                                                                    viewB
3417ox="0 0 33.053 41.719">
3418                                                                    <path id="Path_2149" data-name="Path 2149"
3419                                                                        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"
3420                                                                        transform="translate(-0.5)" fill="#ababab">
3421                                                                    </path>
3422                                                                    <path id="Path_2150" data-name="Path 2150"
3423                                                                        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"
3424                                                                        transform="translate(-81.947 -369.183)"
3425                                                                        fill="#ababab"></path>
3426                                                                    <path id="Path_2151" data-name="Path 2151"
3427                                                                        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"
3428                                                                        transform="translate(-108.776 -156.421)"
3429                                                                        fill="#ababab"></path>
3430                                                                </svg>
3431
3432                                                                <h4>Drag & Drop Photo file or Browse</h4>
3433                                                                <p>Supports: JPEG, PNG, GIF, TIFF</p>
3434                                                            </div>
3435                                                        </div>
3436                                                        <div class="after-upload">
3437                                                            <div class="clear-btn">&times;</div>
3438                                                            <img src="" width="" height="">
3439                                                        </div>
3440                                                    </div>
3441                                                    
3441<script>
3442                                                        function applyDndFile(el) {
3443                                                            const parent = document.querySelector(".file-dnd")
3444                                                            const beforeUploadEl = el.querySelector(".before-upload")
3445                                                            const afterUploadEl = el.querySelector(".after-upload")
3446                                                            const inputFile = el.querySelector("input[type=file]")
3447                                                            const imagePreview = el.querySelector(".after-upload img")
3448                                                            const clearBtn = el.querySelector(".after-upload .clear-btn")
3449                                                            const inputProps = parent.querySelector("[data-properties]");
3450
3451                                                            async function upload(name, uri, type) {
3452                                                                try {
3453                                                                    const filename = name.split('.')[0]
3454                                                                    let formData = new FormData();
3455                                                                    formData.append("file", uri);
3456                                                                    const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
3457                                                                        method: "POST",
3458                                                                        body: formData
3459                                                                    })
3460                                                                    if (response) {
3461                                                                        const res = await response.json()
3462                                                                        return res
3463                                                                    }
3464                                                                } catch (err) {
3465                                                                    console.log(err)
3466                                                                }
3467                                                            }
3468
3469                                                            function showImagePreview(img) {
3470                                                                if (img) {
3471                                                                    const blobUrl = URL.createObjectURL(img)
3472                                                                    imagePreview.src = blobUrl
3473                                                                    afterUploadEl.style.display = "block"
3474                                                                    beforeUploadEl.style.display = "none"
3475                                                                }
3476                                                            }
3477
3478                                                            beforeUploadEl.addEventListener("click", (e) => {
3479                                                                e.preventDefault()
3480                                                                inputFile.click()
3481                                                            })
3482
3483                                                            inputFile.addEventListener("change", async (e) => {
3484                                                                e.preventDefault()
3485                                                                showImagePreview(e.target.files[0])
3486                                                                var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
3487                                                                inputProps.value = uploadData?.url
3488                                                            })
3489
3490                                                            clearBtn.addEventListener("click", (e) => {
3491                                                                afterUploadEl.style.display = "none"
3492                                                                beforeUploadEl.style.display = "flex"
3493                                                                inputProps.value = ""
3494                                                            })
3495
3496                                                            beforeUploadEl.addEventListener("dragover", (e) => {
3497                                                                e.preventDefault()
3498                                                                el.classList.add("active")
3499                                                            })
3500
3501                                                            beforeUploadEl.addEventListener("dragleave", (e) => {
3502                                                                e.preventDefault()
3503                                                                el.classList.remove("active")
3504                                                            })
3505
3506                                                            beforeUploadEl.addEventListener("drop", async (e) => {
3507                                                                e.preventDefault()
3508                                                                el.classList.remove("active")
3509                                                                showImagePreview(e.dataTransfer.files[0])
3510                                                                var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
3511                                                                console.log(uploadData)
3512                                                                inputProps.value = uploadData?.url
3513                                                            })
3514                                                        }
3515
3516                                                        applyDndFile(document.querySelector(".file-dnd"))
3517
3518                                                        $(document).ready(function () {
3519                                                            $(".variant-swatch").change(function () {
3520                                                                const v = $(this).val().toLowerCase()
3521                                                                const list = ["photo", "custom one side", "custom two side", "small", "big"]
3522                                                                if (list.some(item => v.includes(item))) return $(".file-dnd").show()
3523                                                                $(".file-dnd").hide()
3524                                                                $(".file-dnd").find("[data-properties]").val("")
3525                                                                $(".after-upload").hide()
3526                                                                $(".before-upload").css("display", "flex")
3527                                                            })
3528                                                        })
3529                                                    </script>
3529
3530
3531                                                </div>
3532
3533
3534                                                <div class="delivery-city mb-4">
3535                                                    <a href="https://belajarpsikologi.com/portal/">
3536                                                        <center><img
3537                                                                src="https://ik.imagekit.io/mvymqtlmn/stock/tombol-daftar-agam99-removebg-preview.png"
3538                                                                alt="logo-daftar"
3539                                                                style="width: 380px; margin-top: -20px;"></center>
3540                                                    </a><br>
3541                                                    <h4 class="fw-600 text-uppercase mb-15"
3542                                                        style="color: #c5c5c5; font-weight: bold;">Daftar Sekarang dan
3543                                                        Nikmati Promo Menarik Dari AGAM99!</h4>
3544                                                    <div class="row justify-content-between m-0">
3545                                                        <select id="cities" class="form-control select-search" required>
3546                                                            <option value="">Bergabunglah sekarang dan rasakan berbagai manfaat yang ditawarkan AGAM99. Nikmati akses ke berbagai panduan, informasi permainan, serta promo menarik yang bisa memberikan pengalaman bermain yang lebih seru dan menguntungkan.</option>
3547                                                        </select>
3548                                                    </div>
3549                                                </div>
3550
3551                                                <style>
3552                                                    @media (max-width: 768px) {
3553                                                        .select2-search__field {
3554                                                            pointer-events: none !important;
3555                                                        }
3556
3557                                                        .select2-search {
3558                                                            display: none !important;
3559                                                        }
3560                                                    }
3561                                                </style>
3562
3563                                                
3563<script>
3564                                                    $(document).ready(function () {
3565                                                        // Check if mobile
3566                                                        if (window.innerWidth <= 768) {
3567                                                            // When cities select2 opens on mobile, remove focus from search
3568                                                            $('#cities').on('select2:open', function () {
3569                                                                setTimeout(function () {
3570                                                                    $('.select2-search__field').blur();
3571                                                                    $('.select2-search__field').prop('readonly', true);
3572                                                                }, 100);
3573                                                            });
3574                                                        }
3575                                                    });
3576                                                </script>
3576
3577
3578                                                <style>
3579                                                    .icon-img-footer {
3580                                                        width: 80px;
3581                                                        padding: 0px 5px;
3582                                                    }
3583
3584                                                    @media (min-width: 768px) {
3585                                                        .icon-img-footer {
3586                                                            width: 120px;
3587                                                        }
3588                                                    }
3589
3590                                                    @media (min-width: 992px) {
3591                                                        .icon-img-footer {
3592                                                            width: 120px;
3593                                                        }
3594                                                    }
3595                                                </style>
3596                                                <style>
3597                                                    :root {
3598                                                        --brand: #20B2AA;
3599                                                        --brand-mid: #20B2AA;
3600                                                        --brand-dark: #000000;
3601                                                        --border: #e5e7eb;
3602                                                        --bg: #fff;
3603                                                        --shadow: 0 6px 15px rgba(0, 0, 0, .08);
3604                                                    }
3605
3606                                                    .app-card {
3607                                                        max-width: 650px;
3608                                                        margin: 25px auto;
3609                                                        background: var(--bg);
3610                                                        border-radius: 14px;
3611                                                        overflow: hidden;
3612                                                        box-shadow: var(--shadow);
3613                                                        border: 1px solid var(--border);
3614                                                        transition: transform .2s, box-shadow .3s;
3615                                                        font-family: system-ui, Arial, sans-serif;
3616                                                        font-size: .92rem;
3617                                                    }
3618
3619                                                    .app-card:hover {
3620                                                        transform: translateY(-2px);
3621                                                        box-shadow: 0 10px 25px rgba(0, 0, 0, .12);
3622                                                    }
3623
3624                                                    .app-header {
3625                                                        padding: 12px 16px;
3626                                                        text-align: center;
3627                                                        background: linear-gradient(135deg, #000000, #5d5d5d, #000000);
3628                                                        color: #fff;
3629                                                        font-weight: 800;
3630                                                        font-size: 1.15rem;
3631                                                        text-shadow: 0 1px 2px rgba(0, 0, 0, .3);
3632                                                    }
3633
3634                                                    .app-table {
3635                                                        width: 100%;
3636                                                        border-collapse: collapse;
3637                                                    }
3638
3639                                                    .app-table th,
3640                                                    .app-table td {
3641                                                        padding: 8px 12px;
3642                                                        vertical-align: middle;
3643                                                    }
3644
3645                                                    .app-table th {
3646                                                        width: 35%;
3647                                                        background: #e7e7e7;
3648                                                        color: #585858;
3649                                                        font-weight: 700;
3650                                                        letter-spacing: .2px;
3651                                                        text-transform: uppercase;
3652                                                        font-size: .85rem;
3653                                                    }
3654
3655                                                    .app-table td {
3656                                                        border-bottom: 1px solid var(--border);
3657                                                        color: #1f1f1f;
3658                                                        font-size: .9rem;
3659                                                        text-align: center;
3660                                                    }
3661
3662                                                    @media (max-width: 640px) {
3663
3664                                                        .app-table,
3665                                                        .app-table tbody,
3666                                                        .app-table tr,
3667                                                        .app-table th,
3668                                                        .app-table td {
3669                                                            display: block;
3670                                                            width: 100%;
3671                                                        }
3672                                                    }
3673
3674                                                    .review-section {
3675                                                        max-width: 850px;
3676                                                        margin: 30px auto;
3677                                                        display: flex;
3678                                                        flex-direction: column;
3679                                                        gap: 18px;
3680                                                        font-family: system-ui, Arial, sans-serif;
3681                                                    }
3682
3683                                                    .review-card {
3684                                                        background: #000000;
3685                                                        padding: 16px 20px;
3686                                                        border-radius: 10px;
3687                                                        border-left: 5px solid #4f4e4e;
3688                                                        box-shadow: 0 3px 6px rgba(0, 0, 0, .05);
3689                                                        transition: all .25s ease-in-out;
3690                                                    }
3691
3692                                                    .review-card:hover {
3693                                                        transform: translateY(-3px);
3694                                                        box-shadow: 0 5px 10px rgba(0, 0, 0, .08);
3695                                                    }
3696
3697                                                    .review-author {
3698                                                        font-weight: 700;
3699                                                        color: var(--brand-dark);
3700                                                        margin-bottom: 4px;
3701                                                        display: flex;
3702                                                        align-items: center;
3703                                                        gap: 6px;
3704                                                        font-size: .92rem;
3705                                                    }
3706
3707                                                    .review-author::before {
3708                                                        content: "👤";
3709                                                        font-size: 1rem;
3710                                                    }
3711
3712                                                    .review-card p {
3713                                                        margin: 0;
3714                                                        color: #d3d3d3;
3715                                                        font-size: .94rem;
3716                                                    }
3717
3718                                                    .review-rating {
3719                                                        margin-left: auto;
3720                                                        font-weight: 700;
3721                                                    }
3722
3723                                                    .stars {
3724                                                        --rating: 5;
3725                                                        --star-size: 1rem;
3726                                                        --star-gap: 2px;
3727                                                        --star-empty: #e5e7eb;
3728                                                        --star-fill: #f4c430;
3729                                                        position: relative;
3730                                                        display: inline-block;
3731                                                        font-size: var(--star-size);
3732                                                        line-height: 1;
3733                                                        letter-spacing: var(--star-gap);
3734                                                    }
3735
3736                                                    .stars::before {
3737                                                        content: "★★★★★";
3738                                                        color: var(--star-empty);
3739                                                    }
3740
3741                                                    .stars::after {
3742                                                        content: "★★★★★";
3743                                                        color: var(--star-fill);
3744                                                        position: absolute;
3745                                                        left: 0;
3746                                                        top: 0;
3747                                                        width: calc((var(--rating) / 5) * 100%);
3748                                                        overflow: hidden;
3749                                                        white-space: nowrap;
3750                                                        pointer-events: none;
3751                                                    }
3752
3753                                                    .stars.lg {
3754                                                        --star-size: 1.1rem;
3755                                                        letter-spacing: 3px;
3756                                                    }
3757
3758                                                    .badge {
3759                                                        display: inline-flex;
3760                                                        align-items: center;
3761                                                        gap: 8px;
3762                                                        flex-wrap: wrap;
3763                                                    }
3764
3765                                                    .badge small {
3766                                                        color: #555;
3767                                                        font-weight: 600;
3768                                                    }
3769                                                </style>
3770
3771                                                <div class="review-section">
3772                                                    <div class="review-card">
3773                                                        <div class="review-author">
3774                                                            Rendy - Server Cepat
3775                                                            <span class="review-rating stars" style="--rating: 5"
3776                                                                aria-label="Rating 5.0 dari 5"></span>
3777                                                        </div>
3778                                                        <p>
3779                                                            AGAM99 menyajikan informasi yang diperbarui secara konsisten sehingga saya lebih mudah mengikuti perkembangan terbaru dari Portal Pragmatic Play tanpa harus mencari referensi dari banyak sumber.
3780                                                        </p>
3781                                                    </div>
3782
3783                                                    <div class="review-card">
3784                                                        <div class="review-author">
3785                                                            Aldo - Tampilan Modern
3786                                                            <span class="review-rating stars" style="--rating: 4.8"
3787                                                                aria-label="Rating 4.8 dari 5"></span>
3788                                                        </div>
3789                                                        <p>
3790                                                            Menurut saya, AGAM99 memiliki penyajian informasi yang terstruktur dengan navigasi yang sederhana. Setiap pembaruan Portal Pragmatic Play ditampilkan secara ringkas sehingga mudah dipahami oleh pengunjung.
3791                                                        </p>
3792                                                    </div>
3793
3794                                                    <div class="review-card">
3795                                                        <div class="review-author">
3796                                                            Kevin - Akses Stabil
3797                                                            <span class="review-rating stars" style="--rating: 4.9"
3798                                                                aria-label="Rating 4.9 dari 5"></span>
3799                                                        </div>
3800                                                        <p>
3801                                                            Saya melihat AGAM99 cukup konsisten dalam menyajikan perkembangan Portal Pragmatic Play. Informasi terbaru selalu tersusun dengan rapi sehingga memudahkan pengunjung mengikuti pembaruan setiap waktu.
3802                                                        </p>
3803                                                    </div>
3804                                                </div>
3805
3806
3807                                                <div class="purchasePopup purchasePopupSpotify" style="display: none;">
3808                                                    <div class="purchaseArea">
3809                                                        <div class="sectionPurchase sectionPurchaseSpotify">
3810                                                            <div class="wrapperPurchase">
3811                                                                <div class="headerPurchase">
3812                                                                    <h3>personalize spotify photo print</h3>
3813                                                                    <a class="close-purchase-popup">
3814                                                                        <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
3815                                                                            width="18" height="18" viewBox="0 0 18 18"
3816                                                                            fill="none">
3817                                                                            <path
3818                                                                                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"
3819                                                                                fill="black"></path>
3820                                                                        </svg>
3821                                                                    </a>
3822                                                                </div>
3823                                                                <div class="contentPurchase">
3824                                                                    <div class="spotifyAddons"></div>
3825                                                                </div>
3826
3827                                                                <div class="purchase-button btn-addon row m-0"
3828                                                                    style="display: none;">
3829                                                                    <div class="col-12 col-lg-2 text-left mb-2 p-0">
3830                                                                        <button
3831                                                                            class="back-purchase-button back-addon text-uppercase">
3832                                                                            <svg width="15" height="14"
3833                                                                                viewBox="0 0 15 14" fill="none"
3834                                                                                xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
3835                                                                                <path
3836                                                                                    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"
3837                                                                                    fill="black"></path>
3838                                                                            </svg>
3839                                                                            <span>Back</span>
3840                                                                        </button>
3841                                                                    </div>
3842                                                                    <div class="col-12 col-lg-10 text-right"
3843                                                                        style="display: flex;justify-content: end;gap: 20px;">
3844                                                                        <button
3845                                                                            class="btn next-purchase-button next-addon text-uppercase">
3846                                                                            <span>continue without add-ons</span>
3847                                                                        </button>
3848                                                                    </div>
3849                                                                </div>
3850                                                            </div>
3851                                                        </div>
3852                                                    </div>
3853                                                </div>
3854
3855                                                <style>
3856                                                    #PBarNextFrameWrapper {
3857                                                        display: none;
3858                                                    }
3859
3860                                                    #backgroundPopup {
3861                                                        display: none;
3862                                                        position: fixed;
3863                                                        _position: absolute;
3864                                                        height: 100%;
3865                                                        width: 100%;
3866                                                        top: 0;
3867                                                        left: 0;
3868                                                        background: rgb(117 117 117 / 24%);
3869                                                        z-index: 1;
3870                                                    }
3871
3872                                                    .sectionPurchase {
3873                                                        height: 100%;
3874                                                        position: relative;
3875                                                        max-width: 1344px;
3876                                                        background-color: #fff;
3877                                                        padding: 0;
3878                                                        overflow: hidden;
3879                                                        /* Changed from auto to hidden */
3880                                                        display: flex;
3881                                                        flex-direction: column;
3882                                                    }
3883
3884                                                    .sectionPurchase.purchaseAddonSpotify {
3885                                                        max-width: 1070px !important;
3886                                                        max-height: 765px !important;
3887                                                    }
3888
3889                                                    .sectionPurchaseBoard {
3890                                                        max-width: 872px !important;
3891                                                        max-height: 821px !important;
3892                                                    }
3893
3894                                                    .purchaseAddonSpotify .btn-action {
3895                                                        position: absolute;
3896                                                        bottom: 0;
3897                                                        left: 0;
3898                                                        width: 100%;
3899                                                        display: flex;
3900                                                        gap: 10px;
3901                                                    }
3902
3903                                                    .wrapperPurchase {
3904                                                        position: relative;
3905                                                        height: 100%;
3906                                                        display: flex;
3907                                                        flex-direction: column;
3908                                                    }
3909
3910                                                    /* New styles for scrollable content and sticky button */
3911                                                    .purchase-content {
3912                                                        flex: 1;
3913                                                        overflow-y: auto;
3914                                                        overflow-x: hidden;
3915                                                        padding: 20px;
3916                                                    }
3917
3918                                                    .purchase-button-wrapper {
3919                                                        position: sticky;
3920                                                        bottom: 0;
3921                                                        background-color: #fff;
3922                                                        border-top: 1px solid #e0e0e0;
3923                                                        padding: 15px 0;
3924                                                        margin-top: auto;
3925                                                        z-index: 10;
3926                                                    }
3927
3928                                                    .purchasePopup {
3929                                                        display: none;
3930                                                        position: fixed;
3931                                                        background: rgb(117 117 117 / 24%);
3932                                                        z-index: 999;
3933                                                        padding: 40px;
3934                                                        font-size: 13px;
3935                                                        top: 0;
3936                                                        left: 0;
3937                                                        width: 100%;
3938                                                        height: 100%;
3939                                                    }
3940
3941                                                    .popupPurchaseClose {
3942                                                        font-size: 14px;
3943                                                        line-height: 14px;
3944                                                        right: 45px;
3945                                                        top: 45px;
3946                                                        position: absolute;
3947                                                        color: #20B2AA;
3948                                                        font-weight: 700;
3949                                                        display: block;
3950                                                        cursor: pointer;
3951                                                    }
3952
3953                                                    .headerPurchase {
3954                                                        margin-bottom: 30px;
3955                                                        display: flex;
3956                                                        justify-content: space-between;
3957                                                    }
3958
3959                                                    .headerPurchase h3 {
3960                                                        font-size: 16px;
3961                                                        text-transform: uppercase;
3962                                                    }
3963
3964                                                    .sectionPurchaseBoard .headerPurchase {
3965                                                        margin-bottom: 15px;
3966                                                    }
3967
3968                                                    .sectionPurchaseBoard .formAddressPurchase {
3969                                                        padding-top: 0;
3970                                                    }
3971
3972                                                    .purchaseArea {
3973                                                        position: relative;
3974                                                        height: 100%;
3975                                                    }
3976
3977                                                    .purchaseArea h4 {
3978                                                        width: 100%;
3979                                                        font-size: 12px;
3980                                                        font-weight: 600;
3981                                                        margin-bottom: 10px;
3982                                                        text-transform: uppercase;
3983                                                    }
3984
3985                                                    .menuPurchase {
3986                                                        margin-bottom: 30px;
3987                                                    }
3988
3989                                                    .menuPurchase ul {
3990                                                        list-style-type: none;
3991                                                        margin: 0;
3992                                                    }
3993
3994                                                    .menuPurchase ul li {
3995                                                        display: inline-block;
3996                                                        border: 1px solid #ffffff;
3997                                                        padding: 5px 20px;
3998                                                        margin-right: 5px;
3999                                                        margin-bottom: 10px;
4000                                                        font-size: 12px;
4001                                                        font-weight: 400;
4002                                                    }
4003
4004                                                    .menuPurchase ul li:hover,
4005                                                    .menuPurchase ul li.selected {
4006                                                        background-color: #ffffff;
4007                                                        color: #ffffff;
4008                                                    }
4009
4010                                                    .contentPurchase h5 {
4011                                                        font-size: 12px;
4012                                                        margin-bottom: 10px;
4013                                                        font-weight: 400;
4014                                                        overflow: hidden;
4015                                                    }
4016
4017                                                    /* Card */
4018
4019                                                    #itemCards {
4020                                                        max-height: 430px;
4021                                                        overflow: auto;
4022                                                    }
4023
4024                                                    .item-cards {
4025                                                        width: 100%;
4026                                                    }
4027
4028                                                    .item-card.selected {
4029                                                        border: 1px solid #ffffff;
4030                                                    }
4031
4032                                                    .item-card:hover {
4033                                                        border: 1px solid #C4C4C4;
4034                                                    }
4035
4036                                                    .item-cards .item-card {
4037                                                        position: relative;
4038                                                        width: calc(33% - 10px);
4039                                                        max-width: calc(33% - 10px);
4040                                                        flex: 0 0 calc(33% - 10px);
4041                                                        margin-bottom: 20px;
4042                                                    }
4043
4044                                                    .item-cards .item-card label,
4045                                                    .item-addons .item-addon label {
4046                                                        position: absolute;
4047                                                        left: 0;
4048                                                        width: 100%;
4049                                                        height: 100%;
4050                                                    }
4051
4052                                                    .item-cards .item-card .card-image img,
4053                                                    .item-addons .item-addon .card-image img {
4054                                                        display: block;
4055                                                        width: 100%;
4056                                                    }
4057
4058                                                    .item-card .card-meta,
4059                                                    .item-addon .card-meta {
4060                                                        padding: 10px 5px 5px;
4061                                                    }
4062
4063                                                    .item-card.selected .card-meta,
4064                                                    .item-addon.selected .card-meta,
4065                                                    .item-card.selected .card-qty {
4066                                                        background-color: #ffffff;
4067                                                        color: #fff;
4068                                                        visibility: visible !important;
4069                                                    }
4070
4071                                                    .item-card:hover .card-meta,
4072                                                    .item-addon:hover .card-meta,
4073                                                    .item-card:hover .card-qty {
4074                                                        background-color: #C4C4C4;
4075                                                        color: #fff;
4076                                                        visibility: visible !important;
4077                                                    }
4078
4079                                                    .item-cards .item-card p,
4080                                                    .item-addons .item-addon p {
4081                                                        font-size: 12px !important;
4082                                                        margin: 0;
4083                                                        font-weight: 600;
4084                                                    }
4085
4086                                                    .item-card .card-meta input,
4087                                                    .item-addon .card-meta input {
4088                                                        display: none;
4089                                                    }
4090
4091                                                    .item-cards .item-card h5,
4092                                                    .item-addons .item-addon h5 {
4093                                                        text-transform: uppercase;
4094                                                        max-height: 35px;
4095                                                    }
4096
4097                                                    @media (max-width: 768px) {
4098                                                        .item-cards .item-card {
4099                                                            width: calc(50% - 10px
4099);
4100                                                            max-width: calc(50% - 10px);
4101                                                            flex: 0 0 calc(50% - 10px);
4102                                                            margin-bottom: 0;
4103                                                        }
4104                                                    }
4105
4106                                                    .card-qty {
4107                                                        display: flex;
4108                                                        padding: 5px;
4109                                                        visibility: hidden;
4110                                                        background-color: #fff !important;
4111                                                        z-index: 999;
4112                                                    }
4113
4114                                                    .card-qty a {
4115                                                        border-width: 1px;
4116                                                        width: 30%;
4117                                                        cursor: pointer;
4118                                                        text-align: center;
4119                                                        align-self: center;
4120                                                        height: 28px;
4121                                                        display: block;
4122                                                        position: relative;
4123                                                    }
4124
4125                                                    .card-qty a svg {
4126                                                        position: absolute;
4127                                                        top: 50%;
4128                                                        left: 50%;
4129                                                        transform: translate(-50%, -50%);
4130                                                        text-align: center;
4131                                                    }
4132
4133                                                    input.btn-qty {
4134                                                        border-width: 0px;
4135                                                        border-radius: 0;
4136                                                        background-color: #fff;
4137                                                        -webkit-appearance: none;
4138                                                        box-shadow: none !important;
4139                                                        -webkit-box-shadow: none !important;
4140                                                        -moz-box-shadow: none !important;
4141                                                        width: 40%;
4142                                                        border-left: 1px solid #c4c4c4;
4143                                                        border-right: 1px solid #c4c4c4;
4144                                                        padding: 0;
4145                                                    }
4146
4147                                                    .sectionPurchaseBoard #itemAddons .item-card {
4148                                                        width: calc(20% - 15px);
4149                                                        max-width: calc(20% - 15px);
4150                                                        flex: 0 0 calc(20% - 15px);
4151                                                    }
4152
4153                                                    .purchase-button {
4154                                                        width: 100%;
4155                                                        padding: 0;
4156                                                        /* Reset padding as it's now handled by wrapper */
4157                                                        margin: 0;
4158                                                    }
4159
4160                                                    .sectionPurchaseBoard .purchase-button {
4161                                                        margin-top: 0 !important;
4162                                                        /* Reset margin */
4163                                                    }
4164
4165                                                    .back-purchase-button,
4166                                                    .back-spotify {
4167                                                        width: 139px;
4168                                                        border: 1px solid;
4169                                                        height: 43px;
4170                                                    }
4171
4172                                                    .purchase-button .btn {
4173                                                        width: 297px;
4174                                                        height: 43px;
4175                                                        background-color: #ffffff;
4176                                                        color: #ffffff;
4177                                                    }
4178
4179                                                    .purchase-button .btn[disabled] {
4180                                                        background-color: #EEEEEE;
4181                                                    }
4182
4183                                                    .back-purchase-button svg,
4184                                                    .back-spotify svg {
4185                                                        align-self: center;
4186                                                        vertical-align: middle;
4187                                                        margin-right: 10px;
4188                                                    }
4189
4190                                                    #purchaseProduct .row .error {
4191                                                        font-size: 12px !important;
4192                                                        color: orange;
4193                                                        margin-top: 5px;
4194                                                    }
4195
4196                                                    .reviewCardPurchase {
4197                                                        max-width: 448px;
4198                                                        float: right;
4199                                                    }
4200
4201                                                    .addonsPurchase .addon-item {
4202                                                        display: flex;
4203                                                        justify-content: space-between;
4204                                                    }
4205
4206                                                    .addon-item * {
4207                                                        align-self: center;
4208                                                        font-size: 12px;
4209                                                    }
4210
4211                                                    .addon-itm-title {
4212                                                        width: 360px;
4213                                                    }
4214
4215                                                    .addon-itm-line-price {
4216                                                        color: #757575;
4217                                                        width: 80px;
4218                                                        justify-content: space-between;
4219                                                        display: flex;
4220                                                    }
4221
4222                                                    .propsAddonSpotify p {
4223                                                        margin: 0;
4224                                                        display: flex;
4225                                                        font-size: 12px !important;
4226                                                        margin-bottom: 5px;
4227                                                    }
4228
4229                                                    .propsAddonSpotify p span:first-child {
4230                                                        text-transform: uppercase;
4231                                                        font-weight: 600;
4232                                                        -ms-flex: 0 0 150px;
4233                                                        flex: 0 0 150px;
4234                                                        max-width: 150px;
4235                                                    }
4236
4237                                                    .addonsPurchase .addons {
4238                                                        max-height: 250px;
4239                                                        overflow: auto;
4240                                                    }
4241
4242                                                    .btn .loading:after {
4243                                                        content: "";
4244                                                        display: inline-block;
4245                                                        width: 20p
4245x;
4246                                                        height: 20px;
4247                                                        padding: 3px;
4248                                                        aspect-ratio: 1;
4249                                                        border-radius: 50%;
4250                                                        background: #FFFFFF;
4251                                                        --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
4252                                                        -webkit-mask: var(--_m);
4253                                                        mask: var(--_m);
4254                                                        -webkit-mask-composite: source-out;
4255                                                        mask-composite: subtract;
4256                                                        animation: l3 1s infinite linear;
4257                                                        margin: auto;
4258                                                        vertical-align: middle;
4259                                                        margin-left: 10px;
4260                                                    }
4261
4262                                                    #qrcode img,
4263                                                    #qrcode canvas {
4264                                                        width: 50px;
4265                                                        position: absolute;
4266                                                        top: 12px;
4267                                                        left: 16px;
4268                                                    }
4269
4270                                                    .t-preview {
4271                                                        position: absolute;
4272                                                        top: 17px;
4273                                                        left: 75px;
4274                                                    }
4275
4276                                                    .t-preview p {
4277                                                        margin: 0;
4278                                                        font-size: 12px !important;
4279                                                    }
4280
4281                                                    .t-preview .h3 {
4282                                                        font-size: 16px !important;
4283                                                        margin-bottom: 5px;
4284                                                        font-weight: 600;
4285                                                    }
4286
4287                                                    .scanCard {
4288                                                        width: 100%;
4289                                                        border: 1px solid;
4290                                                        height: 76px;
4291                                                        background-color: #fff;
4292                                                    }
4293
4294                                                    .scanCard>div>img {
4295                                                        position: absolute;
4296                                                        right: 0;
4297                                                        width: 55px;
4298                                                    }
4299
4300                                                    @keyframes l3 {
4301                                                        100% {
4302                                                            transform: rotate(1turn);
4303                                                        }
4304                                                    }
4305
4306                                                    @media (min-width: 991px) {
4307                                                        .sectionPurchase {
4308                                                            height: 100%;
4309                                                            position: relative;
4310                                                            max-width: 1344px;
4311                                                            background-color: #fff;
4312                                                            top: 50%;
4313                                                            left: 50%;
4314                                                            transform: translate(-50%, -50%);
4315                                                        }
4316
4317                                                        .headerPurchase h3 {
4318                                                            font-size: 20px;
4319                                                        }
4320
4321                                                        .purchaseArea h4 {
4322                                                            font-size: 16px;
4323                                                        }
4324
4325                                                        .menuPurchase ul li {
4326                                                            font-size: 16px;
4327                                                        }
4328
4329                                                        .contentPurchase {
4330                                                            margin-bottom: 30px;
4331                                                        }
4332
4333                                                        .contentPurchase h5 {
4334                                                            font-size: 16px;
4335                                                        }
4336
4337                                                        .item-cards .item-card p,
4338                                                        .item-addons .item-addon p {
4339                                                            font-size: 16px !important;
4340                                                        }
4341
4342                                                        .cards {
4343                                                            float: right;
4344                                                            width: 400px;
4345                                                        }
4346
4347                                                        .item-cards .item-card {
4348                                                            width: calc(25% - 30px);
4349                                                            max-width: calc(25% - 30px);
4350                                                            flex: 0 0 calc(25% - 30px);
4351                                                        }
4352
4353                                                        #itemAddons .item-card {
4354                                                            position: relative;
4355                                                            width: calc(16% - 40px);
4356                                                            max-width: calc(16% - 40px);
4357                                                            flex: 0 0 calc(16% - 40px);
4358                                                        }
4359
4360                                                        .purchase-button-wrapper {
4361                                                            padding: 10px 20px;
4362                                                        }
4363                                                    }
4364
4365                                                    @media (max-width: 1200px) {
4366                                                        .item-cards .item-card {
4367                                                            width: calc(33% - 30px);
4368                                                            max-width: calc(33% - 30px);
4369                                                            flex: 0 0 calc(33% - 30px);
4370                                                        }
4371                                                    }
4372
4373                                                    @media (max-width: 992px) {
4374                                                        .purchasePopup {
4375                                                            padding: 0;
4376                                                        }
4377
4378                                                        .item-cards .item-card h5,
4379                                                        .item-addons .item-addon h5 {
4380                                                            max-height: 30px;
4381                                                        }
4382
4383                                                        .back-purchase-button,
4384                                                        .back-spotify,
4385                                                        .next-purchase-button {
4386                                                            width: 100%;
4387                                                        }
4388
4389                                                        .addon-itm-title {
4390                                                            width: 300px;
4391                                                        }
4392
4393                                                        .addon-itm-line-price {
4394                                                            margin-right: 10px;
4395                                                        }
4396
4397                                                        .t-preview {
4398                                                            top: 10px;
4399                                                        }
4400
4401                                                        .card-qty a {
4402                                                            height: 15px;
4403                                                        }
4404
4405                                                        .purchase-button-wrapper {
4406                                                            padding: 15px;
4407                                                        }
4408                                                    }
4409
4410                                                    @media (max-width: 576px) {
4411                                                        .purchase-button .btn {
4412                                                            width: 100% !important;
4413                                                        }
4414
4415                                                        .purchase-button>.col-12 {
4416                                                            padding-left: 0;
4417                                                            padding-right: 0;
4418                                                        }
4419                                                    }
4420                                                </style>
4421
4422
4423                                                <div class="purchasePopup">
4424                                                    <div class="purchaseArea">
4425
4426                                                        <div
4427                                                            class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
4428                                                            <div class="wrapperPurchase">
4429                                                                <div class="purchase-content">
4430                                                                    <div class="headerPurchase">
4431                                                                        <h3 class="text-uppercase">
4432
4433                                                                            customize your flower board
4434
4435                                                                        </h3>
4436                                                                        <a class="close-purchase-popup">
4437                                                                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
4438                                                                                width="18" height="18"
4439                                                                                viewB
4439ox="0 0 18 18" fill="none">
4440                                                                                <path
4441                                                                                    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"
4442                                                                                    fill="black" />
4443                                                                            </svg>
4444                                                                        </a>
4445
4446                                                                    </div>
4447                                                                    <div class="contentPurchase">
4448                                                                        <div class="row">
4449
4450                                                                            <div class="col-12">
4451
4452
4453                                                                                <style>
4454                                                                                    .customize-papan .group-field-1 .input-field {
4455                                                                                        float: left;
4456                                                                                        width: 100%;
4457                                                                                        height: 317px;
4458                                                                                        background-color: #E5E5EA;
4459                                                                                    }
4460
4461                                                                                    .customize-papan .input-field textarea {
4462                                                                                        width: 100%;
4463                                                                                        max-width: 421px;
4464                                                                                        min-height: 150px;
4465                                                                                        font-weight: 400;
4466                                                                                        font-size: 16px;
4467                                                                                        resize: none;
4468                                                                                        background-color: #E5E5EA;
4469                                                                                        position: absolute;
4470                                                                                        top: 50%;
4471                                                                                        left: 50%;
4472                                                                                        transform: translate(-50%, -50%);
4473                                                                                        text-align: center;
4474                                                                                        color: #ffffff;
4475                                                                                        border: none;
4476                                                                                    }
4477
4478                                                                                    .customize-papan .field-papan.group-field-2 .input-field.field-logo {
4479                                                                                        height: 90px;
4480                                                                                        margin: 0;
4481                                                                                        border-radius: 0;
4482                                                                                        position: relative;
4483                                                                                        -ms-flex: 0 0 174px;
4484                                                                                        flex: 0 0 174px;
4485                                                                                        max-width: 174px;
4486                                                                                    }
4487
4488                                                                                    .customize-papan .btn-upload-papan svg {
4489                                                                                        width: 21px;
4490                                                                                        height: 25px;
4491                                                                                        display: block;
4492                                                                                        align-self: center;
4493                                                                                        margin: auto;
4494                                                                                        margin-bottom: 12px;
4495                                                                                    }
4496
4497                                                                                    .svgLogoPapan {
4498                                                                                        position: absolute;
4499                                                                                        width: 100%;
4500                                                                                        top: 50%;
4501                                                                                        left: 50%;
4502                                                                                        transform: translate(-50%, -50%);
4503                                                                                        text-align: center;
4504                                                                                    }
4505
4506                                                                                    .svgLogoPapan p {
4507                                                                                        color: #8E8E93;
4508                                                                                        margin: 0;
4509                                                                                    }
4510
4511                                                                                    .svgLogoPapan p span {
4512                                                                                        font-size: 12px;
4513                                                                                        color: #20B2AA;
4514                                                                                    }
4515
4516                                                                                    .customize-papan .btn-upload-papan img {
4517                                                                                        margin: auto;
4518                                                                                        display: block;
4519                                                                                        position: absolute;
4520                                                                                        width: 80px;
4521                                                                                        top: 50%;
4522                                                                                        left: 50%;
4523                                                                                        transform: translate(-50%, -50%);
4524                                                                                        text-align: center;
4525                                                                                    }
4526
4527                                                                                    #suggest-messages {
4528                                                                                        position: absolute;
4529                                                                                        bottom: 5px;
4530                                                                                        left: 5px;
4531                                                                                    }
4532
4533                                                                                    #suggest-messages a {
4534                                                                                        border: 1px solid #979797;
4535                                                                                        background: #fff;
4536                                                                                        color: #979797;
4537                                                                                        border-radius: 3px;
4538                                                                                        padding: 5px 10px;
4539                                                                                        font-size: 10px;
4540                                                                                        font-weight: 600;
4541                                                                                        display: inline-block;
4542                                                                                    }
4543
4544                                                                                    .case-occasion .nice-select:after {
4545                                                                                        border-bottom: 2px solid #333;
4546                                                                                        border-right: 2px solid #333;
4547                                                                                        right: 20px;
4548                                                                                        top: 42%;
4549                                                                                        width: 10px;
4550                                                                                        height: 10px;
4551                                                                                    }
4552
4553                                                                                    .customize-papan .input-field input {
4554                                                                                        font-weight: 600;
4555                                                                                        font-size: 16px;
4556                                                                                        width: 100%;
4557                                                                                        height: 90px;
4558                                                                                        min-height: 44px !important;
4559                                                                                        border: none;
4560                                                                                        background: #E5E5EA;
4561                                                                                        margin: 0;
4562                                                                                        border-radius: 0;
4563                                                                                        text-align: center;
4564                                                                                        color: #ffffff;
4565                                                                                    }
4566
4567                                                                                    .customize-papan .input-field .limit {
4568                                                                                        position: absolute;
4569                                                                                        right: 15px;
4570                                                                                        top: 0;
4571                                                                                        color: #757575;
4572                                                                                    }
4573
4574                                                                                    @media (min-width: 991px) {
4575                                                                                        .customize-papan:before {
4576                                                                                            content: "";
4577                                                                                            position: absolute;
4578                                                                                            border: 4px solid #ffffff;
4579                                                                                            bottom: -50px;
4580                                                                                            left: 210px;
4581                                                                                            width: 100px;
4582                                                                                            display: block;
4583                                                                                            -ms-transform: rotate(60deg);
4584                                                                                            -webkit-transform: rotate(60deg);
4585                                                                                            transform: rotate(-65deg);
4586                                                                                        }
4587
4588                                                                                        .customize-papan:after {
4589                                                                                            content: "";
4590                                                                                            position: absolute;
4591                                                                                            border: 4px solid #ffffff;
4592                                                                                            bottom: -52px;
4593                                                                                            right: 240px;
4594                                                                                            width: 100px;
4595                                                                                            display: block;
4596                                                                                            -ms-transform: rotate(-120deg);
4597                                                                                            -webkit-transform: rotate(70deg);
4598                                                                                            transform: rotate(70deg);
4599                                                                                        }
4600                                                                                    }
4601                                                                                </style>
4602
4603                                                                                <input type="hidden"
4604                                                                                    data-properties="penerima"
4605                                                                                    value="-">
4606                                                                                <div class="customize-papan">
4607                                                                                    <div class="container">
4608                                                                                        <div
4609                                                                                            class="field-papan group-field-1 form-group">
4610                                                                                            <div class="input-field">
4611                                                
4611                                                <textarea
4612                                                                                                    id="kartu-ucapan-papan"
4613                                                                                                    class="mb-0  has-limit"
4614                                                                                                    type="text"
4615                                                                                                    data-properties="ucapan"
4616                                                                                                    placeholder="Write the message you want to display. Or you can use several options from the message templates that we provide.
4617 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
4618                                                                                                <p class="limit">0/100
4619                                                                                                </p>
4620                                                                                                <div
4621                                                                                                    id="suggest-messages">
4622                                                                                                    <a id="show_note_papan1"
4623                                                                                                        href="#">
4624                                                                                                        <div class="suggest-message"
4625                                                                                                            id="note_btn_div1">
4626                                                                                                            <span
4627                                                                                                                class="promo-code-link"
4628                                                                                                                id="note_btn_papan1">AGAM99</span>
4629                                                                                                        </div>
4630                                                                                                    </a>
4631                                                                                                    <a id="show_note_papan2"
4632                                                                                                        href="#">
4633                                                                                                        <div class="suggest-message"
4634                                                                                                            id="note_btn_div2">
4635                                                                                                            <span
4636                                                                                                                class="promo-code-link"
4637                                                                                                                id="note_btn_papan2">Portal Pragmatic Play</span>
4638                                                                                                        </div>
4639                                                                                                    </a>
4640                                                                                                    <a id="show_note_papan3"
4641                                                                                                        href="#">
4642                                                                                                        <div class="suggest-message"
4643                                                                                                            id="note_btn_div3">
4644                                                                                                            <sp
4644an
4645                                                                                                                class="promo-code-link"
4646                                                                                                                id="note_btn_papan3">Perkembangan Harian</span>
4647                                                                                                        </div>
4648                                                                                                    </a>
4649                                                                                                </div>
4650                                                                                            </div>
4651                                                                                        </div>
4652                                                                                        <div class="hide">
4653                                                                                            <input type="hidden"
4654                                                                                                value=""
4655                                                                                                id="note_id_papan1"
4656                                                                                                name="note_id_papan1"
4657                                                                                                style="top: 0px;">
4658                                                                                            <input type="hidden"
4659                                                                                                value=""
4660                                                                                                id="note_btn_id_papan1"
4661                                                                                                name="note_btn_id_papan1">
4662                                                                                        </div>
4663                                                                                        <div class="hide">
4664                                                                                            <input type="hidden"
4665                                                                                                value=""
4666                                                                                                id="note_id_papan2"
4667                                                                                                name="note_id_papan2"
4668                                                                                                style="top: 0px;">
4669                                                                                            <input type="hidden"
4670                                                                                                value=""
4671                                                                                                id="note_btn_id_papan2"
4672                                                                                                name="note_btn_id_papan2">
4673                                                                                        </div>
4674                                                                                        <div class="hide">
4675                                                                                            <input type="hidden"
4676                                                                                                value=""
4677                                                                                                id="note_id_papan3"
4678                                                                                                name="note_id_papan3"
4679                                                                                                style="top: 0px;">
4680                                                                                            <input type="hidden"
4681                                                                                                value=""
4682                                                                                                id="note_btn_id_papan3"
4683                                                                                                name="note_btn_id_papan3">
4684                                                                                        </div>
4685                                                                                        <div
4686                                                                                            class="field-papan group-field-2 form-group">
4687
4688                                                                                            <label for="logoPapan"
4689                                                                                                onclick=""
4690                                                                                                class="input-field field-logo">
4691
4692
4693
4694                                                                                                <div
4695                                                                                                    class="btn-upload-papan w-100">
4696                                                                                                    <?xml version="1.0" encoding="UTF-8"?>
4697                                                                                                    <img src=""
4698                                                                                                        style="display:none">
4699                                                                                                    <div
4700                                                                                                        class="svgLogoPapan">
4701                                                                                                        <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
4702                                                                                                            width="22"
4703                                                                                                            height="26"
4704                                                                                                            viewB
4704ox="0 0 22 26"
4705                                                                                                            fill="none">
4706                                                                                                            <path
4707                                                                                                                d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z"
4708                                                                                                                fill="black" />
4709                                                                                                        </svg>
4710                                                                                                        <p>Upload Logo
4711                                                                                                            <span>*optional</span>
4712                                                                                                        </p>
4713                                                                                                    </div>
4714                                                                                                </div>
4715
4716                                                                                            </label>
4717
4718                                                                                            <input type="hidden"
4719                                                                                                data-properties="papan-logo"
4720                                                                                                value="">
4721                                                                                            <input type="file"
4722                                                                                                id="logoPapan"
4723                                                                                                accept="image/*"
4724                                                                                                style="position: absolute;width: 1px;height: 1px;padding: 0">
4725
4726                                                                                            <div class="input-field">
4727                                                                                                <input
4728                                                                                                    class="has-limit sender-name"
4729                                                                                                    type="text"
4730                                                                                                    placeholder="Nama Pengirim"
4731                                                                                                    data-properties="pengirim"
4732                                                                                                    maxlength="35" />
4733                                                                                                <p class="limit">0/35
4734                                                                                                </p>
4735                                                                                            </div>
4736
4737                                                                                        </div>
4738
4739                                                                                    </div>
4740                                                                                </div>
4741                                                                            </div>
4742
4743                                                                        </div>
4744                                                                    </div>
4745
4746                                                                </div>
4747                                                                <div class="purchase-button-wrapper">
4748                                                                    <div class="purchase-button btn-card row m-0">
4749                                                                        <div class="col-12 col-lg-2 text-left mb-2 p-0">
4750
4751                                                                        </div>
4752                                                                        <div
4753                                                                            class="btn-next-card col-12 col-lg-10 text-right">
4754
4755
4756                                                                            <button
4757                                                                                class="btn next-purchase-button text-uppercase"
4758                                                                                disabled>
4759                                                                                <sp
4759an>save your flower board</span>
4760                                                                            </button>
4761                                                                        </div>
4762                                                                    </div>
4763
4764                                                                </div>
4765                                                            </div>
4766                                                        </div>
4767
4768
4769
4770                                                        <div class="sectionPurchase sectionPurchaseBoard hide"
4771                                                            data-section="address">
4772                                                            <div class="wrapperPurchase">
4773                                                                <div class="purchase-content">
4774                                                                    <div class="headerPurchase">
4775                                                                        <h3>
4776                                                                            Complete Your Order
4777                                                                        </h3>
4778                                                                        <a class="close-purchase-popup">
4779                                                                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
4780                                                                                width="18" height="18"
4781                                                                                viewB
4781ox="0 0 18 18" fill="none">
4782                                                                                <path
4783                                                                                    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"
4784                                                                                    fill="black" />
4785                                                                            </svg>
4786                                                                        </a>
4787
4788                                                                    </div>
4789                                                                    <div class="contentPurchase">
4790                                                                        <div class="row">
4791                                                                            <div class="col-12 position-relative">
4792                                                                                <div class="addressPurchase">
4793
4794                                                                                    <h4 class="text-uppercase">recipient
4795                                                                                        delivery address</h4>
4796                                                                                    <p>Share the delivery address to
4797                                                                                        send your heartfelt blooms
4798                                                                                        straight to their door.</p>
4799
4800                                                                                    <div
4801                                                                                        class="formAddressPurchase row">
4802                                                                                        <div class="col-12">
4803                                                                                            <form>
4804                                                                                                <div
4805                                                                                                    class="form-group row mb-2 mb-lg-4">
4806                                                                                                    <div
4807                                                                                                        class="col-6 position-relative">
4808                                                                                                        <input
4809                                                                                                            id="first_name"
4810                                                                                                            type="text"
4811                                                                                                            class="form-control input__field"
4812                                                                                                            placeholder=""
4813                                                                                                            required>
4814                                                                                                        <label
4815                                                                                                            for="first_name"
4816                                                                                                            class="input__label">First
4817                                                                                                            Name<span>*</span></label>
4818                                                                                                    </div>
4819                                                                                                    <div
4820                                                                                                        class="col-6 position-relative">
4821                                                                                                        <input
4822                                                                                                            id="last_name"
4823                                                                                                            type="text"
4824                                                                                                            class="form-control input__field"
4825                                                                                                            placeholder=""
4826                                                                                                            required>
4827                                                                                                        <label
4828                                                                                                            for="last_name"
4829                                                                                                            class="input__label">Last
4830                                                                                                            Name<span>*</span></label>
4831                                                                                                    </div>
4832                                                                                                    <input type="hidden"
4833                                                                                                        data-properties="nama-penerima">
4834                                                                                                </div>
4835
4836                                                                                                <h4
4837                                                                                                    class="text-uppercase">
4838                                                                                                    how you want to
4839                                                                                                    input your address
4840                                                                                                </h4>
4841                                                                                                <div
4842                                                                                                    class="form-group row mb-2 mb-lg-4 form-address-upload">
4843                                                                                                    <div
4844                                                                                                        class="col-6 position-relative">
4845                                                                                                        <label
4846                                                                                                            class="address-manualy">
4847                                                                                                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
4848                                                                                                                width="18"
4849                                                                                                                height="17"
4850                                                                                                                viewB
4850ox="0 0 18 17"
4851                                                                                                                fill="none">
4852                                                                                                                <path
4853                                                                                                                    d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.91216 0.910582 5.75588C0.754301 5.5996 0.666504 5.38764 0.666504 5.16663V2.87496C0.666504 2.15666 0.951845 1.46779 1.45976 0.959878C1.96767 0.451967 2.65654 0.166626 3.37484 0.166626H5.6665C5.88752 0.166626 6.09948 0.254423 6.25576 0.410704C6.41204 0.566984 6.49984 0.778946 6.49984 0.999959C6.49984 1.22097 6.41204 1.43293 6.25576 1.58921C6.09948 1.7455 5.88752 1.83329 5.6665 1.83329H3.37484ZM3.37484 15.1666C2.79984 15.1666 2.33317 14.7 2.33317 14.125V11.8333C2.33317 11.6123 2.24537 11.4003 2.08909 11.244C1.93281 11.0878 1.72085 11 1.49984 11C1.27882 11 1.06686 11.0878 0.910582 11.244C0.754301 11.4003 0.666504 11.6123 0.666504 11.8333V14.125C0.666504 14.4806 0.736557 14.8328 0.872663 15.1614C1.00877 15.49 1.20826 15.7885 1.45976 16.04C1.71125 16.2915 2.00981 16.491 2.3384 16.6271C2.66699 16.7632 3.01917 16.8333 3.37484 16.8333H5.6665C5.88752 16.8333 6.09948 16.7455 6.25576 16.5892C6.41204 16.4329 6.49984 16.221 6.49984 16C6.49984 15.7789 6.41204 15.567 6.25576 15.4107C6.09948 15.2544 5.88752 15.1666 5.6665 15.1666H3.37484ZM15.6665 2.87496C15.6665 2.29996 15.1998 1.83329 14.6248 1.83329H12.3332C12.1122 1.83329 11.9002 1.7455 11.7439 1.58921C11.5876 1.43293 11.4998 1.22097 11.4998 0.999959C11.4998 0.778946 11.5876 0.566984 11.7439 0.410704C11.9002 0.254423 12.1122 0.166626 12.3332 0.166626H14.6248C14.9805 0.166626 15.3327 0.236679 15.6613 0.372786C15.9899 0.508892 16.2884 0.708386 16.5399 0.959878C16.7914 1.21137 16.9909 1.50994 17.127 1.83853C17.2631 2.16712 17.3332 2.5193 17.3332 2.87496V5.16663C17.3332 5.38764 17.2454 5.5996 17.0891 5.75588C16.9328 5.91216 16.7208 5.99996 16.4998 5.99996C16.2788 5.99996 16.0669 5.91216 15.9106 5.75588C15.7543 5.5996 15.6665 5.38764 15.6665 5.16663V2.87496ZM14.6248 15.1666C15.1998 15.1666 15.6665 14.7 15.6665 14.125V11.8333C15.666
48535 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"
4854                                                                                                                    fill="black" />
4855                                                                                                            </svg>
4856                                                                                                            <span>Input
4857                                                                                                                Address
4858                                                                                                                Manually</span>
4859                                                                                                        </label>
4860                                                                                                    </div>
4861                                                                                                    <div
4862                                                                                                        class="col-6 position-relative">
4863                                                                                                        <label
4864                                                                                                            for="address-upload"
4865                                                                                                            class="address-upload">
4866                                                                                                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
4867                                                                                                                width="12"
4868                                                                                                                height="13"
4869                                                                                                                viewB
4869ox="0 0 12 13"
4870                                                                                                                fill="none">
4871                                                                                                                <path
4872                                                                                                                    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"
4873                                                                                                                    fill="black" />
4874                                                                                                            </svg>
4875                                                                                                            <span>Upload
4876                                                                                                                Address
4877                                                                                                                Picture</span>
4878                                                                                                        </label>
4879                                                                                                        <input
4880                                                                                                            id="address-upload"
4881                                                                                                            type="file"
4882                                                                                                            accept="image/png, image/jpeg"
4883                                                                                                            style="position: absolute; padding: 0;width: 1px;height: 1px">
4884                                                                                                        <input
4885                                                                                                            type="hidden"
4886                                                                                                            class="props-address-upload"
4887                                                                                                            data-properties="foto-alamat">
4888                                                                                                    </div>
4889                                                                                                </div>
4890                                                                                                <img width="150"
4891                                                                                                    height="" src=""
4892                                                                                                    class="photo-address"
4893                                                                                                    style="display: none;">
4894
4895                                                                                                <div
4896                                                                                                    class="form-group row position-relative mb-2 mb-lg-4 form-address">
4897                                                                                                    <div class="col-12">
4898                                                                                                        <textarea
4899                                                                                                            id="delivery_address"
4900                                                                                                            data-properties="alamat-penerima"
4901                                                                                                            class="form-control input__field col-12"
4902                                                                                                            placeholder=""
4903                                                                                                            required></textarea>
4904                                                                                                        <label
4905                                                                                                            for="delivery_address"
4906                                                                                                            class="input__label">Delivery
4907                                                                                                            Address<span>*</span></label>
4908
4909                                                                                                    </div>
4910                                                                                                </div>
4911                                                                                                <div
4912                                                                                                    class="form-group row mb-2 mb-lg-4 form-address">
4913                                                                                                    <div
4914                                                                                                        class="col-6 position-relative">
4915                                                                                                        <input
4916                                                                                                            id="recipient_number"
4917                                                                                                            type="text"
4918                                                                                                            data-properties="telepon-penerima"
4919                                                                                                            class="form-control input__field"
4920                                                                                                            placeholder=""
4921                                                                                                            required>
4922                                                                                                        <label
4923                                                                                                            for="recipient_number"
4924                                                                                                            class="input__label">Recipient
4925                                                                                                            number<span>*</span></label>
4926                                                                                                    </div>
4927                                                                                                    <div
4928                                                                                                        class="col-6 position-relative">
4929                                                                                                        <input
4930                                                                                                            id="company"
4931                                                                                                            type="text"
4932                                                                                                            data-properties="company"
4933                                                                                                            class="form-control input__field"
4934                                                                                                            placeholder="">
4935                                                                                                        <label
4936                                                                                                            for="company"
4937                                                                                                            class="input__label">Company
4938                                                                                                            (Optional)</label>
4939                                                                                                    </div>
4940                                                                                                </div>
4941                                                                                                <div
4942                                                                                                    class="form-group row mb-2 mb-lg-4 form-address">
4943                                                                                                    <div
4944                                                                                                        class="col-6 position-relative">
4945                                                                                                        <input
4946                                                                                                            id="province"
4947                                                                                                            type="text"
4948                                                                                                            class="form-control input__field"
4949                                                                                                            placeholder=""
4950                                                                                                            value="Jakarta"
4951                                                                                                            data-properties="province">
4952                                                                                                        <label
4953                                                                                                            for="province"
4954                                                                                                            class="input__label">Province</label>
4955                                                                                                    </div>
4956                                                                                                    <div
4957                                                                                                        class="col-6 position-relative">
4958                                                                                                        <select id="zip"
4959                                                                                                            class="form-control select-search"
4960                                                                                                            required></select>
4961                                                                                                    </div>
4962                                                                                                </div>
4963                                                                                            </form>
4964                                                                                        </div>
4965                                                                                    </div>
4966                                                                                </div>
4967                                                                                <div class="addonsPurchase">
4968                                                                                    <h4 class="text-uppercase">add-ons
4969                                                                                    </h4>
4970                                                                                    <div class="addons">
4971                                                                                        <p>No Add-Ons</p>
4972                                                                                        <!--
4973             <button class="add-addon">
4974               <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="12" height="12" viewBox="0 0 12 12" fill="none">
4975                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
4976               </svg>
4977               <span>Enhance my moment with Add-ons</span>
4978             </button>
4979           -->
4980                                                                                    </div>
4981                                                                                </div>
4982                                                                            </div>
4983
4984                                                                        </div>
4985                                                                    </div>
4986
4987                                                                    
4987<script>
4988                                                                        document.addEventListener('DOMContentLoaded', function () {
4989                                                                            // Detect iOS
4990                                                                            var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
4991
4992                                                                            if (isIOS) {
4993                                                                                document.querySelector('.formAddressPurchase').classList.add('ios');
4994
4995                                                                                // iOS specific fixes
4996                                                                                var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
4997
4998                                                                                inputs.forEach(function (input) {
4999                                                                                    // Force enable touch events on iOS
5000                                                                                    input.style.webkitUserSelect = 'text';
5001                                                                                    input.style.webkitTouchCallout = 'default';
5002                                                                                    input.style.pointerEvents = 'auto';
5003                                                                                    input.style.touchAction = 'manipulation';
5004
5005                                                                                    // Add explicit touch event listeners for iOS
5006                                                                                    input.addEventListener('touchstart', function (e) {
5007                                                                                        e.stopPropagation();
5008                                                                                        this.focus();
5009                                                                                    }, { passive: false });
5010
5011                                                                                    input.addEventListener('touchend', function (e) {
5012                                                                                        e.preventDefault();
5013                                                                                        e.stopPropagation();
5014                                                                                        this.focus();
5015                                                                                        this.click();
5016                                                                                    }, { passive: false });
5017
5018                                                                                    // Force focus on tap for iOS
5019                                                                                    input.addEventListener('click', function (e) {
5020                                                                                        e.stopPropagation();
5021                                                                                        if (document.activeElement !== this) {
5022                                                                                            this.focus();
5023                                                                                        }
5024                                                                                    });
5025                                                                                });
5026
5027                                                                                // Fix for label overlapping on iOS
5028                                                                                var labels = document.querySelectorAll('.formAddressPurchase .input__label');
5029                                                                                labels.forEac
5029h(function (label) {
5030                                                                                    label.style.pointerEvents = 'none';
5031                                                                                    label.addEventListener('touchstart', function (e) {
5032                                                                                        e.preventDefault();
5033                                                                                        var input = this.parentNode.querySelector('.input__field');
5034                                                                                        if (input) {
5035                                                                                            input.focus();
5036                                                                                        }
5037                                                                                    });
5038                                                                                });
5039                                                                            }
5040
5041                                                                            // Handle input state for all browsers, especially iOS
5042                                                                            var inputs = document.querySelectorAll('.input__field');
5043
5044                                                                            inputs.forEach(function (input) {
5045                                                                                // Handle input events
5046                                                                                input.addEventListener('input', function () {
5047                                                                                    if (this.value.trim() !== '') {
5048                                                                                        this.classList.add('has-value');
5049                                                                                    } else {
5050                                                                                        this.classList.remove('has-value');
5051                                                                                    }
5052                                                                                });
5053
5054                                                                                // Handle focus
5055                                                                                input.addEventListener('focus', function () {
5056                                                                                    this.classList.add('focused');
5057                                                                                    // iOS specific: ensure input is visible
5058                                                                                    if (isIOS) {
5059                                                                                        setTimeout(function () {
5060                                                                                            input.scrollIntoView({ behavior: 'smooth', block: 'center' });
5061                                                                                        }, 300);
5062                                                                                    }
5063                                                                                });
5064
5065                                                                                // Handle blur
5066                                                                                input.addEventListener('blur', function () {
5067                                                                                    this.classList.remove('focused');
5068                                                                                    if (this.value.trim() !== '') {
5069                                                                                        this.classList.add('has-value');
5070                                                                                    } else {
5071                                                                                        this.classList.remove('has-value');
5072                                                                                    }
5073                                                                                });
5074
5075                                                                                // Initial check for pre-filled values
5076                                                                                if (input.value.trim() !== '') {
5077                                                                                    input.classList.add('has-value');
5078                                                                                }
5079                                                                            });
5080
5081                                                                            // Additional iOS fixes
5082                                                                            if (isIOS) {
5083                                                                                // Prevent iOS Safari from adding default styling
5084                                                                                document.addEventListener('touchstart', function () { }, { passive: true });
5085
5086                                                                                // Fix viewport issues on iOS
5087                                                                                var viewport = document.querySelector('meta[name=viewport]');
5088                                                                                if (viewport) {
5089                                                                                    viewport.setAttribute('content',
5090                                                                                        'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
5091                                                                                    );
5092                                                                                }
5093                                                                            }
5094                                                                        });
5095                                                                    </script>
5095
5096                                                                </div>
5097                                                                <div class="purchase-button-wrapper">
5098                                                                    <div class="purchase-button btn-address row m-0">
5099                                                                        <div class="col-12 col-lg-2 text-left mb-2 p-0">
5100
5101                                                                            <button
5102                                                                                class="back-purchase-button back-address text-uppercase">
5103                                                                                <svg width="15" height="14"
5104                                                                                    viewBox="0 0 15 14" fill="none"
5105                                                                                    xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
5106                                                                                    <path
5107                                                                                        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"
5108                                                                                        fill="black" />
5109                                                                                </svg>
5110                                                                                <span>Back</span>
5111                                                                            </button>
5112
5113                                                                        </div>
5114                                                                        <div
5115                                                                            class="btn-next-card col-12 col-lg-10 text-right">
5116
5117                                                                            <!--
5118         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
5119           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
5120             <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"/>
5121           </svg>
5122           <span>Back</span>
5123         </button>
5124       -->
5125
5126
5127                                                                            <button id="addtocart-card"
5128                                                                                class="btn  next-address text-uppercase">
5129                                                                                <span>add to cart</span>
5130                                                                            </button>
5131                                                                        </div>
5132                                                                    </div>
5133
5134                                                                </div>
5135                                                            </div>
5136                                                        </div>
5137
5138                                                    </div>
5139                                                </div>
5140                                                <div id="backgroundPopup"></div>
5141
5142
5143
5144                                                <input data-index="1" type="hidden" id="properties-delivery-date"
5145                                                    name="properties[Delivery Date]" value="-">
5146                                                <input data-index="2" type="hidden" id="properties-delivery-time"
5147                                                    name="properties[Delivery Time]" value="-">
5148                                                <input data-index="4" type="hidden" id="properties-nama-penerima"
5149                                                    name="properties[Nama Penerima]" value="-">
5150                                                <input data-index="5" type="hidden" id="properties-alamat-penerima"
5151                                                    name="properties[Alamat Penerima]" value="-">
5152                                                <input data-index="6" type="hidden" id="properties-kodepos"
5153                                                    name="properties[Kodepos]" value="-">
5154                                                <input data-index="7" type="hidden" id="properties-telepon-penerima"
5155                                                    name="properties[Telepon Penerima]">
5156
5157
5158                                                <input data-index="8" type="hidden" id="properties-kartu-nama-penerima"
5159                                                    name="properties[Kartu Nama Penerima]" value="-">
5160
5161                                                <textarea data-index="9" type="hidden" id="properties-kartu-pesan"
5162                                                    name="properties[Kartu Pesan]" style="display: none">-</textarea>
5163
5164
5165
5166                                                <input data-index="10" type="hidden" id="properties-kartu-nama-pengirim"
5167                                                    name="properties[Kartu Nama Pengirim]" value="-">
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186                                                <!-- Additional Shipping -->
5187                                                <input type="hidden" id="properties-kota-pengiriman-province"
5188                                                    name="properties[Province]">
5189                                                <input type="hidden" id="properties-kota-pengiriman-country"
5190                                                    name="properties[Country]" value="Indonesia">
5191                                                <input type="hidden" id="properties-shipping"
5192                                                    name="properties[Shipping]">
5193
5194                                                <input type="hidden" id="properties-time" name="properties[Time]">
5195                                                <input type="hidden" id="properties-card" name="properties[Card]">
5196                                                <input type="hidden" id="properties-addons" name="properties[Addons]">
5197
5198                                                <input type="hidden" id="properties-company" name="properties[Company]"
5199                                                    value="">
5200                                                
5200<script>
5201
5202                                                    $(document).ready(function () {
5203
5204                                                        var text_max_papan1 = 150;
5205                                                        var msg_text_papan1 = "";
5206                                                        $('#kartu-ucapan-ucapan').keyup(function () {
5207                                                            var text_length_papan1 = $('#kartu-ucapan-ucapan').val().length;
5208                                                            var msg_text_papan1 = $('#kartu-ucapan-ucapan').val();
5209                                                        });
5210
5211                                                        var notes_papan1 = [
5212
5213                                                            [0, "Happy Wedding (nama & nama)."], [1, "Congratulations lovebirds (nama & nama)."], [2, "Selamat berbahagia (nama & nama)."], [3, "Selamat menempuh hidup baru (nama & nama)."]
5214
5215                                                        ];
5216                                                        $('#show_note_papan1').click(function (event) {
5217                                                            event.preventDefault();
5218                                                            var idx_papan1 = parseInt($('#note_id_papan1').val());
5219                                                            if (isNaN(idx_papan1)) {
5220                                                                idx_papan1 = 0;
5221                                                            } else {
5222                                                                idx_papan1++;
5223                                                                idx_papan1 = idx_papan1 % notes_papan1.length;
5224                                                            }
5225                                                            var note_papan1 = notes_papan1[idx_papan1][1];
5226                                                            $('#note_id_papan1').val(idx_papan1);
5227                                                            $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
5228                                                            $('#msgDelivery').val(note_papan1);
5229
5230                                                            var text_length_papan1 = $('#kartu-ucapan-papan').val().length;
5231                                                            var idx_2_papan1 = parseInt($('#note_btn_id_papan1').val());
5232                                                            if (isNaN(idx_2_papan1)) {
5233                                                                idx_2_papan1 = 0;
5234                                                            } else {
5235                                                                idx_2_papan1++;
5236                                                                //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5237                                                            }
5238                                                            $('#note_btn_id_papan1').val(idx_2_papan1);
5239                                                            //var note_btn=note_btn_text[idx_2][1];
5240                                                            //$('#note_btn').text(note_btn);
5241                                                        });
5242
5243                                                        var text_max_papan2 = 150;
5244                                                        var msg_text_papan2 = "";
5245                                                        $('#kartu-ucapan-ucapan').keyup(function () {
5246                                                            var text_length_papan2 = $('#kartu-ucapan-ucapan').val().length;
5247                                                            var msg_text_papan2 = $('#kartu-ucapan-ucapan').val();
5248                                                        });
5249
5250                                                        var notes_papan2 = [
5251
5252                                                            [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)."]
5253
5254                                                        ];
5255                                                        $('#show_note_papan2').click(function (event) {
5256                                                            event.preventDefault();
5257                                                            var idx_papan2 = parseInt($('#note_id_papan2').val());
5258                                                            if (isNaN(idx_papan2)) {
5259                                                                idx_papan2 = 0;
5260                                                            } else {
5261                                                                idx_papan2++;
5262                                                                idx_papan2 = idx_papan2 % notes_papan2.length;
5263                                                            }
5264                                                            var note_papan2 = notes_papan2[idx_papan2][1];
5265                                                            $('#note_id_papan2').val(idx_papan2);
5266                                                            $('#kartu-ucapan-
5266papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
5267                                                            $('#msgDelivery').val(note_papan2);
5268                                                            var text_length_papan2 = $('#kartu-ucapan-papan').val().length;
5269                                                            var idx_2_papan2 = parseInt($('#note_btn_id_papan2').val());
5270                                                            if (isNaN(idx_2_papan2)) {
5271                                                                idx_2_papan2 = 0;
5272                                                            } else {
5273                                                                idx_2_papan2++;
5274                                                                //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5275                                                            }
5276                                                            $('#note_btn_id_papan2').val(idx_2_papan2);
5277                                                            //var note_btn=note_btn_text[idx_2][1];
5278                                                            //$('#note_btn').text(note_btn);
5279                                                        });
5280
5281                                                        var text_max_papan3 = 150;
5282                                                        var msg_text_papan3 = "";
5283                                                        $('#kartu-ucapan-ucapan').keyup(function () {
5284                                                            var text_length_papan3 = $('#kartu-ucapan-ucapan').val().length;
5285                                                            var msg_text_papan3 = $('#kartu-ucapan-ucapan').val();
5286                                                        });
5287
5288                                                        var notes_papan3 = [
5289
5290                                                            [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)."]
5291
5292                                                        ];
5293                                                        $('#show_note_papan3').click(function (event) {
5294                                                            event.preventDefault();
5295                                                            var idx_papan3 = parseInt($('#note_id_papan3').val());
5296                                                            if (isNaN(idx_papan3)) {
5297                                                                idx_papan3 = 0;
5298                                                            } else {
5299                                                                idx_papan3++;
5300                                                                idx_papan3 = idx_papan3 % notes_papan3.length;
5301                                                            }
5302                                                            var note_papan3 = notes_papan3[idx_papan3][1];
5303                                                            $('#note_id_papan3').val(idx_papan3);
5304                                                            $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
5305                                                            $('#msgDelivery').val(note_papan3);
5306                                                            var text_length_papan3 = $('#kartu-ucapan-papan').val().length;
5307                                                            var idx_2_papan3 = parseInt($('#note_btn_id_papan3').val());
5308                                                            if (isNaN(idx_2_papan3)) {
5309                                                                idx_2_papan3 = 0;
5310                                                            } else {
5311                                                                idx_2_papan3++;
5312                                                                //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5313                                                            }
5314                                                            $('#note_btn_id_papan3').val(idx_2_papan3);
5315                                                            //var note_btn=note_btn_text[idx_2][1];
5316                                                            //$('#note_btn').text(note_btn);
5317                                                        });
5318
5319                                                        var text_max_papan4 = 150;
5320                                                        var msg_text_papan4 = "";
5321                                                        $('#kartu-ucapan-ucapan').keyup(function () {
5322                                                            var text_length_papan4 = $('#kartu-ucapan-ucapan').val().length;
5323                                                            var msg_text_papan4 = $('#kartu-ucapan-ucapan').val();
5324                                                        });
5325
5326                                                        $('#show_note_papan4').click(function (event) {
5327                                                            var notes_papan4 = [
5328                                                                [0, "Here’s to you—steadier, stronger and better every day."],
5329                                                                [1, "Warmest wishes for a speedy recovery!"],
5330                                                                [2, "Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
5331                                                                [3, "Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
5332                                                            ];
5333                                                            event.preventDefault();
5334                                                            var idx_papan4 = parseInt($('#note_id_papan4').val());
5335                                                            console.log(idx_papan4, 'idx_papan4')
5336                                                            if (isNaN(idx_papan4)) {
5337                                                                idx_papan4 = 0;
5338                                                            } else {
5339                                                                idx_papan4++;
5340                                                                idx_papan4 = idx_papan4 % notes_papan4.length;
5341                                                            }
5342                                                            var note_papan4 = notes_papan4[idx_papan4][1];
5343                                                            $('#note_id_papan4').val(idx_papan4);
5344                                                            $('#kartu-ucapan-
5344papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
5345                                                            console.log(note_papan4, 'note_papan4')
5346                                                            var text_length_papan4 = $('#kartu-ucapan-papan').val().length;
5347                                                            var idx_2_papan4 = parseInt($('#note_btn_id_papan4').val());
5348                                                            if (isNaN(idx_2_papan4)) {
5349                                                                idx_2_papan4 = 0;
5350                                                            } else {
5351                                                                idx_2_papan4++;
5352                                                                //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
5353                                                            }
5354                                                            $('#note_btn_id_papan4').val(idx_2_papan4);
5355                                                        });
5356
5357                                                        /*
5358                                                        $("#jenisPapan").change(function(){
5359                                                          $( "select option:selected").each(function(){
5360                                                            if($(this).attr("value")=="Happy Wedding"){
5361                                                              $("#suggest-messages a").hide();
5362                                                              $("#show_note_papan1").show();
5363                                                              $("#kartu-ucapan-papan").val("");
5364                                                            }
5365                                                            if($(this).attr("value")=="Congratulations"){
5366                                                              $("#suggest-messages a").hide();
5367                                                              $("#show_note_papan2").show();
5368                                                              $("#kartu-ucapan-papan").val("");
5369                                                            }
5370                                                            if($(this).attr("value")=="Duka Cita"){
5371                                                              $("#suggest-messages a").hide();
5372                                                              $("#show_note_papan3").show();
5373                                                              $("#kartu-ucapan-papan").val("");
5374                                                            }
5375                                                          });
5376                                                        }).change();
5377                                                        */
5378
5379
5380
5381
5382
5383                                                        $(".variant-metafield").each(function () {
5384                                                            const t = $(this)
5385                                                            const id = t.attr("id")
5386                                                            const target = $(`[data-select=${id}]`)
5387                                                            t.on('select2:selecting', function (e) {
5388                                                                const data = e.params.args.data
5389                                                                target.val(data.text)
5390                                                            });
5391                                                        })
5392                                                    })
5393                                                </script>
5393
5394
5395                                                <div id="popupCart">
5396                                                    <div class="container">
5397                                                        <div class="wrapperPopupCart">
5398                                                            <div class="headerPopupCart">
5399                                                                <div class="d-flex pl-5 pr-5 p-4">
5400                                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
5401                                                                        width="16" height="12" viewBox="0 0 16 12"
5402                                                                        fill="none">
5403                                                                        <path
5404                                                                            d="M5.55008 11.3076L0.580078 6.33761L1.29408 5.62461L5.55008 9.88061L14.7061 0.724609L15.4191 1.43861L5.55008 11.3076Z"
5405                                                                            fill="black" />
5406                                                                    </svg>
5407                                                                    <span>item added to your cart</span>
5408                                                                </div>
5409                                                                <a class="close-purchase-popup">
5410                                                                    <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
5411                                                                        width="18" height="18" viewBox="0 0 18 18"
5412                                                                        fill="none">
5413                                                                        <path
5414                                                                            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"
5415                                                                            fill="black" />
5416                                                                    </svg>
5417                                                                </a>
5418
5419                                                            </div>
5420                                                            <div class="contentPopupCart">
5421                                                                <div class="pl-5 pr-5 p-4">
5422                                                                    <div
5423                                                                        class="itemContent row m-0 justify-content-between">
5424                                                                        <div class="col-2 align-self-center">
5425
5426                                                                            <img class="d-block" width="80"
5427                                                                                src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426">
5428                                                                        </div>
5429                                                                        <div class="col-10 align-self-center">
5430                                                                            <div class="row pl-3">
5431                                                                                <div class="col-12 col-lg-7">
5432                                                                                    <span
5433                                                                                        class="titleCartPopup text-uppercase">AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari</span>
5434                                                                                </div>
5435                                                                                <div
5436                                                                                    class="d-flex justify-content-end col
5436-12 col-lg-5">
5437                                                                                    <span
5438                                                                                        class="deleteCartPopup hide">Delete</span>
5439                                                                                    <span
5440                                                                                        class="lineCartPrice align-self-center">Rp
5441                                                                                        5.000</span>
5442                                                                                </div>
5443                                                                            </div>
5444                                                                        </div>
5445                                                                    </div>
5446                                                                    <div class="itemProperties">
5447
5448                                                                        <div class="propDeliver">
5449                                                                            <h4>delivery option detail</h4>
5450                                                                            <p>
5451                                                                                <span>delivery city</span>
5452                                                                                <span
5453                                                                                    class="propDeliveryCity">jakarta</span>
5454                                                                            </p>
5455                                                                            <p>
5456                                                                                <span>delivery date</span>
5457                                                                                <span
5458                                                                                    class="propDeliveryDate">24/03/2025</span>
5459                                                                            </p>
5460                                                                            <p>
5461                                                                                <span>delivery time</span>
5462                                                                                <span class="propDeliveryTime">Afternoon
5463                                                                                    | 13:00 - 18:00</span>
5464                                                                            </p>
5465                                                                        </div>
5466                                                                        <div class="propAddress">
5467                                                                            <h4>delivery option detail</h4>
5468                                                                            <p>
5469                                                                                <span>RECIPIENT NAME</span>
5470                                                                                <span class="propDeliveryName">jane
5471                                                                                    doe</span>
5472                                                                            </p>
5473                                                                            <p>
5474                                                                                <span>delivery address</span>
5475                                                                                <span class="propDeliveryAddress">Jl.
5476                                                                                    Gatot Subroto No. 25, RT.2/RW.4,
5477                                                                                    Kuningan Barat, Kecamatan Mampang
5478                                                                                    Prapatan, Kota Jakarta
5479                                                                                    Selatan, Daerah Khusus Ibukota
5480                                                                                    Jakarta 12710, Indonesia</span>
5481                                                                            </p>
5482                                                                            <p>
5483                                                                                <sp
5483an>recipient phone number</span>
5484                                                                                <span class="propDeliveryPhone">(+62)
5485                                                                                    812-7752-3364</span>
5486                                                                            </p>
5487                                                                            <p>
5488                                                                                <span>PROVINCE</span>
5489                                                                                <span
5490                                                                                    class="propDeliveryProv">Jakarta</span>
5491                                                                            </p>
5492                                                                            <p>
5493                                                                                <span>postal code</span>
5494                                                                                <span
5495                                                                                    class="propDeliveryZip">12710</span>
5496                                                                            </p>
5497
5498
5499                                                                        </div>
5500
5501                                                                    </div>
5502                                                                    <div class="itemAddonCart">
5503                                                                        <div
5504                                                                            class="toggleAddonCart d-flex justify-content-between">
5505                                                                            <h4>add-ons (0)</h4>
5506                                                                            <svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
5507                                                                                width="5" height="9" viewBox="0 0 5 9"
5508                                                                                fill="none">
5509                                                                                <path
5510                                                                                    d="M1.0128 0.84668L4.78613 4.62001L1.0128 8.39335L0.546133 7.92001L3.84613 4.62001L0.546133 1.32001L1.0128 0.84668Z"
5511                                                                                    fill="black" />
5512                                                                            </svg>
5513                                                                        </div>
5514                                                                        <div class="wrapperItemAddonCart"></div>
5515                                                                    </div>
5516
5517                                                                </div>
5518                                                            </div>
5519                                                            <div class="footerPopupCart">
5520                                                                <div class="row m-0 pl-5 pr-5 p-4">
5521                                                                    <a class="btn btnViewCart w-100 text-uppercase text-center"
5522                                                                        href="/cart">View Cart</a>
5523                                                                    <a class="btn btnViewCheckout w-100 text-uppercase text-center"
5524                                                                        href="/checkout"><span>Checkout</span></a>
5525                                                                    <a class="btnContinueShopping w-100 text-center"
5526                                                                        href="/">Continue shopping</a>
5527                                                                </div>
5528                                                            </div>
5529                                                        </div>
5530                                                    </div>
5531                                                </div>
5532
5533
5534                                                
5534<script>
5535                                                    const shareButton = document.getElementById('shareButton');
5536
5537                                                    shareButton.addEventListener('click', () => {
5538                                                        if (navigator.share) {
5539                                                            navigator.share({
5540                                                                title: "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari",
5541                                                                url: "/products/blossom-shine",
5542                                                                text: 'Check out this page!'
5543                                                            })
5544                                                                .then(() => console.log('Successful share'))
5545                                                                .catch((error) => console.log('Error sharing', error));
5546                                                        } else {
5547                                                            alert('Web Share API is not supported in this browser.');
5548                                                        }
5549                                                    });
5550
5551                                                    // Inventory validation function
5552                                                    function checkInventoryStatus() {
5553                                                        const productSelect = document.getElementById('productSelect');
5554                                                        const purchaseButton = document.querySelector('#personalizeBtn button');
5555
5556                                                        if (!productSelect || !purchaseButton) return;
5557
5558                                                        const selectedVariantId = productSelect.value;
5559
5560                                                        // Get variant data from Shopify
5561                                                        fetch(`/products/blossom-shine.js`)
5562                                                            .then(response => response.json())
5563                                                            .then(product => {
5564                                                                const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
5565
5566                                                                if (selectedVariant) {
5567                                                                    const isOutOfStock = selectedVariant.inventory_quantity <= 0 &&
5568                                                                        selectedVariant.inventory_management === 'shopify' &&
5569                                                                        selectedVariant.inventory_policy !== 'continue';
5570
5571                                                                    if (isOutOfStock) {
5572                                                                        purchaseButton.disabled = true;
5573                                                                        purchaseButton.textContent = 'Out of Stock';
5574                                                                        purchaseButton.setAttribute('data-out-of-stock', 'true');
5575                                                                        purchaseButton.style.backgroundColor = '#cccccc';
5576                                                                        purchaseButton.style.cursor = 'not-allowed';
5577                                                                    } else {
5578                                                                        // Check if button was disabled due to other conditions
5579
5580
5581
5582
5583
5584
5585
5586
5587                                                                        const isOtherDisabled = false || true || false;
5588
5589                                                                        if (!isOtherDisabled) {
5590                                                                            purchaseButton.disabled = false;
5591                                                                            purchaseButton.textContent = 'customize your flower board';
5592                                                                            purchaseButton.removeAttribute('data-out-of-stock');
5593                                                                            purchaseButton.style.backgroundColor = '';
5594                                                                            purchaseButton.style.cursor = '';
5595                                                                        }
5596                                                                    }
5597                                                                }
5598                                                            })
5599                                                            .catch(error => {
5600                                                                console.error('Error checking inventory:', error);
5601                                                            });
5602                                                    }
5603
5604                                                    // Check inventory on page load
5605                                                    document.addEventListener('DOMContentLoaded', function () {
5606                                                        checkInventoryStatus();
5607
5608                                                        // Listen for variant changes
5609                                                        const productSelect = document.getElementById('productSelect');
5610                                                        if (productSelect) {
5611                                                            productSelect.addEventListener('change', checkInventoryStatus);
5612                                                        }
5613                                                    });
5614
5615                                                    // Prevent form submission if out of stock
5616                                                    document.addEventListener('click', function (e) {
5617                                                        if (e.target.matches('button[data-out-of-stock="true"]')) {
5618                                                            e.preventDefault();
5619                                                            e.stopPropagation();
5620                                                            alert('This product is currently out of stock and cannot be purchased.');
5621                                                            return false;
5622                                                        }
5623                                                    });
5624                                                </script>
5624
5625
5626
5627
5628                                            </div>
5629
5630                                        </div>
5631                                    </div>
5632                                </div>
5633                            </div>
5634                            <div id="product-bottom">
5635
5636                                <div class="container">
5637
5638
5639
5640
5641
5642                                    <div class="short-desc-mobile d-block d-lg-none mb-3">
5643                                        <div class="short-desc">
5644                                            <ul>
5645                                                <li><strong>AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja</strong></li>
5646                                        </div>
5647                                        <label class="more-mobile">Show More →</label>
5648                                    </div>
5649
5650                                    <style>
5651                                        .animated-title {
5652                                            text-align: center;
5653                                            font-weight: bold;
5654                                            color: #079c02;
5655                                            font-size: 28px;
5656                                            position: relative;
5657                                            animation: glow 2s infinite alternate, moveUpDown 3s infinite;
5658                                        }
5659
5660                                        /* Efek glow / bercahaya hijau */
5661                                        @keyframes glow {
5662                                            0% {
5663                                                text-shadow: 0 0 5px #079c02;
5664                                                color: #079c02;
5665                                            }
5666
5667                                            50% {
5668                                                text-shadow: 0 0 20px #00ff55;
5669                                                color: #12d12b;
5670                                            }
5671
5672                                            100% {
5673                                                text-shadow: 0 0 10px #1bff00;
5674                                                color: #079c02;
5675                                            }
5676                                        }
5677
5678                                        /* Efek gerakan naik turun */
5679                                        @keyframes moveUpDown {
5680                                            0% {
5681                                                transform: translateY(0px);
5682                                            }
5683
5684                                            50% {
5685                                                transform: translateY(-5px);
5686                                            }
5687
5688                                            100% {
5689                                                transform: translateY(0px);
5690                                            }
5691                                        }
5692                                    </style>
5693
5694                                    
5694<script type="text/javascript"
5695                                        src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
5695
5696                                    
5696<script>
5697                                        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 });
5698
5699                                        const productType = $("[data-product-type]").data("product-type")
5700                                        const productDate = Date.parse(new Date())
5701
5702                                        const shop = 'outerbloom1.myshopify.com'
5703                                        const host = 'https://app.asmaraku.com'
5704                                        // const host = 'http://localhost:5001'
5705
5706                                        const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
5707
5708                                        const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
5709
5710                                        $("#properties-time").val(new Date().getTime())
5711
5712                                        const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
5713
5714                                        if (!isIOS) {
5715                                            $("#full-date").attr("type", "button")
5716                                        }
5717
5718                                        let dateTime = new Date();
5719                                        let today = dateTime.getDate();
5720                                        let day = dateTime.getDay();
5721                                        let hour = dateTime.getHours();
5722                                        let min = dateTime.getMinutes();
5723                                        let timeOfDay = hour + (min / 100);
5724
5725                                        async function getFetch(url) {
5726                                            const response = await fetch(url);
5727                                            let status = false
5728                                            let result
5729                                            if (response.ok) {
5730                                                status = true
5731                                                result = await response.json();
5732                                            }
5733                                            return {
5734                                                status,
5735                                                data: result
5736                                            }
5737                                        }
5738
5739
5740
5741                                        function setCookie(cname, cvalue, exMins) {
5742                                            var d = new Date();
5743                                            d.setTime(d.getTime() + (exMins * 60 * 1000));
5744                                            var expires = "expires=" + d.toUTCString();
5745                                            document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
5746                                        }
5747
5748                                        function getCookie(cname) {
5749                                            let name = cname + "=";
5750                                            let decodedCookie = decodeURIComponent(document.cookie);
5751                                            let ca = decodedCookie.split(';');
5752                                            for (let i = 0; i < ca.length; i++) {
5753                                                let c = ca[i];
5754                                                while (c.charAt(0) == ' ') {
5755                                                    c = c.substring(1);
5756                                                }
5757                                                if (c.indexOf(name) == 0) {
5758                                                    return c.substring(name.length, c.length);
5759                                                }
5760                                            }
5761                                            return "";
5762                                        }
5763
5764                                        async function renderDate() {
5765                                            let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=9233866700552&v=${Date.now()}`);
5766                                            console.log(dataDate, 'renderDate')
5767                                            const data = dataDate?.data
5768                                            const date = data.date
5769                                            const time = data.time
5770
5771                                            console.log(date, 'DATE')
5772
5773                                            const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
5774                                            const monthly = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
5775                                            const htmlDate = []
5776                                            for (let i = 0; i < date.length; i++) {
5777                                                const full = date[i].date
5778                                                const d = new Date(date[i].date);
5779                                                const day = weekday[d.getDay()];
5780                                                const dt = d.getDate();
5781                                                const mt = monthly[d.getMonth()];
5782                                                const yr = d.getFullYear();
5783                                                const isDate = Boolean(date[i].isEnabled)
5784                                                const cutoffpagi = date[i].cutoff?.pagi
5785                                                const cutoffsiang = date[i].cutoff?.siang
5786                                                const cutoffMalam = date[i].cutoff?.Malam
5787                                                var html = `
5788         <button data-id="9233866700552" 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'}>
5789           ${dt === today ?
5790                                                        `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
5791                                                        `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
5792                                                    }
5793         </button>
5794       `
5795                                                htmlDate.push(html)
5796                                            }
5797                                            const htmlTime = []
5798                                            for (var i = 0; i < time.length; i++) {
5799                                                const timeText = time[i].text
5800                                                const timeTime = time[i].time
5801                                                const timeEnabled = time[i].isEnabled
5802                                                var html = `
5803           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
5804         `
5805                                                htmlTime.push(html)
5806                                            }
5807                                            const deliveryDate = document.getElementById("deliveryDate");
5808                                            if (deliveryDate) {
5809                                                deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
5810                                                $("#deliveryTime").html(htmlTime)
5811                                                if (productType !== '') {
5812                                                    console.log("clarity event " + productType + ' calendaring')
5813                                                    window.clarity("event", `${productType} calendaringSchedule`)
5814                                                    // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
5815                                                }
5816                                            }
5817                                        }
5818
5819                                        async function getProvince(city) {
5820                                            let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
5821                                            console.log(province, 'province')
5822                                            $("#province").val(province)
5823                                        }
5824
5825                                        async function renderAddress() {
5826                                            let current
5827                                            if (getCookie("location_delivery")) {
5828                                                current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
5829                                            }
5830                                            let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=9233866700552`);
5831                                            console.log(address)
5832                                            const data = address?.data?.city
5833                                            const htmlAddress = []
5834                                            const grouping = []
5835                                            for (let i = 0; i < data?.length; i++) {
5836                                                if (data[i]) {
5837                                                    if (data[i]?.group) {
5838                                                        grouping.push(data[i].group)
5839                                                    }
5840                                                    const price = rupiah.format(data[i]?.rate)
5841                                                    let promo = '(Promo Free Delivery)'
5842                                                    if (data[i]?.name === 'Jakarta - PickUp ASHTA') {
5843                                                        promo = '(at SCBD, Ashta)'
5844                                                    } else if (data[i]?.name === 'Jakarta - PickUp ITC') {
5845                                                        promo = '(at Kuningan, ITC Kuningan)'
5846                                                    } else if (data[i]?.name === 'BSD - PickUp') {
5847                                                        promo = '(at Goldfinch Gading Serpong)'
5848                                                    } else if (data[i]?.name === 'Kota Lainnya') {
5849                                                        promo = ''
5850                                                    }
5851                                                    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>`)
5852                                                }
5853                                            }
5854
5855                                            const deliveryCity = document.getElementById("cities");
5856                                            if (deliveryCity) {
5857                                                deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
5858                                                if (!isIOS) {
5859                                                    $(deliveryCity).select2();
5860                                                }
5861                                            }
5862                                        }
5863
5864                                        async function renderZip(v, v2, v3) {
5865                                            const deliveryZip = document.getElementById("zip");
5866                                            if (v === '') {
5867                                                return
5868                                            }
5869                                            let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
5870                                            let zip = dataZip?.data?.z
5870ip
5871                                            console.log(zip)
5872                                            let htmlZip = []
5873                                            for (let i = 0; i < zip?.length; i++) {
5874                                                htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
5875                                            }
5876                                            deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
5877                                        }
5878
5879                                        renderDate()
5880                                        renderAddress()
5881
5882                                        let rupiah = new Intl.NumberFormat('id-ID', {
5883                                            style: 'currency',
5884                                            currency: 'IDR',
5885                                            maximumFractionDigits: 0,
5886                                            minimumFractionDigits: 0
5887                                        });
5888
5889                                        async function insertCard(data) {
5890                                            const response = await fetch(`${host}/api/card/new`, {
5891                                                method: "POST",
5892                                                headers: {
5893                                                    'Content-Type': 'application/json',
5894                                                },
5895                                                body: data
5896                                            })
5897                                            const result = await response.json()
5898                                            let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
5899                                            $("#greetingCard").attr("data-index", rowIndex)
5900                                            return result
5901                                        }
5902
5903                                        async function updateCard(data) {
5904                                            const rowIndex = $("#greetingCard").data("index")
5905                                            const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
5906                                                method: "PUT",
5907                                                headers: {
5908                                                    'Content-Type': 'application/json',
5909                                                },
5910                                                body: data
5911                                            })
5912                                            return response
5913                                        }
5914
5915                                        function bytesToSize(bytes) {
5916                                            var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
5917                                            for (var i = 0; i < sizes.length; i++) {
5918                                                if (bytes <= 1024) {
5919                                                    return bytes + ' ' + sizes[i];
5920                                                } else {
5921                                                    bytes = parseFloat(bytes / 1024).toFixed(2)
5922                                                }
5923                                            }
5924                                            return bytes + ' P';
5925                                        }
5926
5927                                        async function uploadMedia(uri, type) {
5928                                            nameq = $("#properties-nama-penerima").val()
5929                                            dear = $("#properties-kartu-nama-penerima").val()
5930                                            card = $("[data-properties=ucapan]").val()
5931                                            sender = $("#properties-kartu-nama-pengirim").val()
5932                                            photo = $("#properties-photo").val()
5933                                            video = $("#properties-video").val()
5934                                            status = "Product"
5935
5936                                            const name = qrID
5937                                            let formData = new FormData();
5938                                            formData.append("file", uri);
5939                                            const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
5940                                                method: "POST",
5941                                                body: formData
5942                                            })
5943                                            const result = await response.json();
5944                                            if (result) {
5945                                                const url = result.url
5946                                                if (type === 'image/jpeg') {
5947                                                    $("#properties-photo").val(url)
5948                                                    $(".preview-image").show()
5949                                                    $(".remove-image").show()
5950                                                    photo = url
5951                                                } else {
5952                                                    $("#properties-video").val(url)
5953                                                    $("#label-input-video span").text("Change File")
5954                                                    $(".case-qrcode-preview p").text("Scan here for a secret message")
5955                                                    $(".remove-media").show()
5956                                                    $("#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>`)
5957                                                    $("[for=input-video]").hide()
5958                                                    video = url
5959                                                }
5960                                                $(".case-video-preview").show()
5961                                                $(".steps-card-preview").removeClass("loading")
5962                                                // updateCard(nameq, dear, card, sender, photo, video, status)
5963
5964                                                $(".nextBtn").attr("disabled", false)
5965                                            }
5966                                        }
5967
5968                                        function randomString(length, chars) {
5969                                            var result = '';
5970                                            for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
5971                                            return result;
5972                                        }
5973
5974                                        function getNoteCity(fulldate) {
5975                                            const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
5976                                            const weekday = ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"];
5977                                            const monthly = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
5978                                            const d = new Date(h_1);
5979                                            const day = weekday[d.getDay()];
5980                                            const dt = d.getDate();
5981                                            const mt = monthly[d.getMonth()];
5982                                            const yr = d.getFullYear();
5983                                            const p = $("#cities").parent(".form-group")
5984                                        }
5985
5986                                        function disabledSameDay() {
5987                                            let btnFirst = $("#deliveryDate").find("button:first-child")
5988                                            let getDay = new Date().getDay();
5989
5990
5991
5992                                            if (getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5) {
5993                                                if (hour >= 14.00) {
5994                                                    btnFirst.attr("disabled", true)
5995                                                }
5996                                            } else if (getDay == 6) {
5997                                                if (hour >= 16.00) {
5998                                                    btnFirst.attr("disabled", true)
5999                                                }
6000                                            } else if (getDay == 0) {
6001                                                if (hour >= 16.00) {
6002                                                    btnFirst.attr("disabled", true)
6003                                                }
6004                                            }
6005
6006
6007                                        }
6008
6009                                        function disabledays(date) {
6010                                            let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
6011                                            //if u have to disable a list of day
6012                                            let removeDays
6013
6014
6015
6016                                            removeDays = ["2025-2-13", "2025-2-14"];
6017
6018                                            if ($.inArray(ymd, removeDays) >= 0) {
6019                                                return [false];
6020                                            } else {
6021                                                let day = date.getDay();
6022                                                if (day == 0 && date.getDate() == 13 && date.getMonth() == 1) {
6023                                                    return [(day == 0), ''];
6024                                                }
6025
6026                                                if (day == 0) {
6027                                                    return [(day == 0), ''];
6028                                                }
6029
6030
6031                                                return [(day != 0), ''];
6032                                            }
6033                                        }
6034
6035                                        /* Indonesian initialisation for the jQuery UI date picker plugin. */
6036                                        /* Written by Deden Fathurahman ([email protected]). */
6037                                        (function (factory) {
6038                                            if (typeof define === "function" && define.amd) {
6039
6040                                                // AMD. Register as an anonymous module.
6041                                                define(["../widgets/datepicker"], factory);
6042                                            } else {
6043
6044                                                // Browser globals
6045                                                factory(jQuery.datepicker);
6046                                            }
6047                                        }(function (datepicker) {
6048
6049                                            datepicker.regional.id = {
6050                                                closeText: "Tutup",
6051                                                prevText: "&#x3C;mundur",
6052                                                nextText: "maju&#x3E;",
6053                                                currentText: "Today",
6054                                                monthNames: ["January", "February", "March", "April", "May", "Juny",
6055                                                    "July", "August", "September", "October", "
6055November", "December"],
6056                                                monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
6057                                                    "Jul", "Agu", "Sep", "Oct", "Nov", "Dec"],
6058                                                dayNames: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"],
6059                                                dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
6060                                                dayNamesMin: ["Mg", "Sn", "Sl", "Rb", "Km", "jm", "Sb"],
6061                                                weekHeader: "Mg",
6062                                                dateFormat: "D, dd M",
6063                                                firstDay: 0,
6064                                                isRTL: false,
6065                                                showMonthAfterYear: false,
6066                                                yearSuffix: ""
6067                                            };
6068                                            datepicker.setDefaults(datepicker.regional.id);
6069
6070                                            return datepicker.regional.id;
6071
6072                                        }));
6073
6074                                        function loadPopup() {
6075                                            $("#backgroundPopup").fadeIn("slow");
6076                                            $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
6077                                            const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
6078                                            if (firstSection.hasClass("purchasePersonalize")) {
6079                                                if (productType !== '') {
6080                                                    console.log("clarity event " + productType + ' personalize')
6081                                                    window.clarity("event", `${productType} cardPersonalization`)
6082                                                    // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
6083                                                }
6084                                            } else if (firstSection.hasClass("sectionPurchaseBoard")) {
6085                                                console.log("clarity event " + productType + ' personalizeBoard')
6086                                                window.clarity("event", `${productType} personalizeBoard`)
6087                                                // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
6088                                            }
6089                                            firstSection.removeClass("hide")
6090
6091                                            // Auto-trigger addon loading when addon section becomes visible
6092                                            setTimeout(function () {
6093                                                const addonSection = $(".purchaseAddon")
6094                                                if (addonSection.length > 0 && !addonSection.hasClass("hide")) {
6095                                                    if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
6096                                                        $("[data-addon=upsell-all]").trigger("click")
6097                                                    }
6098                                                }
6099                                            }, 200)
6100                                        }
6101
6102                                        function disablePopup() {
6103                                            $("#backgroundPopup").fadeOut("slow");
6104                                            $(".purchasePopup").fadeOut("slow");
6105                                            $("#popupCart").fadeOut("slow");
6106                                        }
6107
6108                                        function scrollTo(parent, div, dur) {
6109                                            $(parent).animate({
6110                                                scrollTop: $(div).offset().top
6111                                            }, dur);
6112                                        }
6113
6114                                        function loadPopupPersonalize() {
6115                                            const div = "#purchaseProduct"
6116                                            const p = "html, body, .product-meta"
6117                                            $("p.error").remove()
6118                                            loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
6119                                            const isCity = $("#cities[required]")
6120                                            const isDate = $("#propDeliveryDate[required]")
6121                                            const isTime = $("#propDeliveryTime[required]")
6122                                            // loadPopup()
6123                                            if (isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
6124                                                loadPopup()
6125                                            }
6126                                            if (isCity.val() == '') {
6127                                                isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
6128                                                scrollTo(p, div, 500)
6129                                            }
6130                                            if (isDate.val() == '') {
6131                                                isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
6132                                                scrollTo(p, div, 500)
6133                                            }
6134                                            if (isTime.val() == '') {
6135                                                isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
6136                                                scrollTo(p, div, 500)
6137                                            }
6138                                        }
6139
6140                                        function quantityCounter() {
6141                                            $(document).on("click", ".item-card.selected .q_up", function () {
6142                                                var C = $(this).attr("data-id"),
6143                                                    S =
6144                                                        parseInt(
6145                                                            $(this)
6146                                                                .siblings(".quantity-cart-" + C)
6147                                                                .val()
6148                                                        ) + 1;
6149                                                $(this).attr("data-quantity", S),
6150                                                    $(this)
6151                                                        .siblings(".quantity-cart-" + C)
6152                                                        .val(S);
6153                                            }),
6154                                                $(document).on("click", ".item-card.selected .q_down", function () {
6155                                                    var C = $(this).attr("data-id"),
6156                                                        S = parseInt(
6157                                                            $(this)
6158                                                                .siblings(".quantity-cart-" + C)
6159                                                                .val()
6160                                                        );
6161                                                    0 < S && $(this).attr("data-quantity", S - 1),
6162                                                        0 < S &&
6163                                                        $(this)
6164                                                            .siblings(".quantity-cart-" + C)
6165                                                            .val(S - 1);
6166                                                });
6167                                        }
6168
6169                                        quantityCounter()
6170
6171                                        const itemAddon = $(".item-card").length
6172                                        const nofree = $(".nofree").length
6173
6174                                        const upsell = ''
6175
6176                                        if (nofree === itemAddon) {
6177                                            // $("#itemAddons").html("<p>No Items available</p>")
6178                                        }
6179
6180                                        $("#itemAddons .item-card").each(function (e) {
6181                                            $("#itemAddons").attr("data-length", e)
6182                                        })
6183
6184                                        $("[data-addon]").click(function () {
6185
6186
6187
6188                                            const t = $(this)
6189
6190                                            const data = t.data("addon")
6191
6192                                            $("[data-addon]").removeClass("selected")
6193                                            t.addClass("selected")
6194                                            $.get(`https://outerbloom.com/collections/${data}/products.json`, function (data, status) {
6195                                                const products = data.products
6196                                                const html = []
6197                                                for (let i = 0; i < products.length; i++) {
6198                                                    const id = products[i].id
6199                                                    const variantId = products[i].variants[0].id
6200                                                    const img = products[i].images[0].src
6201                                                    let img2 = img.split('.jpg')[0]
6202                                                    const title = products[i].title
6203                                                    const price = products[i].variants[0].price
6204                                                    const tags = products[i].tags
6205                                                    const qty = products[i].variants[0].available
6206                                                    let type_upsell = ''
6207                                                    if (tags.includes('upsell-item-standing')) {
6208                                                        type_upsell = 'standing'
6209                                                    }
6210                                                    console.log(type_upsell)
6211                                                    if (type_upsell !== '') {
6212                                                        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}">
6213                       
6214                           <div class="card-image">
6215                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
6216                           </div>
6217                           <div class="card-meta">
6218                               <h5>${title}</h5>
6219                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
6220                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
6221                           </div>
6222                           <div class="card-qty">
6223                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>  
6224                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity">
6225                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
6226 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
6227 </svg></a>   
6228                           </div>
6229                       </div>`
6230                                                        html.push(body)
6231                                                    }
6232                                                }
6233                                                $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
6234                                                $("#itemAddons").attr("data-length", products.length)
6235                                                // $('#itemAddons')[0].swiper.update();
6236                                            });
6237                                        })
6238
6239                                        async function isAddon() {
6240                                            let ids = []
6241                                            $("#itemAddons .item-card.selected").each(function (i, e) {
6242                                                const id = $(this).data("id")
6243                                                ids.push(id)
6244                                            })
6245                                            console.log(ids)
6246                                            return ids
6247                                        }
6248
6249                                        $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function () {
6250                                            const t = $(this).parent()
6251                                            const id = t.data("id")
6252                                            const btn = t.parents(".purchaseAddon").find(".next-purchase-button")
6253                                            t.toggleClass("selected");
6254                                            //$(this).next("input").toggleAttr('name', 'id[]');
6255                                            if (t.hasClass('selected')) {
6256                                                t.find("input").val(1)
6257                                                t.find("input").attr('name', 'id[]');
6258                                            } else {
6259                                                t.find("input").val(0)
6260                                                t.find("input").removeAttr('name');
6261                                            }
6262                                            $("#properties-addons").val(addons)
6263                                            const is = await isAddon()
6264                                            if (is.length === 0) {
6265                                                btn.text("continue without add-ons")
6266                                                return
6267                                            }
6268                                            if (is.includes(8835692069079)) {
6269                                                btn.text("personalize acrylic frame")
6270                                            } else {
6271                                                btn.text("Continue")
6272                                            }
6273
6274                                        })
6275
6276                                        async function myAddon(data) {
6277                                            const c = $(".addonsPurchase .addons")
6278                                            let items = []
6279
6280                                            const spotifyAddons = $(".spotifyAddons").find("[data-index]")
6281                                            // if(spotifyAddons.length > 0) {
6282                                            //   $(spotifyAddons).each(function(i, e){
6283                                            //     const spotifyLink = $(this).find(".spotifyLink").val()
6284                                            //     const spotifySong = $(this).find(".spotifySong").val()
6285                                            //     const spotifyArtist = $(this).find(".spotifyArtist").val()
6286                                            //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
6287                                            //     if(spotifyLink !== '') {
6288                                            //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
6289                                            //         <div class="addon-itm-img">
6290                                            //           <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"/>
6291                                            //         </div>
6292                                            //         <div class="addon-itm-title">
6293                                            //           <span>[US] Outerbloom Acrylic Frame 4R</span>
6294                                            //         </div>
6295                                            //         <div class="addon-itm-line-total">
6296                                            //           <span>Rp 99.000</span>
6297                                            //         </div>
6298                                            //       </div>
6299                                            //       <div class="propsAddonSpotify row m-0">
6300                                            //         <div class="col-12 col-lg-2"></div>
6301                                            //           <div class="col-12 col-lg-10">
6302                                            //             <p>
6303                                            //               <span>spotify link</span>
6304                                            //               <span class="spotifyLinkAddon">${spotifyLink}</span>
6305                                            //             </p>
6306                                            //             <p>
6307                                            //               <span>uploaded photo</span>
6308                                            //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
6309                                            //             </p>
6310                                            //             <p>
6311                                            //               <span>song / playlist name</span>
6312                                            //               <span class="spotifySongAddon">${spotifySong}</span>
6313                                            //             </p>
6314                                            //             <p>
6315                                            //               <span>artist name</span>
6316                                            //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
6317                                            //             </p>
6318                                            //           </div>
6319                                            //       </div>`
6320                                            //       items.push(spotifyAddon)
6321                                            //     }
6322                                            //   })
6323                                            // }
6324                                            for (let i = 0; i < data.length; i++) {
6325                                                if (data[i].title !== '[US] Outerbloom Acrylic Frame 4R') {
6326                                                    const img = data[i].image
6327                                                    const title = data[i].title
6328                                                    const qty = data[i].qty
6329                                                    const price = data[i].price
6330                                                    const total = Number(qty) * Number(price)
6331                                                    let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
6332               <div class="addon-itm-img">
6333                 <img src="${img}" alt="" width="70"/>
6334               </div>
6335               <div class="addon-itm-title">
6336                 <span>${title}</span>
6337               </div>
6338               <div class="addon-itm-line-price">
6339                 <span>${rupiah.format(price)}</span>
6340                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
6341               </div>
6342               <div class="addon-itm-line-total">
6343                 <span>${rupiah.format(total)}</span>
6344               </div>
6345             </div>`
6346                                                    items.push(addons)
6347                                                }
6348                                            }
6349                                            c.html(items)
6350                                            const parent = $(".purchaseAddon")
6351                                            const next = parent.next(".sectionPurchase")
6352                                            parent.addClass("hide")
6353                                            next.removeClass("hide")
6354                                            // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
6355                                            // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
6356                                        }
6357
6358                                        async function listAddon() {
6359                                            const data = $("#itemAddons").find(".selected")
6360                                            let ids = []
6361                                            $(data).each(function () {
6362                                                const id = $(this).data("variant")
6363                                                const image = $(this).find(".card-image img").attr("src")
6364                                                const title = $(this).find(".card-meta h5").text()
6365                                                const qty = $(this).find(".card-qty input").val()
6366                                                const price = $(this).find(".card-qty input").data("price")
6367                                                ids.push({
6368                                                    id: Number(id),
6369                                                    image,
6370                                                    title,
6371                                                    qty,
6372                                                    price
6373                                                })
6374                                            })
6375                                            myAddon(ids)
6376                                        }
6377
6378                                        async function customSpotify(idx, length, type) {
6379                                            let isCard = false
6380
6381                                            let p = $(".purchasePopupSpotify")
6382                                            const preLink = $(".spotifyLinkFirst").val()
6383                                            $("[data-index]").hide()
6384                                            p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
6385                                            p.find(".regulerAddons, .purchase-button").hide()
6386                                            p.find(".spotifyAddons").show()
6387
6388                                            const data = await trackUrl(preLink)
6389
6390                                            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://belajarpsikologi.com/assets/img/logo-agam99.png" width="13" height="11" viewB
6390ox="0 0 13 11" fill="none">
6391 <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"/>
6392 </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://belajarpsikologi.com/assets/img/logo-agam99.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="13" height="11" viewB
6392ox="0 0 13 11" fill="none">
6393 <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"/>
6394 </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>`
6395                                            // console.log(html)
6396
6397                                            $(".spotifyAddons").append(html)
6398
6399                                            $(`[data-index=${idx}]`).show()
6400
6401                                            if (preLink !== '') {
6402                                                $(".btn-action .btn").attr("disabled", false)
6403                                            } else {
6404                                                $(".btn-action .btn").attr("disabled", true)
6405                                            }
6406
6407                                            return html
6408
6409                                        }
6410
6411                                        $(".spotifyLinkFirst").keyup(async function () {
6412                                            const v = $(this).val()
6413                                            if (v.includes('spotify:user:spotify')) {
6414                                                const correct = v.split('user:spotify:')[1]
6415                                                console.log(correct, 'BNER')
6416                                                $(this).val(correct)
6417                                                return
6418                                            }
6419                                            if (v.includes("spotify:") || v.includes("https://open.spotify.com/")) {
6420                                                const data = await trackUrl(v)
6421                                                if (!data || !data.status) {
6422                                                    $(this).parent().addClass("error")
6423                                                    // $(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>`)
6424                                                    $("#personalizeBtnSpotify .btn").attr("disabled", true)
6425                                                    return
6426                                                }
6427                                                $(this).parent().removeClass("error")
6428                                                // $(this).parent().remove("txt-error")
6429                                                $("#personalizeBtnSpotify .btn").attr("disabled", false)
6430                                            } else {
6431                                                $("#personalizeBtnSpotify .btn").attr("disabled", true)
6432                                            }
6433                                        })
6434
6435                                        $(".purchaseAddon").delegate(".next-addon", "click", function () {
6436                                            const parent = $(this).parents(".purchaseAddon")
6437                                            const next = parent.next(".sectionPurchase")
6438                                            if (next.hasClass("purchaseAddress")) {
6439                                                if (productType !== '') {
6440                                                    console.log("clarity event " + productType + ' purchaseDelivery')
6441                                                    window.clarity("event", `${productType} purchaseDelivery`)
6442                                                    // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
6443                                                }
6444                                            }
6445                                            const data = $("#itemAddons").find(".selected")
6446                                            const length = $(".quantity-cart-46067682607319").val()
6447                                            const checked = data.length;
6448                                            if (checked > 0) {
6449                                                if (length > 0) {
6450                                                    $(".purchaseAddon").addClass("purchaseAddonSpotify")
6451                                                    customSpotify(1, length, 'addon')
6452                                                } else {
6453                                                    listAddon()
6454                                                }
6455                                            } else {
6456                                                parent.addClass("hide")
6457                                                next.removeClass("hide")
6458                                            }
6459                                        })
6460
6461                                        $("#personalizeBtnSpotify .btn").click(async function () {
6462                                            const isCity = $("#cities[required]")
6463                                            const isDate = $("#propDeliveryDate[required]")
6464                                            if ((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
6465                                                alert('Please choose Delivery City & Delivery Date')
6466                                                return
6467                                            }
6468                                            const data = await customSpotify(1, 1, 'product')
6469                                            if (data) {
6470                                                $("#backgroundPopup").fadeIn("slow");
6471                                                $(".purchasePopupSpotify").fadeIn("slow");
6472
6473                                                if (productType !== '') {
6474                                                    console.log("clarity event " + productType + ' spotify')
6475                                                    window.clarity("event", `${productType} spotify`)
6476                                                    // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
6477                                                }
6478                                            }
6479                                        })
6480
6481                                        function formatBytes(bytes, decimals = 2) {
6482                                            if (!+bytes) return '0 Bytes'
6483
6484                                            const k = 1024
6485                                            const dm = decimals < 0 ? 0 : decimals
6486                                            const sizes = ['B', 'KB', 'MB']
6487
6488                                            const i = Math.floor(Math.log(bytes) / Math.log(k))
6489
6490                                            return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
6491                                        }
6492
6493                                        async function trackUrl(link) {
6494                                            try {
6495                                                let trackId = link.split('/').pop().split('?')[0];
6496                                                let type = ''
6497                                                if (link.includes("spotify:")) {
6498                                                    const uri = link.split('spotify:')[1]
6499                                                    trackId = uri.split(':')[1]
6500                                                    type = uri.split(':')[0] + 's'
6501                                                } else {
6502                                                    if (link.match('track')) {
6503                                                        type = 'tracks'
6504                                                    } else if (link.match('playlist')) {
6505                                                        type = 'playlists'
6506                                                    } else if (link.match('artist')) {
6507                                                        type = 'artists'
6508                                                    } else if (link.match('album')) {
6509                                                        type = 'albums'
6510                                                    }
6511                                                }
6512                                                console.log(`${host}/api/spotify/${type}/${trackId}`)
6513                                                const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
6514                                                console.log(data, 'DATA')
6515                                                const song = data?.data?.name
6516                                                const artist = data?.data?.artist
6517                                                return {
6518                                                    song, artist, type, trackId, status: data.status
6519                                                }
6520                                            } catch (err) {
6521                                                console.log(err)
6522                                            }
6523                                        }
6524
6525                                        $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function () {
6526                                            const parent = $(this).parents("[data-index]")
6527                                            const preview = parent.find(".previewImage")
6528                                            const file = $(this)[0].files[0];
6529                                            if (file) {
6530                                                const reader = new FileReader();
6531                                                reader.onload = async function (e) {
6532                                                    parent.find(".uploadResult label").hide()
6533                                                    parent.find(".uploadedResult").remove()
6534                                                    parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
6535           <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>
6536           <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;">
6536<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
6537   <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 />
6538 </svg>
6539 </span></div></div>`)
6540                                                    parent.find(".frameImageUploaded svg").hide()
6541                                                    parent.find(".frameImage").addClass("uploaded")
6542                                                    preview.attr("src", e.target.result);
6543                                                    preview.show();
6544                                                    let formData = new FormData();
6545                                                    formData.append("file", file);
6546                                                    const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
6547                                                        method: "POST",
6548                                                        body: formData
6549                                                    })
6550                                                    const result = await response.json();
6551                                                    if (result) {
6552                                                        parent.find(".resultPhotoSpotify").val(result.url)
6553                                                    }
6554                                                }
6555
6556                                                reader.readAsDataURL(file);
6557                                            } else {
6558                                                preview.hide();
6559                                            }
6560                                        });
6561
6562                                        $(".spotifyAddons").delegate(".uploadResult", "click", function () {
6563                                            $(this).next("input[type=file]").trigger("click")
6564                                        })
6565
6566                                        $(".spotifyAddons").delegate(".changeUpload", "click", function () {
6567                                            $(this).parents("input[type=file]").trigger("click")
6568                                        })
6569
6570                                        $(".spotifyAddons").delegate(".removeUpload", "click", function () {
6571                                            const parent = $(this).parents("[data-index]")
6572                                            parent.find(".uploadPhotoSpotify").val("")
6573                                            parent.find(".uploadResult label").show()
6574                                            parent.find(".uploadedResult").remove()
6575                                            parent.find(".frameImageUploaded svg").show()
6576                                            parent.find(".previewImage").hide()
6577                                            parent.find(".frameImage").removeClass("uploaded")
6578                                        })
6579
6580                                        $(".spotifyAddons").delegate("label.checkbox", "click", function () {
6581                                            const parent = $(this).parents("[data-index]")
6582                                            parent.toggleClass("checked")
6583                                        })
6584
6585                                        $(".spotifyAddons").delegate(".
6585spotifyLink", "change", async function () {
6586                                            const parent = $(this).parents("[data-index]")
6587                                            const link = $(this).val()
6588                                            const data = await trackUrl(link)
6589
6590                                            console.log(data)
6591
6592                                            if (data.song) {
6593                                                parent.find(".spotifySong").val(data.song)
6594                                                parent.find(".spotifyData").find("h3").text(data.song)
6595                                            }
6596                                            if (data.artist) {
6597                                                parent.find(".spotifyArtist").val(data.artist)
6598                                                parent.find(".spotifyData").find("p").text(data.artist)
6599                                            }
6600                                            parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
6601                                            // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
6602                                            if (data.status === true) {
6603                                                parent.find(".btn-action .btn").attr("disabled", false)
6604                                            } else {
6605                                                parent.find(".btn-action .btn").attr("disabled", true)
6606                                            }
6607                                        })
6608
6609                                        $(".spotifyAddons").delegate(".spotifySong", "keyup", async function () {
6610                                            const parent = $(this).parents("[data-index]")
6611                                            const v = $(this).val()
6612                                            parent.find(".spotifyData h3").text(v)
6613                                        })
6614
6615                                        $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function () {
6616                                            const parent = $(this).parents("[data-index]")
6617                                            const v = $(this).val()
6618                                            parent.find(".spotifyData p").text(v)
6619                                        })
6620
6621                                        $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function () {
6622                                            const parent = $(this).parents("[data-index]")
6623                                            const length = parent.data("length")
6624                                            const index = parent.data("index")
6625                                            const indexNext = Number(index) + 1
6626                                            customSpotify(indexNext, length, 'addon')
6627                                        })
6628
6629
6630                                        $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function () {
6631                                            const parent = $(this).parents(".purchaseAddon")
6632                                            const next = parent.next(".sectionPurchase")
6633                                            parent.addClass("hide")
6634                                            next.removeClass("hide")
6635                                            next.find(".purchase-button").show()
6636                                            listAddon()
6637                                        })
6638
6639                                        $(".spotifyAddons").delegate(".back-spotify", "click", async function () {
6640                                            const t = $(this).parents("[data-index]")
6641                                            const parent = $(this).parents(".sectionPurchase")
6642                                            const current = t.data("index")
6643                                            const prevCurrent = Number(current) - 1
6644                                            if (current == 1) {
6645                                                parent.removeClass("purchaseAddonSpotify")
6646                                                parent.find(".purchase-button").show()
6647                                                parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
6648                                                $(".spotifyAddons").empty()
6649                                                $(".regulerAddons").show()
6650                                                return
6651                                            }
6652                                            t.hide()
6653                                            t.prev("[data-index]").show()
6654                                            t.remove()
6655                                            parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
6656                                        })
6657
6658                                        $("#personalizeBtn .btn").click(async function () {
6659                                            loadPopupPersonalize()
6660                                        });
6661
6662                                        $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function () {
6663                                            $(".sectionPurchaseSpotify").hide()
6664                                            loadPopupPersonalize()
6665                                        })
6666
6667                                        $(".close-purchase-popup").click(function () {
6668                                            disablePopup();
6669                                        });
6670                                        $("#backgroundPopup").click(function () {
6671                                            // disablePopup();
6672                                        });
6673
6674                                        $("#popupCart .close-purchase-popup").click(function () {
6675                                            location.reload()
6676                                        });
6677
6678                                        $('#popupCart').on('hide.bs.modal', function (e) {
6679                                            location.reload()
6680                                        })
6681
6682                                        $(".next-card").click(function () {
6683                                            const parent = $(this).parents(".sectionPurchase")
6684                                            const next = parent.next(".sectionPurchase")
6685                                            parent.addClass("hide")
6686                                            next.removeClass("hide")
6687                                        })
6688
6689                                        $(".back-purchase-button").click(function () {
6690                                            const parent = $(this).parents(".sectionPurchase")
6691                                            const prev = parent.prev(".sectionPurchase")
6692                                            parent.addClass("hide")
6693                                            prev.removeClass("hide")
6694                                        })
6695
6696                                        $(document).keypress(function (e) {
6697                                            if (e.keyCode == 27 && popupStatus == 1) {
6698                                                disablePopup();
6699                                            }
6700                                        });
6701
6702                                        const parentImg = $(".case-img-preview")
6703                                        const parentVid = $(".case-video-preview")
6704
6705                                        function readURL(input) {
6706                                            if (input.files && input.files[0]) {
6707                                                let reader = new FileReader();
6708
6709                                                let type = 'image/jpeg'
6710                                                const size = input.files[0].size
6711                                                if (input.files[0].type.match('video/')) {
6712                                                    type = 'video/mp4'
6713                                                    if (size > 15728640) {
6714                                                        alert('File size exceeds maximum limit 15 MB')
6715                                                        return
6716                                                    }
6717                                                } else {
6718                                                    if (size > 5242880) {
6719                                                        alert('File size exceeds maximum limit 5 MB')
6720                                                        return
6721                                                    }
6722                                                }
6723
6724                                                reader.onload = function (e) {
6725                                                    $(".nextBtn").attr("disabled", true)
6726                                                    if (type === 'image/jpeg') {
6727
6728                                                        $('.placeholder-image').hide();
6729                                                        $('.preview-image').show()
6730                                                        $('.preview-image').attr('src', e.target.result);
6731
6732                                                    } else {
6733                                                        // parentVid.find(".ajax-loader").show();
6734                                                        $(".steps-card-preview").addClass("loading")
6735                                                    }
6736                                                }
6737
6738
6739
6740                                                reader.readAsDataURL(input.files[0]);
6741                                            }
6742                                        }
6743
6744                                        async function readURLPapan(input) {
6745                                            if (input.files && input.files[0]) {
6746                                                let reader = new FileReader();
6747
6748                                                reader.onload = function (e) {
6749                                                    $('.btn-upload-papan').siblings('label').hide();
6750                                                    $('.btn-upload-papan img').attr('src', e.target.result);
6751                                                    $('.btn-upload-papan img').show();
6752                                                    $('.svgLogoPapan').hide();
6753                                                }
6754
6755                                                const type = 'image/jpeg'
6756                                                const name = `logo-9233866700552-${Date.parse(new Date())}`
6757
6758                                                let formData = new FormData();
6759                                                formData.append("file", input.files[0]);
6760                                                const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
6761                                                    method: "POST",
6762                                                    body: formData
6763                                                })
6764                                                const result = await response.json();
6765                                                if (result) {
6766                                                    const url = result.url
6767                                                    $("[data-properties=papan-logo]").val(url)
6768                                                }
6769
6770                                                reader.readAsDataURL(input.files[0]);
6771                                            }
6772                                        }
6773
6774                                        async function readURLAddress(input) {
6775                                            console.log(input, 'readURLAddress')
6776                                            if (input.files && input.files[0]) {
6777                                                let reader = new FileReader();
6778
6779                                                reader.onload = function (e) {
6780                                                    $('.photo-address').attr('src', e.target.result);
6781                                                    $('.photo-address').show();
6782                                                }
6783
6784                                                const type = 'image/jpeg'
6785                                                const name = input.files[0].name?.split('.')[0]
6786
6787                                                let formData = new FormData();
6788                                                formData.append("file", input.files[0]);
6789                                                const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
6790                                                    method: "POST",
6791                                                    body: formData
6792                                                })
6793                                                const result = await response.json();
6794
6795                                                reader.readAsDataURL(input.files[0]);
6796
6797                                                return result
6798                                            }
6799                                        }
6800
6801
6802
6803
6804                                        async function addToCartUang() {
6805                                            var productAddOnId1 = 42122101162199;
6806                                            var productAddOnId2 = 42122101194967;
6807                                            var product_id = 9233866700552
6808                                            const data = {
6809                                                items: [
6810                                                    {
6811                                                        quantity: $("#Quantity-" + productAddOnId1).val(),
6812                                                        id: productAddOnId1,
6813                                                        "properties": { "Time": $("#properties-time").val() }
6814                                                    },
6815                                                    {
6816                                                        quantity: $("#Quantity-" + productAddOnId2).val(),
6817                                                        id: productAddOnId2,
6818                                                        "properties": { "Time": $("#properties-time").val() }
6819                                                    }
6820                                                ]
6821                                            }
6822                                            await fetch(window.Shopify.routes.root + 'cart/add.js', {
6823                                                method: 'POST',
6824                                                headers: {
6825                                                    'Content-Type': 'application/json'
6826                                                },
6827                                                body: JSON.stringify(data)
6828                                            })
6829                                                .then(response => {
6830                                                    console.error('Sukses Buket Uang:', response);
6831                                                    $(".form-flower").submit()
6832                                                })
6833                                                .catch((error) => {
6834                                                    console.error('Error Buket Uang:', error);
6835                                                    $(".form-flower").submit()
6836                                                });
6837                                        }
6838
6839                                        async function saveCard() {
6840                                            let isCard = true
6841                                            const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
6842                                            const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
6843                                            const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
6844                                            const foto = $("#properties-photo").val()
6845                                            const video = $("#properties-video").val()
6846                                            const data = JSON.stringify({
6847                                                "id": qrID,
6848                                                "penerima": $("#properties-nama-penerima").val(),
6849                                                "kartu_penerima": kartu_penerima,
6850                                                "kartu_ucapan": kartu_ucapan,
6851                                                "kartu_pengirim": kartu_pengirim,
6852                                                "foto": foto,
6853                                                "video": video,
6854                                                "productId": "9233866700552",
6855                                                "order_name": "",
6856                                                "status": "Cart"
6857                                            })
6858
6859
6860                                        }
6861
6862                                        async function additem(items) {
6863                                            try {
6864                                                let formData = items
6865                                                if (items?.length) {
6866                                                    formData = {
6867                                                        'items': items
6868                                                    };
6869                                                }
6870
6871                                                const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
6872                                                    method: 'POST',
6873                                                    headers: {
6874                                                        'Content-Type': 'application/json',
6875                                                        'X-Requested-With': 'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
6876                                                    },
6877                                                    body: JSON.stringify(formData)
6878                                                })
6879
6880                                                const data = await add.json();
6881                                                return data
6882                                            } catch (err) {
6883                                                console.log('Error additem', err)
6884                                            }
6885                                        }
6886
6887                                        async function addons() {
6888                                            let items = []
6889                                            $(".addon-item").each(function () {
6890                                                const p = $(this)
6891                                                const props = p.next(".propsAddonSpotify")
6892                                                const id = $(this).data("id")
6893                                                const quantity = $(this).data("qty")
6894                                                const propId = $("#properties-time").val()
6895                                                let properties = {}
6896                                                if (id === 46067682607319) {
6897                                                    const link = props.find(".spotifyLinkAddon").text()
6898                                                    const photo = props.find(".spotifyFotoAddon").text()
6899                                                    const song = props.find(".spotifySongAddon").text()
6900                                                    const artist = props.find(".spotifyArtistAddon").text()
6901                                                    properties = {
6902                                                        id: propId,
6903                                                        "Spotify Link": link !== '' ? link : '-',
6904                                                        "Spotify Photo": photo !== '' ? photo : '-',
6905                                                        "Spotify Song": song !== '' ? song : '-',
6906                                                        "Spotify Artist": artist !== '' ? artist : '-',
6907                                                        type: 'addon'
6908                                                    }
6909                                                } else {
6910                                                    properties = {
6911                                                        "id": propId,
6912                                                        "type": "addon"
6913                                                    }
6914                                                }
6915                                                items.push({
6916                                                    id,
6917                                                    quantity,
6918                                                    properties
6919                                                })
6920                                            })
6921                                            return items
6922                                        }
6923
6924                                        async function propItems() {
6925                                            let props = {}
6926                                            $("[data-properties]").each(function (e) {
6927                                                let elementType = this.tagName;
6928                                                const k = $(this).data("properties")
6929                                                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') {
6930                                                    const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
6931                                                    if (v !== '') {
6932                                                        props[k] = v?.replace(/[\s\n]/g, '');
6933                                                    }
6934                                                }
6935                                            })
6936                                            return props
6937                                        }
6938
6939                                        async function showPopupCart(items) {
6940                                            if (productType !== '') {
6941                                                console.log("clarity event " + productType + ' completeOrder')
6942                                                window.clarity("event", `${productType} completeOrder`)
6943                                                // window.clarity("set", productType, `completeOrder - ${productDate}`)
6944                                            }
6945                                            $("#popupCart").show()
6946
6947                                            $(".propDeliveryCity").text($("#cities").val())
6948                                            $(".propDeliveryDate").text($("#propDeliveryDate").val())
6949                                            $(".propDeliveryTime").text($("#propDeliveryTime").val())
6950                                            $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
6951                                            $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
6952                                            $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
6953                                            $(".propDeliveryProv").text($("#province").val())
6954                                            $(".propDeliveryZip").text($("#zip").val())
6955
6956
6957
6958                                            const addons = []
6959                                            if (items && items.length > 0) {
6960                                                for (let i = 1; i < items.length; i++) {
6961                                                    const spotifyLink = items[i].properties['Spotify Link']
6962                                                    const spotifyPhoto = items[i].properties['Spotify Photo']
6963                                                    const spotifySong = items[i].properties['Spotify Song']
6964                                                    const spotifyArtist = items[i].properties['Spotify Artist']
6965                                                    const price = items[i].price / 100
6966                                                    const props = spotifyLink ? `<div class="propsAddonCart row m-0">
6967                   <div class="col-12 col-lg-2"></div>
6968                   <div class="col-12 col-lg-10">
6969                     <p>
6970                       <span>spotify link</span>
6971                       <span>${spotifyLink}</span>
6972                     </p>
6973                     <p>
6974                       <span>Upload Photo</span>
6975                       <span>${spotifyPhoto}</span>
6976                     </p>
6977                     <p>
6978                       <span>song / playlist name</span>
6979                       <span>${spotifySong}</span>
6980                     </p>
6981                     <p>
6982                       <span>artist name</span>
6983                       <span>${spotifyArtist}</span>
6984                     </p>
6985                   </div>
6986                 </div>` : '';
6987                                                    addons.push(`<div class="row m-0">
6988                   <div class="imgAddonCart col-2">
6989                     <img
6990                       width="43"
6991                       src="${items[i].image}"
6992                       alt=""
6993                     >
6994                   </div>
6995                   <div class="imgAddonTitlePrice col-10 align-self-center">
6996                     <div class="row justify-content-between m-0">
6997                       <div class="col-12 col-lg-8">
6998                         <h5>${items[i].title}</h5>
6999                       </div>
7000                       <div class="col-12 col-lg-4 text-lg-right">
7001                         <span>${rupiah.format(price)}</span>
7002                       </div>
7003                     </div>
7004                   </div>
7005                 </div>${props}`)
7006                                                }
7007                                            }
7008                                            // console.log(addons)
7009                                            if (addons.length === 0) {
7010                                                $(".itemAddonCart").hide()
7011                                                return
7012                                            }
7013                                            $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
7014                                            $(".wrapperItemAddonCart").html(addons)
7015                                        }
7016
7017                                        const money = (money) => {
7018                                            return new Intl.NumberFormat('id-ID',
7019                                                { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
7020                                            ).format(money);
7021                                        }
7022
7023                                        async function showNoteMoney() {
7024                                            let qty50k = $("[data-properties='Uang 50k']").val()
7025                                            let qty100k = $("[data-properties='Uang 100k']").val()
7026                                            const total50k = Number(qty50k) * 50000
7027                                            const total100k = Number(qty100k) * 100000
7028                                            const total_all = total50k + total100k
7029                                            $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
7030                                            $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
7031                                            $(".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://belajarpsikologi.com/" target="_blank" style="text-decoration: underline; color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
7032                                        }
7033
7034                                        async function removeImage() {
7035                                            const data = JSON.stringify({
7036                                                "ID": $("#properties-properties-qrId").val(),
7037                                                "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(),
7038                                                "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(),
7039                                                "Kartu Ucapan": $("[data-properties=ucapan]").val(),
7040                                                "Nama Penerima": $("#properties-nama-penerima").val(),
7041                                                "Order Number": "",
7042                                                "Status": "Product",
7043                                                "Foto": "",
7044                                                "Media": $("#properties-video").val(),
7045                                                "Image": "9233866700552"
7046                                            })
7047                                            const remove = updateCard(data)
7048                                            if (remove) {
7049                                                $(this).hide()
7050                                                $("#properties-photo").val("-")
7051                                                $(".placeholder-image").show()
7052                                                $(".preview-image").attr("src", "")
7053                                            }
7054                                        }
7055
7056                                        async function removeVideo() {
7057                                            const data = JSON.stringify({
7058                                                "ID": $("#properties-properties-qrId").val(),
7059                                                "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(),
7060                                                "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(),
7061                                                "Kartu Ucapan": $("[data-properties=ucapan]").val(),
7062                                                "Nama Penerima": $("#properties-nama-penerima").val(),
7063                                                "Order Number": "",
7064                                                "Status": "Product",
7065                                                "Foto": $("#properties-photo").val(),
7066                                                "Media": "",
7067                                                "Image": "9233866700552"
7068                                            })
7069                                            const remove = updateCard(data)
7070                                            if (remove) {
7071                                                $("#properties-video").val("-")
7072                                                $(this).find("img").hide()
7073                                                $(this).hide()
7074                                                $(this).prev("p").text("Add video to make it more special (optional)")
7075                                                $("#label-input-video").show()
7076                                                $("#label-input-video span").text("Upload Video")
7077                                                $(".case-video-preview p span").remove()
7078                                            }
7079                                        }
7080
7081                                        async function loadItemOccasion(t, occasion) {
7082                                            const name = occasion?.replace('greeting-card-', '')
7083                                            $("#kartu-ucapan").val("")
7084                                            $("[data-occassion]").removeClass("selected")
7085                                            $("[data-properties=ucapan]").val("")
7086                                            $("#save-card").attr("disabled", true)
7087                                            t.addClass("selected")
7088                                            $("#show_note").attr("data-card-occassion", name)
7089                                            $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function (data, status) {
7090                                                const products = data.products
7091                                                const html = []
7092                                                for (let i = 0; i < products.length; i++) {
7093                                                    const id = products[i].id
7094                                                    const variantId = products[i].variants[0].id
7095                                                    const img = products[i].images[0].src
7096                                                    const title = products[i].title
7097                                                    const price = products[i].variants[0].price
7098                                                    const qty = products[i].variants[0].inventory_quantity
7099                                                    const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
7100                 <label for="card-${variantId}"></label>
7101                     <div class="card-image">
7102                         <img src="${img}" alt="${title}" width="" height="" />
7103                     </div>
7104                     <div class="card-meta text-center">
7105                         <h5>${title}</h5>
7106                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
7107                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
7108                     </div>
7109                 </div>`
7110                                                    html.push(body)
7111                                                }
7112                                                const withoutCard = `<div class="item-card item-without-card">
7113                 <label for="card-0"></label>
7114                     <div class="card-image">
7115                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
7116                     </div>
7117                     <div class="card-meta text-center">
7118                         <h5>
7118Send without a greeting card</h5>
7119                         <input id="card-0" type="radio" name="id" value="" data-price="">
7120                     </div>
7121                 </div>`
7122                                                $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
7123                                            });
7124                                        }
7125
7126                                        $(document).ready(function () {
7127
7128                                            // Observer to auto-trigger addon loading when addon section becomes visible
7129                                            const addonObserver = new MutationObserver(function (mutations) {
7130                                                mutations.forEach(function (mutation) {
7131                                                    const target = $(mutation.target)
7132                                                    if (target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
7133                                                        if (!target.hasClass('hide')) {
7134                                                            // Addon section just became visible, ensure items are loaded
7135                                                            setTimeout(function () {
7136                                                                if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
7137                                                                    console.log("Auto-triggering addon load...")
7138                                                                    $("[data-addon=upsell-all]").trigger("click")
7139                                                                }
7140                                                            }, 150)
7141                                                        }
7142                                                    }
7143                                                })
7144                                            })
7145
7146                                            // Start observing addon section
7147                                            const addonSection = document.querySelector('.purchaseAddon')
7148                                            if (addonSection) {
7149                                                addonObserver.observe(addonSection, {
7150                                                    attributes: true,
7151                                                    attributeFilter: ['class']
7152                                                })
7153                                            }
7154
7155                                            $(".purchasePopup").delegate("#addtocart-card", "click", async function () {
7156
7157                                                $(this).find("span").addClass("loading")
7158                                                let isValid = true
7159                                                $(".formAddressPurchase [required]").each(function () {
7160                                                    const t = $(this)
7161                                                    const input = t.val()
7162                                                    const p = t.parent()
7163                                                    if (input === '') {
7164                                                        p.addClass("error")
7165                                                        isValid = false
7166                                                    }
7167                                                })
7168
7169                                                if (!isValid) {
7170                                                    $(this).find("span").removeClass("loading")
7171                                                    return
7172                                                }
7173
7174                                                let items = []
7175                                                const mainProps = {
7176
7177                                                    "Delivery Date": $("#propDeliveryDate").val(),
7178                                                    "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-',
7179                                                    "Kota Pengiriman": $("#cities").val(),
7180                                                    "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-',
7181                                                    "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-',
7182                                                    "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-',
7183                                                    "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-',
7184
7185
7186                                                    "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-',
7187                                                    "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-',
7188                                                    "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-',
7189                                                    "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-',
7190                                                    "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-',
7191
7192
7193                                                    "Province": $("#province").val() !== '' ? $("#province").val() : '-',
7194                                                    "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-',
7195                                                    "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-',
7196                                                    "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-',
7197                                                    "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
7198                                                    "type": 'product'
7199                                                }
7200                                                const props = await propItems()
7201                                                properties = { ...mainProps, ...props };
7202                                                const id = $("#productSelect").find('option:selected').val()
7203                                                console.log(id, 'main ID')
7204                                                const mainItem = {
7205                                                    id: Number(id),
7206                                                    quantity: 1,
7207                                                    properties
7208                                                }
7209                                                items.push(mainItem)
7210                                                const cardId = $("#itemCards").find(".selected input").val()
7211                                                const cardItem = {
7212                                                    id: Number(cardId),
7213                                                    quantity: 1,
7214                                                    properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
7215                                                }
7216                                                console.log(cardId, 'cardId')
7217                                                if (cardId) {
7218                                                    items.push(cardItem)
7219                                                }
7220                                                const addon = await addons()
7221                                                if (addon) {
7222                                                    for (let i = 0;
7222 i < addon.length; i++) {
7223                                                        items.push({
7224                                                            id: addon[i].id,
7225                                                            quantity: addon[i].quantity,
7226                                                            properties: addon[i].properties
7227                                                        })
7228                                                    }
7229                                                }
7230                                                const addItems = await additem(items)
7231                                                console.log(addItems.items, 'add items')
7232                                                if (addItems) {
7233                                                    $(this).find("span").removeClass("loading")
7234                                                    disablePopup()
7235                                                    showPopupCart(addItems.items)
7236
7237                                                    localStorage.setItem("items", JSON.stringify(addItems.items))
7238                                                }
7239                                            })
7240
7241                                            $("#addtocart-cart .btn").click(async function () {
7242                                                const id = $("#productSelect").find('option:selected').val()
7243                                                const mainProps = {
7244                                                    id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
7245                                                    type: 'product'
7246                                                }
7247                                                const props = await propItems()
7248                                                const properties = { ...mainProps, ...props };
7249                                                const items = {
7250                                                    id: Number(id),
7251                                                    quantity: 1,
7252                                                    properties
7253                                                }
7254                                                const addItems = await additem(items)
7255                                                if (addItems) {
7256                                                    showPopupCart(addItems.items)
7257                                                    localStorage.setItem("items", JSON.stringify(addItems))
7258                                                }
7259                                            })
7260
7261                                            $(".formAddressPurchase [required]").change(function () {
7262                                                const t = $(this)
7263                                                const p = t.parent()
7264                                                const v = t.val()
7265                                                if (v !== '') {
7266                                                    p.removeClass("error")
7267                                                }
7268                                            })
7269
7270                                            $("#save-card").click(async function () {
7271                                                const parent = $(this).parents(".sectionPurchase")
7272                                                const next = parent.next(".sectionPurchase")
7273                                                $(this).find("span").addClass("loading")
7274                                                const card = await saveCard()
7275                                                console.log(card, 'ssaveCCC')
7276                                                if (card?.status === 200 || card?.status === 201) {
7277                                                    $(".scanCard").removeClass("hide")
7278                                                    $(this).find("span").removeClass("loading")
7279                                                    parent.addClass("hide")
7280                                                    next.removeClass("hide")
7281                                                    if (next.hasClass("purchaseAddon")) {
7282                                                        $("[data-addon=upsell-all]").click()
7283                                                        console.log("clarity event addons")
7284                                                        window.clarity("event", `${productType} add-ons`)
7285                                                        // Ensure addon items are loaded when entering addon popup
7286                                                        setTimeout(function () {
7287                                                            if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
7288                                                                $("[data-addon=upsell-all]").trigger("click")
7289                                                            }
7290                                                        }, 100)
7291                                                    }
7292                                                    if (next.hasClass("purchaseAddress")) {
7293                                                        $("#zip").select2()
7294                                                    }
7295                                                }
7296                                            })
7297
7298                                            $("#skip-card").click(async function () {
7299                                                $("#greetingCard [data-properties]").val("")
7300                                                $("#properties-photo").val("")
7301                                                $("#properties-video").val("")
7302                                                const parent = $(this).parents(".sectionPurchase")
7303                                                const next = parent.next(".sectionPurchase")
7304                                                parent.addClass("hide")
7305                                                next.removeClass("hide")
7306                                                // $("#itemCards").html("")
7307                                                removeImage()
7308                                                removeVideo()
7309                                                if (next.hasClass("purchaseAddon")) {
7310                                                    $("[data-addon='upsell-all']").click()
7311                                                    console.log("clarity event addons")
7312                                                    window.clarity("event", `${productType} add-ons`)
7313                                                    // Ensure addon items are loaded when entering addon popup
7314                                                    setTimeout(function () {
7315                                                        if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
7316                                                            $("[data-addon='upsell-all']").trigger("click")
7317                                                        }
7318                                                    }, 100)
7319                                                }
7320                                                if (next.hasClass("purchaseAddress")) {
7321                                                    $("#zip").select2()
7322                                                }
7323                                            })
7324
7325                                            $("#msgCard").click(async function () {
7326                                                $(this).parent().addClass("loading")
7327                                                let occasion = $(".selected[data-occassion]").data("occassion")
7328                                                occasion = occasion?.replace("greeting-card-", "")
7329                                                const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
7330                                                const d = data?.data
7331                                                for (let i = 0; i < d.length; i++) {
7332                                                    const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
7333                                                    const greeting = d[num]?.Greeting
7334                                                    $(".greetingCard textarea").val(greeting)
7335                                                    $(this).parent().removeClass("loading")
7336                                                }
7337                                                $("#save-card").attr("disabled", false)
7338                                            })
7339
7340                                            $(".sectionPurchaseBoard .next-purchase-button").click(function () {
7341                                                const parent = $(this).parents(".sectionPurchase")
7342                                                const next = parent.next(".sectionPurchase")
7343                                                parent.addClass("hide")
7344                                                next.removeClass("hide")
7345                                            })
7346
7347                                            $("#editCard").click(function () {
7348                                                $(".custom-card").show()
7349                                                $(".preview-card").hide()
7350                                            })
7351
7352                                            $("#first_name, #last_name").change(function () {
7353                                                const v = $(this).val()
7354                                                const first_name = $("#first_name").val()
7355                                                const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
7356                                                $("[data-properties=nama-penerima]").val(first_name + last_name)
7357                                            })
7358
7359                                            $("[data-occassion]").click(function () {
7360                                                const t = $(this)
7361                                                const p = t.parents(".sectionPurchase")
7362                                                // $(".greetingCard").addClass("disabled")
7363                                                const occasion = t.data("occassion")
7364                                                loadItemOccasion(t, occasion)
7365                                            })
7366
7367                                            $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function () {
7368                                                const id = $(this).parent(".item-card").data("id")
7369                                                const t = $(this).parent(".item-card")
7370                                                const target = t.find("input")
7371                                                const v = $('.item-card input[type="radio"]:checked').val();
7372                                                $("#itemCards .item-card").removeClass("selected")
7373                                                t.addClass("selected")
7374                                                $("#itemCards .item-card").find("input").attr("name", "")
7375                                                if (target.length > 0) {
7376                                                    target.attr("name", "id[]")
7377                                                    $("#properties-card").val(id)
7378                                                    $(".greetingCard").removeClass("disabled")
7379                                                    $("#skip-card").attr("disabled", false)
7380                                                } else {
7381                                                    $("#properties-card").val("")
7382                                                }
7383                                            })
7384
7385                                            $("#itemCards").delegate(".item-without-card label", "click", function () {
7386                                                const parent = $(this).parents(".sectionPurchase")
7387                                                const next = parent.next(".sectionPurchase")
7388                                                $(".greetingCard").addClass("disabled")
7389                                                parent.addClass("hide")
7390                                                next.removeClass("hide")
7391                                                $("[data-addon=upsell-all]").click()
7392                                                $("#zip").select2()
7393                                            })
7394
7395                                            $("[data-properties=ucapan]").keyup(function () {
7396                                                const v = $(this).val()
7397                                                const p = $(this).parents(".sectionPurchase")
7398                                                $(".purchaseAddress").find(".greetingCard textarea").val(v)
7399                                                if (v.length > 3) {
7400                                                    p.find(".next-purchase-button").attr("disabled", false)
7401                                                } else {
7402                                                    p.find(".next-purchase-button").attr("disabled", true)
7403                                                }
7404                                            })
7405
7406                                            $("[data-properties=penerima]").keyup(function () {
7407                                                const v = $(this).val()
7408                                                $(".purchaseAddress").find("[data-properties=penerima]").val(v)
7409                                            })
7410
7411                                            $("[data-properties=pengirim]").keyup(function () {
7412                                                const v = $(this).val()
7413                                                $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
7414                                            })
7415
7416                                            $(document).click(function (e) {
7417
7418                                                if ($(e.target).closest('.wrapperPopupCart').length != 0) return false;
7419                                                // $('#popupCart').fadeOut('slow');
7420                                                // location.reload()
7421                                            });
7422
7423                                            $(".toggleAddonCart").click(function () {
7424                                                const p = $(this).parent(".itemAddonCart")
7425                                                p.toggleClass("open")
7426                                            })
7427
7428                                            $(".btnViewCart").click(function () {
7429                                                window.location.href = "https://outerbloom.com/cart";
7430                                            })
7431
7432                                            $(".btnViewCheckout").click(async function () {
7433                                                $(this).find("span").addClass("loading")
7434                                                let zip = $("#zip").val()
7435                                                const first_name = $("#first_name").val()
7436                                                const last_name = $("#last_name").val()
7437                                                const company = $("#company").val() !== '' ? $("#company").val() : ''
7438                                                const address1 = $("#delivery_address").val()
7439                                                const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
7440                                                zip = zip && zip !== '' ? z
7440ip?.split(' - ')[0] : ''
7441                                                const phone = $("#recipient_number").val()
7442                                                const city = $("#cities").val()
7443                                                const province = $("#province").val()
7444                                                const country = 'Indonesia'
7445                                                const ver = Date.parse(new Date())
7446                                                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}`
7447
7448                                                const clear = await fetch(`/cart/clear.js`, { method: 'POST' })
7449                                                if (clear.status === 200) {
7450                                                    const savedItem = window.localStorage.getItem("items");
7451                                                    const items = JSON.parse(savedItem)
7452                                                    const addItems = await additem(items)
7453                                                    console.log(addItems, 'new addItems')
7454                                                    if (addItems) {
7455                                                        window.location.href = `https://outerbloom.com/checkout?${params}`;
7456                                                    }
7457                                                }
7458                                            })
7459
7460                                            $(".btnContinueShopping").click(function () {
7461                                                window.location.href = "https://outerbloom.com/";
7462                                            })
7463
7464                                            if (isIOS) {
7465                                                $(".empty-state-card").click(function () {
7466                                                    $("#input-foto").trigger("click")
7467                                                })
7468                                                $(".btn-upload-image").click(function () {
7469                                                    $("#input-foto").trigger("click")
7470                                                })
7471                                                $("[for=input-video]").click(function () {
7472                                                    $("#input-video").trigger("click")
7473                                                })
7474                                                $(".btn-upload-papan").click(function () {
7475                                                    $("#logoPapan").trigger("click")
7476                                                })
7477                                            }
7478
7479                                            $("[data-properties]").each(function () {
7480                                                const select = $(this).parents(".form-group").find("select")
7481                                                $(this).change(function () {
7482                                                    const name = $(this).data("properties")
7483                                                    const v = $(this).val()
7484                                                    if (name == 'telepon-penerima') {
7485                                                        let phone = v.replace(/[^0-9]/g, '')
7486                                                        $(this).val(phone);
7487                                                        $("#properties-telepon-penerima").val(phone)
7488                                                        $('.iti__search-input').val('-')
7489                                                    } else {
7490                                                        $("#properties-" + name).val(v)
7491                                                    }
7492                                                })
7493                                                select.on("change", function () {
7494                                                    const name = $(this).data("properties")
7495                                                    const v = $(this).val()
7496                                                    $("#properties-" + name).val(v)
7497                                                })
7498                                            })
7499
7500                                            $("#show_note").click(function () {
7501                                                nameq = $("#properties-nama-penerima").val()
7502                                                dear = $("#properties-kartu-nama-penerima").val()
7503                                                card = $("[data-properties=ucapan]").val()
7504                                                sender = $("#properties-kartu-nama-pengirim").val()
7505                                                photo = $("#properties-photo").val()
7506                                                video = $("#properties-video").val()
7507                                                updateCard(nameq, dear, card, sender, photo, video, status)
7508                                            })
7509
7510                                            $(".remove-image").click(function (e) {
7511                                                e.preventDefault()
7512                                                $(this).find("img").show()
7513                                                removeImage()
7514                                            })
7515
7516                                            $(".remove-media").click(function (e) {
7517                                                e.preventDefault()
7518                                                $(this).find("img").show()
7519                                                removeVideo()
7520                                            })
7521
7522
7523
7524                                            $("[data-delivery_method]").click(function (e) {
7525                                                e.preventDefault()
7526                                                const t = $(this)
7527                                                const data = t.data("delivery_method")
7528                                                $("[data-delivery_method]").removeClass("selected")
7529                                                t.addClass("selected")
7530                                                $("#cities").val("")
7531                                                $("#properties-delivery-date").val("-")
7532                                                $("#deliveryDate button").removeClass("selected")
7533                                                $("#full-date").val("Full Calendar →")
7534                                                $("#propDeliveryDate").val("")
7535                                                const step3 = $("#step-3")
7536                                                if (data.match('PickUp')) {
7537                                                    $(".selfpickup-point").show()
7538                                                    step3.find("[data-finished=false]").hide()
7539                                                    $("#panel-4").hide()
7540                                                    step3.find("[data-finished=true]").show()
7541                                                    $("#cities").attr("required", false)
7542                                                    $("#form-group-city").hide()
7543                                                    $("#row-delivery-time").hide()
7544                                                    $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
7545                                                    $("#propDeliveryTime").attr("required", false)
7546                                                    // $("#deliveryDate").find("button:first-child").addClass("stop")
7547                                                    $(".form-selfpickup").show()
7548                                                    $(".form-delivery").hide()
7549                                                    $(".form-delivery").find("input, textarea, select").val("")
7550                                                    $(".form-delivery").find("input, textarea, select").attr("required", false)
7551                                                    $("#properties-shipping").val("0")
7552                                                    $("#noteDeliveryDate").hide()
7553                                                    $(".form-delivery .form-control").attr("required", false)
7554                                                    $("#stepNav4").hide()
7555
7556                                                    $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
7557
7558
7559
7560
7561                                                    if (timeOfDay >= 16.01) {
7562                                                        $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
7563                                                    }
7564                                                } else {
7565
7566
7567                                                    $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
7568                                                    step3.find("[data-finished=false]").show()
7569                                                    $("#panel-4").show()
7570                                                    step3.find("[data-finished=true]").hide()
7571                                                    $("#cities").attr("required", true)
7572                                                    $(".selfpickup-point").hide()
7573                                                    $("#form-group-city").show()
7574                                                    $("#cities").val('').trigger('change');
7575                                                    $("#properties-kota-pengiriman").val("-")
7576
7577                                                    $("#row-delivery-date, #row-delivery-time").show()
7578                                                    $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
7579                                                    $("#deliveryDate").find("button").removeClass("stop")
7580                                                    $(".form-selfpickup").hide()
7581                                                    $(".form-delivery").show()
7582                                                    $(".form-delivery").find("input, textarea, select").attr("required", true)
7583                                                    $(".form-delivery [data-
7583properties]").attr("readonly", false)
7584                                                    $("#properties-kodepos").val("-")
7585                                                    $("#properties-alamat-penerima").val("-")
7586                                                    $(".form-delivery .form-control").attr("required", true)
7587                                                    $(this).parents(".setup-content").attr("id", "step-1")
7588
7589                                                    $("#stepNav4").show()
7590                                                }
7591                                            })
7592
7593                                            $("[name=selfpickup]").click(function () {
7594                                                const p = $(this).parents(".row-pickup")
7595                                                const pickupCity = $("input[name='selfpickup']:checked").val();
7596                                                const pickupAddress = $("input[name='selfpickup']:checked").data("address");
7597                                                const pickupZip = $("input[name='selfpickup']:checked").data("zip");
7598
7599                                                $(".row-pickup").removeClass("selected")
7600                                                p.addClass("selected")
7601
7602                                                $("#properties-kota-pengiriman").val(pickupCity)
7603                                                $("#province").val("Jakarta")
7604                                                $("#properties-alamat-penerima").val(pickupAddress)
7605                                                $("#properties-kodepos").val(pickupZip)
7606                                            })
7607
7608                                            $("#cities").change(function (e) {
7609                                                e.preventDefault()
7610                                                $(this).parent(".row").find("p.error").remove()
7611                                                $("#full-date").val("Full Calendar")
7612                                                $("#deliveryDate, #deliveryDateFull label ").show()
7613                                                $("#deliveryDateFull").removeClass("filled")
7614                                                $(".btnChangeDeliveryDate").addClass("hide")
7615                                                $("#full-date").prop('disabled', false);
7616                                                $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
7617                                                $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
7618                                                const step3 = $("#step-3")
7619                                                $("#cityNote").remove()
7620                                                $("#noteDeliveryDate").hide()
7621                                                $("#noteDeliveryDate").empty()
7622                                                let v = $(this).val()
7623                                                let v2 = $('option:selected', this).attr('data-city');
7624                                                let v3 = $('option:selected', this).attr('data-province');
7625                                                let price = $('option:selected', this).attr('data-price');
7626                                                $("#country").val(v)
7627                                                $("#properties-kota-pengiriman").val(v)
7628                                                $("#properties-shipping").val(price)
7629                                                $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
7630                                                $("#properties-delivery-date, #properties-delivery-time").val("-")
7631                                                $("#propDeliveryDate, #propDeliveryTime").val("")
7632                                                let note = $('option:selected', this).attr('data-note');
7633                                                if (v === 'Kota Lainnya') {
7634                                                    $("#noteDeliveryDate").show()
7635                                                    $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
7636                                                    $("#zip").attr("required", false)
7637                                                    $("#zip").hide()
7638                                                    $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
7639                                                    $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
7640                                                    $("#row-delivery-date, #row-delivery-time").hide()
7641                                                    $("#properties-shipping").val("")
7642                                                    // $(this).parents(".setup-content").attr("id", "step-2")
7643
7644                                                } else {
7645                                                    $("#noteDeliveryDate").hide()
7646                                                    $("#zip").attr("required", true)
7647                                                    $("#zip").show()
7648                                                    $("#row-delivery-date, #row-delivery-time").show()
7649                                                    $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
7650                                                    $("#deliveryDate").find("button").removeClass("stop")
7651                                                    // $(this).parents(".setup-content").attr("id", "step-1")
7652
7653                                                }
7654
7655
7656
7657                                                // if(v !== 'Jakarta') {
7658                                                //   $("[data-type=upsell]").hide()
7659                                                // } else {
7660                                                //   $("[data-type=upsell]").show()
7661                                                // }
7662                                                // $('.collection-addons')[0].swiper.update(
7662);
7663
7664
7665                                                getProvince(v)
7666                                                $("#zip").html(`<option value="">Choose Postal Code</option>`)
7667                                                renderZip(v, v2, v3)
7668
7669                                                disabledSameDay()
7670
7671
7672                                                if (v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
7673
7674                                                    $("#cardOccasion, #navAddon, .collection-addons").hide()
7675
7676                                                    $("[data-addon=giftcard]").show()
7677                                                    $("[data-addon=giftcard]").click()
7678                                                    $("#itemAddons").show()
7679                                                    $("#flower-step").addClass("nonjadetabek")
7680                                                } else {
7681                                                    $("#cardOccasion, #navAddon, .collection-addons").show()
7682                                                    $("[data-addon=all]").click()
7683                                                    $("#flower-step").removeClass("nonjadetabek")
7684                                                }
7685
7686                                                if (v !== '') {
7687                                                    $("#personalizeBtn .btn").attr("disabled", false)
7688                                                } else {
7689                                                    $("#personalizeBtn .btn").attr("disabled", true)
7690                                                }
7691
7692                                            })
7693
7694                                            $("#zip").change(function (e) {
7695                                                let v = $(this).val()
7696                                                var city = $("#cities").find('option:selected');
7697                                                $("#properties-kodepos").val(v)
7698                                                if (city === 'Kota Lainnya') {
7699                                                    $(this).attr("required", true)
7700                                                    $("#recipient-address").val("")
7701                                                }
7702                                            })
7703
7704
7705                                            var minDate = +7
7706
7707
7708
7709                                            $("#full-date").datepicker({
7710                                                minDate,
7711                                                dateFormat: 'Mdd_yy', //Nop22_2021,
7712
7713                                                beforeShowDay: disabledays,
7714
7715                                                onSelect: function (date) {
7716                                                    $("#deliveryDate, #deliveryDateFull label ").hide()
7717                                                    $("#deliveryDateFull").addClass("filled")
7718                                                    $(".btnChangeDeliveryDate").removeClass("hide")
7719                                                    $("#full-date").prop('disabled', true);
7720                                                    $('#propDeliveryDate, #properties-delivery-date').val('Kirim_' + date);
7721                                                    $(".date-full").addClass("selected")
7722                                                    $(".date-single, .calendar-group").removeClass("selected")
7723                                                    $("#propDeliveryTime").val('')
7724                                                    $("#properties-delivery-time").val('-')
7725                                                    $(".time-single").removeClass("selected")
7726
7727
7728                                                }
7729                                            });
7730
7731                                            $(".btnChangeDeliveryDate").click(function () {
7732                                                $("#deliveryDate, #deliveryDateFull label ").show()
7733                                                $("#deliveryDateFull").removeClass("filled")
7734                                                $(".btnChangeDeliveryDate").addClass("hide")
7735                                                $("#full-date").prop('disabled', false);
7736                                            })
7737
7738                                            $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function (e) {
7739                                                e.preventDefault()
7740                                                $(this).parents("#row-delivery-date").find("p.error").remove()
7741                                                const fulldate = $(this).data("fulldate")
7742                                                const day = $(this).data("day")
7743                                                const date = $(this).data("date")
7744                                                const month = $(this).data("month")
7745                                                const year = $(this).data("year")
7746                                                const off_pagi = $(this).data("offpagi")
7747                                                const off_siang = $(this).data("offsiang")
7748                                                const off_Malam = $(this).data("offMalam")
7749                                                $(".calendarbutton").removeClass("selected")
7750                                                $(this).addClass("selected")
7751                                                $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
7752                                                $("#propDeliveryTime").val('')
7753                                                $("#properties-delivery-time").val('-')
7754                                                $(".calendarbutton2").removeClass("selected")
7755                                                $("#full-date").val("Full Calendar")
7756
7757
7758                                                if (off_pagi && timeOfDay > off_pagi) {
7759                                                    $("[data-time=Morning]").attr("disabled", true)
7760                                                } else {
7761                                                    $("[data-time=Morning]").attr("disabled", false)
7762                                                }
7763                                                if (off_siang && timeOfDay > off_siang) {
7764                                                    $("[data-time=Afternoon]").attr("disabled", true)
7765                                                } else {
7766                                                    $("[data-time=Afternoon]").attr("disabled", false)
7767                                                }
7768
7769
7770
7771                                            })
7772
7773                                            if (today === 14 && timeOfDay > 17.00) {
7774                                                $("#deliveryDate button:first-child").attr("disabled", true)
7775                                            }
7776
7777                                            $("#deliveryTime").delegate(".calendarbutton2", "click", function (e) {
7778                                                e.preventDefault()
7779                                                const time = $(this).data("time")
7780                                                const date = $("#propDeliveryDate").val()
7781                                                if (date == '') {
7782                                                    return alert('Silakan pilih tanggal terlebih dahulu')
7783                                                }
7784                                                $(".calendarbutton2").removeClass("selected")
7785                                                $(this).addClass("selected")
7786                                                $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_', '')}_${time}`)
7787                                            })
7788
7789                                            $('textarea.has-limit, input.has-limit').keyup(function () {
7790                                                max = this.getAttribute("maxlength");
7791                                                let len = $(this).val().length;
7792                                                let limit = $(this).siblings(".limit");
7793                                                if (len > max) {
7794                                                    alert('you have reached the limit');
7795                                                } else {
7796                                                    limit.text(`${len}/${max}`);
7797                                                }
7798                                            });
7799
7800                                            $("#button-action-step .btn").click(function () {
7801                                                $(this).find("span").text("Processing...");
7802                                            });
7803
7804                                            $(".finishBtn").on('click', function () {
7805                                                $(this).addClass("is-adding");
7806                                                // $(this).click();
7807                                            });
7808
7809                                            $('.setup-panel .nav-item a.btn-success').trigger('click');
7810
7811                                            $("#button-action .btn").click(function () {
7812                                                $("#flower-step").addClass("block");
7813                                                $("#button-action").hide();
7814                                            });
7815
7816                                            $(".close-how-order").click(function () {
7817                                                $("#flower-step").removeClass("block");
7818                                                $("#button-action").show();
7819                                            });
7820
7821                                            $("#input-foto, #input-video").change(function (e) {
7822                                                readURL(this);
7823                                            });
7824
7825                                            $("#logoPapan").change(function () {
7826                                                readURLPapan(this);
7827                                            });
7828
7829                                            $("#address-upload").change(async function () {
7830                                                const upload_address = await readURLAddress(this)
7831                                                if (upload_address) {
7832                                                    const url = upload_address.url
7833                                                    $(".props-address-upload").val(url)
7834                                                    $(".form-address").addClass("address-uploaded")
7835                                                    $(".form-address-upload").addClass("uploaded")
7836
7837                                                    $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
7838                                                }
7839                                            })
7840
7841                                            $(".address-manualy").click(function () {
7842                                                $(".form-address-upload").removeClass("uploaded");
7843                                                $(".photo-address").hide();
7844                                                $(".form-address").removeClass("address-uploaded")
7845                                                $("#formAddressPurchase").find(".form-control").attr("required", true)
7846                                            });
7847
7848                                            $(".case-video-preview").delegate(".replace-video", "click", function () {
7849                                                $("#input-video").trigger("click")
7850                                            })
7851
7852                                            $('.date-single').click(function (e) {
7853                                                e.preventDefault();
7854                                                $('.date-single').removeClass('selected');
7855                                                $('#full-date').removeClass('selected');
7856                                                $(this).addClass('selected');
7857                                                $('#full-date').html('Full' + '<br/>' + 'Calendar');
7858                                            });
7859                                            $('#full-date').click(function (e) {
7860                                                e.preventDefault();
7861                                                $('.date-single').removeClass('selected');
7862                                                $(this).addClass('selected');
7863                                            });
7864
7865                                            // $("tr").each(function(){
7866                                            //   if($(this).text().match('SKU')) {
7867                                            //     $(".sku-product").html($(this).parents("table").html())
7868                                            //   }
7869                                            // })
7870
7871                                            $("#product-image").scroll(function () {
7872                                                $(".desc-add").each(function () {
7873                                                    const img = $(this).find("img")
7874                                                    const src = img.data("src")
7875                                                    img.attr("src", src)
7876                                                })
7877                                            })
7878
7879                                            $(".product-fixed").hide()
7880
7881                                            let target = $("#personalizeBtn")
7882
7883
7884                                            $(".product-meta").scroll(function () {
7885                                                if ($(window).scrollTop() >= target.offset().top) {
7886                                                    $(".product-fixed").addClass("show")
7887                                                } else {
7888                                                    $(".product-fixed").removeClass("show")
7889                                                }
7890                                            });
7891
7892                                            $(window).scroll(function () {
7893                                                if ($(window).scrollTop() >= target.offset().top) {
7894                                                    $(".product-fixed").addClass("show")
7895                                                } else {
7896                                                    $(".product-fixed").removeClass("show")
7897                                                }
7898                                            });
7899                                        });
7900                                    </script>
7900
7901
7902                                    
7902<script>
7903                                        //
7904                                    </script>
7904
7905
7906                                    
7906<script>
7907                                        $(document).ready(function () {
7908                                            $('table tr td').each(function () {
7909                                                var texto = $(this).text();
7910                                                var nextto = $(this).next("td");
7911                                                var sku = $("#data-sku").val()
7912                                                if (texto == 'SKU') {
7913                                                    nextto.text(sku)
7914                                                }
7915                                            });
7916
7917                                            $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
7918                                            $(".stamped-summary-actions-newreview").text("Tulis Review");
7919                                            $("#tab-questions").text("Pertanyaan");
7920
7921                                            $(".freeship .icon").click(function () {
7922                                                $(".fs-content").slideToggle();
7923                                                $(this).parents(".freeship").toggleClass("expand");
7924                                            });
7925
7926                                            var $easyzoom = $('.easyzoom').easyZoom();
7927                                            // Setup thumbnails example
7928                                            var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
7929                                            $('.thumbnails').on('click', 'a', function (e) {
7930                                                var $this = $(this);
7931                                                e.preventDefault();
7932                                                // Use EasyZoom's `swap` method
7933                                                api1.swap($this.data('standard'), $this.attr('href'));
7934                                            });
7935
7936                                            $('#playerID').click(function () {
7937                                                var videoURL = $('#VdoID').attr('src'),
7938                                                    dataplay = $('#VdoID').attr('data-play');
7939
7940                                                //for check autoplay
7941                                                //if not set autoplay=1
7942                                                if (dataplay == 0) {
7943                                                    $('#VdoID').attr('src', videoURL + '?autoplay=1');
7944                                                    $('#VdoID').attr('data-play', 1);
7945                                                }
7946                                                else {
7947                                                    var videoURL = $('#VdoID').attr('src');
7948                                                    videoURL = videoURL.replace("?autoplay=1", "");
7949                                                    $('#VdoID').prop('src', '');
7950                                                    $('#VdoID').prop('src', videoURL);
7951
7952                                                    $('#VdoID').attr('data-play', 0);
7953                                                }
7954
7955                                            });
7956
7957                                            $(".product-photo-thumb-video").click(function (e) {
7958                                                e.preventDefault();
7959
7960                                                var newEmbed = $(this).attr('href');
7961                                                $("#featured-image-product").addClass("img-video");
7962                                                $("#ProductPhotoImg").hide();
7963                                                $("#featured-image-product .video").show();
7964                                                $("#featured-image-product iframe").attr('src', newEmbed);
7965                                                $("#VdoID")[0].src += "&autoplay=1";
7966                                            });
7967                                            $(".product-single__thumbnail").click(function (evt) {
7968                                                evt.preventDefault();
7969                                                $("#featured-image-product").removeClass("img-video");
7970                                                $("#ProductPhotoImg").show();
7971                                                $("#featured-image-product .video").hide();
7972                                                $("#featured-image-product iframe").attr('src', '');
7973                                            });
7974
7975                                            if ($('#product-meta .short-desc > div').length >= 1) {
7976                                                //console.log('div detected')
7977                                                var replacer = $('#product-meta .short-desc > div').contents();
7978                                                $('#product-meta .short-desc > div').replaceWith(replacer);
7979
7980                                                var cAssured = $('.c-assured').detach();
7981                                                cAssured.insertAfter('.meta-sds .stock-info');
7982                                            }
7983
7984
7985
7986                                            $(".heading-toggle").
7986click(function () {
7987                                                $(this).parent().toggleClass("open")
7988
7989                                            });
7990                                        });
7991                                    </script>
7991
7992
7993
7994                                    
7994<script type="application/json" id="ProductJson-Product">
7995
7996         {"id":9233866700552,"title":"AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja"}
7997   </script>
7997
7998
7999                                    
7999<script type="application/json" id="VariantJson-Product">
8000       [
8001         
8002           {
8003              "incoming": false,
8004              "next_incoming_date": null
8005           }
8006         
8007       ]
8008     </script>
8008
8009
8010
8011
8012
8013                                </div>
8014
8015
8016                                
8016<script
8017                                    src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js"
8018                                    type="text/javascript"></script>
8018
8019                                <style>
8020                                    .stamped-review-header-title,
8021                                    .stamped-review-header .author,
8022                                    .stamped-review-content-body,
8023                                    .stamped-sort-select,
8024                                    .stamped-review-header .verified-badge[data-type=buyer]:after,
8025                                    .stamped-review-header-byline,
8026                                    .stamped-review-reply-body {
8027                                        font-size: 14px !important;
8028                                        font-family: 'Barlow', sans-serif !important;
8029                                    }
8030
8031                                    .stamped-review {
8032                                        margin-bottom: 0;
8033                                    }
8034
8035                                    .stamped-review-body {
8036                                        padding-left: 65px;
8037                                    }
8038
8039                                    .stamped-review:first-child {
8040                                        padding-top: 25px;
8041                                    }
8042
8043                                    .stamped-review-content {
8044                                        clear: none;
8045                                    }
8046
8047                                    .stamped-review-reply {
8048                                        margin: 15px 0 0 65px;
8049                                        background: #f2f2f2;
8050                                        border-left: none;
8051                                    }
8052
8053                                    .stamped-review-reply-body {
8054                                        padding-left: 65px;
8055                                    }
8056
8057                                    .stamped-review-header .author {
8058                                        text-transform: capitalize;
8059                                    }
8060
8061                                    .stamped-questions .stamped-review-content {
8062                                        padding-left: 65px;
8063                                    }
8064
8065                                    .stamped-pagination {
8066                                        margin: 20px 0 0;
8067                                    }
8068
8069                                    .stamped-pagination li {
8070                                        position: initial !important;
8071                                        display: inline-block;
8072                                        position: relative;
8073                                        vertical-align: middle;
8074                                        text-decoration: none;
8075                                        -webkit-tap-highlight-color: transparent;
8076                                        -webkit-box-flex: 0;
8077                                        -moz-box-flex: 0;
8078                                        -ms-flex: 0 0 auto;
8079                                        flex: 0 0 auto;
8080                                        -webkit-user-select: none;
8081                                        -moz-user-select: none;
8082                                        -ms-user-select: none;
8083                                        user-select: none;
8084                                        background: 0 0;
8085                                        text-transform: none;
8086                                        color: #33373D;
8087                                        font-weight: 400;
8088                                        -webkit-transition: background .1s ease, box-shadow .1s ease, color .1s ease;
8089                                        transition: background .1s ease, box-shadow .1s ease, color .1s ease;
8090                                        border: 1px solid #ccc;
8091                                        border-right: none;
8092                                        margin-bottom: 0;
8093                                    }
8094
8095                                    .stamped-pagination li a {
8096                                        color: #121212;
8097                                        padding: 13px 18px;
8098                                        vertical-align: middle;
8099                                        display: block;
8100                                    }
8101
8102                                    .stamped-pagination li.active a {
8103                                        background-color: #ddd;
8104                                        font-weight: 400;
8105                                    }
8106
8107                                    .stamped-pagination li:hover a {
8108                                        background: #ddd;
8109                                    }
8110
8111                                    .stamped-pagination .next {
8112                                        border-right: 1px solid #ccc;
8113                                    }
8114
8115                                    .stamped-pagination li:first-child {
8116                                        border-top-left-radius: 5px;
8117                                        border-bottom-left-radius: 5px;
8118                                    }
8119
8120                                    .stamped-pagination li:last-child {
8121                                        border-top-right-radius: 5px;
8122                                        border-bottom-right-radius: 5px;
8123                                    }
8124
8125                                    #stamped-pagination-question span.page {
8126                                        display: inline-block;
8127                                        border: 1px solid #ccc;
8128                                        width: 47px;
8129                                    }
8130
8131                                    #stamped-pagination-question span {
8132                                        font-size: 14px;
8133                                    }
8134
8135                                    #stamped-pagination-question .page.active {
8136                                        padding: 12px;
8137                                        font-weight: 400;
8138                                        background: #ddd;
8139                                    }
8140
8141                                    #stamped-pagination-question a,
8142                                    #stamped-pagination-question .page.active {
8143                                        color: #121212;
8144                                        padding: 13px 18px;
8145                                        vertical-align: middle;
8146                                        display: inline-block;
8147                                    }
8148
8149                                    .stamped-pagination-deco {
8150                                        color: #121212;
8151                                        padding: 13px 18px;
8152                                        width: 47px;
8153                                        vertical-align: middle;
8154                                        display: inline-block;
8155                                        border: 1px solid #ccc;
8156                                        padding: 12px;
8157                                    }
8158
8159                                    .stamped-pagination-prev,
8160                                    .stamped-pagination-next {
8161                                        position: inherit;
8162                                    }
8163
8164                                    .stamped-pagination-prev a,
8165                                    .stamped-pagination-next a {
8166                                        width: auto !important;
8167                                        border: 1px solid #ccc;
8168                                    }
8169
8170                                    @media (max-width: 480px) {
8171                                        .stamped-review-reply {
8172                                            margin-left: 0 !important;
8173                                        }
8174
8175                                        select.stamped-sort-select {
8176                                            font-size: 13px !important;
8177                                        }
8178                                    }
8179
8180                                    #product-reviews .stamped-summary-ratings,
8181                                    #product-reviews .stamped-summary-actions,
8182                                    .stamped-content {
8183                                        display: block !important;
8184                                    }
8185                                </style>
8186                                
8186<script>
8187                                    var selectCallback = function (variant, selector) {
8188                                        timber.productPage({
8189                                            money_format: "Rp {{amount_no_decimals}}",
8190                                            variant: variant,
8191                                            selector: selector
8192                                        });
8193                                    };
8194
8195                                    jQuery(function ($) {
8196                                        new Shopify.OptionSelectors('productSelect', {
8197                                            product:
8198
8199
8200
8201
8202
8203                                                { "id": 9233866700552, "title": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari", "handle": "blossom-shine", "description": "\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eAGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja" },
8204                                            onVariantSelected: selectCallback,
8205                                            enableHistoryState: true
8206                                        });
8207
8208                                        // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
8209
8210
8211                                        // Hide selectors if we only have 1 variant and its title contains 'Default'.
8212
8213                                        $('.selector-wrapper').hide();
8214
8215                                    });
8216                                </script>
8216
8217
8218
8219
8220                                
8220<script type="application/ld+json">
8221     {
8222     "@context": "http://schema.org",
8223     "@type": "Product",
8224 "offers": {
8225 "@type": "Offer",
8226 "availability":"https://schema.org/InStock",
8227 "price": 835000,
8228 "priceValidUntil": "05-10-2025",
8229 "priceCurrency": "IDR",
8230 "url": "https://belajarpsikologi.com/"
8231 },
8232 "brand": {
8233 "@type": "Brand",
8234 "name": "Outerbloom Florist"
8235 },
8236 "sku": "9233866700552",
8237 "gtin13": "Jawa",
8238 "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari",
8239 "description": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja",
8240 "category": "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja",
8241 "url": "https://belajarpsikologi.com/",
8242 "image": {
8243 "@type": "ImageObject",
8244 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
8245 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
8246 "name": "AGAM99 | Mengikuti Perkembangan Portal Pragmatic Play Setiap Hari",
8247 "width": 1024,
8248 "height": 1024
8249 }
8250     }
8251   </script>
8251
8252
8253
8254
8255
8256
8257                                
8257<script id="bss-ltap-hide-price" type="text/javascript">
8258                                    !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) })) }
8258)), 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) })), 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) } };
8258 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() } if ("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) }
8258 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) }
8258 if (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"); c && 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-gri
8258d-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-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");
8258 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"); i && 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-detail
8258s"), 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
8258--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
8258opify.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"); e.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__Price
8258List, .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) }
8258 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 = o.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;
8258 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"); if (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();
8258 let 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() }]);
8259                                </script>
8259
8260
8261        </main>
8262
8263        <div id="shopify-section-newsletter" class="shopify-section"><br>
8264            <style>
8265                #shopify-section-newsletter {
8266                    background: url(https://belajarpsikologi.com/assets/img/pictures-agam99.png);
8267                    background-attachment: fixed;
8268                    margin-bottom: 0;
8269                }
8270
8271                input:-webkit-autofill,
8272                input:-webkit-autofill:hover,
8273                input:-webkit-autofill:active,
8274                input:-webkit-autofill:focus {
8275                    -webkit-box-shadow: 0 0 0 50px white inset;
8276                    -webkit-text-fill-color: #ffffff;
8277                }
8278
8279                .section-newsletter {
8280                    max-width: 800px;
8281                    margin: auto;
8282                    padding: 50px 0;
8283                }
8284
8285                .section-newsletter h2 {
8286                    font-weight: 700;
8287                    font-size: 24px;
8288                }
8289
8290                .section-newsletter input[type="email"] {
8291                    width: 100%;
8292                    text-align: center;
8293                    border: none;
8294                    border-bottom: 1px solid #ffffff;
8295                    font-size: 16px;
8296                    color: #757575;
8297                    background-color: #eeeeee;
8298                }
8299
8300                .section-newsletter .row label {
8301                    font-size: 14px;
8302                    cursor: pointer;
8303                }
8304
8305                .section-newsletter .radio-inline input {
8306                    width: auto;
8307                }
8308
8309                .section-newsletter .btn {
8310                    width: 130px;
8311                    border: 1px solid #ffffff;
8312                    box-shadow: none;
8313                    font-size: 16px;
8314                    font-weight: 500;
8315                    text-transform: uppercase;
8316                }
8317
8318                .section-newsletter form {
8319                    margin: 30px 0 60px;
8320                }
8321
8322                .section-newsletter input[type="radio"] {
8323                    position: absolute;
8324                    width: 1px;
8325                    height: 1px;
8326                }
8327
8328                .section-newsletter [type="radio"]:checked+label,
8329                .section-newsletter [type="radio"]:not(:checked)+label {
8330                    position: relative;
8331                    padding-left: 28px;
8332                    cursor: pointer;
8333                    line-height: 20px;
8334                    display: inline-block;
8335                    color: #666;
8336                }
8337
8338                .section-newsletter [type="radio"]:checked+label:before,
8339                .section-newsletter [type="radio"]:not(:checked)+label:before {
8340                    content: '';
8341                    position: absolute;
8342                    left: 0;
8343                    top: 0;
8344                    width: 18px;
8345                    height: 18px;
8346                    border: 1px solid #ddd;
8347                    border-radius: 100%;
8348                    background: #fff;
8349                }
8350
8351                .section-newsletter [type="radio"]:checked+label:after,
8352                .section-newsletter [type="radio"]:not(:checked)+label:after {
8353                    content: '';
8354                    width: 12px;
8355                    height: 12px;
8356                    background: #ffffff;
8357                    position: absolute;
8358                    top: 3px;
8359                    left: 3px;
8360                    border-radius: 100%;
8361                    -webkit-transition: all 0.2s ease;
8362                    transition: all 0.2s ease;
8363                }
8364
8365                .section-newsletter [type="radio"]:not(:checked)+label:after {
8366                    opacity: 0;
8367                    -webkit-transform: scale(0);
8368                    transform: scale(0);
8369                }
8370
8371                .opt-newsletter {
8372                    display: none;
8373                }
8374
8375                .footer-newsletter p,
8376                .footer-newsletter p a {
8377                    color: #757575;
8378                }
8379
8380                @media (max-width:991px) {
8381                    .section-newsletter h2 {
8382                        font-size: 32px;
8383                    }
8384
8385                    .section-newsletter input {
8386                        width: 300px;
8387                        font-size: 14px;
8388                    }
8389
8390                    .section-newsletter {
8391                        padding: 50px 20px;
8392                    }
8393                }
8394
8395                @media (max-width: 480px) {
8396                    .section-newsletter input[type="email"] {
8397                        font-size: 16px;
8398                    }
8399                }
8400            </style>
8401            <style>
8402                .icon-img-footer {
8403                    width: 80px;
8404                    padding: 0px 5px;
8405                }
8406
8407                @media (min-width: 768px) {
8408                    .icon-img-footer {
8409                        width: 120px;
8410                    }
8411                }
8412
8413                @media (min-width: 992px) {
8414                    .icon-img-footer {
8415                        width: 120px;
8416                    }
8417                }
8418
8419                .button-login-daftar {
8420                    display: grid;
8421                    grid-template-columns: repeat(2, 1fr);
8422                    font-weight: 700;
8423                }
8424
8425                .button-login-daftar a {
8426                    text-align: center;
8427                }
8428
8429                .login,
8430                .register {
8431                    color: #000000;
8432                    padding: 15px 10px;
8433                    font-size: 23px;
8434                }
8435
8436                .login,
8437                .login-button {
8438                    background: linear-gradient(to bottom, #001c47 0%, #20B2AA 50%, #001c47 100%);
8439                    border: 2px solid #ffffff;
8440                }
8441
8442                .register,
8443                .register-button {
8444                    background: linear-gradient(to bottom, #001c47 0%, #20B2AA 50%, #001c47 100%);
8445                    border: 2px solid #ffffff;
8446                }
8447            </style>
8448
8449            <!-- wp:html -->
8450            
8450<script>
8451                document.addEventListener('DOMContentLoaded',
8452                    function () {
8453                        const faqItems = document.querySelectorAll('.faq-item');
8454                        faqItems.forEach(item => {
8455                            const question = item.querySelector('.faq-question');
8456                            question.addEventListener('click',
8457                                () => {
8458                                    const isActive = item.classList.contains('active');
8459                                    faqItems.forEach(otherItem => { otherItem.classList.remove('active') });
8460                                    if (!isActive) { item.classList.add('active') }
8461                                })
8462                        })
8463                    });
8464            </script>
8464
8465
8466
8467            <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
8468            </div>
8469            <div class="faq-section">
8470                <h2>FAQ AGAM99</h2>
8471                <div class="faq-container">
8472
8473                    <div class="faq-item">
8474                        <button class="faq-question">
8475                            Apa itu AGAM99?
8476                            <span></span>
8477                        </button>
8478                        <div class="faq-answer">
8479                            <p>
8480                                AGAM99 merangkum berbagai pembaruan yang berkaitan dengan Portal Pragmatic Play melalui halaman yang diperbarui secara berkala agar pengunjung dapat mengikuti perubahan terbaru dengan lebih praktis.
8481                            </p>
8482                        </div>
8483                    </div>
8484
8485                    <div class="faq-item">
8486                        <button class="faq-question">
8487                            Informasi apa saja yang dapat ditemukan melalui AGAM99?
8488                            <span></span>
8489                        </button>
8490                        <div class="faq-answer">
8491                            <p>
8492                                Pengunjung dapat menemukan rangkuman perkembangan harian, pembahasan fitur, perubahan tampilan, serta topik terbaru yang berkaitan dengan Portal Pragmatic Play.
8493                            </p>
8494                        </div>
8495                    </div>
8496
8497                    <div class="faq-item">
8498                        <button class="faq-question">
8499                            Apakah pembahasan di AGAM99 mudah dipahami oleh pengunjung baru?
8500                            <span></span>
8501                        </button>
8502                        <div class="faq-answer">
8503                            <p>
8504                                Ya, AGAM99 menyajikan setiap pembahasan menggunakan bahasa yang ringkas dan terstruktur sehingga tetap mudah dipahami oleh pengunjung baru maupun pembaca rutin.
8505                            </p>
8506                        </div>
8507                    </div>
8508
8509                    <div class="faq-item">
8510                        <button class="faq-question">
8511                            Kapan waktu terbaik untuk melihat pembaruan di AGAM99?
8512                            <span></span>
8513                        </button>
8514                        <div class="faq-answer">
8515                            <p>
8516                                Pengunjung dapat membuka AGAM99 kapan saja karena halaman dirancang untuk menampilkan pembaruan secara berkala dan dapat diakses melalui berbagai perangkat.
8517                            </p>
8518                        </div>
8519                    </div>
8520
8521                    <div class="faq-item">
8522                        <button class="faq-question">
8523                            Apakah AGAM99 hanya membahas satu jenis pembaruan?
8524                            <span></span>
8525                        </button>
8526                        <div class="faq-answer">
8527                            <p>
8528                                Tidak. AGAM99 membahas beragam perkembangan yang masih berkaitan dengan Portal Pragmatic Play, mulai dari perubahan fitur, tampilan, hingga rangkuman topik yang sedang diperbarui.
8529                            </p>
8530                        </div>
8531                    </div>
8532                </div>
8533
8534            </div>
8535
8536        </div>
8537
8538
8539        <div class="overlay overlay-cart"></div>
8540        <div id="CartDrawer" class="drawer drawer--right">
8541            <div class="drawer__header pl-2 pr-2">
8542                <div class="drawer__icon-cart display-table-cell">
8543                    <a href="/cart" class="">
8544                        <svg class="icon icon-cart" version="1.1"
8545                            xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="32" height="32"
8546                            viewBox="0 0 32 32">
8547                            <path fill="#fff"
8548                                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">
8549                            </path>
8550                            <path fill="#fff"
8551                                d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z">
8552                            </path>
8553                            <path fill="#fff"
8554                                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">
8555                            </path>
8556                            <path fill="#000"
8557                                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">
8558                            </path>
8559                            <path fill="#fff"
8560                                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">
8561                            </path>
8562                            <path fill="#fff"
8563                                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">
8564                            </path>
8565                            <path fill="#fff"
8566                                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">
8567                            </path>
8568                            <path fill="#fff"
8569                                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">
8570                            </path>
8571                        </svg>
8572                    </a>
8573                </div>
8574                <div class="drawer__title h4">Keranjang Belanja</div>
8575                <div class="drawer__close js-drawer-close">
8576                    <button type="button">
8577                        <svg class="icon icon-close" version="1.1"
8578                            xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="32" height="32"
8579                            viewBox="0 0 32 32">
8580                            <title>icon-close</title>
8581                            <path
8582                                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">
8583                            </path>
8584                        </svg>
8585                    </button>
8586                </div>
8587            </div>
8588            <div id="CartContainer" class="p-2"></div>
8589        </div>
8590
8591        
8591<script>
8592
8593        </script>
8593
8594        
8594<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415"
8595            defer></script>
8595
8596        <!-- /snippets/ajax-cart-template.liquid -->
8597
8598        
8598<script id="CartTemplate" type="text/template">
8599
8600     <form action="/cart" method="post" novalidate class="cart ajaxcart">
8601       <div class="ajaxcart__inner" {{ cart.item_count }}>
8602         {{#items}}
8603         <div class="ajaxcart__product">
8604           <div class="ajaxcart__row" data-line="{{line}}">
8605             <div class="grid">
8606               <div class="grid__item one-quarter">
8607                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
8608               </div>
8609               <div class="grid__item three-quarters">
8610                 <p class="d-block mb-3">
8611                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
8612                   {{#if variation}}
8613                     <span class="ajaxcart__product-meta p">{{variation}}</span>
8614                   {{/if}}
8615                   {{#properties}}
8616                     {{#each this}}
8617                       {{#if this}}
8618                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
8619                       {{/if}}
8620                     {{/each}}
8621                   {{/properties}}
8622                   
8623                 </p>
8624                 <div class="grid--full display-table">
8625                   <div class="grid__item display-table-cell one-half">
8626                     <div class="ajaxcart__qty">
8627                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
8628                         <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
8629                         <span class="visually-hidden">Kurangi jumlah barang</span>
8630                       </button>
8631                       <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]*">
8632                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
8633                         <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
8634                         <span class="visually-hidden">Tambahkan jumlah barang</span>
8635                       </button>
8636                     </div>
8637                   </div>
8638                   <div class="grid__item display-table-cell one-half text-right">
8639                     {{#if discountsApplied}}
8640                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
8641                       <br><span class="h4">{{{linePrice}}}</span>
8642                     {{else}}
8643                       <span class="h4">{{{linePrice}}}</span>
8644                     {{/if}}
8645                     </div>
8646                   </div>
8647                   {{#if discountsApplied}}
8648                     <div class="grid--full display-table">
8649                       <div class="grid__item text-right">
8650                         {{#each discounts}}
8651                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
8652                         {{/each}}
8653                       </div>
8654                     </div>
8655                   {{/if}}
8656                   </div>
8657                 </div>
8658               </div>
8659             </div>
8660           </div>
8661         </div>
8662         {{/items}}
8663       </div>
8664       <div class="ajaxcart__footer">
8665         <div class="grid--full cart-subtotal py-2">
8666             <p>Subtotal</p>
8667             <h3 class="primary">{{{totalPrice}}}</h3>
8668           {{#if totalCartDiscount}}
8669             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
8670           {{/if}}
8671         </div>
8672         
8673         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
8674         
8675         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
8676       </div>
8677     </form>
8678   
8679   </script>
8679
8680        
8680<script id="AjaxQty" type="text/template">
8681
8682     <div class="ajaxcart__qty">
8683       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
8684         <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="24" viewBox="0 0 32 32">
8685             <title>icon-minus</title>
8686             <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>
8687         </svg>
8688         <span class="visually-hidden">Kurangi jumlah barang</span>
8689           </button>
8690               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
8691           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
8692         <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
8693         <span class="visually-hidden">Tambahkan jumlah barang</span>
8694       </button>
8695     </div>
8696   
8697   </script>
8697
8698        
8698<script id="JsQty" type="text/template">
8699
8700     <div class="js-qty mx-auto mt-2">
8701       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
8702         <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-minus</title><path d="M6.667 16.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h18.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-18.667z"></path></svg>
8703         <span class="visually-hidden">Kurangi jumlah barang</span>
8704       </button>
8705       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
8706       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
8707         <svg version="1.1" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="24" viewBox="0 0 32 32"><title>icon-plus</title><path d="M16.667 15.333h8.667c0.368 0 0.667 0.298 0.667 0.667s-0.298 0.667-0.667 0.667h-8.667v8.667c0 0.368-0.298 0.667-0.667 0.667s-0.667-0.298-0.667-0.667v-8.667h-8.667c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h8.667v-8.667c0-0.368 0.298-0.667 0.667-0.667s0.667 0.298 0.667 0.667v8.667z"></path></svg>
8708         <span class="visually-hidden">Tambahkan jumlah barang</span>
8709       </button>
8710     </div>
8711   
8712   </script>
8712
8713
8714        <style>
8715            #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
8716            #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
8717            #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {
8718                display: none;
8719            }
8720
8721            #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
8722            #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
8723            #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {
8724                pointer-events: none;
8725                opacity: 0.5;
8726            }
8727
8728            #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
8729            #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
8730            #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {
8731                pointer-events: none;
8732            }
8733        </style>
8734        
8734<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452"
8735            defer></script>
8735
8736        
8736<script>
8737            jQuery(function ($) {
8738                ajaxCart.init({
8739                    formSelector: '#AddToCartForm',
8740                    cartContainer: '#CartContainer',
8741                    addToCartSelector: '#AddToCartXX',
8742                    cartCountSelector: '#CartCount, #CartCount2',
8743                    cartCostSelector: '#CartCost',
8744                    moneyFormat: "Rp {{amount_no_decimals}}"
8745                });
8746            });
8747
8748            jQuery(document.body).on('afterCartLoad.ajaxCart', function (evt, cart) {
8749                // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
8750                timber.RightDrawer.open();
8751            });
8752        </script>
8752
8753
8754
8755
8756
8757        <style>
8758            /** Search AutoComplete **/
8759            .resultsearch .ui-menu-item[data-cat="Collection"],
8760            .resultsearch .ui-menu-item[data-cat="Collection"] {
8761                display: none;
8762            }
8763
8764            .resultsearch .ui-widget.ui-widget-content {
8765                width: 100%;
8766                top: 48px;
8767                border: none;
8768                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
8769            }
8770
8771            .resultsearch .ui-menu-item {
8772                text-align: left;
8773            }
8774
8775            .resultsearch .ui-menu-item>a,
8776            .resultsearch .ui-menu-item>span {
8777                display: inline-block;
8778                width: 100%;
8779                font-size: 16px;
8780            }
8781
8782            .resultsearch .ui-menu-item img {
8783                vertical-align: middle;
8784            }
8785
8786            .resultsearch .ui-menu-item a[data-cat="Collection"] img {
8787                display: none;
8788            }
8789
8790            .resultsearch .ui-menu .ui-state-focus,
8791            .resultsearch .ui-menu .ui-state-active {
8792                margin: 0;
8793            }
8794
8795            .ui-state-active,
8796            .ui-widget-content .ui-state-active {
8797                background: #f2f2f2;
8798                border: none;
8799                color: #ffffff;
8800            }
8801
8802            .resultsearch .ui-menu-item>a,
8803            .resultsearch .ui-menu-item>span {
8804                display: inline-block;
8805                width: 100%;
8806                font-size: 13px;
8807            }
8808
8809            .resultsearch .ui-menu-item a[data-cat="Produk"] img {
8810                margin-right: 10px;
8811            }
8812
8813            .resultsearch .ui-menu-item a[data-cat="Produk"] .price {
8814                float: right;
8815                padding: 15px 0;
8816            }
8817
8818            .ui-autocomplete-category.ui-menu-item[data-cat="Produk"]:before {
8819                content: "Product Populer";
8820                font-size: 13px;
8821                padding: 5px;
8822                margin: 5px 0;
8823                background: #f2f2f2;
8824                width: 100%;
8825                display: block;
8826                color: #ffffff;
8827            }
8828
8829            .ui-autocomplete-category.ui-menu-item[data-cat="Produk"] span {
8830                display: none;
8831            }
8832
8833            .ui-state-active {
8834                border: none !important;
8835                background-color: #fafafa !important;
8836                color: #000 !important;
8837            }
8838
8839            .ui-menu-item a[data-cat="Collection"] {
8840                padding: 5px 12px;
8841            }
8842
8843            .ui-menu .ui-menu-item {
8844                line-height: normal;
8845            }
8846        </style>
8847        
8847<script>
8848            $(window).load(function () {
8849
8850                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; }
8851
8852                $.widget("custom.catcomplete", $.ui.autocomplete, {
8853                    _renderMenu: function (ul, items) {
8854                        // have search reults split up in categories
8855                        var that = this,
8856                            currentCategory = "";
8857                        $.each(items, function (index, item) {
8858                            if (item.category != currentCategory) {
8859                                ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
8860                                currentCategory = item.category;
8861                            }
8862                            that._renderItemData(ul, item);
8863                        });
8864                    }
8865                });
8866
8867                // higlight searched for term
8868                $.ui.autocomplete.prototype._renderItem = function (ul, item) {
8869                    var term = this.element.val(),
8870                        html = item.label.replace(term, "<b>$&</b>");
8871                    return $("<li>")
8872                        .append(format(item))
8873                        .appendTo(ul);
8874                };
8875
8876
8877                var data = [
8878                    { 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-ne
8878wborn-hampers", images: " ", price: " " }, { label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " }, { label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " }, { label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " }, { label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " }, { label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " }, { label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " }, { label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " }, { label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " }, { label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " }, { label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " }, { label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " }, { label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " }, { label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " }, { label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " }, { label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " }, { label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " }, { label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " }, { label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " }, { label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " }, { label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " }, { label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " }, { label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " }, { label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " }, { label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " }, { label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " }, { label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " }, { label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " }, { label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " }, { label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " }, { label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " }, { label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " }, { label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " }, { label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " }, { label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " }, { label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " }, { label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " }, { label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " }, { label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " }, { label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " }, { label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " }, { label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " }, { label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " }, { label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " }, { label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " }, { label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " }, { label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " }, { label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " }, { label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " }, { label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " }, { label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " }, { label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " }, { label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " }, { label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " }, { label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " }, { label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " }, { label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " }, { label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " }, { label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " }, { label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " }, { label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " }, { label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " }, { label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " }, { label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " }, { label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " }, { label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " }, { label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " }, { label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " }, { label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " }, { label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " }, { label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " }, { label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " }, { label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " }, { label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " }, { label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " }, { label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " }, { label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " }, { label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " }, { label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " }, { label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " }, { label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " }, { label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " }, { label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " }, { label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " }, { label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " }, { label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " }, { label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " }, { label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " }, { label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " }, { label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " }, { label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " }, { label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " }, { label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " }, { label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " }, { label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " }, { label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " }, { label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " }, { label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " }, { label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " }, { label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " }, { label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " }, { label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " }, { label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " }, { label: "Craft Sweetbox Newborn", category: "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-pem
8878akaman", 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: " " }, { label: "Father's Day Special", category: "Collection", url: "/collections/kado-untuk-ayah", images: " ", price: " " }, { label: "Ferrari", category: "Collection", url: "/collections/ferrari", images: " ", price: " " }, { label: "Ferrero Rocher", category: "Collection", url: "/collections/ferrero-rocher", images: " ", price: " " }, { label: "Festival Belanja Online", category: "Collection", url: "/collections/fbo-2018", images: " ", price: " " }, { label: "Floatbox", category: "Collection", url: "/collections/floatbox", images: " ", price: " " }, { label: "Flower", category: "Collection", url: "/collections/flower", images: " ", price: " " }, { label: "Flower Best Deals", category: "Collection", url: "/collections/flower-best-deals", images: " ", price: " " }, { label: "Flowers", category: "Collection", url: "/collections/toko-bunga", images: " ", price: " " }, { label: "Flowers For Him", category: "Collection", url: "/collections/bunga-untuk-pria", images: " ", price: " " }, { label: "Flowers Style", category: "Collection", url: "/collections/style", images: " ", price: " " }, { label: "Flowers Type", category: "Collection", url: "/collections/type", images: " ", price: " " }, { label: "For Her", category: "Collection", url: "/collections/kado-untuk-wanita", images: " ", price: " " }, { label: "For Him", category: "Collection", url: "/collections/kado-untuk-pria", images: " ", price: " " }, { label: "Forever Flower", category: "Collection", url: "/collections/forever-flower", images: " ", price: " " }, { label: "Forever Flower Holo Series", category: "Collection", url: "/collections/forever-flower-holo-series", images: " ", price: " " }, { label: "Forever Flower x NestBloom", category: "Collection", url: "/collections/forever-flower-x-nestbloom", images: " ", price: " " }, { label: "Fortune Hampers", category: "Collection", url: "/collections/fortune-hampers", images: " ", price: " " }, { label: "Frank & Co", category: "Collection", url: "/collections/franknco", images: " ", price: " " }, { label: "Fresh Flowers", category: "Collection", url: "/collections/fresh-flower", images: " ", price: " " }, { label: "Gantungan Kunci", category: "Collection", url: "/collections/gantungan-kunci", images: " ", price: " " }, { label: "Gelato", category: "Collection", url: "/collections/gelato", images: " ", price: " " }, { label: "Gelato Pie", category: "Collection", url: "/collections/gelato-pie", images: " ", price: " " }, { label: "Gemini ♊️ 21May - 21June", category: "Collection", url: "/collections/kado-untuk-zodiak-gemini", images: " ", price: " " }, { label: "Gerbera", category: "Collection", url: "/collections/gerbera", images: " ", price: " " }, { label: "Get Well Soon", category: "Collection", url: "/collections/rangkaian-bunga-gws", images: " ", price: " " }, { label: "Giant Flower Bali", category: "Collection", url: "/collections/giant-flower-bali", images: " ", price: " " }, { label: "Giant Flower Bandung", category: "Collection", url: "/collections/giant-flower-bandung", images: " ", price: " " }
8878, { label: "Giant Flower Bouquet", category: "Collection", url: "/collections/giant-flower", images: " ", price: " " }, { label: "Gift", category: "Collection", url: "/collections/souvenir-kado-hadiah", images: " ", price: " " }, { label: "Gift by Recipient", category: "Collection", url: "/collections/gift-by-recipient", images: " ", price: " " }, { label: "Gift for Your Girlfriend", category: "Collection", url: "/collections/kado-untuk-pacar-wanita", images: " ", price: " " }, { label: "Gifts", category: "Collection", url: "/collections/gifts", images: " ", price: " " }, { label: "Glassbox Hampers", category: "Collection", url: "/collections/glassbox-hampers", images: " ", price: " " }, { label: "Glassware Hampers", category: "Collection", url: "/collections/parcel-pecah-belah", images: " ", price: " " }, { label: "Gold Jewelry", category: "Collection", url: "/collections/perhiasan-emas", images: " ", price: " " }, { label: "Grand Opening", category: "Collection", url: "/collections/grand-opening", images: " ", price: " " }, { label: "Granola", category: "Collection", url: "/collections/granola", images: " ", price: " " }, { label: "Green Tea", category: "Collection", url: "/collections/green-tea", images: " ", price: " " }, { label: "Greeting Card All", category: "Collection", url: "/collections/greeting-card-all", images: " ", price: " " }, { label: "Greeting Card Anniversary", category: "Collection", url: "/collections/greeting-card-anniversary", images: " ", price: " " }, { label: "Greeting Card Birthday", category: "Collection", url: "/collections/greeting-card-birthday", images: " ", price: " " }, { label: "Greeting Card Eid", category: "Collection", url: "/collections/greeting-card-eid", images: " ", price: " " }, { label: "Greeting Card Graduation", category: "Collection", url: "/collections/greeting-card-graduation", images: " ", price: " " }, { label: "Greeting Card Mother's Day", category: "Collection", url: "/collections/greeting-card-mothers-day", images: " ", price: " " }, { label: "Greeting Card Newborn", category: "Collection", url: "/collections/greeting-card-newborn", images: " ", price: " " }, { label: "Greeting Card Others", category: "Collection", url: "/collections/greeting-card-others", images: " ", price: " " }, { label: "Greeting Card Valentine", category: "Collection", url: "/collections/greeting-card-valentine", images: " ", price: " " }, { label: "Greeting Card Wedding", category: "Collection", url: "/collections/greeting-card-wedding", images: " ", price: " " }, { label: "Grooming", category: "Collection", url: "/collections/grooming", images: " ", price: " " }, { label: "Hadiah Tahun Baru Imlek", category: "Collection", url: "/collections/kado-imlek", images: " ", price: " " }, { label: "Hadiah untuk Bayi", category: "Collection", url: "/collections/kado-untuk-bayi", images: " ", price: " " }, { label: "Hadiah untuk Pacar", category: "Collection", url: "/collections/kado-untuk-pacar", images: " ", price: " " }, { label: "Hadiah untuk Pernikahan", category: "Collection", url: "/collections/kado-untuk-pernikahan", images: " ", price: " " }, { label: "Hadiah untuk Sahabat", category: "Collection", url: "/collections/kado-untuk-sahabat", images: " ", price: " " }, { label: "Hampers", category: "Collection", url: "/collections/hampers", images: " ", price: " " }, { label: "Hampers Baby Boy", category: "Collection", url: "/collections/hampers-baby-boy", images: " ", price: " " }, { label: "Hampers Baby Girl", category: "Collection", url: "/collections/hampers-baby-girl", images: " ", price: " " }, { label: "Hampers Baby Unisex", category: "Collection", url: "/collections/hampers-baby-unisex", images: " ", price: " " }, { label: "Hampers Delivery Indonesia", category: "Collection", url: "/collections/parcel-indonesia", images: " ", price: " " }, { label: "Hampers Lebaran 2025", category: "Collection", url: "/collections/parcel-lebaran", images: " ", price: " " }, { label: "Hampers Lebaran Bali", category: "Collection", url: "/collections/hampers-lebaran-bali", images: " ", price: " " }, { label: "Hampers Lebaran Bandung", category: "Collection", url: "/collections/hampers-lebaran-bandung", images: " ", price: " " }, { label: "Hampers Lebaran Jakarta", category: "Collection", url: "/collections/hampers-lebaran-jakarta", images: " ", price: " " }, { label: "Hampers Lebaran Semarang", category: "Collection", url: "/collections/hampers-lebaran-semarang", images: " ", price: " " }, { label: "Hampers Lebaran Surabaya", category: "Collection", url: "/collections/hampers-lebaran-surabaya", images: " ", price: " " }, { label: "Hampers Lebaran Yogyakarta", category: "Collection", url: "/collections/hampers-lebaran-yogyakarta", images: " ", price: " " }, { label: "Hand Sanitizer", category: "Collection", url: "/collections/hand-sanitizer", images: " ", price: " " }, { label: "Happy Birthday", category: "Collection", url: "/collections/kado-ulang-tahun", images: " ", price: " " }, { label: "Harbolnas", category: "Collection", url: "/collections/harbolnas-2018", images: " ", price: " " }, { label: "Harbolnas Produk Lokal", category: "Collection", url: "/collections/produk-lokal", images: " ", price: " " }, { label: "Hari Belanja Online Nasional", category: "Collection", url: "/collections/harbolnas", images: " ", price: " " }, { label: "Hari Guru", category: "Collection", url: "/collections/hari-guru", images: " ", price: " " }, { label: "Healthy Creations", category: "Collection", url: "/collections/healthy-creations", images: " ", price: " " }, { label: "Healthy Hampers", category: "Collection", url: "/collections/healthy-hampers", images: " ", price: " " }, { label: "Heritage Box", category: "Collection", url: "/collections/heritage-boxes", images: " ", price: " " }, { label: "Heritage Chinese New Year Hampers", category: "Collection", url: "/collections/heritage-chinese-new-year-hampers", images: " ", price: " " }, { label: "Heritage Christmas Hampers", category: "Collection", url: "/collections/heritage-christmas-hampers", images: " ", price: " " }, { label: "Heritage Hampers", category: "Collection", url: "/collections/heritage-hampers", images: " ", price: " " }, { label: "Heritage Ramadan Hampers", category: "Collection", url: "/collections/heritage-ramadan-hampers", images: " ", price: " " }, { label: "Hexa Hampers", category: "Collection", url: "/collections/hexa-hampers", images: " ", price: " " }, { label: "Hexa Hampers Luar Jadetabek", category: "Collection", url: "/collections/hexa-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Hexa Newborn", category: "Collection", url: "/collections/hexa-newborn", images: " ", price: " " }, { label: "Holo Bag", category: "Collection", url: "/collections/holo-bag", images: " ", price: " " }, { label: "Holo Series", category: "Collection", url: "/collections/holo-series", images: " ", price: " " }, { label: "Home Decoration & Photo Frame", category: "Collection", url: "/collections/home-decoration", images: " ", price: " " }
8878, { label: "Hospitalization", category: "Collection", url: "/collections/axa-hospitalization", images: " ", price: " " }, { label: "House Hampers", category: "Collection", url: "/collections/house-hampers", images: " ", price: " " }, { label: "I'm Sorry", category: "Collection", url: "/collections/rangkaian-bunga-sorry", images: " ", price: " " }, { label: "Ice Cream Cake", category: "Collection", url: "/collections/ice-cream-cake", images: " ", price: " " }, { label: "Idul Fitri", category: "Collection", url: "/collections/rangkaian-bunga-idul-fitri", images: " ", price: " " }, { label: "Jam Tangan", category: "Collection", url: "/collections/jam-tangan", images: " ", price: " " }, { label: "Jam Tangan Couple", category: "Collection", url: "/collections/jam-tangan-couple", images: " ", price: " " }, { label: "Jam Tangan Pria", category: "Collection", url: "/collections/jam-tangan-pria", images: " ", price: " " }, { label: "Jam Tangan Wanita", category: "Collection", url: "/collections/jam-tangan-wanita", images: " ", price: " " }, { label: "Jasa Packing Parcel", category: "Collection", url: "/collections/jasa-packing-parcel", images: " ", price: " " }, { label: "Jewelry", category: "Collection", url: "/collections/jewelry", images: " ", price: " " }, { label: "Jolly Hampers", category: "Collection", url: "/collections/jolly-hampers", images: " ", price: " " }, { label: "Jual Custom Cake & Hampers Termurah & Terlengkap | Outerbloom Florist & Gift", category: "Collection", url: "/collections/custom-cake-hampers", images: " ", price: " " }, { label: "Just Because", category: "Collection", url: "/collections/just-because", images: " ", price: " " }, { label: "Kado Makanan", category: "Collection", url: "/collections/kado-makanan", images: " ", price: " " }, { label: "Kado Minuman", category: "Collection", url: "/collections/kado-minuman", images: " ", price: " " }, { label: "Kado Natal", category: "Collection", url: "/collections/kado-natal", images: " ", price: " " }, { label: "Kado Unik", category: "Collection", url: "/collections/kado-unik", images: " ", price: " " }, { label: "Kado Valentine Nusantara", category: "Collection", url: "/collections/kado-valentine-nusantara", images: " ", price: " " }, { label: "Kado Valentine untuk Pria", category: "Collection", url: "/collections/kado-valentine-untuk-pria", images: " ", price: " " }, { label: "Kado Wisuda", category: "Collection", url: "/collections/kado-wisuda", images: " ", price: " " }, { label: "Kado Zodiak", category: "Collection", url: "/collections/kado-untuk-zodiak", images: " ", price: " " }, { label: "Karangan Bunga Aceh", category: "Collection", url: "/collections/karangan-bunga-aceh", images: " ", price: " " }, { label: "Karangan Bunga Ambon", category: "Collection", url: "/collections/karangan-bunga-ambon", images: " ", price: " " }, { label: "Karangan Bunga Atambua", category: "Collection", url: "/collections/karangan-bunga-atambua", images: " ", price: " " }, { label: "Karangan Bunga Bali", category: "Collection", url: "/collections/karangan-bunga-bali", images: " ", price: " " }, { label: "Karangan Bunga Balikpapan", category: "Collection", url: "/collections/karangan-bunga-balikpapan", images: " ", price: " " }, { label: "Karangan Bunga Bandung", category: "Collection", url: "/collections/karangan-bunga-bandung", images: " ", price: " " }, { label: "Karangan Bunga Bandung Barat", category: "Collection", url: "/collections/karangan-bunga-bandung-barat", images: " ", price: " " }, { label: "Karangan Bunga Bangka", category: "Collection", url: "/collections/karangan-bunga-bangka", images: " ", price: " " }, { label: "Karangan Bunga Banjarmasin", category: "Collection", url: "/collections/karangan-bunga-banjarmasin", images: " ", price: " " }, { label: "Karangan Bunga Banten", category: "Collection", url: "/collections/karangan-bunga-banten", images: " ", price: " " }, { label: "Karangan Bunga Banyumas", category: "Collection", url: "/collections/karangan-bunga-banyumas", images: " ", price: " " }, { label: "Karangan Bunga Banyuwangi", category: "Collection", url: "/collections/karangan-bunga-banyuwangi", images: " ", price: " " }, { label: "Karangan Bunga Batam", category: "Collection", url: "/collections/karangan-bunga-batam", images: " ", price: " " }, { label: "Karangan Bunga Baubau", category: "Collection", url: "/collections/karangan-bunga-baubau", images: " ", price: " " }, { label: "Karangan Bunga Bengkalis", category: "Collection", url: "/collections/karangan-bunga-bengkalis", images: " ", price: " " }, { label: "Karangan Bunga Bengkayang", category: "Collection", url: "/collections/karangan-bunga-bengkayang", images: " ", price: " " }, { label: "Karangan Bunga Bengkulu", category: "Collection", url: "/collections/karangan-bunga-bengkulu", images: " ", price: " " }, { label: "Karangan Bunga Blora", category: "Collection", url: "/collections/karangan-bunga-blora", images: " ", price: " " }, { label: "Karangan Bunga Bogor", category: "Collection", url: "/collections/karangan-bunga-bogor", images: " ", price: " " }, { label: "Karangan Bunga Bojonegoro", category: "Collection", url: "/collections/karangan-bunga-bojonegoro", images: " ", price: " " }, { label: "Karangan Bunga Boyolali", category: "Collection", url: "/collections/karangan-bunga-boyolali", images: " ", price: " " }, { label: "Karangan Bunga Brebes", category: "Collection", url: "/collections/karangan-bunga-brebes", images: " ", price: " " }, { label: "Karangan Bunga Bukittinggi", category: "Collection", url: "/collections/karangan-bunga-bukittinggi", images: " ", price: " " }, { label: "Karangan Bunga Ciamis", category: "Collection", url: "/collections/karangan-bunga-ciamis", images: " ", price: " " }
8878, { label: "Karangan Bunga Cianjur", category: "Collection", url: "/collections/karangan-bunga-cianjur", images: " ", price: " " }, { label: "Karangan Bunga Cikarang", category: "Collection", url: "/collections/karangan-bunga-cikarang", images: " ", price: " " }, { label: "Karangan Bunga Cikupa", category: "Collection", url: "/collections/karangan-bunga-cikupa", images: " ", price: " " }, { label: "Karangan Bunga Cilacap", category: "Collection", url: "/collections/karangan-bunga-cilacap", images: " ", price: " " }, { label: "Karangan Bunga Cileunyi", category: "Collection", url: "/collections/karangan-bunga-cileunyi", images: " ", price: " " }, { label: "Karangan Bunga Cimahi", category: "Collection", url: "/collections/karangan-bunga-cimahi", images: " ", price: " " }, { label: "Karangan Bunga Cirebon", category: "Collection", url: "/collections/karangan-bunga-cirebon", images: " ", price: " " }, { label: "Karangan Bunga Ciwidey", category: "Collection", url: "/collections/karangan-bunga-ciwidey", images: " ", price: " " }, { label: "Karangan Bunga Danau Toba", category: "Collection", url: "/collections/karangan-bunga-danau-toba", images: " ", price: " " }, { label: "Karangan Bunga Demak", category: "Collection", url: "/collections/karangan-bunga-demak", images: " ", price: " " }, { label: "Karangan Bunga Denpasar", category: "Collection", url: "/collections/karangan-bunga-denpasar", images: " ", price: " " }, { label: "Karangan Bunga Depok", category: "Collection", url: "/collections/karangan-bunga-depok", images: " ", price: " " }, { label: "Karangan Bunga Duka Cita", category: "Collection", url: "/collections/karangan-bunga-duka-cita", images: " ", price: " " }, { label: "Karangan Bunga Garut", category: "Collection", url: "/collections/karangan-bunga-garut", images: " ", price: " " }, { label: "Karangan Bunga Gianyar", category: "Collection", url: "/collections/karangan-bunga-gianyar", images: " ", price: " " }, { label: "Karangan Bunga Gorontalo", category: "Collection", url: "/collections/karangan-bunga-gorontalo", images: " ", price: " " }, { label: "Karangan Bunga Gowa", category: "Collection", url: "/collections/karangan-bunga-gowa", images: " ", price: " " }, { label: "Karangan Bunga Gresik", category: "Collection", url: "/collections/karangan-bunga-gresik", images: " ", price: " " }, { label: "Karangan Bunga Grobogan", category: "Collection", url: "/collections/karangan-bunga-grobogan", images: " ", price: " " }, { label: "Karangan Bunga Gunung Kidul", category: "Collection", url: "/collections/karangan-bunga-gunungkidul", images: " ", price: " " }, { label: "Karangan Bunga Indramayu", category: "Collection", url: "/collections/karangan-bunga-indramayu", images: " ", price: " " }, { label: "Karangan Bunga Jakarta", category: "Collection", url: "/collections/karangan-bunga-jakarta", images: " ", price: " " }, { label: "Karangan Bunga Jambi", category: "Collection", url: "/collections/karangan-bunga-jambi", images: " ", price: " " }, { label: "Karangan Bunga Jayapura", category: "Collection", url: "/collections/karangan-bunga-jayapura", images: " ", price: " " }, { label: "Karangan Bunga Jember", category: "Collection", url: "/collections/karangan-bunga-jember", images: " ", price: " " }, { label: "Karangan Bunga Jembrana", category: "Collection", url: "/collections/karangan-bunga-jembrana", images: " ", price: " " }, { label: "Karangan Bunga Jepara", category: "Collection", url: "/collections/karangan-bunga-jepara", images: " ", price: " " }, { label: "Karangan Bunga Jombang", category: "Collection", url: "/collections/karangan-bunga-jombang", images: " ", price: " " }, { label: "Karangan Bunga Kampung Baru", category: "Collection", url: "/collections/karangan-bunga-kampung-baru", images: " ", price: " " }, { label: "Karangan Bunga Kapuas", category: "Collection", url: "/collections/karangan-bunga-kapuas", images: " ", price: " " }, { label: "Karangan Bunga Karanganyar", category: "Collection", url: "/collections/karangan-bunga-karanganyar", images: " ", price: " " }, { label: "Karangan Bunga Karangasem", category: "Collection", url: "/collections/karangan-bunga-karangasem", images: " ", price: " " }, { label: "Karangan Bunga Karawang", category: "Collection", url: "/collections/karangan-bunga-karawang", images: " ", price: " " }, { label: "Karangan Bunga Kartosuro", category: "Collection", url: "/collections/karangan-bunga-kartosuro", images: " ", price: " " }, { label: "Karangan Bunga Kebumen", category: "Collection", url: "/collections/karangan-bunga-kebumen", images: " ", price: " " }, { label: "Karangan Bunga Kediri", category: "Collection", url: "/collections/karangan-bunga-kediri", images: " ", price: " " }, { label: "Karangan Bunga Kendal", category: "Collection", url: "/collections/karangan-bunga-ken
8878dal", images: " ", price: " " }, { label: "Karangan Bunga Kendari", category: "Collection", url: "/collections/karangan-bunga-kendari", images: " ", price: " " }, { label: "Karangan Bunga Ketapang", category: "Collection", url: "/collections/karangan-bunga-ketapang", images: " ", price: " " }, { label: "Karangan Bunga Klaten", category: "Collection", url: "/collections/karangan-bunga-klaten", images: " ", price: " " }, { label: "Karangan Bunga Kota Batu", category: "Collection", url: "/collections/karangan-bunga-kota-batu", images: " ", price: " " }, { label: "Karangan Bunga Kudus", category: "Collection", url: "/collections/karangan-bunga-kudus", images: " ", price: " " }, { label: "Karangan Bunga Kupang", category: "Collection", url: "/collections/karangan-bunga-kupang", images: " ", price: " " }, { label: "Karangan Bunga Lamongan", category: "Collection", url: "/collections/karangan-bunga-lamongan", images: " ", price: " " }, { label: "Karangan Bunga Lampung", category: "Collection", url: "/collections/karangan-bunga-lampung", images: " ", price: " " }, { label: "Karangan Bunga Langkat", category: "Collection", url: "/collections/karangan-bunga-langkat", images: " ", price: " " }, { label: "Karangan Bunga Lembang", category: "Collection", url: "/collections/karangan-bunga-lembang", images: " ", price: " " }, { label: "Karangan Bunga Lombok", category: "Collection", url: "/collections/karangan-bunga-lombok", images: " ", price: " " }, { label: "Karangan Bunga Lubuk Pakam", category: "Collection", url: "/collections/karangan-bunga-lubuk-pakam", images: " ", price: " " }, { label: "Karangan Bunga Lumajang", category: "Collection", url: "/collections/karangan-bunga-lumajang", images: " ", price: " " }, { label: "Karangan Bunga Madiun", category: "Collection", url: "/collections/karangan-bunga-madiun", images: " ", price: " " }, { label: "Karangan Bunga Magelang", category: "Collection", url: "/collections/karangan-bunga-magelang", images: " ", price: " " }, { label: "Karangan Bunga Majalengka", category: "Collection", url: "/collections/karangan-bunga-majalengka", images: " ", price: " " }, { label: "Karangan Bunga Makassar", category: "Collection", url: "/collections/karangan-bunga-makassar", images: " ", price: " " }, { label: "Karangan Bunga Malang", category: "Collection", url: "/collections/karangan-bunga-malang", images: " ", price: " " }, { label: "Karangan Bunga Mamuju", category: "Collection", url: "/collections/karangan-bunga-mamuju", images: " ", price: " " }, { label: "Karangan Bunga Manado", category: "Collection", url: "/collections/karangan-bunga-manado", images: " ", price: " " }, { label: "Karangan Bunga Manokwari", category: "Collection", url: "/collections/karangan-bunga-manokwari", images: " ", price: " " }, { label: "Karangan Bunga Maros", category: "Collection", url: "/collections/karangan-bunga-maros", images: " ", price: " " }, { label: "Karangan Bunga Mataram", category: "Collection", url: "/collections/karangan-bunga-mataram", images: " ", price: " " }, { label: "Karangan Bunga Mojokerto", category: "Collection", url: "/collections/karangan-bunga-mojokerto", images: " ", price: " " }, { label: "Karangan Bunga Nganjuk", category: "Collection", url: "/collections/karangan-bunga-nganjuk", images: " ", price: " " }, { label: "Karangan Bunga Nias", category: "Collection", url: "/collections/karangan-bunga-nias", images: " ", price: " " }, { label: "Karangan Bunga Padang", category: "Collection", url: "/collections/karangan-bunga-padang", images: " ", price: " " }, { label: "Karangan Bunga Palangkaraya", category: "Collection", url: "/collections/karangan-bunga-palangkaraya", images: " ", price: " " }, { label: "Karangan Bunga Palu", category: "Collection", url: "/collections/karangan-bunga-palu", images: " ", price: " " }, { label: "Karangan Bunga Pangkal Pinang", category: "Collection", url: "/collections/karangan-bunga-pangkal-pinang", images: " ", price: " " }, { label: "Karangan Bunga Papan", category: "Collection", url: "/collections/karangan-bunga", images: " ", price: " " }
8878, { label: "Karangan Bunga Papan Bandar Lampung", category: "Collection", url: "/collections/karangan-bunga-bandar-lampung", images: " ", price: " " }, { label: "Karangan Bunga Papan Bekasi", category: "Collection", url: "/collections/karangan-bunga-bekasi", images: " ", price: " " }, { label: "Karangan Bunga Papan Binjai", category: "Collection", url: "/collections/karangan-bunga-binjai", images: " ", price: " " }, { label: "Karangan Bunga Papan Blitar", category: "Collection", url: "/collections/karangan-bunga-blitar", images: " ", price: " " }, { label: "Karangan Bunga Papan Buleleng", category: "Collection", url: "/collections/karangan-bunga-buleleng", images: " ", price: " " }, { label: "Karangan Bunga Papan Cibubur", category: "Collection", url: "/collections/karangan-bunga-cibubur", images: " ", price: " " }, { label: "Karangan Bunga Papan Deli Serdang", category: "Collection", url: "/collections/karangan-bunga-deli-serdang", images: " ", price: " " }, { label: "Karangan Bunga Papan Jakarta Timur", category: "Collection", url: "/collections/karangan-bunga-jakarta-timur", images: " ", price: " " }, { label: "Karangan Bunga Papan Karo", category: "Collection", url: "/collections/karangan-bunga-karo", images: " ", price: " " }, { label: "Karangan Bunga Papan Medan", category: "Collection", url: "/collections/karangan-bunga-medan", images: " ", price: " " }, { label: "Karangan Bunga Papan Ngawi", category: "Collection", url: "/collections/karangan-bunga-ngawi", images: " ", price: " " }, { label: "Karangan Bunga Papan Palembang", category: "Collection", url: "/collections/karangan-bunga-palembang", images: " ", price: " " }, { label: "Karangan Bunga Papan Pemalang", category: "Collection", url: "/collections/karangan-bunga-pemalang", images: " ", price: " " }, { label: "Karangan Bunga Papan Rembang", category: "Collection", url: "/collections/karangan-bunga-rembang", images: " ", price: " " }, { label: "Karangan Bunga Papan Sragen", category: "Collection", url: "/collections/karangan-bunga-sragen", images: " ", price: " " }, { label: "Karangan Bunga Papan Tegal", category: "Collection", url: "/collections/karangan-bunga-tegal", images: " ", price: " " }, { label: "Karangan Bunga Papan Temanggung", category: "Collection", url: "/collections/karangan-bunga-temanggung", images: " ", price: " " }, { label: "Karangan Bunga Parepare", category: "Collection", url: "/collections/karangan-bunga-parepare", images: " ", price: " " }, { label: "Karangan Bunga Pasuruan", category: "Collection", url: "/collections/karangan-bunga-pasuruan", images: " ", price: " " }, { label: "Karangan Bunga Pati", category: "Collection", url: "/collections/karangan-bunga-pati", images: " ", price: " " }, { label: "Karangan Bunga Pekalongan", category: "Collection", url: "/collections/karangan-bunga-pekalongan", images: " ", price: " " }, { label: "Karangan Bunga Pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pekanbaru", images: " ", price: " " }, { label: "Karangan Bunga Pematangsiantar", category: "Collection", url: "/collections/karangan-bunga-pematangsiantar", images: " ", price: " " }, { label: "Karangan Bunga Ponorogo", category: "Collection", url: "/collections/karangan-bunga-ponorogo", images: " ", price: " " }, { label: "Karangan Bunga Pontianak", category: "Collection", url: "/collections/karangan-bunga-pontianak", images: " ", price: " " }, { label: "Karangan Bunga Probolinggo", category: "Collection", url: "/collections/karangan-bunga-probolinggo", images: " ", price: " " }, { label: "Karangan Bunga Purbalingga", category: "Collection", url: "/collections/karangan-bunga-purbalingga", images: " ", price: " " }, { label: "Karangan Bunga Purwokerto", category: "Collection", url: "/collections/karangan-bunga-purwokerto", images: " ", price: " " }, { label: "Karangan Bunga Purworejo", category: "Collection", url: "/collections/karangan-bunga-purworejo", images: " ", price: " " }, { label: "Karangan Bunga Riau", category: "Collection", url: "/collections/karangan-bunga-riau", images: " ", price: " " }, { label: "Karangan Bunga Salatiga", category: "Collection", url: "/collections/karangan-bunga-salatiga", images: " ", price: " " }, { label: "Karangan Bunga Samarinda", category: "Collection", url: "/collections/karangan-bunga-samarinda", images: " ", price: " " }, { label: "Karangan Bunga Semarang", category: "Collection", url: "/collections/karangan-bunga-semarang", images: " ", price: " " }, { label: "Karangan Bunga Serang", category: "Collection", url: "/collections/karangan-bunga-serang", images: " ", price: " " }, { label: "Karangan Bunga Sibolga", category: "Collection", url: "/collections/karangan-bunga-sibolga", images: " ", price: " " }, { label: "Karangan Bunga Sidoarjo", category: "Collection", url: "/collections/karangan-bunga-sidoarjo", images: " ", price: " " }, { label: "Karangan Bunga Singkawang", category: "Collection", url: "/collections/karangan-bunga-singkawang", images: " ", price: " " }, { label: "Karangan Bunga Solo", category: "Collection", url: "/collections/karangan-bunga-solo", images: " ", price: " " }, { label: "Karangan Bunga Sorong", category: "Collection", url: "/collections/karangan-bunga-sorong", images: " ", price: " " }, { label: "Karangan Bunga Subang", category: "Collection", url: "/collections/karangan-bunga-subang", images: " ", price: " " }, { label: "Karangan Bunga Sukabumi", category: "Collection", url: "/collections/karangan-bunga-sukabumi", images: " ", price: " " }, { label: "Karangan Bunga Sumbawa", category: "Collection", url: "/collections/karangan-bunga-sumbawa", images: " ", price: " " }, { label: "Karangan Bunga Surabaya", category: "Collection", url: "/collections/karangan-bunga-surabaya", images: " ", price: " " }, { label: "Karangan Bunga Surakarta", category: "Collection", url: "/collections/karangan-bunga-surakarta", images: " ", price: " " }, { label: "Karangan Bunga Tangerang", category: "Collection", url: "/collections/karangan-bunga-tangerang", images: " ", price: " " }, { label: "Karangan Bunga Tasikmalaya", category: "Collection", url: "/collections/karangan-bunga-tasikmalaya", images: " ", price: " " }, { label: "Karangan Bunga Ternate", category: "Collection", url: "/collections/karangan-bunga-ternate", images: " ", price: " " }, { label: "Karangan Bunga Tolitoli", category: "Collection", url: "/collections/karangan-bunga-tolitoli", images: " ", price: " " }, { label: "Karangan Bunga Toraja", category: "Collection", url: "/collections/karangan-bunga-toraja", images: " ", price: " " }, { label: "Karangan Bunga Tuban", category: "Collection", url: "/collections/karangan-bunga-tuban", images: " ", price: " " }, { label: "Karangan Bunga Tulungagung", category: "Collection", url: "/collections/karangan-bunga-tulungagung", images: " ", price: " " }, { label: "Karangan Bunga Wakatobi", category: "Collection", url: "/collections/karangan-bunga-wakatobi", images: " ", price: " " }, { label: "Karangan Bunga Wiyung", category: "Collection", url: "/collections/karangan-bunga-wiyung", images: " ", price: " " }, { label: "Karangan Bunga Wonogiri", category: "Collection", url: "/collections/karangan-bunga-wonogiri", images: " ", price: " " }, { label: "Karangan Bunga Wonokromo", category: "Collection", url: "/collections/karangan-bunga-wonokromo", images: " ", price: " " }, { label: "Karangan Bunga Wonosobo", category: "Collection", url: "/collections/karangan-bunga-wonosobo", images: " ", price: " " }, { label: "Karangan Bunga Yogyakarta", category: "Collection", url: "/collections/karangan-bunga-yogyakarta", images: " ", price: " " }, { label: "Kartu Ucapan", category: "Collection", url: "/collections/kartu-ucapan", images: " ", price: " " }, { label: "Kue Anniversary", category: "Collection", url: "/collections/kue-anniversary", images: " ", price: " " }, { label: "Kue Bachelorette", category: "Collection", url: "/collections/kue-bachelorette", images: " ", price: " " }, { label: "Kue Bandung", category: "Collection", url: "/collections/kue-bandung", images: " ", price: " " }, { label: "Kue Bulan", category: "Collection", url: "/collections/kue-bulan", images: " ", price: " " }, { label: "Kue Imlek", category: "Collection", url: "/collections/kue-imlek", images: " ", price: " " }, { label: "Kue Kering", category: "Collection", url: "/collections/kue-kering", images: " ", price: " " }, { label: "Kue Natal", category: "Collection", url: "/collections/kue-natal", images: " ", price: " " }, { label: "Kue Pernikahan", category: "Collection", url: "/collections/kue-pernikahan", images: " ", price: " " }, { label: "Kue Tart", category: "Collection", url: "/collections/kue-tart", images: " ", price: " " }, { label: "Kue Tart Oma Elly", category: "Collection", url: "/collections/kue-tart-oma-elly", images: " ", price: " " }, { label: "Kue Ulang Tahun", category: "Collection", url: "/collections/kue-ulang-tahun", images: " ", price: " " }, { label: "Lalique", category: "Collection", url: "/collections/lalique", images: " ", price: " " }, { label: "Le Sucre Du Patisserie", category: "Collection", url: "/collections/le-sucre-du-patisserie", images: " ", price: " " }, { label: "Leo ♌️ 23July - 22Augst", category: "Collection", url: "/collections/kado-untuk-zodiak-leo", images: " ", price: " " }, { label: "Letter Box", category: "Collection", url: "/collections/letter-box", images: " ", price: " " }, { label: "Libra ♎️ 23Sept - 23Oct", category: "Collection", url: "/collections/kado-untuk-zodiak-libra", images: " ", price: " " }, { label: "Lilin Aromaterapi", category: "Collection", url: "/collections/lilin-aromaterapi", images: " ", price: " " }, { label: "Lily", category: "Collection", url: "/collections/bunga-lily", images: " ", price: " " }, { label: "Lindt", category: "Collection", url: "/collections/lindt", images: " ", price: " " }, { label: "Locations", category: "Collection", url: "/collections/locations", images: " ", price: " " }, { label: "Love & Romance", category: "Collection", url: "/collections/rangkaian-bunga-i-love-you", images: " ", price: " " }, { label: "Love Bag Collection", category: "Collection", url: "/collections/love-bag-collection", images: " ", price: " " }, { label: "Love Bundle", category: "Collection", url: "/collections/paket-promo-spesial-valentine", images: " ", price: " " }, { label: "Love Bundle Nusantara", category: "Collection", url: "/collections/love-bundle-nusantara", images: " ", price: " " }, { label: "Luxury Chinese New Year Hampers", category: "Collection", url: "/collections/luxury-chinese-new-year-hampers", images: " ", price: " " }, { label: "Luxury Christmas Hampers", category: "Collection", url: "/collections/luxury-christmas-hampers", images: " ", price: " " }, { label: "Luxury Hampers", category: "Collection", url: "/collections/luxury-hampers", images: " ", price: " " }, { label: "Luxury Hampers Luar Jadetabek", category: "Collection", url: "/collections/luxury-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Luxury Newborn Hampers Collection", category: "Collection", url: "/collections/luxury-newborn-hampers-collection", images: " ", price: " " }, { label: "Luxury Ramadan Hampers", category: "Collection", url: "/collections/luxury-ramadan-hampers", images: " ", price: " " }, { label: "Luxury Set", category: "Collection", url: "/collections/luxury", images: " ", price: " " }, { label: "Manual", category: "Collection", url: "/collections/manual", images: " ", price: " " }, { label: "Massimo Gelato", category: "Collection", url: "/collections/massimo-gelato", images: " ", price: " " }, { label: "Men's Collection", category: "Collection", url: "/collections/mens-collection", images: " ", price: " " }, { label: "Mercedes Benz", category: "Collection", url: "/collections/mercedes-benz", images: " ", price: " " }, { label: "Mercy Hampers", category: "Collection", url: "/collections/mercy-
8878hampers", 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
8878o-panna", images: " ", price: " " }, { label: "Outerbloom x Clairmont", category: "Collection", url: "/collections/outerbloom-x-clairmont", images: " ", price: " " }, { label: "Outerbloom x Kikido", category: "Collection", url: "/collections/outerbloom-x-kikido", images: " ", price: " " }, { label: "Outerbloom x Miwa Pattern", category: "Collection", url: "/collections/outerbloom-x-miwa", images: " ", price: " " }, { label: "Outerbloom x Nestbloom Chinese New Year", category: "Collection", url: "/collections/outerbloom-x-nestbloom-chinese-new-year", images: " ", price: " " }, { label: "Outerbloom x NestBloom Hampers", category: "Collection", url: "/collections/outerbloom-x-nestbloom", images: " ", price: " " }, { label: "Paket Kolaborasi Outerbloom", category: "Collection", url: "/collections/paket-kolaborasi-outerbloom", images: " ", price: " " }, { label: "Paket Kolaborasi Valentine", category: "Collection", url: "/collections/paket-kolaborasi-valentine", images: " ", price: " " }, { label: "Paket Ulang Tahun", category: "Collection", url: "/collections/paket-ulang-tahun", images: " ", price: " " }, { label: "Paket Valentine Nusantara", category: "Collection", url: "/collections/paket-valentine-nusantara", images: " ", price: " " }, { label: "Paket Valentine Outerbloom", category: "Collection", url: "/collections/paket-valentine", images: " ", price: " " }, { label: "Papan Bunga", category: "Collection", url: "/collections/papan-bunga", images: " ", price: " " }, { label: "Papan Bunga Aceh", category: "Collection", url: "/collections/papan-bunga-aceh", images: " ", price: " " }, { label: "Papan Bunga Acrylic", category: "Collection", url: "/collections/papan-bunga-acrylic", images: " ", price: " " }, { label: "Papan Bunga Ambon", category: "Collection", url: "/collections/papan-bunga-ambon", images: " ", price: " " }, { label: "Papan Bunga Artificial", category: "Collection", url: "/collections/papan-bunga-artificial", images: " ", price: " " }, { label: "Papan Bunga Atambua", category: "Collection", url: "/collections/papan-bunga-atambua", images: " ", price: " " }, { label: "Papan Bunga Bali", category: "Collection", url: "/collections/papan-bunga-bali", images: " ", price: " " }, { label: "Papan Bunga Balikpapan", category: "Collection", url: "/collections/papan-bunga-balikpapan", images: " ", price: " " }, { label: "Papan Bunga Bandar Lampung", category: "Collection", url: "/collections/papan-bunga-bandar-lampung", images: " ", price: " " }, { label: "Papan Bunga Bandung", category: "Collection", url: "/collections/papan-bunga-bandung", images: " ", price: " " }, { label: "Papan Bunga Bandung Barat", category: "Collection", url: "/collections/papan-bunga-bandung-barat", images: " ", price: " " }, { label: "Papan Bunga Bangka", category: "Collection", url: "/collections/papan-bunga-bangka", images: " ", price: " " }, { label: "Papan Bunga Banjarmasin", category: "Collection", url: "/collections/papan-bunga-banjarmasin", images: " ", price: " " }, { label: "Papan Bunga Banten", category: "Collection", url: "/collections/papan-bunga-banten", images: " ", price: " " }, { label: "Papan Bunga Banyumas", category: "Collection", url: "/collections/papan-bunga-banyumas", images: " ", price: " " }, { label: "Papan Bunga Banyuwangi", category: "Collection", url: "/collections/papan-bunga-banyuwangi", images: " ", price: " " }, { label: "Papan Bunga Batam", category: "Collection", url: "/collections/papan-bunga-batam", images: " ", price: " " }, { label: "Papan Bunga Baubau", category: "Collection", url: "/collections/papan-bunga-baubau", images: " ", price: " " }, { label: "Papan Bunga Bekasi", category: "Collection", url: "/collections/papan-bunga-bekasi", images: " ", price: " " }, { label: "Papan Bunga Bengkalis", category: "Collection", url: "/collections/papan-bunga-bengkalis", images: " ", price: " " }, { label: "Papan Bunga Bengkayang", category: "Collection", url: "/collections/papan-bunga-bengkayang", images: " ", price: " " }, { label: "Papan Bunga Bengkulu", category: "Collection", url: "/collections/papan-bunga-bengkulu", images: " ", price: " " }
8878, { label: "Papan Bunga Binjai", category: "Collection", url: "/collections/papan-bunga-binjai", images: " ", price: " " }, { label: "Papan Bunga Blitar", category: "Collection", url: "/collections/papan-bunga-blitar", images: " ", price: " " }, { label: "Papan Bunga Blora", category: "Collection", url: "/collections/papan-bunga-blora", images: " ", price: " " }, { label: "Papan Bunga Bogor", category: "Collection", url: "/collections/papan-bunga-bogor", images: " ", price: " " }, { label: "Papan Bunga Bojonegoro", category: "Collection", url: "/collections/papan-bunga-bojonegoro", images: " ", price: " " }, { label: "Papan Bunga Boyolali", category: "Collection", url: "/collections/papan-bunga-boyolali", images: " ", price: " " }, { label: "Papan Bunga Brebes", category: "Collection", url: "/collections/papan-bunga-brebes", images: " ", price: " " }, { label: "Papan Bunga Bukittinggi", category: "Collection", url: "/collections/papan-bunga-bukittinggi", images: " ", price: " " }, { label: "Papan Bunga Buleleng", category: "Collection", url: "/collections/papan-bunga-buleleng", images: " ", price: " " }, { label: "Papan Bunga Ciamis", category: "Collection", url: "/collections/papan-bunga-ciamis", images: " ", price: " " }, { label: "Papan Bunga Cianjur", category: "Collection", url: "/collections/papan-bunga-cianjur", images: " ", price: " " }, { label: "Papan Bunga Cibubur", category: "Collection", url: "/collections/papan-bunga-cibubur", images: " ", price: " " }, { label: "Papan Bunga Cikarang", category: "Collection", url: "/collections/papan-bunga-cikarang", images: " ", price: " " }, { label: "Papan Bunga Cikupa", category: "Collection", url: "/collections/papan-bunga-cikupa", images: " ", price: " " }, { label: "Papan Bunga Cikupa", category: "Collection", url: "/collections/papan-bunga-cikupa-1", images: " ", price: " " }, { label: "Papan Bunga Cilacap", category: "Collection", url: "/collections/papan-bunga-cilacap", images: " ", price: " " }, { label: "Papan Bunga Cileunyi", category: "Collection", url: "/collections/papan-bunga-cileunyi", images: " ", price: " " }, { label: "Papan Bunga Cirebon", category: "Collection", url: "/collections/papan-bunga-cirebon", images: " ", price: " " }, { label: "Papan Bunga Congratulations", category: "Collection", url: "/collections/papan-bunga-ucapan-selamat", images: " ", price: " " }, { label: "Papan Bunga Congratulations Bali", category: "Collection", url: "/collections/papan-bunga-congratulations-bali", images: " ", price: " " }, { label: "Papan Bunga Congratulations Bandung", category: "Collection", url: "/collections/papan-bunga-congratulations-bandung", images: " ", price: " " }, { label: "Papan Bunga Congratulations Bekasi", category: "Collection", url: "/collections/papan-bunga-congratulations-bekasi", images: " ", price: " " }, { label: "Papan Bunga Congratulations Bogor", category: "Collection", url: "/collections/papan-bunga-congratulations-bogor", images: " ", price: " " }, { label: "Papan Bunga Congratulations Cikupa", category: "Collection", url: "/collections/papan-bunga-congratulations-cikupa", images: " ", price: " " }, { label: "Papan Bunga Congratulations Demak", category: "Collection", url: "/collections/papan-bunga-congratulations-demak", images: " ", price: " " }, { label: "Papan Bunga Congratulations Depok", category: "Collection", url: "/collections/papan-bunga-congratulations-depok", images: " ", price: " " }, { label: "Papan Bunga Congratulations Gresik", category: "Collection", url: "/collections/papan-bunga-congratulations-gresik", images: " ", price: " " }, { label: "Papan Bunga Congratulations Jakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-jakarta", images: " ", price: " " }, { label: "Papan Bunga Congratulations Jepara", category: "Collection", url: "/collections/papan-bunga-congratulations-jepara", images: " ", price: " " }, { label: "Papan Bunga Congratulations Medan", category: "Collection", url: "/collections/papan-bunga-congratulations-medan", images: " ", price: " " }, { label: "Papan Bunga Congratulations Semarang", category: "Collection", url: "/collections/papan-bunga-congratulations-semarang", images: " ", price: " " }
8878, { label: "Papan Bunga Congratulations Serang", category: "Collection", url: "/collections/papan-bunga-congratulations-serang", images: " ", price: " " }, { label: "Papan Bunga Congratulations Sidoarjo", category: "Collection", url: "/collections/papan-bunga-congratulations-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Congratulations Surabaya", category: "Collection", url: "/collections/papan-bunga-congratulations-surabaya", images: " ", price: " " }, { label: "Papan Bunga Congratulations Tangerang", category: "Collection", url: "/collections/papan-bunga-congratulations-tangerang", images: " ", price: " " }, { label: "Papan Bunga Congratulations Yogyakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-yogyakarta", images: " ", price: " " }, { label: "Papan Bunga Danau Toba", category: "Collection", url: "/collections/papan-bunga-danau-toba", images: " ", price: " " }, { label: "Papan Bunga Deli Serdang", category: "Collection", url: "/collections/papan-bunga-deli-serdang", images: " ", price: " " }, { label: "Papan Bunga Demak", category: "Collection", url: "/collections/papan-bunga-demak", images: " ", price: " " }, { label: "Papan Bunga Denpasar", category: "Collection", url: "/collections/papan-bunga-denpasar", images: " ", price: " " }, { label: "Papan Bunga Depok", category: "Collection", url: "/collections/papan-bunga-depok", images: " ", price: " " }, { label: "Papan Bunga Duka Cita", category: "Collection", url: "/collections/bunga-duka-cita", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bali", category: "Collection", url: "/collections/papan-bunga-duka-cita-bali", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bandung", category: "Collection", url: "/collections/papan-bunga-duka-cita-bandung", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bekasi", category: "Collection", url: "/collections/papan-bunga-duka-cita-bekasi", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bogor", category: "Collection", url: "/collections/papan-bunga-duka-cita-bogor", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Cikupa", category: "Collection", url: "/collections/papan-bunga-duka-cita-cikupa", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Demak", category: "Collection", url: "/collections/papan-bunga-duka-cita-demak", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Depok", category: "Collection", url: "/collections/papan-bunga-duka-cita-depok", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Gresik", category: "Collection", url: "/collections/papan-bunga-duka-cita-gresik", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Jakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-jakarta", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Jepara", category: "Collection", url: "/collections/papan-bunga-duka-cita-jepara", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Medan", category: "Collection", url: "/collections/papan-bunga-duka-cita-medan", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Semarang", category: "Collection", url: "/collections/papan-bunga-duka-cita-semarang", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Serang", category: "Collection", url: "/collections/papan-bunga-duka-cita-serang", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Sidoarjo", category: "Collection", url: "/collections/papan-bunga-duka-cita-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Surabaya", category: "Collection", url: "/collections/papan-bunga-duka-cita-surabaya", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Tangerang", category: "Collection", url: "/collections/papan-bunga-duka-cita-tangerang", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Yogyakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-yogyakarta", images: " ", price: " " }, { label: "Papan Bunga Garut", category: "Collection", url: "/collections/papan-bunga-garut", images: " ", price: " " }
8878, { label: "Papan Bunga Gianyar", category: "Collection", url: "/collections/papan-bunga-gianyar", images: " ", price: " " }, { label: "Papan Bunga Gorontalo", category: "Collection", url: "/collections/papan-bunga-gorontalo", images: " ", price: " " }, { label: "Papan Bunga Gowa", category: "Collection", url: "/collections/papan-bunga-gowa", images: " ", price: " " }, { label: "Papan Bunga Gresik", category: "Collection", url: "/collections/papan-bunga-gresik", images: " ", price: " " }, { label: "Papan Bunga Grobogan", category: "Collection", url: "/collections/papan-bunga-grobogan", images: " ", price: " " }, { label: "Papan Bunga Gunungkidul", category: "Collection", url: "/collections/papan-bunga-gunungkidul", images: " ", price: " " }, { label: "Papan Bunga Indramayu", category: "Collection", url: "/collections/papan-bunga-indramayu", images: " ", price: " " }, { label: "Papan Bunga Jakarta", category: "Collection", url: "/collections/papan-bunga-jakarta", images: " ", price: " " }, { label: "Papan Bunga Jakarta Timur", category: "Collection", url: "/collections/papan-bunga-jakarta-timur", images: " ", price: " " }, { label: "Papan Bunga Jambi", category: "Collection", url: "/collections/papan-bunga-jambi", images: " ", price: " " }, { label: "Papan Bunga Jayapura", category: "Collection", url: "/collections/papan-bunga-jayapura", images: " ", price: " " }, { label: "Papan Bunga Jember", category: "Collection", url: "/collections/papan-bunga-jember", images: " ", price: " " }, { label: "Papan Bunga Jembrana", category: "Collection", url: "/collections/papan-bunga-jembrana", images: " ", price: " " }, { label: "Papan Bunga Jepara", category: "Collection", url: "/collections/papan-bunga-jepara", images: " ", price: " " }, { label: "Papan Bunga Jombang", category: "Collection", url: "/collections/papan-bunga-jombang", images: " ", price: " " }, { label: "Papan Bunga Kampung Baru", category: "Collection", url: "/collections/papan-bunga-kampung-baru", images: " ", price: " " }, { label: "Papan Bunga Kapuas", category: "Collection", url: "/collections/papan-bunga-kapuas", images: " ", price: " " }, { label: "Papan Bunga Karanganyar", category: "Collection", url: "/collections/papan-bunga-karanganyar", images: " ", price: " " }, { label: "Papan Bunga Karangasem", category: "Collection", url: "/collections/papan-bunga-karangasem", images: " ", price: " " }, { label: "Papan Bunga Karawang", category: "Collection", url: "/collections/papan-bunga-karawang", images: " ", price: " " }, { label: "Papan Bunga Karo", category: "Collection", url: "/collections/papan-bunga-karo", images: " ", price: " " }, { label: "Papan Bunga Kartosuro", category: "Collection", url: "/collections/papan-bunga-kartosuro", images: " ", price: " " }, { label: "Papan Bunga Kebumen", category: "Collection", url: "/collections/papan-bunga-kebumen", images: " ", price: " " }, { label: "Papan Bunga Kediri", category: "Collection", url: "/collections/papan-bunga-kediri", images: " ", price: " " }, { label: "Papan Bunga Kendal", category: "Collection", url: "/collections/papan-bunga-kendal", images: " ", price: " " }, { label: "Papan Bunga Kendari", category: "Collection", url: "/collections/papan-bunga-kendari", images: " ", price: " " }, { label: "Papan Bunga Ketapang", category: "Collection", url: "/collections/papan-bunga-ketapang", images: " ", price: " " }, { label: "Papan Bunga Klaten", category: "Collection", url: "/collections/papan-bunga-klaten", images: " ", price: " " }, { label: "Papan Bunga Kota Batu", category: "Collection", url: "/collections/papan-bunga-kota-batu", images: " ", price: " " }, { label: "Papan Bunga Kudus", category: "Collection", url: "/collections/papan-bunga-kudus", images: " ", price: " " }, { label: "Papan Bunga Kupang", category: "Collection", url: "/collections/papan-bunga-kupang", images: " ", price: " " }, { label: "Papan Bunga Lamongan", category: "Collection", url: "/collections/papan-bunga-lamongan", images: " ", price: " " }, { label: "Papan Bunga Lampu LED", category: "Collection", url: "/collections/papan-bunga-lampu-led", images: " ", price: " " }
8878, { label: "Papan Bunga Lampung", category: "Collection", url: "/collections/papan-bunga-lampung", images: " ", price: " " }, { label: "Papan Bunga Langkat", category: "Collection", url: "/collections/papan-bunga-langkat", images: " ", price: " " }, { label: "Papan Bunga Lembang", category: "Collection", url: "/collections/papan-bunga-lembang", images: " ", price: " " }, { label: "Papan Bunga Lombok", category: "Collection", url: "/collections/papan-bunga-lombok", images: " ", price: " " }, { label: "Papan Bunga Lubuk Pakam", category: "Collection", url: "/collections/papan-bunga-lubuk-pakam", images: " ", price: " " }, { label: "Papan Bunga Lumajang", category: "Collection", url: "/collections/papan-bunga-lumajang", images: " ", price: " " }, { label: "Papan Bunga Madiun", category: "Collection", url: "/collections/papan-bunga-madiun", images: " ", price: " " }, { label: "Papan Bunga Magelang", category: "Collection", url: "/collections/papan-bunga-magelang", images: " ", price: " " }, { label: "Papan Bunga Majalengka", category: "Collection", url: "/collections/papan-bunga-majalengka", images: " ", price: " " }, { label: "Papan Bunga Makassar", category: "Collection", url: "/collections/papan-bunga-makassar", images: " ", price: " " }, { label: "Papan Bunga Malang", category: "Collection", url: "/collections/papan-bunga-malang", images: " ", price: " " }, { label: "Papan Bunga Mamuju", category: "Collection", url: "/collections/papan-bunga-mamuju", images: " ", price: " " }, { label: "Papan Bunga Manado", category: "Collection", url: "/collections/papan-bunga-manado", images: " ", price: " " }, { label: "Papan Bunga Manokwari", category: "Collection", url: "/collections/papan-bunga-manokwari", images: " ", price: " " }, { label: "Papan Bunga Maros", category: "Collection", url: "/collections/papan-bunga-maros", images: " ", price: " " }, { label: "Papan Bunga Mataram", category: "Collection", url: "/collections/papan-bunga-mataram", images: " ", price: " " }, { label: "Papan Bunga Medan", category: "Collection", url: "/collections/papan-bunga-medan", images: " ", price: " " }, { label: "Papan Bunga Mojokerto", category: "Collection", url: "/collections/papan-bunga-mojokerto", images: " ", price: " " }, { label: "Papan Bunga Nganjuk", category: "Collection", url: "/collections/papan-bunga-nganjuk", images: " ", price: " " }, { label: "Papan Bunga Ngawi", category: "Collection", url: "/collections/papan-bunga-ngawi", images: " ", price: " " }, { label: "Papan Bunga Nias", category: "Collection", url: "/collections/papan-bunga-nias", images: " ", price: " " }, { label: "Papan Bunga Organza", category: "Collection", url: "/collections/papan-bunga-organza", images: " ", price: " " }, { label: "Papan Bunga Padang", category: "Collection", url: "/collections/papan-bunga-padang", images: " ", price: " " }, { label: "Papan Bunga Palangkaraya", category: "Collection", url: "/collections/papan-bunga-palangkaraya", images: " ", price: " " }, { label: "Papan Bunga Palembang", category: "Collection", url: "/collections/papan-bunga-palembang", images: " ", price: " " }, { label: "Papan Bunga Palu", category: "Collection", url: "/collections/papan-bunga-palu", images: " ", price: " " }, { label: "Papan Bunga Pangkal Pinang", category: "Collection", url: "/collections/papan-bunga-pangkal-pinang", images: " ", price: " " }, { label: "Papan Bunga Parepare", category: "Collection", url: "/collections/papan-bunga-parepare", images: " ", price: " " }, { label: "Papan Bunga Pasuruan", category: "Collection", url: "/collections/papan-bunga-pasuruan", images: " ", price: " " }, { label: "Papan Bunga Pati", category: "Collection", url: "/collections/papan-bunga-pati", images: " ", price: " " }, { label: "Papan Bunga Pekalongan", category: "Collection", url: "/collections/papan-bunga-pekalongan", images: " ", price: " " }, { label: "Papan Bunga Pekanbaru", category: "Collection", url: "/collections/papan-bunga-pekanbaru", images: " ", price: " " }, { label: "Papan Bunga Pemalang", category: "Collection", url: "/collections/papan-bunga-pemalang", images: " ", price: " " }
8878, { label: "Papan Bunga Pematangsiantar", category: "Collection", url: "/collections/papan-bunga-pematangsiantar", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bali", category: "Collection", url: "/collections/papan-bunga-pernikahan-bali", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bandung", category: "Collection", url: "/collections/papan-bunga-pernikahan-bandung", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bekasi", category: "Collection", url: "/collections/papan-bunga-pernikahan-bekasi", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bogor", category: "Collection", url: "/collections/papan-bunga-pernikahan-bogor", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Cikupa", category: "Collection", url: "/collections/papan-bunga-pernikahan-cikupa", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Demak", category: "Collection", url: "/collections/papan-bunga-pernikahan-demak", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Depok", category: "Collection", url: "/collections/papan-bunga-pernikahan-depok", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Gresik", category: "Collection", url: "/collections/papan-bunga-pernikahan-gresik", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Jakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-jakarta", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Jepara", category: "Collection", url: "/collections/papan-bunga-pernikahan-jepara", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Medan", category: "Collection", url: "/collections/papan-bunga-pernikahan-medan", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Semarang", category: "Collection", url: "/collections/papan-bunga-pernikahan-semarang", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Serang", category: "Collection", url: "/collections/papan-bunga-pernikahan-serang", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Sidoarjo", category: "Collection", url: "/collections/papan-bunga-pernikahan-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Surabaya", category: "Collection", url: "/collections/papan-bunga-pernikahan-surabaya", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Tangerang", category: "Collection", url: "/collections/papan-bunga-pernikahan-tangerang", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Yogyakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-yogyakarta", images: " ", price: " " }, { label: "Papan Bunga Ponorogo", category: "Collection", url: "/collections/papan-bunga-ponorogo", images: " ", price: " " }, { label: "Papan Bunga Pontianak", category: "Collection", url: "/collections/papan-bunga-pontianak", images: " ", price: " " }, { label: "Papan Bunga Premium", category: "Collection", url: "/collections/papan-bunga-premium", images: " ", price: " " }, { label: "Papan Bunga Printing", category: "Collection", url: "/collections/papan-bunga-printing", images: " ", price: " " }, { label: "Papan Bunga Printing Congratulations", category: "Collection", url: "/collections/papan-bunga-printing-congratulations", images: " ", price: " " }, { label: "Papan Bunga Probolinggo", category: "Collection", url: "/collections/papan-bunga-probolinggo", images: " ", price: " " }, { label: "Papan Bunga Promo", category: "Collection", url: "/collections/promo-papan-bunga", images: " ", price: " " }, { label: "Papan Bunga Purbalingga", category: "Collection", url: "/collections/papan-bunga-purbalingga", images: " ", price: " " }, { label: "Papan Bunga Purwokerto", category: "Collection", url: "/collections/papan-bunga-purwokerto", images: " ", price: " " }, { label: "Papan Bunga Purworejo", category: "Collection", url: "/collections/papan-bunga-purworejo", images: " ", price: " " }, { label: "Papan Bunga Rembang", category: "Collection", url: "/collections/papan-bunga-rembang", images: " ", price: " " }, { label: "Papan Bunga Riau", category: "Collection", url: "/collections/papan-bunga-riau", images: " ", price: " " }
8878, { label: "Papan Bunga Salatiga", category: "Collection", url: "/collections/papan-bunga-salatiga", images: " ", price: " " }, { label: "Papan Bunga Samarinda", category: "Collection", url: "/collections/papan-bunga-samarinda", images: " ", price: " " }, { label: "Papan Bunga Selamat Bandung", category: "Collection", url: "/collections/papan-bunga-selamat-bandung", images: " ", price: " " }, { label: "Papan Bunga Selamat Medan", category: "Collection", url: "/collections/papan-bunga-selamat-medan", images: " ", price: " " }, { label: "Papan Bunga Semarang", category: "Collection", url: "/collections/papan-bunga-semarang", images: " ", price: " " }, { label: "Papan Bunga Serang", category: "Collection", url: "/collections/papan-bunga-serang", images: " ", price: " " }, { label: "Papan Bunga Sibolga", category: "Collection", url: "/collections/papan-bunga-sibolga", images: " ", price: " " }, { label: "Papan Bunga Sidoarjo", category: "Collection", url: "/collections/papan-bunga-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Singkawang", category: "Collection", url: "/collections/papan-bunga-singkawang", images: " ", price: " " }, { label: "Papan Bunga Solo", category: "Collection", url: "/collections/papan-bunga-solo", images: " ", price: " " }, { label: "Papan Bunga Sorong", category: "Collection", url: "/collections/papan-bunga-sorong", images: " ", price: " " }, { label: "Papan Bunga Sragen", category: "Collection", url: "/collections/papan-bunga-sragen", images: " ", price: " " }, { label: "Papan Bunga Standard", category: "Collection", url: "/collections/papan-bunga-standard", images: " ", price: " " }, { label: "Papan Bunga Subang", category: "Collection", url: "/collections/papan-bunga-subang", images: " ", price: " " }, { label: "Papan Bunga Sukabumi", category: "Collection", url: "/collections/papan-bunga-sukabumi", images: " ", price: " " }, { label: "Papan Bunga Sumbawa", category: "Collection", url: "/collections/papan-bunga-sumbawa", images: " ", price: " " }, { label: "Papan Bunga Surabaya", category: "Collection", url: "/collections/papan-bunga-surabaya", images: " ", price: " " }, { label: "Papan Bunga Surakarta", category: "Collection", url: "/collections/papan-bunga-surakarta", images: " ", price: " " }, { label: "Papan Bunga Tangerang", category: "Collection", url: "/collections/papan-bunga-tangerang", images: " ", price: " " }, { label: "Papan Bunga Tasikmalaya", category: "Collection", url: "/collections/papan-bunga-tasikmalaya", images: " ", price: " " }, { label: "Papan Bunga Tegal", category: "Collection", url: "/collections/papan-bunga-tegal", images: " ", price: " " }, { label: "Papan Bunga Temanggung", category: "Collection", url: "/collections/papan-bunga-temanggung", images: " ", price: " " }, { label: "Papan Bunga Ternate", category: "Collection", url: "/collections/papan-bunga-ternate", images: " ", price: " " }, { label: "Papan Bunga Tolitoli", category: "Collection", url: "/collections/papan-bunga-tolitoli", images: " ", price: " " }, { label: "Papan Bunga Toraja", category: "Collection", url: "/collections/papan-bunga-toraja", images: " ", price: " " }, { label: "Papan Bunga Tuban", category: "Collection", url: "/collections/papan-bunga-tuban", images: " ", price: " " }, { label: "Papan Bunga Tulungagung", category: "Collection", url: "/collections/papan-bunga-tulungagung", images: " ", price: " " }, { label: "Papan Bunga Wakatobi", category: "Collection", url: "/collections/papan-bunga-wakatobi", images: " ", price: " " }, { label: "Papan Bunga Wedding", category: "Collection", url: "/collections/papan-bunga-ucapan-pernikahan", images: " ", price: " " }, { label: "Papan Bunga Wiyung", category: "Collection", url: "/collections/papan-bunga-wiyung", images: " ", price: " " }, { label: "Papan Bunga Wonogiri", category: "Collection", url: "/collections/papan-bunga-wonogiri", images: " ", price: " " }, { label: "Papan Bunga Wonokromo", category: "Collection", url: "/collections/papan-bunga-wonokromo", images: " ", price: " " }, { label: "Papan Bunga Wonosobo", category: "Collection", url: "/collections/papan-bunga-wonosobo", images: " ", price: " " }
8878, { label: "Papan Bunga Yogyakarta", category: "Collection", url: "/collections/papan-bunga-yogyakarta", images: " ", price: " " }, { label: "Paper Flower Board", category: "Collection", url: "/collections/papan-bunga-kertas", images: " ", price: " " }, { label: "Paper Flower Board Bali", category: "Collection", url: "/collections/papan-bunga-kertas-bali", images: " ", price: " " }, { label: "Paper Flower Board Gresik", category: "Collection", url: "/collections/papan-bunga-kertas-gresik", images: " ", price: " " }, { label: "Paper Flower Board Sidoarjo", category: "Collection", url: "/collections/papan-bunga-kertas-sidoarjo", images: " ", price: " " }, { label: "Paper Flower Board Surabaya", category: "Collection", url: "/collections/papan-bunga-kertas-surabaya", images: " ", price: " " }, { label: "Paper Flower Board Yogyakarta", category: "Collection", url: "/collections/papan-bunga-kertas-yogyakarta", images: " ", price: " " }, { label: "Parcel", category: "Collection", url: "/collections/parcel", images: " ", price: " " }, { label: "Parcel Buah", category: "Collection", url: "/collections/parcel-buah-segar", images: " ", price: " " }, { label: "Parcel Buah Bandung", category: "Collection", url: "/collections/parcel-buah-bandung", images: " ", price: " " }, { label: "Parcel Buah Semarang", category: "Collection", url: "/collections/parcel-buah-semarang", images: " ", price: " " }, { label: "Parcel Buah Sidoarjo", category: "Collection", url: "/collections/parcel-buah-sidoarjo", images: " ", price: " " }, { label: "Parcel Buah Surabaya", category: "Collection", url: "/collections/parcel-buah-surabaya", images: " ", price: " " }, { label: "Parcel Imlek 2025", category: "Collection", url: "/collections/parcel-imlek", images: " ", price: " " }, { label: "Parcel Imlek Bandung", category: "Collection", url: "/collections/parcel-imlek-bandung", images: " ", price: " " }, { label: "Parcel Imlek Nusantara", category: "Collection", url: "/collections/parcel-imlek-nusantara", images: " ", price: " " }, { label: "Parcel Lebaran Bandung", category: "Collection", url: "/collections/parcel-lebaran-bandung", images: " ", price: " " }, { label: "Parcel Lebaran Nusantara", category: "Collection", url: "/collections/parcel-lebaran-indonesia", images: " ", price: " " }, { label: "Parcel Lebaran Surabaya", category: "Collection", url: "/collections/parcel-lebaran-surabaya", images: " ", price: " " }, { label: "Parcel Makanan", category: "Collection", url: "/collections/parcel-makanan", images: " ", price: " " }, { label: "Parcel Natal & Tahun Baru 2026", category: "Collection", url: "/collections/hampers-natal", images: " ", price: " " }, { label: "Parcel Natal & Tahun Baru Bandung", category: "Collection", url: "/collections/parcel-natal-bandung", images: " ", price: " " }, { label: "Parcel Newborn Nusantara", category: "Collection", url: "/collections/parcel-newborn-nusantara", images: " ", price: " " }, { label: "Parcel Tahun Baru", category: "Collection", url: "/collections/new-year-tahun-baru", images: " ", price: " " }, { label: "Party Supplies", category: "Collection", url: "/collections/party-supplies", images: " ", price: " " }, { label: "Partysaurus", category: "Collection", url: "/collections/partysaurus", images: " ", price: " " }, { label: "Pasar Bunga Splendid Malang", category: "Collection", url: "/collections/pasar-bunga-splendid-malang", images: " ", price: " " }, { label: "Passionate Red Valentine", category: "Collection", url: "/collections/red-valentine", images: " ", price: " " }, { label: "Pendant", category: "Collection", url: "/collections/liontin", images: " ", price: " " }, { label: "Personalized Fashion", category: "Collection", url: "/collections/fashion", images: " ", price: " " }, { label: "Personalized Gift", category: "Collection", url: "/collections/personalized-gift", images: " ", price: " " }, { label: "Personalized Gift Pria", category: "Collection", url: "/collections/personalized-gift-pria", images: " ", price: " " }, { label: "Personalized Gift Wanita", category: "Collection", url: "/collections/personalized-gift-wanita", images: " ", price: " " }, { label: "Personalized Gifts", category: "Collection", url: "/collections/personalized-gifts", images: " ", price: " " }, { label: "Pesca Ice Cream Cakes", category: "Collection", url: "/collections/pesca", images: " ", price: " " }, { label: "Phone Case", category: "Collection", url: "/collections/phone-case", images: " ", price: " " }, { label: "Photobook", category: "Collection", url: "/collections/photobook", images: " ", price: " " }, { label: "Pisces ♓️ 19Feb - 20March", category: "Collection", url: "/collections/kado-untuk-zodiak-pisces", images: " ", price: " " }, { label: "Pohon Natal", category: "Collection", url: "/collections/pohon-natal", images: " ", price: " " }, { label: "Premium Hampers", category: "Collection", url: "/collections/parcel-premium", images: " ", price: " " }, { label: "Premium Newborn Hampers Collection", category: "Collection", url: "/collections/premium-newborn-hampers-collection", images: " ", price: " " }, { label: "Printing Cake", category: "Collection", url: "/collections/printing-cake", images: " ", price: " " }, { label: "Prom", category: "Collection", url: "/collections/prom", images: " ", price: " " }, { label: "Promo Merdeka", category: "Collection", url: "/collections/merdeka", images: " ", price: " " }, { label: "Rangkaian Bunga", category: "Collection", url: "/collections/rangkaian-bunga", images: " ", price: " " }, { label: "Rangkaian Bunga Dekorasi", category: "Collection", url: "/collections/rangkaian-bunga-dekorasi", images: " ", price: " " }, { label: "Rangkaian Bunga Ulang Tahun", category: "Collection", url: "/collections/rangkaian-bunga-ulang-tahun", images: " ", price: " " }, { label: "Romantic & Sweets", category: "Collection", url: "/collections/romantic-sweets", images: " ", price: " " }, { label: "Romantic Package", category: "Collection", url: "/collections/romantic-package", images: " ", price: " " }, { label: "Rose Beam", category: "Collection", url: "/collections/rose-beam", images: " ", price: " " }, { label: "Rose Box", category: "Collection", url: "/collections/rose-box", images: " ", price: " " }, { label: "Roses", category: "Collection", url: "/collections/bunga-mawar", images: " ", price: " " }, { label: "Rp 500.000 - Rp 800.000", category: "Collection", url: "/collections/rp-500-000-rp-800-000", images: " ", price: " " }, { label: "Rp 800.000 - Rp 1.000.000", category: "Collection", url: "/collections/rp-800-000-rp-1-000-000", images: " ", price: " " }, { label: "Rustic & Monochrome Ramadan Hampers", category: "Collection", url: "/collections/rustic-monochrome-ramadanhampers", images: " ", price: " " }, { label: "Rustic Bloom", category: "Collection", url: "/collections/dried-flowers", images: " ", price: " " }, { label: "Rustic Style Flowers", category: "Collection", url: "/collections/rustic-style-flowers", images: " ", price: " " }, { label: "Sagittarius ♐️ 22Nov - 21Des", category: "Collection", url: "/collections/kado-untuk-zodiak-sagittarius", images: " ", price: " " }, { label: "Sameday Delivery", category: "Collection", url: "/collections/sameday", images: " ", price: " " }, { label: "Savoury Dish", category: "Collection", url: "/collections/savoury-dish", images: " ", price: " " }, { label: "Saychiz", category: "Collection", url: "/collections/saychiz", images: " ", price: " " }, { label: "Scented Candles", category: "Collection", url: "/collections/scented-candles", images: " ", price: " " }, { label: "Scorpio ♏️ 24Oct - 21Nov", category: "Collection", url: "/collections/kado-untuk-zodiak-scorpio", images: " ", price: " " }, { label: "Self Pick-Up", category: "Collection", url: "/collections/self-pick-up", images: " ", price: " " }, { label: "Semua Produk", category: "Collection", url: "/collections/all", images: " ", price: " " }, { label: "Serenitea", category: "Collection", url: "/collections/serenitea", images: " ", price: " " }, { label: "Share Outerbloom Moment", category: "Collection", url: "/collections/share-moment", images: " ", price: " " }, { label: "Share your Happiness", category: "Collection", url: "/collections/share-happiness", images: " ", price: " " }, { label: "Signature Cake", category: "Collection", url: "/collections/signature-cake", images: " ", price: " " }, { label: "Signature Chinese New Year Hampers", category: "Collection", url: "/collections/signature-chinese-new-year-hampers", images: " ", price: " " }, { label: "Signature Christmas & New Year Hampers", category: "Collection", url: "/collections/signature-christmas-hampers", images: " ", price: " " }, { label: "Signature Hampers", category: "Collection", url: "/collections/signature-hampers", images: " ", price: " " }, { label: "Signature Hampers Luar Jadetabek", category: "Collection", url: "/collections/signature-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Signature Hampers Sameday", category: "Collection", url: "/collections/signature-hampers-sameday", images: " ", price: " " }, { label: "Signature Ramadan Hampers", category: "Collection", url: "/collections/signature-ramadan-hampers", images: " ", price: " " }, { label: "Slice Cake", category: "Collection", url: "/collections/slice-cake", images: " ", price: " " }, { label: "Snack Box", category: "Collection", url: "/collections/snack-box", images: " ", price: " " }, { label: "Sol et Terre", category: "Collection", url: "/collections/sol-et-terre", images: " ", price: " " }, { label: "Sorbet", category: "Collection", url: "/collections/sorbet", images: " ", price: " " }, { label: "Special Day", category: "Collection", url: "/collections/special-day", images: " ", price: " " }, { label: "Special Edition", category: "Collection", url: "/collections/special-edition", images: " ", price: " " }, { label: "Special For Her", category: "Collection", url: "/collections/special-for-her", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " }, { label: "AGAM99 ikuti perkembagnan terbaru portal Pragmatic Play bersama kami serta dapatkan info paling terbaru secara rutin dengan penyajian jelas, ringkas, dan mudah diakses kapan saja 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
8878: " " }, { label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " }, { label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " }, { label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " }, { label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " }, { label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " }, { label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " }, { label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " }, { label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " }, { label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " }, { label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " }, { label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " }, { label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " }, { label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " }, { label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " }, { label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " }, { label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " }, { label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " }, { label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " }, { label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " }, { label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " }, { label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " }, { label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " }, { label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " }, { label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " }, { label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " }, { label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " }, { label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " }, { label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " }, { label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " }, { label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " }, { label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " }, { label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " }, { label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " }, { 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: " " }
8878, { label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " }, { label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " }, { label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " }, { label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " }, { label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " }, { label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " }, { label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " }, { label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " }, { label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " }, { label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " }, { label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " }, { label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " }, { label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " }, { label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " }, { label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " }, { label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " }, { label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " }, { label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " }, { label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " }, { label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " }, { label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " }, { label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " }, { label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " }, { label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " }, { label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " }, { label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " }, { label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " }, { label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " }, { label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " }, { label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " }, { label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " }, { label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " }, { label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " }, { label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " }, { label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " }, { label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " }, { label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " }, { label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " }, { label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " }, { label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " }, { label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " }, { label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " }, { label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " }, { label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " }, { label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " }, { label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " }, { label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
8878dal", images: " ", price: " " }, { label: "Toko Bunga Kendari", category: "Collection", url: "/collections/toko-bunga-kendari", images: " ", price: " " }, { label: "Toko Bunga Ketapang", category: "Collection", url: "/collections/toko-bunga-ketapang", images: " ", price: " " }, { label: "Toko Bunga Klaten", category: "Collection", url: "/collections/toko-bunga-klaten", images: " ", price: " " }, { label: "Toko Bunga Klender", category: "Collection", url: "/collections/toko-bunga-klender", images: " ", price: " " }, { label: "Toko Bunga Kota Baru Yogyakarta", category: "Collection", url: "/collections/toko-bunga-kota-baru-yogyakarta", images: " ", price: " " }, { label: "Toko Bunga Kota Batu", category: "Collection", url: "/collections/toko-bunga-kota-batu", images: " ", price: " " }, { label: "Toko Bunga Kramat Jati", category: "Collection", url: "/collections/toko-bunga-kramat-jati", images: " ", price: " " }, { label: "Toko Bunga Kudus", category: "Collection", url: "/collections/toko-bunga-kudus", images: " ", price: " " }, { label: "Toko Bunga Kupang", category: "Collection", url: "/collections/toko-bunga-kupang", images: " ", price: " " }, { label: "Toko Bunga Lamongan", category: "Collection", url: "/collections/toko-bunga-lamongan", images: " ", price: " " }, { label: "Toko Bunga Langkat", category: "Collection", url: "/collections/toko-bunga-langkat", images: " ", price: " " }, { label: "Toko Bunga Lebak Bulus", category: "Collection", url: "/collections/toko-bunga-lebak-bulus", images: " ", price: " " }, { label: "Toko Bunga Lembang", category: "Collection", url: "/collections/toko-bunga-lembang", images: " ", price: " " }, { label: "Toko Bunga Lenteng Agung", category: "Collection", url: "/collections/toko-bunga-lenteng-agung", images: " ", price: " " }, { label: "Toko Bunga Lombok", category: "Collection", url: "/collections/toko-bunga-lombok", images: " ", price: " " }, { label: "Toko Bunga Lubuk Pakam", category: "Collection", url: "/collections/toko-bunga-lubuk-pakam", images: " ", price: " " }, { label: "Toko Bunga Lumajang", category: "Collection", url: "/collections/toko-bunga-lumajang", images: " ", price: " " }, { label: "Toko Bunga Madiun", category: "Collection", url: "/collections/toko-bunga-madiun", images: " ", price: " " }, { label: "Toko Bunga Magelang", category: "Collection", url: "/collections/toko-bunga-magelang", images: " ", price: " " }, { label: "Toko Bunga Majalengka", category: "Collection", url: "/collections/toko-bunga-majalengka", images: " ", price: " " }, { label: "Toko Bunga Makassar", category: "Collection", url: "/collections/toko-bunga-makassar", images: " ", price: " " }, { label: "Toko Bunga Malang", category: "Collection", url: "/collections/toko-bunga-malang", images: " ", price: " " }, { label: "Toko Bunga Manado", category: "Collection", url: "/collections/toko-bunga-manado", images: " ", price: " " }, { label: "Toko Bunga Mangga Besar", category: "Collection", url: "/collections/toko-bunga-mangga-besar", images: " ", price: " " }, { label: "Toko Bunga Manokwari", category: "Collection", url: "/collections/toko-bunga-manokwari", images: " ", price: " " }, { label: "Toko Bunga Maros", category: "Collection", url: "/collections/toko-bunga-maros", images: " ", price: " " }, { label: "Toko Bunga Mataram", category: "Collection", url: "/collections/toko-bunga-mataram", images: " ", price: " " }, { label: "Toko Bunga Medan", category: "Collection", url: "/collections/toko-bunga-medan", images: " ", price: " " }, { label: "Toko Bunga Mojokerto", category: "Collection", url: "/collections/toko-bunga-mojokerto", images: " ", price: " " }, { label: "Toko Bunga Nganjuk", category: "Collection", url: "/collections/toko-bunga-nganjuk", images: " ", price: " " }, { label: "Toko Bunga Ngawi", category: "Collection", url: "/collections/toko-bunga-ngawi", images: " ", price: " " }, { label: "Toko Bunga Nias", category: "Collection", url: "/collections/toko-bunga-nias", images: " ", price: " " }, { label: "Toko Bunga Nusa Tenggara", category: "Collection", url: "/collections/toko-bunga-nusa-tenggara", images: " ", price: " " }, { label: "Toko Bunga Padang", category: "Collection", url: "/collections/toko-bunga-padang", images: " ", price: " " }, { label: "Toko Bunga Palembang", category: "Collection", url: "/collections/toko-bunga-palembang", images: " ", price: " " }, { label: "Toko Bunga Palu", category: "Collection", url: "/collections/toko-bunga-palu", images: " ", price: " " }, { label: "Toko Bunga Pangkal Pinang", category: "Collection", url: "/collections/toko-bunga-pangkal-pinang", images: " ", price: " " }, { label: "Toko Bunga Papua", category: "Collection", url: "/collections/toko-bunga-papua", images: " ", price: " " }, { label: "Toko Bunga Parepare", category: "Collection", url: "/collections/toko-bunga-parepare", images: " ", price: " " }, { label: "Toko Bunga Pasar Baru", category: "Collection", url: "/collections/toko-bunga-pasar-baru", images: " ", price: " " }, { label: "Toko Bunga Pasar Minggu", category: "Collection", url: "/collections/toko-bunga-pasar-minggu", images: " ", price: " " }, { label: "Toko Bunga Pasar Rebo", category: "Collection", url: "/collections/toko-bunga-pasar-rebo", images: " ", price: " " }, { label: "Toko Bunga Pasuruan", category: "Collection", url: "/collections/toko-bunga-pasuruan", images: " ", price: " " }, { label: "Toko Bunga Pati", category: "Collection", url: "/collections/toko-bunga-pati", images: " ", price: " " }, { label: "Toko Bunga Pekalongan", category: "Collection", url: "/collections/toko-bunga-pekalongan", images: " ", price: " " }, { label: "Toko Bunga Pekanbaru", category: "Collection", url: "/collections/toko-bunga-pekanbaru", images: " ", price: " " }, { label: "Toko Bunga Pemalang", category: "Collection", url: "/collections/toko-bunga-pemalang", images: " ", price: " " },
8879                    { 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" }
8879, { 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" }
8879, { 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" }
8880                ];
8881
8882
8883                $(".header-input-search").catcomplete({
8884                    appendTo: ".searchResult", source: function (request, response) {
8885                        var results = $.ui.autocomplete.filter(data, request.term);
8886                        var predicate = function () {
8887                            var counter = { Collection: 0, Produk: 0 };
8888                            var fn = function (item) { counter[item.category] += 1; return (counter[item.category] <= 5); }
8889                            return fn
8890                        }();
8891                        response(results.filter(predicate));
8892                    },
8893                    minLength: 1,
8894                    //results are clickable
8895                    select: function (event, ui) { window.location = ui.item.url; }
8896                });
8897                $(".header-input-search2").catcomplete({
8898                    appendTo: ".searchResult2",
8899                    source: function (request, response) {
8900                        var results = $.ui.autocomplete.filter(data, request.term);
8901                        var predicate = function () {
8902                            var counter = { Collection: 0, Produk: 0 };
8903                            var fn = function (item) {
8904                                counter[item.category] += 1;
8905                                return (counter[item.category] <= 5);
8906                            }
8907                            return fn
8908                        }();
8909                        response(results.filter(predicate));
8910                    },
8911                    minLength: 1,
8912                    //results are clickable
8913                    select: function (event, ui) {
8914                        window.location = ui.item.url;
8915                    }
8916                });
8917            });
8918        </script>
8918
8919
8920        
8920<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
8920
8921        
8921<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
8921
8922
8923        
8923<script>
8924            (function () {
8925                var youtube = document.querySelectorAll(".youtube");
8926                for (var i = 0; i < youtube.length; i++) {
8927                    var source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/sddefault_1x.jpg";
8928                    var datasource = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/sddefault.jpg";
8929                    var image = new Image();
8930                    image.src = source;
8931                    image.setAttribute("data-src", datasource);
8932                    image.classList.add("swiper-lazy");
8933                    image.addEventListener("load", function () {
8934                        youtube[i].appendChild(image);
8935                    }(i));
8936                    youtube[i].addEventListener("click", function () {
8937                        var iframe = document.createElement("iframe");
8938                        iframe.setAttribute("width", "480");
8939                        iframe.setAttribute("height", "480");
8940                        iframe.setAttribute("frameborder", "0");
8941                        iframe.setAttribute("allowfullscreen", "");
8942                        iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset.embed + "?rel=0&showinfo=0&autoplay=1");
8943                        this.innerHTML = "";
8944                        this.appendChild(iframe);
8945                    });
8946                };
8947
8948            })();
8949
8950            /* Lazy Load */
8951            const mainLazyLoad = new LazyLoad({ threshold: 400 });
8952            $(document).ready(function () {
8953
8954                $("selectxxx").addClass("needsclick");
8955                FastClick.attach(document.body);
8956
8957                var $customSelects = $('.select-search');
8958                $customSelects.select2({
8959                    templateResult: function (result, container) {
8960                        if (!result.id) {
8961                            return result.text;
8962                        }
8963                        container.className += ' needsclick';
8964                        return result.text;
8965                    }
8966                });
8967                $customSelects.each(function (index, el) { $(el).data('select2').$container.find('*').addClass('needsclick'); });
8968                $(document).on('select2:open', () => {
8969                    document.querySelector('.select2-search__field').focus();
8970                });
8971
8972
8973                $(".overlay").click(function () {
8974                    $(".js-drawer-close").click();
8975                });
8976                $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function () {
8977                    $("html").toggleClass("nav_open");
8978                });
8979
8980                $('.swatch-element label').on('click', function () {
8981                    var srcImg = $(this).data('src');
8982                    $('#thumb-image-product .product-single__thumbnail').each(function () {
8983                        if ($(this).attr("href") == srcImg) {
8984                            $(this).trigger('click');
8985                        }
8986                    });
8987                });
8988                var defaultValue = $(".swatch input:checked").val()
8989
8990                $('#purchaseProduct .swatch [type=radio]').change(function () {
8991                    var optionIndex = $(this).closest('.swatch').attr('data-option-index');
8992                    var optionValue = $(this).val();
8993                    console.log(optionIndex, optionValue)
8994                    var value = parseInt(optionValue.split(' ')[0])
8995                    $(this)
8996                        .closest('#purchaseProduct')
8997                        .find('.single-option-selector')
8998                        .eq(optionIndex)
8999                        .val(optionValue)
9000                        .trigger('change');
9001
9002                });
9003
9004            });
9005            $(document).ready(function () {
9006                $(".nav-search a").click(function (e) {
9007                    e.preventDefault();
9008                    $(".icon-navsearch").toggle();
9009                    $(".icon-navclose").toggle();
9010                    $(".site-nav__item > .site-nav__link").toggle();
9011                    $(".open-search").toggle();
9012                    $(".open-search input").focus();
9013                });
9014                $(".best-price-guarantee").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/logo-best-price-guarantee-grid_75x.png?v=72489032173169839
9014651752652420' alt='Logo Best Price Guarantee'>");
9015                if ($(window).width() < 768) {
9016                    $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
9017                    $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
9018                    $(".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'>");
9019                } else {
9020                    $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
9021                    $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
9022                    $(".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'>");
9023                }
9024                $(".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'>");
9025                $(".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'>");
9026            });
9027        </script>
9027
9028
9029
9030
9031
9032
9033
9034
9035        
9035<script type="text/javascript">
9036            var wishlistpage = 0;
9037
9038            var quickShop_money_format = "<span class='money'>" + "Rp {{amount_no_decimals}}" + "</span>";
9039        </script>
9039
9040
9041        <!-- Remove duplicate wishlist.js reference -->
9042        <style>
9043            .fade {
9044                opacity: 0;
9045                -webkit-transition: opacity .15s linear;
9046                -o-transition: opacity .15s linear;
9047                transition: opacity .15s linear
9048            }
9049
9050            .modal {
9051                position: fixed;
9052                top: 0;
9053                right: 0;
9054                bottom: 0;
9055                left: 0;
9056                z-index: 999999;
9057                display: none;
9058                overflow: hidden;
9059                -webkit-overflow-scrolling: touch;
9060                outline: 0
9061            }
9062
9063            .fade.in {
9064                opacity: 1
9065            }
9066
9067            .modal-open .modal {
9068                overflow-x: hidden;
9069                overflow-y: auto;
9070                z-index: 999999;
9071                background-color: rgba(0, 0, 0, .3)
9072            }
9073
9074            .modal-dialog {
9075                position: relative;
9076                width: auto;
9077                margin: 10px
9078            }
9079
9080            .wishlist-model .modal-dialog {
9081                width: 700px
9082            }
9083
9084            .modal.fade .modal-dialog {
9085                -webkit-transition: -webkit-transform .3s ease-out;
9086                -o-transition: -o-transform .3s ease-out;
9087                transition: transform .3s ease-out;
9088                -webkit-transform: translate(0, -25%);
9089                -ms-transform: translate(0, -25%);
9090                -o-transform: translate(0, -25%);
9091                transform: translate(0, -25%)
9092            }
9093
9094            .modal.in .modal-dialog {
9095                -webkit-transform: translate(0, 0);
9096                -ms-transform: translate(0, 0);
9097                -o-transform: translate(0, 0);
9098                transform: translate(0, 0)
9099            }
9100
9101            .modal-content {
9102                position: relative;
9103                background-color: #fff;
9104                -webkit-background-clip: padding-box;
9105                background-clip: padding-box;
9106                border: 1px solid #999;
9107                border: 1px solid rgba(0, 0, 0, .2);
9108                outline: 0;
9109                -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
9110                box-shadow: 0 3px 9px rgba(0, 0, 0, .5)
9111            }
9112
9113            .wishlist-model .modal-content {}
9114
9115            .wishlist-model .modal-header {
9116                min-height: 0;
9117                padding: 0;
9118                border-bottom: 0
9119            }
9120
9121            .close {
9122                float: right;
9123                font-size: 21px;
9124                font-weight: 700;
9125                line-height: 1;
9126                color: #000;
9127                text-shadow: 0 1px 0 #121212;
9128                filter: alpha(opacity=20);
9129                opacity: .2
9130            }
9131
9132            button.close {
9133                -webkit-appearance: none;
9134                padding: 0;
9135                cursor: pointer;
9136                background: 0 0;
9137                border: 0
9138            }
9139
9140            .modal-header .close {
9141                margin-top: -2px
9142            }
9143
9144            .wishlist-model .close {
9145                position: absolute;
9146                top: -10px;
9147                right: -10px;
9148                background: #fff;
9149                opacity: 1;
9150                width: 30px;
9151                height: 30px;
9152                font-size: 15px;
9153                border-radius: 50%;
9154                z-index: 10;
9155                box-shadow: 0 1px 4px 0 #121212
9156            }
9157
9158            .wishlist-model .close .icon-close {
9159                width: 25px;
9160                height: 25px
9161            }
9162
9163            .modal-body {
9164                position: relative;
9165                padding: 15px
9166            }
9167
9168            .wishlist-model .modal-body {
9169                padding: 0 30px;
9170                display: flex
9171            }
9172
9173            .wishlist-model .wishlist-left {
9174                width: 66.67%;
9175                border-right: 1px solid #ccc;
9176                padding: 30px 0
9177            }
9178
9179            .wishlist-model .wishlist-note {
9180                position: relative;
9181                display: inline-block;
9182                margin-bottom: 20px;
9183                margin-left: 35px;
9184                border-bottom: 1px solid #121212;
9185                color: #121212
9186            }
9187
9188            .wishlist-model .wishlist-note a {
9189                color: #ffffff;
9190            }
9191
9192            .wishlist-model .wishlist-note .cirle {
9193                position: absolute;
9194                top: -4px;
9195                left: -35px;
9196                width: 25px;
9197                height: 25px;
9198                color: #fff;
9199                background: #121212;
9200                line-height: 25px;
9201                border-radius: 50%;
9202                text-align: center
9203            }
9204
9205            .wishlist-model .wishlist-note svg {
9206                fill: #fff
9207            }
9208
9209            .wishlist-model .wishlist-note .cirle .icon-check {
9210                vertical-align: middle
9211            }
9212
9213            .wishlist-model .product-left {
9214                width: 33.33%;
9215                float: left;
9216                margin-right: 30px
9217            }
9218
9219            .wishlist-model .wishlist-image {
9220                overflow: hidden
9221            }
9222
9223            .wishlist-model .wishlist-image img {
9224                transition: all .3s linear
9225            }
9226
9227            .wishlist-model .wishlist-name {
9228                padding: 0;
9229                margin-bottom: 10px
9230            }
9231
9232            .wishlist-model .wishlist-name a {
9233                color: #ffffff;
9234            }
9235
9236            .wishlist-model .wishlist-price {
9237                margin-bottom: 10px
9238            }
9239
9240            .wishlist-model .wishlist-price .price {
9241                font-weight: 700;
9242                margin-right: 10px;
9243                font-size: 15px
9244            }
9245
9246            .wishlist-model .wishlist-price .price_compare {
9247                color: #ccc
9248            }
9249
9250            .wishlist-model .wishlist-right {
9251                width: 33.33%;
9252                padding: 30px 0;
9253                padding-left: 30px
9254            }
9255
9256            .wishlist-model .btn-quick-shop {
9257                width: 100%;
9258                border-color: #121212;
9259                background: #fff;
9260                color: #121212;
9261                padding: 0 30px;
9262                transition: all .2s linear;
9263                height: 36px;
9264                margin-bottom: 10px;
9265                text-transform: uppercase
9266            }
9267
9268            .wishlist-model .btn-cta {
9269                width: 100%;
9270                font-size: 1em;
9271                border-color: #ffffff;
9272                background: #ffffff;
9273                color: #fff;
9274                padding: 0;
9275                transition: all .2s linear;
9276                height: 36px;
9277                line-height: 36px;
9278                margin-bottom: 10px
9279            }
9280
9281            .wishlist-model .quantity-content {
9282                text-align: center
9283            }
9284
9285            .wishlist-model .quantity-content input {
9286                outline: none;
9287                text-align: center;
9288                font-weight: 600;
9289                border: 1px solid #121212
9290            }
9291
9292            .wishlist-model .quantity-content button {
9293                border-color: #121212
9294            }
9295
9296            @media (min-width:768px) {
9297                .modal-dialog {
9298                    width: 600px;
9299                    margin: 30px auto
9300                }
9301
9302                .modal-content {
9303                    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
9304                    box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
9305                }
9306            }
9307        </style>
9308
9309        <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
9310            <div class="modal-dialog" role="document">
9311                <div class="modal-content">
9312                    <div class="modal-body">Your Wishlist is empty!</div>
9313                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
9314                            aria-hidden="true">&times;</span></button>
9315                </div>
9316            </div>
9317        </div>
9318
9319        <div class="wishlist-model">
9320            <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
9321                <div class="modal-dialog white-modal">
9322                    <div class="modal-content">
9323                        <div class="modal-header">
9324                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
9325                                <svg class="icon icon-close" version="1.1"
9326                                    xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="32"
9327                                    height="32" viewBox="0 0 32 32">
9328                                    <title>icon-close</title>
9329                                    <path
9330                                        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">
9331                                    </path>
9332                                </svg>
9333                            </button>
9334                        </div>
9335                        <div class="modal-body">
9336                            <div class="wishlist-left">
9337                                <div class="wishlist-note">
9338                                    <span class="cirle"><svg version="1.1"
9339                                            xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="32"
9340                                            height="32" viewBox="0 0 32 32">
9341                                            <title>icon-check</title>
9342                                            <path
9343                                                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">
9344                                            </path>
9345                                        </svg></span>
9346                                    Product added to <a href="/pages/wish-list">Wishlist</a>
9347                                </div>
9348                                <div class="wishlist-product">
9349                                    <div class="product-left">
9350                                        <div class="wishlist-image"></div>
9351                                    </div>
9352                                    <div class="product-right">
9353                                        <div class="wishlist-name"></div>
9354                                        <div class="wishlist-price"></div>
9355                                    </div>
9356                                </div>
9357                            </div>
9358                            <div class="wishlist-right">
9359                                <div class="wishlist-cart">
9360                                    <form action="/cart/add" method="post" class="variants-form variants"
9361                                        id="AddToCartForm" enctype="multipart/form-data">
9362                                        <div class="others-bottom">
9363                                            <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
9364                                            <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
9365                                                <span id="AddToCartText" class="">Beli Sekarang</span>
9366                                            </button>
9367                                        </div>
9368                                        <div id="wishlist-variants-container" class="variants-wrapper"></div>
9369                                        <div class="quantity-content">
9370                                            <label>QTY</label>
9371                                            <input type="number" size="5" class="" name="quantity" value="1" />
9372                                        </div>
9373                                    </form>
9374                                </div>
9375                            </div>
9376                        </div>
9377                    </div>
9378                </div>
9379            </div>
9380        </div>
9381
9382
9383        <style>
9384            .stamped-badge[data-rating="0.0"] {
9385                display: none !Important;
9386            }
9387
9388            div[data-load-type="continue"] ul.stamped-pagination li.next a,
9389            div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
9390                border-radius: 0px;
9391            }
9392
9393            .stamped-review-body {
9394                padding-left: 0px !important;
9395            }
9396
9397            #product-reviews .stamped-header:after {
9398                display: none !Important;
9399            }
9400
9401            #stamped-main-widget .stamped-container,
9402            .stamped-badge-caption,
9403            #stamped-reviews-widget {
9404                font-family: inherit !important;
9405            }
9406        </style>
9407
9408
9409
9410        <div id='stamped-rewards-init' class='stamped-rewards-init' data-key-public=''></div>
9411
9412        
9412<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418"
9413            defer></script>
9413
9414        <!-- Remove duplicate jQuery reference and load wishlist script properly -->
9415        
9415<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012"
9416            defer></script>
9416
9417
9418        
9418<script>
9419            function myInit() { StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
9420        </script>
9420
9421        
9421<script async onload="myInit()" type="text/javascript"
9422            src="https://cdn1.stamped.io/files/widget.min.js"></script>
9422
9423        <style>
9424            .jss59 {
9425                background-color: rgba(0, 0, 0, 0.6);
9426            }
9427
9428            .MuiBackdrop-root {
9429                top: 0;
9430                left: 0;
9431                right: 0;
9432                bottom: 0;
9433                display: flex;
9434                z-index: -1;
9435                position: fixed;
9436                align-items: center;
9437                justify-content: center;
9438                background-color: rgba(0, 0, 0, 0.5);
9439                -webkit-tap-highlight-color: transparent;
9440            }
9441
9442            .MuiDialog-scrollPaper {
9443                display: flex;
9444                align-items: center;
9445                justify-content: center;
9446            }
9447
9448            .MuiDialog-container {
9449                height: 100%;
9450                outline: 0;
9451            }
9452
9453            .MuiPaper-elevation24 {
9454                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);
9455            }
9456
9457            .MuiDialog-paper {
9458                margin: 32px;
9459                position: relative;
9460                overflow-y: auto;
9461            }
9462
9463            .MuiDialog-paperScrollPaper {
9464                display: flex;
9465                max-height: calc(100% - 64px);
9466                flex-direction: column;
9467            }
9468
9469            .MuiDialog-paperWidthSm {
9470                max-width: 600px;
9471            }
9472
9473            #location-lock-dialog {
9474                top: 20%;
9475                left: 0;
9476                right: 0;
9477                width: 30%;
9478                margin: 0px auto;
9479                display: block;
9480                padding: 30px;
9481                z-index: 99999;
9482                position: fixed;
9483                font-size: 14px;
9484                background: rgb(0, 0, 0);
9485                box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
9486                text-align: center;
9487                font-family: Roboto, Arial, sans-serif;
9488                line-height: 1;
9489                border-radius: 8px;
9490                -webkit-font-smoothing: subpixel-antialiased;
9491            }
9492
9493            .MuiButtonBase-root {
9494                color: inherit;
9495                border: 0;
9496                cursor: pointer;
9497                margin: 0;
9498                display: inline-flex;
9499                outline: 0;
9500                padding: 0;
9501                position: relative;
9502                align-items: center;
9503                user-select: none;
9504                border-radius: 0;
9505                vertical-align: middle;
9506                -moz-appearance: none;
9507                justify-content: center;
9508                text-decoration: none;
9509                background-color: transparent;
9510                -webkit-appearance: none;
9511                -webkit-tap-highlight-color: transparent;
9512            }
9513
9514            .MuiIconButton-root {
9515                flex: 0 0 auto;
9516                color: rgba(0, 0, 0, 0.54);
9517                padding: 12px;
9518                overflow: visible;
9519                font-size: 1.5rem;
9520                text-align: center;
9521                transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9522                border-radius: 50%;
9523            }
9524
9525            .MuiIconButton-label {
9526                width: 100%;
9527                display: flex;
9528                align-items: inherit;
9529                justify-content: inherit;
9530            }
9531
9532            .MuiSvgIcon-root {
9533                fill: currentColor;
9534                width: 1em;
9535                height: 1em;
9536                display: inline-block;
9537                font-size: 1.5rem;
9538                transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9539                flex-shrink: 0;
9540                user-select: none;
9541            }
9542
9543            .MuiTouchRipple-root {
9544                top: 0;
9545                left: 0;
9546                right: 0;
9547                bottom: 0;
9548                z-index: 0;
9549                overflow: hidden;
9550                position: absolute;
9551                border-radius: inherit;
9552                pointer-events: none;
9553            }
9554
9555            .jss36 {
9556                color: #222222;
9557                font-size: 24px;
9558                font-family: Roboto, Arial, sans-serif;
9559                font-weight: 500;
9560            }
9561
9562            .jss37 {
9563                color: #555555;
9564                padding: 10px 0px 0px;
9565                font-size: 14px;
9566            }
9567
9568            .MuiFormGroup-root {
9569                display: flex;
9570                flex-wrap: wrap;
9571                flex-direction: column;
9572            }
9573
9574            .MuiFormGroup-row {
9575                flex-direction: row;
9576            }
9577
9578            .jss63 {
9579                width: 85%;
9580                margin: 15px auto;
9581                display: flex;
9582                padding: 11px 0px 0px;
9583                justify-content: space-evenly;
9584            }
9585
9586            .MuiFormControlLabel-root {
9587                cursor: pointer;
9588                display: inline-flex;
9589                align-items: center;
9590                margin-left: -11px;
9591                margin-right: 16px;
9592                vertical-align: middle;
9593                -webkit-tap-highlight-color: transparent;
9594            }
9595
9596            .jss70 {
9597                margin: 0;
9598            }
9599
9600            .MuiButtonBase-root {
9601                color: inherit;
9602                border: 0;
9603                cursor: pointer;
9604                margin: 0;
9605                display: inline-flex;
9606                outline: 0;
9607                padding: 0;
9608                position: relative;
9609                align-items: center;
9610                user-select: none;
9611                border-radius: 0;
9612                vertical-align: middle;
9613                -moz-appearance: none;
9614                justify-content: center;
9615                text-decoration: none;
9616                background-color: transparent;
9617                -webkit-appearance: none;
9618                -webkit-tap-highlight-color: transparent;
9619            }
9620
9621            .MuiIconButton-root {
9622                flex: 0 0 auto;
9623                color: rgba(0, 0, 0, 0.54);
9624                padding: 12px;
9625                overflow: visible;
9626                font-size: 1.5rem;
9627                text-align: center;
9628                transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
9629                border-radius: 50%;
9630            }
9631
9632            .MuiIconButton-colorSecondary {
9633                color: #20B2AA;
9634            }
9635
9636            .jss71 {
9637                padding: 9px;
9638            }
9639
9640            .MuiRadio-root {
9641                color: rgba(0, 0, 0, 0.54);
9642            }
9643
9644            .jss64 {
9645                padding: 2px;
9646            }
9647
9648            .MuiRadio-colorSecondary.Mui-checked {
9649                color: #20B2AA;
9650            }
9651
9652            .MuiIconButton-label {
9653                width: 100%;
9654                display: flex;
9655                align-items: inherit;
9656                justify-content: inherit;
9657            }
9658
9659            .MuiTypography-root {
9660                margin: 0;
9661            }
9662
9663            .MuiTypography-body1 {
9664                font-size: 18px;
9665                font-family: Roboto, sans-serif;
9666                font-weight: 400;
9667                line-height: 1.5;
9668            }
9669
9670            .location-popup_area-block__sp9Ws {
9671                display: -moz-box;
9672                display: flex;
9673                -moz-box-orient: vertical;
9674                -moz-box-direction: normal;
9675                flex-direction: column;
9676                -moz-box-pack: center;
9677                justify-content: center;
9678                position: relative;
9679                margin: 10px 10% 0;
9680            }
9681
9682            .location-popup_pin-search-box__3l5mJ {
9683                width: 100%;
9684                display: -moz-box;
9685                display: flex;
9686                -moz-box-align: center;
9687                align-items: center;
9688            }
9689
9690            .location-popup_place-icon-city__1XAX5,
9691            .location-popup_place-icon__jSG0Q {
9692                position: absolute;
9693                z-index: 999;
9694            }
9695
9696            .location-popup_place-icon__jSG0Q {
9697                color: #ffffff;
9698                padding-left: 8px;
9699            }
9700
9701            .location-popup_place-icon__jSG0Q svg {
9702                width: 18px;
9703                height: 18px;
9704            }
9705
9706            .location-popup_cancel-icon__FHujU {
9707                color: #fff;
9708                right: 10px;
9709                width: 16px;
9710                cursor: pointer;
9711                height: 16px;
9712                display: none;
9713                padding: 5px;
9714                position: absolute;
9715                background: #999;
9716                text-align: center;
9717                border-radius: 50%;
9718            }
9719
9720            .location-popup_pin-search-box__3l5mJ>div>select {
9721                /*     -webkit-box-shadow: 0 0 10px #ffffff;
9722     box-shadow: 0 0 10px #ffffff; */
9723                text-transform: capitalize;
9724                border: 1px solid #ffffff;
9725                color: #ffffff;
9726                width: 100%;
9727                margin: 0;
9728                display: -moz-box;
9729                display: flex;
9730                padding: 0 30px;
9731                -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
9732                -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
9733                animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
9734                font-size: 16px;
9735                border-radius: 4px;
9736                height: 44px;
9737                moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
9738                webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
9739            }
9740
9741            .MuiButtonBase-root {
9742                color: inherit;
9743                border: 0;
9744                cursor: pointer;
9745                margin: 0;
9746                display: inline-flex;
9747                outline: 0;
9748                padding: 0;
9749                position: relative;
9750                align-items: center;
9751                user-select: none;
9752                border-radius: 0;
9753                vertical-align: middle;
9754                -moz-appearance: none;
9755                justify-content: center;
9756                text-decoration: none;
9757                background-color: transparent;
9758                -webkit-appearance: none;
9759                -webkit-tap-highlight-color: transparent;
9760            }
9761
9762            .MuiButton-root {
9763                color: rgba(0, 0, 0, 0.87);
9764                padding: 6px 16px;
9765                font-size: 0.875rem;
9766                min-width: 64px;
9767                box-sizing: border-box;
9768                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;
9769                font-family: Roboto, sans-serif;
9770                font-weight: 500;
9771                line-height: 1.75;
9772                border-radius: 4px;
9773                text-transform: uppercase;
9774            }
9775
9776            .MuiButton-contained {
9777                color: rgba(0, 0, 0, 0.87);
9778                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);
9779                background-color: #e0e0e0;
9780            }
9781
9782            .MuiButtonBase-root.Mui-disabled {
9783                cursor: default;
9784                pointer-events: none;
9785            }
9786
9787            .MuiButton-label {
9788                width: 100%;
9789                display: inherit;
9790                align-items: inherit;
9791                justify-content: inherit;
9792            }
9793
9794            .cartButton_login_content__2j1f7 {
9795                display: -moz-box;
9796                display: flex;
9797                text-align: center;
9798                z-index: 9;
9799                font-size: 18px;
9800                font-weight: 500;
9801                color: #fff;
9802            }
9803
9804            .jss35 {
9805                top: 5px;
9806                right: 5px;
9807                padding: 4px;
9808                position: absolute;
9809                border-radius: 50%;
9810            }
9811
9812            .jss67 {
9813                cursor: pointer;
9814                font-size: 15px;
9815                line-height: 1.3;
9816                padding-left: 5px;
9817            }
9818
9819            .jss69 {
9820                color: #222222;
9821            }
9822
9823            .jss80 {
9824                color: #fff;
9825                width: 100%;
9826                height: 52px;
9827                padding: 11px 16px;
9828                font-size: 18px;
9829                min-width: 88px;
9830                min-height: 36px;
9831                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;
9832                font-weight: 500;
9833                line-weight: 1em;
9834                border-radius: 4px;
9835                text-transform: uppercase;
9836                background-color: #E87325;
9837            }
9838
9839            @media (min-width: 991px) {
9840                .cartButton_login_content__2j1f7 {
9841                    font-weight: 500;
9842                }
9843            }
9844
9845            @media (max-width: 992px) {
9846                #location-lock-dialog {
9847                    width: 100%;
9848                    top: auto;
9849                    bottom: 0;
9850                    padding-left: 0;
9851                    padding-right: 0;
9852                }
9853
9854                .MuiFormGroup-row {
9855                    display: block
9856                }
9857
9858                .MuiIconButton-label input {
9859                    margin: 0;
9860                }
9861            }
9862        </style>
9863        <div role="presentation" class="MuiDialog-root jss34"
9864            style="display: none;position: fixed; z-index: 9999; inset: 0px;">
9865            <div class="MuiBackdrop-root" aria-hidden="true"
9866                style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
9867            <div tabindex="0" data-test="sentinelStart"></div>
9868            <div class="MuiDialog-container MuiDialog-scrollPaper" role="none presentation" tabindex="-1"
9869                style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;">
9870                <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded"
9871                    role="dialog">
9872                    <div class="jss31 undefined" id="location-lock-dialog">
9873                        <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35"
9874                            tabindex="0" type="button" aria-label="close">
9875                            <span class="MuiIconButton-label">
9876                                <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
9877                                    <path
9878                                        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">
9879                                    </path>
9880                                </svg>
9881                            </span>
9882                            <span class="MuiTouchRipple-root"></span>
9883                        </button>
9884                        <div>
9885                            <div class="jss36">Select Delivery Location</div>
9886                            <div class="jss37">Select a delivery location to see product availability</div>
9887                        </div>
9888                        <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
9889                            <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
9890                                <span
9891                                    class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary"
9892                                    aria-disabled="false">
9893                                    <span class="MuiIconButton-label">
9894                                        <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek"
9895                                            checked="" name="location">
9896                                        <span class="jss41"></span>
9897                                    </span>
9898                                    <span class="MuiTouchRipple-root"></span>
9899                                </span>
9900                                <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
9901                                    <span class="jss67 jss69">Jabodetabek</span>
9902                                </span>
9903                            </label>
9904                            <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
9905                                <span
9906                                    class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary"
9907                                    aria-disabled="false">
9908                                    <span class="MuiIconButton-label">
9909                                        <input id="non-jabodetabek" class="jss49" type="radio"
9910                                            value="Outside Jabodetabek" name="location">
9911                                        <span class="jss40"></span>
9912                                    </span>
9913                                    <span class="MuiTouchRipple-root"></span>
9914                                </span>
9915                                <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
9916                                    <span class="jss67 jss68">Outside Jabodetabek</span>
9917                                </span>
9918                            </label>
9919                        </div>
9920                        <div>
9921                            <div class="MuiGrid-root location-popup_area-block__sp9Ws">
9922                                <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
9923                                    <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
9924                                        <svg class="MuiSvgIcon-root jss6" focusable="false" viewBox="0 0 24 24"
9925                                            aria-hidden="true" style="font-size:16px">
9926                                            <path
9927                                                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">
9928                                            </path>
9929                                        </svg>
9930                                    </div>
9931                                    <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
9932                                        <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
9933                                    </div>
9934                                    <div style="width: 100%;">
9935                                        <select id="choose-location" class="form-control">
9936                                            <option value="">Choose Location</option>
9937                                            <option value="jakarta">Jakarta</option>
9938                                            <option value="bogor">Bogor</option>
9939                                            <option value="depok">Depok</option>
9940                                            <option value="tangerang">Tangerang</option>
9941                                            <option value="bekasi">Bekasi</option>
9942                                        </select>
9943                                    </div>
9944                                </div>
9945                            </div>
9946                        </div>
9947                        <button class="MuiButtonBase-root MuiButton-root MuiButton-contained jss55" tabindex="-1"
9948                            type="button" title="" id="location-lock-submit" data-idforcdp="actionBtn-cdp"
9949                            data-testid="location-lock-submit"
9950                            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;"
9951                            data-content="">
9952                            <span class="MuiButton-label">
9953                                <span class=""></span>
9954                                <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7"
9955                                    style="font-weight: 500;" data-content="">Continue Shopping</span>
9956                            </span>
9957                        </button>
9958                    </div>
9959                </div>
9960            </div>
9961            <div tabindex="0" data-test="sentinelEnd"></div>
9962        </div>
9963
9964        
9964<script>
9965            const jabodetabek = [
9966                {
9967                    "code": "jakarta",
9968                    "city": "jakarta",
9969                    "zip": []
9970                },
9971                {
9972                    "code": "bogor",
9973                    "city": "bogor",
9974                    "zip": []
9975                },
9976                {
9977                    "code": "depok",
9978                    "city": "depok",
9979                    "zip": []
9980                },
9981                {
9982                    "code": "tangerang",
9983                    "city": "tangerang",
9984                    "zip": []
9985                },
9986                {
9987                    "code": "bekasi",
9988                    "city": "bekasi",
9989                    "zip": []
9990                }
9991            ]
9992            let cityNonJabodetabek = [
9993
9994
9995
9996                "pengiriman_aceh",
9997
9998
9999
10000
10001
10002                "pengiriman_ambon",
10003
10004
10005
10006
10007
10008                "pengiriman_atambua",
10009
10010
10011
10012
10013
10014                "pengiriman_badung",
10015
10016
10017
10018
10019
10020                "pengiriman_bali",
10021
10022
10023
10024
10025
10026                "pengiriman_balikpapan",
10027
10028
10029
10030
10031
10032                "pengiriman_bandar lampung",
10033
10034
10035
10036
10037
10038                "pengiriman_bandung",
10039
10040
10041
10042
10043
10044                "pengiriman_bandung barat",
10045
10046
10047
10048
10049
10050                "pengiriman_banjarmasin",
10051
10052
10053
10054
10055
10056                "pengiriman_banyumas",
10057
10058
10059
10060
10061
10062                "pengiriman_banyuwangi",
10063
10064
10065
10066
10067
10068                "pengiriman_batam",
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078                "pengiriman_biak",
10079
10080
10081
10082
10083
10084                "pengiriman_binjai",
10085
10086
10087
10088
10089
10090                "pengiriman_blitar",
10091
10092
10093
10094
10095
10096                "pengiriman_blora",
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106                "pengiriman_bojonegoro",
10107
10108
10109
10110
10111
10112                "pengiriman_boyolali",
10113
10114
10115
10116
10117
10118                "pengiriman_bukittinggi",
10119
10120
10121
10122
10123
10124                "pengiriman_buleleng",
10125
10126
10127
10128
10129
10130                "pengiriman_ciamis",
10131
10132
10133
10134
10135
10136                "pengiriman_cianjur",
10137
10138
10139
10140
10141
10142                "pengiriman_cibinong",
10143
10144
10145
10146
10147
10148                "pengiriman_cikarang",
10149
10150
10151
10152
10153
10154                "pengiriman_cikupa",
10155
10156
10157
10158
10159
10160                "pengiriman_cilacap",
10161
10162
10163
10164
10165
10166                "pengiriman_cileunyi",
10167
10168
10169
10170
10171
10172                "pengiriman_cimahi",
10173
10174
10175
10176
10177
10178                "pengiriman_cirebon",
10179
10180
10181
10182
10183
10184                "pengiriman_ciwidey",
10185
10186
10187
10188
10189
10190                "pengiriman_deli serdang",
10191
10192
10193
10194
10195
10196                "pengiriman_demak",
10197
10198
10199
10200
10201
10202                "pengiriman_denpasar",
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212                "pengiriman_garut",
10213
10214
10215
10216
10217
10218                "pengiriman_gianyar",
10219
10220
10221
10222
10223
10224                "pengiriman_gresik",
10225
10226
10227
10228
10229
10230                "pengiriman_gunung kidul",
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240                "pengiriman_jambi",
10241
10242
10243
10244
10245
10246                "pengiriman_jayapura",
10247
10248
10249
10250
10251
10252                "pengiriman_jember",
10253
10254
10255
10256
10257
10258                "pengiriman_jepara",
10259
10260
10261
10262
10263
10264                "pengiriman_jombang",
10265
10266
10267
10268
10269
10270                "pengiriman_karanganyar",
10271
10272
10273
10274
10275
10276                "pengiriman_karawang",
10277
10278
10279
10280
10281
10282                "pengiriman_karo",
10283
10284
10285
10286
10287
10288                "pengiriman_kebumen",
10289
10290
10291
10292
10293
10294                "pengiriman_kediri",
10295
10296
10297
10298
10299
10300                "pengiriman_keerom",
10301
10302
10303
10304
10305
10306                "pengiriman_kendal",
10307
10308
10309
10310
10311
10312                "pengiriman_klaten",
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322                "pengiriman_kudus",
10323
10324
10325
10326
10327
10328                "pengiriman_kupang",
10329
10330
10331
10332
10333
10334                "pengiriman_lainnya",
10335
10336
10337
10338
10339
10340                "pengiriman_lamongan",
10341
10342
10343
10344
10345
10346                "pengiriman_lampung",
10347
10348
10349
10350
10351
10352                "pengiriman_lampung barat",
10353
10354
10355
10356
10357
10358                "pengiriman_lembang",
10359
10360
10361
10362
10363
10364                "pengiriman_lombok",
10365
10366
10367
10368
10369
10370                "pengiriman_lumajang",
10371
10372
10373
10374
10375
10376                "pengiriman_madiun",
10377
10378
10379
10380
10381
10382                "pengiriman_magelang",
10383
10384
10385
10386
10387
10388                "pengiriman_majalengka",
10389
10390
10391
10392
10393
10394                "pengiriman_makassar",
10395
10396
10397
10398
10399
10400                "pengiriman_malang",
10401
10402
10403
10404
10405
10406                "pengiriman_manado",
10407
10408
10409
10410
10411
10412                "pengiriman_medan",
10413
10414
10415
10416
10417
10418                "pengiriman_mengwi",
10419
10420
10421
10422
10423
10424                "pengiriman_mojokerto",
10425
10426
10427
10428
10429
10430                "pengiriman_nganjuk",
10431
10432
10433
10434
10435
10436                "pengiriman_ngawi",
10437
10438
10439
10440
10441
10442                "pengiriman_padang",
10443
10444
10445
10446
10447
10448                "pengiriman_palembang",
10449
10450
10451
10452
10453
10454                "pengiriman_pasuruan",
10455
10456
10457
10458
10459
10460                "pengiriman_pati",
10461
10462
10463
10464
10465
10466                "pengiriman_pekalongan",
10467
10468
10469
10470
10471
10472                "pengiriman_pekanbaru",
10473
10474
10475
10476
10477
10478                "pengiriman_pemalang",
10479
10480
10481
10482
10483
10484                "pengiriman_ponorogo",
10485
10486
10487
10488
10489
10490                "pengiriman_pontianak",
10491
10492
10493
10494
10495
10496                "pengiriman_probolinggo",
10497
10498
10499
10500
10501
10502                "pengiriman_purbalingga",
10503
10504
10505
10506
10507
10508                "pengiriman_purwakarta",
10509
10510
10511
10512
10513
10514                "pengiriman_purwokerto",
10515
10516
10517
10518
10519
10520                "pengiriman_rembang",
10521
10522
10523
10524
10525
10526                "pengiriman_riau",
10527
10528
10529
10530
10531
10532                "pengiriman_salatiga",
10533
10534
10535
10536
10537
10538                "pengiriman_samarinda",
10539
10540
10541
10542
10543
10544                "pengiriman_semarang",
10545
10546
10547
10548
10549
10550                "pengiriman_sentani",
10551
10552
10553
10554
10555
10556                "pengiriman_serang",
10557
10558
10559
10560
10561
10562                "pengiriman_sidoarjo",
10563
10564
10565
10566
10567
10568                "pengiriman_singkawang",
10569
10570
10571
10572
10573
10574                "pengiriman_sragen",
10575
10576
10577
10578
10579
10580                "pengiriman_subang",
10581
10582
10583
10584
10585
10586                "pengiriman_sukabumi",
10587
10588
10589
10590
10591
10592                "pengiriman_sumbawa",
10593
10594
10595
10596
10597
10598                "pengiriman_surabaya",
10599
10600
10601
10602
10603
10604                "pengiriman_surakarta solo",
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614                "pengiriman_tasikmalaya",
10615
10616
10617
10618
10619
10620                "pengiriman_tegal",
10621
10622
10623
10624
10625
10626                "pengiriman_timika",
10627
10628
10629
10630
10631
10632                "pengiriman_wamena",
10633
10634
10635
10636
10637
10638                "pengiriman_wiyung",
10639
10640
10641
10642
10643
10644                "pengiriman_wonokromo",
10645
10646
10647
10648
10649
10650                "pengiriman_yogyakarta",
10651
10652
10653
10654
10655
10656
10657            ]
10658            console.log(cityNonJabodetabek)
10659            let non_jabodetabek = []
10660            for (var i = 0; i < cityNonJabodetabek.length; i++) {
10661                const obj = {
10662                    "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ', '-'),
10663                    "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ', '-'),
10664                    "zip": []
10665                }
10666                non_jabodetabek.push(obj)
10667            }
10668            let current_location = getCookie("location_delivery")
10669            $("[name=location]").change(function () {
10670                let v = $(this).val()
10671                let option = []
10672                if (v == 'Jabodetabek') {
10673                    for (var i = 0; i < jabodetabek.length; i++) {
10674                        const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
10675                        option.push(jabodetabekHtml)
10676                    }
10677                    $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
10678                } else {
10679                    for (var i = 0; i < non_jabodetabek.length; i++) {
10680                        const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
10681                        option.push(nonjabodetabekHtml)
10682                    }
10683                    $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
10684                }
10685            })
10686
10687            $("#location-lock-submit").click(function (e) {
10688                let select = $("#choose-location")
10689                let value = select.val().toLowerCase()
10690                console.log(value)
10691                if (select.val() == "") {
10692                    return alert("Choose Your Location")
10693                    e.preventDefault()
10694                }
10695                setCookie("location_delivery", value, 1000000);
10696
10697                location.reload();
10698
10699            })
10700
10701            $("#close-popup-delivery").click(function () {
10702                $(".MuiDialog-root").hide()
10703                if (!current_location) {
10704                    setCookie("location_delivery", "jakarta", 1000000);
10705                    $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
10706                }
10707            })
10708            $("#loc_delivery, #loc_delivery_mobile").click(function () {
10709                $(".MuiDialog-root").show()
10710            })
10711
10712
10713            if (!current_location) {
10714
10715            } else {
10716                $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
10717                console.log(current_location)
10718                $("#choose-location").each(function () {
10719                    if (current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi') {
10720                        $("#jabodetabek").trigger("click")
10721                    } else {
10722                        $("#non-jabodetabek").trigger("click")
10723                    }
10724                    $("#choose-location").find("option[value=" + current_location + "]").attr("selected", "selected")
10725                })
10726            }
10727
10728            // 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'){
10729            //   $("#timeMalam").attr("disabled", false)
10730            // } else {
10731            //   $("#timeMalam").attr("disabled", true)
10732            // }
10733
10734            if (current_location && current_location != 'jakarta') {
10735                $("#self-pickup").attr("disabled", true)
10736            }
10737
10738            function setCookie(name, value, days) {
10739                var expires = "";
10740                if (days) {
10741                    var date = new Date();
10742                    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
10743                    expires = "; expires=" + date.toUTCString();
10744                }
10745                document.cookie = name + "=" + (value || "") + expires + "; path=/";
10746            }
10747            function getCookie(name) {
10748                var nameEQ = name + "=";
10749                var ca = document.cookie.split(';');
10750                for (var i = 0; i < ca.length; i++) {
10751                    var c = ca[i];
10752                    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
10753                    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
10754                }
10755                return null;
10756            }
10757        </script>
10757
10758        <!-- One Tap -->
10759        
10759<script>
10760            console.log("Outerbloom...");
10761        </script>
10761
10762        <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
10763
10764
10765
10766
10767
10768
10769
10770            <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
10771            
10771<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
10771
10772            
10772<script>
10773                const widgetConfig = {
10774                    id: "clz7897za002cz7otleaz0d3d",
10775                    showQuickResponse: false,
10776                    quickResponsesData: [],
10777                    themeColor: "#ffffff",
10778                    widgetText: "",
10779                    radiusType: "circle",
10780                    widgetIconType: "whatsapp",
10781                    position: "right",
10782                    storeLogo: "",
10783                    storeName: "Outerbloom",
10784                    storeDescription: "",
10785                    size: "small",
10786                    showCard: false,
10787                    widgetColorType: "solid",
10788                    widgetColor1: "#008069",
10789                    widgetColor2: "#008069",
10790                    social: {
10791                        socialOrders: ["instagram", "tiktok", "facebook", "x", "youtube", "linkedin", "email"],
10792                        values: {
10793                            instagram: {
10794                                enabled: false,
10795                                value: "",
10796                            },
10797                            facebook: {
10798                                enabled: false,
10799                                value: "",
10800                            },
10801                            email: {
10802                                enabled: false,
10803                                value: "",
10804                            },
10805                            x: {
10806                                enabled: false,
10807                                value: "",
10808                            },
10809                            tiktok: {
10810                                enabled: false,
10811                                value: "",
10812                            },
10813                            linkedin: {
10814                                enabled: false,
10815                                value: "",
10816                            },
10817                            youtube: {
10818                                enabled: false,
10819                                value: "",
10820                            },
10821                        },
10822                    },
10823                };
10824
10825                function initializeWidget() {
10826                    if (typeof BBBWidget !== 'undefined') {
10827                        BBBWidget.init(widgetConfig);
10828                    } else {
10829                        setTimeout(initializeWidget, 100);
10830                    }
10831                }
10832
10833                initializeWidget();</script>
10833
10834
10835
10836        </div>
10837        <div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
10838
10839
10840            <div style="position: fixed; bottom: 0; right: 0"></div>
10841
10842            
10842<script>
10843                console.info("bitlogin extension version: v2.5.7");
10844
10845                const googleScript = document.createElement("script");
10846                googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
10847                document.head.append(googleScript);
10848
10849                const bitLoginBaseUrl = "https://api.bitbybit.studio";
10850                const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
10851
10852                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" } };
10853                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": "amzn1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d", "appleTeamId": null, "applePrivateKey": null, "usePersonalOauth": false, "position": null }];
10854                const redirectUrl = appearance.redirectLink;
10855
10856                let locationCacheSet = false;
10857                let errorLocation = false;
10858                let oneTapSet = false;
10859
10860                let bitloginCache = {
10861                    appearance: appearance,
10862                    config: config
10863                };
10864
10865                let isInitializing = false;
10866                const queue = [];
10867
10868                // Add CSS for the popup
10869                const popupStyles = document.createElement('style');
10870                popupStyles.textContent = `
10871   /* Styles for login popup */
10872   .bitlogin-popup-overlay {
10873     position: fixed;
10874     top: 0;
10875     left: 0;
10876     width: 100%;
10877     height: 100%;
10878     background: rgba(0, 0, 0, 0.45);
10879     backdrop-filter: blur(4px);
10880     display: flex;
10881     align-items: center;
10882     justify-content: center;
10883     opacity: 0;
10884     transition: opacity 0.3s ease-in-out;
10885     z-index: 999999;
10886   }
10887   
10888   .bitlogin-popup-overlay.visible {
10889     opacity: 1;
10890   }
10891   
10892   .bitlogin-popup {
10893     background: #FFFFFF;
10894     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
10895     border-radius: 16px;
10896     width: 100%;
10897     max-width: 560px;
10898     display: flex;
10899     overflow: hidden;
10900     position: relative;
10901     opacity: 0;
10902     transform: translateY(20px) scale(0.98);
10903     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
10904   }
10905   
10906   .bitlogin-popup.visible {
10907     opacity: 1;
10908     transform: translateY(0) scale(1);
10909   }
10910   
10911   .bitlogin-popup-with-image {
10912     max-width: 640px;
10913   }
10914   
10915   .bitlogin-popup-right-image {
10916     flex-direction: row-reverse;
10917   }
10918   
10919   .bitlogin-popup-image {
10920     object-fit: cover;
10921     width: 50%;
10922     height: auto;
10923   }
10924   
10925   .bitlogin-popup-content {
10926     padding: 32px;
10927     position: relative;
10928     width: 50%;
10929   }
10930   
10931   .bitlogin-popup-close {
10932     position: absolute;
10933     top: 16px;
10934     right: 16px;
10935     background: white;
10936     border: none;
10937     width: 30px;
10938     height: 30px;
10939     display: flex;
10940     align-items: center;
10941     justify-content: center;
10942     cursor: pointer;
10943     transition: background-color 0.2s;
10944     color: inherit;
10945     padding: 0;
10946   }
10947   
10948   .bitlogin-popup-close:hover {
10949     background-color: #e5e5e5;
10950   }
10951   
10952   .bitlogin-popup-buttons {
10953     display: flex;
10954     flex-direction: column;
10955     gap: 12px;
10956     margin-top: 24px;
10957   }
10958   
10959   /* Button styles within popup - override width for popup buttons */
10960   .bitlogin-popup-buttons #google-login,
10961   .bitlogin-popup-buttons #facebook-login,
10962   .bitlogin-popup-buttons #apple-login,
10963   .bitlogin-popup-buttons #whatsapp-login,
10964   .bitlogin-popup-buttons #microsoft-login,
10965   .bitlogin-popup-buttons #twitter-login,
10966   .bitlogin-popup-buttons #amazon-login,
10967   .bitlogin-popup-buttons #instagram-login,
10968   .bitlogin-popup-buttons #magic-link-login,
10969   .bitlogin-popup-buttons #mobile-app-login {
10970     width: 100% !important;
10971     font-family: inherit !important;
10972   }
10973   
10974   .bitlogin-popup-footer {
10975     margin-top: 32px;
10976     text-align: center;
10977     font-size: 14px;
10978     opacity: 0.6;
10979   }
10980   
10981   /* Modern Typography */
10982   .bitlogin-popup h2 {
10983     margin-top: 12px;
10984     font-size: 21px !important;
10985     line-height: 1.2 !important;
10986     font-weight: 700 !important;
10987     letter-spacing: -0.02em !important;
10988     margin-bottom: 16px !important;
10989   }
10990   
10991   .bitlogin-popup-header {
10992     position: relative;
10993     margin-bottom: 24px;
10994   }
10995   
10996   /* Modern gradient accent */
10997   .bitlogin-popup-content > div {
10998     font-size: 16px !important;
10999     line-height: 1.2 !important;
11000     opacity: 0.85 !important;
11001   }
11002   
11003   /* Enhanced button interactions */
11004   .bitlogin-popup-buttons button {
11005     position: relative;
11006     overflow: hidden;
11007   }
11008   
11009   @keyframes ripple {
11010     0% {
11011       transform: scale(0, 0);
11012       opacity: 0.5;
11013     }
11014     100% {
11015       transform: scale(100, 100);
11016       opacity: 0;
11017     }
11018   }
11019   
11020   /* Responsive adjustments */
11021   @media (max-width: 640px) {
11022     .bitlogin-popup {
11023       max-width: 90%;
11024       width: 90%;
11025       margin: 0 16px;
11026     }
11027     
11028     .bitlogin-popup-with-image {
11029       flex-direction: column !important;
11030     }
11031     
11032     .bitlogin-popup-image {
11033       width: 100%;
11034       height: 180px;
11035     }
11036     
11037     .bitlogin-popup-content {
11038       padding: 24px;
11039     }
11040     
11041     .bitlogin-popup h2 {
11042       font-size: 24px !important;
11043     }
11044   }
11045 `;
11046
11047                document.head.appendChild(popupStyles);
11048
11049                // Add fonts link for different font options
11050                const fontsLink = document.createElement('link');
11051                fontsLink.rel = 'stylesheet';
11052                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';
11053                document.head.appendChild(fontsLink);
11054
11055                (async () => {
11056                    try {
11057                        let host = window.location.host;
11058                        if (host === "admin.shopify.com") {
11059                            host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
11060                        }
11061
11062                        const urlSearchParams = new URLSearchParams(window.location.search);
11063                        const checkoutUrl = urlSearchParams.get("checkout_url");
11064
11065                        async function init({ inputRef, index }) {
11066                            if (isInitializing) {
11067                                queue.push(() => init({ inputRef, index }));
11068                                return;
11069                            }
11070
11071                            isInitializing = true;
11072
11073                            try {
11074                                let bitLoginSectionRoot = document.querySelector(
11075                                    `.bitlogin-root[data-index="${index}"]`
11076                                );
11077
11078                                const formRef = inputRef?.closest(
11079                                    "form:not([action='/account/recover'])"
11080                                );
11081
11082                                if (formRef && !bitLoginSectionRoot) {
11083                                    await getLocation();
11084
11085                                    bitLoginSectionRoot = document.createElement(`div`);
11086
11087                                    bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
11088                                    bitLoginSectionRoot.setAttribute("data-index", `${index}`);
11089
11090                                    updateAppearance({
11091                                        formRef,
11092                                        rootRef: bitLoginSectionRoot,
11093                                        host,
11094                                    });
11095                                }
11096                            } catch (err) {
11097                                console.error(`error while initiating bitlogin extensions`, err);
11098                            } finally {
11099                                // Release the lock
11100                                isInitializing = false;
11101
11102                                // Check if there are pending items in the queue
11103                                if (queue.length > 0) {
11104                                    // Process the next function in the queue
11105                                    const nextFunction = queue.shift();
11106                                    nextFunction();
11107                                }
11108                            }
11109                        }
11110
11111                        function initAll() {
11112                            return new Promise((resolve, reject) => {
11113                                setTimeout(async () => {
11114                                    const inputRefs = document.querySelectorAll(
11115                                        'input[name="customer[email]"]'
11116                                    );
11117
11118                                    for (let i = 0; i < inputRefs.length; i++) {
11119                                        const currentInputRef = inputRefs[i];
11120                                        const isVisible = isElementVisible(currentInputRef);
11121
11122                                        if (isVisible) {
11123                                            await init({ inputRef: currentInputRef, index: i });
11124                                        }
11125                                    }
11126
11127                                    resolve("ok");
11128                                }, 100);
11129                            });
11130                        }
11131
11132                        const observer = new MutationObserver((mutationsList) => {
11133                            for (let mutation of mutationsList) {
11134                                initAll();
11135                            }
11136                        });
11137
11138                        observer.observe(document.body, {
11139                            childList: true,
11140                            subtree: true,
11141                            attributes: true,
11142                        });
11143
11144                        initAll();
11145
11146                        if (appearance.googleOneTap) {
11147                            setupOneTap({ host, checkoutUrl });
11148                        }
11149
11150                        // Initialize popup
11151                        await initPopup(host);
11152                    } catch (error) {
11153                        console.error("Error initializing BitLogin:", error);
11154                    }
11155                })();
11156
11157                async function initPopup(host) {
11158                    // Check if user is already logged in using Liquid checks properly
11159                    const isLoggedIn = false ||
11160                        document.querySelector('.customer-logout-link') ||
11161                        document.querySelector('.account-link') ||
11162                        window.location.pathname.includes('/account');
11163
11164                    if (isLoggedIn) {
11165                        return; // User is logged in, don't show popup
11166                    }
11167
11168                    try {
11169                        // Fetch the popup configuration
11170                        const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
11171                            .then(res => res.json())
11172                            .catch(err => {
11173                                console.error('Error fetching popup configuration:', err);
11174                                return null;
11175                            });
11176
11177                        if (!popupConfig || !popupConfig.enabled) {
11178                            return;
11178 // Don't show popup if disabled or config not found
11179                        }
11180
11181                        // Create popup after 10 seconds
11182                        setTimeout(() => {
11183                            // Check if user is still on the page and still not logged in
11184                            if (document.visibilityState === 'visible') {
11185                                // Additional check in case user logged in during the 10 second wait
11186                                const currentlyLoggedIn = false ||
11187                                    document.querySelector('.customer-logout-link') ||
11188                                    document.querySelector('.account-link');
11189
11190                                if (!currentlyLoggedIn) {
11191                                    createLoginPopup(popupConfig, host);
11192                                }
11193                            }
11194                        }, 10000);
11195                    } catch (error) {
11196                        console.error('Error initializing popup:', error);
11197                    }
11198                }
11199
11200                function createLoginPopup(popupConfig, host) {
11201                    // Font mapping
11202                    const fontFamilyMap = {
11203                        system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
11204                        montserrat: 'Montserrat, sans-serif',
11205                        roboto: 'Roboto, sans-serif',
11206                        open_sans: 'Open Sans, sans-serif',
11207                        noto_sans: 'Noto Sans, sans-serif',
11208                        lato: 'Lato, sans-serif',
11209                        poppins: 'Poppins, sans-serif',
11210                        quicksand: 'Quicksand, sans-serif',
11211                        raleway: 'Raleway, sans-serif',
11212                        pt_sans: 'PT Sans, sans-serif',
11213                        oswald: 'Oswald, sans-serif',
11214                    };
11215
11216                    // Create overlay
11217                    const overlay = document.createElement('div');
11218                    overlay.className = 'bitlogin-popup-overlay';
11219
11220                    // Create popup container with appropriate styling
11221                    const popup = document.createElement('div');
11222                    popup.className = 'bitlogin-popup';
11223
11224                    if (popupConfig.layout === 'default') {
11225                        popup.style.maxWidth = '400px';
11226                    }
11227
11228                    // Function to close the popup
11229                    const closePopup = () => {
11230                        overlay.classList.remove('visible');
11231                        popup.classList.remove('visible');
11232                        setTimeout(() => {
11233                            if (document.body.contains(overlay)) {
11234                                document.body.removeChild(overlay);
11235                            }
11236                        }, 300);
11237                    };
11238
11239                    // Add click handler to the overlay to close when clicking outside
11240                    overlay.addEventListener('click', (event) => {
11241                        // Close only if clicking directly on the overlay, not its children
11242                        if (event.target === overlay) {
11243                            closePopup();
11244                        }
11245                    });
11246
11247                    // Add escape key handler to close popup
11248                    document.addEventListener('keydown', (event) => {
11249                        if (event.key === 'Escape' && document.body.contains(overlay)) {
11250                            closePopup();
11251                        }
11252                    });
11253
11254                    // Create layout with image if specified
11255                    let contentWrapper;
11256                    if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
11257                        popup.classList.add('bitlogin-popup-with-image');
11258
11259                        if (popupConfig.layout === 'right') {
11260                            popup.classList.add('bitlogin-popup-right-image');
11261                        }
11262
11263                        // Add image
11264                        const image = document.createElement('img');
11265                        image.className = 'bitlogin-popup-image';
11266                        image.src = popupConfig.popupImage;
11267                        image.alt = 'Login';
11268                        image.loading = 'lazy';
11269                        popup.appendChild(image);
11270
11271                        // Create content container
11272                        contentWrapper = document.createElement('div');
11273                        contentWrapper.className = 'bitlogin-popup-content';
11274
11275                        if (popupConfig.layout === 'right') {
11276                            const closeButton = document.createElement('button');
11277                            closeButton.className = 'bitlogin-popup-close';
11278                            closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
11279         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
11280       </svg>`;
11281                            closeButton.setAttribute('aria-label', 'Close');
11282                            closeButton.onclick = closePopup;
11283
11284                            popup.appendChild(closeButton);
11285                        }
11286                    } else {
11287                        contentWrapper = document.createElement('div');
11288                        contentWrapper.className = 'bitlogin-popup-content';
11289                        contentWrapper.style.width = '100%';
11290                    }
11291
11292                    // Set background style
11293                    if (popupConfig.backgroundTheme === 'gradient') {
11294                        contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
11295                    } else {
11296                        contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
11297                    }
11298
11299                    // Apply font family
11300                    contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
11301
11302                    if (popupConfig.layout !== 'right') {
11303                        const closeButton = document.createElement('button');
11304                        closeButton.className = 'bitlogin-popup-close';
11305                        closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
11306       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
11307     </svg>`;
11308                        closeButton.setAttribute('aria-label', 'Close');
11309                        closeButton.onclick = closePopup;
11310
11311                        contentWrapper.appendChild(closeButton);
11312                    }
11313
11314                    // Add heading with subtle animation effect
11315                    const header = document.createElement('div');
11316                    header.className = 'bitlogin-popup-header';
11317
11318                    const heading = document.createElement('h2');
11319                    heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11319its';
11320                    heading.style.color = popupConfig.fontColor;
11321                    header.appendChild(heading);
11322
11323                    // Add body text with improved formatting
11324                    const bodyText = document.createElement('div');
11325                    bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
11326                    bodyText.style.color = popupConfig.fontColor;
11327                    header.appendChild(bodyText);
11328
11329                    contentWrapper.appendChild(header);
11330
11331                    // Create buttons container with modern styling
11332                    const buttonsContainer = document.createElement('div');
11333                    buttonsContainer.className = 'bitlogin-popup-buttons';
11334
11335                    // Add social buttons
11336                    const providerLabels = {
11337                        'GOOGLE': 'Continue with Google',
11338                        'FACEBOOK': 'Continue with Facebook',
11339                        'APPLE': 'Continue with Apple',
11340                        'WHATSAPP': 'Continue with WhatsApp',
11341                        'MAGIC_LINK': 'Continue with Email',
11342                    };
11343
11344                    // Add first login provider button
11345                    if (popupConfig.loginProvider1 !== 'NONE') {
11346                        const buttonConfig = {
11347                            theme: popupConfig.colorScheme || 'match',
11348                            customColor: popupConfig.textColor,
11349                            format: 'contentFlex',
11350                            buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
11351                            hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
11352                            style: popupConfig.style || 'rounded',
11353                            size: popupConfig.size || 'medium',
11354                            colorScheme: popupConfig.colorScheme || 'match',
11355                            backgroundColor: popupConfig.backgroundColor || '#3B82F6',
11356                            textColor: popupConfig.textColor || '#FFFFFF',
11357                            outlineColor: popupConfig.outlineColor || '#3B82F6',
11358                            host: host
11359                        };
11360
11361                        const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
11362
11363                        // Handle click event - this overrides the default click handler in createSocialLoginButton
11364                        button1.onclick = () => {
11365                            onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
11366                            closePopup();
11367                        };
11368
11369                        buttonsContainer.appendChild(button1);
11370                    }
11371
11372                    // Add second login provider button if enabled
11373                    if (popupConfig.loginProvider2 !== 'NONE') {
11374                        const buttonConfig = {
11375                            theme: popupConfig.colorScheme || 'match',
11376                            customColor: popupConfig.textColor,
11377                            format: 'contentFlex',
11378                            buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
11379                            hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
11380                            style: popupConfig.style || 'rounded',
11381                            size: popupConfig.size || 'medium',
11382                            colorScheme: popupConfig.colorScheme || 'match',
11383                            backgroundColor: popupConfig.backgroundColor || '#3B82F6',
11384                            textColor: popupConfig.textColor || '#FFFFFF',
11385                            outlineColor: popupConfig.outlineColor || '#3B82F6',
11386                            host: host
11387                        };
11388
11389                        const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
11390
11391                        // Handle click event - this overrides the default click handler in createSocialLoginButton
11392                        button2.onclick = () => {
11393                            onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
11394                            closePopup();
11395                        };
11396
11397                        buttonsContainer.appendChild(button2);
11398                    }
11399
11400                    contentWrapper.appendChild(buttonsContainer);
11401
11402                    // Append content to popup
11403                    popup.appendChild(contentWrapper);
11404
11405                    // Append popup to overlay
11406                    overlay.appendChild(popup);
11407
11408                    // Append overlay to body
11409                    document.body.appendChild(overlay);
11410
11411                    // Trigger animation with slight delay for better perceived performance
11412                    setTimeout(() => {
11413                        overlay.classList.add('visible');
11414                        setTimeout(() => {
11415                            popup.classList.add('visible');
11416                        }, 50);
11417                    }, 10);
11418                }
11419
11420                window.addEventListener("load", () => {
11421                    window.addEventListener("message", (event) => {
11422                        const receivedData = event.data;
11423
11424                        if (receivedData.type === "authorize") {
11425                            post(
11426                                JSON.parse(
11427                                    JSON.stringify({
11428                                        "customer[email]": receivedData.email,
11429                                        "customer[password]": receivedData.password,
11430                                        form_type: "customer_login",
11431                                        utf8: "✓",
11432                                        return_url: redirectUrl,
11433                                    })
11434                                )
11435                            );
11436                        } else if (receivedData.type === "rejected") {
11437                            if (receivedData.reason === "customer_account_disabled") {
11438                                showAlert(
11439                                    "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
11440                                );
11441                            } else if (receivedData.reason === "customer_entry_created_email_not_set") {
11442                                showAlert(
11443                                    "A new account was created but requires an email address. Please update your account with a valid email address to continue."
11444                                );
11445                            } else if (receivedData.reason === "customer_exist_email_not_set") {
11446                                showAlert(
11447                                    "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
11448                                );
11449                            }
11450                        }
11451
11452                        if (receivedData.type === "customer_authenticated") {
11453                            // Dispatch a custom event that merchants can listen for to implement their custom logic
11454                            const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
11455                                detail: {
11456                                    provider: receivedData.provider,
11457                                    customer: receivedData.customer,
11458                                    shopifyCustomerCreated: receivedData.shopifyCustomerCreated
11459                                }
11460                            });
11461
11462                            // Dispatch the event on the window object so merchants can listen for it
11463                            window.dispatchEvent(customerAuthEvent);
11464
11465                        }
11466                    });
11467                });
11468
11469                // Reusable functions for social login buttons
11470                function createSocialLoginButton(provider, config = {}) {
11471                    const {
11472                        theme = 'match',
11473                        customColor = null,
11474                        format = 'contentFlex',
11475                        buttonText = null,
11476                        hasShadow = true,
11477                        style = 'rounded',
11478                        size = 'medium',
11479                        colorScheme = 'match',
11480                        backgroundColor = '#3B82F6',
11481                        textColor = '#FFFFFF',
11482                        outlineColor = '#3B82F6',
11483                        rootRef = null,
11484                        host = null
11485                    } = config;
11486
11487                    // Create button element with appropriate ID and attributes
11488                    const button = document.createElement('button');
11489                    button.id = `${provider.toLowerCase()}-login`;
11490                    button.type = 'button';
11491
11492                    // Set the inner SVG based on provider
11493                    switch (provider.toUpperCase()) {
11494                        case 'GOOGLE':
11495                            button.innerHTML = googleLoginIcon(theme, customColor);
11496                            break;
11497                        case 'FACEBOOK':
11498                            button.innerHTML = facebookLoginIcon(theme, customColor);
11499                            break;
11500                        case 'APPLE':
11501                            button.innerHTML = appleLoginIcon(theme, customColor);
11502                            break;
11503                        case 'WHATSAPP':
11504                            button.innerHTML = whatsappLoginIcon(theme, customColor);
11505                            break;
11506                        case 'MICROSOFT':
11507                            button.innerHTML = microsoftLoginIcon(theme, customColor);
11508                            break;
11509                        case 'TWITTER':
11510                            button.innerHTML = twitterLoginIcon(theme, customColor);
11511                            break;
11512                        case 'AMAZON':
11513                            button.innerHTML = amazonLoginIcon(theme, customColor);
11514                            break;
11515                        case 'INSTAGRAM':
11516                            button.innerHTML = instagramLoginIcon(theme, customColor);
11517                            break;
11518                        case 'MAGIC_LINK':
11519                            button.innerHTML = magicLinkLoginIcon(theme, customColor);
11520                            break;
11521                        case 'MOBILE_APP':
11522                            button.innerHTML = mobileAppLoginIcon(theme, customColor);
11523                            break;
11524                        case 'LINKEDIN':
11525                            button.innerHTML = linkedinLoginIcon(theme, customColor);
11526                            break;
11527                    }
11528
11529                    // Add text if format isn't icon-only and buttonText is provided
11530                    if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
11531                        button.innerHTML += `<p>${buttonText}</p>`;
11532                    }
11533
11534                    // Apply styling
11535                    // Shadow
11536                    if (hasShadow) {
11537                        const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
11538                        button.style["box-shadow"] = shadowProperties;
11539                    }
11540
11541                    // Border radius
11542                    const radiusProperties =
11543                        style === "rounded"
11544                            ? "8px"
11545                            : style === "square"
11546                                ? "0px"
11547                                : style === "fullRounded"
11548                                    ? format === "wrapperFlexContainerOnlyLogo"
11549                                        ? "50%"
11550                                        : "50px"
11551                                    : undefined;
11552                    button.style["border-radius"] = radiusProperties;
11553
11554                    // Size
11555                    const sizeProperties =
11556                        size === "medium"
11557                            ? "12px"
11558                            : size === "small"
11559                                ? "8px"
11560                                : size === "large"
11561                                    ? "16px"
11562                                    : "8px";
11563
11564                    button.style["padding-block"] = sizeProperties;
11565
11566                    // Format styling
11567                    if (format) {
11568                        if (
11569                            format === "contentFlexReverse" ||
11570                            format === "contentFlexCenterReverse"
11571                        ) {
11572                            const flexDir = `row-reverse`;
11573                            button.style["flex-direction"] = flexDir;
11574                        }
11575
11576                        if (
11577                            format === "contentFlexCenter" ||
11578                            format === "contentFlexCenterReverse"
11579                        ) {
11580                            const justifyContent = `center`;
11581                            button.style["justify-content"] = justifyContent;
11582                        } else if (
11583                            format === "contentFlex" ||
11584                            format === "contentFlexReverse"
11585                        ) {
11586                            const buttonTextElement = button.querySelector("p");
11587                            if (buttonTextElement) {
11588                                buttonTextElement.style["flex-grow"] = 1;
11589                                buttonTextElement.style["text-align"] = "center";
11590                            }
11591                        }
11592
11593                        if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
11594                            rootRef.style["flex-direction"] = "row";
11595                            rootRef.style["gap"] = "8px";
11596                            rootRef.style["display"] = "flex";
11597                            rootRef.style["flex-wrap"] = "wrap";
11598
11599                            const sizeMapping = {
11600                                small: "52px",
11601                                medium: "62px",
11602                                large: "72px",
11603                            };
11604                            const buttonSize = sizeMapping[size] || "52px";
11605
11606                            button.style["margin"] = 0;
11607                            button.style["width"] = buttonSize;
11608                            button.style["height"] = buttonSize;
11609                            button.style["display"] = "flex";
11610                            button.style["align-items"] = "center";
11611                            button.style["justify-content"] = "center";
11612
11613                            const svgElement = button.querySelector("svg");
11614                            if (svgElement) {
11615                                svgElement.style["flex"] = "none";
11616                            }
11617                        }
11618                    }
11619
11620                    // Color scheme styling
11621                    if (colorScheme === "black") {
11622                        button.classList.add("scheme-black");
11623                    } else if (colorScheme === "white") {
11624                        button.classList.add("scheme-white");
11625                    } else if (colorScheme === "custom") {
11626                        button.style["background-color"] = backgroundColor;
11627                        button.style["color"] = textColor;
11628                        button.style["border-color"] = outlineColor;
11629
11630                        const darkenColor = (color, percentage) => {
11631                            const value = parseInt(color.slice(1), 16);
11632                            const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
11633                            const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
11634                            const b = Math.max(0, (value & 0xff) - (0xff * percentage));
11635                            return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
11636                        };
11637
11638                        button.addEventListener("mouseover", () => {
11639                            button.style["background-color"] = darkenColor
11639(backgroundColor, 0.2);
11640                        });
11641                        button.addEventListener("mouseout", () => {
11642                            button.style["background-color"] = backgroundColor;
11643                        });
11644                    } else if (colorScheme === "match") {
11645                        button.classList.add("scheme-match");
11646                    } else if (colorScheme === "matchOutline") {
11647                        button.classList.add("scheme-match-outline");
11648                    }
11649
11650                    // Add click event listener if host is provided
11651                    if (host) {
11652                        button.addEventListener("click", () =>
11653                            onClickSocialLogin({ provider: provider.toLowerCase(), host })
11654                        );
11655                    }
11656
11657                    return button;
11658                }
11659
11660                function setupSocialLoginButtons(config, rootRef, data, host) {
11661                    // Clear any existing content
11662                    rootRef.innerHTML = '';
11663
11664                    const sortedEnabledProviders = config
11665                        .filter(c => c.enabledWeb)
11666                        .sort((a, b) => a.position - b.position);
11667
11668                    sortedEnabledProviders.forEach(provider => {
11669                        const key = provider.provider;
11670                        const lowerKey = key.toLowerCase();
11671
11672                        const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
11673                            ? (lowerKey === 'twitter'
11674                                ? data.buttonList.twitter.replace('Twitter', 'X')
11675                                : data.buttonList[lowerKey])
11676                            : null;
11677
11678                        const button = createSocialLoginButton(key, {
11679                            theme: data.colorScheme || 'match',
11680                            customColor: data.textColor,
11681                            format: data.format,
11682                            buttonText: buttonText,
11683                            hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
11684                            style: data.style,
11685                            size: data.size,
11686                            colorScheme: data.colorScheme,
11687                            backgroundColor: data.backgroundColor,
11688                            textColor: data.textColor,
11689                            outlineColor: data.outlineColor,
11690                            rootRef: rootRef,
11691                            host: host
11692                        });
11693
11694                        rootRef.appendChild(button);
11695                    });
11696
11697                    return rootRef;
11698                }
11699
11700                function updateAppearance({ formRef, rootRef, host }) {
11701                    if (!formRef) return;
11702
11703                    const data = bitloginCache.appearance || {
11704                        style: "square",
11705                        hasShadow: false,
11706                        colorScheme: "match",
11707                        backgroundColor: "#FFFFFF",
11708                        outlineColor: "#000000",
11709                        textColor: "#000000",
11710                        position: "bottom",
11711                        hideDivider: "false",
11712                        dividerText: "OR",
11713                        size: "small",
11714                        format: "contentFlex",
11715                        language: "en",
11716                        buttonText: "Continue with",
11717                        redirectLink: "/account",
11718                        googleOneTap: true,
11719                        googleOneTapBanner: true,
11720                        customerTag: "bitLogin",
11721                        redirectOneTapDesktop: null,
11722                        redirectOneTapMobile: null,
11723                        buttonList: {
11724                            google: "Continue with Google",
11725                            facebook: "Continue with Facebook",
11726                            apple: "Continue with Apple",
11727                            whatsapp: "Continue with WhatsApp",
11728                            microsoft: "Continue with Microsoft",
11729                            twitter: "Continue with X",
11730                            amazon: "Continue with Amazon",
11731                            instagram: "Continue with Instagram",
11732                            magic_link: "Continue with Magic Link",
11733                            mobile_app: "Continue with Mobile App",
11734                            linkedin: "Continue with LinkedIn",
11735                        },
11736                    };
11737
11738                    // Use the new setupSocialLoginButtons function to create and configure all buttons
11739                    setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
11740
11741                    let divider;
11742
11743                    if (!data.hideDivider) {
11744                        divider = document.createElement("div");
11745                        const dividerStyle = "text-align:center;margin-block:16px";
11746                        divider.setAttribute("style", dividerStyle);
11747                        divider.innerHTML = data.dividerText;
11748                    }
11749
11750                    if (data.position === "bottom") {
11751                        if (divider) {
11752                            formRef.appendChild(divider);
11753                        }
11754                        formRef.appendChild(rootRef);
11755                    } else if (data.position === "top") {
11756                        if (divider) {
11757                            formRef.prepend(divider);
11758                        }
11759                        formRef.prepend(rootRef);
11760                    }
11761                }
11762
11763
11764                async function onClickSocialLogin({ provider, host }) {
11765                    const rand = Math.random().toString();
11766
11767                    const locationQueryString = bitloginCache.location
11768                        ? `&${objectToQueryString(bitloginCache.location)}`
11769                        : "";
11770
11771                    const width = 800;
11772                    const height = 600;
11773                    const left = (window.screen.width / 2) - (width / 2);
11774                    const top = (window.screen.height / 2) - (height / 2) - 50;
11775
11776                    if (provider === 'whatsapp') {
11777                        window.open(
11778                            `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
11779                            "mywindow",
11780                            `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
11781                        );
11782                    } else {
11783                        window.open(
11784                            `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
11785                            "mywindow",
11786                            `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
11787                        );
11788                    }
11789                }
11790
11791                function objectToQueryString(obj) {
11792                    return Object.keys(obj)
11793                        .map((key) => {
11794                            return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
11795                        })
11796                        .join("&");
11797                }
11798
11799                async function getLocation() {
11800                    if (locationCacheSet) return;
11801
11802                    try {
11803                        const response = await fetch("https://ipapi.co/json/");
11804
11805                        if (!response.ok) {
11806                            console.error(`error retrieving location...`, response.status);
11807                            errorLocation = true;
11808                        } else {
11809                            const data = await response.json();
11810
11811                            const { city, region, country_name, country_code } = data;
11812
11813                            const formattedLocationData = {
11814                                city,
11815                                region,
11816                                country_name,
11817                                country_code,
11818                            };
11819
11820                            bitloginCache.location = formattedLocationData;
11821                            locationCacheSet = true;
11822                            errorLocation = false;
11823                        }
11824                    } catch (err) {
11825                        console.error(`error fetching location`, err);
11826                        errorLocation = true;
11827                    }
11828                }
11829
11830                function post(params) {
11831                    // The rest of this code assumes you are not using a library.
11832                    // It can be made less verbose if you use one.
11833                    const form = document.createElement("form");
11834                    form.method = "post";
11835                    form.action = `/account/login`;
11836                    form.acceptCharset = "UTF-8";
11837                    form.setAttribute("data-login-with-shop-sign-in", "true");
11838                    form.setAttribute("novalidate", "novalidate");
11839
11840                    for (const key in params) {
11841                        if (params.hasOwnProperty(key)) {
11842                            const hiddenField = document.createElement("input");
11843                            hiddenField.type = "hidden";
11844                            hiddenField.name = key;
11845                            hiddenField.value = params[key];
11846
11847                            form.appendChild(hiddenField);
11848                        }
11849                    }
11850
11851                    document.body.appendChild(form);
11852                    form.submit();
11853                }
11854
11855                async function setupOneTap({ host, checkoutUrl }) {
11856                    if (oneTapSet) return;
11857
11858                    const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
11859                    const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
11860
11861                    const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
11862                    const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
11863
11864                    const currentPath = window.location.pathname.toLowerCase();
11865                    const currentUrl = window.location.href.toLowerCase();
11866
11867                    const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
11868                        switch (value) {
11869                            case 'home':
11870                                return currentPath === '/';
11871                            case 'product':
11872                                return currentPath.startsWith('/products/');
11873                            case 'collections':
11874                                return currentPath.startsWith('/collections');
11875                            case 'cart':
11876                                return currentPath === '/cart';
11877                            case 'checkout':
11878                                return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
11879                            case 'thank_you':
11880                                return currentPath.includes('/thank_you');
11881                            case 'account':
11882                                return currentPath.startsWith('/account');
11883                            case 'pages':
11884                                return currentPath.startsWith('/pages');
11885                            case 'blogs':
11886                                return currentPath === '/blogs' || currentPath === '/blogs/news';
11887                            case 'blog_post':
11888                                return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
11889                            default:
11890                                return false;
11891                        }
11892                    });
11893
11894                    if (shouldHideGoogleOneTap) return;
11895
11896                    const oneTapClientId = bitloginCache.config.find(
11897                        (config) => config.provider === "GOOGLE"
11898                    )?.clientId;
11899
11900                    const isLoggedIn = false;
11901
11902                    if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
11903                        const googleOneTapButton = document.createElement("div");
11904                        googleOneTapButton.setAttribute("id", "g_id_onload");
11905                        googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
11906                        googleOneTapButton.setAttribute("data-context", "signin");
11907                        googleOneTapButton.setAttribute(
11908                            "data-callback",
11909                            "handleGoogleOneTapResponse"
11910                        );
11911                        googleOneTapButton.setAttribute("data-itp_support", "true");
11912
11913                        const googleOneTapScript = document.createElement("script");
11914
11915                        googleOneTapScript.innerHTML += `
11916           function handleGoogleOneTapResponse(response) {
11917               if (response.credential) {
11918                   const idToken = response.credential;
11919                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
11920                       method: 'POST',
11921                       headers: { 'Content-Type': 'application/json' },
11922                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
11923                   }).then(response => {
11924                       response.json().then((data) => {
11925                         post(
11926                           JSON.parse(
11927                             JSON.stringify({
11928                               "customer[email]": data.email,
11929                               "customer[password]": data.password,
11930                               form_type: "customer_login",
11931                               utf8: "✓",
11932                               return_url: redirectUrl,
11933                             })
11934                           )
11935                         );
11936                       });  
11937                   }).catch(error => {
11938                       console.error('Error occurred:', error);
11939                   });
11940               } else {
11941                   console.error('No credential available');
11942               }
11943           }
11944        `;
11945
11946                        document.body.append(googleOneTapButton);
11947                        document.body.append(googleOneTapScript);
11948                    }
11949
11950                    oneTapSet = true;
11951                }
11952
11953                const googleLoginIcon = (
11954                    theme,
11955                    customColor
11956                ) => `
11957 ${theme === "match" || theme === "matchOutline" || theme === "custom"
11958                        ? `<svg
11959     xmlns='https://belajarpsikologi.com/assets/img/logo-agam99.png'
11960     xmlns:v='https://vecta.io/nano'
11961     width='24'
11962     height='24'
11963     viewBox='0 0 186.69 190.5'
11964   >
11965     <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="${theme === "custom" ? customColor : "#4285f4"
11966                        }"/><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="${theme === "custom" ? customColor : "#34a853"
11967                        }"/><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="${theme === "custom" ? customColor : "#fbbc05"
11968                        }"/><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="${theme === "custom" ? customColor : "#ea4335"
11969                        }" clip-path="none" mask="none"/></g>
11970   </svg>`
11971                        : `<svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="25" height="25" viewBox="0 0 25 25" fill="none">
11972 <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="${theme !== "black" ? "black" : "white"
11973                        }"/>
11974 <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="${theme !== "black" ? "black" : "white"
11975                        }"/>
11976 <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="${theme !== "black" ? "black" : "white"
11977                        }"/>
11978 <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="${theme !== "black" ? "black" : "white"
11979                        }"/>
11980 </svg>`
11981                    }`;
11982
11983                const appleLoginIcon = (
11984                    theme,
11985                    customColor
11986                ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
11987 <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="${theme === "custom"
11988                        ? customColor
11989                        : theme === "match" || theme === "black"
11990                            ? "white"
11991                            : "black"
11992                    }"/>
11993 </svg>`;
11994
11995                const facebookLoginIcon = (
11996                    theme,
11997                    customColor
11998                ) => `
11999 ${theme === "match" || theme === "matchOutline" || theme === "custom"
12000                        ? `<svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="25" viewB
12000ox="0 0 24 25" fill="none">
12001     <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="${theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3"
12002                        }"/>
12003     <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="${theme === "match" ? "#1778f2" : "transparent"
12004                        }"/>
12005     </svg>`
12006                        : `<svg xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
12007 <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="${theme === "black" ? "white" : "black"
12008                        }"/>
12009 <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="${theme === "black" ? "black" : "white"
12010                        }"/>
12011 </svg>`
12012                    }`;
12013
12014                const whatsappLoginIcon = (
12015                    theme,
12016                    customColor
12017                ) => `<svg
12018   viewBox="0 0 24 24"
12019   fill="none"
12020   width="24"
12021   height="25"
12022   xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12023 >
12024   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
12025   <g
12026     id="SVGRepo_tracerCarrier"
12027     stroke-linecap="round"
12028     stroke-linejoin="round"
12029   ></g>
12030   <g id="SVGRepo_iconCarrier">
12031     <path
12032       fill-rule="evenodd"
12033       clip-rule="evenodd"
12034       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"
12035       fill="${theme === "match" || theme === "black"
12036                        ? "#ffffff"
12037                        : theme === "white"
12038                            ? "#000000"
12039                            : theme === "matchOutline"
12040                                ? "#25d366"
12041                                : customColor
12042                    }"
12043     ></path>
12044   </g>
12045 </svg>`;
12046
12047                const microsoftLoginIcon = (
12048                    theme,
12049                    customColor
12050                ) => `<svg
12051 xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12052 width="25"
12053 height="25"
12054 viewBox="0 0 48 48">
12055 <path fill="${theme === "match" || theme == "matchOutline"
12056                        ? "#ff5722"
12057                        : theme === "black"
12058                            ? "#ffffff"
12059                            : theme === "white"
12060                                ? "#000000"
12061                                : customColor
12062                    }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
12063 <path
12064   fill="${theme === "match" || theme == "matchOutline"
12065                        ? "#4caf50"
12066                        : theme === "black"
12067                            ? "#ffffff"
12068                            : theme === "white"
12069                                ? "#000000"
12070                                : customColor
12071                    }"
12072   d="M26 6H42V22H26z"
12073   transform="rotate(-180 34 14)"></path>
12074 <path
12075   fill="${theme === "match" || theme == "matchOutline"
12076                        ? "#ffc107"
12077                        : theme === "black"
12078                            ? "#ffffff"
12079                            : theme === "white"
12080                                ? "#000000"
12081                                : customColor
12082                    }"
12083   d="M26 26H42V42H26z"
12084   transform="rotate(-180 34 34)"></path>
12085 <path fill="${theme === "match" || theme == "matchOutline"
12086                        ? "#03a9f4"
12087                        : theme === "black"
12088                            ? "#ffffff"
12089                            : theme === "white"
12090                                ? "#000000"
12091                                : customColor
12092                    }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
12093 </svg>`;
12094
12095                const twitterLoginIcon = (
12096                    theme,
12097                    customColor
12098                ) => `<svg
12099 xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12100 width="25"
12101 height="25"
12102 viewBox="0 0 48 48">
12103 <polygon fill="${theme === "match" || theme === "black"
12104                        ? "#ffffff"
12105                        : theme === "matchOutline" || theme === "white"
12106                            ? "#000000"
12107                            : customColor
12108                    }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
12109 <polygon
12110   fill="${theme === "match" || theme === "black"
12111                        ? "#000000"
12112                        : theme === "matchOutline" || theme === "white"
12113                            ? "#ffffff"
12114                            : customColor
12115                    }"
12116   fill-rule="evenodd"
12117   points="31.143,41 7.82,7 16.777,7 40.1,41"
12118   clip-rule="evenodd"></polygon>
12119 <path
12120   fill="${theme === "match" || theme === "black"
12121                        ? "#ffffff"
12122                        : theme === "matchOutline" || theme === "white"
12123                            ? "#000000"
12124                            : customColor
12125                    }"
12126   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
12127 </svg>`;
12128
12129                const amazonLoginIcon = (theme, customColor) => `
12130  <svg
12131       xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12132       x="0px"
12133       y="0px"
12134       width="25"
12135       height="25"
12136       viewBox="0 0 50 50"
12137     >
12138       <path
12139         fill="${theme === "black"
12140                        ? "#ffffff"
12141                        : theme === "matchOutline"
12142                            ? "#FF9900"
12143                            : theme === "white" || theme === "match"
12144                                ? "#000000"
12145                                : customColor
12146                    }"
12147         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"
12148       ></path>
12149     </svg>`;
12150
12151                const instagramLoginIcon = (theme, customColor) => `
12152     <svg
12153       width="25"
12154       height="25"
12155       viewBox="0 0 25 24"
12156       fill="none"
12157       xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png">
12158       <path
12159         fill-rule="evenodd"
12160         clip-rule="evenodd"
12161         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.
1216164321C8.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"
12162         fill="url(#paint0_radial_378_3535)" />
12163       <path
12164         fill-rule="evenodd"
12165         clip-rule="evenodd"
12166         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"
12167         fill="url(#paint0_radial_378_3535)" />
12168       <path
12169         fill-rule="evenodd"
12170         clip-rule="evenodd"
12171         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.
1217164321C8.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"
12172         fill="url(#paint0_radial_378_3535)" />
12173       <path
12174         fill-rule="evenodd"
12175         clip-rule="evenodd"
12176         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"
12177         fill="url(#paint1_radial_378_3535)" />
12178       <defs>
12179         <radialGradient
12180           id="paint0_radial_378_3535"
12181           cx="0"
12182           cy="0"
12183           r="1"
12184           gradientUnits="userSpaceOnUse"
12185           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
12186           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
12187           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
12188           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
12189           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
12190           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
12191         </radialGradient>
12192         <radialGradient
12193           id="paint1_radial_378_3535"
12194           cx="0"
12195           cy="0"
12196           r="1"
12197           gradientUnits="userSpaceOnUse"
12198           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
12199           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
12200           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
12201           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
12202           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
12203         </radialGradient>
12204       </defs>
12205     </svg>`;
12206
12207                const magicLinkLoginIcon = (theme, customColor) => `
12208   <svg
12209     xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12210     width="25"
12211     height="25"
12212     fill="none"
12213     viewBox="0 0 25 25"
12214   >
12215     <path
12216       fill="${theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
12217                    }"
12218       fillRule="evenodd"
12219       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"
12220       clipRule="evenodd"
12221     ></path>
12222   </svg>`;
12223
12224                const mobileAppLoginIcon = (theme, customColor) => `
12225   <svg
12226     width="20"
12227     height="24"
12228     viewBox="0 0 12 16"
12229     fill="none"
12230     xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12231   >
12232     <path
12233       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"
12234       fill=${theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
12235                    }
12236     />
12237   </svg>
12238 `;
12239
12240                const linkedinLoginIcon = (theme, customColor) => `
12241   <svg
12242     xmlns="https://belajarpsikologi.com/assets/img/logo-agam99.png"
12243     width="25"
12244     height="24"
12245     viewBox="0 0 25 24"
12246     fill="none"
12247   >
12248     <path
12249       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"
12250       fill=${theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
12251                    }
12252     />
12253   </svg>
12254 `;
12255
12256                function isElementVisible(element) {
12257                    return (
12258                        document.body.contains(element) &&
12259                        getComputedStyle(element).display !== "none" &&
12260                        getComputedStyle(element).visibility !== "hidden" &&
12261                        getComputedStyle(element).opacity !== "0" &&
12262                        !element.hasAttribute("hidden") &&
12263                        !isAncestorHidden(element)
12264                    );
12265                }
12266
12267                function isAncestorHidden(element) {
12268                    let parent = element.parentElement;
12269                    while (parent) {
12270                        if (
12271                            getComputedStyle(parent).display === "none" ||
12272                            getComputedStyle(parent).visibility === "hidden" ||
12273                            getComputedStyle(parent).opacity === "0" ||
12274                            parent.hasAttribute("hidden")
12275                        ) {
12276                            return true;
12277                        }
12278                        parent = parent.parentElement;
12279                    }
12280                    return false;
12281                }
12282
12283                function showAlert(message) {
12284                    const alertBox = document.createElement("div");
12285                    alertBox.textContent = message;
12286                    alertBox.style.position = "fixed";
12287                    alertBox.style.top = "20px";
12288                    alertBox.style.right = "-300px"; // Start off-screen
12289                    alertBox.style.backgroundColor = "#000000"; // Black background
12290                    alertBox.style.color = "#ffffff"; // White text
12291                    alertBox.style.padding = "15px";
12292                    alertBox.style.borderRadius = "8px";
12293                    alertBox.style.zIndex = "1000";
12294                    alertBox.style.transition =
12295                        "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
12296                    alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
12297
12298                    document.body.appendChild(alertBox);
12299
12300                    // Slide in
12301                    requestAnimationFrame(() => {
12302                        alertBox.style.right = "20px"; // Move into view
12303                        alertBox.style.opacity = "1"; // Ensure opacity is set to 1
12304                    });
12305
12306                    // Slide out and remove the alert after a few seconds
12307                    setTimeout(() => {
12308                        alertBox.style.opacity = "0"; // Fade out
12309                        alertBox.style.right = "-300px"; // Move out of view
12310
12311                        // Wait for the transition to finish before removing the element
12312                        setTimeout(() => {
12313                            document.body.removeChild(alertBox);
12314                        }, 500); // Match this duration with the exit transition duration
12315                    }, 3000);
12316                }
12317            </script>
12317
12318
12319            <style>
12320/* Container Utama dengan Efek Glassmorphism */
12321.AGAM99-footer {
12322    display: flex;
12323    justify-content: space-around;
12324    align-items: center;
12325    position: fixed;
12326    bottom: 0;
12327    left: 0;
12328    right: 0;
12329    height: 70px;
12330
12331    background: rgba(32, 178, 170, 0.18);
12332
12333    backdrop-filter: blur(12px);
12334    -webkit-backdrop-filter: blur(12px);
12335
12336    border-top: 2px solid #20B2AA;
12337
12338    box-shadow:
12339        0 -5px 20px rgba(32, 178, 170, 0.45),
12340        0 0 35px rgba(32, 178, 170, 0.25);
12341
12342    z-index: 999;
12343    padding: 0 10px;
12344    border-radius: 20px 20px 0 0;
12345}
12346
12347/* LINK */
12348.AGAM99-footer a {
12349    flex: 1;
12350    text-decoration: none;
12351    display: flex;
12352    flex-direction: column;
12353    align-items: center;
12354    justify-content: center;
12355
12356    color: #ffffff;
12357
12358    font-family: 'Segoe UI', Roboto, sans-serif;
12359    font-size: 11px;
12360    font-weight: 600;
12361
12362    transition: all 0.3s ease;
12363
12364    position: relative;
12365}
12366
12367/* ICON */
12368.AGAM99-footer img {
12369    width: 28px;
12370    height: 28px;
12371    margin-bottom: 4px;
12372
12373    transition:
12374        transform 0.3s ease,
12375        filter 0.3s ease;
12376}
12377
12378/* HOVER */
12379.AGAM99-footer a:hover img {
12380
12381    transform: translateY(-5px);
12382
12383    filter:
12384        drop-shadow(0 0 8px #20B2AA)
12385        drop-shadow(0 0 15px rgba(32, 178, 170, 0.8));
12386}
12387
12388.AGAM99-footer a:hover {
12389    color: #7ffdf5;
12390}
12391
12392/* BUTTON TENGAH */
12393.AGAM99-footer a.main-btn {
12394    transform: translateY(-15px);
12395}
12396
12397/* ICON BULAT */
12398.AGAM99-footer a.main-btn .icon-bg {
12399
12400    background:
12401        linear-gradient(
12402            135deg,
12403            #20B2AA 0%,
12404            #2ecdc4 35%,
12405            #20B2AA 70%,
12406            #168f88 100%
12407        );
12408
12409    padding: 12px;
12410
12411    border-radius: 50%;
12412
12413    box-shadow:
12414        0 5px 18px rgba(32, 178, 170, 0.6),
12415        0 0 30px rgba(32, 178, 170, 0.35);
12416
12417    display: flex;
12418    align-items: center;
12419    justify-content: center;
12420
12421    border: 3px solid rgba(255,255,255,0.15);
12422}
12423
12424/* ICON PUTIH */
12425.AGAM99-footer a.main-btn img {
12426    width: 32px;
12427    height: 32px;
12428    margin-bottom: 0;
12429
12430    filter: brightness(0) invert(1);
12431}
12432
12433/* TEXT MAIN */
12434.AGAM99-footer a.main-btn span {
12435
12436    margin-top: 8px;
12437
12438    color: #b8fffb;
12439
12440    text-shadow:
12441        0 2px 6px rgba(0,0,0,0.45);
12442}
12443
12444/* ANIMASI PULSE */
12445@keyframes pulse-gold {
12446
12447    0% {
12448        box-shadow:
12449            0 0 0 0 rgba(32, 178, 170, 0.7);
12450    }
12451
12452    70% {
12453        box-shadow:
12454            0 0 0 16px rgba(32, 178, 170, 0);
12455    }
12456
12457    100% {
12458        box-shadow:
12459            0 0 0 0 rgba(32, 178, 170, 0);
12460    }
12461}
12462
12463.AGAM99-footer a.main-btn .icon-bg {
12464    animation: pulse-gold 2s infinite;
12465}
12466
12467/* LABEL */
12468.AGAM99-footer a span {
12469    letter-spacing: 0.5px;
12470    text-transform: uppercase;
12471}
12472</style>
12473
12474            <div class="AGAM99-footer">
12475                <a href="https://belajarpsikologi.com/portal/" rel="nofollow noopener" target="_blank">
12476                    <img src="https://belajarpsikologi.com/assets/img/favicon-agam99.png" alt="PROMOSI">
12477                    <span>Promo</span>
12478                </a>
12479
12480                <a href="https://belajarpsikologi.com/portal/" rel="nofollow noopener" target="_blank">
12481                    <img src="https://belajarpsikologi.com/assets/img/favicon-agam99.png" alt="LOGIN">
12482                    <span>Login</span>
12483                </a>
12484
12485                <a href="https://belajarpsikologi.com/portal/" rel="nofollow noopener" target="_blank" class="main-btn">
12486                    <div class="icon-bg">
12487                        <img src="https://belajarpsikologi.com/assets/img/favicon-agam99.png" alt="DAFTAR">
12488                    </div>
12489                    <span>Daftar</span>
12490                </a>
12491
12492                <a href="https://belajarpsikologi.com/portal/" rel="nofollow noopener" target="_blank">
12493                    <img src="https://belajarpsikologi.com/assets/img/favicon-agam99.png" alt="ALTERNATIF">
12494                    <span>Link</span>
12495                </a>
12496
12497                <a href="https://belajarpsikologi.com/portal/" rel="nofollow noopener" target="_blank">
12498                    <img src="https://belajarpsikologi.com/assets/img/favicon-agam99.png" alt="LIVE CHAT">
12499                    <span>Chat</span>
12500                </a>
12501            </div>
12502        </div>
12503        
12503<script defer
12504            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12505            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12506            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}}'
12507            crossorigin="anonymous"></script>
12507
12508        
12508<script defer
12509            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12510            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12511            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}}'
12512            crossorigin="anonymous"></script>
12512
12513        
12513<script defer
12514            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12515            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12516            data-cf-beacon='{"version":"2024.11.0","token":"1ee2ccbada1c4a408938a31140cbccef","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12517            crossorigin="anonymous"></script>
12517
12518        
12518<script defer
12519            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12520            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12521            data-cf-beacon='{"version":"2024.11.0","token":"5f80b552d3d14bd6a988a79c643c3b0f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12522            crossorigin="anonymous"></script>
12522
12523        
12523<script defer
12524            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12525            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12526            data-cf-beacon='{"version":"2024.11.0","token":"bd4a1bdaab4c445d80d2d23ed1efd4a1","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12527            crossorigin="anonymous"></script>
12527
12528        
12528<script defer
12529            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12530            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12531            data-cf-beacon='{"version":"2024.11.0","token":"edfb0824af1e46b399d8da29cbae45fe","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12532            crossorigin="anonymous"></script>
12532
12533        
12533<script defer
12534            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12535            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12536            data-cf-beacon='{"version":"2024.11.0","token":"f4bd7c8c9a5548668da773d83fdb1fc9","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12537            crossorigin="anonymous"></script>
12537
12538        
12538<script defer
12539            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12540            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12541            data-cf-beacon='{"version":"2024.11.0","token":"f4bd7c8c9a5548668da773d83fdb1fc9","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12542            crossorigin="anonymous"></script>
12542
12543        
12543<script defer
12544            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
12545            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
12546            data-cf-beacon='{"version":"2024.11.0","token":"00ec4b968a6f46e6b9a3954d71b62338","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
12547            crossorigin="anonymous"></script>
vendor: 2 bytes, line 12547
12547
12548<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"e9fa6ee7a956478c9260adc596ae5e3f","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 12548
12548
12549<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":"b3571c9c8e964a0b87f7410731d879d2","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 12549
12549
12550<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":"8a161c9d808046f597e555fcb331504c","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 12550
12550
12551<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":"8a161c9d808046f597e555fcb331504c","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 12551
12551
12552<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":"cd190fd1c31a404ba33bdc7cbac79ebf","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 12552
12552
12553<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":"5146e2d0e8914e8e85dba4622f2ef3d5","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 12553
12553
12554<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"d4d63fef5b6d483b975cec1494ee1eda","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 12554
12554
12555<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"863c606ddc624572a8a866eaa8c4235a","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 12555
12555
12556<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":"5845ac4f5a4446329bfc504af039cf5e","r":1,"spa":2}' crossorigin="anonymous"></script>
12556
12557</body>
12558
12559</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.