It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://sanstaste.com

  1.  
  2. <!doctype html>
  3. <html class="no-js">
  4.  
  5. <head>
  6.    <meta charset="utf-8">
  7.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  8.    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
  9.    <meta name="apple-itunes-app" content="app-id=1576832504">
  10.    <link rel="icon" type="image/x-icon" href="https://i.gyazo.com/fd8c3fd1c090614e0221f5e555a796a4.png">
  11.    <!-- Title and description -->
  12.    <title>GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru</title>
  13.    <meta name="description"
  14.        content="GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.">
  15.    <meta name="keywords"
  16.        content="GUATOGEL, togel online, situs gacor, toto togel, situs togel, slot maxwin 2, slot gacor" />
  17.    <link rel="canonical" href="https://engineeringgf.com/shop/">
  18.    <link rel="amphtml" href="https://gampang-maxwin-guatogel-amp.pages.dev/" />
  19.    <!-- /snippets/social-meta-tags.liquid -->
  20.    <meta property="og:type" content="SLOT GACOR">
  21.    <meta property="og:title" content="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru">
  22.    <meta property="og:image" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  23.    <meta property="og:image:secure_url" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  24.    <meta property="og:image" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  25.    <meta property="og:image:secure_url" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  26.    <meta property="og:image" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  27.    <meta property="og:image:secure_url" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  28.    <meta property="og:description"
  29.        content="GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.">
  30.    <meta property="og:price:amount" content="10,000-,">
  31.    <meta property="og:price:currency" content="IDR">
  32.    <meta property="og:url" content="https://engineeringgf.com/shop/">
  33.    <meta property="og:site_name" content="GUATOGEL">
  34.    <meta name="twitter:site" content="@GUATOGEL">
  35.    <meta name="twitter:card" content="summary">
  36.    <meta name="twitter:title" content="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru">
  37.    <meta name="twitter:description"
  38.        content="GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.">
  39.    <meta name="twitter:image" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  40.    <meta name="twitter:image:width" content="600">
  41.    <meta name="twitter:image:height" content="600">
  42.    <meta name="google-site-verification" content="IA_MLfXjOoc7UD3FBhKWT1wizoMJkoeW2RyosQu-wOM" />
  43.    <link rel="shortcut icon" href="https://i.gyazo.com/fd8c3fd1c090614e0221f5e555a796a4.png" type="image/png">
  44.    <meta name="theme-color" content="#ffffff">
  45.    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap"
  46.        rel="stylesheet">
  47.    <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418"
  48.        rel="stylesheet" type="text/css" media="all" />
  49.    <link rel="stylesheet"
  50.        href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
  51.    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
  52.    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js"
  53.        integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q=="
  54.        crossorigin="anonymous" referrerpolicy="no-referrer" defer></script>
  55.    <script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
  56.    <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js" defer></script>
  57.   <!-- Meta Pixel Code -->
  58. <script>
  59. !function(f,b,e,v,n,t,s)
  60. {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  61. n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  62. if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  63. n.queue=[];t=b.createElement(e);t.async=!0;
  64. t.src=v;s=b.getElementsByTagName(e)[0];
  65. s.parentNode.insertBefore(t,s)}(window, document,'script',
  66. 'https://connect.facebook.net/en_US/fbevents.js');
  67. fbq('init', '1073421924799674');
  68. fbq('track', 'PageView');
  69. </script>
  70. <noscript><img height="1" width="1" style="display:none"
  71. src="https://www.facebook.com/tr?id=1073421924799674&ev=PageView&noscript=1"
  72. /></noscript>
  73. <!-- End Meta Pixel Code -->
  74.  
  75.    <div class="button-login-daftar">
  76.        <a class="login" href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noreferrer" style="color: white;">
  77.            LOGIN
  78.        </a>
  79.        <a class="register" href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noreferrer" style="color: white;">
  80.            DAFTAR
  81.        </a>
  82.    </div>
  83.  
  84.    <script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
  85.  
  86.    <!-- Bing UET -->
  87.    <script>
  88.        (function (w, d, t, r, u) {
  89.            var f, n, i;
  90.            w[u] = w[u] || [], f = function () {
  91.                var o = { ti: "343051754", tm: "shpfy_ui", enableAutoSpaTracking: true };
  92.                o.q = w[u], w[u] = new UET(o), w[u].push("pageLoad")
  93.            },
  94.                n = d.createElement(t), n.src = r, n.async = 1, n.onload = n.onreadystatechange = function () {
  95.                    var s = this.readyState;
  96.                    s && s !== "loaded" && s !== "complete" || (f(), n.onload = n.onreadystatechange = null)
  97.                },
  98.                i = d.getElementsByTagName(t)[0], i.parentNode.insertBefore(n, i)
  99.        })
  100.            (window, document, "script", "//bat.bing.com/bat.js", "uetq");
  101.    </script>
  102.    <script>
  103.        window.uetq = window.uetq || [];
  104.        window.uetq.push('event', '', { "revenue_value": 0, "currency": "IDR" });
  105.    </script>
  106.    <!-- End Bing UET -->
  107.  
  108.    <!-- Microsoft Clarity -->
  109.    <script type="text/javascript">
  110.        (function (c, l, a, r, i, t, y) {
  111.            c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments) };
  112.            t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i;
  113.            y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
  114.        })(window, document, "clarity", "script", "h7rbxqry9k");
  115.    </script>
  116.    <!-- End Microsoft Clarity -->
  117.  
  118.  
  119.    <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205"
  120.        rel="stylesheet" type="text/css" media="all" />
  121.  
  122.    <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421"
  123.        rel="stylesheet" type="text/css" media="all" />
  124.    <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css">
  125.  
  126.    <script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
  127.        crossorigin="anonymous"></script>
  128.    <script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421"
  129.        type="text/javascript"></script>
  130.    <script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
  131.    <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
  132.    <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog">
  133.    <link rel="alternate" type="application/json+oembed" href="https://engineeringgf.com/shop/.oembed">
  134.    <script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
  135.    <script id="shopify-features"
  136.        type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
  137.    <script>var Shopify = Shopify || {};
  138.        Shopify.shop = "outerbloom1.myshopify.com";
  139.        Shopify.locale = "en";
  140.        Shopify.currency = { "active": "IDR", "rate": "1.0" };
  141.        Shopify.country = "ID";
  142.        Shopify.theme = { "name": "web-outerbloom-shopify\/main", "id": 153139282135, "schema_name": null, "schema_version": null, "theme_store_id": null, "role": "main" };
  143.        Shopify.theme.handle = "null";
  144.        Shopify.theme.style = { "id": null, "handle": null };
  145.        Shopify.cdnHost = "outerbloom.com/cdn";
  146.        Shopify.routes = Shopify.routes || {};
  147.        Shopify.routes.root = "/";</script>
  148.    <script type="module">!function (o) { (o.Shopify = o.Shopify || {}).modules = !0 }(window);</script>
  149.    <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>
  150.    <script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
  151.    <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});
  152. "></script>
  153.    <script>(function () {
  154.            var isLoaded = false;
  155.            function asyncLoad() {
  156.                if (isLoaded) return;
  157.                isLoaded = true;
  158.                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"];
  159.                for (var i = 0; i < urls.length; i++) {
  160.                    var s = document.createElement('script');
  161.                    s.type = 'text/javascript';
  162.                    s.async = true;
  163.                    s.src = urls[i];
  164.                    var x = document.getElementsByTagName('script')[0];
  165.                    x.parentNode.insertBefore(s, x);
  166.                }
  167.            };
  168.            if (window.attachEvent) {
  169.                window.attachEvent('onload', asyncLoad);
  170.            } else {
  171.                window.addEventListener('load', asyncLoad, false);
  172.            }
  173.        })();</script>
  174.    <script
  175.        id="__st">var __st = { "a": 15896833, "offset": 25200, "reqid": "78149bf2-9ab6-43c0-b2ce-821afbfe5bd0-1759566675", "pageurl": "outerbloom.com\/products\/blossom-shine", "u": "381e6a1da038", "p": "product", "rtyp": "product", "rid": 8144957800663 };</script>
  176.    <script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
  177.    <script
  178.        id="captcha-bootstrap">!function () { 'use strict'; const t = 'contact', e = 'account', n = 'new_comment', o = [[t, t], ['blogs', n], ['comments', n], [t, 'customer']], c = [[e, 'customer_login'], [e, 'guest_login'], [e, 'recover_customer_password'], [e, 'create_customer']], r = t => t.map((([t, e]) => `form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','), a = t => () => t ? [...document.querySelectorAll(t)].map((t => t.form)) : []; function s() { const t = [...o], e = r(t); return a(e) } const i = 'password', u = 'form_key', d = ['recaptcha-v3-token', 'g-recaptcha-response', 'h-captcha-response', i], f = () => { try { return window.sessionStorage } catch { return } }, m = '__shopify_v', _ = t => t.elements[u]; function p(t, e, n = !1) { try { const o = window.sessionStorage, c = JSON.parse(o.getItem(e)), { data: r } = function (t) { const { data: e, action: n } = t; return t[m] || n ? { data: e, action: n } : { data: t, action: n } }(c); for (const [e, n] of Object.entries(r)) t.elements[e] && (t.elements[e].value = n); n && o.removeItem(e) } catch (o) { console.error('form repopulation failed', { error: o }) } } const l = 'form_type', E = 'cptcha'; function T(t) { t.dataset[E] = !0 } const w = window, h = w.document, L = 'Shopify', v = 'ce_forms', y = 'captcha'; let A = !1; ((t, e) => { const n = (g = 'f06e6c50-85a8-45c8-87d0-21a2b65856fe', I = 'https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js', D = { infoText: 'Protected by hCaptcha', privacyText: 'Privacy', termsText: 'Terms' }, (t, e, n) => { const o = w[L][v], c = o.bindForm; if (c) return c(t, g, e, D).then(n); var r; o.q.push([[t, g, e, D], n]), r = I, A || (h.body.append(Object.assign(h.createElement('script'), { id: 'captcha-provider', async: !0, src: r })), A = !0) }); var g, I, D; w[L] = w[L] || {}, w[L][v] = w[L][v] || {}, w[L][v].q = [], w[L][y] = w[L][y] || {}, w[L][y].protect = function (t, e) { n(t, void 0, e), T(t) }, Object.freeze(w[L][y]), function (t, e, n, w, h, L) { const [v, y, A, g] = function (t, e, n) { const i = e ? o : [], u = t ? c : [], d = [...i, ...u], f = r(d), m = r(i), _ = r(d.filter((([t, e]) => n.includes(e)))); return [a(f), a(m), a(_), s()] }(w, h, L), I = t => { const e = t.target; return e instanceof HTMLFormElement ? e : e && e.form }, D = t => v().includes(t); t.addEventListener('submit', (t => { const e = I(t); if (!e) return; const n = D(e) && !e.dataset.hcaptchaBound && !e.dataset.recaptchaBound, o = _(e), c = g().includes(e) && (!o || !o.value); (n || c) && t.preventDefault(), c && !n && (function (t) { try { if (!f()) return; !function (t) { const e = f(); if (!e) return; const n = _(t); if (!n) return; const o = n.value; o && e.removeItem(o) }(t); const e = Array.from(Array(32), (() => Math.random().toString(36)[2])).join(''); !function (t, e) { _(t) || t.append(Object.assign(document.createElement('input'), { type: 'hidden', name: u })), t.elements[u].value = e }(t, e), function (t, e) { const n = f(); if (!n) return; const o = [...t.querySelectorAll(`input[type='${i}']`)].map((({ name: t }) => t)), c = [...d, ...o], r = {}; for (const [a, s] of new FormData(t).entries()) c.includes(a) || (r[a] = s); n.setItem(e, JSON.stringify({ [m]: 1, action: t.action, data: r })) }(t, e) } catch (e) { console.error('failed to persist form', e) } }(e), e.submit()) })); const S = (t, e) => { t && !t.dataset[E] && (n(t, e.some((e => e === t))), T(t)) }; for (const o of ['focusin', 'change']) t.addEventListener(o, (t => { const e = I(t); D(e) && S(e, y()) })); const B = e.get('form_key'), M = e.get(l), P = B && M; t.addEventListener('DOMContentLoaded', (() => { const t = y(); if (P) for (const e of t) e.elements[l].value === M && p(e, B);[...new Set([...A(), ...v().filter((t => 'true' === t.dataset.shopifyCaptcha))])].forEach((e => S(e, t))) })) }(h, new URLSearchParams(w.location.search), n, t, e, ['guest_login']) })(!1, !0) }();</script>
  179.    <script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc="
  180.        data-source-attribution="shopify.loadfeatures" defer="defer"
  181.        src="//outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js"
  182.        crossorigin="anonymous"></script>
  183.    <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) } };
  184.    </script>
  185.    <script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
  186.        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);
  187.    </script>
  188.    <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 }) } }));
  189.    </script>
  190.  
  191.    <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
  192.    <!-- /snippets/oldIE-js.liquid -->
  193.  
  194.  
  195.    <!--[if lt IE 9]>
  196. <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
  197. <script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
  198. <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" />
  199. <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" />
  200. <script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
  201. <![endif]-->
  202.  
  203.  
  204.  
  205.  
  206.  
  207.    <link
  208.        href="https://cdn.shopify.com/extensions/5c1bf460-65bd-4bca-82d0-995a5814b48d/bitlogin-social-login-135/assets/app.css"
  209.        rel="stylesheet" type="text/css" media="all">
  210.    <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
  211.    <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>
  212.    <script
  213.        id="web-pixels-manager-setup">(function e(e, d, r, n, o) { if (void 0 === o && (o = {}), !Boolean(null === (a = null === (i = window.Shopify) || void 0 === i ? void 0 : i.analytics) || void 0 === a ? void 0 : a.replayQueue)) { var i, a; window.Shopify = window.Shopify || {}; var t = window.Shopify; t.analytics = t.analytics || {}; var s = t.analytics; s.replayQueue = [], s.publish = function (e, d, r) { return s.replayQueue.push([e, d, r]), !0 }; try { self.performance.mark("wpm:start") } catch (e) { } var l = function () { var e = { modern: /Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/, legacy: /Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/ }, d = e.modern, r = e.legacy, n = navigator.userAgent; return n.match(d) ? "modern" : n.match(r) ? "legacy" : "unknown" }(), u = "modern" === l ? "modern" : "legacy", c = (null != n ? n : { modern: "", legacy: "" })[u], f = function (e) { return [e.baseUrl, "/wpm", "/b", e.hashVersion, "modern" === e.buildTarget ? "m" : "l", ".js"].join("") }({ baseUrl: d, hashVersion: r, buildTarget: u }), m = function (e) { var d = e.version, r = e.bundleTarget, n = e.surface, o = e.pageUrl, i = e.monorailEndpoint; return { emit: function (e) { var a = e.status, t = e.errorMsg, s = (new Date).getTime(), l = JSON.stringify({ metadata: { event_sent_at_ms: s }, events: [{ schema_id: "web_pixels_manager_load/3.1", payload: { version: d, bundle_target: r, page_url: o, status: a, surface: n, error_msg: t }, metadata: { event_created_at_ms: s } }] }); if (!i) return console && console.warn && console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."), !1; try { return self.navigator.sendBeacon.bind(self.navigator)(i, l) } catch (e) { } var u = new XMLHttpRequest; try { return u.open("POST", i, !0), u.setRequestHeader("Content-Type", "text/plain"), u.send(l), !0 } catch (e) { return console && console.warn && console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."), !1 } } } }({ version: r, bundleTarget: l, surface: e.surface, pageUrl: self.location.href, monorailEndpoint: e.monorailEndpoint }); try { o.browserTarget = l, function (e) { var d = e.src, r = e.async, n = void 0 === r || r, o = e.onload, i = e.onerror, a = e.sri, t = e.scriptDataAttributes, s = void 0 === t ? {} : t, l = document.createElement("script"), u = document.querySelector("head"), c = document.querySelector("body"); if (l.async = n, l.src = d, a && (l.integrity = a, l.crossOrigin = "anonymous"), s) for (var f in s) if (Object.prototype.hasOwnProperty.call(s, f)) try { l.dataset[f] = s[f] } catch (e) { } if (o && l.addEventListener("load", o), i && l.addEventListener("error", i), u) u.appendChild(l); else { if (!c) throw new Error("Did not find a head or body element to append the script"); c.appendChild(l) } }({ src: f, async: !0, onload: function () { if (!function () { var e, d; return Boolean(null === (d = null === (e = window.Shopify) || void 0 === e ? void 0 : e.analytics) || void 0 === d ? void 0 : d.initialized) }()) { var d = window.webPixelsManager.init(e) || void 0; if (d) { var r = window.Shopify.analytics; r.replayQueue.forEach((function (e) { var r = e[0], n = e[1], o = e[2]; d.publishCustomEvent(r, n, o) })), r.replayQueue = [], r.publish = d.publishCustomEvent, r.visitor = d.visitor, r.initialized = !0 } } }, onerror: function () { return m.emit({ status: "failed", errorMsg: "".concat(f, " has failed to load") }) }, sri: function (e) { var d = /^sha384-[A-Za-z0-9+/=]+$/; return "string" == typeof e && d.test(e) }(c) ? c : "", scriptDataAttributes: o }), m.emit({ status: "loading" }) } catch (e) { m.emit({ status: "failed", errorMsg: (null == e ? void 0 : e.message) || "Unknown error" }) } } })({ shopId: 15896833, storefrontBaseUrl: "https://outerbloom.com", extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager", monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch", surface: "storefront-renderer", enabledBetaFlags: [], webPixelsConfigList: [{ "id": "870383831", "configuration": "{\"accountID\":\"outerbloom1\"}", "eventPayloadVersion": "v1", "runtimeContext": "STRICT", "scriptVersion": "162380e6ffd3e5a2854f1aabf54537bb", "type": "APP", "apiClientId": 32196493313, "privacyPurposes": ["ANALYTICS", "MARKETING", "SALE_OF_DATA"] }, { "id": "824574167", "configuration": "{\"shop\":\"outerbloom1.myshopify.com\", \"backend\": \"api.bitbybit.studio\"}", "eventPayloadVersion": "v1", "runtimeContext": "STRICT", "scriptVersion": "a3ba46f2364c9db1bf57bc969c3dd935", "type": "APP", "apiClientId": 28314632193, "privacyPurposes": ["ANALYTICS", "MARKETING", "SALE_OF_DATA"] }, { "id": "521994455", "configuration": "{\"config\":\"{\\\"pixel_id\\\":\\\"G-X26HYP4083\\\",\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/YjjSCKiog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/RHfSCK6og9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/dMv0CKWog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/Y2DbCJ-og9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/xwQ2CKKog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/i9yRCLGog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/T9poCKuog9gZEMHe74Yp\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}", "eventPayloadVersion": "v1", "runtimeContext": "OPEN", "scriptVersion": "b2a88bafab3e21179ed38636efcd8a93", "type": "APP", "apiClientId": 1780363, "privacyPurposes": [] }, { "id": "236060887", "configuration": "{\"pixel_id\":\"165971065669324\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}", "eventPayloadVersion": "v1", "runtimeContext": "OPEN", "scriptVersion": "6d8c3ef0426b37b2a9b717daeb719f58", "type": "APP", "apiClientId": 2329312, "privacyPurposes": ["ANALYTICS", "MARKETING", "SALE_OF_DATA"] }, { "id": "62947543", "eventPayloadVersion": "v1", "runtimeContext": "LAX", "scriptVersion": "1", "type": "CUSTOM", "privacyPurposes": ["MARKETING"], "name": "Meta pixel (migrated)" }, { "id": "shopify-app-pixel", "configuration": "{}", "eventPayloadVersion": "v1", "runtimeContext": "STRICT", "scriptVersion": "0450", "apiClientId": "shopify-pixel", "type": "APP", "privacyPurposes": ["ANALYTICS", "MARKETING"] }, { "id": "shopify-custom-pixel", "eventPayloadVersion": "v1", "runtimeContext": "LAX", "scriptVersion": "0450", "apiClientId": "shopify-pixel", "type": "CUSTOM", "privacyPurposes": ["ANALYTICS", "MARKETING"] }], isMerchantRequest: false, initData: { "shop": { "name": "Outerbloom", "paymentSettings": { "currencyCode": "IDR" }, "myshopifyDomain": "outerbloom1.myshopify.com", "countryCode": "ID", "storefrontUrl": "https:\/\/outerbloom.com" }, "customer": null, "cart": null, "checkout": null, "productVariants": [{ "price": { "amount": 835000.0, "currencyCode": "IDR" }, "product": { "title": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru", "vendor": "Outerbloom Florist", "id": "8144957800663", "untranslatedTitle": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru", "url": "\/products\/blossom-shine", "type": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini." }, "id": "44083045826775", "image": { "src": "\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426" }, "sku": "OBVSTF1086", "title": "Default Title", "untranslatedTitle": "Default Title" }], "purchasingCompany": null }, }, "https://outerbloom.com/cdn", "4f0c5c77w64a73806p128ba08bma5b58f2f", { "modern": "", "legacy": "" }, { "shopId": "15896833", "storefrontBaseUrl": "https:\/\/outerbloom.com", "extensionBaseUrl": "https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager", "surface": "storefront-renderer", "enabledBetaFlags": "[]", "isMerchantRequest": "false", "hashVersion": "4f0c5c77w64a73806p128ba08bma5b58f2f", "publish": "custom", "events": "[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8144957800663\",\"untranslatedTitle\":\"GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru\",\"url\":\"\/products\/blossom-shine\",\"type\":\"GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"OBVSTF1086\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]" });</script>
  214.    <script>
  215.        window.ShopifyAnalytics = window.ShopifyAnalytics || {};
  216.        window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
  217.        window.ShopifyAnalytics.meta.currency = 'IDR';
  218.        var meta = {
  219.            "product": {
  220.                "id": 8144957800663, "gid": "gid:\/\/shopify\/Product\/8144957800663", "vendor": "Outerbloom Florist", "type": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.", "variants": [{
  221.                    "id": 44083045826775, "price": 1000000
  222.                    , "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru", "public_title": null, "sku": "OBVSTF1086"
  223.                }], "remote": false
  224.            }, "page": { "pageType": "product", "resourceType": "product", "resourceId": 8144957800663 }
  225.        };
  226.        for (var attr in meta) {
  227.            window.ShopifyAnalytics.meta[attr] = meta[attr];
  228.        }
  229.    </script>
  230.    <script class="analytics">
  231.        (function () {
  232.            var customDocumentWrite = function (content) {
  233.                var jquery = null;
  234.  
  235.                if (window.jQuery) {
  236.                    jquery = window.jQuery;
  237.                } else if (window.Checkout && window.Checkout.$) {
  238.                    jquery = window.Checkout.$;
  239.                }
  240.  
  241.                if (jquery) {
  242.                    jquery('body').append(content);
  243.                }
  244.            };
  245.  
  246.            var hasLoggedConversion = function (token) {
  247.                if (token) {
  248.                    return document.cookie.indexOf('loggedConversion=' + token) !== -1;
  249.                }
  250.                return false;
  251.            }
  252.  
  253.            var setCookieIfConversion = function (token) {
  254.                if (token) {
  255.                    var twoMonthsFromNow = new Date(Date.now());
  256.                    twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
  257.  
  258.                    document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
  259.                }
  260.            }
  261.  
  262.            var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
  263.            if (trekkie.integrations) {
  264.                return;
  265.            }
  266.            trekkie.methods = [
  267.                'identify',
  268.                'page',
  269.                'ready',
  270.                'track',
  271.                'trackForm',
  272.                'trackLink'
  273.            ];
  274.            trekkie.factory = function (method) {
  275.                return function () {
  276.                    var args = Array.prototype.slice.call(arguments);
  277.                    args.unshift(method);
  278.                    trekkie.push(args);
  279.                    return trekkie;
  280.                };
  281.            };
  282.            for (var i = 0; i < trekkie.methods.length; i++) {
  283.                var key = trekkie.methods[i];
  284.                trekkie[key] = trekkie.factory(key);
  285.            }
  286.            trekkie.load = function (config) {
  287.                trekkie.config = config || {};
  288.                trekkie.config.initialDocumentCookie = document.cookie;
  289.                var first = document.getElementsByTagName('script')[0];
  290.                var script = document.createElement('script');
  291.                script.type = 'text/javascript';
  292.                script.onerror = function (e) {
  293.                    var scriptFallback = document.createElement('script');
  294.                    scriptFallback.type = 'text/javascript';
  295.                    scriptFallback.onerror = function (error) {
  296.                        var Monorail = {
  297.                            produce: function produce(monorailDomain, schemaId, payload) {
  298.                                var currentMs = new Date().getTime();
  299.                                var event = {
  300.                                    schema_id: schemaId,
  301.                                    payload: payload,
  302.                                    metadata: {
  303.                                        event_created_at_ms: currentMs,
  304.                                        event_sent_at_ms: currentMs
  305.                                    }
  306.                                };
  307.                                return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
  308.                            },
  309.                            sendRequest: function sendRequest(endpointUrl, payload) {
  310.                                // Try the sendBeacon API
  311.                                if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
  312.                                    var blobData = new window.Blob([payload], {
  313.                                        type: 'text/plain'
  314.                                    });
  315.  
  316.                                    if (window.navigator.sendBeacon(endpointUrl, blobData)) {
  317.                                        return true;
  318.                                    } // sendBeacon was not successful
  319.  
  320.                                } // XHR beacon
  321.  
  322.                                var xhr = new XMLHttpRequest();
  323.  
  324.                                try {
  325.                                    xhr.open('POST', endpointUrl);
  326.                                    xhr.setRequestHeader('Content-Type', 'text/plain');
  327.                                    xhr.send(payload);
  328.                                } catch (e) {
  329.                                    console.log(e);
  330.                                }
  331.  
  332.                                return false;
  333.                            },
  334.                            isIos12: function isIos12() {
  335.                                return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
  336.                            }
  337.                        };
  338.                        Monorail.produce('monorail-edge.shopifysvc.com',
  339.                            'trekkie_storefront_load_errors/1.1',
  340.                            {
  341.                                shop_id: 15896833,
  342.                                theme_id: 153139282135,
  343.                                app_name: "storefront",
  344.                                context_url: window.location.href,
  345.                                source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"
  346.                            });
  347.  
  348.                    };
  349.                    scriptFallback.async = true;
  350.                    scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
  351.                    first.parentNode.insertBefore(scriptFallback, first);
  352.                };
  353.                script.async = true;
  354.                script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js';
  355.                first.parentNode.insertBefore(script, first);
  356.            };
  357.            trekkie.load(
  358.                { "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 } }
  359.            );
  360.  
  361.            var loaded = false;
  362.            trekkie.ready(function () {
  363.                if (loaded) return;
  364.                loaded = true;
  365.  
  366.                window.ShopifyAnalytics.lib = window.trekkie;
  367.  
  368.                var originalDocumentWrite = document.write;
  369.                document.write = customDocumentWrite;
  370.                try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch (error) { };
  371.                document.write = originalDocumentWrite;
  372.  
  373.                window.ShopifyAnalytics.lib.page(null, { "pageType": "product", "resourceType": "product", "resourceId": 8144957800663, "shopifyEmitted": true });
  374.  
  375.                var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
  376.                var token = match ? match[1] : undefined;
  377.                if (!hasLoggedConversion(token)) {
  378.                    setCookieIfConversion(token);
  379.                    window.ShopifyAnalytics.lib.track("Viewed Product", { "currency": "IDR", "variantId": 44083045826775, "productId": 8144957800663, "productGid": "gid:\/\/shopify\/Product\/8144957800663", "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru", "price": "835000.00", "sku": "OBVSTF1086", "brand": "Outerbloom Florist", "variant": null, "category": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.", "nonInteraction": true, "remote": false }, undefined, undefined, { "shopifyEmitted": true });
  380.                    window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1", { "currency": "IDR", "variantId": 44083045826775, "productId": 8144957800663, "productGid": "gid:\/\/shopify\/Product\/8144957800663", "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru", "price": "835000.00", "sku": "OBVSTF1086", "brand": "Outerbloom Florist", "variant": null, "category": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.", "nonInteraction": true, "remote": false, "referer": "https:\/\/outerbloom.com\/products\/blossom-shine" });
  381.                }
  382.            });
  383.  
  384.  
  385.            var eventsListenerScript = document.createElement('script');
  386.            eventsListenerScript.async = true;
  387.            eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js";
  388.            document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
  389.  
  390.        })();</script>
  391.    <script>
  392.        if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
  393.            window.ga = function ga() {
  394.                (window.ga.q = window.ga.q || []).push(arguments);
  395.                if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
  396.                    window.Shopify.analytics.publish("ga_stub_called", {}, { sendTo: "google_osp_migration" });
  397.                }
  398.                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.");
  399.            };
  400.            if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
  401.                window.Shopify.analytics.publish("ga_stub_initialized", {}, { sendTo: "google_osp_migration" });
  402.            }
  403.        }
  404.    </script>
  405.    <script defer src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js"
  406.        data-application="storefront-renderer" data-shop-id="15896833" data-render-region="gcp-asia-southeast1"
  407.        data-page-type="product" data-theme-instance-id="153139282135" data-theme-name="" data-theme-version=""
  408.        data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" data-shs="true"
  409.        data-shs-beacon="true" data-shs-export-with-fetch="true" data-shs-logs-sample-rate="1"></script>
  410. </head>
  411.  
  412. <body data-template="product" id="blossom-shine" class="template-product template-product">
  413.    <!-- Google Tag Manager (noscript) -->
  414.    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MF9VVZX" height="0" width="0"
  415.            style="display:none;visibility:hidden"></iframe></noscript>
  416.    <!-- End Google Tag Manager (noscript) -->
  417.  
  418.  
  419.  
  420.    <div class="header-wrapper">
  421.  
  422.        <div id="shopify-section-NotifBar" class="shopify-section m-0">
  423.  
  424.            <style>
  425.                #notification {
  426.                    z-index: 99;
  427.                    width: 100%;
  428.                    transition: top 0.2s ease-in-out;
  429.                }
  430.  
  431.                #notification.promo-up {
  432.                    top: -48px !important;
  433.                }
  434.  
  435.                .promo-bg {
  436.                    width: 100%;
  437.                    padding: 6px 0;
  438.                    background-color: #242424;
  439.                }
  440.  
  441.                .notification__message p {
  442.                    margin: 0;
  443.                    color: #000000;
  444.                    font-size: 14px !important;
  445.                }
  446.  
  447.                .notification__message p a {
  448.                    text-decoration: underline;
  449.                    color: #ffffff;
  450.                }
  451.  
  452.                @media (max-width: 991px) {
  453.                    .notification__message p {
  454.                        font-size: 14px !important;
  455.                    }
  456.                }
  457.            </style>
  458.            <input id="clearCookie" class="hide" type="button" value="Delete Cookie" />
  459.            <div id="notification" class="promo-down promo-bg pl-2 pr-2"
  460.                data-text="up-to-40-off-embrace-traditions-with-our-special-mooncake-hampers-pre-order-now">
  461.                <div class="page-width notification__inner ">
  462.  
  463.  
  464.                    <div class="notification__message text-center">
  465.                        <p><a href="https://engineeringgf.com/shop/" title="GUATOGEL">GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru</a></p>
  466.                    </div>
  467.                </div>
  468.            </div>
  469.  
  470.  
  471.  
  472.  
  473.        </div>
  474.        <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0">
  475.            <link href="//outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904"
  476.                rel="stylesheet" type="text/css" media="all" />
  477.  
  478.  
  479.            <header
  480.                style="background-image: url(https://i.gyazo.com/d7320f642fd58b4dea9daefaf61b3c93.png); background-attachment: fixed;">
  481.                <div class="container">
  482.                    <div class="header-container row justify-content-between pl-lg-0 pr-lg-0">
  483.                        <a href="https://engineeringgf.com/shop/">
  484.                            <img src="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" alt="logo-GUATOGEL"
  485.                                style="width: 190px;"></a>
  486.                        <link href="https://i.gyazo.com/fd8c3fd1c090614e0221f5e555a796a4.png" rel="shortcut icon"
  487.                            type="image/x-icon" />
  488.                        <div id="menu-hamburger" class="d-lg-none">
  489.                            <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="16" height="10"
  490.                                viewBox="0 0 16 10" fill="none">
  491.                                <path
  492.                                    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"
  493.                                    fill="#ffffff" />
  494.                            </svg>
  495.  
  496.                            <a href="/"><svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  497.                                    viewBox="0 0 854 78.29">
  498.                                    <g id="Layer_2" data-name="Layer 2">
  499.                                        <g id="Layer_1-2" data-name="Layer 1">
  500.                                            <path
  501.                                                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">
  502.                                            </path>
  503.                                            <path
  504.                                                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">
  505.                                            </path>
  506.                                            <path
  507.                                                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">
  508.                                            </path>
  509.                                            <path
  510.                                                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">
  511.                                            </path>
  512.                                            <path
  513.                                                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">
  514.                                            </path>
  515.                                            <path
  516.                                                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">
  517.                                            </path>
  518.                                            <path
  519.                                                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">
  520.                                            </path>
  521.                                            <path
  522.                                                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">
  523.                                            </path>
  524.                                            <path
  525.                                                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">
  526.                                            </path>
  527.                                            <path
  528.                                                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">
  529.                                            </path>
  530.                                        </g>
  531.                                    </g>
  532.                                </svg>
  533.                            </a>
  534.                        </div>
  535.  
  536.                        <div class="header-icon-right header-icons col-3">
  537.                            <div class="icon icon-account-header d-none d-lg-block">
  538.                                <a href="https://engineeringgf.com/shop/">
  539.                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="20"
  540.                                        height="21" viewBox="0 0 20 21" fill="none">
  541.                                        <path
  542.                                            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"
  543.                                            stroke="#ffffff" stroke-linecap="round" />
  544.                                        <path
  545.                                            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"
  546.                                            stroke="#ffffff" stroke-linecap="round" />
  547.                                    </svg>
  548.  
  549.                                </a>
  550.                            </div>
  551.                            <div class="icon icon-wishlist-header">
  552.                                <a href="https://engineeringgf.com/shop/">
  553.                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="24"
  554.                                        height="21" viewBox="0 0 24 21" fill="none">
  555.                                        <path
  556.                                            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.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"
  557.                                            fill="#ffffff" />
  558.                                    </svg>
  559.  
  560.                                    <span class="wishlist-count d-none">0</span>
  561.                                </a>
  562.                            </div>
  563.                            <div class="icon icon-cart-header">
  564.                                <a href="https://engineeringgf.com/shop/">
  565.                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="22"
  566.                                        height="21" viewBox="0 0 22 21" fill="none">
  567.                                        <path
  568.                                            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"
  569.                                            stroke="#ffffff" stroke-linecap="round" />
  570.                                        <path
  571.                                            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"
  572.                                            stroke="#ffffff" />
  573.                                    </svg>
  574.  
  575.                                </a>
  576.                            </div>
  577.                        </div>
  578.                    </div>
  579.                </div>
  580.            </header>
  581.  
  582.            <nav class="nav-header" style="background-color: #242424;">
  583.                <div class="nav-account-mobile row m-0 d-lg-none">
  584.                    <div class="col-6 welcome-cust p-0">
  585.  
  586.                        <h1 class="logo">
  587.                            <a href="https://engineeringgf.com/shop/">
  588.                                <img src="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" alt="GUATOGEL"
  589.                                    style="max-height:60px;">
  590.                            </a>
  591.                        </h1>
  592.  
  593.  
  594.                    </div>
  595.  
  596.                    <div class="col-6 login-register text-right p-0">
  597.                        <a href="https://gampang-maxwin-guatogel-amp.pages.dev/">Log In</a> | <a
  598.                            href="https://gampang-maxwin-guatogel-amp.pages.dev/">Sign Up</a>
  599.                    </div>
  600.                </div>
  601.                <ul class="nav-menu container">
  602.  
  603.                    <li class="nav-menu container">
  604.                        <a href="https://engineeringgf.com/shop/">
  605.                            <span style="color: #ffffff;">GUATOGEL</span>
  606.  
  607.  
  608.                    <li class=" nav-menu container">
  609.                        <a href="https://engineeringgf.com/shop/">
  610.                            <span style="color: #ffffff;">LOGIN GUATOGEL</span>
  611.  
  612.  
  613.                    <li class=" nav-menu container">
  614.                        <a href="https://engineeringgf.com/shop/">
  615.                            <span style="color: #ffffff;">SLOT GACOR</span>
  616.  
  617.                    <li class=" nav-menu container">
  618.                        <a href="https://engineeringgf.com/shop/">
  619.                            <span style="color: #ffffff;">SLOT MAXWIN</span>
  620.  
  621.                    <li class=" nav-menu container">
  622.                        <a href="https://engineeringgf.com/shop/">
  623.                            <span style="color: #ffffff;">SITUS TOGEL</span>
  624.  
  625.                    <li class=" nav-menu container">
  626.                        <a href="https://engineeringgf.com/shop/">
  627.                            <span style="color: #ffffff;">TOTO TOGEL</span>
  628.  
  629.                            <div class="overlay-nav">
  630.                                <!-- Mobile Close Button in Overlay -->
  631.                                <button id="nav-close" class="nav-close-btn d-lg-none">
  632.                                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none"
  633.                                        xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  634.                                        <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2"
  635.                                            stroke-linecap="round" stroke-linejoin="round" />
  636.                                    </svg>
  637.                                </button>
  638.                            </div>
  639.  
  640.                            <script>
  641.                                if ($(window).width() < 992) {
  642.                                    // Level 1 menu accordion (main menu items)
  643.                                    $(".nav-menu .nav-menu container > a").click(function (e) {
  644.                                        e.preventDefault()
  645.                                        const parentLi = $(this).parent()
  646.                                        const isCurrentlyOpen = parentLi.hasClass("menu-open")
  647.  
  648.                                        // Close all other open menus (accordion behavior)
  649.                                        $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open")
  650.                                        $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp()
  651.  
  652.                                        // Toggle current menu
  653.                                        if (isCurrentlyOpen) {
  654.                                            parentLi.removeClass("menu-open")
  655.                                            $(this).next(".megamenu").slideUp()
  656.                                        } else {
  657.                                            parentLi.addClass("menu-open")
  658.                                            $(this).next(".megamenu").slideDown()
  659.                                        }
  660.                                    })
  661.  
  662.                                    // Level 2 menu accordion (submenu items with grandchildren)
  663.                                    $(document).on('click', '.dropdown-menu .has-submenu > a', function (e) {
  664.                                        e.preventDefault()
  665.                                        const parentLi = $(this).parent()
  666.                                        const isCurrentlyOpen = parentLi.hasClass("submenu-open")
  667.                                        const grandchild = $(this).next(".grandchild")
  668.  
  669.                                        // Close all other open submenus in the same dropdown (accordion behavior)
  670.                                        parentLi.siblings('.has-submenu').removeClass("submenu-open")
  671.                                        parentLi.siblings('.has-submenu').find('.grandchild').slideUp()
  672.                                        parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)')
  673.  
  674.                                        // Toggle current submenu
  675.                                        if (isCurrentlyOpen) {
  676.                                            parentLi.removeClass("submenu-open")
  677.                                            grandchild.slideUp()
  678.                                            $(this).find('.chevron-right').css('transform', 'rotate(0deg)')
  679.                                        } else {
  680.                                            parentLi.addClass("submenu-open")
  681.                                            grandchild.slideDown()
  682.                                            $(this).find('.chevron-right').css('transform', 'rotate(90deg)')
  683.                                        }
  684.                                    })
  685.  
  686.                                    $("#menu-hamburger").click(function (e) {
  687.                                        e.preventDefault()
  688.                                        $("body").toggleClass("nav_open")
  689.                                    })
  690.  
  691.                                    // Handle close button click
  692.                                    $("#nav-close").click(function (e) {
  693.                                        e.preventDefault()
  694.                                        $("body").removeClass("nav_open")
  695.                                        // Close all open menus when close button is clicked
  696.                                        $(".nav-menu .nav-menu container").removeClass("menu-open")
  697.                                        $(".nav-menu .megamenu").slideUp()
  698.                                        $(".dropdown-menu .has-submenu").removeClass("submenu-open")
  699.                                        $(".dropdown-menu .grandchild").slideUp()
  700.                                        $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
  701.                                    })
  702.                                }
  703.  
  704.                                $(".overlay-nav").click(function (e) {
  705.                                    e.preventDefault()
  706.                                    $("body").removeClass("nav_open")
  707.                                    // Close all open menus when overlay is clicked
  708.                                    $(".nav-menu .nav-menu container").removeClass("menu-open")
  709.                                    $(".nav-menu .megamenu").slideUp()
  710.                                    $(".dropdown-menu .has-submenu").removeClass("submenu-open")
  711.                                    $(".dropdown-menu .grandchild").slideUp()
  712.                                    $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)')
  713.                                })
  714.                            </script>
  715.  
  716.  
  717.        </div>
  718.  
  719.        <div id="shopify-section-search-popup" class="shopify-section m-0">
  720.            <style>
  721.                #search-trigger {
  722.                    cursor: pointer;
  723.                }
  724.  
  725.                #search-popup {
  726.                    display: none;
  727.                    position: fixed;
  728.                    left: 0;
  729.                    width: 100%;
  730.                    top: 0;
  731.                    height: 100%;
  732.                    justify-content: center;
  733.                    z-index: 9999;
  734.                    background: rgb(196 196 196 / 30%);
  735.                }
  736.  
  737.                #search-input {
  738.                    align-self: center;
  739.                    width: 100%;
  740.                    height: 80px;
  741.                    position: absolute;
  742.                    top: 0;
  743.                    border-bottom: 0.5px solid #A3A3A3;
  744.                    background-color: #fff;
  745.                }
  746.  
  747.                #search-input * {
  748.                    align-self: center;
  749.                }
  750.  
  751.                #search-type {
  752.                    width: 100%;
  753.                    border: none;
  754.                    padding-right: 20px;
  755.                    padding-left: 20px;
  756.                    font-size: 16px;
  757.                    color: #757575;
  758.                }
  759.  
  760.                #search-btn {
  761.                    font-size: 16px;
  762.                    font-weight: 500;
  763.                }
  764.  
  765.                #search-result {
  766.                    min-height: 490px;
  767.                    width: 100%;
  768.                    padding-top: 80px;
  769.                }
  770.  
  771.                #search-result .container {
  772.                    background-color: #fff;
  773.                    padding: 20px 40px;
  774.                }
  775.  
  776.                body.search-popup-open {
  777.                    /* .search-popup-open */
  778.                    overflow: hidden;
  779.                }
  780.  
  781.                .search-popup-open #loc_delivery {
  782.                    display: none
  783.                }
  784.  
  785.                .search-header svg {
  786.                    display: none;
  787.                    cursor: pointer;
  788.                }
  789.  
  790.                .wrapper-search-popup {
  791.                    max-height: calc(100vh - 150px);
  792.                    overflow-y: auto;
  793.                    overflow-x: hidden;
  794.                }
  795.  
  796.                .group-recommend {
  797.                    padding: 20px 40px;
  798.                }
  799.  
  800.                .resultsearch {
  801.                    display: none;
  802.                }
  803.  
  804.                .results {
  805.                    padding: 20px 40px
  806.                }
  807.  
  808.                .resultsearch label {
  809.                    font-weight: 600;
  810.                    padding-bottom: 20px;
  811.                    display: block;
  812.                    margin-bottom: 20px;
  813.                    border-bottom: 1px solid #AAAAAA;
  814.                }
  815.  
  816.                ul.result_product {
  817.                    max-height: 300px;
  818.                    overflow: auto;
  819.                }
  820.  
  821.                .group-promotion ul {
  822.                    margin: 0;
  823.                }
  824.  
  825.                .group-promotion li {
  826.                    list-style: none;
  827.                    margin-bottom: 12px;
  828.                }
  829.  
  830.                .group-promotion li a {
  831.                    color: inherit;
  832.                }
  833.  
  834.                .group-recent {
  835.                    position: relative;
  836.                    padding: 20px 40px;
  837.                }
  838.  
  839.                .group-recent ul {
  840.                    margin: 0;
  841.                }
  842.  
  843.                .group-recent li {
  844.                    list-style: none;
  845.                    display: inline-block;
  846.                    margin-right: 60px;
  847.                }
  848.  
  849.                .group-recent li a {
  850.                    color: inherit;
  851.                }
  852.  
  853.                .last-search svg {
  854.                    width: 20px;
  855.                    vertical-align: middle;
  856.                }
  857.  
  858.                ul.last-search a {
  859.                    vertical-align: middle;
  860.                    padding: 0 10px;
  861.                }
  862.  
  863.                ul.last-search li span {
  864.                    cursor: pointer;
  865.                }
  866.  
  867.                .delete-all-history {
  868.                    position: absolute;
  869.                    top: 25px;
  870.                    right: 40px;
  871.                    text-decoration: underline;
  872.                    color: #e11d1d;
  873.                    cursor: pointer;
  874.                    font-size: 12px;
  875.                }
  876.  
  877.                form.search.search-modal__form {
  878.                    position: relative;
  879.                }
  880.  
  881.                button.search__button svg {
  882.                    width: 25px;
  883.                    color: #495057;
  884.                    fill: #757582;
  885.                }
  886.  
  887.                button.search__button.field__button {
  888.                    position: absolute;
  889.                    top: 50%;
  890.                    margin-top: -12px;
  891.                }
  892.  
  893.                .close-search {
  894.                    display: none;
  895.                    position: absolute;
  896.                    right: 65px;
  897.                    top: 10px;
  898.                    cursor: pointer;
  899.                }
  900.  
  901.                .site-overlay {
  902.                    position: fixed;
  903.                    top: 0;
  904.                    width: 100vw;
  905.                    height: 100vh;
  906.                    z-index: 1000;
  907.                    background: #0000005c;
  908.                    visibility: hidden;
  909.                    opacity: 0;
  910.                    pointer-events: none;
  911.                    transition: all .3s linear;
  912.                    display: block !important;
  913.                }
  914.  
  915.                .search-popup-open .site-overlay {
  916.                    opacity: 1;
  917.                    visibility: visible;
  918.                    pointer-events: all;
  919.                    z-index: -1;
  920.                    cursor: pointer;
  921.                }
  922.  
  923.                @media (min-width: 991px) {
  924.                    .group-recent ul {
  925.                        column-count: 3;
  926.                    }
  927.  
  928.                    .group-promotion li a {
  929.                        font-size: 12px;
  930.                        font-weight: 400;
  931.                    }
  932.  
  933.                    .group-recent li a {
  934.                        font-size: 12px;
  935.                        font-weight: 400;
  936.                    }
  937.                }
  938.  
  939.                .moreresult {
  940.                    padding: 10px 40px;
  941.                    border-top: 1px solid #AAAAAA;
  942.                }
  943.  
  944.                .moreresult * {
  945.                    align-self: center;
  946.                }
  947.  
  948.                .moreresult p {
  949.                    margin: 0;
  950.                    font-size: 12px !important;
  951.                }
  952.  
  953.                .moreresult svg {
  954.                    width: 13px;
  955.                }
  956.  
  957.                @media (max-width: 992px) {
  958.                    .icon-key-mobile {
  959.                        height: auto !important;
  960.                        width: 10px !important;
  961.                    }
  962.  
  963.                    body.grid-view.search-popup-open .products {
  964.                        -ms-flex: 0 0 100% !important;
  965.                        flex: 0 0 100% !important;
  966.                        max-width: 100% !important;
  967.                    }
  968.  
  969.                    button.search__button svg {
  970.                        width: 20px;
  971.                    }
  972.  
  973.                    #search-result {
  974.                        padding-left: 0;
  975.                        padding-right: 0;
  976.                    }
  977.  
  978.                    #search-result {
  979.                        padding-top: 55px;
  980.                    }
  981.  
  982.                    #search-input {
  983.                        height: 55px;
  984.                    }
  985.  
  986.                    .group-recommend {
  987.                        padding: 20px;
  988.                    }
  989.  
  990.                    #search-input .container {
  991.                        padding: 0 20px;
  992.                    }
  993.  
  994.                    #search-type {
  995.                        font-size: 14px;
  996.                    }
  997.  
  998.                    #search-btn {
  999.                        font-size: 12px;
  1000.                        text-decoration: underline;
  1001.                    }
  1002.  
  1003.                    .results {
  1004.                        padding: 20px;
  1005.                    }
  1006.  
  1007.                    .group-recommend h3 {
  1008.                        font-size: 16px;
  1009.                    }
  1010.  
  1011.                    .products .card-body {
  1012.                        padding: 8px 0px 10px;
  1013.                    }
  1014.  
  1015.                    .moreresult {
  1016.                        padding: 10px 20px;
  1017.                    }
  1018.                }
  1019.            </style>
  1020.            <style type="text/css">
  1021.                div.advertisement-placeholder {
  1022.                    text-align: center;
  1023.                    padding-bottom: 20px;
  1024.                    display: flex;
  1025.                    flex-direction: column;
  1026.                    justify-content: center;
  1027.                }
  1028.  
  1029.                div.advertisement-text p {
  1030.                    margin: 0;
  1031.                    font-family: Open Sans;
  1032.                    font-style: normal;
  1033.                    font-weight: normal;
  1034.                    font-size: 10px;
  1035.                    line-height: 20px;
  1036.                    color: #999999;
  1037.                }
  1038.  
  1039.                div.advertisement-banner {
  1040.                    margin: 0px auto;
  1041.                }
  1042.  
  1043.                div#div-gpt-ad-billboard-placeholder {
  1044.                    width: 996px;
  1045.                    margin: 0 auto;
  1046.                    background: #F5F5F5;
  1047.                    padding-bottom: unset !important;
  1048.                    min-height: 200px;
  1049.                }
  1050.  
  1051.                div#div-gpt-ad-lb-placeholder {
  1052.                    background: #F5F5F5;
  1053.                    padding-bottom: unset !important;
  1054.                    min-height: 280px;
  1055.                }
  1056.  
  1057.                .faq-section {
  1058.                    max-width: 1200px;
  1059.                    margin: 50px auto;
  1060.                    padding: 40px 20px;
  1061.                    position: relative;
  1062.                    background-color: rgba(0, 0, 0, 0.1);
  1063.                    backdrop-filter: blur(25px);
  1064.                    border-radius: 20px;
  1065.                }
  1066.  
  1067.                .faq-section::before {
  1068.                    content: "";
  1069.                    position: absolute;
  1070.                    top: 0;
  1071.                    left: 50%;
  1072.                    transform: translateX(-50%);
  1073.                    width: 80%;
  1074.                    height: 2px;
  1075.                    background: linear-gradient(90deg, transparent, #fffb00, transparent)
  1076.                }
  1077.  
  1078.                .faq-section h2 {
  1079.                    text-align: center;
  1080.                    font-size: 34px;
  1081.                    font-weight: 700;
  1082.                    margin-bottom: 50px;
  1083.                    background: linear-gradient(135deg, #fffb00, #fffb00, #fffb00);
  1084.                    -webkit-background-clip: text;
  1085.                    -webkit-text-fill-color: transparent;
  1086.                    background-clip: text;
  1087.                    font-family: "Poppins", sans-serif;
  1088.                    letter-spacing: 1px
  1089.                }
  1090.  
  1091.                .faq-container {
  1092.                    display: flex;
  1093.                    flex-direction: column;
  1094.                    gap: 25px
  1095.                }
  1096.  
  1097.                .faq-item {
  1098.                    background: linear-gradient(145deg, #0a0a0a, #1a1a1a);
  1099.                    border: 2px solid #ffd700;
  1100.                    border-radius: 20px;
  1101.                    overflow: hidden;
  1102.                    transition: all .4s ease;
  1103.                    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.5)
  1104.                }
  1105.  
  1106.                .faq-item:hover {
  1107.                    border-color: #ffd700;
  1108.                    transform: translateX(10px);
  1109.                    box-shadow: 0 12px 35px rgba(253, 4, 4, 0.25)
  1110.                }
  1111.  
  1112.                .faq-question {
  1113.                    width: 100%;
  1114.                    padding: 28px 35px;
  1115.                    background: transparent;
  1116.                    color: #ffffff;
  1117.                    font-size: 18px;
  1118.                    font-weight: 600;
  1119.                    text-align: left;
  1120.                    border: none;
  1121.                    cursor: pointer;
  1122.                    display: flex;
  1123.                    justify-content: space-between;
  1124.                    align-items: center;
  1125.                    font-family: "Poppins", sans-serif;
  1126.                    transition: all .3s ease
  1127.                }
  1128.  
  1129.                .faq-question:hover {
  1130.                    color: #fffb00
  1131.                }
  1132.  
  1133.                .faq-question::after {
  1134.                    content: '+';
  1135.                    font-size: 32px;
  1136.                    font-weight: 300;
  1137.                    transition: all .4s ease;
  1138.                    color: #fffb00;
  1139.                    width: 40px;
  1140.                    height: 40px;
  1141.                    display: flex;
  1142.                    align-items: center;
  1143.                    justify-content: center;
  1144.                    border: 2px solid #ffd700;
  1145.                    border-radius: 50%;
  1146.                    background: rgba(0, 0, 0, 0.1)
  1147.                }
  1148.  
  1149.                .faq-item.active .faq-question::after {
  1150.                    transform: rotate(135deg);
  1151.                    background: linear-gradient(135deg, #ffd700, #ffd700);
  1152.                    color: #000;
  1153.                    border-color: transparent
  1154.                }
  1155.  
  1156.                .faq-answer {
  1157.                    max-height: 0;
  1158.                    overflow: hidden;
  1159.                    transition: max-height .5s ease, padding .5s ease;
  1160.                    background: linear-gradient(180deg, rgba(253, 228, 4, 0.05), transparent);
  1161.                    padding: 0 35px
  1162.                }
  1163.  
  1164.                .faq-item.active .faq-answer {
  1165.                    max-height: 800px;
  1166.                    padding: 30px 35px;
  1167.                    border-top: 1px solid rgba(253, 4, 4, 0.3)
  1168.                }
  1169.  
  1170.                .faq-answer p {
  1171.                    color: #e0e0e0;
  1172.                    font-size: 16px;
  1173.                    line-height: 2;
  1174.                    margin: 0;
  1175.                    font-family: "Poppins", sans-serif
  1176.                }
  1177.  
  1178.                @media (max-width:768px) {
  1179.  
  1180.                    .faq-section {
  1181.                        padding: 30px 15px
  1182.                    }
  1183.  
  1184.                    .faq-section h2 {
  1185.                        font-size: 26px
  1186.                    }
  1187.  
  1188.                    .faq-question {
  1189.                        font-size: 16px;
  1190.                        padding: 22px 25px
  1191.                    }
  1192.  
  1193.                    .faq-question::after {
  1194.                        width: 35px;
  1195.                        height: 35px;
  1196.                        font-size: 28px
  1197.                    }
  1198.  
  1199.                    .faq-answer {
  1200.                        padding: 0 25px
  1201.                    }
  1202.  
  1203.                    .faq-item.active .faq-answer {
  1204.                        padding: 25px
  1205.                    }
  1206.  
  1207.                    .faq-item:hover {
  1208.                        transform: translateX(5px)
  1209.                    }
  1210.                }
  1211.            </style>
  1212.            <div id="search-popup">
  1213.                <div id="search-input" class="row">
  1214.                    <div class="container w-100">
  1215.                        <form action="/search" method="get" role="search"
  1216.                            class="search search-modal__form d-flex justify-content-between">
  1217.                            <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="20" height="20"
  1218.                                viewBox="0 0 20 20" fill="none">
  1219.                                <path
  1220.                                    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"
  1221.                                    fill="#ffffff" />
  1222.                            </svg>
  1223.  
  1224.                            <input type="hidden" name="type" value="product">
  1225.                            <input type="text" id="search-type" name="q" class="search-popup"
  1226.                                placeholder="Gifts that linger: Uncover treasures for cherished moments.">
  1227.                            <div class="close-search"><svg
  1228.                                    xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="18"
  1229.                                    height="18" viewBox="0 0 18 18" fill="none">
  1230.                                    <path
  1231.                                        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"
  1232.                                        fill="#757575" />
  1233.                                </svg>
  1234.                            </div>
  1235.                            <button id="search-btn">Search</button>
  1236.                        </form>
  1237.                    </div>
  1238.                </div>
  1239.                <div id="search-result" class="container m-auto">
  1240.                    <div class="container p-0">
  1241.                        <div class="group-promotion">
  1242.                            <div class="resultsearch">
  1243.                                <div class="row results">
  1244.                                    <div class="col-12 col-lg-6 mb-3 mb-lg-0">
  1245.                                        <label>SUGGESTIONS</label>
  1246.                                        <ul class="result_collection"></ul>
  1247.                                    </div>
  1248.                                    <div class="col-12 col-lg-6">
  1249.                                        <label>PRODUCTS</label>
  1250.                                        <ul class="result_product"></ul>
  1251.                                    </div>
  1252.                                </div>
  1253.                                <div class="d-flex justify-content-between moreresult m-0">
  1254.                                    <p>Search for<span></span></p>
  1255.                                    <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1256.                                        width="32" height="32" viewBox="0 0 32 32">
  1257.                                        <title>icon-arrow-right</title>
  1258.                                        <path
  1259.                                            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">
  1260.                                        </path>
  1261.                                    </svg>
  1262.                                </div>
  1263.                            </div>
  1264.                        </div>
  1265.                        <div class="group-recent hide">
  1266.                            <h3>RECENT SEARCH</h3>
  1267.                            <span class="delete-all-history">Hapus riwayat</span>
  1268.                            <ul class="last-search"></ul>
  1269.                        </div>
  1270.                        <div class="group-recommend">
  1271.                            <h3>YOU MAY ALSO LIKE</h3>
  1272.  
  1273.  
  1274.                            <div class="row popup-recommend c-products-grid infinite-case product-multi-">
  1275.                                <div class="swiper-wrapper justify-content-between" style="margin-left:1px;">
  1276.  
  1277.  
  1278.                                    <div class="swiper-slide card">
  1279.  
  1280.  
  1281.  
  1282.  
  1283.                                        <div class="products" data-lazy="false">
  1284.                                            <div class="bg-products">
  1285.                                                <div class="wishlist-toggle"
  1286.                                                    data-product-handle="mid-autumn-of-love-mooncake">
  1287.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1288.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1289.                                                        <path
  1290.                                                            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.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"
  1291.                                                            fill="#ffffff" />
  1292.                                                    </svg>
  1293.  
  1294.                                                </div>
  1295.                                                <a href="/products/mid-autumn-of-love-mooncake">
  1296.  
  1297.                                                    <div class="product-card-img-container p-0 position-relative">
  1298.  
  1299.                                                        <img class="product-card-img" lazy="false"
  1300.                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898"
  1301.                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898"
  1302.                                                            alt="Mid Autumn of Love Mooncake" height="200" width="200">
  1303.                                                    </div>
  1304.                                                    <div class="card-body product-card-info">
  1305.                                                        <h5 class="h5 mb-0">
  1306.                                                            Mid Autumn of Love Mooncake
  1307.                                                        </h5>
  1308.                                                        <div class="product-card-price">
  1309.  
  1310.                                                            <div class="product-price-sale">
  1311.                                                                <s class="product-card-price-before card-money">Rp
  1312.                                                                    588.000</s>
  1313.                                                                <span class="product-card-discount small">
  1314.                                                                    (-40%)
  1315.                                                                </span>
  1316.                                                            </div>
  1317.  
  1318.  
  1319.  
  1320.                                                            <div class="price-discount">
  1321.                                                                <h4 class="product-card-price-after card-money">Rp
  1322.                                                                    348.000</h4>
  1323.                                                            </div>
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.                                                        </div>
  1330.  
  1331.                                                    </div>
  1332.                                                </a>
  1333.                                            </div>
  1334.  
  1335.                                        </div>
  1336.  
  1337.                                    </div>
  1338.  
  1339.  
  1340.  
  1341.                                    <div class="swiper-slide card">
  1342.  
  1343.  
  1344.  
  1345.  
  1346.                                        <div class="products" data-lazy="false">
  1347.                                            <div class="bg-products">
  1348.                                                <div class="wishlist-toggle"
  1349.                                                    data-product-handle="mid-autumn-of-joy-mooncake">
  1350.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1351.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1352.                                                        <path
  1353.                                                            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.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"
  1354.                                                            fill="#ffffff" />
  1355.                                                    </svg>
  1356.  
  1357.                                                </div>
  1358.                                                <a href="/products/mid-autumn-of-joy-mooncake">
  1359.  
  1360.                                                    <div class="product-card-img-container p-0 position-relative">
  1361.  
  1362.                                                        <img class="product-card-img" lazy="false"
  1363.                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798"
  1364.                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798"
  1365.                                                            alt="Mid Autumn of Joy Mooncake" height="200" width="200">
  1366.                                                    </div>
  1367.                                                    <div class="card-body product-card-info">
  1368.                                                        <h5 class="h5 mb-0">
  1369.                                                            Mid Autumn of Joy Mooncake
  1370.                                                        </h5>
  1371.                                                        <div class="product-card-price">
  1372.  
  1373.                                                            <div class="product-price-sale">
  1374.                                                                <s class="product-card-price-before card-money">Rp
  1375.                                                                    888.000</s>
  1376.                                                                <span class="product-card-discount small">
  1377.                                                                    (-33%)
  1378.                                                                </span>
  1379.                                                            </div>
  1380.  
  1381.  
  1382.  
  1383.                                                            <div class="price-discount">
  1384.                                                                <h4 class="product-card-price-after card-money">Rp
  1385.                                                                    588.000</h4>
  1386.                                                            </div>
  1387.  
  1388.  
  1389.  
  1390.  
  1391.  
  1392.                                                        </div>
  1393.  
  1394.                                                    </div>
  1395.                                                </a>
  1396.                                            </div>
  1397.  
  1398.                                        </div>
  1399.  
  1400.                                    </div>
  1401.  
  1402.  
  1403.  
  1404.                                    <div class="swiper-slide card">
  1405.  
  1406.  
  1407.  
  1408.  
  1409.                                        <div class="products" data-lazy="false">
  1410.                                            <div class="bg-products">
  1411.                                                <div class="wishlist-toggle"
  1412.                                                    data-product-handle="mid-autumn-of-fortune-mooncake">
  1413.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1414.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1415.                                                        <path
  1416.                                                            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.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"
  1417.                                                            fill="#ffffff" />
  1418.                                                    </svg>
  1419.  
  1420.                                                </div>
  1421.                                                <a href="/products/mid-autumn-of-fortune-mooncake">
  1422.  
  1423.                                                    <div class="product-card-img-container p-0 position-relative">
  1424.  
  1425.                                                        <img class="product-card-img" lazy="false"
  1426.                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072"
  1427.                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072"
  1428.                                                            alt="Mid Autumn of Fortune Mooncake" height="200"
  1429.                                                            width="200">
  1430.                                                    </div>
  1431.                                                    <div class="card-body product-card-info">
  1432.                                                        <h5 class="h5 mb-0">
  1433.                                                            Mid Autumn of Fortune Mooncake
  1434.                                                        </h5>
  1435.                                                        <div class="product-card-price">
  1436.  
  1437.                                                            <div class="product-price-sale">
  1438.                                                                <s class="product-card-price-before card-money">Rp
  1439.                                                                    1.188.000</s>
  1440.                                                                <span class="product-card-discount small">
  1441.                                                                    (-33%)
  1442.                                                                </span>
  1443.                                                            </div>
  1444.  
  1445.  
  1446.  
  1447.                                                            <div class="price-discount">
  1448.                                                                <h4 class="product-card-price-after card-money">Rp
  1449.                                                                    788.000</h4>
  1450.                                                            </div>
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.                                                        </div>
  1457.  
  1458.                                                    </div>
  1459.                                                </a>
  1460.                                            </div>
  1461.  
  1462.                                        </div>
  1463.  
  1464.                                    </div>
  1465.  
  1466.  
  1467.  
  1468.                                    <div class="swiper-slide card">
  1469.  
  1470.  
  1471.  
  1472.  
  1473.                                        <div class="products" data-lazy="false">
  1474.                                            <div class="bg-products">
  1475.                                                <div class="wishlist-toggle"
  1476.                                                    data-product-handle="mid-autumn-festival-mooncake">
  1477.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1478.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1479.                                                        <path
  1480.                                                            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.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"
  1481.                                                            fill="#ffffff" />
  1482.                                                    </svg>
  1483.  
  1484.                                                </div>
  1485.                                                <a href="/products/mid-autumn-festival-mooncake">
  1486.  
  1487.                                                    <div class="product-card-img-container p-0 position-relative">
  1488.  
  1489.                                                        <img class="product-card-img" lazy="false"
  1490.                                                            src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965"
  1491.                                                            data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965"
  1492.                                                            alt="Mid Autumn Festival Mooncake" height="200" width="200">
  1493.                                                    </div>
  1494.                                                    <div class="card-body product-card-info">
  1495.                                                        <h5 class="h5 mb-0">
  1496.                                                            Mid Autumn Festival Mooncake
  1497.                                                        </h5>
  1498.                                                        <div class="product-card-price">
  1499.  
  1500.                                                            <div class="product-price-sale">
  1501.                                                                <s class="product-card-price-before card-money">Rp
  1502.                                                                    1.288.000</s>
  1503.                                                                <span class="product-card-discount small">
  1504.                                                                    (-23%)
  1505.                                                                </span>
  1506.                                                            </div>
  1507.  
  1508.  
  1509.  
  1510.                                                            <div class="price-discount">
  1511.                                                                <h4 class="product-card-price-after card-money">Rp
  1512.                                                                    988.000</h4>
  1513.                                                            </div>
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.                                                        </div>
  1520.  
  1521.                                                    </div>
  1522.                                                </a>
  1523.                                            </div>
  1524.  
  1525.                                        </div>
  1526.  
  1527.                                    </div>
  1528.  
  1529.  
  1530.  
  1531.                                    <div class="swiper-slide card">
  1532.  
  1533.  
  1534.  
  1535.  
  1536.                                        <div class="products" data-lazy="false">
  1537.                                            <div class="bg-products">
  1538.                                                <div class="wishlist-toggle" data-product-handle="the-jade-bouquet">
  1539.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1540.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1541.                                                        <path
  1542.                                                            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.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"
  1543.                                                            fill="#ffffff" />
  1544.                                                    </svg>
  1545.  
  1546.                                                </div>
  1547.                                                <a href="/products/the-jade-bouquet">
  1548.  
  1549.                                                    <div class="product-card-img-container p-0 position-relative">
  1550.  
  1551.                                                        <img class="product-card-img" lazy="false"
  1552.                                                            src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030"
  1553.                                                            data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030"
  1554.                                                            alt="The Jade Bouquet" height="200" width="200">
  1555.                                                    </div>
  1556.                                                    <div class="card-body product-card-info">
  1557.                                                        <h5 class="h5 mb-0">
  1558.                                                            The Jade Bouquet
  1559.                                                        </h5>
  1560.                                                        <div class="product-card-price">
  1561.  
  1562.                                                            <div class="product-price-sale">
  1563.                                                                <s class="product-card-price-before card-money">Rp
  1564.                                                                    435.000</s>
  1565.                                                                <span class="product-card-discount small">
  1566.                                                                    (-34%)
  1567.                                                                </span>
  1568.                                                            </div>
  1569.  
  1570.  
  1571.  
  1572.                                                            <div class="price-discount">
  1573.                                                                <h4 class="product-card-price-after card-money">Rp
  1574.                                                                    285.000</h4>
  1575.                                                            </div>
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.                                                        </div>
  1582.  
  1583.                                                    </div>
  1584.                                                </a>
  1585.                                            </div>
  1586.  
  1587.                                        </div>
  1588.  
  1589.                                    </div>
  1590.  
  1591.  
  1592.  
  1593.                                    <div class="swiper-slide card">
  1594.  
  1595.  
  1596.  
  1597.  
  1598.                                        <div class="products" data-lazy="false">
  1599.                                            <div class="bg-products">
  1600.                                                <div class="wishlist-toggle" data-product-handle="the-selena-bouquet">
  1601.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1602.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1603.                                                        <path
  1604.                                                            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.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"
  1605.                                                            fill="#ffffff" />
  1606.                                                    </svg>
  1607.  
  1608.                                                </div>
  1609.                                                <a href="/products/the-selena-bouquet">
  1610.  
  1611.                                                    <div class="product-card-img-container p-0 position-relative">
  1612.  
  1613.                                                        <img class="product-card-img" lazy="false"
  1614.                                                            src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047"
  1615.                                                            data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047"
  1616.                                                            alt="The Selena Bouquet" height="200" width="200">
  1617.                                                    </div>
  1618.                                                    <div class="card-body product-card-info">
  1619.                                                        <h5 class="h5 mb-0">
  1620.                                                            The Selena Bouquet
  1621.                                                        </h5>
  1622.                                                        <div class="product-card-price">
  1623.  
  1624.                                                            <div class="product-price-sale">
  1625.                                                                <s class="product-card-price-before card-money">Rp
  1626.                                                                    335.000</s>
  1627.                                                                <span class="product-card-discount small">
  1628.                                                                    (-29%)
  1629.                                                                </span>
  1630.                                                            </div>
  1631.  
  1632.  
  1633.  
  1634.                                                            <div class="price-discount">
  1635.                                                                <h4 class="product-card-price-after card-money">Rp
  1636.                                                                    235.000</h4>
  1637.                                                            </div>
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.                                                        </div>
  1644.  
  1645.                                                    </div>
  1646.                                                </a>
  1647.                                            </div>
  1648.  
  1649.                                        </div>
  1650.  
  1651.                                    </div>
  1652.  
  1653.  
  1654.  
  1655.                                    <div class="swiper-slide card">
  1656.  
  1657.  
  1658.  
  1659.  
  1660.                                        <div class="products" data-lazy="false">
  1661.                                            <div class="bg-products">
  1662.                                                <div class="wishlist-toggle" data-product-handle="the-viola-bouquet">
  1663.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1664.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1665.                                                        <path
  1666.                                                            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.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"
  1667.                                                            fill="#ffffff" />
  1668.                                                    </svg>
  1669.  
  1670.                                                </div>
  1671.                                                <a href="/products/the-viola-bouquet">
  1672.  
  1673.                                                    <div class="product-card-img-container p-0 position-relative">
  1674.  
  1675.                                                        <img class="product-card-img" lazy="false"
  1676.                                                            src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053"
  1677.                                                            data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053"
  1678.                                                            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."
  1679.                                                            height="200" width="200">
  1680.                                                    </div>
  1681.                                                    <div class="card-body product-card-info">
  1682.                                                        <h5 class="h5 mb-0">
  1683.                                                            The Viola Bouquet
  1684.                                                        </h5>
  1685.                                                        <div class="product-card-price">
  1686.  
  1687.                                                            <div class="product-price-sale">
  1688.                                                                <s class="product-card-price-before card-money">Rp
  1689.                                                                    385.000</s>
  1690.                                                                <span class="product-card-discount small">
  1691.                                                                    (-25%)
  1692.                                                                </span>
  1693.                                                            </div>
  1694.  
  1695.  
  1696.  
  1697.                                                            <div class="price-discount">
  1698.                                                                <h4 class="product-card-price-after card-money">Rp
  1699.                                                                    285.000</h4>
  1700.                                                            </div>
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.                                                        </div>
  1707.  
  1708.                                                    </div>
  1709.                                                </a>
  1710.                                            </div>
  1711.  
  1712.                                        </div>
  1713.  
  1714.                                    </div>
  1715.  
  1716.  
  1717.  
  1718.                                    <div class="swiper-slide card">
  1719.  
  1720.  
  1721.  
  1722.  
  1723.                                        <div class="products" data-lazy="false">
  1724.                                            <div class="bg-products">
  1725.                                                <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet">
  1726.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1727.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1728.                                                        <path
  1729.                                                            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.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"
  1730.                                                            fill="#ffffff" />
  1731.                                                    </svg>
  1732.  
  1733.                                                </div>
  1734.                                                <a href="/products/the-minerva-bouquet">
  1735.  
  1736.                                                    <div class="product-card-img-container p-0 position-relative">
  1737.  
  1738.                                                        <img class="product-card-img" lazy="false"
  1739.                                                            src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061"
  1740.                                                            data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061"
  1741.                                                            alt="The Minerva Bouquet" height="200" width="200">
  1742.                                                    </div>
  1743.                                                    <div class="card-body product-card-info">
  1744.                                                        <h5 class="h5 mb-0">
  1745.                                                            The Minerva Bouquet
  1746.                                                        </h5>
  1747.                                                        <div class="product-card-price">
  1748.  
  1749.                                                            <div class="product-price-sale">
  1750.                                                                <s class="product-card-price-before card-money">Rp
  1751.                                                                    385.000</s>
  1752.                                                                <span class="product-card-discount small">
  1753.                                                                    (-25%)
  1754.                                                                </span>
  1755.                                                            </div>
  1756.  
  1757.  
  1758.  
  1759.                                                            <div class="price-discount">
  1760.                                                                <h4 class="product-card-price-after card-money">Rp
  1761.                                                                    285.000</h4>
  1762.                                                            </div>
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.                                                        </div>
  1769.  
  1770.                                                    </div>
  1771.                                                </a>
  1772.                                            </div>
  1773.  
  1774.                                        </div>
  1775.  
  1776.                                    </div>
  1777.  
  1778.  
  1779.  
  1780.                                    <div class="swiper-slide card">
  1781.  
  1782.  
  1783.  
  1784.  
  1785.                                        <div class="products" data-lazy="false">
  1786.                                            <div class="bg-products">
  1787.                                                <div class="wishlist-toggle"
  1788.                                                    data-product-handle="congraduations-bouquet">
  1789.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1790.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1791.                                                        <path
  1792.                                                            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.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"
  1793.                                                            fill="#ffffff" />
  1794.                                                    </svg>
  1795.  
  1796.                                                </div>
  1797.                                                <a href="/products/congraduations-bouquet">
  1798.  
  1799.                                                    <div class="product-card-img-container p-0 position-relative">
  1800.  
  1801.                                                        <img class="product-card-img" lazy="false"
  1802.                                                            src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306"
  1803.                                                            data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306"
  1804.                                                            alt="Congraduations Bouquet" height="200" width="200">
  1805.                                                    </div>
  1806.                                                    <div class="card-body product-card-info">
  1807.                                                        <h5 class="h5 mb-0">
  1808.                                                            Congraduations Bouquet
  1809.                                                        </h5>
  1810.                                                        <div class="product-card-price">
  1811.  
  1812.                                                            <div class="product-price-sale">
  1813.                                                                <s class="product-card-price-before card-money">Rp
  1814.                                                                    380.000</s>
  1815.                                                                <span class="product-card-discount small">
  1816.                                                                    (-25%)
  1817.                                                                </span>
  1818.                                                            </div>
  1819.  
  1820.  
  1821.  
  1822.                                                            <div class="price-discount">
  1823.                                                                <h4 class="product-card-price-after card-money">Rp
  1824.                                                                    285.000</h4>
  1825.                                                            </div>
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.                                                        </div>
  1832.  
  1833.                                                    </div>
  1834.                                                </a>
  1835.                                            </div>
  1836.  
  1837.                                        </div>
  1838.  
  1839.                                    </div>
  1840.  
  1841.  
  1842.  
  1843.                                    <div class="swiper-slide card">
  1844.  
  1845.  
  1846.  
  1847.  
  1848.                                        <div class="products" data-lazy="false">
  1849.                                            <div class="bg-products">
  1850.                                                <div class="wishlist-toggle"
  1851.                                                    data-product-handle="grad-gorgeous-bouquet">
  1852.                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  1853.                                                        width="24" height="21" viewBox="0 0 24 21" fill="none">
  1854.                                                        <path
  1855.                                                            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.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"
  1856.                                                            fill="#ffffff" />
  1857.                                                    </svg>
  1858.  
  1859.                                                </div>
  1860.                                                <a href="/products/grad-gorgeous-bouquet">
  1861.  
  1862.                                                    <div class="product-card-img-container p-0 position-relative">
  1863.  
  1864.                                                        <img class="product-card-img" lazy="false"
  1865.                                                            src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297"
  1866.                                                            data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297"
  1867.                                                            alt="Grad &amp; Gorgeous Bouquet" height="200" width="200">
  1868.                                                    </div>
  1869.                                                    <div class="card-body product-card-info">
  1870.                                                        <h5 class="h5 mb-0">
  1871.                                                            Grad & Gorgeous Bouquet
  1872.                                                        </h5>
  1873.                                                        <div class="product-card-price">
  1874.  
  1875.                                                            <div class="product-price-sale">
  1876.                                                                <s class="product-card-price-before card-money">Rp
  1877.                                                                    380.000</s>
  1878.                                                                <span class="product-card-discount small">
  1879.                                                                    (-25%)
  1880.                                                                </span>
  1881.                                                            </div>
  1882.  
  1883.  
  1884.  
  1885.                                                            <div class="price-discount">
  1886.                                                                <h4 class="product-card-price-after card-money">Rp
  1887.                                                                    285.000</h4>
  1888.                                                            </div>
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.                                                        </div>
  1895.  
  1896.                                                    </div>
  1897.                                                </a>
  1898.                                            </div>
  1899.  
  1900.                                        </div>
  1901.  
  1902.                                    </div>
  1903.  
  1904.  
  1905.                                </div>
  1906.                            </div>
  1907.  
  1908.                        </div>
  1909.                    </div>
  1910.                </div>
  1911.  
  1912.                <div class="site-overlay" style="display: none"></div>
  1913.            </div>
  1914.            <script>
  1915.  
  1916.                var swiper = new Swiper('.popup-recommend', {
  1917.                    slidesPerView: 4,
  1918.                    spaceBetween: 30,
  1919.                    lazy: true,
  1920.                    speed: 300,
  1921.                    breakpoints: {
  1922.                        // when window width is <= 576px
  1923.                        576: {
  1924.                            slidesPerView: 2,
  1925.                            spaceBetween: 10,
  1926.                            freeMode: true,
  1927.                            resistance: true,
  1928.                            resistanceRatio: 0,
  1929.                            freeModeMomentumRatio: 0.45,
  1930.                            freeModeMomentumVelocityRatio: 1.5
  1931.                        },
  1932.                        768: {
  1933.                            slidesPerView: 2,
  1934.                            spaceBetween: 10
  1935.                        },
  1936.                        992: {
  1937.                            slidesPerView: 3,
  1938.                            spaceBetween: 20
  1939.                        }
  1940.                    }
  1941.                });
  1942.  
  1943.                const searchContainer = $("#search-popup")
  1944.                const searchInput = $(".search-popup")
  1945.                const result_collection = $('.result_collection')
  1946.                const result_product = $('.result_product')
  1947.                const resultsearch = $('.resultsearch')
  1948.                const resultrecommend = $(".group-recommend")
  1949.                const moreresult = $(".moreresult")
  1950.  
  1951.                searchInput.keyup(function () {
  1952.                    const input = $(this).val()
  1953.                    moreresult.find("p span").text(` “${input}”`)
  1954.                    if (input.length > 2) {
  1955.                        $(".close-search").show()
  1956.                        const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}`
  1957.                        $.ajax({
  1958.                            type: 'GET',
  1959.                            url,
  1960.                            beforeSend: function () {
  1961.                                // setting a timeout
  1962.                                // $(placeholder).addClass('loading');
  1963.                            },
  1964.                            success: function (response) {
  1965.                                resultsearch.show()
  1966.                                resultrecommend.hide()
  1967.                                result_collection.html("")
  1968.                                result_product.html("")
  1969.                                const collections = response.resources.results.collections
  1970.                                const products = response.resources.results.products
  1971.                                let collection_length = collections.length
  1972.                                let product_length = products.length
  1973.                                // if(collections.length > 5) {
  1974.                                //   collection_length = 5
  1975.                                // }
  1976.                                // if(products.length > 5) {
  1977.                                //   product_length = 5
  1978.                                // }
  1979.                                for (let i = 0; i < collection_length; i++) {
  1980.                                    const title = collections[i].title
  1981.                                    const url = collections[i].url
  1982.                                    let html_collection
  1983.                                    if (!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) {
  1984.                                        html_collection = `
  1985.                 <li class="item" data-title="${title}">
  1986.                   <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a>
  1987.                 </li>
  1988.                 `
  1989.                                    }
  1990.                                    result_collection.append(html_collection)
  1991.                                }
  1992.                                for (let i = 0; i < product_length; i++) {
  1993.                                    const title = products[i].title
  1994.                                    const url = products[i].url
  1995.                                    const image = products[i].featured_image.url
  1996.                                    const vendor = products[i].vendor
  1997.                                    let html_product
  1998.                                    if (vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')) {
  1999.                                        html_product = `
  2000.                 <li class="item" data-vendor="${vendor}">
  2001.                   <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}">
  2002.                     <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span>
  2003.                   </a>
  2004.                 </li>
  2005.                 `
  2006.                                    }
  2007.                                    result_product.append(html_product)
  2008.                                }
  2009.                            },
  2010.                            error: function (xhr) { // if error occured
  2011.                                alert("Error occured.please try again");
  2012.                            },
  2013.                            complete: function (response) {
  2014.                                // $(placeholder).removeClass('loading');
  2015.                            },
  2016.                            dataType: 'JSON'
  2017.                        });
  2018.                    } else {
  2019.                        result_collection.html("")
  2020.                        result_product.html("")
  2021.  
  2022.                        resultsearch.hide()
  2023.                        resultrecommend.show()
  2024.                    }
  2025.                })
  2026.  
  2027.                moreresult.click(function () {
  2028.                    $("#search-btn").trigger("click");
  2029.                })
  2030.  
  2031.                $(".close-search").click(function () {
  2032.                    $(this).hide()
  2033.                    searchInput.val("")
  2034.                    searchInput.focus()
  2035.                    resultsearch.hide()
  2036.                    resultrecommend.show()
  2037.                })
  2038.  
  2039.                function setCookie(name, value, days) {
  2040.                    var expires = "";
  2041.                    if (days) {
  2042.                        var date = new Date();
  2043.                        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  2044.                        expires = "; expires=" + date.toUTCString();
  2045.                    }
  2046.                    document.cookie = name + "=" + (value || "") + expires + "; path=/";
  2047.                }
  2048.                function getCookie(name) {
  2049.                    var nameEQ = name + "=";
  2050.                    var ca = document.cookie.split(';');
  2051.                    for (var i = 0; i < ca.length; i++) {
  2052.                        var c = ca[i];
  2053.                        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
  2054.                        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  2055.                    }
  2056.                    return null;
  2057.                }
  2058.                let last_search_name = []
  2059.                let last_search_url = []
  2060.                $(".group-recent").hide()
  2061.                if (getCookie("last_search_name") != null && getCookie("last_search_url") != null) {
  2062.                    if (getCookie("last_search_name") != "" && getCookie("last_search_url") != "") {
  2063.                        $(".group-recent").show()
  2064.                        last_search_name = getCookie("last_search_name");
  2065.                        last_search_url = getCookie("last_search_url");
  2066.                        const arrName = last_search_name.substring(1).split(',').reverse()
  2067.                        const arrUrl = last_search_url.substring(1).split(',').reverse()
  2068.                        console.log(arrName, 'Array Name')
  2069.                        console.log(arrUrl, 'Array Url')
  2070.                        let length = arrName.length
  2071.                        if (arrName.length > 5) {
  2072.                            length = 5
  2073.                        }
  2074.                        for (let n = 0; n < length; n++) {
  2075.                            let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.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>`
  2076.                            $(".group-recent ul").append(html2)
  2077.                        }
  2078.                    }
  2079.                }
  2080.                console.log(last_search_name, 'Name')
  2081.                console.log(last_search_url, 'url')
  2082.  
  2083.                resultsearch.delegate(".item a", "click", function () {
  2084.                    let name = [last_search_name]
  2085.                    let url = [last_search_url]
  2086.                    name.push($(this).attr('data-title'))
  2087.                    url.push($(this).attr('data-url'))
  2088.                    setCookie("last_search_name", name, 7);
  2089.                    setCookie("last_search_url", url, 7);
  2090.                })
  2091.  
  2092.                $(".delete-all-history").click(function () {
  2093.                    setCookie("last_search_name", null, 0);
  2094.                    setCookie("last_search_url", null, 0);
  2095.                    $(".last-search").hide();
  2096.                    setTimeout(function () {
  2097.                        location.reload();
  2098.                    }, 500);
  2099.                })
  2100.  
  2101.                $("#search-trigger").click(function () {
  2102.                    search_open()
  2103.                })
  2104.                $(".icon-search-mobile").click(function () {
  2105.                    search_open()
  2106.                })
  2107.                $(".search-header svg").click(function () {
  2108.                    search_close()
  2109.                })
  2110.                $(".icon-key-mobile").click(function () {
  2111.                    search_close()
  2112.                })
  2113.  
  2114.                function search_open() {
  2115.                    $("body").addClass("search-popup-open")
  2116.                    $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide()
  2117.                    $("#search-popup, .search-header svg, .icon-key-mobile").show()
  2118.                    $(".search-popup").focus()
  2119.                    $('.popup-recommend')[0].swiper.update();
  2120.                }
  2121.                function search_close() {
  2122.                    $("body").removeClass("search-popup-open")
  2123.                    $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show()
  2124.                    $("#search-popup, .search-header svg, .icon-key-mobile").hide()
  2125.                    searchInput.val("")
  2126.                    resultsearch.hide()
  2127.                    resultrecommend.show()
  2128.                }
  2129.  
  2130.                $(".site-overlay").click(function () {
  2131.                    search_close()
  2132.                })
  2133.            </script>
  2134.  
  2135.        </div>
  2136.    </div>
  2137.  
  2138.    <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;">
  2139.        <main class="main-content pt-0" role="main">
  2140.  
  2141.            <div id="breadcrumbProduct" class="d-none d-lg-block">
  2142.                <style>
  2143.                    #breadcrumbProduct {
  2144.                        padding: 20px 0;
  2145.                    }
  2146.  
  2147.                    #breadcrumbProduct ul {
  2148.                        display: flex;
  2149.                        padding: 0;
  2150.                        list-style: none;
  2151.                        margin: 0;
  2152.                        gap: 12px;
  2153.                    }
  2154.  
  2155.                    #breadcrumbProduct ul li {
  2156.                        text-transform: uppercase;
  2157.                        margin: 0;
  2158.                        font-size: 12px;
  2159.                    }
  2160.  
  2161.                    #breadcrumbProduct ul li a {
  2162.                        color: #757575;
  2163.                    }
  2164.  
  2165.                    #breadcrumbProduct ul li svg {
  2166.                        width: 10px;
  2167.                        height: 10px;
  2168.                        padding: 0;
  2169.                        color: #757575;
  2170.                        vertical-align: middle;
  2171.                    }
  2172.                </style>
  2173.                <div class="container" style="color: #ffffff;">
  2174.                    <ul role="navigation" aria-label="breadcrumbs">
  2175.                        <li><a href="https://engineeringgf.com/shop/" style="color: #ffffff;">GUATOGEL</a></li>
  2176.                        <li><svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="7" height="10"
  2177.                                viewBox="0 0 7 10" fill="none">
  2178.                                <path
  2179.                                    d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
  2180.                                    fill="#757575" />
  2181.                            </svg></li>
  2182.                        <li>SLOT GACOR</li>
  2183.                        <li>TOGEL ONLINE</li>
  2184.                        <li>SLOT GACOR ONLINE</li>
  2185.                        <li>GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru</li>
  2186.  
  2187.                    </ul>
  2188.                </div>
  2189.  
  2190.            </div>
  2191.  
  2192.            <script type="application/ld+json">
  2193. {
  2194.   "@context": "https://schema.org",
  2195.   "@type": "Product",
  2196.   "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru",
  2197.   "image": "https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg",
  2198.   "description": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.",
  2199.   "brand": {
  2200.     "@type": "Brand",
  2201.     "name": "GUATOGEL"
  2202.   },
  2203.   "sku": "GUATOGEL",
  2204.   "mpn": "GUATOGEL",
  2205.   "url": "https://engineeringgf.com/shop/",
  2206.   "offers": {
  2207.     "@type": "Offer",
  2208.     "url": "https://engineeringgf.com/shop/",
  2209.     "priceCurrency": "USD",
  2210.     "price": "10.00",
  2211.     "priceValidUntil": "2025-12-25",
  2212.     "itemCondition": "https://schema.org/NewCondition",
  2213.     "availability": "https://schema.org/InStock",
  2214.     "seller": {
  2215.       "@type": "Organization",
  2216.       "name": "GUATOGEL"
  2217.     }
  2218.   },
  2219.   "aggregateRating": {
  2220.     "@type": "AggregateRating",
  2221.     "ratingValue": "5.0",
  2222.     "reviewCount": 858
  2223.   },
  2224.   "review": [
  2225.     {
  2226.       "@type": "Review",
  2227.       "reviewRating": {
  2228.         "@type": "Rating",
  2229.         "ratingValue": "5",
  2230.         "bestRating": "5"
  2231.       },
  2232.       "author": {
  2233.         "@type": "Person",
  2234.         "name": "juandi"
  2235.       }
  2236.     },
  2237.     {
  2238.       "@type": "Review",
  2239.       "reviewRating": {
  2240.         "@type": "Rating",
  2241.         "ratingValue": "5",
  2242.         "bestRating": "5"
  2243.       },
  2244.       "author": {
  2245.         "@type": "Person",
  2246.         "name": "situmorang"
  2247.       }
  2248.     }
  2249.   ]
  2250. }
  2251. </script>
  2252.            <script type="application/ld+json">
  2253. {
  2254.   "@context": "https://schema.org",
  2255.   "@type": "BreadcrumbList",
  2256.   "itemListElement": [
  2257.     {
  2258.       "@type": "ListItem",
  2259.       "position": 1,
  2260.       "name": "GUATOGEL",
  2261.       "item": "https://engineeringgf.com/shop/"
  2262.     },
  2263.     {
  2264.       "@type": "ListItem",
  2265.       "position": 2,
  2266.       "name": "TOGEL ONLINE",
  2267.       "item": "https://engineeringgf.com/shop/"
  2268.     },
  2269.     {
  2270.       "@type": "ListItem",
  2271.       "position": 3,
  2272.       "name": "SITUS TOGEL",
  2273.       "item": "https://engineeringgf.com/shop/"
  2274.     },
  2275.     {
  2276.       "@type": "ListItem",
  2277.       "position": 4,
  2278.       "name": "SLOT GACOR",
  2279.       "item": "https://engineeringgf.com/shop/"
  2280.     },
  2281.     {
  2282.       "@type": "ListItem",
  2283.       "position": 5,
  2284.       "name": "SITUS TOGEL",
  2285.       "item": "https://engineeringgf.com/shop/"
  2286.     },
  2287.     {
  2288.       "@type": "ListItem",
  2289.       "position": 6,
  2290.       "name": "TOTO TOGEL",
  2291.       "item": "https://engineeringgf.com/shop/"
  2292.     },
  2293.     {
  2294.       "@type": "ListItem",
  2295.       "position": 7,
  2296.       "name": "SLOT GACOR ONLINE",
  2297.       "item": "https://engineeringgf.com/shop/"
  2298.     },
  2299.     {
  2300.       "@type": "ListItem",
  2301.       "position": 8,
  2302.       "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru",
  2303.       "item": "https://engineeringgf.com/shop/"
  2304.     }
  2305.   ]
  2306. }
  2307. </script>
  2308.  
  2309.            <!--faq-->
  2310.  
  2311.            <script type="application/ld+json" id="faq-schema">
  2312. {
  2313.  "@context": "https://schema.org",
  2314.  "@type": "FAQPage",
  2315.  "mainEntity": [
  2316.    {
  2317.      "@type": "Question",
  2318.      "name": "1. Kenapa banyak pemain pilih GUATOGEL?",
  2319.      "acceptedAnswer": {
  2320.        "@type": "Answer",
  2321.        "text": "Karena GUATOGEL dikenal stabil, mudah diakses, dan menyediakan semua pasaran resmi yang lengkap dan slot yang mudah menang Semua data result yang ditampilkan juga cepat dan akurat, sehingga pemain merasa lebih nyaman saat memantau jadwal maupun memasang angka."
  2322.      }
  2323.    },
  2324.    {
  2325.      "@type": "Question",
  2326.      "name": "2. Apa benar deposit di GUATOGEL murah?",
  2327.      "acceptedAnswer": {
  2328.        "@type": "Answer",
  2329.        "text": "Betul, GUATOGEL menawarkan minimal deposit yang sangat terjangkau untuk semua pemain. Kamu bisa mulai main tanpa perlu modal besar, sehingga cocok baik untuk pemula maupun pemain yang hanya ingin bermain santai setiap hari."
  2330.      }
  2331.    },
  2332.    {
  2333.      "@type": "Question",
  2334.      "name": "3. GUATOGEL update hasil Mahjong Ways jam berapa?",
  2335.      "acceptedAnswer": {
  2336.        "@type": "Answer",
  2337.        "text": "Hasil Mahjong Ways di GUATOGEL diperbarui mengikuti jadwal resmi pasaran dan langsung tampil secara real-time. Pemain bisa melihat result tanpa harus reload halaman atau menunggu lama, sehingga semua informasi tetap akurat dan up-to-date."
  2338.      }
  2339.    },
  2340.    {
  2341.      "@type": "Question",
  2342.      "name": "4. Apa saja fitur unggulan GUATOGEL?",
  2343.      "acceptedAnswer": {
  2344.        "@type": "Answer",
  2345.        "text": "GUATOGEL punya tampilan yang ringan, pilihan pasaran lengkap, keamanan yang terjamin, dan proses transaksi yang cepat. Semua fitur ini dirancang agar pemain bisa menikmati pengalaman bermain togel online dengan lebih nyaman setiap hari."
  2346.      }
  2347.    },
  2348.    {
  2349.      "@type": "Question",
  2350.      "name": "5. Daftar di GUATOGEL susah nggak?",
  2351.      "acceptedAnswer": {
  2352.        "@type": "Answer",
  2353.        "text": "Nggak susah sama sekali. Kamu cukup isi data singkat di halaman pendaftaran, lalu akunmu langsung aktif tanpa proses ribet. Setelah itu kamu bisa langsung deposit, cek pasaran, dan mulai bermain dengan bebas di semua fitur yang tersedia."
  2354.      }
  2355.    }
  2356.  ]
  2357. }
  2358. </script>
  2359.            <script type="application/ld+json">
  2360. {
  2361.   "@context": "https://schema.org",
  2362.   "@type": "Organization",
  2363.   "name": "GUATOGEL",
  2364.   "url": "https://engineeringgf.com/shop/",
  2365.   "logo": "https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png",
  2366.   "sameAs": [
  2367.     "https://www.facebook.com/GUATOGEL",
  2368.     "https://twitter.com/GUATOGEL",
  2369.     "https://www.instagram.com/GUATOGEL"
  2370.   ],
  2371.   "contactPoint": {
  2372.     "@type": "ContactPoint",
  2373.     "telephone": "+62-8946-113-4615",
  2374.     "contactType": "customer support",
  2375.     "areaServed": "ID",
  2376.     "availableLanguage": ["Indonesian", "English"]
  2377.   }
  2378. }
  2379. </script>
  2380.  
  2381.            <script type="application/ld+json">
  2382. {
  2383.   "@context": "https://schema.org",
  2384.   "@type": "VideoObject",
  2385.   "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru",
  2386.   "description": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.",
  2387.   "thumbnailUrl": [
  2388.     "https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg",
  2389.     "https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2390.   ],
  2391.   "uploadDate": "2025-09-28T04:19:10-04:00",
  2392.   "duration": "PT168",
  2393.   "contentUrl": "https://engineeringgf.com/shop/"
  2394. }
  2395. </script>
  2396.  
  2397.            <script type="application/ld+json">
  2398. {
  2399.   "@context": "https://schema.org",
  2400.   "@type": "BreadcrumbList",
  2401.   "itemListElement": [
  2402.     {
  2403.       "@type": "ListItem",
  2404.       "position": 1,
  2405.       "name": "Home",
  2406.       "item": "https://engineeringgf.com/shop/"
  2407.     }
  2408.   ]
  2409. }
  2410. </script>
  2411.  
  2412.            <script type="application/ld+json">
  2413. {
  2414.   "@context": "https://schema.org",
  2415.   "@graph": [
  2416.     {
  2417.       "@type": "Organization",
  2418.       "@id": "https://engineeringgf.com/shop/#org",
  2419.       "name": "GUATOGEL",
  2420.       "url": "https://engineeringgf.com/shop/",
  2421.       "logo": "https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2422.     },
  2423.     {
  2424.       "@type": "WebSite",
  2425.       "@id": "https://engineeringgf.com/shop/#website",
  2426.       "url": "https://engineeringgf.com/shop/",
  2427.       "name": "GUATOGEL",
  2428.       "publisher": { "@id": "https://engineeringgf.com/shop/#org" },
  2429.       "inLanguage": "id-ID",
  2430.       "potentialAction": {
  2431.         "@type": "SearchAction",
  2432.         "target": "https://engineeringgf.com/shop/?s={search_term_string}",
  2433.         "query-input": "required name=search_term_string"
  2434.       }
  2435.     },
  2436.     {
  2437.       "@type": "SoftwareApplication",
  2438.       "@id": "https://engineeringgf.com/shop/#app",
  2439.       "name": "GUATOGEL",
  2440.       "applicationCategory": "GameApplication",
  2441.       "operatingSystem": "Android, iOS, Windows",
  2442.       "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" },
  2443.       "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 }
  2444.     }
  2445.   ]
  2446. }
  2447. </script>
  2448.  
  2449.            <div id="shopify-section-Product" class="shopify-section product-section mt-0">
  2450.                <link href="https://asset-jko.b-cdn.net/footer-warna.css" rel="stylesheet" type="text/css"
  2451.                    media="all" />
  2452.  
  2453.  
  2454.                <style>
  2455.                    .bg-card {
  2456.                        background-color: #000000;
  2457.                    }
  2458.                </style>
  2459.  
  2460.                <!-- /templates/product.liquid -->
  2461.  
  2462.  
  2463.                <!-- <div itemscope itemtype="http://schema.org/Product"> -->
  2464.  
  2465.  
  2466.                <div class="product-standing-flower" data-product-type="flowerBoard">
  2467.                    <meta itemprop="url" content="https://engineeringgf.com/shop/">
  2468.                    <meta itemprop="image" content="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  2469.  
  2470.  
  2471.  
  2472.                    <input id="data-sku" type="hidden" value="OBVSTF1086">
  2473.                    <div class="product-single"
  2474.                        style="background-image: url(https://i.gyazo.com/d7320f642fd58b4dea9daefaf61b3c93.png); background-attachment: fixed;">
  2475.                        <div id="product-top" class="container">
  2476.                            <div class="row bg-card product-sticky"
  2477.                                style="background-color: rgba(0, 0, 0, 0.1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;">
  2478.                                <div id="product-image" class="col-lg-7 text-center">
  2479.                                    <div class="product-image">
  2480.                                        <div class="row no-gutters">
  2481.  
  2482.                                            <div id="product-featured-image" class="row w-100">
  2483.  
  2484.                                                <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block">
  2485.  
  2486.                                                    <div class="swiper-container gallery-thumbs"
  2487.                                                        style="min-height: 500px">
  2488.                                                        <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails"
  2489.                                                            id="ProductThumbsx">
  2490.  
  2491.                                                            <li class="swiper-slide" data-type="image">
  2492.                                                                <a href="files/Blossom-Shine-WM.jpg"
  2493.                                                                    data-standard="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2494.                                                                    data-image="files/Blossom-Shine-WM.jpg"
  2495.                                                                    data-position="1" class="product-single__thumbnail">
  2496.                                                                    <img class="lazyload w-100"
  2497.                                                                        src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2498.                                                                        alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2499.                                                                        width="" height="">
  2500.                                                                </a>
  2501.                                                            </li>
  2502.  
  2503.  
  2504.  
  2505.  
  2506.                                                            <li class="swiper-slide" data-type="image">
  2507.                                                                <a href="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2508.                                                                    data-standard="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2509.                                                                    data-image="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2510.                                                                    data-position="2" class="product-single__thumbnail">
  2511.                                                                    <img class="lazyload w-100"
  2512.                                                                        src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2513.                                                                        alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2514.                                                                        width="" height="">
  2515.                                                                </a>
  2516.                                                            </li>
  2517.  
  2518.  
  2519.  
  2520.  
  2521.                                                            <li class="swiper-slide" data-type="image">
  2522.                                                                <a href="files/Blossom-Shine_3-WM.jpg"
  2523.                                                                    data-standard="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2524.                                                                    data-image="files/Blossom-Shine_3-WM.jpg"
  2525.                                                                    data-position="3" class="product-single__thumbnail">
  2526.                                                                    <img class="lazyload w-100"
  2527.                                                                        src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2528.                                                                        alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2529.                                                                        width="" height="">
  2530.                                                                </a>
  2531.                                                            </li>
  2532.  
  2533.  
  2534.  
  2535.  
  2536.                                                            <li class="swiper-slide" data-type="image">
  2537.                                                                <a href="files/Blossom-Shine_4.jpg"
  2538.                                                                    data-standard="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2539.                                                                    data-image="files/Blossom-Shine_4.jpg"
  2540.                                                                    data-position="4" class="product-single__thumbnail">
  2541.                                                                    <img class="lazyload w-100"
  2542.                                                                        src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2543.                                                                        alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2544.                                                                        width="" height="">
  2545.                                                                </a>
  2546.                                                            </li>
  2547.  
  2548.  
  2549.  
  2550.                                                        </ul>
  2551.                                                    </div>
  2552.  
  2553.                                                </div>
  2554.  
  2555.                                                <div id="featured-image-product"
  2556.                                                    class="col-lg-10 col-12 d-none d-lg-block">
  2557.                                                    <div class="swiper-container gallery-top">
  2558.                                                        <div class="swiper-slide product-single__image">
  2559.  
  2560.                                                            <div class="product-single__photos slider slider-for"
  2561.                                                                id="ProductPhoto">
  2562.  
  2563.  
  2564.                                                                <div
  2565.                                                                    class="easyzoom easyzoom--overlay easyzoom--with-thumbnails">
  2566.                                                                    <a
  2567.                                                                        href="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg">
  2568.                                                                        <img src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2569.                                                                            alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2570.                                                                            id="ProductPhotoImg" class="lazyload">
  2571.  
  2572.                                                                    </a>
  2573.                                                                </div>
  2574.                                                            </div>
  2575.  
  2576.                                                        </div>
  2577.                                                        <div class="swiper-slide product-single__video"
  2578.                                                            style="display: none">
  2579.                                                            <video
  2580.                                                                src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4"
  2581.                                                                playsinline loop muted></video>
  2582.                                                        </div>
  2583.                                                    </div>
  2584.                                                </div>
  2585.                                            </div>
  2586.  
  2587.                                            <div id="featured-image-product2" class="col-12 d-lg-none">
  2588.                                                <div class="swiper-container gallery-mobile">
  2589.                                                    <ul class="swiper-wrapper">
  2590.                                                        <li class="swiper-slide img">
  2591.  
  2592.                                                            <img class="swiper-lazy"
  2593.                                                                src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2594.                                                                data-src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2595.                                                                alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2596.                                                                width="" height="">
  2597.  
  2598.                                                        </li>
  2599.  
  2600.  
  2601.                                                        <li class="swiper-slide img">
  2602.  
  2603.                                                            <img class="swiper-lazy"
  2604.                                                                src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2605.                                                                data-src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2606.                                                                alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2607.                                                                width="" height="">
  2608.  
  2609.                                                        </li>
  2610.  
  2611.  
  2612.                                                        <li class="swiper-slide img">
  2613.  
  2614.                                                            <img class="swiper-lazy"
  2615.                                                                src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2616.                                                                data-src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2617.                                                                alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2618.                                                                width="" height="">
  2619.  
  2620.                                                        </li>
  2621.  
  2622.  
  2623.                                                        <li class="swiper-slide img">
  2624.  
  2625.                                                            <img class="swiper-lazy"
  2626.                                                                src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2627.                                                                data-src="https://i.gyazo.com/119d4edb06736d9e72440a41b749ff99.jpg"
  2628.                                                                alt="GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru"
  2629.                                                                width="" height="">
  2630.  
  2631.                                                        </li>
  2632.  
  2633.  
  2634.                                                    </ul>
  2635.  
  2636.                                                    <div class="swiper-button-prev"><svg class="icon icon-chevron-left"
  2637.                                                            xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  2638.                                                            width="7" height="12" viewBox="0 0 7 12">
  2639.                                                            <circle cx="60%" cy="50%" r="12" fill="transparent" />
  2640.                                                            <path
  2641.                                                                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" />
  2642.                                                        </svg></div>
  2643.                                                    <div class="swiper-button-next"><svg
  2644.                                                            xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  2645.                                                            width="7" height="10" viewBox="0 0 7 10" fill="none">
  2646.                                                            <path
  2647.                                                                d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z"
  2648.                                                                fill="#757575" />
  2649.                                                        </svg></div>
  2650.  
  2651.                                                    <!-- Add Pagination -->
  2652.                                                    <div class="swiper-pagination"></div>
  2653.  
  2654.                                                </div>
  2655.                                            </div>
  2656.  
  2657.                                            <div class="product-m-pageleb-video col-12 text-center d-lg-none">
  2658.                                                <!-- product video -->
  2659.                                                <style>
  2660.                                                    .view-video {
  2661.                                                        display: block;
  2662.                                                        margin: auto;
  2663.                                                        padding: 5px 10px;
  2664.                                                        font-size: 16px;
  2665.                                                        font-weight: bold;
  2666.                                                        border: 2px solid #ffffff;
  2667.                                                        background: #fff;
  2668.                                                    }
  2669.  
  2670.                                                    .view-video .icon-play {
  2671.                                                        fill: #ffffff;
  2672.                                                        vertical-align: middle;
  2673.                                                    }
  2674.  
  2675.                                                    .video-modal {
  2676.                                                        display: none;
  2677.                                                        position: fixed;
  2678.                                                        background: rgba(0, 0, 0, .5);
  2679.                                                        width: 100%;
  2680.                                                        height: 100%;
  2681.                                                        overflow: auto;
  2682.                                                        z-index: 1;
  2683.                                                        top: 0;
  2684.                                                        left: 0;
  2685.                                                    }
  2686.  
  2687.                                                    .close-video {
  2688.                                                        position: absolute;
  2689.                                                        right: 9px;
  2690.                                                        top: 8%;
  2691.                                                        z-index: 2;
  2692.                                                        padding: 5px;
  2693.                                                    }
  2694.  
  2695.                                                    .close-video .icon {
  2696.                                                        width: 30px;
  2697.                                                        height: 30px;
  2698.                                                    }
  2699.  
  2700.                                                    /*responsive iframe */
  2701.                                                    .video-container {
  2702.                                                        position: relative;
  2703.                                                        padding-bottom: 48.25%;
  2704.                                                        padding-top: 35px;
  2705.                                                        height: 0;
  2706.                                                        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);
  2707.                                                    }
  2708.  
  2709.                                                    .video-container iframe {
  2710.                                                        position: absolute;
  2711.                                                        top: 60%;
  2712.                                                        left: 0;
  2713.                                                        width: 100%;
  2714.                                                        height: 100%;
  2715.                                                    }
  2716.  
  2717.                                                    .youtube {
  2718.                                                        background-color: #000;
  2719.                                                        margin-bottom: 30px;
  2720.                                                        position: relative;
  2721.                                                        padding-top: 56.25%;
  2722.                                                        overflow: hidden;
  2723.                                                        cursor: pointer;
  2724.                                                        width: 100%;
  2725.                                                    }
  2726.  
  2727.                                                    .swiper-slide .youtube {
  2728.                                                        max-width: 480px;
  2729.                                                    }
  2730.  
  2731.                                                    .youtube img {
  2732.                                                        width: 100%;
  2733.                                                        top: -16.82%;
  2734.                                                        left: 0;
  2735.                                                        opacity: 0.7;
  2736.                                                    }
  2737.  
  2738.                                                    .youtube .play-button {
  2739.                                                        width: 90px;
  2740.                                                        height: 60px;
  2741.                                                        background-color: #333;
  2742.                                                        box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
  2743.                                                        z-index: 1;
  2744.                                                        opacity: 0.8;
  2745.                                                        border-radius: 6px;
  2746.                                                    }
  2747.  
  2748.                                                    .youtube .play-button:before {
  2749.                                                        content: "";
  2750.                                                        border-style: solid;
  2751.                                                        border-width: 15px 0 15px 26.0px;
  2752.                                                        border-color: transparent transparent transparent #fff;
  2753.                                                    }
  2754.  
  2755.                                                    .youtube img,
  2756.                                                    .youtube .play-button {
  2757.                                                        cursor: pointer;
  2758.                                                    }
  2759.  
  2760.                                                    .youtube img,
  2761.                                                    .youtube iframe,
  2762.                                                    .youtube .play-button,
  2763.                                                    .youtube .play-button:before {
  2764.                                                        position: absolute;
  2765.                                                    }
  2766.  
  2767.                                                    .youtube .play-button,
  2768.                                                    .youtube .play-button:before {
  2769.                                                        top: 50%;
  2770.                                                        left: 50%;
  2771.                                                        transform: translate3d(-50%, -50%, 0);
  2772.                                                    }
  2773.  
  2774.                                                    .youtube iframe {
  2775.                                                        height: 100%;
  2776.                                                        width: 100%;
  2777.                                                        top: 0;
  2778.                                                        left: 0;
  2779.                                                    }
  2780.                                                </style>
  2781.  
  2782.  
  2783.                                            </div>
  2784.                                        </div>
  2785.  
  2786.                                        <div class="product-desc-add position-relative d-none d-lg-block m-0">
  2787.  
  2788.                                        </div>
  2789.  
  2790.                                        <script>
  2791.                                            if ($(window).width() < 991) {
  2792.                                                var direction = 'horizontal'
  2793.                                            } else {
  2794.                                                var direction = 'vertical'
  2795.                                                $(".gallery-thumbs").height($("#ProductPhotoImg").height())
  2796.                                            }
  2797.                                            var swiper = new Swiper('.gallery-thumbs', {
  2798.  
  2799.                                                direction,
  2800.                                                slidesPerView: 4.5,
  2801.                                                spaceBetween: 12,
  2802.                                                navigation: {
  2803.                                                    nextEl: '.swiper-button-next',
  2804.                                                    prevEl: '.swiper-button-prev',
  2805.                                                }
  2806.                                            });
  2807.  
  2808.                                            var swiper = new Swiper('.gallery-mobile', {
  2809.                                                //loop: true,
  2810.                                                lazy: true,
  2811.                                                speed: 300,
  2812.                                                resistance: true,
  2813.                                                resistanceRatio: 0,
  2814.                                                freeModeMomentumRatio: 0.45,
  2815.                                                freeModeMomentumVelocityRatio: 1.5,
  2816.                                                navigation: {
  2817.                                                    nextEl: '.swiper-button-next',
  2818.                                                    prevEl: '.swiper-button-prev',
  2819.                                                },
  2820.                                                pagination: {
  2821.                                                    el: '.swiper-pagination'
  2822.                                                },
  2823.                                                useCSS3Transforms: false,
  2824.                                                loop: false,
  2825.                                                on: {
  2826.                                                    init: function () {
  2827.                                                        console.log('swiper initialized');
  2828.                                                        var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video");
  2829.                                                        currentVideo.trigger('play');
  2830.                                                    },
  2831.                                                },
  2832.                                            });
  2833.  
  2834.                                            /* GET ALL VIDEOS */
  2835.                                            var sliderVideos = $(".swiper-slide video");
  2836.  
  2837.                                            /* SWIPER API - Event will be fired after animation to other slide (next or previous) */
  2838.                                            swiper.on('slideChange', function () {
  2839.                                                console.log('slide changed');
  2840.                                                /* stop all videos  */
  2841.                                                sliderVideos.each(function (index) {
  2842.                                                    this.currentTime = 0;
  2843.                                                });
  2844.  
  2845.                                                /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */
  2846.                                                var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video");
  2847.                                                var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video");
  2848.                                                prevVideo.trigger('stop');
  2849.                                                currentVideo.trigger('play');
  2850.                                            });
  2851.  
  2852.  
  2853.                                            $("[data-video]").click(function () {
  2854.                                                const file = $(this).data("video")
  2855.                                                $(".product-single__video").show()
  2856.                                                $(".product-single__image").hide()
  2857.                                                $(".product-single__video").find("video").attr("src", file)
  2858.                                                $(".product-single__video").find("video")[0].play();
  2859.                                            })
  2860.                                            $("[data-image]").click(function () {
  2861.                                                $(".product-single__video").hide()
  2862.                                                $(".product-single__image").show()
  2863.                                                $(".product-single__video").find("video")[0].pause();
  2864.                                            })
  2865.  
  2866.                                            $("#product-image .swiper-slide").each(function () {
  2867.                                                let width = $(this).width()
  2868.                                                $(this).height(width)
  2869.                                            })
  2870.  
  2871.                                            $(window).resize(function () {
  2872.                                                $("#product-image .swiper-slide").each(function () {
  2873.                                                    let width = $(this).width()
  2874.                                                    $(this).height(width)
  2875.                                                })
  2876.                                            })
  2877.                                        </script>
  2878.  
  2879.                                    </div>
  2880.  
  2881.  
  2882.                                    <div class="grid__item_product-info mb-3">
  2883.                                        <div class="c-pdp-product-info">
  2884.                                            <ul class="c-pdp-product-info__service c-pdp-product-info__service--active">
  2885.                                                <!-- artikel -->
  2886.                                                <li>
  2887.                                                    GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.
  2888.                                                </li>
  2889.  
  2890.  
  2891.  
  2892.  
  2893.                                            </ul>
  2894.                                        </div>
  2895.                                    </div>
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.                                    <style>
  2902.                                        .c-pdp-product-info__service--active {
  2903.                                            font-size: 12px;
  2904.                                            padding-left: 10px;
  2905.                                            text-align: left;
  2906.                                            max-width: 550px;
  2907.                                            margin: auto;
  2908.                                        }
  2909.  
  2910.                                        .c-pdp-product-info__service--active li {
  2911.                                            list-style: disc;
  2912.                                        }
  2913.  
  2914.                                        .c-pdp-product-info {
  2915.                                            background-color: #f5f5f5;
  2916.                                            padding: 12px;
  2917.                                            margin: 0;
  2918.                                        }
  2919.  
  2920.                                        .freeship em {
  2921.                                            font-style: italic;
  2922.                                            font-size: 12px !important;
  2923.                                        }
  2924.                                    </style>
  2925.  
  2926.                                    <script>
  2927.                                        $(document).ready(function () {
  2928.                                            if ($(".c-pdp-product-info__service li").length == 1) {
  2929.                                                $(".c-pdp-product-info__service").addClass("no-bullet");
  2930.                                                $(".c-pdp-product-info__service li").addClass("no-bullets");
  2931.                                            }
  2932.                                        });
  2933.                                    </script>
  2934.  
  2935.  
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.  
  2942.  
  2943.  
  2944.  
  2945.  
  2946.                                </div>
  2947.                                <div id="product-meta" class="col-lg-5 p-0">
  2948.                                    <div class="product-meta">
  2949.                                        <style>
  2950.                                            .product-meta--review {
  2951.                                                margin-top: 10px
  2952.                                            }
  2953.  
  2954.                                            .freeship * {
  2955.                                                font-size: 14px !important;
  2956.                                                font-style: normal;
  2957.                                            }
  2958.                                        </style>
  2959.                                        <h1 itemprop="name" class="mb-2"
  2960.                                            style="color: rgb(255, 238, 0); font-weight: bold;">GUATOGEL | Link Situs Slot
  2961.                                            Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru</h1>
  2962.  
  2963.                                        <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  2964.                                            <meta itemprop="priceCurrency" content="IDR">
  2965.  
  2966.                                            <link itemprop="availability" href="https://schema.org/InStock">
  2967.                                            <script type="text/javascript"
  2968.                                                src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons"
  2969.                                                async="async"></script>
  2970.  
  2971.  
  2972.  
  2973.  
  2974.                                            <span class="visually-hidden">Translation missing:
  2975.                                                en.products.general.regular_price</span>
  2976.  
  2977.                                            <span class="visually-hidden">Translation missing:
  2978.                                                en.products.general.sale_price</span>
  2979.  
  2980.                                            <div class="row no-gutters mb-3">
  2981.                                                <span id="ProductPrice" class="h2 ProductPrice" itemprop="price"
  2982.                                                    content="835000" style="color: #ffffff;">
  2983.                                                    Rp 10.000
  2984.                                                </span>
  2985.                                                <div class="discount-product-detail">
  2986.                                                    <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0">
  2987.                                                        Rp 100.000
  2988.                                                    </p>
  2989.                                                    <span class=" tag-discount">
  2990.  
  2991.  
  2992.                                                        <span id="newDiscount"
  2993.                                                            class="product-tag persentase-discount hide">
  2994.                                                            (90%)
  2995.                                                        </span><br>
  2996.  
  2997.                                                    </span>
  2998.                                                </div>
  2999.                                            </div>
  3000.  
  3001.                                            <div class="row no-gutters meta-sds">
  3002.                                                <div class="col-12 mb-2 mb-lg-0 stock-info">
  3003.  
  3004.  
  3005.                                                    <span id="ProductStock-Product"
  3006.                                                        class="product-single__stock mb-2 hide">
  3007.  
  3008.  
  3009.  
  3010.  
  3011.                                                        Barang dikirim pada
  3012.  
  3013.  
  3014.  
  3015.                                                    </span>
  3016.  
  3017.                                                    <style>
  3018.                                                        .short-desc-desktop {
  3019.                                                            margin-bottom: 2rem;
  3020.                                                            color: white;
  3021.                                                        }
  3022.  
  3023.                                                        .short-desc ul li:nth-child(n + 4) {
  3024.                                                            display: none;
  3025.                                                        }
  3026.  
  3027.                                                        .short-desc ul li.showList:nth-child(n + 4) {
  3028.                                                            display: list-item;
  3029.                                                        }
  3030.  
  3031.                                                        label.more {
  3032.                                                            display: none;
  3033.                                                        }
  3034.  
  3035.                                                        label.more.showMe {
  3036.                                                            display: block;
  3037.                                                            font-size: 12px;
  3038.                                                            text-transform: uppercase;
  3039.                                                            font-weight: 700;
  3040.                                                            cursor: pointer;
  3041.                                                        }
  3042.                                                    </style>
  3043.  
  3044.                                                    <div class="short-desc-desktop d-none d-lg-block">
  3045.                                                        <div class="short-desc">
  3046.  
  3047.                                                            <p>GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.</p>
  3048.                                                        </div>
  3049.                                                        <label class="more">Show More →</label>
  3050.                                                    </div><br>
  3051.  
  3052.  
  3053.                                                    <script>
  3054.                                                        var liCount;
  3055.                                                        $(document).ready(function () {
  3056.                                                            $(".short-desc ul").each(function () {
  3057.                                                                liCount = $(this).children("li").length;
  3058.                                                                if (liCount > 3) {
  3059.                                                                    $(this).parent(".short-desc").next(".more").addClass("showMe");
  3060.                                                                }
  3061.                                                            });
  3062.  
  3063.                                                            $(".more").click(function () {
  3064.                                                                //$(".short-desc").find("li").addClass("showList");
  3065.                                                                // $(this).hide();
  3066.                                                                $("#product-desc").find("ul").show()
  3067.                                                                $('html, body').animate({
  3068.                                                                    scrollTop: $("#product-desc").offset().top - 250
  3069.                                                                }, 2000);
  3070.                                                                $("#product-desc").css("height", "auto");
  3071.                                                                $("#more_content").remove();
  3072.                                                                $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>")
  3073.                                                            });
  3074.                                                        });
  3075.                                                    </script>
  3076.  
  3077.  
  3078.                                                </div>
  3079.                                            </div>
  3080.  
  3081.                                            <div id="purchaseProduct">
  3082.  
  3083.  
  3084.  
  3085.  
  3086.                                                <style>
  3087.                                                    .variant-metafield {
  3088.                                                        display: block !important;
  3089.                                                        width: 1px;
  3090.                                                        padding: 0;
  3091.                                                        border-color: #fff;
  3092.                                                    }
  3093.  
  3094.                                                    .select2-results__option[aria-disabled] {
  3095.                                                        display: none;
  3096.                                                    }
  3097.  
  3098.                                                    .towel-bordir {
  3099.                                                        width: 100%;
  3100.                                                        display: flex;
  3101.                                                        align-items: center;
  3102.                                                        justify-content: space-around;
  3103.                                                    }
  3104.                                                </style>
  3105.  
  3106.  
  3107.  
  3108.  
  3109.                                                <script>
  3110.  
  3111.  
  3112.                                                </script>
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.                                                <select name="id[]" id="productSelect"
  3120.                                                    class="product-single__variants ignore hide hide">
  3121.  
  3122.  
  3123.  
  3124.                                                    <option selected="selected" data-sku="OBVSTF1086"
  3125.                                                        value="44083045826775">
  3126.                                                        Default Title
  3127.                                                    </option>
  3128.  
  3129.  
  3130.  
  3131.                                                </select>
  3132.  
  3133.                                                <script
  3134.                                                    src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422"
  3135.                                                    type="text/javascript"></script>
  3136.  
  3137.                                                <script>
  3138.                                                    $('.size-chart-open-popup').magnificPopup({
  3139.                                                        type: 'inline',
  3140.                                                        midClick: true
  3141.                                                    });
  3142.                                                </script>
  3143.  
  3144.  
  3145.  
  3146.  
  3147.                                                <div class="upload-image-preview">
  3148.  
  3149.  
  3150.  
  3151.  
  3152.  
  3153.                                                    <style>
  3154.                                                        .file-dnd * {
  3155.                                                            margin: 0;
  3156.                                                            padding: 0;
  3157.                                                            box-sizing: border-box;
  3158.                                                        }
  3159.  
  3160.                                                        .file-dnd {
  3161.                                                            width: 100%;
  3162.                                                            height: 250px;
  3163.                                                            border: 1px solid #ddd;
  3164.                                                            border-radius: 10px;
  3165.                                                            padding: 15px;
  3166.                                                            display: flex;
  3167.                                                            flex-direction: column;
  3168.                                                            gap: 10px;
  3169.                                                            /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */
  3170.                                                            margin: auto;
  3171.                                                        }
  3172.  
  3173.                                                        .file-dnd input {
  3174.                                                            display: none;
  3175.                                                        }
  3176.  
  3177.                                                        .file-dnd .before-upload {
  3178.                                                            border: 1px dashed #888;
  3179.                                                            flex: 1;
  3180.                                                            border-radius: 5px;
  3181.                                                            display: flex;
  3182.                                                            justify-content: center;
  3183.                                                            align-items: center;
  3184.                                                            text-align: center;
  3185.                                                            cursor: pointer;
  3186.                                                        }
  3187.  
  3188.                                                        .file-dnd .before-upload>div {
  3189.                                                            display: flex;
  3190.                                                            flex-direction: column;
  3191.                                                            align-items: center;
  3192.                                                            gap: 8px;
  3193.                                                        }
  3194.  
  3195.                                                        .file-dnd .before-upload>div h4 {
  3196.                                                            width: 150px;
  3197.                                                        }
  3198.  
  3199.                                                        .file-dnd .before-upload>div p {
  3200.                                                            font-size: 12px !important;
  3201.                                                            color: #555;
  3202.                                                        }
  3203.  
  3204.                                                        .file-dnd.active .before-upload {
  3205.                                                            border: 1px solid #5750d9;
  3206.                                                            background-color: #f5f5ff;
  3207.                                                        }
  3208.  
  3209.                                                        .file-dnd .after-upload {
  3210.                                                            position: relative;
  3211.                                                            display: none;
  3212.                                                        }
  3213.  
  3214.                                                        .file-dnd .after-upload img {
  3215.                                                            width: 100%;
  3216.                                                            border-radius: 5px;
  3217.                                                            max-height: 180px;
  3218.                                                            object-fit: contain;
  3219.                                                            display: block;
  3220.                                                        }
  3221.  
  3222.                                                        .file-dnd .after-upload .clear-btn {
  3223.                                                            position: absolute;
  3224.                                                            top: 10px;
  3225.                                                            right: 10px;
  3226.                                                            background: rgba(0, 0, 0, 0.5);
  3227.                                                            width: 15px;
  3228.                                                            height: 15px;
  3229.                                                            text-align: center;
  3230.                                                            line-height: 15px;
  3231.                                                            border-radius: 50%;
  3232.                                                            color: #fff;
  3233.                                                            cursor: pointer;
  3234.                                                            font-size: 14px;
  3235.                                                        }
  3236.                                                    </style>
  3237.  
  3238.                                                    <div class="file-dnd mb-3" style="display: none">
  3239.                                                        <label for="upload-photo">Upload your Photo:</label>
  3240.                                                        <input type="file" id="upload-photo" accept="image/*">
  3241.                                                        <input type="hidden" data-properties="Photo">
  3242.                                                        <div class="before-upload">
  3243.                                                            <div>
  3244.                                                                <svg id="surface1"
  3245.                                                                    xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  3246.                                                                    width="33.053" height="41.719"
  3247.                                                                    viewBox="0 0 33.053 41.719">
  3248.                                                                    <path id="Path_2149" data-name="Path 2149"
  3249.                                                                        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"
  3250.                                                                        transform="translate(-0.5)" fill="#ababab">
  3251.                                                                    </path>
  3252.                                                                    <path id="Path_2150" data-name="Path 2150"
  3253.                                                                        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"
  3254.                                                                        transform="translate(-81.947 -369.183)"
  3255.                                                                        fill="#ababab"></path>
  3256.                                                                    <path id="Path_2151" data-name="Path 2151"
  3257.                                                                        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"
  3258.                                                                        transform="translate(-108.776 -156.421)"
  3259.                                                                        fill="#ababab"></path>
  3260.                                                                </svg>
  3261.  
  3262.                                                                <h4>Drag & Drop Photo file or Browse</h4>
  3263.                                                                <p>Supports: JPEG, PNG, GIF, TIFF</p>
  3264.                                                            </div>
  3265.                                                        </div>
  3266.                                                        <div class="after-upload">
  3267.                                                            <div class="clear-btn">&times;</div>
  3268.                                                            <img src="" width="" height="">
  3269.                                                        </div>
  3270.                                                    </div>
  3271.                                                    <script>
  3272.                                                        function applyDndFile(el) {
  3273.                                                            const parent = document.querySelector(".file-dnd")
  3274.                                                            const beforeUploadEl = el.querySelector(".before-upload")
  3275.                                                            const afterUploadEl = el.querySelector(".after-upload")
  3276.                                                            const inputFile = el.querySelector("input[type=file]")
  3277.                                                            const imagePreview = el.querySelector(".after-upload img")
  3278.                                                            const clearBtn = el.querySelector(".after-upload .clear-btn")
  3279.                                                            const inputProps = parent.querySelector("[data-properties]");
  3280.  
  3281.                                                            async function upload(name, uri, type) {
  3282.                                                                try {
  3283.                                                                    const filename = name.split('.')[0]
  3284.                                                                    let formData = new FormData();
  3285.                                                                    formData.append("file", uri);
  3286.                                                                    const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, {
  3287.                                                                        method: "POST",
  3288.                                                                        body: formData
  3289.                                                                    })
  3290.                                                                    if (response) {
  3291.                                                                        const res = await response.json()
  3292.                                                                        return res
  3293.                                                                    }
  3294.                                                                } catch (err) {
  3295.                                                                    console.log(err)
  3296.                                                                }
  3297.                                                            }
  3298.  
  3299.                                                            function showImagePreview(img) {
  3300.                                                                if (img) {
  3301.                                                                    const blobUrl = URL.createObjectURL(img)
  3302.                                                                    imagePreview.src = blobUrl
  3303.                                                                    afterUploadEl.style.display = "block"
  3304.                                                                    beforeUploadEl.style.display = "none"
  3305.                                                                }
  3306.                                                            }
  3307.  
  3308.                                                            beforeUploadEl.addEventListener("click", (e) => {
  3309.                                                                e.preventDefault()
  3310.                                                                inputFile.click()
  3311.                                                            })
  3312.  
  3313.                                                            inputFile.addEventListener("change", async (e) => {
  3314.                                                                e.preventDefault()
  3315.                                                                showImagePreview(e.target.files[0])
  3316.                                                                var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type)
  3317.                                                                inputProps.value = uploadData?.url
  3318.                                                            })
  3319.  
  3320.                                                            clearBtn.addEventListener("click", (e) => {
  3321.                                                                afterUploadEl.style.display = "none"
  3322.                                                                beforeUploadEl.style.display = "flex"
  3323.                                                                inputProps.value = ""
  3324.                                                            })
  3325.  
  3326.                                                            beforeUploadEl.addEventListener("dragover", (e) => {
  3327.                                                                e.preventDefault()
  3328.                                                                el.classList.add("active")
  3329.                                                            })
  3330.  
  3331.                                                            beforeUploadEl.addEventListener("dragleave", (e) => {
  3332.                                                                e.preventDefault()
  3333.                                                                el.classList.remove("active")
  3334.                                                            })
  3335.  
  3336.                                                            beforeUploadEl.addEventListener("drop", async (e) => {
  3337.                                                                e.preventDefault()
  3338.                                                                el.classList.remove("active")
  3339.                                                                showImagePreview(e.dataTransfer.files[0])
  3340.                                                                var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type)
  3341.                                                                console.log(uploadData)
  3342.                                                                inputProps.value = uploadData?.url
  3343.                                                            })
  3344.                                                        }
  3345.  
  3346.                                                        applyDndFile(document.querySelector(".file-dnd"))
  3347.  
  3348.                                                        $(document).ready(function () {
  3349.                                                            $(".variant-swatch").change(function () {
  3350.                                                                const v = $(this).val().toLowerCase()
  3351.                                                                const list = ["photo", "custom one side", "custom two side", "small", "big"]
  3352.                                                                if (list.some(item => v.includes(item))) return $(".file-dnd").show()
  3353.                                                                $(".file-dnd").hide()
  3354.                                                                $(".file-dnd").find("[data-properties]").val("")
  3355.                                                                $(".after-upload").hide()
  3356.                                                                $(".before-upload").css("display", "flex")
  3357.                                                            })
  3358.                                                        })
  3359.                                                    </script>
  3360.  
  3361.                                                </div>
  3362.  
  3363.  
  3364.                                                <div class="delivery-city mb-4">
  3365.                                                    <a href="https://gampang-maxwin-guatogel-amp.pages.dev/">
  3366.                                                        <center><img
  3367.                                                                src="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  3368.                                                                alt="logo-daftar"
  3369.                                                                style="width: 260px; margin-top: -20px;"></center>
  3370.                                                    </a><br>
  3371.                                                    <h4 class="fw-600 text-uppercase mb-15"
  3372.                                                        style="color: rgb(236, 236, 67);">SEKARANG WAKTUNYA DAFTAR AKUN
  3373.                                                        BARU DI GUATOGEL!</h4>
  3374.                                                    <div class="row justify-content-between m-0">
  3375.                                                        <select id="cities" class="form-control select-search" required>
  3376.                                                            <option value="">Gabung dan dapatkan bonus deposit juga new
  3377.                                                                member hanya di GUATOGEL</option>
  3378.                                                        </select>
  3379.                                                    </div>
  3380.                                                </div>
  3381.  
  3382.                                                <style>
  3383.                                                    @media (max-width: 768px) {
  3384.                                                        .select2-search__field {
  3385.                                                            pointer-events: none !important;
  3386.                                                        }
  3387.  
  3388.                                                        .select2-search {
  3389.                                                            display: none !important;
  3390.                                                        }
  3391.                                                    }
  3392.                                                </style>
  3393.  
  3394.                                                <script>
  3395.                                                    $(document).ready(function () {
  3396.                                                        // Check if mobile
  3397.                                                        if (window.innerWidth <= 768) {
  3398.                                                            // When cities select2 opens on mobile, remove focus from search
  3399.                                                            $('#cities').on('select2:open', function () {
  3400.                                                                setTimeout(function () {
  3401.                                                                    $('.select2-search__field').blur();
  3402.                                                                    $('.select2-search__field').prop('readonly', true);
  3403.                                                                }, 100);
  3404.                                                            });
  3405.                                                        }
  3406.                                                    });
  3407.                                                </script>
  3408.  
  3409.                                                <style>
  3410.                                                    .icon-img-footer {
  3411.                                                        width: 80px;
  3412.                                                        padding: 0px 5px;
  3413.                                                    }
  3414.  
  3415.                                                    @media (min-width: 768px) {
  3416.                                                        .icon-img-footer {
  3417.                                                            width: 120px;
  3418.                                                        }
  3419.                                                    }
  3420.  
  3421.                                                    @media (min-width: 992px) {
  3422.                                                        .icon-img-footer {
  3423.                                                            width: 120px;
  3424.                                                        }
  3425.                                                    }
  3426.                                                </style>
  3427.                                                <div id="row-delivery-date" class="row m-0 mb-3">
  3428.                                                    <h4 class="fw-600 text-uppercase col-12 p-0 mb-15"
  3429.                                                        style="color: rgb(236, 236, 67);">Ciptakan Kemenanganmu Dengan
  3430.                                                        Atur Tanggal Bermain Togel</h4>
  3431.                                                    <div id="deliveryDate" class="m-0"></div>
  3432.                                                    <div id="deliveryDateFull">
  3433.                                                        <div class="">
  3434.                                                            <input type="text" id="full-date"
  3435.                                                                class="date-full calendarbutton btn steps-btn btn-date-time mb-0"
  3436.                                                                value="Full Calendar">
  3437.                                                            <label for="full-date"><svg version="1.1"
  3438.                                                                    xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  3439.                                                                    width="32" height="32" viewBox="0 0 32 32">
  3440.                                                                    <title>icon-arrow-right</title>
  3441.                                                                    <path
  3442.                                                                        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">
  3443.                                                                    </path>
  3444.                                                                </svg></label>
  3445.                                                        </div>
  3446.                                                        <button class="btnChangeDeliveryDate hide">Change Delivery
  3447.                                                            Date</button>
  3448.                                                    </div>
  3449.                                                    <div class="form-group p-0">
  3450.                                                        <input type="text" id="propDeliveryDate" required class="hide">
  3451.                                                    </div>
  3452.                                                </div>
  3453.  
  3454.  
  3455.                                                <div id="row-delivery-time" class="row m-0 mb-3">
  3456.                                                    <h4 class="text-center fw-600 text-uppercase col-12 mb-15">
  3457.                                                        SEO HahaHehe
  3458.                                                    </h4>
  3459.                                                    <div id="deliveryTime" class="d-flex w-100 m-0"></div>
  3460.                                                    <div class="form-group p-0">
  3461.                                                        <input type="text" id="propDeliveryTime" class="hide" required>
  3462.                                                    </div>
  3463.                                                </div>
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.                                                <div id="personalizeBtn">
  3470.  
  3471.  
  3472.  
  3473.  
  3474.                                                    <button class="btn text-uppercase w-100 fw-400">
  3475.  
  3476.                                                        customize your flower board
  3477.  
  3478.                                                    </button>
  3479.                                                    <div
  3480.                                                        class="button-share-wishlist d-flex justify-content-around mt-3">
  3481.                                                        <div class="button-share text-center">
  3482.                                                            <p id="shareButton" class="d-flex gap-2">
  3483.                                                                <span>GUATOGEL</span><svg
  3484.                                                                    xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  3485.                                                                    width="15" height="13" viewBox="0 0 15 13"
  3486.                                                                    fill="none">
  3487.                                                                    <path
  3488.                                                                        d="M13.825 5.85006L10 2.02506V4.07506L9.28333 4.18339C5.69167 4.69172 3.25833 6.57506 1.86667 9.45839C3.8 8.09172 6.2 7.43339 9.16667 7.43339H10V9.67506M8.33333 8.28339C4.60833 8.45839 1.94167 9.80006 0 12.5167C0.833333 8.35006 3.33333 4.18339 9.16667 3.35006V0.0167236L15 5.85006L9.16667 11.6834V8.26672C8.89167 8.26672 8.61667 8.27506 8.33333 8.28339Z"
  3489.                                                                        fill="#ffffff" />
  3490.                                                                </svg>
  3491.                                                            </p>
  3492.                                                        </div>
  3493.                                                        <div class="button-wishlist text-center">
  3494.                                                            <p id="wishButton" class="d-flex gap-2 wishlist-toggle"
  3495.                                                                data-product-handle="blossom-shine">
  3496.                                                                <span>Wishlist</span><svg
  3497.                                                                    xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  3498.                                                                    width="16" height="15" viewBox="0 0 16 15"
  3499.                                                                    fill="none">
  3500.                                                                    <path
  3501.                                                                        d="M2.03341 7.70827C1.70392 7.38096 1.44286 6.99135 1.26546 6.56213C1.08805 6.13292 0.997838 5.67269 1.00008 5.20827C1.00008 4.26896 1.37322 3.36812 2.03741 2.70393C2.7016 2.03974 3.60244 1.6666 4.54175 1.6666C5.85841 1.6666 7.00841 2.38327 7.61675 3.44993H8.55008C8.85934 2.90748 9.30684 2.45667 9.84699 2.14341C10.3871 1.83015 11.0007 1.66563 11.6251 1.6666C12.5644 1.6666 13.4652 2.03974 14.1294 2.70393C14.7936 3.36812 15.1667 4.26896 15.1667 5.20827C15.1667 6.18327 14.7501 7.08327 14.1334 7.70827L8.08341 13.7499L2.03341 7.70827ZM14.7167 8.29993C15.5084 7.49993 16.0001 6.4166 16.0001 5.20827C16.0001 4.04795 15.5391 2.93515 14.7187 2.11467C13.8982 1.2942 12.7854 0.833267 11.6251 0.833267C10.1667 0.833267 8.87508 1.5416 8.08341 2.6416C7.67933 2.08035 7.14725 1.62353 6.53131 1.30904C5.91537 0.994549 5.23333 0.831448 4.54175 0.833267C3.38143 0.833267 2.26863 1.2942 1.44816 2.11467C0.627684 2.93515 0.166748 4.04795 0.166748 5.20827C0.166748 6.4166 0.658415 7.49993 1.45008 8.29993L8.08341 14.9333L14.7167 8.29993Z"
  3502.                                                                        fill="#ffffff" />
  3503.                                                                </svg>
  3504.                                                                <!--
  3505.   <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="34" height="30" viewBox="0 0 34 30" fill="none">
  3506.   <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158 18.4933 2.35999 17 4.83582C15.5067 2.36082 12.8 0.699158 9.69749 0.699158C4.98582 0.699991 1.16666 4.51916 1.16666 9.23082C1.16666 10.3075 1.37499 11.3342 1.73916 12.2825C4.55999 20.3967 17 29.3008 17 29.3008C17 29.3008 29.44 20.3967 32.2617 12.2825C32.6258 11.3342 32.8333 10.3075 32.8333 9.23082Z" fill="white" fill-opacity="0.32" stroke="#757575" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
  3507.   </svg>
  3508. -->
  3509.                                                            </p>
  3510.                                                        </div>
  3511.                                                    </div>
  3512.                                                </div>
  3513.                                            </div>
  3514.                                            <div class="purchasePopup purchasePopupSpotify" style="display: none;">
  3515.                                                <div class="purchaseArea">
  3516.                                                    <div class="sectionPurchase sectionPurchaseSpotify">
  3517.                                                        <div class="wrapperPurchase">
  3518.                                                            <div class="headerPurchase">
  3519.                                                                <h3>personalize spotify photo print</h3>
  3520.                                                                <a class="close-purchase-popup">
  3521.                                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  3522.                                                                        width="18" height="18" viewBox="0 0 18 18"
  3523.                                                                        fill="none">
  3524.                                                                        <path
  3525.                                                                            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"
  3526.                                                                            fill="black"></path>
  3527.                                                                    </svg>
  3528.                                                                </a>
  3529.                                                            </div>
  3530.                                                            <div class="contentPurchase">
  3531.                                                                <div class="spotifyAddons"></div>
  3532.                                                            </div>
  3533.  
  3534.                                                            <div class="purchase-button btn-addon row m-0"
  3535.                                                                style="display: none;">
  3536.                                                                <div class="col-12 col-lg-2 text-left mb-2 p-0">
  3537.                                                                    <button
  3538.                                                                        class="back-purchase-button back-addon text-uppercase">
  3539.                                                                        <svg width="15" height="14" viewBox="0 0 15 14"
  3540.                                                                            fill="none"
  3541.                                                                            xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  3542.                                                                            <path
  3543.                                                                                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"
  3544.                                                                                fill="black"></path>
  3545.                                                                        </svg>
  3546.                                                                        <span>Back</span>
  3547.                                                                    </button>
  3548.                                                                </div>
  3549.                                                                <div class="col-12 col-lg-10 text-right"
  3550.                                                                    style="display: flex;justify-content: end;gap: 20px;">
  3551.                                                                    <button
  3552.                                                                        class="btn next-purchase-button next-addon text-uppercase">
  3553.                                                                        <span>continue without add-ons</span>
  3554.                                                                    </button>
  3555.                                                                </div>
  3556.                                                            </div>
  3557.                                                        </div>
  3558.                                                    </div>
  3559.                                                </div>
  3560.                                            </div>
  3561.  
  3562.                                            <style>
  3563.                                                #PBarNextFrameWrapper {
  3564.                                                    display: none;
  3565.                                                }
  3566.  
  3567.                                                #backgroundPopup {
  3568.                                                    display: none;
  3569.                                                    position: fixed;
  3570.                                                    _position: absolute;
  3571.                                                    height: 100%;
  3572.                                                    width: 100%;
  3573.                                                    top: 0;
  3574.                                                    left: 0;
  3575.                                                    background: rgb(117 117 117 / 24%);
  3576.                                                    z-index: 1;
  3577.                                                }
  3578.  
  3579.                                                .sectionPurchase {
  3580.                                                    height: 100%;
  3581.                                                    position: relative;
  3582.                                                    max-width: 1344px;
  3583.                                                    background-color: #fff;
  3584.                                                    padding: 0;
  3585.                                                    overflow: hidden;
  3586.                                                    /* Changed from auto to hidden */
  3587.                                                    display: flex;
  3588.                                                    flex-direction: column;
  3589.                                                }
  3590.  
  3591.                                                .sectionPurchase.purchaseAddonSpotify {
  3592.                                                    max-width: 1070px !important;
  3593.                                                    max-height: 765px !important;
  3594.                                                }
  3595.  
  3596.                                                .sectionPurchaseBoard {
  3597.                                                    max-width: 872px !important;
  3598.                                                    max-height: 821px !important;
  3599.                                                }
  3600.  
  3601.                                                .purchaseAddonSpotify .btn-action {
  3602.                                                    position: absolute;
  3603.                                                    bottom: 0;
  3604.                                                    left: 0;
  3605.                                                    width: 100%;
  3606.                                                    display: flex;
  3607.                                                    gap: 10px;
  3608.                                                }
  3609.  
  3610.                                                .wrapperPurchase {
  3611.                                                    position: relative;
  3612.                                                    height: 100%;
  3613.                                                    display: flex;
  3614.                                                    flex-direction: column;
  3615.                                                }
  3616.  
  3617.                                                /* New styles for scrollable content and sticky button */
  3618.                                                .purchase-content {
  3619.                                                    flex: 1;
  3620.                                                    overflow-y: auto;
  3621.                                                    overflow-x: hidden;
  3622.                                                    padding: 20px;
  3623.                                                }
  3624.  
  3625.                                                .purchase-button-wrapper {
  3626.                                                    position: sticky;
  3627.                                                    bottom: 0;
  3628.                                                    background-color: #fff;
  3629.                                                    border-top: 1px solid #e0e0e0;
  3630.                                                    padding: 15px 0;
  3631.                                                    margin-top: auto;
  3632.                                                    z-index: 10;
  3633.                                                }
  3634.  
  3635.                                                .purchasePopup {
  3636.                                                    display: none;
  3637.                                                    position: fixed;
  3638.                                                    background: rgb(117 117 117 / 24%);
  3639.                                                    z-index: 999;
  3640.                                                    padding: 40px;
  3641.                                                    font-size: 13px;
  3642.                                                    top: 0;
  3643.                                                    left: 0;
  3644.                                                    width: 100%;
  3645.                                                    height: 100%;
  3646.                                                }
  3647.  
  3648.                                                .popupPurchaseClose {
  3649.                                                    font-size: 14px;
  3650.                                                    line-height: 14px;
  3651.                                                    right: 45px;
  3652.                                                    top: 45px;
  3653.                                                    position: absolute;
  3654.                                                    color: #6fa5fd;
  3655.                                                    font-weight: 700;
  3656.                                                    display: block;
  3657.                                                    cursor: pointer;
  3658.                                                }
  3659.  
  3660.                                                .headerPurchase {
  3661.                                                    margin-bottom: 30px;
  3662.                                                    display: flex;
  3663.                                                    justify-content: space-between;
  3664.                                                }
  3665.  
  3666.                                                .headerPurchase h3 {
  3667.                                                    font-size: 16px;
  3668.                                                    text-transform: uppercase;
  3669.                                                }
  3670.  
  3671.                                                .sectionPurchaseBoard .headerPurchase {
  3672.                                                    margin-bottom: 15px;
  3673.                                                }
  3674.  
  3675.                                                .sectionPurchaseBoard .formAddressPurchase {
  3676.                                                    padding-top: 0;
  3677.                                                }
  3678.  
  3679.                                                .purchaseArea {
  3680.                                                    position: relative;
  3681.                                                    height: 100%;
  3682.                                                }
  3683.  
  3684.                                                .purchaseArea h4 {
  3685.                                                    width: 100%;
  3686.                                                    font-size: 12px;
  3687.                                                    font-weight: 600;
  3688.                                                    margin-bottom: 10px;
  3689.                                                    text-transform: uppercase;
  3690.                                                }
  3691.  
  3692.                                                .menuPurchase {
  3693.                                                    margin-bottom: 30px;
  3694.                                                }
  3695.  
  3696.                                                .menuPurchase ul {
  3697.                                                    list-style-type: none;
  3698.                                                    margin: 0;
  3699.                                                }
  3700.  
  3701.                                                .menuPurchase ul li {
  3702.                                                    display: inline-block;
  3703.                                                    border: 1px solid #ffffff;
  3704.                                                    padding: 5px 20px;
  3705.                                                    margin-right: 5px;
  3706.                                                    margin-bottom: 10px;
  3707.                                                    font-size: 12px;
  3708.                                                    font-weight: 400;
  3709.                                                }
  3710.  
  3711.                                                .menuPurchase ul li:hover,
  3712.                                                .menuPurchase ul li.selected {
  3713.                                                    background-color: #ffffff;
  3714.                                                    color: #ffffff;
  3715.                                                }
  3716.  
  3717.                                                .contentPurchase h5 {
  3718.                                                    font-size: 12px;
  3719.                                                    margin-bottom: 10px;
  3720.                                                    font-weight: 400;
  3721.                                                    overflow: hidden;
  3722.                                                }
  3723.  
  3724.                                                /* Card */
  3725.  
  3726.                                                #itemCards {
  3727.                                                    max-height: 430px;
  3728.                                                    overflow: auto;
  3729.                                                }
  3730.  
  3731.                                                .item-cards {
  3732.                                                    width: 100%;
  3733.                                                }
  3734.  
  3735.                                                .item-card.selected {
  3736.                                                    border: 1px solid #ffffff;
  3737.                                                }
  3738.  
  3739.                                                .item-card:hover {
  3740.                                                    border: 1px solid #C4C4C4;
  3741.                                                }
  3742.  
  3743.                                                .item-cards .item-card {
  3744.                                                    position: relative;
  3745.                                                    width: calc(33% - 10px);
  3746.                                                    max-width: calc(33% - 10px);
  3747.                                                    flex: 0 0 calc(33% - 10px);
  3748.                                                    margin-bottom: 20px;
  3749.                                                }
  3750.  
  3751.                                                .item-cards .item-card label,
  3752.                                                .item-addons .item-addon label {
  3753.                                                    position: absolute;
  3754.                                                    left: 0;
  3755.                                                    width: 100%;
  3756.                                                    height: 100%;
  3757.                                                }
  3758.  
  3759.                                                .item-cards .item-card .card-image img,
  3760.                                                .item-addons .item-addon .card-image img {
  3761.                                                    display: block;
  3762.                                                    width: 100%;
  3763.                                                }
  3764.  
  3765.                                                .item-card .card-meta,
  3766.                                                .item-addon .card-meta {
  3767.                                                    padding: 10px 5px 5px;
  3768.                                                }
  3769.  
  3770.                                                .item-card.selected .card-meta,
  3771.                                                .item-addon.selected .card-meta,
  3772.                                                .item-card.selected .card-qty {
  3773.                                                    background-color: #ffffff;
  3774.                                                    color: #fff;
  3775.                                                    visibility: visible !important;
  3776.                                                }
  3777.  
  3778.                                                .item-card:hover .card-meta,
  3779.                                                .item-addon:hover .card-meta,
  3780.                                                .item-card:hover .card-qty {
  3781.                                                    background-color: #C4C4C4;
  3782.                                                    color: #fff;
  3783.                                                    visibility: visible !important;
  3784.                                                }
  3785.  
  3786.                                                .item-cards .item-card p,
  3787.                                                .item-addons .item-addon p {
  3788.                                                    font-size: 12px !important;
  3789.                                                    margin: 0;
  3790.                                                    font-weight: 600;
  3791.                                                }
  3792.  
  3793.                                                .item-card .card-meta input,
  3794.                                                .item-addon .card-meta input {
  3795.                                                    display: none;
  3796.                                                }
  3797.  
  3798.                                                .item-cards .item-card h5,
  3799.                                                .item-addons .item-addon h5 {
  3800.                                                    text-transform: uppercase;
  3801.                                                    max-height: 35px;
  3802.                                                }
  3803.  
  3804.                                                @media (max-width: 768px) {
  3805.                                                    .item-cards .item-card {
  3806.                                                        width: calc(50% - 10px);
  3807.                                                        max-width: calc(50% - 10px);
  3808.                                                        flex: 0 0 calc(50% - 10px);
  3809.                                                        margin-bottom: 0;
  3810.                                                    }
  3811.                                                }
  3812.  
  3813.                                                .card-qty {
  3814.                                                    display: flex;
  3815.                                                    padding: 5px;
  3816.                                                    visibility: hidden;
  3817.                                                    background-color: #fff !important;
  3818.                                                    z-index: 999;
  3819.                                                }
  3820.  
  3821.                                                .card-qty a {
  3822.                                                    border-width: 1px;
  3823.                                                    width: 30%;
  3824.                                                    cursor: pointer;
  3825.                                                    text-align: center;
  3826.                                                    align-self: center;
  3827.                                                    height: 28px;
  3828.                                                    display: block;
  3829.                                                    position: relative;
  3830.                                                }
  3831.  
  3832.                                                .card-qty a svg {
  3833.                                                    position: absolute;
  3834.                                                    top: 50%;
  3835.                                                    left: 50%;
  3836.                                                    transform: translate(-50%, -50%);
  3837.                                                    text-align: center;
  3838.                                                }
  3839.  
  3840.                                                input.btn-qty {
  3841.                                                    border-width: 0px;
  3842.                                                    border-radius: 0;
  3843.                                                    background-color: #fff;
  3844.                                                    -webkit-appearance: none;
  3845.                                                    box-shadow: none !important;
  3846.                                                    -webkit-box-shadow: none !important;
  3847.                                                    -moz-box-shadow: none !important;
  3848.                                                    width: 40%;
  3849.                                                    border-left: 1px solid #c4c4c4;
  3850.                                                    border-right: 1px solid #c4c4c4;
  3851.                                                    padding: 0;
  3852.                                                }
  3853.  
  3854.                                                .sectionPurchaseBoard #itemAddons .item-card {
  3855.                                                    width: calc(20% - 15px);
  3856.                                                    max-width: calc(20% - 15px);
  3857.                                                    flex: 0 0 calc(20% - 15px);
  3858.                                                }
  3859.  
  3860.                                                .purchase-button {
  3861.                                                    width: 100%;
  3862.                                                    padding: 0;
  3863.                                                    /* Reset padding as it's now handled by wrapper */
  3864.                                                    margin: 0;
  3865.                                                }
  3866.  
  3867.                                                .sectionPurchaseBoard .purchase-button {
  3868.                                                    margin-top: 0 !important;
  3869.                                                    /* Reset margin */
  3870.                                                }
  3871.  
  3872.                                                .back-purchase-button,
  3873.                                                .back-spotify {
  3874.                                                    width: 139px;
  3875.                                                    border: 1px solid;
  3876.                                                    height: 43px;
  3877.                                                }
  3878.  
  3879.                                                .purchase-button .btn {
  3880.                                                    width: 297px;
  3881.                                                    height: 43px;
  3882.                                                    background-color: #ffffff;
  3883.                                                    color: #ffffff;
  3884.                                                }
  3885.  
  3886.                                                .purchase-button .btn[disabled] {
  3887.                                                    background-color: #EEEEEE;
  3888.                                                }
  3889.  
  3890.                                                .back-purchase-button svg,
  3891.                                                .back-spotify svg {
  3892.                                                    align-self: center;
  3893.                                                    vertical-align: middle;
  3894.                                                    margin-right: 10px;
  3895.                                                }
  3896.  
  3897.                                                #purchaseProduct .row .error {
  3898.                                                    font-size: 12px !important;
  3899.                                                    color: orange;
  3900.                                                    margin-top: 5px;
  3901.                                                }
  3902.  
  3903.                                                .reviewCardPurchase {
  3904.                                                    max-width: 448px;
  3905.                                                    float: right;
  3906.                                                }
  3907.  
  3908.                                                .addonsPurchase .addon-item {
  3909.                                                    display: flex;
  3910.                                                    justify-content: space-between;
  3911.                                                }
  3912.  
  3913.                                                .addon-item * {
  3914.                                                    align-self: center;
  3915.                                                    font-size: 12px;
  3916.                                                }
  3917.  
  3918.                                                .addon-itm-title {
  3919.                                                    width: 360px;
  3920.                                                }
  3921.  
  3922.                                                .addon-itm-line-price {
  3923.                                                    color: #757575;
  3924.                                                    width: 80px;
  3925.                                                    justify-content: space-between;
  3926.                                                    display: flex;
  3927.                                                }
  3928.  
  3929.                                                .propsAddonSpotify p {
  3930.                                                    margin: 0;
  3931.                                                    display: flex;
  3932.                                                    font-size: 12px !important;
  3933.                                                    margin-bottom: 5px;
  3934.                                                }
  3935.  
  3936.                                                .propsAddonSpotify p span:first-child {
  3937.                                                    text-transform: uppercase;
  3938.                                                    font-weight: 600;
  3939.                                                    -ms-flex: 0 0 150px;
  3940.                                                    flex: 0 0 150px;
  3941.                                                    max-width: 150px;
  3942.                                                }
  3943.  
  3944.                                                .addonsPurchase .addons {
  3945.                                                    max-height: 250px;
  3946.                                                    overflow: auto;
  3947.                                                }
  3948.  
  3949.                                                .btn .loading:after {
  3950.                                                    content: "";
  3951.                                                    display: inline-block;
  3952.                                                    width: 20px;
  3953.                                                    height: 20px;
  3954.                                                    padding: 3px;
  3955.                                                    aspect-ratio: 1;
  3956.                                                    border-radius: 50%;
  3957.                                                    background: #FFFFFF;
  3958.                                                    --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box;
  3959.                                                    -webkit-mask: var(--_m);
  3960.                                                    mask: var(--_m);
  3961.                                                    -webkit-mask-composite: source-out;
  3962.                                                    mask-composite: subtract;
  3963.                                                    animation: l3 1s infinite linear;
  3964.                                                    margin: auto;
  3965.                                                    vertical-align: middle;
  3966.                                                    margin-left: 10px;
  3967.                                                }
  3968.  
  3969.                                                #qrcode img,
  3970.                                                #qrcode canvas {
  3971.                                                    width: 50px;
  3972.                                                    position: absolute;
  3973.                                                    top: 12px;
  3974.                                                    left: 16px;
  3975.                                                }
  3976.  
  3977.                                                .t-preview {
  3978.                                                    position: absolute;
  3979.                                                    top: 17px;
  3980.                                                    left: 75px;
  3981.                                                }
  3982.  
  3983.                                                .t-preview p {
  3984.                                                    margin: 0;
  3985.                                                    font-size: 12px !important;
  3986.                                                }
  3987.  
  3988.                                                .t-preview .h3 {
  3989.                                                    font-size: 16px !important;
  3990.                                                    margin-bottom: 5px;
  3991.                                                    font-weight: 600;
  3992.                                                }
  3993.  
  3994.                                                .scanCard {
  3995.                                                    width: 100%;
  3996.                                                    border: 1px solid;
  3997.                                                    height: 76px;
  3998.                                                    background-color: #fff;
  3999.                                                }
  4000.  
  4001.                                                .scanCard>div>img {
  4002.                                                    position: absolute;
  4003.                                                    right: 0;
  4004.                                                    width: 55px;
  4005.                                                }
  4006.  
  4007.                                                @keyframes l3 {
  4008.                                                    100% {
  4009.                                                        transform: rotate(1turn);
  4010.                                                    }
  4011.                                                }
  4012.  
  4013.                                                @media (min-width: 991px) {
  4014.                                                    .sectionPurchase {
  4015.                                                        height: 100%;
  4016.                                                        position: relative;
  4017.                                                        max-width: 1344px;
  4018.                                                        background-color: #fff;
  4019.                                                        top: 50%;
  4020.                                                        left: 50%;
  4021.                                                        transform: translate(-50%, -50%);
  4022.                                                    }
  4023.  
  4024.                                                    .headerPurchase h3 {
  4025.                                                        font-size: 20px;
  4026.                                                    }
  4027.  
  4028.                                                    .purchaseArea h4 {
  4029.                                                        font-size: 16px;
  4030.                                                    }
  4031.  
  4032.                                                    .menuPurchase ul li {
  4033.                                                        font-size: 16px;
  4034.                                                    }
  4035.  
  4036.                                                    .contentPurchase {
  4037.                                                        margin-bottom: 30px;
  4038.                                                    }
  4039.  
  4040.                                                    .contentPurchase h5 {
  4041.                                                        font-size: 16px;
  4042.                                                    }
  4043.  
  4044.                                                    .item-cards .item-card p,
  4045.                                                    .item-addons .item-addon p {
  4046.                                                        font-size: 16px !important;
  4047.                                                    }
  4048.  
  4049.                                                    .cards {
  4050.                                                        float: right;
  4051.                                                        width: 400px;
  4052.                                                    }
  4053.  
  4054.                                                    .item-cards .item-card {
  4055.                                                        width: calc(25% - 30px);
  4056.                                                        max-width: calc(25% - 30px);
  4057.                                                        flex: 0 0 calc(25% - 30px);
  4058.                                                    }
  4059.  
  4060.                                                    #itemAddons .item-card {
  4061.                                                        position: relative;
  4062.                                                        width: calc(16% - 40px);
  4063.                                                        max-width: calc(16% - 40px);
  4064.                                                        flex: 0 0 calc(16% - 40px);
  4065.                                                    }
  4066.  
  4067.                                                    .purchase-button-wrapper {
  4068.                                                        padding: 10px 20px;
  4069.                                                    }
  4070.                                                }
  4071.  
  4072.                                                @media (max-width: 1200px) {
  4073.                                                    .item-cards .item-card {
  4074.                                                        width: calc(33% - 30px);
  4075.                                                        max-width: calc(33% - 30px);
  4076.                                                        flex: 0 0 calc(33% - 30px);
  4077.                                                    }
  4078.                                                }
  4079.  
  4080.                                                @media (max-width: 992px) {
  4081.                                                    .purchasePopup {
  4082.                                                        padding: 0;
  4083.                                                    }
  4084.  
  4085.                                                    .item-cards .item-card h5,
  4086.                                                    .item-addons .item-addon h5 {
  4087.                                                        max-height: 30px;
  4088.                                                    }
  4089.  
  4090.                                                    .back-purchase-button,
  4091.                                                    .back-spotify,
  4092.                                                    .next-purchase-button {
  4093.                                                        width: 100%;
  4094.                                                    }
  4095.  
  4096.                                                    .addon-itm-title {
  4097.                                                        width: 300px;
  4098.                                                    }
  4099.  
  4100.                                                    .addon-itm-line-price {
  4101.                                                        margin-right: 10px;
  4102.                                                    }
  4103.  
  4104.                                                    .t-preview {
  4105.                                                        top: 10px;
  4106.                                                    }
  4107.  
  4108.                                                    .card-qty a {
  4109.                                                        height: 15px;
  4110.                                                    }
  4111.  
  4112.                                                    .purchase-button-wrapper {
  4113.                                                        padding: 15px;
  4114.                                                    }
  4115.                                                }
  4116.  
  4117.                                                @media (max-width: 576px) {
  4118.                                                    .purchase-button .btn {
  4119.                                                        width: 100% !important;
  4120.                                                    }
  4121.  
  4122.                                                    .purchase-button>.col-12 {
  4123.                                                        padding-left: 0;
  4124.                                                        padding-right: 0;
  4125.                                                    }
  4126.                                                }
  4127.                                            </style>
  4128.  
  4129.  
  4130.                                            <div class="purchasePopup">
  4131.                                                <div class="purchaseArea">
  4132.  
  4133.                                                    <div
  4134.                                                        class="sectionPurchase purchasePersonalize sectionPurchaseBoard">
  4135.                                                        <div class="wrapperPurchase">
  4136.                                                            <div class="purchase-content">
  4137.                                                                <div class="headerPurchase">
  4138.                                                                    <h3 class="text-uppercase">
  4139.  
  4140.                                                                        customize your flower board
  4141.  
  4142.                                                                    </h3>
  4143.                                                                    <a class="close-purchase-popup">
  4144.                                                                        <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  4145.                                                                            width="18" height="18" viewBox="0 0 18 18"
  4146.                                                                            fill="none">
  4147.                                                                            <path
  4148.                                                                                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"
  4149.                                                                                fill="black" />
  4150.                                                                        </svg>
  4151.                                                                    </a>
  4152.  
  4153.                                                                </div>
  4154.                                                                <div class="contentPurchase">
  4155.                                                                    <div class="row">
  4156.  
  4157.                                                                        <div class="col-12">
  4158.  
  4159.  
  4160.                                                                            <style>
  4161.                                                                                .customize-papan .group-field-1 .input-field {
  4162.                                                                                    float: left;
  4163.                                                                                    width: 100%;
  4164.                                                                                    height: 317px;
  4165.                                                                                    background-color: #E5E5EA;
  4166.                                                                                }
  4167.  
  4168.                                                                                .customize-papan .input-field textarea {
  4169.                                                                                    width: 100%;
  4170.                                                                                    max-width: 421px;
  4171.                                                                                    min-height: 150px;
  4172.                                                                                    font-weight: 400;
  4173.                                                                                    font-size: 16px;
  4174.                                                                                    resize: none;
  4175.                                                                                    background-color: #E5E5EA;
  4176.                                                                                    position: absolute;
  4177.                                                                                    top: 50%;
  4178.                                                                                    left: 50%;
  4179.                                                                                    transform: translate(-50%, -50%);
  4180.                                                                                    text-align: center;
  4181.                                                                                    color: #ffffff;
  4182.                                                                                    border: none;
  4183.                                                                                }
  4184.  
  4185.                                                                                .customize-papan .field-papan.group-field-2 .input-field.field-logo {
  4186.                                                                                    height: 90px;
  4187.                                                                                    margin: 0;
  4188.                                                                                    border-radius: 0;
  4189.                                                                                    position: relative;
  4190.                                                                                    -ms-flex: 0 0 174px;
  4191.                                                                                    flex: 0 0 174px;
  4192.                                                                                    max-width: 174px;
  4193.                                                                                }
  4194.  
  4195.                                                                                .customize-papan .btn-upload-papan svg {
  4196.                                                                                    width: 21px;
  4197.                                                                                    height: 25px;
  4198.                                                                                    display: block;
  4199.                                                                                    align-self: center;
  4200.                                                                                    margin: auto;
  4201.                                                                                    margin-bottom: 12px;
  4202.                                                                                }
  4203.  
  4204.                                                                                .svgLogoPapan {
  4205.                                                                                    position: absolute;
  4206.                                                                                    width: 100%;
  4207.                                                                                    top: 50%;
  4208.                                                                                    left: 50%;
  4209.                                                                                    transform: translate(-50%, -50%);
  4210.                                                                                    text-align: center;
  4211.                                                                                }
  4212.  
  4213.                                                                                .svgLogoPapan p {
  4214.                                                                                    color: #8E8E93;
  4215.                                                                                    margin: 0;
  4216.                                                                                }
  4217.  
  4218.                                                                                .svgLogoPapan p span {
  4219.                                                                                    font-size: 12px;
  4220.                                                                                    color: #FF0E00;
  4221.                                                                                }
  4222.  
  4223.                                                                                .customize-papan .btn-upload-papan img {
  4224.                                                                                    margin: auto;
  4225.                                                                                    display: block;
  4226.                                                                                    position: absolute;
  4227.                                                                                    width: 80px;
  4228.                                                                                    top: 50%;
  4229.                                                                                    left: 50%;
  4230.                                                                                    transform: translate(-50%, -50%);
  4231.                                                                                    text-align: center;
  4232.                                                                                }
  4233.  
  4234.                                                                                #suggest-messages {
  4235.                                                                                    position: absolute;
  4236.                                                                                    bottom: 5px;
  4237.                                                                                    left: 5px;
  4238.                                                                                }
  4239.  
  4240.                                                                                #suggest-messages a {
  4241.                                                                                    border: 1px solid #979797;
  4242.                                                                                    background: #fff;
  4243.                                                                                    color: #979797;
  4244.                                                                                    border-radius: 3px;
  4245.                                                                                    padding: 5px 10px;
  4246.                                                                                    font-size: 10px;
  4247.                                                                                    font-weight: 600;
  4248.                                                                                    display: inline-block;
  4249.                                                                                }
  4250.  
  4251.                                                                                .case-occasion .nice-select:after {
  4252.                                                                                    border-bottom: 2px solid #333;
  4253.                                                                                    border-right: 2px solid #333;
  4254.                                                                                    right: 20px;
  4255.                                                                                    top: 42%;
  4256.                                                                                    width: 10px;
  4257.                                                                                    height: 10px;
  4258.                                                                                }
  4259.  
  4260.                                                                                .customize-papan .input-field input {
  4261.                                                                                    font-weight: 600;
  4262.                                                                                    font-size: 16px;
  4263.                                                                                    width: 100%;
  4264.                                                                                    height: 90px;
  4265.                                                                                    min-height: 44px !important;
  4266.                                                                                    border: none;
  4267.                                                                                    background: #E5E5EA;
  4268.                                                                                    margin: 0;
  4269.                                                                                    border-radius: 0;
  4270.                                                                                    text-align: center;
  4271.                                                                                    color: #ffffff;
  4272.                                                                                }
  4273.  
  4274.                                                                                .customize-papan .input-field .limit {
  4275.                                                                                    position: absolute;
  4276.                                                                                    right: 15px;
  4277.                                                                                    top: 0;
  4278.                                                                                    color: #757575;
  4279.                                                                                }
  4280.  
  4281.                                                                                @media (min-width: 991px) {
  4282.                                                                                    .customize-papan:before {
  4283.                                                                                        content: "";
  4284.                                                                                        position: absolute;
  4285.                                                                                        border: 4px solid #ffffff;
  4286.                                                                                        bottom: -50px;
  4287.                                                                                        left: 210px;
  4288.                                                                                        width: 100px;
  4289.                                                                                        display: block;
  4290.                                                                                        -ms-transform: rotate(60deg);
  4291.                                                                                        -webkit-transform: rotate(60deg);
  4292.                                                                                        transform: rotate(-65deg);
  4293.                                                                                    }
  4294.  
  4295.                                                                                    .customize-papan:after {
  4296.                                                                                        content: "";
  4297.                                                                                        position: absolute;
  4298.                                                                                        border: 4px solid #ffffff;
  4299.                                                                                        bottom: -52px;
  4300.                                                                                        right: 240px;
  4301.                                                                                        width: 100px;
  4302.                                                                                        display: block;
  4303.                                                                                        -ms-transform: rotate(-120deg);
  4304.                                                                                        -webkit-transform: rotate(70deg);
  4305.                                                                                        transform: rotate(70deg);
  4306.                                                                                    }
  4307.                                                                                }
  4308.                                                                            </style>
  4309.  
  4310.                                                                            <input type="hidden"
  4311.                                                                                data-properties="penerima" value="-">
  4312.                                                                            <div class="customize-papan">
  4313.                                                                                <div class="container">
  4314.                                                                                    <div
  4315.                                                                                        class="field-papan group-field-1 form-group">
  4316.                                                                                        <div class="input-field">
  4317.                                                                                            <textarea
  4318.                                                                                                id="kartu-ucapan-papan"
  4319.                                                                                                class="mb-0  has-limit"
  4320.                                                                                                type="text"
  4321.                                                                                                data-properties="ucapan"
  4322.                                                                                                placeholder="Write the message you want to display. Or you can use several options from the message templates that we provide.
  4323. (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea>
  4324.                                                                                            <p class="limit">0/100</p>
  4325.                                                                                            <div id="suggest-messages">
  4326.                                                                                                <a id="show_note_papan1"
  4327.                                                                                                    href="#">
  4328.                                                                                                    <div class="suggest-message"
  4329.                                                                                                        id="note_btn_div1">
  4330.                                                                                                        <span
  4331.                                                                                                            class="promo-code-link"
  4332.                                                                                                            id="note_btn_papan1">Contoh
  4333.                                                                                                            Kata
  4334.                                                                                                            WEDDING</span>
  4335.                                                                                                    </div>
  4336.                                                                                                </a>
  4337.                                                                                                <a id="show_note_papan2"
  4338.                                                                                                    href="#">
  4339.                                                                                                    <div class="suggest-message"
  4340.                                                                                                        id="note_btn_div2">
  4341.                                                                                                        <span
  4342.                                                                                                            class="promo-code-link"
  4343.                                                                                                            id="note_btn_papan2">Contoh
  4344.                                                                                                            Kata
  4345.                                                                                                            SELAMAT</span>
  4346.                                                                                                    </div>
  4347.                                                                                                </a>
  4348.                                                                                                <a id="show_note_papan3"
  4349.                                                                                                    href="#">
  4350.                                                                                                    <div class="suggest-message"
  4351.                                                                                                        id="note_btn_div3">
  4352.                                                                                                        <span
  4353.                                                                                                            class="promo-code-link"
  4354.                                                                                                            id="note_btn_papan3">Contoh
  4355.                                                                                                            Kata DUKA
  4356.                                                                                                            CITA</span>
  4357.                                                                                                    </div>
  4358.                                                                                                </a>
  4359.                                                                                            </div>
  4360.                                                                                        </div>
  4361.                                                                                    </div>
  4362.                                                                                    <div class="hide">
  4363.                                                                                        <input type="hidden" value=""
  4364.                                                                                            id="note_id_papan1"
  4365.                                                                                            name="note_id_papan1"
  4366.                                                                                            style="top: 0px;">
  4367.                                                                                        <input type="hidden" value=""
  4368.                                                                                            id="note_btn_id_papan1"
  4369.                                                                                            name="note_btn_id_papan1">
  4370.                                                                                    </div>
  4371.                                                                                    <div class="hide">
  4372.                                                                                        <input type="hidden" value=""
  4373.                                                                                            id="note_id_papan2"
  4374.                                                                                            name="note_id_papan2"
  4375.                                                                                            style="top: 0px;">
  4376.                                                                                        <input type="hidden" value=""
  4377.                                                                                            id="note_btn_id_papan2"
  4378.                                                                                            name="note_btn_id_papan2">
  4379.                                                                                    </div>
  4380.                                                                                    <div class="hide">
  4381.                                                                                        <input type="hidden" value=""
  4382.                                                                                            id="note_id_papan3"
  4383.                                                                                            name="note_id_papan3"
  4384.                                                                                            style="top: 0px;">
  4385.                                                                                        <input type="hidden" value=""
  4386.                                                                                            id="note_btn_id_papan3"
  4387.                                                                                            name="note_btn_id_papan3">
  4388.                                                                                    </div>
  4389.                                                                                    <div
  4390.                                                                                        class="field-papan group-field-2 form-group">
  4391.  
  4392.                                                                                        <label for="logoPapan"
  4393.                                                                                            onclick=""
  4394.                                                                                            class="input-field field-logo">
  4395.  
  4396.  
  4397.  
  4398.                                                                                            <div
  4399.                                                                                                class="btn-upload-papan w-100">
  4400.                                                                                                <?xml version="1.0" encoding="UTF-8"?>
  4401.                                                                                                <img src=""
  4402.                                                                                                    style="display:none">
  4403.                                                                                                <div
  4404.                                                                                                    class="svgLogoPapan">
  4405.                                                                                                    <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  4406.                                                                                                        width="22"
  4407.                                                                                                        height="26"
  4408.                                                                                                        viewBox="0 0 22 26"
  4409.                                                                                                        fill="none">
  4410.                                                                                                        <path
  4411.                                                                                                            d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z"
  4412.                                                                                                            fill="black" />
  4413.                                                                                                    </svg>
  4414.                                                                                                    <p>Upload Logo
  4415.                                                                                                        <span>*optional</span>
  4416.                                                                                                    </p>
  4417.                                                                                                </div>
  4418.                                                                                            </div>
  4419.  
  4420.                                                                                        </label>
  4421.  
  4422.                                                                                        <input type="hidden"
  4423.                                                                                            data-properties="papan-logo"
  4424.                                                                                            value="">
  4425.                                                                                        <input type="file"
  4426.                                                                                            id="logoPapan"
  4427.                                                                                            accept="image/*"
  4428.                                                                                            style="position: absolute;width: 1px;height: 1px;padding: 0">
  4429.  
  4430.                                                                                        <div class="input-field">
  4431.                                                                                            <input
  4432.                                                                                                class="has-limit sender-name"
  4433.                                                                                                type="text"
  4434.                                                                                                placeholder="Nama Pengirim"
  4435.                                                                                                data-properties="pengirim"
  4436.                                                                                                maxlength="35" />
  4437.                                                                                            <p class="limit">0/35</p>
  4438.                                                                                        </div>
  4439.  
  4440.                                                                                    </div>
  4441.  
  4442.                                                                                </div>
  4443.                                                                            </div>
  4444.                                                                        </div>
  4445.  
  4446.                                                                    </div>
  4447.                                                                </div>
  4448.  
  4449.                                                            </div>
  4450.                                                            <div class="purchase-button-wrapper">
  4451.                                                                <div class="purchase-button btn-card row m-0">
  4452.                                                                    <div class="col-12 col-lg-2 text-left mb-2 p-0">
  4453.  
  4454.                                                                    </div>
  4455.                                                                    <div
  4456.                                                                        class="btn-next-card col-12 col-lg-10 text-right">
  4457.  
  4458.  
  4459.                                                                        <button
  4460.                                                                            class="btn next-purchase-button text-uppercase"
  4461.                                                                            disabled>
  4462.                                                                            <span>save your flower board</span>
  4463.                                                                        </button>
  4464.                                                                    </div>
  4465.                                                                </div>
  4466.  
  4467.                                                            </div>
  4468.                                                        </div>
  4469.                                                    </div>
  4470.  
  4471.  
  4472.  
  4473.                                                    <div class="sectionPurchase sectionPurchaseBoard hide"
  4474.                                                        data-section="address">
  4475.                                                        <div class="wrapperPurchase">
  4476.                                                            <div class="purchase-content">
  4477.                                                                <div class="headerPurchase">
  4478.                                                                    <h3>
  4479.                                                                        Complete Your Order
  4480.                                                                    </h3>
  4481.                                                                    <a class="close-purchase-popup">
  4482.                                                                        <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  4483.                                                                            width="18" height="18" viewBox="0 0 18 18"
  4484.                                                                            fill="none">
  4485.                                                                            <path
  4486.                                                                                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"
  4487.                                                                                fill="black" />
  4488.                                                                        </svg>
  4489.                                                                    </a>
  4490.  
  4491.                                                                </div>
  4492.                                                                <div class="contentPurchase">
  4493.                                                                    <div class="row">
  4494.                                                                        <div class="col-12 position-relative">
  4495.                                                                            <div class="addressPurchase">
  4496.  
  4497.                                                                                <h4 class="text-uppercase">recipient
  4498.                                                                                    delivery address</h4>
  4499.                                                                                <p>Share the delivery address to send
  4500.                                                                                    your heartfelt blooms straight to
  4501.                                                                                    their door.</p>
  4502.  
  4503.                                                                                <div class="formAddressPurchase row">
  4504.                                                                                    <div class="col-12">
  4505.                                                                                        <form>
  4506.                                                                                            <div
  4507.                                                                                                class="form-group row mb-2 mb-lg-4">
  4508.                                                                                                <div
  4509.                                                                                                    class="col-6 position-relative">
  4510.                                                                                                    <input
  4511.                                                                                                        id="first_name"
  4512.                                                                                                        type="text"
  4513.                                                                                                        class="form-control input__field"
  4514.                                                                                                        placeholder=""
  4515.                                                                                                        required>
  4516.                                                                                                    <label
  4517.                                                                                                        for="first_name"
  4518.                                                                                                        class="input__label">First
  4519.                                                                                                        Name<span>*</span></label>
  4520.                                                                                                </div>
  4521.                                                                                                <div
  4522.                                                                                                    class="col-6 position-relative">
  4523.                                                                                                    <input
  4524.                                                                                                        id="last_name"
  4525.                                                                                                        type="text"
  4526.                                                                                                        class="form-control input__field"
  4527.                                                                                                        placeholder=""
  4528.                                                                                                        required>
  4529.                                                                                                    <label
  4530.                                                                                                        for="last_name"
  4531.                                                                                                        class="input__label">Last
  4532.                                                                                                        Name<span>*</span></label>
  4533.                                                                                                </div>
  4534.                                                                                                <input type="hidden"
  4535.                                                                                                    data-properties="nama-penerima">
  4536.                                                                                            </div>
  4537.  
  4538.                                                                                            <h4 class="text-uppercase">
  4539.                                                                                                how you want to input
  4540.                                                                                                your address</h4>
  4541.                                                                                            <div
  4542.                                                                                                class="form-group row mb-2 mb-lg-4 form-address-upload">
  4543.                                                                                                <div
  4544.                                                                                                    class="col-6 position-relative">
  4545.                                                                                                    <label
  4546.                                                                                                        class="address-manualy">
  4547.                                                                                                        <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  4548.                                                                                                            width="18"
  4549.                                                                                                            height="17"
  4550.                                                                                                            viewBox="0 0 18 17"
  4551.                                                                                                            fill="none">
  4552.                                                                                                            <path
  4553.                                                                                                                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.6665 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"
  4554.                                                                                                                fill="black" />
  4555.                                                                                                        </svg>
  4556.                                                                                                        <span>Input
  4557.                                                                                                            Address
  4558.                                                                                                            Manually</span>
  4559.                                                                                                    </label>
  4560.                                                                                                </div>
  4561.                                                                                                <div
  4562.                                                                                                    class="col-6 position-relative">
  4563.                                                                                                    <label
  4564.                                                                                                        for="address-upload"
  4565.                                                                                                        class="address-upload">
  4566.                                                                                                        <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  4567.                                                                                                            width="12"
  4568.                                                                                                            height="13"
  4569.                                                                                                            viewBox="0 0 12 13"
  4570.                                                                                                            fill="none">
  4571.                                                                                                            <path
  4572.                                                                                                                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"
  4573.                                                                                                                fill="black" />
  4574.                                                                                                        </svg>
  4575.                                                                                                        <span>Upload
  4576.                                                                                                            Address
  4577.                                                                                                            Picture</span>
  4578.                                                                                                    </label>
  4579.                                                                                                    <input
  4580.                                                                                                        id="address-upload"
  4581.                                                                                                        type="file"
  4582.                                                                                                        accept="image/png, image/jpeg"
  4583.                                                                                                        style="position: absolute; padding: 0;width: 1px;height: 1px">
  4584.                                                                                                    <input type="hidden"
  4585.                                                                                                        class="props-address-upload"
  4586.                                                                                                        data-properties="foto-alamat">
  4587.                                                                                                </div>
  4588.                                                                                            </div>
  4589.                                                                                            <img width="150" height=""
  4590.                                                                                                src=""
  4591.                                                                                                class="photo-address"
  4592.                                                                                                style="display: none;">
  4593.  
  4594.                                                                                            <div
  4595.                                                                                                class="form-group row position-relative mb-2 mb-lg-4 form-address">
  4596.                                                                                                <div class="col-12">
  4597.                                                                                                    <textarea
  4598.                                                                                                        id="delivery_address"
  4599.                                                                                                        data-properties="alamat-penerima"
  4600.                                                                                                        class="form-control input__field col-12"
  4601.                                                                                                        placeholder=""
  4602.                                                                                                        required></textarea>
  4603.                                                                                                    <label
  4604.                                                                                                        for="delivery_address"
  4605.                                                                                                        class="input__label">Delivery
  4606.                                                                                                        Address<span>*</span></label>
  4607.  
  4608.                                                                                                </div>
  4609.                                                                                            </div>
  4610.                                                                                            <div
  4611.                                                                                                class="form-group row mb-2 mb-lg-4 form-address">
  4612.                                                                                                <div
  4613.                                                                                                    class="col-6 position-relative">
  4614.                                                                                                    <input
  4615.                                                                                                        id="recipient_number"
  4616.                                                                                                        type="text"
  4617.                                                                                                        data-properties="telepon-penerima"
  4618.                                                                                                        class="form-control input__field"
  4619.                                                                                                        placeholder=""
  4620.                                                                                                        required>
  4621.                                                                                                    <label
  4622.                                                                                                        for="recipient_number"
  4623.                                                                                                        class="input__label">Recipient
  4624.                                                                                                        number<span>*</span></label>
  4625.                                                                                                </div>
  4626.                                                                                                <div
  4627.                                                                                                    class="col-6 position-relative">
  4628.                                                                                                    <input id="company"
  4629.                                                                                                        type="text"
  4630.                                                                                                        data-properties="company"
  4631.                                                                                                        class="form-control input__field"
  4632.                                                                                                        placeholder="">
  4633.                                                                                                    <label for="company"
  4634.                                                                                                        class="input__label">Company
  4635.                                                                                                        (Optional)</label>
  4636.                                                                                                </div>
  4637.                                                                                            </div>
  4638.                                                                                            <div
  4639.                                                                                                class="form-group row mb-2 mb-lg-4 form-address">
  4640.                                                                                                <div
  4641.                                                                                                    class="col-6 position-relative">
  4642.                                                                                                    <input id="province"
  4643.                                                                                                        type="text"
  4644.                                                                                                        class="form-control input__field"
  4645.                                                                                                        placeholder=""
  4646.                                                                                                        value="Jakarta"
  4647.                                                                                                        data-properties="province">
  4648.                                                                                                    <label
  4649.                                                                                                        for="province"
  4650.                                                                                                        class="input__label">Province</label>
  4651.                                                                                                </div>
  4652.                                                                                                <div
  4653.                                                                                                    class="col-6 position-relative">
  4654.                                                                                                    <select id="zip"
  4655.                                                                                                        class="form-control select-search"
  4656.                                                                                                        required></select>
  4657.                                                                                                </div>
  4658.                                                                                            </div>
  4659.                                                                                        </form>
  4660.                                                                                    </div>
  4661.                                                                                </div>
  4662.                                                                            </div>
  4663.                                                                            <div class="addonsPurchase">
  4664.                                                                                <h4 class="text-uppercase">add-ons</h4>
  4665.                                                                                <div class="addons">
  4666.                                                                                    <p>No Add-Ons</p>
  4667.                                                                                    <!--
  4668.             <button class="add-addon">
  4669.               <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="12" height="12" viewBox="0 0 12 12" fill="none">
  4670.                 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/>
  4671.               </svg>
  4672.               <span>Enhance my moment with Add-ons</span>
  4673.             </button>
  4674.           -->
  4675.                                                                                </div>
  4676.                                                                            </div>
  4677.                                                                        </div>
  4678.  
  4679.                                                                    </div>
  4680.                                                                </div>
  4681.  
  4682.                                                                <script>
  4683.                                                                    document.addEventListener('DOMContentLoaded', function () {
  4684.                                                                        // Detect iOS
  4685.                                                                        var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
  4686.  
  4687.                                                                        if (isIOS) {
  4688.                                                                            document.querySelector('.formAddressPurchase').classList.add('ios');
  4689.  
  4690.                                                                            // iOS specific fixes
  4691.                                                                            var inputs = document.querySelectorAll('.formAddressPurchase .input__field');
  4692.  
  4693.                                                                            inputs.forEach(function (input) {
  4694.                                                                                // Force enable touch events on iOS
  4695.                                                                                input.style.webkitUserSelect = 'text';
  4696.                                                                                input.style.webkitTouchCallout = 'default';
  4697.                                                                                input.style.pointerEvents = 'auto';
  4698.                                                                                input.style.touchAction = 'manipulation';
  4699.  
  4700.                                                                                // Add explicit touch event listeners for iOS
  4701.                                                                                input.addEventListener('touchstart', function (e) {
  4702.                                                                                    e.stopPropagation();
  4703.                                                                                    this.focus();
  4704.                                                                                }, { passive: false });
  4705.  
  4706.                                                                                input.addEventListener('touchend', function (e) {
  4707.                                                                                    e.preventDefault();
  4708.                                                                                    e.stopPropagation();
  4709.                                                                                    this.focus();
  4710.                                                                                    this.click();
  4711.                                                                                }, { passive: false });
  4712.  
  4713.                                                                                // Force focus on tap for iOS
  4714.                                                                                input.addEventListener('click', function (e) {
  4715.                                                                                    e.stopPropagation();
  4716.                                                                                    if (document.activeElement !== this) {
  4717.                                                                                        this.focus();
  4718.                                                                                    }
  4719.                                                                                });
  4720.                                                                            });
  4721.  
  4722.                                                                            // Fix for label overlapping on iOS
  4723.                                                                            var labels = document.querySelectorAll('.formAddressPurchase .input__label');
  4724.                                                                            labels.forEach(function (label) {
  4725.                                                                                label.style.pointerEvents = 'none';
  4726.                                                                                label.addEventListener('touchstart', function (e) {
  4727.                                                                                    e.preventDefault();
  4728.                                                                                    var input = this.parentNode.querySelector('.input__field');
  4729.                                                                                    if (input) {
  4730.                                                                                        input.focus();
  4731.                                                                                    }
  4732.                                                                                });
  4733.                                                                            });
  4734.                                                                        }
  4735.  
  4736.                                                                        // Handle input state for all browsers, especially iOS
  4737.                                                                        var inputs = document.querySelectorAll('.input__field');
  4738.  
  4739.                                                                        inputs.forEach(function (input) {
  4740.                                                                            // Handle input events
  4741.                                                                            input.addEventListener('input', function () {
  4742.                                                                                if (this.value.trim() !== '') {
  4743.                                                                                    this.classList.add('has-value');
  4744.                                                                                } else {
  4745.                                                                                    this.classList.remove('has-value');
  4746.                                                                                }
  4747.                                                                            });
  4748.  
  4749.                                                                            // Handle focus
  4750.                                                                            input.addEventListener('focus', function () {
  4751.                                                                                this.classList.add('focused');
  4752.                                                                                // iOS specific: ensure input is visible
  4753.                                                                                if (isIOS) {
  4754.                                                                                    setTimeout(function () {
  4755.                                                                                        input.scrollIntoView({ behavior: 'smooth', block: 'center' });
  4756.                                                                                    }, 300);
  4757.                                                                                }
  4758.                                                                            });
  4759.  
  4760.                                                                            // Handle blur
  4761.                                                                            input.addEventListener('blur', function () {
  4762.                                                                                this.classList.remove('focused');
  4763.                                                                                if (this.value.trim() !== '') {
  4764.                                                                                    this.classList.add('has-value');
  4765.                                                                                } else {
  4766.                                                                                    this.classList.remove('has-value');
  4767.                                                                                }
  4768.                                                                            });
  4769.  
  4770.                                                                            // Initial check for pre-filled values
  4771.                                                                            if (input.value.trim() !== '') {
  4772.                                                                                input.classList.add('has-value');
  4773.                                                                            }
  4774.                                                                        });
  4775.  
  4776.                                                                        // Additional iOS fixes
  4777.                                                                        if (isIOS) {
  4778.                                                                            // Prevent iOS Safari from adding default styling
  4779.                                                                            document.addEventListener('touchstart', function () { }, { passive: true });
  4780.  
  4781.                                                                            // Fix viewport issues on iOS
  4782.                                                                            var viewport = document.querySelector('meta[name=viewport]');
  4783.                                                                            if (viewport) {
  4784.                                                                                viewport.setAttribute('content',
  4785.                                                                                    'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
  4786.                                                                                );
  4787.                                                                            }
  4788.                                                                        }
  4789.                                                                    });
  4790.                                                                </script>
  4791.                                                            </div>
  4792.                                                            <div class="purchase-button-wrapper">
  4793.                                                                <div class="purchase-button btn-address row m-0">
  4794.                                                                    <div class="col-12 col-lg-2 text-left mb-2 p-0">
  4795.  
  4796.                                                                        <button
  4797.                                                                            class="back-purchase-button back-address text-uppercase">
  4798.                                                                            <svg width="15" height="14"
  4799.                                                                                viewBox="0 0 15 14" fill="none"
  4800.                                                                                xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  4801.                                                                                <path
  4802.                                                                                    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"
  4803.                                                                                    fill="black" />
  4804.                                                                            </svg>
  4805.                                                                            <span>Back</span>
  4806.                                                                        </button>
  4807.  
  4808.                                                                    </div>
  4809.                                                                    <div
  4810.                                                                        class="btn-next-card col-12 col-lg-10 text-right">
  4811.  
  4812.                                                                        <!--
  4813.         <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0">
  4814.           <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  4815.             <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"/>
  4816.           </svg>
  4817.           <span>Back</span>
  4818.         </button>
  4819.       -->
  4820.  
  4821.  
  4822.                                                                        <button id="addtocart-card"
  4823.                                                                            class="btn  next-address text-uppercase">
  4824.                                                                            <span>add to cart</span>
  4825.                                                                        </button>
  4826.                                                                    </div>
  4827.                                                                </div>
  4828.  
  4829.                                                            </div>
  4830.                                                        </div>
  4831.                                                    </div>
  4832.  
  4833.                                                </div>
  4834.                                            </div>
  4835.                                            <div id="backgroundPopup"></div>
  4836.  
  4837.  
  4838.  
  4839.                                            <input data-index="1" type="hidden" id="properties-delivery-date"
  4840.                                                name="properties[Delivery Date]" value="-">
  4841.                                            <input data-index="2" type="hidden" id="properties-delivery-time"
  4842.                                                name="properties[Delivery Time]" value="-">
  4843.                                            <input data-index="4" type="hidden" id="properties-nama-penerima"
  4844.                                                name="properties[Nama Penerima]" value="-">
  4845.                                            <input data-index="5" type="hidden" id="properties-alamat-penerima"
  4846.                                                name="properties[Alamat Penerima]" value="-">
  4847.                                            <input data-index="6" type="hidden" id="properties-kodepos"
  4848.                                                name="properties[Kodepos]" value="-">
  4849.                                            <input data-index="7" type="hidden" id="properties-telepon-penerima"
  4850.                                                name="properties[Telepon Penerima]">
  4851.  
  4852.  
  4853.                                            <input data-index="8" type="hidden" id="properties-kartu-nama-penerima"
  4854.                                                name="properties[Kartu Nama Penerima]" value="-">
  4855.  
  4856.                                            <textarea data-index="9" type="hidden" id="properties-kartu-pesan"
  4857.                                                name="properties[Kartu Pesan]" style="display: none">-</textarea>
  4858.  
  4859.  
  4860.  
  4861.                                            <input data-index="10" type="hidden" id="properties-kartu-nama-pengirim"
  4862.                                                name="properties[Kartu Nama Pengirim]" value="-">
  4863.  
  4864.  
  4865.  
  4866.  
  4867.  
  4868.  
  4869.  
  4870.  
  4871.  
  4872.  
  4873.  
  4874.  
  4875.  
  4876.  
  4877.  
  4878.  
  4879.  
  4880.  
  4881.                                            <!-- Additional Shipping -->
  4882.                                            <input type="hidden" id="properties-kota-pengiriman-province"
  4883.                                                name="properties[Province]">
  4884.                                            <input type="hidden" id="properties-kota-pengiriman-country"
  4885.                                                name="properties[Country]" value="Indonesia">
  4886.                                            <input type="hidden" id="properties-shipping" name="properties[Shipping]">
  4887.  
  4888.                                            <input type="hidden" id="properties-time" name="properties[Time]">
  4889.                                            <input type="hidden" id="properties-card" name="properties[Card]">
  4890.                                            <input type="hidden" id="properties-addons" name="properties[Addons]">
  4891.  
  4892.                                            <input type="hidden" id="properties-company" name="properties[Company]"
  4893.                                                value="">
  4894.                                            <script>
  4895.  
  4896.                                                $(document).ready(function () {
  4897.  
  4898.                                                    var text_max_papan1 = 150;
  4899.                                                    var msg_text_papan1 = "";
  4900.                                                    $('#kartu-ucapan-ucapan').keyup(function () {
  4901.                                                        var text_length_papan1 = $('#kartu-ucapan-ucapan').val().length;
  4902.                                                        var msg_text_papan1 = $('#kartu-ucapan-ucapan').val();
  4903.                                                    });
  4904.  
  4905.                                                    var notes_papan1 = [
  4906.  
  4907.                                                        [0, "Happy Wedding (nama & nama)."], [1, "Congratulations lovebirds (nama & nama)."], [2, "Selamat berbahagia (nama & nama)."], [3, "Selamat menempuh hidup baru (nama & nama)."]
  4908.  
  4909.                                                    ];
  4910.                                                    $('#show_note_papan1').click(function (event) {
  4911.                                                        event.preventDefault();
  4912.                                                        var idx_papan1 = parseInt($('#note_id_papan1').val());
  4913.                                                        if (isNaN(idx_papan1)) {
  4914.                                                            idx_papan1 = 0;
  4915.                                                        } else {
  4916.                                                            idx_papan1++;
  4917.                                                            idx_papan1 = idx_papan1 % notes_papan1.length;
  4918.                                                        }
  4919.                                                        var note_papan1 = notes_papan1[idx_papan1][1];
  4920.                                                        $('#note_id_papan1').val(idx_papan1);
  4921.                                                        $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1);
  4922.                                                        $('#msgDelivery').val(note_papan1);
  4923.  
  4924.                                                        var text_length_papan1 = $('#kartu-ucapan-papan').val().length;
  4925.                                                        var idx_2_papan1 = parseInt($('#note_btn_id_papan1').val());
  4926.                                                        if (isNaN(idx_2_papan1)) {
  4927.                                                            idx_2_papan1 = 0;
  4928.                                                        } else {
  4929.                                                            idx_2_papan1++;
  4930.                                                            //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
  4931.                                                        }
  4932.                                                        $('#note_btn_id_papan1').val(idx_2_papan1);
  4933.                                                        //var note_btn=note_btn_text[idx_2][1];
  4934.                                                        //$('#note_btn').text(note_btn);
  4935.                                                    });
  4936.  
  4937.                                                    var text_max_papan2 = 150;
  4938.                                                    var msg_text_papan2 = "";
  4939.                                                    $('#kartu-ucapan-ucapan').keyup(function () {
  4940.                                                        var text_length_papan2 = $('#kartu-ucapan-ucapan').val().length;
  4941.                                                        var msg_text_papan2 = $('#kartu-ucapan-ucapan').val();
  4942.                                                    });
  4943.  
  4944.                                                    var notes_papan2 = [
  4945.  
  4946.                                                        [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)."]
  4947.  
  4948.                                                    ];
  4949.                                                    $('#show_note_papan2').click(function (event) {
  4950.                                                        event.preventDefault();
  4951.                                                        var idx_papan2 = parseInt($('#note_id_papan2').val());
  4952.                                                        if (isNaN(idx_papan2)) {
  4953.                                                            idx_papan2 = 0;
  4954.                                                        } else {
  4955.                                                            idx_papan2++;
  4956.                                                            idx_papan2 = idx_papan2 % notes_papan2.length;
  4957.                                                        }
  4958.                                                        var note_papan2 = notes_papan2[idx_papan2][1];
  4959.                                                        $('#note_id_papan2').val(idx_papan2);
  4960.                                                        $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2);
  4961.                                                        $('#msgDelivery').val(note_papan2);
  4962.                                                        var text_length_papan2 = $('#kartu-ucapan-papan').val().length;
  4963.                                                        var idx_2_papan2 = parseInt($('#note_btn_id_papan2').val());
  4964.                                                        if (isNaN(idx_2_papan2)) {
  4965.                                                            idx_2_papan2 = 0;
  4966.                                                        } else {
  4967.                                                            idx_2_papan2++;
  4968.                                                            //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
  4969.                                                        }
  4970.                                                        $('#note_btn_id_papan2').val(idx_2_papan2);
  4971.                                                        //var note_btn=note_btn_text[idx_2][1];
  4972.                                                        //$('#note_btn').text(note_btn);
  4973.                                                    });
  4974.  
  4975.                                                    var text_max_papan3 = 150;
  4976.                                                    var msg_text_papan3 = "";
  4977.                                                    $('#kartu-ucapan-ucapan').keyup(function () {
  4978.                                                        var text_length_papan3 = $('#kartu-ucapan-ucapan').val().length;
  4979.                                                        var msg_text_papan3 = $('#kartu-ucapan-ucapan').val();
  4980.                                                    });
  4981.  
  4982.                                                    var notes_papan3 = [
  4983.  
  4984.                                                        [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)."]
  4985.  
  4986.                                                    ];
  4987.                                                    $('#show_note_papan3').click(function (event) {
  4988.                                                        event.preventDefault();
  4989.                                                        var idx_papan3 = parseInt($('#note_id_papan3').val());
  4990.                                                        if (isNaN(idx_papan3)) {
  4991.                                                            idx_papan3 = 0;
  4992.                                                        } else {
  4993.                                                            idx_papan3++;
  4994.                                                            idx_papan3 = idx_papan3 % notes_papan3.length;
  4995.                                                        }
  4996.                                                        var note_papan3 = notes_papan3[idx_papan3][1];
  4997.                                                        $('#note_id_papan3').val(idx_papan3);
  4998.                                                        $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3);
  4999.                                                        $('#msgDelivery').val(note_papan3);
  5000.                                                        var text_length_papan3 = $('#kartu-ucapan-papan').val().length;
  5001.                                                        var idx_2_papan3 = parseInt($('#note_btn_id_papan3').val());
  5002.                                                        if (isNaN(idx_2_papan3)) {
  5003.                                                            idx_2_papan3 = 0;
  5004.                                                        } else {
  5005.                                                            idx_2_papan3++;
  5006.                                                            //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
  5007.                                                        }
  5008.                                                        $('#note_btn_id_papan3').val(idx_2_papan3);
  5009.                                                        //var note_btn=note_btn_text[idx_2][1];
  5010.                                                        //$('#note_btn').text(note_btn);
  5011.                                                    });
  5012.  
  5013.                                                    var text_max_papan4 = 150;
  5014.                                                    var msg_text_papan4 = "";
  5015.                                                    $('#kartu-ucapan-ucapan').keyup(function () {
  5016.                                                        var text_length_papan4 = $('#kartu-ucapan-ucapan').val().length;
  5017.                                                        var msg_text_papan4 = $('#kartu-ucapan-ucapan').val();
  5018.                                                    });
  5019.  
  5020.                                                    $('#show_note_papan4').click(function (event) {
  5021.                                                        var notes_papan4 = [
  5022.                                                            [0, "Here’s to you—steadier, stronger and better every day."],
  5023.                                                            [1, "Warmest wishes for a speedy recovery!"],
  5024.                                                            [2, "Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."],
  5025.                                                            [3, "Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."]
  5026.                                                        ];
  5027.                                                        event.preventDefault();
  5028.                                                        var idx_papan4 = parseInt($('#note_id_papan4').val());
  5029.                                                        console.log(idx_papan4, 'idx_papan4')
  5030.                                                        if (isNaN(idx_papan4)) {
  5031.                                                            idx_papan4 = 0;
  5032.                                                        } else {
  5033.                                                            idx_papan4++;
  5034.                                                            idx_papan4 = idx_papan4 % notes_papan4.length;
  5035.                                                        }
  5036.                                                        var note_papan4 = notes_papan4[idx_papan4][1];
  5037.                                                        $('#note_id_papan4').val(idx_papan4);
  5038.                                                        $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4);
  5039.                                                        console.log(note_papan4, 'note_papan4')
  5040.                                                        var text_length_papan4 = $('#kartu-ucapan-papan').val().length;
  5041.                                                        var idx_2_papan4 = parseInt($('#note_btn_id_papan4').val());
  5042.                                                        if (isNaN(idx_2_papan4)) {
  5043.                                                            idx_2_papan4 = 0;
  5044.                                                        } else {
  5045.                                                            idx_2_papan4++;
  5046.                                                            //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length;
  5047.                                                        }
  5048.                                                        $('#note_btn_id_papan4').val(idx_2_papan4);
  5049.                                                    });
  5050.  
  5051.                                                    /*
  5052.                                                    $("#jenisPapan").change(function(){
  5053.                                                      $( "select option:selected").each(function(){
  5054.                                                        if($(this).attr("value")=="Happy Wedding"){
  5055.                                                          $("#suggest-messages a").hide();
  5056.                                                          $("#show_note_papan1").show();
  5057.                                                          $("#kartu-ucapan-papan").val("");
  5058.                                                        }
  5059.                                                        if($(this).attr("value")=="Congratulations"){
  5060.                                                          $("#suggest-messages a").hide();
  5061.                                                          $("#show_note_papan2").show();
  5062.                                                          $("#kartu-ucapan-papan").val("");
  5063.                                                        }
  5064.                                                        if($(this).attr("value")=="Duka Cita"){
  5065.                                                          $("#suggest-messages a").hide();
  5066.                                                          $("#show_note_papan3").show();
  5067.                                                          $("#kartu-ucapan-papan").val("");
  5068.                                                        }
  5069.                                                      });
  5070.                                                    }).change();
  5071.                                                    */
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.                                                    $(".variant-metafield").each(function () {
  5078.                                                        const t = $(this)
  5079.                                                        const id = t.attr("id")
  5080.                                                        const target = $(`[data-select=${id}]`)
  5081.                                                        t.on('select2:selecting', function (e) {
  5082.                                                            const data = e.params.args.data
  5083.                                                            target.val(data.text)
  5084.                                                        });
  5085.                                                    })
  5086.                                                })
  5087.                                            </script>
  5088.  
  5089.                                            <div id="popupCart">
  5090.                                                <div class="container">
  5091.                                                    <div class="wrapperPopupCart">
  5092.                                                        <div class="headerPopupCart">
  5093.                                                            <div class="d-flex pl-5 pr-5 p-4">
  5094.                                                                <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  5095.                                                                    width="16" height="12" viewBox="0 0 16 12"
  5096.                                                                    fill="none">
  5097.                                                                    <path
  5098.                                                                        d="M5.55008 11.3076L0.580078 6.33761L1.29408 5.62461L5.55008 9.88061L14.7061 0.724609L15.4191 1.43861L5.55008 11.3076Z"
  5099.                                                                        fill="black" />
  5100.                                                                </svg>
  5101.                                                                <span>item added to your cart</span>
  5102.                                                            </div>
  5103.                                                            <a class="close-purchase-popup">
  5104.                                                                <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  5105.                                                                    width="18" height="18" viewBox="0 0 18 18"
  5106.                                                                    fill="none">
  5107.                                                                    <path
  5108.                                                                        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"
  5109.                                                                        fill="black" />
  5110.                                                                </svg>
  5111.                                                            </a>
  5112.  
  5113.                                                        </div>
  5114.                                                        <div class="contentPopupCart">
  5115.                                                            <div class="pl-5 pr-5 p-4">
  5116.                                                                <div
  5117.                                                                    class="itemContent row m-0 justify-content-between">
  5118.                                                                    <div class="col-2 align-self-center">
  5119.  
  5120.                                                                        <img class="d-block" width="80"
  5121.                                                                            src="//outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426">
  5122.                                                                    </div>
  5123.                                                                    <div class="col-10 align-self-center">
  5124.                                                                        <div class="row pl-3">
  5125.                                                                            <div class="col-12 col-lg-7">
  5126.                                                                                <span
  5127.                                                                                    class="titleCartPopup text-uppercase">GUATOGEL
  5128.                                                                                    | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor resmi
  5129.                                                                                    Server Luar Terbaru</span>
  5130.                                                                            </div>
  5131.                                                                            <div
  5132.                                                                                class="d-flex justify-content-end col-12 col-lg-5">
  5133.                                                                                <span
  5134.                                                                                    class="deleteCartPopup hide">Delete</span>
  5135.                                                                                <span
  5136.                                                                                    class="lineCartPrice align-self-center">Rp
  5137.                                                                                    10.000</span>
  5138.                                                                            </div>
  5139.                                                                        </div>
  5140.                                                                    </div>
  5141.                                                                </div>
  5142.                                                                <div class="itemProperties">
  5143.  
  5144.                                                                    <div class="propDeliver">
  5145.                                                                        <h4>delivery option detail</h4>
  5146.                                                                        <p>
  5147.                                                                            <span>delivery city</span>
  5148.                                                                            <span
  5149.                                                                                class="propDeliveryCity">jakarta</span>
  5150.                                                                        </p>
  5151.                                                                        <p>
  5152.                                                                            <span>delivery date</span>
  5153.                                                                            <span
  5154.                                                                                class="propDeliveryDate">24/03/2025</span>
  5155.                                                                        </p>
  5156.                                                                        <p>
  5157.                                                                            <span>delivery time</span>
  5158.                                                                            <span class="propDeliveryTime">Afternoon |
  5159.                                                                                13:00 - 18:00</span>
  5160.                                                                        </p>
  5161.                                                                    </div>
  5162.                                                                    <div class="propAddress">
  5163.                                                                        <h4>delivery option detail</h4>
  5164.                                                                        <p>
  5165.                                                                            <span>RECIPIENT NAME</span>
  5166.                                                                            <span class="propDeliveryName">jane
  5167.                                                                                doe</span>
  5168.                                                                        </p>
  5169.                                                                        <p>
  5170.                                                                            <span>delivery address</span>
  5171.                                                                            <span class="propDeliveryAddress">Jl. Gatot
  5172.                                                                                Subroto No. 25, RT.2/RW.4, Kuningan
  5173.                                                                                Barat, Kecamatan Mampang Prapatan, Kota
  5174.                                                                                Jakarta
  5175.                                                                                Selatan, Daerah Khusus Ibukota Jakarta
  5176.                                                                                12710, Indonesia</span>
  5177.                                                                        </p>
  5178.                                                                        <p>
  5179.                                                                            <span>recipient phone number</span>
  5180.                                                                            <span class="propDeliveryPhone">(+62)
  5181.                                                                                812-3456-7890</span>
  5182.                                                                        </p>
  5183.                                                                        <p>
  5184.                                                                            <span>PROVINCE</span>
  5185.                                                                            <span
  5186.                                                                                class="propDeliveryProv">Jakarta</span>
  5187.                                                                        </p>
  5188.                                                                        <p>
  5189.                                                                            <span>postal code</span>
  5190.                                                                            <span class="propDeliveryZip">12710</span>
  5191.                                                                        </p>
  5192.  
  5193.  
  5194.                                                                    </div>
  5195.  
  5196.                                                                </div>
  5197.                                                                <div class="itemAddonCart">
  5198.                                                                    <div
  5199.                                                                        class="toggleAddonCart d-flex justify-content-between">
  5200.                                                                        <h4>add-ons (0)</h4>
  5201.                                                                        <svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  5202.                                                                            width="5" height="9" viewBox="0 0 5 9"
  5203.                                                                            fill="none">
  5204.                                                                            <path
  5205.                                                                                d="M1.0128 0.84668L4.78613 4.62001L1.0128 8.39335L0.546133 7.92001L3.84613 4.62001L0.546133 1.32001L1.0128 0.84668Z"
  5206.                                                                                fill="black" />
  5207.                                                                        </svg>
  5208.                                                                    </div>
  5209.                                                                    <div class="wrapperItemAddonCart"></div>
  5210.                                                                </div>
  5211.  
  5212.                                                            </div>
  5213.                                                        </div>
  5214.                                                        <div class="footerPopupCart">
  5215.                                                            <div class="row m-0 pl-5 pr-5 p-4">
  5216.                                                                <a class="btn btnViewCart w-100 text-uppercase text-center"
  5217.                                                                    href="/cart">View Cart</a>
  5218.                                                                <a class="btn btnViewCheckout w-100 text-uppercase text-center"
  5219.                                                                    href="/checkout"><span>Checkout</span></a>
  5220.                                                                <a class="btnContinueShopping w-100 text-center"
  5221.                                                                    href="/">Continue shopping</a>
  5222.                                                            </div>
  5223.                                                        </div>
  5224.                                                    </div>
  5225.                                                </div>
  5226.                                            </div>
  5227.  
  5228.  
  5229.                                            <script>
  5230.                                                const shareButton = document.getElementById('shareButton');
  5231.  
  5232.                                                shareButton.addEventListener('click', () => {
  5233.                                                    if (navigator.share) {
  5234.                                                        navigator.share({
  5235.                                                            title: "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru",
  5236.                                                            url: "/products/blossom-shine",
  5237.                                                            text: 'Check out this page!'
  5238.                                                        })
  5239.                                                            .then(() => console.log('Successful share'))
  5240.                                                            .catch((error) => console.log('Error sharing', error));
  5241.                                                    } else {
  5242.                                                        alert('Web Share API is not supported in this browser.');
  5243.                                                    }
  5244.                                                });
  5245.  
  5246.                                                // Inventory validation function
  5247.                                                function checkInventoryStatus() {
  5248.                                                    const productSelect = document.getElementById('productSelect');
  5249.                                                    const purchaseButton = document.querySelector('#personalizeBtn button');
  5250.  
  5251.                                                    if (!productSelect || !purchaseButton) return;
  5252.  
  5253.                                                    const selectedVariantId = productSelect.value;
  5254.  
  5255.                                                    // Get variant data from Shopify
  5256.                                                    fetch(`/products/blossom-shine.js`)
  5257.                                                        .then(response => response.json())
  5258.                                                        .then(product => {
  5259.                                                            const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId);
  5260.  
  5261.                                                            if (selectedVariant) {
  5262.                                                                const isOutOfStock = selectedVariant.inventory_quantity <= 0 &&
  5263.                                                                    selectedVariant.inventory_management === 'shopify' &&
  5264.                                                                    selectedVariant.inventory_policy !== 'continue';
  5265.  
  5266.                                                                if (isOutOfStock) {
  5267.                                                                    purchaseButton.disabled = true;
  5268.                                                                    purchaseButton.textContent = 'Out of Stock';
  5269.                                                                    purchaseButton.setAttribute('data-out-of-stock', 'true');
  5270.                                                                    purchaseButton.style.backgroundColor = '#cccccc';
  5271.                                                                    purchaseButton.style.cursor = 'not-allowed';
  5272.                                                                } else {
  5273.                                                                    // Check if button was disabled due to other conditions
  5274.  
  5275.  
  5276.  
  5277.  
  5278.  
  5279.  
  5280.  
  5281.  
  5282.                                                                    const isOtherDisabled = false || true || false;
  5283.  
  5284.                                                                    if (!isOtherDisabled) {
  5285.                                                                        purchaseButton.disabled = false;
  5286.                                                                        purchaseButton.textContent = 'customize your flower board';
  5287.                                                                        purchaseButton.removeAttribute('data-out-of-stock');
  5288.                                                                        purchaseButton.style.backgroundColor = '';
  5289.                                                                        purchaseButton.style.cursor = '';
  5290.                                                                    }
  5291.                                                                }
  5292.                                                            }
  5293.                                                        })
  5294.                                                        .catch(error => {
  5295.                                                            console.error('Error checking inventory:', error);
  5296.                                                        });
  5297.                                                }
  5298.  
  5299.                                                // Check inventory on page load
  5300.                                                document.addEventListener('DOMContentLoaded', function () {
  5301.                                                    checkInventoryStatus();
  5302.  
  5303.                                                    // Listen for variant changes
  5304.                                                    const productSelect = document.getElementById('productSelect');
  5305.                                                    if (productSelect) {
  5306.                                                        productSelect.addEventListener('change', checkInventoryStatus);
  5307.                                                    }
  5308.                                                });
  5309.  
  5310.                                                // Prevent form submission if out of stock
  5311.                                                document.addEventListener('click', function (e) {
  5312.                                                    if (e.target.matches('button[data-out-of-stock="true"]')) {
  5313.                                                        e.preventDefault();
  5314.                                                        e.stopPropagation();
  5315.                                                        alert('This product is currently out of stock and cannot be purchased.');
  5316.                                                        return false;
  5317.                                                    }
  5318.                                                });
  5319.                                            </script>
  5320.  
  5321.  
  5322.  
  5323.                                        </div>
  5324.  
  5325.                                    </div>
  5326.                                </div>
  5327.                            </div>
  5328.                        </div>
  5329.                        <div id="product-bottom">
  5330.  
  5331.                            <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description">
  5332.                                <div class="container">
  5333.  
  5334.  
  5335.  
  5336.  
  5337.  
  5338.                                    <div class="short-desc-mobile d-block d-lg-none mb-3">
  5339.                                        <div class="short-desc">
  5340.                                            <ul>
  5341.                                                <li><strong>GGUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.</strong></li>
  5342.                                        </div>
  5343.                                        <label class="more-mobile">Show More →</label>
  5344.                                    </div>
  5345.  
  5346.                                    <style>
  5347.                                        .animated-title {
  5348.                                            text-align: center;
  5349.                                            font-weight: bold;
  5350.                                            color: #079c02;
  5351.                                            font-size: 28px;
  5352.                                            position: relative;
  5353.                                            animation: glow 2s infinite alternate, moveUpDown 3s infinite;
  5354.                                        }
  5355.  
  5356.                                        /* Efek glow / bercahaya hijau */
  5357.                                        @keyframes glow {
  5358.                                            0% {
  5359.                                                text-shadow: 0 0 5px #079c02;
  5360.                                                color: #079c02;
  5361.                                            }
  5362.  
  5363.                                            50% {
  5364.                                                text-shadow: 0 0 20px #00ff55;
  5365.                                                color: #12d12b;
  5366.                                            }
  5367.  
  5368.                                            100% {
  5369.                                                text-shadow: 0 0 10px #1bff00;
  5370.                                                color: #079c02;
  5371.                                            }
  5372.                                        }
  5373.  
  5374.                                        /* Efek gerakan naik turun */
  5375.                                        @keyframes moveUpDown {
  5376.                                            0% {
  5377.                                                transform: translateY(0px);
  5378.                                            }
  5379.  
  5380.                                            50% {
  5381.                                                transform: translateY(-5px);
  5382.                                            }
  5383.  
  5384.                                            100% {
  5385.                                                transform: translateY(0px);
  5386.                                            }
  5387.                                        }
  5388.                                    </style>
  5389.  
  5390.                                    <script type="text/javascript"
  5391.                                        src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
  5392.                                    <script>
  5393.                                        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 });
  5394.  
  5395.                                        const productType = $("[data-product-type]").data("product-type")
  5396.                                        const productDate = Date.parse(new Date())
  5397.  
  5398.                                        const shop = 'outerbloom1.myshopify.com'
  5399.                                        const host = 'https://app.asmaraku.com'
  5400.                                        // const host = 'http://localhost:5001'
  5401.  
  5402.                                        const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec"
  5403.  
  5404.                                        const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ')
  5405.  
  5406.                                        $("#properties-time").val(new Date().getTime())
  5407.  
  5408.                                        const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent);
  5409.  
  5410.                                        if (!isIOS) {
  5411.                                            $("#full-date").attr("type", "button")
  5412.                                        }
  5413.  
  5414.                                        let dateTime = new Date();
  5415.                                        let today = dateTime.getDate();
  5416.                                        let day = dateTime.getDay();
  5417.                                        let hour = dateTime.getHours();
  5418.                                        let min = dateTime.getMinutes();
  5419.                                        let timeOfDay = hour + (min / 100);
  5420.  
  5421.                                        async function getFetch(url) {
  5422.                                            const response = await fetch(url);
  5423.                                            let status = false
  5424.                                            let result
  5425.                                            if (response.ok) {
  5426.                                                status = true
  5427.                                                result = await response.json();
  5428.                                            }
  5429.                                            return {
  5430.                                                status,
  5431.                                                data: result
  5432.                                            }
  5433.                                        }
  5434.  
  5435.  
  5436.  
  5437.                                        function setCookie(cname, cvalue, exMins) {
  5438.                                            var d = new Date();
  5439.                                            d.setTime(d.getTime() + (exMins * 60 * 1000));
  5440.                                            var expires = "expires=" + d.toUTCString();
  5441.                                            document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
  5442.                                        }
  5443.  
  5444.                                        function getCookie(cname) {
  5445.                                            let name = cname + "=";
  5446.                                            let decodedCookie = decodeURIComponent(document.cookie);
  5447.                                            let ca = decodedCookie.split(';');
  5448.                                            for (let i = 0; i < ca.length; i++) {
  5449.                                                let c = ca[i];
  5450.                                                while (c.charAt(0) == ' ') {
  5451.                                                    c = c.substring(1);
  5452.                                                }
  5453.                                                if (c.indexOf(name) == 0) {
  5454.                                                    return c.substring(name.length, c.length);
  5455.                                                }
  5456.                                            }
  5457.                                            return "";
  5458.                                        }
  5459.  
  5460.                                        async function renderDate() {
  5461.                                            let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8144957800663&v=${Date.now()}`);
  5462.                                            console.log(dataDate, 'renderDate')
  5463.                                            const data = dataDate?.data
  5464.                                            const date = data.date
  5465.                                            const time = data.time
  5466.  
  5467.                                            console.log(date, 'DATE')
  5468.  
  5469.                                            const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
  5470.                                            const monthly = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
  5471.                                            const htmlDate = []
  5472.                                            for (let i = 0; i < date.length; i++) {
  5473.                                                const full = date[i].date
  5474.                                                const d = new Date(date[i].date);
  5475.                                                const day = weekday[d.getDay()];
  5476.                                                const dt = d.getDate();
  5477.                                                const mt = monthly[d.getMonth()];
  5478.                                                const yr = d.getFullYear();
  5479.                                                const isDate = Boolean(date[i].isEnabled)
  5480.                                                const cutoffpagi = date[i].cutoff?.pagi
  5481.                                                const cutoffsiang = date[i].cutoff?.siang
  5482.                                                const cutoffMalam = date[i].cutoff?.Malam
  5483.                                                var html = `
  5484.         <button data-id="8144957800663" class="date-single calendarbutton btn steps-btn col col-3 btn-date-time" data-day="${day}" data-fulldate="${full}" data-date="${dt < 10 ? '0' + dt : dt}" data-month="${mt}" data-year="${yr}" data-offpagi="${cutoffpagi}" data-offsiang="${cutoffsiang}" data-offMalam="${cutoffMalam}" ${isDate === true ? '' : 'disabled'}>
  5485.           ${dt === today ?
  5486.                                                        `Today<span>${dt < 10 ? '0' + dt : dt}</span>` :
  5487.                                                        `${day}<span>${dt < 10 ? '0' + dt : dt}</span>`
  5488.                                                    }
  5489.         </button>
  5490.       `
  5491.                                                htmlDate.push(html)
  5492.                                            }
  5493.                                            const htmlTime = []
  5494.                                            for (var i = 0; i < time.length; i++) {
  5495.                                                const timeText = time[i].text
  5496.                                                const timeTime = time[i].time
  5497.                                                const timeEnabled = time[i].isEnabled
  5498.                                                var html = `
  5499.           <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button>
  5500.         `
  5501.                                                htmlTime.push(html)
  5502.                                            }
  5503.                                            const deliveryDate = document.getElementById("deliveryDate");
  5504.                                            if (deliveryDate) {
  5505.                                                deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join(''))
  5506.                                                $("#deliveryTime").html(htmlTime)
  5507.                                                if (productType !== '') {
  5508.                                                    console.log("clarity event " + productType + ' calendaring')
  5509.                                                    window.clarity("event", `${productType} calendaringSchedule`)
  5510.                                                    // window.clarity("set", productType, `calendaringSchedule - ${productDate}`)
  5511.                                                }
  5512.                                            }
  5513.                                        }
  5514.  
  5515.                                        async function getProvince(city) {
  5516.                                            let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`);
  5517.                                            console.log(province, 'province')
  5518.                                            $("#province").val(province)
  5519.                                        }
  5520.  
  5521.                                        async function renderAddress() {
  5522.                                            let current
  5523.                                            if (getCookie("location_delivery")) {
  5524.                                                current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1)
  5525.                                            }
  5526.                                            let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8144957800663`);
  5527.                                            console.log(address)
  5528.                                            const data = address?.data?.city
  5529.                                            const htmlAddress = []
  5530.                                            const grouping = []
  5531.                                            for (let i = 0; i < data?.length; i++) {
  5532.                                                if (data[i]) {
  5533.                                                    if (data[i]?.group) {
  5534.                                                        grouping.push(data[i].group)
  5535.                                                    }
  5536.                                                    const price = rupiah.format(data[i]?.rate)
  5537.                                                    let promo = '(Promo Free Delivery)'
  5538.                                                    if (data[i]?.name === 'Jakarta - PickUp ASHTA') {
  5539.                                                        promo = '(at SCBD, Ashta)'
  5540.                                                    } else if (data[i]?.name === 'Jakarta - PickUp ITC') {
  5541.                                                        promo = '(at Kuningan, ITC Kuningan)'
  5542.                                                    } else if (data[i]?.name === 'BSD - PickUp') {
  5543.                                                        promo = '(at Goldfinch Gading Serpong)'
  5544.                                                    } else if (data[i]?.name === 'Kota Lainnya') {
  5545.                                                        promo = ''
  5546.                                                    }
  5547.                                                    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>`)
  5548.                                                }
  5549.                                            }
  5550.  
  5551.                                            const deliveryCity = document.getElementById("cities");
  5552.                                            if (deliveryCity) {
  5553.                                                deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join(''))
  5554.                                                if (!isIOS) {
  5555.                                                    $(deliveryCity).select2();
  5556.                                                }
  5557.                                            }
  5558.                                        }
  5559.  
  5560.                                        async function renderZip(v, v2, v3) {
  5561.                                            const deliveryZip = document.getElementById("zip");
  5562.                                            if (v === '') {
  5563.                                                return
  5564.                                            }
  5565.                                            let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`);
  5566.                                            let zip = dataZip?.data?.zip
  5567.                                            console.log(zip)
  5568.                                            let htmlZip = []
  5569.                                            for (let i = 0; i < zip?.length; i++) {
  5570.                                                htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`)
  5571.                                            }
  5572.                                            deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join(''))
  5573.                                        }
  5574.  
  5575.                                        renderDate()
  5576.                                        renderAddress()
  5577.  
  5578.                                        let rupiah = new Intl.NumberFormat('id-ID', {
  5579.                                            style: 'currency',
  5580.                                            currency: 'IDR',
  5581.                                            maximumFractionDigits: 0,
  5582.                                            minimumFractionDigits: 0
  5583.                                        });
  5584.  
  5585.                                        async function insertCard(data) {
  5586.                                            const response = await fetch(`${host}/api/card/new`, {
  5587.                                                method: "POST",
  5588.                                                headers: {
  5589.                                                    'Content-Type': 'application/json',
  5590.                                                },
  5591.                                                body: data
  5592.                                            })
  5593.                                            const result = await response.json()
  5594.                                            let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1]
  5595.                                            $("#greetingCard").attr("data-index", rowIndex)
  5596.                                            return result
  5597.                                        }
  5598.  
  5599.                                        async function updateCard(data) {
  5600.                                            const rowIndex = $("#greetingCard").data("index")
  5601.                                            const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, {
  5602.                                                method: "PUT",
  5603.                                                headers: {
  5604.                                                    'Content-Type': 'application/json',
  5605.                                                },
  5606.                                                body: data
  5607.                                            })
  5608.                                            return response
  5609.                                        }
  5610.  
  5611.                                        function bytesToSize(bytes) {
  5612.                                            var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p'];
  5613.                                            for (var i = 0; i < sizes.length; i++) {
  5614.                                                if (bytes <= 1024) {
  5615.                                                    return bytes + ' ' + sizes[i];
  5616.                                                } else {
  5617.                                                    bytes = parseFloat(bytes / 1024).toFixed(2)
  5618.                                                }
  5619.                                            }
  5620.                                            return bytes + ' P';
  5621.                                        }
  5622.  
  5623.                                        async function uploadMedia(uri, type) {
  5624.                                            nameq = $("#properties-nama-penerima").val()
  5625.                                            dear = $("#properties-kartu-nama-penerima").val()
  5626.                                            card = $("[data-properties=ucapan]").val()
  5627.                                            sender = $("#properties-kartu-nama-pengirim").val()
  5628.                                            photo = $("#properties-photo").val()
  5629.                                            video = $("#properties-video").val()
  5630.                                            status = "Product"
  5631.  
  5632.                                            const name = qrID
  5633.                                            let formData = new FormData();
  5634.                                            formData.append("file", uri);
  5635.                                            const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
  5636.                                                method: "POST",
  5637.                                                body: formData
  5638.                                            })
  5639.                                            const result = await response.json();
  5640.                                            if (result) {
  5641.                                                const url = result.url
  5642.                                                if (type === 'image/jpeg') {
  5643.                                                    $("#properties-photo").val(url)
  5644.                                                    $(".preview-image").show()
  5645.                                                    $(".remove-image").show()
  5646.                                                    photo = url
  5647.                                                } else {
  5648.                                                    $("#properties-video").val(url)
  5649.                                                    $("#label-input-video span").text("Change File")
  5650.                                                    $(".case-qrcode-preview p").text("Scan here for a secret message")
  5651.                                                    $(".remove-media").show()
  5652.                                                    $("#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>`)
  5653.                                                    $("[for=input-video]").hide()
  5654.                                                    video = url
  5655.                                                }
  5656.                                                $(".case-video-preview").show()
  5657.                                                $(".steps-card-preview").removeClass("loading")
  5658.                                                // updateCard(nameq, dear, card, sender, photo, video, status)
  5659.  
  5660.                                                $(".nextBtn").attr("disabled", false)
  5661.                                            }
  5662.                                        }
  5663.  
  5664.                                        function randomString(length, chars) {
  5665.                                            var result = '';
  5666.                                            for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
  5667.                                            return result;
  5668.                                        }
  5669.  
  5670.                                        function getNoteCity(fulldate) {
  5671.                                            const h_1 = new Date(new Date().setDate(new Date().getDate() + 1))
  5672.                                            const weekday = ["Min", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"];
  5673.                                            const monthly = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
  5674.                                            const d = new Date(h_1);
  5675.                                            const day = weekday[d.getDay()];
  5676.                                            const dt = d.getDate();
  5677.                                            const mt = monthly[d.getMonth()];
  5678.                                            const yr = d.getFullYear();
  5679.                                            const p = $("#cities").parent(".form-group")
  5680.                                        }
  5681.  
  5682.                                        function disabledSameDay() {
  5683.                                            let btnFirst = $("#deliveryDate").find("button:first-child")
  5684.                                            let getDay = new Date().getDay();
  5685.  
  5686.  
  5687.  
  5688.                                            if (getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5) {
  5689.                                                if (hour >= 14.00) {
  5690.                                                    btnFirst.attr("disabled", true)
  5691.                                                }
  5692.                                            } else if (getDay == 6) {
  5693.                                                if (hour >= 16.00) {
  5694.                                                    btnFirst.attr("disabled", true)
  5695.                                                }
  5696.                                            } else if (getDay == 0) {
  5697.                                                if (hour >= 16.00) {
  5698.                                                    btnFirst.attr("disabled", true)
  5699.                                                }
  5700.                                            }
  5701.  
  5702.  
  5703.                                        }
  5704.  
  5705.                                        function disabledays(date) {
  5706.                                            let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
  5707.                                            //if u have to disable a list of day
  5708.                                            let removeDays
  5709.  
  5710.  
  5711.  
  5712.                                            removeDays = ["2025-2-13", "2025-2-14"];
  5713.  
  5714.                                            if ($.inArray(ymd, removeDays) >= 0) {
  5715.                                                return [false];
  5716.                                            } else {
  5717.                                                let day = date.getDay();
  5718.                                                if (day == 0 && date.getDate() == 13 && date.getMonth() == 1) {
  5719.                                                    return [(day == 0), ''];
  5720.                                                }
  5721.  
  5722.                                                if (day == 0) {
  5723.                                                    return [(day == 0), ''];
  5724.                                                }
  5725.  
  5726.  
  5727.                                                return [(day != 0), ''];
  5728.                                            }
  5729.                                        }
  5730.  
  5731.                                        /* Indonesian initialisation for the jQuery UI date picker plugin. */
  5732.                                        /* Written by Deden Fathurahman (dedenf@gmail.com). */
  5733.                                        (function (factory) {
  5734.                                            if (typeof define === "function" && define.amd) {
  5735.  
  5736.                                                // AMD. Register as an anonymous module.
  5737.                                                define(["../widgets/datepicker"], factory);
  5738.                                            } else {
  5739.  
  5740.                                                // Browser globals
  5741.                                                factory(jQuery.datepicker);
  5742.                                            }
  5743.                                        }(function (datepicker) {
  5744.  
  5745.                                            datepicker.regional.id = {
  5746.                                                closeText: "Tutup",
  5747.                                                prevText: "&#x3C;mundur",
  5748.                                                nextText: "maju&#x3E;",
  5749.                                                currentText: "Today",
  5750.                                                monthNames: ["January", "February", "March", "April", "May", "Juny",
  5751.                                                    "July", "August", "September", "October", "November", "December"],
  5752.                                                monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun",
  5753.                                                    "Jul", "Agu", "Sep", "Oct", "Nov", "Dec"],
  5754.                                                dayNames: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"],
  5755.                                                dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  5756.                                                dayNamesMin: ["Mg", "Sn", "Sl", "Rb", "Km", "jm", "Sb"],
  5757.                                                weekHeader: "Mg",
  5758.                                                dateFormat: "D, dd M",
  5759.                                                firstDay: 0,
  5760.                                                isRTL: false,
  5761.                                                showMonthAfterYear: false,
  5762.                                                yearSuffix: ""
  5763.                                            };
  5764.                                            datepicker.setDefaults(datepicker.regional.id);
  5765.  
  5766.                                            return datepicker.regional.id;
  5767.  
  5768.                                        }));
  5769.  
  5770.                                        function loadPopup() {
  5771.                                            $("#backgroundPopup").fadeIn("slow");
  5772.                                            $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow");
  5773.                                            const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first()
  5774.                                            if (firstSection.hasClass("purchasePersonalize")) {
  5775.                                                if (productType !== '') {
  5776.                                                    console.log("clarity event " + productType + ' personalize')
  5777.                                                    window.clarity("event", `${productType} cardPersonalization`)
  5778.                                                    // window.clarity("set", productType, `cardPersonalization - ${productDate}`)
  5779.                                                }
  5780.                                            } else if (firstSection.hasClass("sectionPurchaseBoard")) {
  5781.                                                console.log("clarity event " + productType + ' personalizeBoard')
  5782.                                                window.clarity("event", `${productType} personalizeBoard`)
  5783.                                                // window.clarity("set", productType, `personalizeBoard - ${productDate}`)
  5784.                                            }
  5785.                                            firstSection.removeClass("hide")
  5786.  
  5787.                                            // Auto-trigger addon loading when addon section becomes visible
  5788.                                            setTimeout(function () {
  5789.                                                const addonSection = $(".purchaseAddon")
  5790.                                                if (addonSection.length > 0 && !addonSection.hasClass("hide")) {
  5791.                                                    if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
  5792.                                                        $("[data-addon=upsell-all]").trigger("click")
  5793.                                                    }
  5794.                                                }
  5795.                                            }, 200)
  5796.                                        }
  5797.  
  5798.                                        function disablePopup() {
  5799.                                            $("#backgroundPopup").fadeOut("slow");
  5800.                                            $(".purchasePopup").fadeOut("slow");
  5801.                                            $("#popupCart").fadeOut("slow");
  5802.                                        }
  5803.  
  5804.                                        function scrollTo(parent, div, dur) {
  5805.                                            $(parent).animate({
  5806.                                                scrollTop: $(div).offset().top
  5807.                                            }, dur);
  5808.                                        }
  5809.  
  5810.                                        function loadPopupPersonalize() {
  5811.                                            const div = "#purchaseProduct"
  5812.                                            const p = "html, body, .product-meta"
  5813.                                            $("p.error").remove()
  5814.                                            loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all")
  5815.                                            const isCity = $("#cities[required]")
  5816.                                            const isDate = $("#propDeliveryDate[required]")
  5817.                                            const isTime = $("#propDeliveryTime[required]")
  5818.                                            // loadPopup()
  5819.                                            if (isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') {
  5820.                                                loadPopup()
  5821.                                            }
  5822.                                            if (isCity.val() == '') {
  5823.                                                isCity.parent(".row").append("<p class='error'>Choose delivery city</p>")
  5824.                                                scrollTo(p, div, 500)
  5825.                                            }
  5826.                                            if (isDate.val() == '') {
  5827.                                                isDate.parents(".row").append("<p class='error'>Choose delivery date</p>")
  5828.                                                scrollTo(p, div, 500)
  5829.                                            }
  5830.                                            if (isTime.val() == '') {
  5831.                                                isTime.parents(".row").append("<p class='error'>Choose delivery time</p>")
  5832.                                                scrollTo(p, div, 500)
  5833.                                            }
  5834.                                        }
  5835.  
  5836.                                        function quantityCounter() {
  5837.                                            $(document).on("click", ".item-card.selected .q_up", function () {
  5838.                                                var C = $(this).attr("data-id"),
  5839.                                                    S =
  5840.                                                        parseInt(
  5841.                                                            $(this)
  5842.                                                                .siblings(".quantity-cart-" + C)
  5843.                                                                .val()
  5844.                                                        ) + 1;
  5845.                                                $(this).attr("data-quantity", S),
  5846.                                                    $(this)
  5847.                                                        .siblings(".quantity-cart-" + C)
  5848.                                                        .val(S);
  5849.                                            }),
  5850.                                                $(document).on("click", ".item-card.selected .q_down", function () {
  5851.                                                    var C = $(this).attr("data-id"),
  5852.                                                        S = parseInt(
  5853.                                                            $(this)
  5854.                                                                .siblings(".quantity-cart-" + C)
  5855.                                                                .val()
  5856.                                                        );
  5857.                                                    0 < S && $(this).attr("data-quantity", S - 1),
  5858.                                                        0 < S &&
  5859.                                                        $(this)
  5860.                                                            .siblings(".quantity-cart-" + C)
  5861.                                                            .val(S - 1);
  5862.                                                });
  5863.                                        }
  5864.  
  5865.                                        quantityCounter()
  5866.  
  5867.                                        const itemAddon = $(".item-card").length
  5868.                                        const nofree = $(".nofree").length
  5869.  
  5870.                                        const upsell = ''
  5871.  
  5872.                                        if (nofree === itemAddon) {
  5873.                                            // $("#itemAddons").html("<p>No Items available</p>")
  5874.                                        }
  5875.  
  5876.                                        $("#itemAddons .item-card").each(function (e) {
  5877.                                            $("#itemAddons").attr("data-length", e)
  5878.                                        })
  5879.  
  5880.                                        $("[data-addon]").click(function () {
  5881.  
  5882.  
  5883.  
  5884.                                            const t = $(this)
  5885.  
  5886.                                            const data = t.data("addon")
  5887.  
  5888.                                            $("[data-addon]").removeClass("selected")
  5889.                                            t.addClass("selected")
  5890.                                            $.get(`https://outerbloom.com/collections/${data}/products.json`, function (data, status) {
  5891.                                                const products = data.products
  5892.                                                const html = []
  5893.                                                for (let i = 0; i < products.length; i++) {
  5894.                                                    const id = products[i].id
  5895.                                                    const variantId = products[i].variants[0].id
  5896.                                                    const img = products[i].images[0].src
  5897.                                                    let img2 = img.split('.jpg')[0]
  5898.                                                    const title = products[i].title
  5899.                                                    const price = products[i].variants[0].price
  5900.                                                    const tags = products[i].tags
  5901.                                                    const qty = products[i].variants[0].available
  5902.                                                    let type_upsell = ''
  5903.                                                    if (tags.includes('upsell-item-standing')) {
  5904.                                                        type_upsell = 'standing'
  5905.                                                    }
  5906.                                                    console.log(type_upsell)
  5907.                                                    if (type_upsell !== '') {
  5908.                                                        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}">
  5909.  
  5910.                           <div class="card-image">
  5911.                               <img src="${img2}_150x.jpg" alt="${title}" width="" height="" />
  5912.                           </div>
  5913.                           <div class="card-meta">
  5914.                               <h5>${title}</h5>
  5915.                               <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
  5916.                               <input id="card-${variantId}" type="hidden" name="" value="${variantId}">
  5917.                           </div>
  5918.                           <div class="card-qty">
  5919.                               <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a>
  5920.                               <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}" value="0" data-price=${price} name="quantity">
  5921.                               <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="12" height="13" viewBox="0 0 12 13" fill="none">
  5922. <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/>
  5923. </svg></a>
  5924.                           </div>
  5925.                       </div>`
  5926.                                                        html.push(body)
  5927.                                                    }
  5928.                                                }
  5929.                                                $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html)
  5930.                                                $("#itemAddons").attr("data-length", products.length)
  5931.                                                // $('#itemAddons')[0].swiper.update();
  5932.                                            });
  5933.                                        })
  5934.  
  5935.                                        async function isAddon() {
  5936.                                            let ids = []
  5937.                                            $("#itemAddons .item-card.selected").each(function (i, e) {
  5938.                                                const id = $(this).data("id")
  5939.                                                ids.push(id)
  5940.                                            })
  5941.                                            console.log(ids)
  5942.                                            return ids
  5943.                                        }
  5944.  
  5945.                                        $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function () {
  5946.                                            const t = $(this).parent()
  5947.                                            const id = t.data("id")
  5948.                                            const btn = t.parents(".purchaseAddon").find(".next-purchase-button")
  5949.                                            t.toggleClass("selected");
  5950.                                            //$(this).next("input").toggleAttr('name', 'id[]');
  5951.                                            if (t.hasClass('selected')) {
  5952.                                                t.find("input").val(1)
  5953.                                                t.find("input").attr('name', 'id[]');
  5954.                                            } else {
  5955.                                                t.find("input").val(0)
  5956.                                                t.find("input").removeAttr('name');
  5957.                                            }
  5958.                                            $("#properties-addons").val(addons)
  5959.                                            const is = await isAddon()
  5960.                                            if (is.length === 0) {
  5961.                                                btn.text("continue without add-ons")
  5962.                                                return
  5963.                                            }
  5964.                                            if (is.includes(8835692069079)) {
  5965.                                                btn.text("personalize acrylic frame")
  5966.                                            } else {
  5967.                                                btn.text("Continue")
  5968.                                            }
  5969.  
  5970.                                        })
  5971.  
  5972.                                        async function myAddon(data) {
  5973.                                            const c = $(".addonsPurchase .addons")
  5974.                                            let items = []
  5975.  
  5976.                                            const spotifyAddons = $(".spotifyAddons").find("[data-index]")
  5977.                                            // if(spotifyAddons.length > 0) {
  5978.                                            //   $(spotifyAddons).each(function(i, e){
  5979.                                            //     const spotifyLink = $(this).find(".spotifyLink").val()
  5980.                                            //     const spotifySong = $(this).find(".spotifySong").val()
  5981.                                            //     const spotifyArtist = $(this).find(".spotifyArtist").val()
  5982.                                            //     const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val()
  5983.                                            //     if(spotifyLink !== '') {
  5984.                                            //       spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1">
  5985.                                            //         <div class="addon-itm-img">
  5986.                                            //           <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"/>
  5987.                                            //         </div>
  5988.                                            //         <div class="addon-itm-title">
  5989.                                            //           <span>[US] Outerbloom Acrylic Frame 4R</span>
  5990.                                            //         </div>
  5991.                                            //         <div class="addon-itm-line-total">
  5992.                                            //           <span>Rp 99.000</span>
  5993.                                            //         </div>
  5994.                                            //       </div>
  5995.                                            //       <div class="propsAddonSpotify row m-0">
  5996.                                            //         <div class="col-12 col-lg-2"></div>
  5997.                                            //           <div class="col-12 col-lg-10">
  5998.                                            //             <p>
  5999.                                            //               <span>spotify link</span>
  6000.                                            //               <span class="spotifyLinkAddon">${spotifyLink}</span>
  6001.                                            //             </p>
  6002.                                            //             <p>
  6003.                                            //               <span>uploaded photo</span>
  6004.                                            //               <span class="spotifyFotoAddon">${spotifyFotoAddon}</span>
  6005.                                            //             </p>
  6006.                                            //             <p>
  6007.                                            //               <span>song / playlist name</span>
  6008.                                            //               <span class="spotifySongAddon">${spotifySong}</span>
  6009.                                            //             </p>
  6010.                                            //             <p>
  6011.                                            //               <span>artist name</span>
  6012.                                            //               <span class="spotifyArtistAddon">${spotifyArtist}</span>
  6013.                                            //             </p>
  6014.                                            //           </div>
  6015.                                            //       </div>`
  6016.                                            //       items.push(spotifyAddon)
  6017.                                            //     }
  6018.                                            //   })
  6019.                                            // }
  6020.                                            for (let i = 0; i < data.length; i++) {
  6021.                                                if (data[i].title !== '[US] Outerbloom Acrylic Frame 4R') {
  6022.                                                    const img = data[i].image
  6023.                                                    const title = data[i].title
  6024.                                                    const qty = data[i].qty
  6025.                                                    const price = data[i].price
  6026.                                                    const total = Number(qty) * Number(price)
  6027.                                                    let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}">
  6028.               <div class="addon-itm-img">
  6029.                 <img src="${img}" alt="" width="70"/>
  6030.               </div>
  6031.               <div class="addon-itm-title">
  6032.                 <span>${title}</span>
  6033.               </div>
  6034.               <div class="addon-itm-line-price">
  6035.                 <span>${rupiah.format(price)}</span>
  6036.                 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`}
  6037.               </div>
  6038.               <div class="addon-itm-line-total">
  6039.                 <span>${rupiah.format(total)}</span>
  6040.               </div>
  6041.             </div>`
  6042.                                                    items.push(addons)
  6043.                                                }
  6044.                                            }
  6045.                                            c.html(items)
  6046.                                            const parent = $(".purchaseAddon")
  6047.                                            const next = parent.next(".sectionPurchase")
  6048.                                            parent.addClass("hide")
  6049.                                            next.removeClass("hide")
  6050.                                            // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart")
  6051.                                            // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`)
  6052.                                        }
  6053.  
  6054.                                        async function listAddon() {
  6055.                                            const data = $("#itemAddons").find(".selected")
  6056.                                            let ids = []
  6057.                                            $(data).each(function () {
  6058.                                                const id = $(this).data("variant")
  6059.                                                const image = $(this).find(".card-image img").attr("src")
  6060.                                                const title = $(this).find(".card-meta h5").text()
  6061.                                                const qty = $(this).find(".card-qty input").val()
  6062.                                                const price = $(this).find(".card-qty input").data("price")
  6063.                                                ids.push({
  6064.                                                    id: Number(id),
  6065.                                                    image,
  6066.                                                    title,
  6067.                                                    qty,
  6068.                                                    price
  6069.                                                })
  6070.                                            })
  6071.                                            myAddon(ids)
  6072.                                        }
  6073.  
  6074.                                        async function customSpotify(idx, length, type) {
  6075.                                            let isCard = false
  6076.  
  6077.                                            let p = $(".purchasePopupSpotify")
  6078.                                            const preLink = $(".spotifyLinkFirst").val()
  6079.                                            $("[data-index]").hide()
  6080.                                            p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`)
  6081.                                            p.find(".regulerAddons, .purchase-button").hide()
  6082.                                            p.find(".spotifyAddons").show()
  6083.  
  6084.                                            const data = await trackUrl(preLink)
  6085.  
  6086.                                            const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="13" height="11" viewBox="0 0 13 11" fill="none">
  6087. <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"/>
  6088. </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="13" height="11" viewBox="0 0 13 11" fill="none">
  6089. <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"/>
  6090. </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>`
  6091.                                            // console.log(html)
  6092.  
  6093.                                            $(".spotifyAddons").append(html)
  6094.  
  6095.                                            $(`[data-index=${idx}]`).show()
  6096.  
  6097.                                            if (preLink !== '') {
  6098.                                                $(".btn-action .btn").attr("disabled", false)
  6099.                                            } else {
  6100.                                                $(".btn-action .btn").attr("disabled", true)
  6101.                                            }
  6102.  
  6103.                                            return html
  6104.  
  6105.                                        }
  6106.  
  6107.                                        $(".spotifyLinkFirst").keyup(async function () {
  6108.                                            const v = $(this).val()
  6109.                                            if (v.includes('spotify:user:spotify')) {
  6110.                                                const correct = v.split('user:spotify:')[1]
  6111.                                                console.log(correct, 'BNER')
  6112.                                                $(this).val(correct)
  6113.                                                return
  6114.                                            }
  6115.                                            if (v.includes("spotify:") || v.includes("https://open.spotify.com/")) {
  6116.                                                const data = await trackUrl(v)
  6117.                                                if (!data || !data.status) {
  6118.                                                    $(this).parent().addClass("error")
  6119.                                                    // $(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>`)
  6120.                                                    $("#personalizeBtnSpotify .btn").attr("disabled", true)
  6121.                                                    return
  6122.                                                }
  6123.                                                $(this).parent().removeClass("error")
  6124.                                                // $(this).parent().remove("txt-error")
  6125.                                                $("#personalizeBtnSpotify .btn").attr("disabled", false)
  6126.                                            } else {
  6127.                                                $("#personalizeBtnSpotify .btn").attr("disabled", true)
  6128.                                            }
  6129.                                        })
  6130.  
  6131.                                        $(".purchaseAddon").delegate(".next-addon", "click", function () {
  6132.                                            const parent = $(this).parents(".purchaseAddon")
  6133.                                            const next = parent.next(".sectionPurchase")
  6134.                                            if (next.hasClass("purchaseAddress")) {
  6135.                                                if (productType !== '') {
  6136.                                                    console.log("clarity event " + productType + ' purchaseDelivery')
  6137.                                                    window.clarity("event", `${productType} purchaseDelivery`)
  6138.                                                    // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
  6139.                                                }
  6140.                                            }
  6141.                                            const data = $("#itemAddons").find(".selected")
  6142.                                            const length = $(".quantity-cart-46067682607319").val()
  6143.                                            const checked = data.length;
  6144.                                            if (checked > 0) {
  6145.                                                if (length > 0) {
  6146.                                                    $(".purchaseAddon").addClass("purchaseAddonSpotify")
  6147.                                                    customSpotify(1, length, 'addon')
  6148.                                                } else {
  6149.                                                    listAddon()
  6150.                                                }
  6151.                                            } else {
  6152.                                                parent.addClass("hide")
  6153.                                                next.removeClass("hide")
  6154.                                            }
  6155.                                        })
  6156.  
  6157.                                        $("#personalizeBtnSpotify .btn").click(async function () {
  6158.                                            const isCity = $("#cities[required]")
  6159.                                            const isDate = $("#propDeliveryDate[required]")
  6160.                                            if ((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) {
  6161.                                                alert('Please choose Delivery City & Delivery Date')
  6162.                                                return
  6163.                                            }
  6164.                                            const data = await customSpotify(1, 1, 'product')
  6165.                                            if (data) {
  6166.                                                $("#backgroundPopup").fadeIn("slow");
  6167.                                                $(".purchasePopupSpotify").fadeIn("slow");
  6168.  
  6169.                                                if (productType !== '') {
  6170.                                                    console.log("clarity event " + productType + ' spotify')
  6171.                                                    window.clarity("event", `${productType} spotify`)
  6172.                                                    // window.clarity("set", productType, `purchaseDelivery - ${productDate}`)
  6173.                                                }
  6174.                                            }
  6175.                                        })
  6176.  
  6177.                                        function formatBytes(bytes, decimals = 2) {
  6178.                                            if (!+bytes) return '0 Bytes'
  6179.  
  6180.                                            const k = 1024
  6181.                                            const dm = decimals < 0 ? 0 : decimals
  6182.                                            const sizes = ['B', 'KB', 'MB']
  6183.  
  6184.                                            const i = Math.floor(Math.log(bytes) / Math.log(k))
  6185.  
  6186.                                            return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`
  6187.                                        }
  6188.  
  6189.                                        async function trackUrl(link) {
  6190.                                            try {
  6191.                                                let trackId = link.split('/').pop().split('?')[0];
  6192.                                                let type = ''
  6193.                                                if (link.includes("spotify:")) {
  6194.                                                    const uri = link.split('spotify:')[1]
  6195.                                                    trackId = uri.split(':')[1]
  6196.                                                    type = uri.split(':')[0] + 's'
  6197.                                                } else {
  6198.                                                    if (link.match('track')) {
  6199.                                                        type = 'tracks'
  6200.                                                    } else if (link.match('playlist')) {
  6201.                                                        type = 'playlists'
  6202.                                                    } else if (link.match('artist')) {
  6203.                                                        type = 'artists'
  6204.                                                    } else if (link.match('album')) {
  6205.                                                        type = 'albums'
  6206.                                                    }
  6207.                                                }
  6208.                                                console.log(`${host}/api/spotify/${type}/${trackId}`)
  6209.                                                const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`)
  6210.                                                console.log(data, 'DATA')
  6211.                                                const song = data?.data?.name
  6212.                                                const artist = data?.data?.artist
  6213.                                                return {
  6214.                                                    song, artist, type, trackId, status: data.status
  6215.                                                }
  6216.                                            } catch (err) {
  6217.                                                console.log(err)
  6218.                                            }
  6219.                                        }
  6220.  
  6221.                                        $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function () {
  6222.                                            const parent = $(this).parents("[data-index]")
  6223.                                            const preview = parent.find(".previewImage")
  6224.                                            const file = $(this)[0].files[0];
  6225.                                            if (file) {
  6226.                                                const reader = new FileReader();
  6227.                                                reader.onload = async function (e) {
  6228.                                                    parent.find(".uploadResult label").hide()
  6229.                                                    parent.find(".uploadedResult").remove()
  6230.                                                    parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between">
  6231.           <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>
  6232.           <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;"><svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  6233.   <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 />
  6234. </svg>
  6235. </span></div></div>`)
  6236.                                                    parent.find(".frameImageUploaded svg").hide()
  6237.                                                    parent.find(".frameImage").addClass("uploaded")
  6238.                                                    preview.attr("src", e.target.result);
  6239.                                                    preview.show();
  6240.                                                    let formData = new FormData();
  6241.                                                    formData.append("file", file);
  6242.                                                    const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, {
  6243.                                                        method: "POST",
  6244.                                                        body: formData
  6245.                                                    })
  6246.                                                    const result = await response.json();
  6247.                                                    if (result) {
  6248.                                                        parent.find(".resultPhotoSpotify").val(result.url)
  6249.                                                    }
  6250.                                                }
  6251.  
  6252.                                                reader.readAsDataURL(file);
  6253.                                            } else {
  6254.                                                preview.hide();
  6255.                                            }
  6256.                                        });
  6257.  
  6258.                                        $(".spotifyAddons").delegate(".uploadResult", "click", function () {
  6259.                                            $(this).next("input[type=file]").trigger("click")
  6260.                                        })
  6261.  
  6262.                                        $(".spotifyAddons").delegate(".changeUpload", "click", function () {
  6263.                                            $(this).parents("input[type=file]").trigger("click")
  6264.                                        })
  6265.  
  6266.                                        $(".spotifyAddons").delegate(".removeUpload", "click", function () {
  6267.                                            const parent = $(this).parents("[data-index]")
  6268.                                            parent.find(".uploadPhotoSpotify").val("")
  6269.                                            parent.find(".uploadResult label").show()
  6270.                                            parent.find(".uploadedResult").remove()
  6271.                                            parent.find(".frameImageUploaded svg").show()
  6272.                                            parent.find(".previewImage").hide()
  6273.                                            parent.find(".frameImage").removeClass("uploaded")
  6274.                                        })
  6275.  
  6276.                                        $(".spotifyAddons").delegate("label.checkbox", "click", function () {
  6277.                                            const parent = $(this).parents("[data-index]")
  6278.                                            parent.toggleClass("checked")
  6279.                                        })
  6280.  
  6281.                                        $(".spotifyAddons").delegate(".spotifyLink", "change", async function () {
  6282.                                            const parent = $(this).parents("[data-index]")
  6283.                                            const link = $(this).val()
  6284.                                            const data = await trackUrl(link)
  6285.  
  6286.                                            console.log(data)
  6287.  
  6288.                                            if (data.song) {
  6289.                                                parent.find(".spotifySong").val(data.song)
  6290.                                                parent.find(".spotifyData").find("h3").text(data.song)
  6291.                                            }
  6292.                                            if (data.artist) {
  6293.                                                parent.find(".spotifyArtist").val(data.artist)
  6294.                                                parent.find(".spotifyData").find("p").text(data.artist)
  6295.                                            }
  6296.                                            parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`)
  6297.                                            // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M
  6298.                                            if (data.status === true) {
  6299.                                                parent.find(".btn-action .btn").attr("disabled", false)
  6300.                                            } else {
  6301.                                                parent.find(".btn-action .btn").attr("disabled", true)
  6302.                                            }
  6303.                                        })
  6304.  
  6305.                                        $(".spotifyAddons").delegate(".spotifySong", "keyup", async function () {
  6306.                                            const parent = $(this).parents("[data-index]")
  6307.                                            const v = $(this).val()
  6308.                                            parent.find(".spotifyData h3").text(v)
  6309.                                        })
  6310.  
  6311.                                        $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function () {
  6312.                                            const parent = $(this).parents("[data-index]")
  6313.                                            const v = $(this).val()
  6314.                                            parent.find(".spotifyData p").text(v)
  6315.                                        })
  6316.  
  6317.                                        $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function () {
  6318.                                            const parent = $(this).parents("[data-index]")
  6319.                                            const length = parent.data("length")
  6320.                                            const index = parent.data("index")
  6321.                                            const indexNext = Number(index) + 1
  6322.                                            customSpotify(indexNext, length, 'addon')
  6323.                                        })
  6324.  
  6325.  
  6326.                                        $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function () {
  6327.                                            const parent = $(this).parents(".purchaseAddon")
  6328.                                            const next = parent.next(".sectionPurchase")
  6329.                                            parent.addClass("hide")
  6330.                                            next.removeClass("hide")
  6331.                                            next.find(".purchase-button").show()
  6332.                                            listAddon()
  6333.                                        })
  6334.  
  6335.                                        $(".spotifyAddons").delegate(".back-spotify", "click", async function () {
  6336.                                            const t = $(this).parents("[data-index]")
  6337.                                            const parent = $(this).parents(".sectionPurchase")
  6338.                                            const current = t.data("index")
  6339.                                            const prevCurrent = Number(current) - 1
  6340.                                            if (current == 1) {
  6341.                                                parent.removeClass("purchaseAddonSpotify")
  6342.                                                parent.find(".purchase-button").show()
  6343.                                                parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!")
  6344.                                                $(".spotifyAddons").empty()
  6345.                                                $(".regulerAddons").show()
  6346.                                                return
  6347.                                            }
  6348.                                            t.hide()
  6349.                                            t.prev("[data-index]").show()
  6350.                                            t.remove()
  6351.                                            parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`)
  6352.                                        })
  6353.  
  6354.                                        $("#personalizeBtn .btn").click(async function () {
  6355.                                            loadPopupPersonalize()
  6356.                                        });
  6357.  
  6358.                                        $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function () {
  6359.                                            $(".sectionPurchaseSpotify").hide()
  6360.                                            loadPopupPersonalize()
  6361.                                        })
  6362.  
  6363.                                        $(".close-purchase-popup").click(function () {
  6364.                                            disablePopup();
  6365.                                        });
  6366.                                        $("#backgroundPopup").click(function () {
  6367.                                            // disablePopup();
  6368.                                        });
  6369.  
  6370.                                        $("#popupCart .close-purchase-popup").click(function () {
  6371.                                            location.reload()
  6372.                                        });
  6373.  
  6374.                                        $('#popupCart').on('hide.bs.modal', function (e) {
  6375.                                            location.reload()
  6376.                                        })
  6377.  
  6378.                                        $(".next-card").click(function () {
  6379.                                            const parent = $(this).parents(".sectionPurchase")
  6380.                                            const next = parent.next(".sectionPurchase")
  6381.                                            parent.addClass("hide")
  6382.                                            next.removeClass("hide")
  6383.                                        })
  6384.  
  6385.                                        $(".back-purchase-button").click(function () {
  6386.                                            const parent = $(this).parents(".sectionPurchase")
  6387.                                            const prev = parent.prev(".sectionPurchase")
  6388.                                            parent.addClass("hide")
  6389.                                            prev.removeClass("hide")
  6390.                                        })
  6391.  
  6392.                                        $(document).keypress(function (e) {
  6393.                                            if (e.keyCode == 27 && popupStatus == 1) {
  6394.                                                disablePopup();
  6395.                                            }
  6396.                                        });
  6397.  
  6398.                                        const parentImg = $(".case-img-preview")
  6399.                                        const parentVid = $(".case-video-preview")
  6400.  
  6401.                                        function readURL(input) {
  6402.                                            if (input.files && input.files[0]) {
  6403.                                                let reader = new FileReader();
  6404.  
  6405.                                                let type = 'image/jpeg'
  6406.                                                const size = input.files[0].size
  6407.                                                if (input.files[0].type.match('video/')) {
  6408.                                                    type = 'video/mp4'
  6409.                                                    if (size > 15728640) {
  6410.                                                        alert('File size exceeds maximum limit 15 MB')
  6411.                                                        return
  6412.                                                    }
  6413.                                                } else {
  6414.                                                    if (size > 5242880) {
  6415.                                                        alert('File size exceeds maximum limit 5 MB')
  6416.                                                        return
  6417.                                                    }
  6418.                                                }
  6419.  
  6420.                                                reader.onload = function (e) {
  6421.                                                    $(".nextBtn").attr("disabled", true)
  6422.                                                    if (type === 'image/jpeg') {
  6423.  
  6424.                                                        $('.placeholder-image').hide();
  6425.                                                        $('.preview-image').show()
  6426.                                                        $('.preview-image').attr('src', e.target.result);
  6427.  
  6428.                                                    } else {
  6429.                                                        // parentVid.find(".ajax-loader").show();
  6430.                                                        $(".steps-card-preview").addClass("loading")
  6431.                                                    }
  6432.                                                }
  6433.  
  6434.  
  6435.  
  6436.                                                reader.readAsDataURL(input.files[0]);
  6437.                                            }
  6438.                                        }
  6439.  
  6440.                                        async function readURLPapan(input) {
  6441.                                            if (input.files && input.files[0]) {
  6442.                                                let reader = new FileReader();
  6443.  
  6444.                                                reader.onload = function (e) {
  6445.                                                    $('.btn-upload-papan').siblings('label').hide();
  6446.                                                    $('.btn-upload-papan img').attr('src', e.target.result);
  6447.                                                    $('.btn-upload-papan img').show();
  6448.                                                    $('.svgLogoPapan').hide();
  6449.                                                }
  6450.  
  6451.                                                const type = 'image/jpeg'
  6452.                                                const name = `logo-8144957800663-${Date.parse(new Date())}`
  6453.  
  6454.                                                let formData = new FormData();
  6455.                                                formData.append("file", input.files[0]);
  6456.                                                const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
  6457.                                                    method: "POST",
  6458.                                                    body: formData
  6459.                                                })
  6460.                                                const result = await response.json();
  6461.                                                if (result) {
  6462.                                                    const url = result.url
  6463.                                                    $("[data-properties=papan-logo]").val(url)
  6464.                                                }
  6465.  
  6466.                                                reader.readAsDataURL(input.files[0]);
  6467.                                            }
  6468.                                        }
  6469.  
  6470.                                        async function readURLAddress(input) {
  6471.                                            console.log(input, 'readURLAddress')
  6472.                                            if (input.files && input.files[0]) {
  6473.                                                let reader = new FileReader();
  6474.  
  6475.                                                reader.onload = function (e) {
  6476.                                                    $('.photo-address').attr('src', e.target.result);
  6477.                                                    $('.photo-address').show();
  6478.                                                }
  6479.  
  6480.                                                const type = 'image/jpeg'
  6481.                                                const name = input.files[0].name?.split('.')[0]
  6482.  
  6483.                                                let formData = new FormData();
  6484.                                                formData.append("file", input.files[0]);
  6485.                                                const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, {
  6486.                                                    method: "POST",
  6487.                                                    body: formData
  6488.                                                })
  6489.                                                const result = await response.json();
  6490.  
  6491.                                                reader.readAsDataURL(input.files[0]);
  6492.  
  6493.                                                return result
  6494.                                            }
  6495.                                        }
  6496.  
  6497.  
  6498.  
  6499.  
  6500.                                        async function addToCartUang() {
  6501.                                            var productAddOnId1 = 42122101162199;
  6502.                                            var productAddOnId2 = 42122101194967;
  6503.                                            var product_id = 8144957800663
  6504.                                            const data = {
  6505.                                                items: [
  6506.                                                    {
  6507.                                                        quantity: $("#Quantity-" + productAddOnId1).val(),
  6508.                                                        id: productAddOnId1,
  6509.                                                        "properties": { "Time": $("#properties-time").val() }
  6510.                                                    },
  6511.                                                    {
  6512.                                                        quantity: $("#Quantity-" + productAddOnId2).val(),
  6513.                                                        id: productAddOnId2,
  6514.                                                        "properties": { "Time": $("#properties-time").val() }
  6515.                                                    }
  6516.                                                ]
  6517.                                            }
  6518.                                            await fetch(window.Shopify.routes.root + 'cart/add.js', {
  6519.                                                method: 'POST',
  6520.                                                headers: {
  6521.                                                    'Content-Type': 'application/json'
  6522.                                                },
  6523.                                                body: JSON.stringify(data)
  6524.                                            })
  6525.                                                .then(response => {
  6526.                                                    console.error('Sukses Buket Uang:', response);
  6527.                                                    $(".form-flower").submit()
  6528.                                                })
  6529.                                                .catch((error) => {
  6530.                                                    console.error('Error Buket Uang:', error);
  6531.                                                    $(".form-flower").submit()
  6532.                                                });
  6533.                                        }
  6534.  
  6535.                                        async function saveCard() {
  6536.                                            let isCard = true
  6537.                                            const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : ''
  6538.                                            const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : ''
  6539.                                            const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : ''
  6540.                                            const foto = $("#properties-photo").val()
  6541.                                            const video = $("#properties-video").val()
  6542.                                            const data = JSON.stringify({
  6543.                                                "id": qrID,
  6544.                                                "penerima": $("#properties-nama-penerima").val(),
  6545.                                                "kartu_penerima": kartu_penerima,
  6546.                                                "kartu_ucapan": kartu_ucapan,
  6547.                                                "kartu_pengirim": kartu_pengirim,
  6548.                                                "foto": foto,
  6549.                                                "video": video,
  6550.                                                "productId": "8144957800663",
  6551.                                                "order_name": "",
  6552.                                                "status": "Cart"
  6553.                                            })
  6554.  
  6555.  
  6556.                                        }
  6557.  
  6558.                                        async function additem(items) {
  6559.                                            try {
  6560.                                                let formData = items
  6561.                                                if (items?.length) {
  6562.                                                    formData = {
  6563.                                                        'items': items
  6564.                                                    };
  6565.                                                }
  6566.  
  6567.                                                const add = await fetch(window.Shopify.routes.root + 'cart/add.js', {
  6568.                                                    method: 'POST',
  6569.                                                    headers: {
  6570.                                                        'Content-Type': 'application/json',
  6571.                                                        'X-Requested-With': 'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */
  6572.                                                    },
  6573.                                                    body: JSON.stringify(formData)
  6574.                                                })
  6575.  
  6576.                                                const data = await add.json();
  6577.                                                return data
  6578.                                            } catch (err) {
  6579.                                                console.log('Error additem', err)
  6580.                                            }
  6581.                                        }
  6582.  
  6583.                                        async function addons() {
  6584.                                            let items = []
  6585.                                            $(".addon-item").each(function () {
  6586.                                                const p = $(this)
  6587.                                                const props = p.next(".propsAddonSpotify")
  6588.                                                const id = $(this).data("id")
  6589.                                                const quantity = $(this).data("qty")
  6590.                                                const propId = $("#properties-time").val()
  6591.                                                let properties = {}
  6592.                                                if (id === 46067682607319) {
  6593.                                                    const link = props.find(".spotifyLinkAddon").text()
  6594.                                                    const photo = props.find(".spotifyFotoAddon").text()
  6595.                                                    const song = props.find(".spotifySongAddon").text()
  6596.                                                    const artist = props.find(".spotifyArtistAddon").text()
  6597.                                                    properties = {
  6598.                                                        id: propId,
  6599.                                                        "Spotify Link": link !== '' ? link : '-',
  6600.                                                        "Spotify Photo": photo !== '' ? photo : '-',
  6601.                                                        "Spotify Song": song !== '' ? song : '-',
  6602.                                                        "Spotify Artist": artist !== '' ? artist : '-',
  6603.                                                        type: 'addon'
  6604.                                                    }
  6605.                                                } else {
  6606.                                                    properties = {
  6607.                                                        "id": propId,
  6608.                                                        "type": "addon"
  6609.                                                    }
  6610.                                                }
  6611.                                                items.push({
  6612.                                                    id,
  6613.                                                    quantity,
  6614.                                                    properties
  6615.                                                })
  6616.                                            })
  6617.                                            return items
  6618.                                        }
  6619.  
  6620.                                        async function propItems() {
  6621.                                            let props = {}
  6622.                                            $("[data-properties]").each(function (e) {
  6623.                                                let elementType = this.tagName;
  6624.                                                const k = $(this).data("properties")
  6625.                                                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') {
  6626.                                                    const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val();
  6627.                                                    if (v !== '') {
  6628.                                                        props[k] = v?.replace(/[\s\n]/g, '');
  6629.                                                    }
  6630.                                                }
  6631.                                            })
  6632.                                            return props
  6633.                                        }
  6634.  
  6635.                                        async function showPopupCart(items) {
  6636.                                            if (productType !== '') {
  6637.                                                console.log("clarity event " + productType + ' completeOrder')
  6638.                                                window.clarity("event", `${productType} completeOrder`)
  6639.                                                // window.clarity("set", productType, `completeOrder - ${productDate}`)
  6640.                                            }
  6641.                                            $("#popupCart").show()
  6642.  
  6643.                                            $(".propDeliveryCity").text($("#cities").val())
  6644.                                            $(".propDeliveryDate").text($("#propDeliveryDate").val())
  6645.                                            $(".propDeliveryTime").text($("#propDeliveryTime").val())
  6646.                                            $(".propDeliveryName").text($("[data-properties=nama-penerima]").val())
  6647.                                            $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val())
  6648.                                            $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val())
  6649.                                            $(".propDeliveryProv").text($("#province").val())
  6650.                                            $(".propDeliveryZip").text($("#zip").val())
  6651.  
  6652.  
  6653.  
  6654.                                            const addons = []
  6655.                                            if (items && items.length > 0) {
  6656.                                                for (let i = 1; i < items.length; i++) {
  6657.                                                    const spotifyLink = items[i].properties['Spotify Link']
  6658.                                                    const spotifyPhoto = items[i].properties['Spotify Photo']
  6659.                                                    const spotifySong = items[i].properties['Spotify Song']
  6660.                                                    const spotifyArtist = items[i].properties['Spotify Artist']
  6661.                                                    const price = items[i].price / 100
  6662.                                                    const props = spotifyLink ? `<div class="propsAddonCart row m-0">
  6663.                   <div class="col-12 col-lg-2"></div>
  6664.                   <div class="col-12 col-lg-10">
  6665.                     <p>
  6666.                       <span>spotify link</span>
  6667.                       <span>${spotifyLink}</span>
  6668.                     </p>
  6669.                     <p>
  6670.                       <span>Upload Photo</span>
  6671.                       <span>${spotifyPhoto}</span>
  6672.                     </p>
  6673.                     <p>
  6674.                       <span>song / playlist name</span>
  6675.                       <span>${spotifySong}</span>
  6676.                     </p>
  6677.                     <p>
  6678.                       <span>artist name</span>
  6679.                       <span>${spotifyArtist}</span>
  6680.                     </p>
  6681.                   </div>
  6682.                 </div>` : '';
  6683.                                                    addons.push(`<div class="row m-0">
  6684.                   <div class="imgAddonCart col-2">
  6685.                     <img
  6686.                       width="43"
  6687.                       src="${items[i].image}"
  6688.                       alt=""
  6689.                     >
  6690.                   </div>
  6691.                   <div class="imgAddonTitlePrice col-10 align-self-center">
  6692.                     <div class="row justify-content-between m-0">
  6693.                       <div class="col-12 col-lg-8">
  6694.                         <h5>${items[i].title}</h5>
  6695.                       </div>
  6696.                       <div class="col-12 col-lg-4 text-lg-right">
  6697.                         <span>${rupiah.format(price)}</span>
  6698.                       </div>
  6699.                     </div>
  6700.                   </div>
  6701.                 </div>${props}`)
  6702.                                                }
  6703.                                            }
  6704.                                            // console.log(addons)
  6705.                                            if (addons.length === 0) {
  6706.                                                $(".itemAddonCart").hide()
  6707.                                                return
  6708.                                            }
  6709.                                            $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`)
  6710.                                            $(".wrapperItemAddonCart").html(addons)
  6711.                                        }
  6712.  
  6713.                                        const money = (money) => {
  6714.                                            return new Intl.NumberFormat('id-ID',
  6715.                                                { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 }
  6716.                                            ).format(money);
  6717.                                        }
  6718.  
  6719.                                        async function showNoteMoney() {
  6720.                                            let qty50k = $("[data-properties='Uang 50k']").val()
  6721.                                            let qty100k = $("[data-properties='Uang 100k']").val()
  6722.                                            const total50k = Number(qty50k) * 50000
  6723.                                            const total100k = Number(qty100k) * 100000
  6724.                                            const total_all = total50k + total100k
  6725.                                            $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`)
  6726.                                            $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`)
  6727.                                            $(".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://gampang-maxwin-guatogel-amp.pages.dev/" target="_blank" style="text-decoration: underline; color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`)
  6728.                                        }
  6729.  
  6730.                                        async function removeImage() {
  6731.                                            const data = JSON.stringify({
  6732.                                                "ID": $("#properties-properties-qrId").val(),
  6733.                                                "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(),
  6734.                                                "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(),
  6735.                                                "Kartu Ucapan": $("[data-properties=ucapan]").val(),
  6736.                                                "Nama Penerima": $("#properties-nama-penerima").val(),
  6737.                                                "Order Number": "",
  6738.                                                "Status": "Product",
  6739.                                                "Foto": "",
  6740.                                                "Media": $("#properties-video").val(),
  6741.                                                "Image": "8144957800663"
  6742.                                            })
  6743.                                            const remove = updateCard(data)
  6744.                                            if (remove) {
  6745.                                                $(this).hide()
  6746.                                                $("#properties-photo").val("-")
  6747.                                                $(".placeholder-image").show()
  6748.                                                $(".preview-image").attr("src", "")
  6749.                                            }
  6750.                                        }
  6751.  
  6752.                                        async function removeVideo() {
  6753.                                            const data = JSON.stringify({
  6754.                                                "ID": $("#properties-properties-qrId").val(),
  6755.                                                "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(),
  6756.                                                "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(),
  6757.                                                "Kartu Ucapan": $("[data-properties=ucapan]").val(),
  6758.                                                "Nama Penerima": $("#properties-nama-penerima").val(),
  6759.                                                "Order Number": "",
  6760.                                                "Status": "Product",
  6761.                                                "Foto": $("#properties-photo").val(),
  6762.                                                "Media": "",
  6763.                                                "Image": "8144957800663"
  6764.                                            })
  6765.                                            const remove = updateCard(data)
  6766.                                            if (remove) {
  6767.                                                $("#properties-video").val("-")
  6768.                                                $(this).find("img").hide()
  6769.                                                $(this).hide()
  6770.                                                $(this).prev("p").text("Add video to make it more special (optional)")
  6771.                                                $("#label-input-video").show()
  6772.                                                $("#label-input-video span").text("Upload Video")
  6773.                                                $(".case-video-preview p span").remove()
  6774.                                            }
  6775.                                        }
  6776.  
  6777.                                        async function loadItemOccasion(t, occasion) {
  6778.                                            const name = occasion?.replace('greeting-card-', '')
  6779.                                            $("#kartu-ucapan").val("")
  6780.                                            $("[data-occassion]").removeClass("selected")
  6781.                                            $("[data-properties=ucapan]").val("")
  6782.                                            $("#save-card").attr("disabled", true)
  6783.                                            t.addClass("selected")
  6784.                                            $("#show_note").attr("data-card-occassion", name)
  6785.                                            $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function (data, status) {
  6786.                                                const products = data.products
  6787.                                                const html = []
  6788.                                                for (let i = 0; i < products.length; i++) {
  6789.                                                    const id = products[i].id
  6790.                                                    const variantId = products[i].variants[0].id
  6791.                                                    const img = products[i].images[0].src
  6792.                                                    const title = products[i].title
  6793.                                                    const price = products[i].variants[0].price
  6794.                                                    const qty = products[i].variants[0].inventory_quantity
  6795.                                                    const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}>
  6796.                 <label for="card-${variantId}"></label>
  6797.                     <div class="card-image">
  6798.                         <img src="${img}" alt="${title}" width="" height="" />
  6799.                     </div>
  6800.                     <div class="card-meta text-center">
  6801.                         <h5>${title}</h5>
  6802.                         <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p>
  6803.                         <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}">
  6804.                     </div>
  6805.                 </div>`
  6806.                                                    html.push(body)
  6807.                                                }
  6808.                                                const withoutCard = `<div class="item-card item-without-card">
  6809.                 <label for="card-0"></label>
  6810.                     <div class="card-image">
  6811.                         <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" />
  6812.                     </div>
  6813.                     <div class="card-meta text-center">
  6814.                         <h5>Send without a greeting card</h5>
  6815.                         <input id="card-0" type="radio" name="id" value="" data-price="">
  6816.                     </div>
  6817.                 </div>`
  6818.                                                $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join(""))
  6819.                                            });
  6820.                                        }
  6821.  
  6822.                                        $(document).ready(function () {
  6823.  
  6824.                                            // Observer to auto-trigger addon loading when addon section becomes visible
  6825.                                            const addonObserver = new MutationObserver(function (mutations) {
  6826.                                                mutations.forEach(function (mutation) {
  6827.                                                    const target = $(mutation.target)
  6828.                                                    if (target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') {
  6829.                                                        if (!target.hasClass('hide')) {
  6830.                                                            // Addon section just became visible, ensure items are loaded
  6831.                                                            setTimeout(function () {
  6832.                                                                if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
  6833.                                                                    console.log("Auto-triggering addon load...")
  6834.                                                                    $("[data-addon=upsell-all]").trigger("click")
  6835.                                                                }
  6836.                                                            }, 150)
  6837.                                                        }
  6838.                                                    }
  6839.                                                })
  6840.                                            })
  6841.  
  6842.                                            // Start observing addon section
  6843.                                            const addonSection = document.querySelector('.purchaseAddon')
  6844.                                            if (addonSection) {
  6845.                                                addonObserver.observe(addonSection, {
  6846.                                                    attributes: true,
  6847.                                                    attributeFilter: ['class']
  6848.                                                })
  6849.                                            }
  6850.  
  6851.                                            $(".purchasePopup").delegate("#addtocart-card", "click", async function () {
  6852.  
  6853.                                                $(this).find("span").addClass("loading")
  6854.                                                let isValid = true
  6855.                                                $(".formAddressPurchase [required]").each(function () {
  6856.                                                    const t = $(this)
  6857.                                                    const input = t.val()
  6858.                                                    const p = t.parent()
  6859.                                                    if (input === '') {
  6860.                                                        p.addClass("error")
  6861.                                                        isValid = false
  6862.                                                    }
  6863.                                                })
  6864.  
  6865.                                                if (!isValid) {
  6866.                                                    $(this).find("span").removeClass("loading")
  6867.                                                    return
  6868.                                                }
  6869.  
  6870.                                                let items = []
  6871.                                                const mainProps = {
  6872.  
  6873.                                                    "Delivery Date": $("#propDeliveryDate").val(),
  6874.                                                    "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-',
  6875.                                                    "Kota Pengiriman": $("#cities").val(),
  6876.                                                    "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-',
  6877.                                                    "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-',
  6878.                                                    "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-',
  6879.                                                    "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-',
  6880.  
  6881.  
  6882.                                                    "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-',
  6883.                                                    "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-',
  6884.                                                    "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-',
  6885.                                                    "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-',
  6886.                                                    "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-',
  6887.  
  6888.  
  6889.                                                    "Province": $("#province").val() !== '' ? $("#province").val() : '-',
  6890.                                                    "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-',
  6891.                                                    "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-',
  6892.                                                    "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-',
  6893.                                                    "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
  6894.                                                    "type": 'product'
  6895.                                                }
  6896.                                                const props = await propItems()
  6897.                                                properties = { ...mainProps, ...props };
  6898.                                                const id = $("#productSelect").find('option:selected').val()
  6899.                                                console.log(id, 'main ID')
  6900.                                                const mainItem = {
  6901.                                                    id: Number(id),
  6902.                                                    quantity: 1,
  6903.                                                    properties
  6904.                                                }
  6905.                                                items.push(mainItem)
  6906.                                                const cardId = $("#itemCards").find(".selected input").val()
  6907.                                                const cardItem = {
  6908.                                                    id: Number(cardId),
  6909.                                                    quantity: 1,
  6910.                                                    properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' }
  6911.                                                }
  6912.                                                console.log(cardId, 'cardId')
  6913.                                                if (cardId) {
  6914.                                                    items.push(cardItem)
  6915.                                                }
  6916.                                                const addon = await addons()
  6917.                                                if (addon) {
  6918.                                                    for (let i = 0; i < addon.length; i++) {
  6919.                                                        items.push({
  6920.                                                            id: addon[i].id,
  6921.                                                            quantity: addon[i].quantity,
  6922.                                                            properties: addon[i].properties
  6923.                                                        })
  6924.                                                    }
  6925.                                                }
  6926.                                                const addItems = await additem(items)
  6927.                                                console.log(addItems.items, 'add items')
  6928.                                                if (addItems) {
  6929.                                                    $(this).find("span").removeClass("loading")
  6930.                                                    disablePopup()
  6931.                                                    showPopupCart(addItems.items)
  6932.  
  6933.                                                    localStorage.setItem("items", JSON.stringify(addItems.items))
  6934.                                                }
  6935.                                            })
  6936.  
  6937.                                            $("#addtocart-cart .btn").click(async function () {
  6938.                                                const id = $("#productSelect").find('option:selected').val()
  6939.                                                const mainProps = {
  6940.                                                    id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-',
  6941.                                                    type: 'product'
  6942.                                                }
  6943.                                                const props = await propItems()
  6944.                                                const properties = { ...mainProps, ...props };
  6945.                                                const items = {
  6946.                                                    id: Number(id),
  6947.                                                    quantity: 1,
  6948.                                                    properties
  6949.                                                }
  6950.                                                const addItems = await additem(items)
  6951.                                                if (addItems) {
  6952.                                                    showPopupCart(addItems.items)
  6953.                                                    localStorage.setItem("items", JSON.stringify(addItems))
  6954.                                                }
  6955.                                            })
  6956.  
  6957.                                            $(".formAddressPurchase [required]").change(function () {
  6958.                                                const t = $(this)
  6959.                                                const p = t.parent()
  6960.                                                const v = t.val()
  6961.                                                if (v !== '') {
  6962.                                                    p.removeClass("error")
  6963.                                                }
  6964.                                            })
  6965.  
  6966.                                            $("#save-card").click(async function () {
  6967.                                                const parent = $(this).parents(".sectionPurchase")
  6968.                                                const next = parent.next(".sectionPurchase")
  6969.                                                $(this).find("span").addClass("loading")
  6970.                                                const card = await saveCard()
  6971.                                                console.log(card, 'ssaveCCC')
  6972.                                                if (card?.status === 200 || card?.status === 201) {
  6973.                                                    $(".scanCard").removeClass("hide")
  6974.                                                    $(this).find("span").removeClass("loading")
  6975.                                                    parent.addClass("hide")
  6976.                                                    next.removeClass("hide")
  6977.                                                    if (next.hasClass("purchaseAddon")) {
  6978.                                                        $("[data-addon=upsell-all]").click()
  6979.                                                        console.log("clarity event addons")
  6980.                                                        window.clarity("event", `${productType} add-ons`)
  6981.                                                        // Ensure addon items are loaded when entering addon popup
  6982.                                                        setTimeout(function () {
  6983.                                                            if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
  6984.                                                                $("[data-addon=upsell-all]").trigger("click")
  6985.                                                            }
  6986.                                                        }, 100)
  6987.                                                    }
  6988.                                                    if (next.hasClass("purchaseAddress")) {
  6989.                                                        $("#zip").select2()
  6990.                                                    }
  6991.                                                }
  6992.                                            })
  6993.  
  6994.                                            $("#skip-card").click(async function () {
  6995.                                                $("#greetingCard [data-properties]").val("")
  6996.                                                $("#properties-photo").val("")
  6997.                                                $("#properties-video").val("")
  6998.                                                const parent = $(this).parents(".sectionPurchase")
  6999.                                                const next = parent.next(".sectionPurchase")
  7000.                                                parent.addClass("hide")
  7001.                                                next.removeClass("hide")
  7002.                                                // $("#itemCards").html("")
  7003.                                                removeImage()
  7004.                                                removeVideo()
  7005.                                                if (next.hasClass("purchaseAddon")) {
  7006.                                                    $("[data-addon='upsell-all']").click()
  7007.                                                    console.log("clarity event addons")
  7008.                                                    window.clarity("event", `${productType} add-ons`)
  7009.                                                    // Ensure addon items are loaded when entering addon popup
  7010.                                                    setTimeout(function () {
  7011.                                                        if ($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) {
  7012.                                                            $("[data-addon='upsell-all']").trigger("click")
  7013.                                                        }
  7014.                                                    }, 100)
  7015.                                                }
  7016.                                                if (next.hasClass("purchaseAddress")) {
  7017.                                                    $("#zip").select2()
  7018.                                                }
  7019.                                            })
  7020.  
  7021.                                            $("#msgCard").click(async function () {
  7022.                                                $(this).parent().addClass("loading")
  7023.                                                let occasion = $(".selected[data-occassion]").data("occassion")
  7024.                                                occasion = occasion?.replace("greeting-card-", "")
  7025.                                                const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`);
  7026.                                                const d = data?.data
  7027.                                                for (let i = 0; i < d.length; i++) {
  7028.                                                    const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1);
  7029.                                                    const greeting = d[num]?.Greeting
  7030.                                                    $(".greetingCard textarea").val(greeting)
  7031.                                                    $(this).parent().removeClass("loading")
  7032.                                                }
  7033.                                                $("#save-card").attr("disabled", false)
  7034.                                            })
  7035.  
  7036.                                            $(".sectionPurchaseBoard .next-purchase-button").click(function () {
  7037.                                                const parent = $(this).parents(".sectionPurchase")
  7038.                                                const next = parent.next(".sectionPurchase")
  7039.                                                parent.addClass("hide")
  7040.                                                next.removeClass("hide")
  7041.                                            })
  7042.  
  7043.                                            $("#editCard").click(function () {
  7044.                                                $(".custom-card").show()
  7045.                                                $(".preview-card").hide()
  7046.                                            })
  7047.  
  7048.                                            $("#first_name, #last_name").change(function () {
  7049.                                                const v = $(this).val()
  7050.                                                const first_name = $("#first_name").val()
  7051.                                                const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : ''
  7052.                                                $("[data-properties=nama-penerima]").val(first_name + last_name)
  7053.                                            })
  7054.  
  7055.                                            $("[data-occassion]").click(function () {
  7056.                                                const t = $(this)
  7057.                                                const p = t.parents(".sectionPurchase")
  7058.                                                // $(".greetingCard").addClass("disabled")
  7059.                                                const occasion = t.data("occassion")
  7060.                                                loadItemOccasion(t, occasion)
  7061.                                            })
  7062.  
  7063.                                            $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function () {
  7064.                                                const id = $(this).parent(".item-card").data("id")
  7065.                                                const t = $(this).parent(".item-card")
  7066.                                                const target = t.find("input")
  7067.                                                const v = $('.item-card input[type="radio"]:checked').val();
  7068.                                                $("#itemCards .item-card").removeClass("selected")
  7069.                                                t.addClass("selected")
  7070.                                                $("#itemCards .item-card").find("input").attr("name", "")
  7071.                                                if (target.length > 0) {
  7072.                                                    target.attr("name", "id[]")
  7073.                                                    $("#properties-card").val(id)
  7074.                                                    $(".greetingCard").removeClass("disabled")
  7075.                                                    $("#skip-card").attr("disabled", false)
  7076.                                                } else {
  7077.                                                    $("#properties-card").val("")
  7078.                                                }
  7079.                                            })
  7080.  
  7081.                                            $("#itemCards").delegate(".item-without-card label", "click", function () {
  7082.                                                const parent = $(this).parents(".sectionPurchase")
  7083.                                                const next = parent.next(".sectionPurchase")
  7084.                                                $(".greetingCard").addClass("disabled")
  7085.                                                parent.addClass("hide")
  7086.                                                next.removeClass("hide")
  7087.                                                $("[data-addon=upsell-all]").click()
  7088.                                                $("#zip").select2()
  7089.                                            })
  7090.  
  7091.                                            $("[data-properties=ucapan]").keyup(function () {
  7092.                                                const v = $(this).val()
  7093.                                                const p = $(this).parents(".sectionPurchase")
  7094.                                                $(".purchaseAddress").find(".greetingCard textarea").val(v)
  7095.                                                if (v.length > 3) {
  7096.                                                    p.find(".next-purchase-button").attr("disabled", false)
  7097.                                                } else {
  7098.                                                    p.find(".next-purchase-button").attr("disabled", true)
  7099.                                                }
  7100.                                            })
  7101.  
  7102.                                            $("[data-properties=penerima]").keyup(function () {
  7103.                                                const v = $(this).val()
  7104.                                                $(".purchaseAddress").find("[data-properties=penerima]").val(v)
  7105.                                            })
  7106.  
  7107.                                            $("[data-properties=pengirim]").keyup(function () {
  7108.                                                const v = $(this).val()
  7109.                                                $(".purchaseAddress").find("[data-properties=pengirim]").val(v)
  7110.                                            })
  7111.  
  7112.                                            $(document).click(function (e) {
  7113.  
  7114.                                                if ($(e.target).closest('.wrapperPopupCart').length != 0) return false;
  7115.                                                // $('#popupCart').fadeOut('slow');
  7116.                                                // location.reload()
  7117.                                            });
  7118.  
  7119.                                            $(".toggleAddonCart").click(function () {
  7120.                                                const p = $(this).parent(".itemAddonCart")
  7121.                                                p.toggleClass("open")
  7122.                                            })
  7123.  
  7124.                                            $(".btnViewCart").click(function () {
  7125.                                                window.location.href = "https://outerbloom.com/cart";
  7126.                                            })
  7127.  
  7128.                                            $(".btnViewCheckout").click(async function () {
  7129.                                                $(this).find("span").addClass("loading")
  7130.                                                let zip = $("#zip").val()
  7131.                                                const first_name = $("#first_name").val()
  7132.                                                const last_name = $("#last_name").val()
  7133.                                                const company = $("#company").val() !== '' ? $("#company").val() : ''
  7134.                                                const address1 = $("#delivery_address").val()
  7135.                                                const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : ''
  7136.                                                zip = zip && zip !== '' ? zip?.split(' - ')[0] : ''
  7137.                                                const phone = $("#recipient_number").val()
  7138.                                                const city = $("#cities").val()
  7139.                                                const province = $("#province").val()
  7140.                                                const country = 'Indonesia'
  7141.                                                const ver = Date.parse(new Date())
  7142.                                                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}`
  7143.  
  7144.                                                const clear = await fetch(`/cart/clear.js`, { method: 'POST' })
  7145.                                                if (clear.status === 200) {
  7146.                                                    const savedItem = window.localStorage.getItem("items");
  7147.                                                    const items = JSON.parse(savedItem)
  7148.                                                    const addItems = await additem(items)
  7149.                                                    console.log(addItems, 'new addItems')
  7150.                                                    if (addItems) {
  7151.                                                        window.location.href = `https://outerbloom.com/checkout?${params}`;
  7152.                                                    }
  7153.                                                }
  7154.                                            })
  7155.  
  7156.                                            $(".btnContinueShopping").click(function () {
  7157.                                                window.location.href = "https://outerbloom.com/";
  7158.                                            })
  7159.  
  7160.                                            if (isIOS) {
  7161.                                                $(".empty-state-card").click(function () {
  7162.                                                    $("#input-foto").trigger("click")
  7163.                                                })
  7164.                                                $(".btn-upload-image").click(function () {
  7165.                                                    $("#input-foto").trigger("click")
  7166.                                                })
  7167.                                                $("[for=input-video]").click(function () {
  7168.                                                    $("#input-video").trigger("click")
  7169.                                                })
  7170.                                                $(".btn-upload-papan").click(function () {
  7171.                                                    $("#logoPapan").trigger("click")
  7172.                                                })
  7173.                                            }
  7174.  
  7175.                                            $("[data-properties]").each(function () {
  7176.                                                const select = $(this).parents(".form-group").find("select")
  7177.                                                $(this).change(function () {
  7178.                                                    const name = $(this).data("properties")
  7179.                                                    const v = $(this).val()
  7180.                                                    if (name == 'telepon-penerima') {
  7181.                                                        let phone = v.replace(/[^0-9]/g, '')
  7182.                                                        $(this).val(phone);
  7183.                                                        $("#properties-telepon-penerima").val(phone)
  7184.                                                        $('.iti__search-input').val('-')
  7185.                                                    } else {
  7186.                                                        $("#properties-" + name).val(v)
  7187.                                                    }
  7188.                                                })
  7189.                                                select.on("change", function () {
  7190.                                                    const name = $(this).data("properties")
  7191.                                                    const v = $(this).val()
  7192.                                                    $("#properties-" + name).val(v)
  7193.                                                })
  7194.                                            })
  7195.  
  7196.                                            $("#show_note").click(function () {
  7197.                                                nameq = $("#properties-nama-penerima").val()
  7198.                                                dear = $("#properties-kartu-nama-penerima").val()
  7199.                                                card = $("[data-properties=ucapan]").val()
  7200.                                                sender = $("#properties-kartu-nama-pengirim").val()
  7201.                                                photo = $("#properties-photo").val()
  7202.                                                video = $("#properties-video").val()
  7203.                                                updateCard(nameq, dear, card, sender, photo, video, status)
  7204.                                            })
  7205.  
  7206.                                            $(".remove-image").click(function (e) {
  7207.                                                e.preventDefault()
  7208.                                                $(this).find("img").show()
  7209.                                                removeImage()
  7210.                                            })
  7211.  
  7212.                                            $(".remove-media").click(function (e) {
  7213.                                                e.preventDefault()
  7214.                                                $(this).find("img").show()
  7215.                                                removeVideo()
  7216.                                            })
  7217.  
  7218.  
  7219.  
  7220.                                            $("[data-delivery_method]").click(function (e) {
  7221.                                                e.preventDefault()
  7222.                                                const t = $(this)
  7223.                                                const data = t.data("delivery_method")
  7224.                                                $("[data-delivery_method]").removeClass("selected")
  7225.                                                t.addClass("selected")
  7226.                                                $("#cities").val("")
  7227.                                                $("#properties-delivery-date").val("-")
  7228.                                                $("#deliveryDate button").removeClass("selected")
  7229.                                                $("#full-date").val("Full Calendar →")
  7230.                                                $("#propDeliveryDate").val("")
  7231.                                                const step3 = $("#step-3")
  7232.                                                if (data.match('PickUp')) {
  7233.                                                    $(".selfpickup-point").show()
  7234.                                                    step3.find("[data-finished=false]").hide()
  7235.                                                    $("#panel-4").hide()
  7236.                                                    step3.find("[data-finished=true]").show()
  7237.                                                    $("#cities").attr("required", false)
  7238.                                                    $("#form-group-city").hide()
  7239.                                                    $("#row-delivery-time").hide()
  7240.                                                    $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-")
  7241.                                                    $("#propDeliveryTime").attr("required", false)
  7242.                                                    // $("#deliveryDate").find("button:first-child").addClass("stop")
  7243.                                                    $(".form-selfpickup").show()
  7244.                                                    $(".form-delivery").hide()
  7245.                                                    $(".form-delivery").find("input, textarea, select").val("")
  7246.                                                    $(".form-delivery").find("input, textarea, select").attr("required", false)
  7247.                                                    $("#properties-shipping").val("0")
  7248.                                                    $("#noteDeliveryDate").hide()
  7249.                                                    $(".form-delivery .form-control").attr("required", false)
  7250.                                                    $("#stepNav4").hide()
  7251.  
  7252.                                                    $("#deliveryDate").find("button:nth-child(1)").addClass("stop")
  7253.  
  7254.  
  7255.  
  7256.                                                    if (timeOfDay >= 16.01) {
  7257.                                                        $("#deliveryDate").find("button:nth-child(2)").addClass("stop")
  7258.                                                    }
  7259.                                                } else {
  7260.  
  7261.  
  7262.                                                    $("#deliveryDate").find("button:nth-child(1)").removeClass("stop")
  7263.                                                    step3.find("[data-finished=false]").show()
  7264.                                                    $("#panel-4").show()
  7265.                                                    step3.find("[data-finished=true]").hide()
  7266.                                                    $("#cities").attr("required", true)
  7267.                                                    $(".selfpickup-point").hide()
  7268.                                                    $("#form-group-city").show()
  7269.                                                    $("#cities").val('').trigger('change');
  7270.                                                    $("#properties-kota-pengiriman").val("-")
  7271.  
  7272.                                                    $("#row-delivery-date, #row-delivery-time").show()
  7273.                                                    $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
  7274.                                                    $("#deliveryDate").find("button").removeClass("stop")
  7275.                                                    $(".form-selfpickup").hide()
  7276.                                                    $(".form-delivery").show()
  7277.                                                    $(".form-delivery").find("input, textarea, select").attr("required", true)
  7278.                                                    $(".form-delivery [data-properties]").attr("readonly", false)
  7279.                                                    $("#properties-kodepos").val("-")
  7280.                                                    $("#properties-alamat-penerima").val("-")
  7281.                                                    $(".form-delivery .form-control").attr("required", true)
  7282.                                                    $(this).parents(".setup-content").attr("id", "step-1")
  7283.  
  7284.                                                    $("#stepNav4").show()
  7285.                                                }
  7286.                                            })
  7287.  
  7288.                                            $("[name=selfpickup]").click(function () {
  7289.                                                const p = $(this).parents(".row-pickup")
  7290.                                                const pickupCity = $("input[name='selfpickup']:checked").val();
  7291.                                                const pickupAddress = $("input[name='selfpickup']:checked").data("address");
  7292.                                                const pickupZip = $("input[name='selfpickup']:checked").data("zip");
  7293.  
  7294.                                                $(".row-pickup").removeClass("selected")
  7295.                                                p.addClass("selected")
  7296.  
  7297.                                                $("#properties-kota-pengiriman").val(pickupCity)
  7298.                                                $("#province").val("Jakarta")
  7299.                                                $("#properties-alamat-penerima").val(pickupAddress)
  7300.                                                $("#properties-kodepos").val(pickupZip)
  7301.                                            })
  7302.  
  7303.                                            $("#cities").change(function (e) {
  7304.                                                e.preventDefault()
  7305.                                                $(this).parent(".row").find("p.error").remove()
  7306.                                                $("#full-date").val("Full Calendar")
  7307.                                                $("#deliveryDate, #deliveryDateFull label ").show()
  7308.                                                $("#deliveryDateFull").removeClass("filled")
  7309.                                                $(".btnChangeDeliveryDate").addClass("hide")
  7310.                                                $("#full-date").prop('disabled', false);
  7311.                                                $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success")
  7312.                                                $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true)
  7313.                                                const step3 = $("#step-3")
  7314.                                                $("#cityNote").remove()
  7315.                                                $("#noteDeliveryDate").hide()
  7316.                                                $("#noteDeliveryDate").empty()
  7317.                                                let v = $(this).val()
  7318.                                                let v2 = $('option:selected', this).attr('data-city');
  7319.                                                let v3 = $('option:selected', this).attr('data-province');
  7320.                                                let price = $('option:selected', this).attr('data-price');
  7321.                                                $("#country").val(v)
  7322.                                                $("#properties-kota-pengiriman").val(v)
  7323.                                                $("#properties-shipping").val(price)
  7324.                                                $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected")
  7325.                                                $("#properties-delivery-date, #properties-delivery-time").val("-")
  7326.                                                $("#propDeliveryDate, #propDeliveryTime").val("")
  7327.                                                let note = $('option:selected', this).attr('data-note');
  7328.                                                if (v === 'Kota Lainnya') {
  7329.                                                    $("#noteDeliveryDate").show()
  7330.                                                    $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.")
  7331.                                                    $("#zip").attr("required", false)
  7332.                                                    $("#zip").hide()
  7333.                                                    $("#propDeliveryDate, #propDeliveryTime").attr("required", false)
  7334.                                                    $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-")
  7335.                                                    $("#row-delivery-date, #row-delivery-time").hide()
  7336.                                                    $("#properties-shipping").val("")
  7337.                                                    // $(this).parents(".setup-content").attr("id", "step-2")
  7338.  
  7339.                                                } else {
  7340.                                                    $("#noteDeliveryDate").hide()
  7341.                                                    $("#zip").attr("required", true)
  7342.                                                    $("#zip").show()
  7343.                                                    $("#row-delivery-date, #row-delivery-time").show()
  7344.                                                    $("#propDeliveryDate, #propDeliveryTime").attr("required", true)
  7345.                                                    $("#deliveryDate").find("button").removeClass("stop")
  7346.                                                    // $(this).parents(".setup-content").attr("id", "step-1")
  7347.  
  7348.                                                }
  7349.  
  7350.  
  7351.  
  7352.                                                // if(v !== 'Jakarta') {
  7353.                                                //   $("[data-type=upsell]").hide()
  7354.                                                // } else {
  7355.                                                //   $("[data-type=upsell]").show()
  7356.                                                // }
  7357.                                                // $('.collection-addons')[0].swiper.update();
  7358.  
  7359.  
  7360.                                                getProvince(v)
  7361.                                                $("#zip").html(`<option value="">Choose Postal Code</option>`)
  7362.                                                renderZip(v, v2, v3)
  7363.  
  7364.                                                disabledSameDay()
  7365.  
  7366.  
  7367.                                                if (v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') {
  7368.  
  7369.                                                    $("#cardOccasion, #navAddon, .collection-addons").hide()
  7370.  
  7371.                                                    $("[data-addon=giftcard]").show()
  7372.                                                    $("[data-addon=giftcard]").click()
  7373.                                                    $("#itemAddons").show()
  7374.                                                    $("#flower-step").addClass("nonjadetabek")
  7375.                                                } else {
  7376.                                                    $("#cardOccasion, #navAddon, .collection-addons").show()
  7377.                                                    $("[data-addon=all]").click()
  7378.                                                    $("#flower-step").removeClass("nonjadetabek")
  7379.                                                }
  7380.  
  7381.                                                if (v !== '') {
  7382.                                                    $("#personalizeBtn .btn").attr("disabled", false)
  7383.                                                } else {
  7384.                                                    $("#personalizeBtn .btn").attr("disabled", true)
  7385.                                                }
  7386.  
  7387.                                            })
  7388.  
  7389.                                            $("#zip").change(function (e) {
  7390.                                                let v = $(this).val()
  7391.                                                var city = $("#cities").find('option:selected');
  7392.                                                $("#properties-kodepos").val(v)
  7393.                                                if (city === 'Kota Lainnya') {
  7394.                                                    $(this).attr("required", true)
  7395.                                                    $("#recipient-address").val("")
  7396.                                                }
  7397.                                            })
  7398.  
  7399.  
  7400.                                            var minDate = +7
  7401.  
  7402.  
  7403.  
  7404.                                            $("#full-date").datepicker({
  7405.                                                minDate,
  7406.                                                dateFormat: 'Mdd_yy', //Nop22_2021,
  7407.  
  7408.                                                beforeShowDay: disabledays,
  7409.  
  7410.                                                onSelect: function (date) {
  7411.                                                    $("#deliveryDate, #deliveryDateFull label ").hide()
  7412.                                                    $("#deliveryDateFull").addClass("filled")
  7413.                                                    $(".btnChangeDeliveryDate").removeClass("hide")
  7414.                                                    $("#full-date").prop('disabled', true);
  7415.                                                    $('#propDeliveryDate, #properties-delivery-date').val('Kirim_' + date);
  7416.                                                    $(".date-full").addClass("selected")
  7417.                                                    $(".date-single, .calendar-group").removeClass("selected")
  7418.                                                    $("#propDeliveryTime").val('')
  7419.                                                    $("#properties-delivery-time").val('-')
  7420.                                                    $(".time-single").removeClass("selected")
  7421.  
  7422.  
  7423.                                                }
  7424.                                            });
  7425.  
  7426.                                            $(".btnChangeDeliveryDate").click(function () {
  7427.                                                $("#deliveryDate, #deliveryDateFull label ").show()
  7428.                                                $("#deliveryDateFull").removeClass("filled")
  7429.                                                $(".btnChangeDeliveryDate").addClass("hide")
  7430.                                                $("#full-date").prop('disabled', false);
  7431.                                            })
  7432.  
  7433.                                            $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function (e) {
  7434.                                                e.preventDefault()
  7435.                                                $(this).parents("#row-delivery-date").find("p.error").remove()
  7436.                                                const fulldate = $(this).data("fulldate")
  7437.                                                const day = $(this).data("day")
  7438.                                                const date = $(this).data("date")
  7439.                                                const month = $(this).data("month")
  7440.                                                const year = $(this).data("year")
  7441.                                                const off_pagi = $(this).data("offpagi")
  7442.                                                const off_siang = $(this).data("offsiang")
  7443.                                                const off_Malam = $(this).data("offMalam")
  7444.                                                $(".calendarbutton").removeClass("selected")
  7445.                                                $(this).addClass("selected")
  7446.                                                $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`)
  7447.                                                $("#propDeliveryTime").val('')
  7448.                                                $("#properties-delivery-time").val('-')
  7449.                                                $(".calendarbutton2").removeClass("selected")
  7450.                                                $("#full-date").val("Full Calendar")
  7451.  
  7452.  
  7453.                                                if (off_pagi && timeOfDay > off_pagi) {
  7454.                                                    $("[data-time=Morning]").attr("disabled", true)
  7455.                                                } else {
  7456.                                                    $("[data-time=Morning]").attr("disabled", false)
  7457.                                                }
  7458.                                                if (off_siang && timeOfDay > off_siang) {
  7459.                                                    $("[data-time=Afternoon]").attr("disabled", true)
  7460.                                                } else {
  7461.                                                    $("[data-time=Afternoon]").attr("disabled", false)
  7462.                                                }
  7463.  
  7464.  
  7465.  
  7466.                                            })
  7467.  
  7468.                                            if (today === 14 && timeOfDay > 17.00) {
  7469.                                                $("#deliveryDate button:first-child").attr("disabled", true)
  7470.                                            }
  7471.  
  7472.                                            $("#deliveryTime").delegate(".calendarbutton2", "click", function (e) {
  7473.                                                e.preventDefault()
  7474.                                                const time = $(this).data("time")
  7475.                                                const date = $("#propDeliveryDate").val()
  7476.                                                if (date == '') {
  7477.                                                    return alert('Silakan pilih tanggal terlebih dahulu')
  7478.                                                }
  7479.                                                $(".calendarbutton2").removeClass("selected")
  7480.                                                $(this).addClass("selected")
  7481.                                                $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_', '')}_${time}`)
  7482.                                            })
  7483.  
  7484.                                            $('textarea.has-limit, input.has-limit').keyup(function () {
  7485.                                                max = this.getAttribute("maxlength");
  7486.                                                let len = $(this).val().length;
  7487.                                                let limit = $(this).siblings(".limit");
  7488.                                                if (len > max) {
  7489.                                                    alert('you have reached the limit');
  7490.                                                } else {
  7491.                                                    limit.text(`${len}/${max}`);
  7492.                                                }
  7493.                                            });
  7494.  
  7495.                                            $("#button-action-step .btn").click(function () {
  7496.                                                $(this).find("span").text("Processing...");
  7497.                                            });
  7498.  
  7499.                                            $(".finishBtn").on('click', function () {
  7500.                                                $(this).addClass("is-adding");
  7501.                                                // $(this).click();
  7502.                                            });
  7503.  
  7504.                                            $('.setup-panel .nav-item a.btn-success').trigger('click');
  7505.  
  7506.                                            $("#button-action .btn").click(function () {
  7507.                                                $("#flower-step").addClass("block");
  7508.                                                $("#button-action").hide();
  7509.                                            });
  7510.  
  7511.                                            $(".close-how-order").click(function () {
  7512.                                                $("#flower-step").removeClass("block");
  7513.                                                $("#button-action").show();
  7514.                                            });
  7515.  
  7516.                                            $("#input-foto, #input-video").change(function (e) {
  7517.                                                readURL(this);
  7518.                                            });
  7519.  
  7520.                                            $("#logoPapan").change(function () {
  7521.                                                readURLPapan(this);
  7522.                                            });
  7523.  
  7524.                                            $("#address-upload").change(async function () {
  7525.                                                const upload_address = await readURLAddress(this)
  7526.                                                if (upload_address) {
  7527.                                                    const url = upload_address.url
  7528.                                                    $(".props-address-upload").val(url)
  7529.                                                    $(".form-address").addClass("address-uploaded")
  7530.                                                    $(".form-address-upload").addClass("uploaded")
  7531.  
  7532.                                                    $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false)
  7533.                                                }
  7534.                                            })
  7535.  
  7536.                                            $(".address-manualy").click(function () {
  7537.                                                $(".form-address-upload").removeClass("uploaded");
  7538.                                                $(".photo-address").hide();
  7539.                                                $(".form-address").removeClass("address-uploaded")
  7540.                                                $("#formAddressPurchase").find(".form-control").attr("required", true)
  7541.                                            });
  7542.  
  7543.                                            $(".case-video-preview").delegate(".replace-video", "click", function () {
  7544.                                                $("#input-video").trigger("click")
  7545.                                            })
  7546.  
  7547.                                            $('.date-single').click(function (e) {
  7548.                                                e.preventDefault();
  7549.                                                $('.date-single').removeClass('selected');
  7550.                                                $('#full-date').removeClass('selected');
  7551.                                                $(this).addClass('selected');
  7552.                                                $('#full-date').html('Full' + '<br/>' + 'Calendar');
  7553.                                            });
  7554.                                            $('#full-date').click(function (e) {
  7555.                                                e.preventDefault();
  7556.                                                $('.date-single').removeClass('selected');
  7557.                                                $(this).addClass('selected');
  7558.                                            });
  7559.  
  7560.                                            // $("tr").each(function(){
  7561.                                            //   if($(this).text().match('SKU')) {
  7562.                                            //     $(".sku-product").html($(this).parents("table").html())
  7563.                                            //   }
  7564.                                            // })
  7565.  
  7566.                                            $("#product-image").scroll(function () {
  7567.                                                $(".desc-add").each(function () {
  7568.                                                    const img = $(this).find("img")
  7569.                                                    const src = img.data("src")
  7570.                                                    img.attr("src", src)
  7571.                                                })
  7572.                                            })
  7573.  
  7574.                                            $(".product-fixed").hide()
  7575.  
  7576.                                            let target = $("#personalizeBtn")
  7577.  
  7578.  
  7579.                                            $(".product-meta").scroll(function () {
  7580.                                                if ($(window).scrollTop() >= target.offset().top) {
  7581.                                                    $(".product-fixed").addClass("show")
  7582.                                                } else {
  7583.                                                    $(".product-fixed").removeClass("show")
  7584.                                                }
  7585.                                            });
  7586.  
  7587.                                            $(window).scroll(function () {
  7588.                                                if ($(window).scrollTop() >= target.offset().top) {
  7589.                                                    $(".product-fixed").addClass("show")
  7590.                                                } else {
  7591.                                                    $(".product-fixed").removeClass("show")
  7592.                                                }
  7593.                                            });
  7594.                                        });
  7595.                                    </script>
  7596.  
  7597.                                    <script>
  7598.                                        //
  7599.                                    </script>
  7600.  
  7601.                                    <script>
  7602.                                        $(document).ready(function () {
  7603.                                            $('table tr td').each(function () {
  7604.                                                var texto = $(this).text();
  7605.                                                var nextto = $(this).next("td");
  7606.                                                var sku = $("#data-sku").val()
  7607.                                                if (texto == 'SKU') {
  7608.                                                    nextto.text(sku)
  7609.                                                }
  7610.                                            });
  7611.  
  7612.                                            $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan");
  7613.                                            $(".stamped-summary-actions-newreview").text("Tulis Review");
  7614.                                            $("#tab-questions").text("Pertanyaan");
  7615.  
  7616.                                            $(".freeship .icon").click(function () {
  7617.                                                $(".fs-content").slideToggle();
  7618.                                                $(this).parents(".freeship").toggleClass("expand");
  7619.                                            });
  7620.  
  7621.                                            var $easyzoom = $('.easyzoom').easyZoom();
  7622.                                            // Setup thumbnails example
  7623.                                            var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom');
  7624.                                            $('.thumbnails').on('click', 'a', function (e) {
  7625.                                                var $this = $(this);
  7626.                                                e.preventDefault();
  7627.                                                // Use EasyZoom's `swap` method
  7628.                                                api1.swap($this.data('standard'), $this.attr('href'));
  7629.                                            });
  7630.  
  7631.                                            $('#playerID').click(function () {
  7632.                                                var videoURL = $('#VdoID').attr('src'),
  7633.                                                    dataplay = $('#VdoID').attr('data-play');
  7634.  
  7635.                                                //for check autoplay
  7636.                                                //if not set autoplay=1
  7637.                                                if (dataplay == 0) {
  7638.                                                    $('#VdoID').attr('src', videoURL + '?autoplay=1');
  7639.                                                    $('#VdoID').attr('data-play', 1);
  7640.                                                }
  7641.                                                else {
  7642.                                                    var videoURL = $('#VdoID').attr('src');
  7643.                                                    videoURL = videoURL.replace("?autoplay=1", "");
  7644.                                                    $('#VdoID').prop('src', '');
  7645.                                                    $('#VdoID').prop('src', videoURL);
  7646.  
  7647.                                                    $('#VdoID').attr('data-play', 0);
  7648.                                                }
  7649.  
  7650.                                            });
  7651.  
  7652.                                            $(".product-photo-thumb-video").click(function (e) {
  7653.                                                e.preventDefault();
  7654.  
  7655.                                                var newEmbed = $(this).attr('href');
  7656.                                                $("#featured-image-product").addClass("img-video");
  7657.                                                $("#ProductPhotoImg").hide();
  7658.                                                $("#featured-image-product .video").show();
  7659.                                                $("#featured-image-product iframe").attr('src', newEmbed);
  7660.                                                $("#VdoID")[0].src += "&autoplay=1";
  7661.                                            });
  7662.                                            $(".product-single__thumbnail").click(function (evt) {
  7663.                                                evt.preventDefault();
  7664.                                                $("#featured-image-product").removeClass("img-video");
  7665.                                                $("#ProductPhotoImg").show();
  7666.                                                $("#featured-image-product .video").hide();
  7667.                                                $("#featured-image-product iframe").attr('src', '');
  7668.                                            });
  7669.  
  7670.                                            if ($('#product-meta .short-desc > div').length >= 1) {
  7671.                                                //console.log('div detected')
  7672.                                                var replacer = $('#product-meta .short-desc > div').contents();
  7673.                                                $('#product-meta .short-desc > div').replaceWith(replacer);
  7674.  
  7675.                                                var cAssured = $('.c-assured').detach();
  7676.                                                cAssured.insertAfter('.meta-sds .stock-info');
  7677.                                            }
  7678.  
  7679.  
  7680.  
  7681.                                            $(".heading-toggle").click(function () {
  7682.                                                $(this).parent().toggleClass("open")
  7683.  
  7684.                                            });
  7685.                                        });
  7686.                                    </script>
  7687.  
  7688.  
  7689.                                    <script type="application/json" id="ProductJson-Product">
  7690.  
  7691.         {"id":8144957800663,"title":"GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini."}
  7692.   </script>
  7693.  
  7694.                                    <script type="application/json" id="VariantJson-Product">
  7695.       [
  7696.  
  7697.           {
  7698.              "incoming": false,
  7699.              "next_incoming_date": null
  7700.           }
  7701.  
  7702.       ]
  7703.     </script>
  7704.  
  7705.  
  7706.  
  7707.  
  7708.                                </div>
  7709.  
  7710.  
  7711.                                <script
  7712.                                    src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js"
  7713.                                    type="text/javascript"></script>
  7714.                                <style>
  7715.                                    .stamped-review-header-title,
  7716.                                    .stamped-review-header .author,
  7717.                                    .stamped-review-content-body,
  7718.                                    .stamped-sort-select,
  7719.                                    .stamped-review-header .verified-badge[data-type=buyer]:after,
  7720.                                    .stamped-review-header-byline,
  7721.                                    .stamped-review-reply-body {
  7722.                                        font-size: 14px !important;
  7723.                                        font-family: 'Barlow', sans-serif !important;
  7724.                                    }
  7725.  
  7726.                                    .stamped-review {
  7727.                                        margin-bottom: 0;
  7728.                                    }
  7729.  
  7730.                                    .stamped-review-body {
  7731.                                        padding-left: 65px;
  7732.                                    }
  7733.  
  7734.                                    .stamped-review:first-child {
  7735.                                        padding-top: 25px;
  7736.                                    }
  7737.  
  7738.                                    .stamped-review-content {
  7739.                                        clear: none;
  7740.                                    }
  7741.  
  7742.                                    .stamped-review-reply {
  7743.                                        margin: 15px 0 0 65px;
  7744.                                        background: #f2f2f2;
  7745.                                        border-left: none;
  7746.                                    }
  7747.  
  7748.                                    .stamped-review-reply-body {
  7749.                                        padding-left: 65px;
  7750.                                    }
  7751.  
  7752.                                    .stamped-review-header .author {
  7753.                                        text-transform: capitalize;
  7754.                                    }
  7755.  
  7756.                                    .stamped-questions .stamped-review-content {
  7757.                                        padding-left: 65px;
  7758.                                    }
  7759.  
  7760.                                    .stamped-pagination {
  7761.                                        margin: 20px 0 0;
  7762.                                    }
  7763.  
  7764.                                    .stamped-pagination li {
  7765.                                        position: initial !important;
  7766.                                        display: inline-block;
  7767.                                        position: relative;
  7768.                                        vertical-align: middle;
  7769.                                        text-decoration: none;
  7770.                                        -webkit-tap-highlight-color: transparent;
  7771.                                        -webkit-box-flex: 0;
  7772.                                        -moz-box-flex: 0;
  7773.                                        -ms-flex: 0 0 auto;
  7774.                                        flex: 0 0 auto;
  7775.                                        -webkit-user-select: none;
  7776.                                        -moz-user-select: none;
  7777.                                        -ms-user-select: none;
  7778.                                        user-select: none;
  7779.                                        background: 0 0;
  7780.                                        text-transform: none;
  7781.                                        color: #33373D;
  7782.                                        font-weight: 400;
  7783.                                        -webkit-transition: background .1s ease, box-shadow .1s ease, color .1s ease;
  7784.                                        transition: background .1s ease, box-shadow .1s ease, color .1s ease;
  7785.                                        border: 1px solid #ccc;
  7786.                                        border-right: none;
  7787.                                        margin-bottom: 0;
  7788.                                    }
  7789.  
  7790.                                    .stamped-pagination li a {
  7791.                                        color: #121212;
  7792.                                        padding: 13px 18px;
  7793.                                        vertical-align: middle;
  7794.                                        display: block;
  7795.                                    }
  7796.  
  7797.                                    .stamped-pagination li.active a {
  7798.                                        background-color: #ddd;
  7799.                                        font-weight: 400;
  7800.                                    }
  7801.  
  7802.                                    .stamped-pagination li:hover a {
  7803.                                        background: #ddd;
  7804.                                    }
  7805.  
  7806.                                    .stamped-pagination .next {
  7807.                                        border-right: 1px solid #ccc;
  7808.                                    }
  7809.  
  7810.                                    .stamped-pagination li:first-child {
  7811.                                        border-top-left-radius: 5px;
  7812.                                        border-bottom-left-radius: 5px;
  7813.                                    }
  7814.  
  7815.                                    .stamped-pagination li:last-child {
  7816.                                        border-top-right-radius: 5px;
  7817.                                        border-bottom-right-radius: 5px;
  7818.                                    }
  7819.  
  7820.                                    #stamped-pagination-question span.page {
  7821.                                        display: inline-block;
  7822.                                        border: 1px solid #ccc;
  7823.                                        width: 47px;
  7824.                                    }
  7825.  
  7826.                                    #stamped-pagination-question span {
  7827.                                        font-size: 14px;
  7828.                                    }
  7829.  
  7830.                                    #stamped-pagination-question .page.active {
  7831.                                        padding: 12px;
  7832.                                        font-weight: 400;
  7833.                                        background: #ddd;
  7834.                                    }
  7835.  
  7836.                                    #stamped-pagination-question a,
  7837.                                    #stamped-pagination-question .page.active {
  7838.                                        color: #121212;
  7839.                                        padding: 13px 18px;
  7840.                                        vertical-align: middle;
  7841.                                        display: inline-block;
  7842.                                    }
  7843.  
  7844.                                    .stamped-pagination-deco {
  7845.                                        color: #121212;
  7846.                                        padding: 13px 18px;
  7847.                                        width: 47px;
  7848.                                        vertical-align: middle;
  7849.                                        display: inline-block;
  7850.                                        border: 1px solid #ccc;
  7851.                                        padding: 12px;
  7852.                                    }
  7853.  
  7854.                                    .stamped-pagination-prev,
  7855.                                    .stamped-pagination-next {
  7856.                                        position: inherit;
  7857.                                    }
  7858.  
  7859.                                    .stamped-pagination-prev a,
  7860.                                    .stamped-pagination-next a {
  7861.                                        width: auto !important;
  7862.                                        border: 1px solid #ccc;
  7863.                                    }
  7864.  
  7865.                                    @media (max-width: 480px) {
  7866.                                        .stamped-review-reply {
  7867.                                            margin-left: 0 !important;
  7868.                                        }
  7869.  
  7870.                                        select.stamped-sort-select {
  7871.                                            font-size: 13px !important;
  7872.                                        }
  7873.                                    }
  7874.  
  7875.                                    #product-reviews .stamped-summary-ratings,
  7876.                                    #product-reviews .stamped-summary-actions,
  7877.                                    .stamped-content {
  7878.                                        display: block !important;
  7879.                                    }
  7880.                                </style>
  7881.                                <script>
  7882.                                    var selectCallback = function (variant, selector) {
  7883.                                        timber.productPage({
  7884.                                            money_format: "Rp {{amount_no_decimals}}",
  7885.                                            variant: variant,
  7886.                                            selector: selector
  7887.                                        });
  7888.                                    };
  7889.  
  7890.                                    jQuery(function ($) {
  7891.                                        new Shopify.OptionSelectors('productSelect', {
  7892.                                            product:
  7893.  
  7894.  
  7895.  
  7896.  
  7897.  
  7898.                                                { "id": 8144957800663, "title": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru", "handle": "blossom-shine", "description": "\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eGUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini." },
  7899.                                            onVariantSelected: selectCallback,
  7900.                                            enableHistoryState: true
  7901.                                        });
  7902.  
  7903.                                        // Add label if only one product option and it isn't 'Title'. Could be 'Size'.
  7904.  
  7905.  
  7906.                                        // Hide selectors if we only have 1 variant and its title contains 'Default'.
  7907.  
  7908.                                        $('.selector-wrapper').hide();
  7909.  
  7910.                                    });
  7911.                                </script>
  7912.  
  7913.  
  7914.  
  7915.                                <script type="application/ld+json">
  7916.     {
  7917.     "@context": "http://schema.org",
  7918.     "@type": "Product",
  7919. "offers": {
  7920. "@type": "Offer",
  7921. "availability":"https://schema.org/InStock",
  7922. "price": 835000,
  7923. "priceValidUntil": "05-10-2025",
  7924. "priceCurrency": "IDR",
  7925. "url": "https://engineeringgf.com/shop/"
  7926. },
  7927. "brand": {
  7928. "@type": "Brand",
  7929. "name": "Outerbloom Florist"
  7930. },
  7931. "sku": "8144957800663",
  7932. "gtin13": "Jawa",
  7933. "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru",
  7934. "description": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.",
  7935. "category": "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.",
  7936. "url": "https://engineeringgf.com/shop/",
  7937. "image": {
  7938. "@type": "ImageObject",
  7939. "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
  7940. "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426",
  7941. "name": "GUATOGEL | Link Situs Slot Mudah Maxwin & Bandar Slot Gacor Resmi Server Luar Terbaru",
  7942. "width": 1024,
  7943. "height": 1024
  7944. }
  7945.     }
  7946.   </script>
  7947.  
  7948.  
  7949.  
  7950.  
  7951.  
  7952.                                <script id="bss-ltap-hide-price" type="text/javascript">
  7953.                                    !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) })) })), 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) } }; 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) } 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) } 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-grid-cart"); e && t.push(e) } if (s = c.closest(".product_single_detail_section"), s) { let e = s.querySelector("#AddToCart"); e && t.push(e); let o = s.querySelector(".shopify-payment-button__button"); o && t.push(o); let r = s.querySelector(".quantity-label"); r && t.push(r); let c = s.querySelector(".quantity_width"); c && t.push(c) } if (s = c.closest(".product-single__meta"), s) { let e = s.querySelector("#AddToCart--product-template"); e && t.push(e); let o = s.querySelector(".shopify-payment-button"); o && t.push(o) } if (s = c.closest('form[action="/cart/add"]'), s) { let e = s.querySelector(".product-page-info__field"); e && t.push(e); let o = s.querySelector(".product-page-info__button-add-to-cart"); o && t.push(o); let r = s.querySelector(".js-store-lists-add-wishlist"); r && t.push(r); let c = s.querySelector(".product-collection__control"); c && t.push(c) } if (s = c.closest(".grid-item__content"), s) { let e = s.querySelector(".quick-add-btn"); if (e && t.push(e), window.Shopify && "sparklinbluewholesale.myshopify.com" === window.Shopify.shop) { let e = s.querySelector(".grid-product__price--original"), o = s.querySelector(".grid-product__price--savings"), r = s.querySelector(".quick-product__btn"); e && t.push(e), o && t.push(o), r && t.push(r) } } if (s = c.closest(".purchase-box"), s) { let e = s.querySelector("#AddToCart-product-template"); e && e.remove(); let t = s.querySelector(".quantity-product-template"); t && t.remove() } if (s = c.closest(".item-row"), s) { let e = s.querySelector(".add-to-cart"); e && t.push(e) } if (s = c.closest(".product-thumbnail__price"), s) { let e = s.querySelectorAll(".bsscommerce-ltsp-message"); e.length > 1 && e.forEach((function (e, o) { o > 0 && t.push(e) })) } if (s = c.closest(".product-details"), s) { let e = s.querySelector(".product__add-to-cart-button"); e && t.push(e); let r = s.querySelector(".product-form__quantity-box-wrapper"); if (r && t.push(r), "sitchish.myshopify.com" === o) { let e = s.querySelector("#product-price"); e && (e.id = ""); let o = s.querySelector("[data-product-price]"); o && o.removeAttribute("data-product-price"); let r = s.querySelector(".form-actions"); r && t.push(r) } let c = s.querySelector(".product-quantity"); if (c && t.push(c), "lavabis-hygiene.myshopify.com" === o) { let e = s.querySelector(".price-preview.price"); e && (e.id = "") } } if (s = c.closest(".product-details"), s) { let e = s.querySelector("#add-to-cart-product-template"); e && t.push(e); let o = s.querySelector(".shopify-payment-button__button"); o && o.remove(); let r = s.querySelector(".quantity"); r && t.push(r) } if (s = c.closest(".gryffeditor"), s) { let e = s.querySelector(".gf_product-quantity"); e && e.parentElement.remove() } if (s = c.closest("#ProductSection-product-template"), s) { let e = s.querySelector(".cbb-frequently-bought-add-button"); e && e.remove(); let t = s.querySelector(".cbb-frequently-bought-form"); t && t.remove() } if (s = c.closest(".product__info-wrapper"), s) { let e = s.querySelector(".product-form__quantity"); e && e.remove(); let t = s.querySelector(".product-form__buttons"); t && t.remove() } if (s = c.closest(".product-form"), s) { let e = s.querySelector(".product-form__payment-container"); e && e.remove(); let o = s.querySelector("#price"); if (o && o.classList.remove("product-price"), window.Shopify && "wilkens-gmbh.myshopify.com" === window.Shopify.shop) { let e = s.querySelector(".unit-price"); e && t.push(e) } } if (s = c.closest(".product-details"), s) { let e = s.querySelector(".button-common"); e && e.remove() } if (s = c.closest(".caption"), s) { let e = s.querySelector(".button.btn-cart"); e && t.push(e) } if (s = c.closest(".product-info-main"), s) { let e = s.querySelectorAll(".form-group")[1]; e && t.push(e); let o = s.querySelector(".price"); o && (o.id = "") } if (s = c.closest(".form_buy_sticky"), s) { let e = s.querySelector(".form-group .btn.button.button-cart"); e && t.push(e); let o = s.querySelector(".form-group input#Quantity"); o && t.push(o) } if (s = c.closest(".product-template__container"), s) { let e = s.querySelector(".store-availability-container"); e && e.remove() } if (s = c.closest(".product-form--container"), s) { let e = s.querySelector(".product-form--options"); e && t.push(e); let o = s.querySelector(".product-form--smart-payment-buttons"); o && t.push(o) } if (s = c.closest(".product--price-wrapper"), s) { let e = s.querySelector('.product--from[data-item="accent-text"]'); e && t.push(e) } if (s = c.closest("#zpproductselectorfull1-wrapper"), s) { let e = s.querySelector(".zpa-button-alignment-center"); e && t.push(e); let o = s.querySelector(".zpa-quantity-block"); o && t.push(o) } if (s = c.closest(".zpa-multi-product-buy-box"), s) { let e = s.querySelector(".zpa-button-alignment-center"); e && t.push(e) } if (s = c.closest(".product-block__inner"), s) { let e = s.querySelector('form[action="/cart/add"].product-form.product-form--mini'); if (e && t.push(e), window.Shopify && "wilkens-gmbh.myshopify.com" === window.Shopify.shop) { let e = s.querySelector(".unit-price"); e && t.push(e) } } if (s = c.closest(".was-price.theme-money"), s && t.push(s), s = c.closest(".box_product_page"), s) { let e = s.querySelector(".product-options-bottom"); e && t.push(e) } if (s = c.closest(".product-default"), s) { let e = s.querySelector(".add-links.clearfix"); e && t.push(e) } if (s = c.closest(".grid__item.medium-up--three-eighths"), s) { let e = s.querySelector('form[action="/cart/add"].shopify-product-form'); e && t.push(e) } if (s = c.closest(".indiv-product"), s) { let e = s.querySelector('form[action="/cart/add"]'); e && t.push(e) } if (s = c.closest('form.product-form[action="/cart/add"]'), s) { let e = s.querySelector(".sf__pcard-image .sf__pcard-quick-add"); e && t.push(e); let o = s.querySelector(".main-product__block-buy_buttons"); o && t.push(o) } if (s = c.closest(".product-grid-item.woodmart-hover-base"), s) { let e = s.querySelector(".fade-in-block"); e && t.push(e); let o = s.querySelector(".product-compare-button"); o && t.push(o) } if (s = c.closest(".grid__item"), s) { if ("www-bonmatch-com.myshopify.com" === o) { let e = s.querySelector(".selector-wrapper.bcpo-file"), o = s.querySelector(".uploadkit.uploadkit-injected"), r = s.querySelector(".uploadkit-form"); e && t.push(e), o && r && r.appendChild(o) } let e = s.querySelector(".product__submit__buttons"); e && t.push(e); let r = s.querySelector(".products > .product-detail > .product-button"), c = s.querySelector(".products > .product-container > .product-button > .quick-view-text"); r && t.push(r), c && t.push(c); let l = s.querySelector("button#AddToCart"), u = s.querySelector('[data-shopify="payment-button"].shopify-payment-button'); if (l && t.push(l), u && t.push(u), "tienda-suca-bikes.myshopify.com" === o) { let e = s.querySelector(".product__unit-price.product__unit-price--spacing"), t = s.querySelector(".c_p-quantity-input-parent"), o = s.querySelector(".masIva"), r = s.querySelector(".c_col-sw-btn"); e && e.classList.remove("hide"), t && t.remove(), o && o.remove(), r && r.remove() } if ("youchique-4183.myshopify.com" === o) { let e = s.querySelector(".card-information__button"); e && t.push(e); let o = s.querySelector(".swym-wishlist-button-bar"); o && t.push(o) } if ("stelladetailsb2b.myshopify.com" === o) { let e = s.querySelector(".bss-b2b-product-vat"); e && t.push(e); let o = s.querySelector("#bss-b2b-tax-inc-excl"); o && t.push(o); let r = s.querySelector(".bss-b2b-collection-item-vat"); r && t.push(r); let c = s.querySelector(".price__regular"); if (c) { c.classList.remove("price__regular"); let e = s.querySelector(".price-item--regular"); e && e.classList.remove("price-item--regular") } let l = s.querySelector(".price__sale"); l && t.push(l) } let i = s.querySelector("quick-view-drawer"); 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-details"), s) { let e = s.querySelector('form[action="/cart/add"] input#addToCart'); e && t.push(e) } if (s = c.closest(".product-item__info-inner"), s) { let e = s.querySelector(".unit-price-measurement"); e && t.push(e) } if (s = c.closest(".product-form__info-item"), s) { let e = s.querySelector(".unit-price-measurement"); e && t.push(e) } if (s = c.closest("div[data-product-blocks]"), s) { let e = s.querySelector(".payment-buttons"); e && t.push(e); let o = s.querySelector(".spt-wishlist-button__wrapper"); o && t.push(o) } if (s = c.closest(".sf__pcard-content.text-center"), s) { let e = s.querySelector("button.add-to-cart.sf__btn"); e && t.push(e) } if (s = c.closest(".product-details.section"), s) { let e = s.querySelector('form#AddToCartForm.product-content-inner[action="/cart/add"]'); e && t.push(e) } if (s = c.closest(".search-item .product-item, .product-grid-row .product-item"), s) { let e = s.querySelector(".product-img .action-btn"); e && t.push(e) } if (s = c.closest(".product-collection__content,.product-page-info"), s) { let e = s.querySelector(".js-product-button-add-to-cart"); e && t.push(e) } if (s = c.closest(".details-info"), s) { let e = s.querySelector(".group-button .add-to-cart"); e && t.push(e) } if (s = c.closest(".product-collection"), s) { let e = s.querySelector(".group-button .add-to-cart"); e && t.push(e) } let u = c.closest("[data-js-product-price]"); if (u && u.setAttribute("bss-ltsp-active", ""), s = c.closest(".product__info-container"), s) { let e = s.querySelector('.form[data-type="add-to-cart-form"] > .shopify-payment-button[data-shopify="payment-button"]'); e && t.push(e) } if (s = c.closest(".products"), s) { let e = s.querySelector(".product-container > .product-button > .variants > .add-cart-btn"), o = s.querySelector(".product-container > .product-button > .quick-view-text"); e && t.push(e), o && t.push(o) } if (s = c.closest(".dt-sc-tabs-container"), s) { let e = s.querySelector(".dt-sc-tabs-content > .tab2 > .owl-stage-outer > .owl-stage > .owl-item > .item-row > .products > .product-container > .product-button > .variants > .add-cart-btn"); e && t.push(e) } if (s = c.closest(".wrapper-container"), s) { let e = s.querySelector(".recently-viewed-products > .products-grid > .grid__item > .product-item > .products > .product-bottom > .price-box > .regular-product > .special-price"), o = s.querySelector(".recently-viewed-products > .products-grid > .grid__item > .product-item > .products > .product-bottom > .action > .variants > .add-to-cart-btn"); e && t.push(e), o && t.push(o) } if (s = c.closest(".featured__collection-product.product-index"), s) { let e = s.querySelector(".product_listing_options"); e && t.push(e) } if (s = c.closest(".product-index"), s) { let e = s.querySelector(".product_listing_options"); e && t.push(e) } if (s = c.closest(".product__section-details"), s) { let e = s.querySelector(".product__section-details__inner--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.myshopify.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__PriceList, .ProductForm__QuantitySelector"); e && "sirenwireless.myshopify.com" !== o && e.remove(); let r = s.querySelector(".ProductFormWrapper"); r && "sirenwireless.myshopify.com" === o && t.push(r) } if ("butterfly-health-and-wellness.myshopify.com" === window.Shopify.shop) { if (s = c.closest(".item-content"), s) { let e = s.querySelector('.module-wrap[data-label="(P) Cart Button"] button.gf_add-to-cart'); e && e.remove() } if (s = c.closest(".gf_product-desc"), s) { let e = s.querySelector("h4"); e && (e.remove(), c.style.display = "none") } if (s = c.closest(".gf_column[data-id]"), s) { let e = s.querySelectorAll('.elementor-section[data-element_type="section"] .elementor-text-editor strong, .gf_product-desc h4, .gf_product-desc strong'); if (e) for (let t of e) t.remove() } } if (s = c.closest(".product-block"), s) { let e = s.querySelector(".quickbuy-toggle"); e && t.push(e) } if (s = c.closest(".productView-details"), s) { let e = s.querySelector(".productView-buttons"), r = s.querySelector(".quantity_selector"), c = s.querySelector(".productView-subtotal"); e && t.push(e), r && t.push(r), c && t.push(c), "remote-king-au.myshopify.com" === o && s.querySelectorAll(".product-customInformation").forEach(e => e.remove()) } if (s = c.closest(".product__content"), s && "campomarzio-trade-uk.myshopify.com" === o) { let e = s.querySelector(".product__text"), o = s.querySelector(".select__fieldset"), r = s.querySelector(".product__submit"); e && t.push(e), o && t.push(o), r && t.push(r) } if (s = c.closest(".product-card__price, .product-single__meta-list"), s) { let e = s.querySelector(".product-single__price, .money-product"); e && e.remove() } if ("ens-nutrition-3419.myshopify.com" === o && (s = c.closest(".card__content"), s)) { let e = s.querySelector(".button.quick-add__submit"); e && e.remove() } if ("b2b-nandu.myshopify.com" === o) { if (s = c.closest(".grid-product__content"), s) { let e = s.querySelector(".grid-product__meta .grid-product__price "); e && e.remove() } let e = c.closest(".product-single__meta"); if (e) { let t = e.querySelector(".product__price.product__price--compare"), o = e.querySelector(".product__price.on-sale"), r = e.querySelector(".product__price-savings"); t && o && r && (t.remove(), o.remove(), r.remove()) } } if ("impjarwholesale.myshopify.com" === o) { if (s = c.closest(".tp-product-content"), s) { let e = s.querySelector("button#AddToCart"), o = s.querySelector(".tp-product-singe-action .tp-product-quantity"); e && t.push(e), o && t.push(o) } if (s = c.closest(".grid-item"), s) { let e = s.querySelector('form[action="/cart/add"]'); e && t.push(e) } } if ("b2b-dbodhi-singapore.myshopify.com" === o && (s = c.closest("del"), s && t.push(c), s = c.closest(".product-information--inner"), s)) { const e = s.querySelector(".product-form"); e && t.push(e) } if (s = c.closest(".lh-details-product"), s) { if ("ags2020.myshopify.com" === o) { let e = s.querySelector(".lh-price"); e && e.classList.remove("lh-price") } let e = s.querySelector(".lh-add_to_cart"); e && t.push(e); let r = s.querySelector(".lh-buy-now"); r && t.push(r); let c = s.querySelector(".lh-compare-at-price"); c && t.push(c) } if (s = c.closest(".lh-collection-item"), s) { if ("ags2020.myshopify.com" === o) { let e = s.querySelector(".lh-price"); e && e.classList.remove("lh-price") } let e = s.querySelector(".lh-product-compare-price"); e && t.push(e) } if (s = c.closest(".ProductMeta, .ProductItem__Info"), s) { let e = s.querySelectorAll(".Price"); e && e.forEach(e => e.remove()) } } t.forEach((function (e) { e.remove() })) } }(e), function (e) { e.ltsp.removeElementByLTSPWrapper = function () { let e = document.getElementsByClassName("bss-ltsp-price-wrapper"), t = []; for (let o = 0; o < e.length; o++) { let r = e[o], c = [], l = r.closest(".product-parent"); if (l) { let e = l.querySelector("form .tt-btn-addtocart"); e && t.push(e); let o = l.querySelector(".tt-btn-quickview"); o && t.push(o) } if (l = r.closest(".product-single__meta"), l = r.closest(".tt-product-single-info"), l) { let e = l.querySelector("form .btn-addtocart"); e && t.push(e); let o = l.querySelector('form[action*="/cart/add"]'); o && t.push(o) } if (l = r.closest(".product_section"), l) { let e = l.querySelector("form .add_to_cart, form .b2b-ajax-submit"); e && t.push(e); let o = l.querySelector(".sale.savings"); o && t.push(o) } if (l = r.closest(".quick-shop-style--inline"), l) { let e = l.querySelector("form .add_to_cart, form .b2b-ajax-submit"); e && t.push(e) } if (l = r.closest(".product-details"), l) { let e = l.querySelector("small em"); e && t.push(e) } if (l = r.closest(".gt_product-body"), l) { let e = l.querySelector("form .gt_product-addtocart"); e && t.push(e); let o = l.querySelector(".gt_product-saved"); o && t.push(o); let r = l.querySelector(".gt_product-price--compare"); r && t.push(r) } if (l = r.closest(".gt_product_content"), l) { let e = l.querySelector("form .gt_product-addtocart"); e && t.push(e); let o = l.querySelector(".gt_product-price--compare"); o && t.push(o) } if (l = r.closest(".gt-single-product"), l) { let e = l.querySelector("div.gt_method_addToCart"); e && t.push(e); let o = l.querySelector(".gt_product-price--compare"); o && t.push(o) } if (l = r.closest("#cont-form"), l) { let e = l.querySelector("form .cont-add-btns"); e && t.push(e) } if (l = r.closest(".theiaStickySidebar"), l) { let e = l.querySelector(".variations_button"); e && t.push(e) } if (l = r.closest(".product-submit"), l) { let e = l.querySelector(".payment-buttons-container"); e && t.push(e) } if (l = r.closest(".productitem"), l) { let e = l.querySelector(".productitem--action"); e && t.push(e) } if (l = r.closest(".product--outer"), l) { let e = l.querySelector(".product-form--atc"); e && t.push(e), e = l.querySelector(".shopify-payment-button"), e && t.push(e) } if (l = r.closest(".product-grouped"), l) { let e = l.querySelector(".product_top form#add-to-cart-form"); e && t.push(e) } if (l = r.closest(".product-item"), l) { let e = l.querySelector(".product-top .product-des .action"); e && t.push(e) } if (l = r.closest(".product-item"), l) { let e = l.querySelector('.product-item__action-button[data-action="add-to-cart"]'); e && t.push(e) } if (l = r.closest(".grid__item.grid-product"), l) { let e = l.querySelector('form[action="/cart/add"] input[type="submit"]'); e && t.push(e); let o = l.querySelector(".grid-product__tag"); o && t.push(o); let r = l.querySelector(".visually-hidden"); r && t.push(r) } if (l = r.closest(".product-info"), l) { let e = l.querySelector('form[action="/cart/add"] .payment-buttons'); e && t.push(e); let o = l.querySelector(".variant-wrapper.variant-wrapper--button"); o && t.push(o) } if (l = r.closest("#product-right"), l) { let e = l.querySelector(".was"); e && t.push(e); let o = l.querySelector(".product-add"); o && t.push(o) } if (l = r.closest(".was"), l && t.push(l), l = r.closest(".product-single__meta"), l) { let e = l.querySelector(".pf__actions"); e && t.push(e) } if (l = r.closest("#AddToCartForm-product-template"), l) { let e = l.querySelector("#CartButtons-product-template"); e && t.push(e) } if (l = r.closest(".Product__Info"), l) { let e = l.querySelector(".ProductMeta__PriceList"); e && t.push(e) } if (l = r.closest(".grid-item"), l) { let e = l.querySelector("#addToCart-product-template"); e && t.push(e); let o = l.querySelector(".payment-buttons"); o && t.push(o) } c.forEach((function (e) { r.closest(e) && t.push(r.closest(e)) })) } t.forEach((function (e) { e.remove() })) } }(e), e.ltsp.removePattern = function () { e.ltsp.removeElementByLTSPMessage(), e.ltsp.removeElementByLTSPWrapper() }, e.ltsp.insertBeforeAddToCart = function () { let t = document.querySelectorAll(".bsscommerce-ltsp-message[data-ltsp-cart-message]"); for (let o = 0; o < t.length; o++) { let r = t[o], c = r.getAttribute("data-ltsp-cart-message"); r.removeAttribute("data-ltsp-cart-message"); let l = [".main-content .product-single__meta", ".main-content .grid__item", ".main-content .grid-item", ".main-content .product__content.product__content--template.product__content--information", "main#MainContent .product__info-container", ".container#product-product .product-info-main", 'main#main section[data-section-id="collection-template"] .product-item', ".product-area__details.product-detail .product-detail__form"]; for (let t = 0; t < l.length; t++) { let o = r.closest(l[t]); if (o && !o.querySelector(".bsscommerce-ltsp-message.hide-message")) { let t = 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; 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(); 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() }]);
  7954.                                </script>
  7955.  
  7956.        </main>
  7957.  
  7958.        <div id="shopify-section-newsletter" class="shopify-section"><br>
  7959.            <style>
  7960.                #shopify-section-newsletter {
  7961.                    background: url(https://i.gyazo.com/d7320f642fd58b4dea9daefaf61b3c93.png);
  7962.                    background-attachment: fixed;
  7963.                    margin-bottom: 0;
  7964.                }
  7965.  
  7966.                input:-webkit-autofill,
  7967.                input:-webkit-autofill:hover,
  7968.                input:-webkit-autofill:active,
  7969.                input:-webkit-autofill:focus {
  7970.                    -webkit-box-shadow: 0 0 0 50px white inset;
  7971.                    -webkit-text-fill-color: #ffffff;
  7972.                }
  7973.  
  7974.                .section-newsletter {
  7975.                    max-width: 800px;
  7976.                    margin: auto;
  7977.                    padding: 50px 0;
  7978.                }
  7979.  
  7980.                .section-newsletter h2 {
  7981.                    font-weight: 700;
  7982.                    font-size: 24px;
  7983.                }
  7984.  
  7985.                .section-newsletter input[type="email"] {
  7986.                    width: 100%;
  7987.                    text-align: center;
  7988.                    border: none;
  7989.                    border-bottom: 1px solid #ffffff;
  7990.                    font-size: 16px;
  7991.                    color: #757575;
  7992.                    background-color: #eeeeee;
  7993.                }
  7994.  
  7995.                .section-newsletter .row label {
  7996.                    font-size: 14px;
  7997.                    cursor: pointer;
  7998.                }
  7999.  
  8000.                .section-newsletter .radio-inline input {
  8001.                    width: auto;
  8002.                }
  8003.  
  8004.                .section-newsletter .btn {
  8005.                    width: 130px;
  8006.                    border: 1px solid #ffffff;
  8007.                    box-shadow: none;
  8008.                    font-size: 16px;
  8009.                    font-weight: 500;
  8010.                    text-transform: uppercase;
  8011.                }
  8012.  
  8013.                .section-newsletter form {
  8014.                    margin: 30px 0 60px;
  8015.                }
  8016.  
  8017.                .section-newsletter input[type="radio"] {
  8018.                    position: absolute;
  8019.                    width: 1px;
  8020.                    height: 1px;
  8021.                }
  8022.  
  8023.                .section-newsletter [type="radio"]:checked+label,
  8024.                .section-newsletter [type="radio"]:not(:checked)+label {
  8025.                    position: relative;
  8026.                    padding-left: 28px;
  8027.                    cursor: pointer;
  8028.                    line-height: 20px;
  8029.                    display: inline-block;
  8030.                    color: #666;
  8031.                }
  8032.  
  8033.                .section-newsletter [type="radio"]:checked+label:before,
  8034.                .section-newsletter [type="radio"]:not(:checked)+label:before {
  8035.                    content: '';
  8036.                    position: absolute;
  8037.                    left: 0;
  8038.                    top: 0;
  8039.                    width: 18px;
  8040.                    height: 18px;
  8041.                    border: 1px solid #ddd;
  8042.                    border-radius: 100%;
  8043.                    background: #fff;
  8044.                }
  8045.  
  8046.                .section-newsletter [type="radio"]:checked+label:after,
  8047.                .section-newsletter [type="radio"]:not(:checked)+label:after {
  8048.                    content: '';
  8049.                    width: 12px;
  8050.                    height: 12px;
  8051.                    background: #ffffff;
  8052.                    position: absolute;
  8053.                    top: 3px;
  8054.                    left: 3px;
  8055.                    border-radius: 100%;
  8056.                    -webkit-transition: all 0.2s ease;
  8057.                    transition: all 0.2s ease;
  8058.                }
  8059.  
  8060.                .section-newsletter [type="radio"]:not(:checked)+label:after {
  8061.                    opacity: 0;
  8062.                    -webkit-transform: scale(0);
  8063.                    transform: scale(0);
  8064.                }
  8065.  
  8066.                .opt-newsletter {
  8067.                    display: none;
  8068.                }
  8069.  
  8070.                .footer-newsletter p,
  8071.                .footer-newsletter p a {
  8072.                    color: #757575;
  8073.                }
  8074.  
  8075.                @media (max-width:991px) {
  8076.                    .section-newsletter h2 {
  8077.                        font-size: 32px;
  8078.                    }
  8079.  
  8080.                    .section-newsletter input {
  8081.                        width: 300px;
  8082.                        font-size: 14px;
  8083.                    }
  8084.  
  8085.                    .section-newsletter {
  8086.                        padding: 50px 20px;
  8087.                    }
  8088.                }
  8089.  
  8090.                @media (max-width: 480px) {
  8091.                    .section-newsletter input[type="email"] {
  8092.                        font-size: 16px;
  8093.                    }
  8094.                }
  8095.            </style>
  8096.            <style>
  8097.                .icon-img-footer {
  8098.                    width: 80px;
  8099.                    padding: 0px 5px;
  8100.                }
  8101.  
  8102.                @media (min-width: 768px) {
  8103.                    .icon-img-footer {
  8104.                        width: 120px;
  8105.                    }
  8106.                }
  8107.  
  8108.                @media (min-width: 992px) {
  8109.                    .icon-img-footer {
  8110.                        width: 120px;
  8111.                    }
  8112.                }
  8113.  
  8114.                .button-login-daftar {
  8115.                    display: grid;
  8116.                    grid-template-columns: repeat(2, 1fr);
  8117.                    font-weight: 700;
  8118.                }
  8119.  
  8120.                .button-login-daftar a {
  8121.                    text-align: center;
  8122.                }
  8123.  
  8124.                .login,
  8125.                .register {
  8126.                    color: #fff;
  8127.                    padding: 15px 10px;
  8128.                    font-size: 23px;
  8129.                }
  8130.  
  8131.                .login,
  8132.                .login-button {
  8133.                    background: linear-gradient(to bottom, #ffd700 0, #ffd700 100%);
  8134.                    border: 2px solid #ffffff;
  8135.                }
  8136.  
  8137.                .register,
  8138.                .register-button {
  8139.                    background: linear-gradient(to bottom, #ffd700 0, #ffd700 100%);
  8140.                    border: 2px solid #ffffff;
  8141.                }
  8142.            </style>
  8143.  
  8144.            <!-- wp:html -->
  8145.            <script>
  8146.                document.addEventListener('DOMContentLoaded',
  8147.                    function () {
  8148.                        const faqItems = document.querySelectorAll('.faq-item');
  8149.                        faqItems.forEach(item => {
  8150.                            const question = item.querySelector('.faq-question');
  8151.                            question.addEventListener('click',
  8152.                                () => {
  8153.                                    const isActive = item.classList.contains('active');
  8154.                                    faqItems.forEach(otherItem => { otherItem.classList.remove('active') });
  8155.                                    if (!isActive) { item.classList.add('active') }
  8156.                                })
  8157.                        })
  8158.                    });
  8159.            </script>
  8160.  
  8161.  
  8162.            <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1">
  8163.            </div>
  8164.            <div class="faq-section">
  8165.                <h2>FAQ</h2>
  8166.                <div class="faq-container">
  8167.                    <div class="faq-item">
  8168.                        <button class="faq-question">1. Kenapa banyak pemain pilih GUATOGEL?<span></span></button>
  8169.                        <div class="faq-answer">
  8170.                            <p>Karena GUATOGEL dikenal stabil, mudah diakses, dan menyediakan pasaran Mahjong Ways yang
  8171.                                lengkap.
  8172.                                Semua data result yang ditampilkan juga cepat dan akurat, sehingga pemain merasa lebih
  8173.                                nyaman saat memantau jadwal maupun memasang angka.</p>
  8174.                        </div>
  8175.                    </div>
  8176.                    <div class="faq-item">
  8177.                        <button class="faq-question">2. Apa benar deposit di GUATOGEL murah?<span></span></button>
  8178.                        <div class="faq-answer">
  8179.                            <p>Betul, GUATOGEL menawarkan minimal deposit yang sangat terjangkau untuk semua pemain.
  8180.                                Kamu
  8181.                                bisa mulai main tanpa perlu modal besar, sehingga cocok baik untuk pemula maupun pemain
  8182.                                yang hanya ingin bermain santai setiap hari.</p>
  8183.                        </div>
  8184.                    </div>
  8185.                    <div class="faq-item">
  8186.                        <button class="faq-question">3. GUATOGEL update hasil Mahjong Ways jam
  8187.                            berapa?<span></span></button>
  8188.                        <div class="faq-answer">
  8189.                            <p>Hasil Mahjong Ways di GUATOGEL diperbarui mengikuti jadwal resmi pasaran dan langsung
  8190.                                tampil
  8191.                                secara real-time. Pemain bisa melihat result tanpa harus reload halaman atau menunggu
  8192.                                lama, sehingga semua informasi tetap akurat dan up-to-date.</p>
  8193.                        </div>
  8194.                    </div>
  8195.                    <div class="faq-item">
  8196.                        <button class="faq-question">4. Apa saja fitur unggulan GUATOGEL?<span></span></button>
  8197.                        <div class="faq-answer">
  8198.                            <p>GUATOGEL punya tampilan yang ringan, pilihan pasaran lengkap, keamanan yang terjamin, dan
  8199.                                proses transaksi yang cepat. Semua fitur ini dirancang agar pemain bisa menikmati
  8200.                                pengalaman bermain togel online dengan lebih nyaman setiap hari.</p>
  8201.                        </div>
  8202.                    </div>
  8203.                    <div class="faq-item">
  8204.                        <button class="faq-question">5. Daftar di GUATOGEL susah nggak?<span></span></button>
  8205.                        <div class="faq-answer">
  8206.                            <p>Nggak susah sama sekali. Kamu cukup isi data singkat di halaman pendaftaran, lalu akunmu
  8207.                                langsung aktif tanpa proses ribet. Setelah itu kamu bisa langsung deposit, cek pasaran,
  8208.                                dan mulai bermain dengan bebas di semua fitur yang tersedia.</p>
  8209.                        </div>
  8210.                    </div>
  8211.  
  8212.                </div>
  8213.  
  8214.            </div>
  8215.  
  8216.        </div>
  8217.  
  8218.  
  8219.        <div class="overlay overlay-cart"></div>
  8220.        <div id="CartDrawer" class="drawer drawer--right">
  8221.            <div class="drawer__header pl-2 pr-2">
  8222.                <div class="drawer__icon-cart display-table-cell">
  8223.                    <a href="/cart" class="">
  8224.                        <svg class="icon icon-cart" version="1.1"
  8225.                            xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="32" height="32"
  8226.                            viewBox="0 0 32 32">
  8227.                            <path fill="#fff"
  8228.                                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">
  8229.                            </path>
  8230.                            <path fill="#fff"
  8231.                                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">
  8232.                            </path>
  8233.                            <path fill="#fff"
  8234.                                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">
  8235.                            </path>
  8236.                            <path fill="#000"
  8237.                                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">
  8238.                            </path>
  8239.                            <path fill="#fff"
  8240.                                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">
  8241.                            </path>
  8242.                            <path fill="#fff"
  8243.                                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">
  8244.                            </path>
  8245.                            <path fill="#fff"
  8246.                                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">
  8247.                            </path>
  8248.                            <path fill="#fff"
  8249.                                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">
  8250.                            </path>
  8251.                        </svg>
  8252.                    </a>
  8253.                </div>
  8254.                <div class="drawer__title h4">Keranjang Belanja</div>
  8255.                <div class="drawer__close js-drawer-close">
  8256.                    <button type="button">
  8257.                        <svg class="icon icon-close" version="1.1"
  8258.                            xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="32" height="32"
  8259.                            viewBox="0 0 32 32">
  8260.                            <title>icon-close</title>
  8261.                            <path
  8262.                                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">
  8263.                            </path>
  8264.                        </svg>
  8265.                    </button>
  8266.                </div>
  8267.            </div>
  8268.            <div id="CartContainer" class="p-2"></div>
  8269.        </div>
  8270.  
  8271.        <script>
  8272.  
  8273.        </script>
  8274.        <script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415"
  8275.            defer></script>
  8276.        <!-- /snippets/ajax-cart-template.liquid -->
  8277.  
  8278.        <script id="CartTemplate" type="text/template">
  8279.  
  8280.     <form action="/cart" method="post" novalidate class="cart ajaxcart">
  8281.       <div class="ajaxcart__inner" {{ cart.item_count }}>
  8282.         {{#items}}
  8283.         <div class="ajaxcart__product">
  8284.           <div class="ajaxcart__row" data-line="{{line}}">
  8285.             <div class="grid">
  8286.               <div class="grid__item one-quarter">
  8287.                 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
  8288.               </div>
  8289.               <div class="grid__item three-quarters">
  8290.                 <p class="d-block mb-3">
  8291.                   <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a>
  8292.                   {{#if variation}}
  8293.                     <span class="ajaxcart__product-meta p">{{variation}}</span>
  8294.                   {{/if}}
  8295.                   {{#properties}}
  8296.                     {{#each this}}
  8297.                       {{#if this}}
  8298.                         <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span>
  8299.                       {{/if}}
  8300.                     {{/each}}
  8301.                   {{/properties}}
  8302.  
  8303.                 </p>
  8304.                 <div class="grid--full display-table">
  8305.                   <div class="grid__item display-table-cell one-half">
  8306.                     <div class="ajaxcart__qty">
  8307.                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}">
  8308.                         <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.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>
  8309.                         <span class="visually-hidden">Kurangi jumlah barang</span>
  8310.                       </button>
  8311.                       <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]*">
  8312.                       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}">
  8313.                         <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.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>
  8314.                         <span class="visually-hidden">Tambahkan jumlah barang</span>
  8315.                       </button>
  8316.                     </div>
  8317.                   </div>
  8318.                   <div class="grid__item display-table-cell one-half text-right">
  8319.                     {{#if discountsApplied}}
  8320.                       <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small>
  8321.                       <br><span class="h4">{{{linePrice}}}</span>
  8322.                     {{else}}
  8323.                       <span class="h4">{{{linePrice}}}</span>
  8324.                     {{/if}}
  8325.                     </div>
  8326.                   </div>
  8327.                   {{#if discountsApplied}}
  8328.                     <div class="grid--full display-table">
  8329.                       <div class="grid__item text-right">
  8330.                         {{#each discounts}}
  8331.                           <small class="ajaxcart-item__discount">{{ this.title }}</small><br>
  8332.                         {{/each}}
  8333.                       </div>
  8334.                     </div>
  8335.                   {{/if}}
  8336.                   </div>
  8337.                 </div>
  8338.               </div>
  8339.             </div>
  8340.           </div>
  8341.         </div>
  8342.         {{/items}}
  8343.       </div>
  8344.       <div class="ajaxcart__footer">
  8345.         <div class="grid--full cart-subtotal py-2">
  8346.             <p>Subtotal</p>
  8347.             <h3 class="primary">{{{totalPrice}}}</h3>
  8348.           {{#if totalCartDiscount}}
  8349.             <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p>
  8350.           {{/if}}
  8351.         </div>
  8352.  
  8353.         <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a>
  8354.  
  8355.         <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p>
  8356.       </div>
  8357.     </form>
  8358.  
  8359.   </script>
  8360.        <script id="AjaxQty" type="text/template">
  8361.  
  8362.     <div class="ajaxcart__qty">
  8363.       <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
  8364.         <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="24" height="24" viewBox="0 0 32 32">
  8365.             <title>icon-minus</title>
  8366.             <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>
  8367.         </svg>
  8368.         <span class="visually-hidden">Kurangi jumlah barang</span>
  8369.           </button>
  8370.               <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*">
  8371.           <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
  8372.         <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.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>
  8373.         <span class="visually-hidden">Tambahkan jumlah barang</span>
  8374.       </button>
  8375.     </div>
  8376.  
  8377.   </script>
  8378.        <script id="JsQty" type="text/template">
  8379.  
  8380.     <div class="js-qty mx-auto mt-2">
  8381.       <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}">
  8382.         <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.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>
  8383.         <span class="visually-hidden">Kurangi jumlah barang</span>
  8384.       </button>
  8385.       <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}">
  8386.       <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}">
  8387.         <svg version="1.1" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.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>
  8388.         <span class="visually-hidden">Tambahkan jumlah barang</span>
  8389.       </button>
  8390.     </div>
  8391.  
  8392.   </script>
  8393.  
  8394.        <style>
  8395.            #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button,
  8396.            #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button,
  8397.            #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {
  8398.                display: none;
  8399.            }
  8400.  
  8401.            #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
  8402.            #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
  8403.            #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {
  8404.                pointer-events: none;
  8405.                opacity: 0.5;
  8406.            }
  8407.  
  8408.            #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input,
  8409.            #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input,
  8410.            #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {
  8411.                pointer-events: none;
  8412.            }
  8413.        </style>
  8414.        <script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452"
  8415.            defer></script>
  8416.        <script>
  8417.            jQuery(function ($) {
  8418.                ajaxCart.init({
  8419.                    formSelector: '#AddToCartForm',
  8420.                    cartContainer: '#CartContainer',
  8421.                    addToCartSelector: '#AddToCartXX',
  8422.                    cartCountSelector: '#CartCount, #CartCount2',
  8423.                    cartCostSelector: '#CartCost',
  8424.                    moneyFormat: "Rp {{amount_no_decimals}}"
  8425.                });
  8426.            });
  8427.  
  8428.            jQuery(document.body).on('afterCartLoad.ajaxCart', function (evt, cart) {
  8429.                // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM
  8430.                timber.RightDrawer.open();
  8431.            });
  8432.        </script>
  8433.  
  8434.  
  8435.  
  8436.  
  8437.        <style>
  8438.            /** Search AutoComplete **/
  8439.            .resultsearch .ui-menu-item[data-cat="Collection"],
  8440.            .resultsearch .ui-menu-item[data-cat="Collection"] {
  8441.                display: none;
  8442.            }
  8443.  
  8444.            .resultsearch .ui-widget.ui-widget-content {
  8445.                width: 100%;
  8446.                top: 48px;
  8447.                border: none;
  8448.                box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  8449.            }
  8450.  
  8451.            .resultsearch .ui-menu-item {
  8452.                text-align: left;
  8453.            }
  8454.  
  8455.            .resultsearch .ui-menu-item>a,
  8456.            .resultsearch .ui-menu-item>span {
  8457.                display: inline-block;
  8458.                width: 100%;
  8459.                font-size: 16px;
  8460.            }
  8461.  
  8462.            .resultsearch .ui-menu-item img {
  8463.                vertical-align: middle;
  8464.            }
  8465.  
  8466.            .resultsearch .ui-menu-item a[data-cat="Collection"] img {
  8467.                display: none;
  8468.            }
  8469.  
  8470.            .resultsearch .ui-menu .ui-state-focus,
  8471.            .resultsearch .ui-menu .ui-state-active {
  8472.                margin: 0;
  8473.            }
  8474.  
  8475.            .ui-state-active,
  8476.            .ui-widget-content .ui-state-active {
  8477.                background: #f2f2f2;
  8478.                border: none;
  8479.                color: #ffffff;
  8480.            }
  8481.  
  8482.            .resultsearch .ui-menu-item>a,
  8483.            .resultsearch .ui-menu-item>span {
  8484.                display: inline-block;
  8485.                width: 100%;
  8486.                font-size: 13px;
  8487.            }
  8488.  
  8489.            .resultsearch .ui-menu-item a[data-cat="Produk"] img {
  8490.                margin-right: 10px;
  8491.            }
  8492.  
  8493.            .resultsearch .ui-menu-item a[data-cat="Produk"] .price {
  8494.                float: right;
  8495.                padding: 15px 0;
  8496.            }
  8497.  
  8498.            .ui-autocomplete-category.ui-menu-item[data-cat="Produk"]:before {
  8499.                content: "Product Populer";
  8500.                font-size: 13px;
  8501.                padding: 5px;
  8502.                margin: 5px 0;
  8503.                background: #f2f2f2;
  8504.                width: 100%;
  8505.                display: block;
  8506.                color: #ffffff;
  8507.            }
  8508.  
  8509.            .ui-autocomplete-category.ui-menu-item[data-cat="Produk"] span {
  8510.                display: none;
  8511.            }
  8512.  
  8513.            .ui-state-active {
  8514.                border: none !important;
  8515.                background-color: #fafafa !important;
  8516.                color: #000 !important;
  8517.            }
  8518.  
  8519.            .ui-menu-item a[data-cat="Collection"] {
  8520.                padding: 5px 12px;
  8521.            }
  8522.  
  8523.            .ui-menu .ui-menu-item {
  8524.                line-height: normal;
  8525.            }
  8526.        </style>
  8527.        <script>
  8528.            $(window).load(function () {
  8529.  
  8530.                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; }
  8531.  
  8532.                $.widget("custom.catcomplete", $.ui.autocomplete, {
  8533.                    _renderMenu: function (ul, items) {
  8534.                        // have search reults split up in categories
  8535.                        var that = this,
  8536.                            currentCategory = "";
  8537.                        $.each(items, function (index, item) {
  8538.                            if (item.category != currentCategory) {
  8539.                                ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>");
  8540.                                currentCategory = item.category;
  8541.                            }
  8542.                            that._renderItemData(ul, item);
  8543.                        });
  8544.                    }
  8545.                });
  8546.  
  8547.                // higlight searched for term
  8548.                $.ui.autocomplete.prototype._renderItem = function (ul, item) {
  8549.                    var term = this.element.val(),
  8550.                        html = item.label.replace(term, "<b>$&</b>");
  8551.                    return $("<li>")
  8552.                        .append(format(item))
  8553.                        .appendTo(ul);
  8554.                };
  8555.  
  8556.  
  8557.                var data = [
  8558.                    { label: "< Rp 500.000", category: "Collection", url: "/collections/rp-500-000", images: " ", price: " " }, { label: "> Rp 1.000.000", category: "Collection", url: "/collections/rp-1-000-000", images: " ", price: " " }, { label: "Acrylic Jewelry Box", category: "Collection", url: "/collections/acrylic-jewelry-box", images: " ", price: " " }, { label: "Ajmal", category: "Collection", url: "/collections/ajmal", images: " ", price: " " }, { label: "Alamat Rumah Duka", category: "Collection", url: "/collections/rumah-duka", images: " ", price: " " }, { label: "Anggrek Bulan", category: "Collection", url: "/collections/anggrek-bulan", images: " ", price: " " }, { label: "Anniversary Gift", category: "Collection", url: "/collections/kado-anniversary", images: " ", price: " " }, { label: "Aquarius ♒️ 20Jan - 18Feb", category: "Collection", url: "/collections/kado-untuk-zodiak-aquarius", images: " ", price: " " }, { label: "Aries ♈️ 21March - 19April", category: "Collection", url: "/collections/kado-untuk-zodiak-aries", images: " ", price: " " }, { label: "Armaf", category: "Collection", url: "/collections/armaf", images: " ", price: " " }, { label: "Aromatherapy Diffuser", category: "Collection", url: "/collections/aromatherapy-diffuser", images: " ", price: " " }, { label: "Artisan Soap", category: "Collection", url: "/collections/artisan-soap", images: " ", price: " " }, { label: "Artisan Tea", category: "Collection", url: "/collections/artisan-tea", images: " ", price: " " }, { label: "AsmaraKu", category: "Collection", url: "/collections/asmaraku", images: " ", price: " " }, { label: "Atkinsons", category: "Collection", url: "/collections/atkinsons", images: " ", price: " " }, { label: "Autumn by Outerbloom", category: "Collection", url: "/collections/autumn-by-outerbloom", images: " ", price: " " }, { label: "Autumn by Outerbloom Chinese New Year", category: "Collection", url: "/collections/autumn-by-outerbloom-chinese-new-year", images: " ", price: " " }, { label: "Autumn by Outerbloom Christmas", category: "Collection", url: "/collections/autumn-by-outerbloom-christmas", images: " ", price: " " }, { label: "Autumn by Outerbloom Luar Jadetabek", category: "Collection", url: "/collections/autumn-by-outerbloom-luar-jadetabek", images: " ", price: " " }, { label: "Autumn by Outerbloom Ramadan", category: "Collection", url: "/collections/autumn-by-outerbloom-ramadan", images: " ", price: " " }, { label: "Autumn Pop", category: "Collection", url: "/collections/autumn-pop", images: " ", price: " " }, { label: "Bachelorette", category: "Collection", url: "/collections/bachelorette", images: " ", price: " " }, { label: "Bag Newborn Hampers", category: "Collection", url: "/collections/bag-newborn-hampers", images: " ", price: " " }, { label: "Balon", category: "Collection", url: "/collections/balon", images: " ", price: " " }, { label: "Beauty Package", category: "Collection", url: "/collections/beauty-package", images: " ", price: " " }, { label: "Best Deal", category: "Collection", url: "/collections/best-deal", images: " ", price: " " }, { label: "Best Seller", category: "Collection", url: "/collections/best-seller", images: " ", price: " " }, { label: "Best Valentine's Deals", category: "Collection", url: "/collections/bes-valentines-deals", images: " ", price: " " }, { label: "Best Value Newborn Hampers Collection", category: "Collection", url: "/collections/best-value-newborn-hampers-collection", images: " ", price: " " }, { label: "Black Tea", category: "Collection", url: "/collections/black-tea", images: " ", price: " " }, { label: "Blessing Hampers", category: "Collection", url: "/collections/blessing-hampers", images: " ", price: " " }, { label: "Bloom Box", category: "Collection", url: "/collections/bloom-box", images: " ", price: " " }, { label: "Bloomcard", category: "Collection", url: "/collections/bloomcard", images: " ", price: " " }, { label: "Boutonniere", category: "Collection", url: "/collections/boutonniere", images: " ", price: " " }, { label: "Bracelet", category: "Collection", url: "/collections/gelang", images: " ", price: " " }, { label: "Buket Bunga Bali", category: "Collection", url: "/collections/buket-bunga-bali", images: " ", price: " " }, { label: "Buket Bunga Bandung", category: "Collection", url: "/collections/buket-bunga-bandung", images: " ", price: " " }, { label: "Buket Bunga Batam", category: "Collection", url: "/collections/buket-bunga-batam", images: " ", price: " " }, { label: "Buket Bunga Demak", category: "Collection", url: "/collections/buket-bunga-demak", images: " ", price: " " }, { label: "Buket Bunga Fresh", category: "Collection", url: "/collections/buket-bunga", images: " ", price: " " }, { label: "Buket Bunga Jepara", category: "Collection", url: "/collections/buket-bunga-jepara", images: " ", price: " " }, { label: "Buket Bunga Medan", category: "Collection", url: "/collections/buket-bunga-medan", images: " ", price: " " }, { label: "Buket Bunga Nusantara", category: "Collection", url: "/collections/buket-bunga-nusantara", images: " ", price: " " }, { label: "Buket Bunga Semarang", category: "Collection", url: "/collections/buket-bunga-semarang", images: " ", price: " " }, { label: "Buket Bunga Sidoarjo", category: "Collection", url: "/collections/buket-bunga-sidoarjo", images: " ", price: " " }, { label: "Buket Bunga Surabaya", category: "Collection", url: "/collections/buket-bunga-surabaya", images: " ", price: " " }, { label: "Buket Bunga Tangerang", category: "Collection", url: "/collections/buket-bunga-tangerang", images: " ", price: " " }, { label: "Buket Bunga Uang", category: "Collection", url: "/collections/buket-bunga-uang", images: " ", price: " " }, { label: "Buket Bunga Valentine", category: "Collection", url: "/collections/buket-bunga-valentine", images: " ", price: " " }, { label: "Buket Bunga Yogyakarta", category: "Collection", url: "/collections/buket-bunga-jogja", images: " ", price: " " }, { label: "Bunga Anggrek Bali", category: "Collection", url: "/collections/bunga-anggrek-bali", images: " ", price: " " }, { label: "Bunga Anggrek Bandung", category: "Collection", url: "/collections/bunga-anggrek-bandung", images: " ", price: " " }, { label: "Bunga Anggrek Surabaya", category: "Collection", url: "/collections/bunga-anggrek-surabaya", images: " ", price: " " }, { label: "Bunga Anniversary", category: "Collection", url: "/collections/bunga-anniversary", images: " ", price: " " }, { label: "Bunga Artificial", category: "Collection", url: "/collections/bunga-artificial", images: " ", price: " " }, { label: "Bunga Buket", category: "Collection", url: "/collections/bunga-buket", images: " ", price: " " }, { label: "Bunga Carnations Bali", category: "Collection", url: "/collections/bunga-carnations-bali", images: " ", price: " " }, { label: "Bunga Carnations Bandung", category: "Collection", url: "/collections/bunga-carnations-bandung", images: " ", price: " " }, { label: "Bunga Carnations Surabaya", category: "Collection", url: "/collections/bunga-carnations-surabaya", images: " ", price: " " }, { label: "Bunga Daisy Bali", category: "Collection", url: "/collections/bunga-daisy-bali", images: " ", price: " " }, { label: "Bunga Daisy Bandung", category: "Collection", url: "/collections/bunga-daisy-bandung", images: " ", price: " " }, { label: "Bunga Daisy Surabaya", category: "Collection", url: "/collections/bunga-daisy-surabaya", images: " ", price: " " }, { label: "Bunga Gerbera Bali", category: "Collection", url: "/collections/bunga-gerbera-bali", images: " ", price: " " }, { label: "Bunga Gerbera Bandung", category: "Collection", url: "/collections/bunga-gerbera-bandung", images: " ", price: " " }, { label: "Bunga Gerbera Surabaya", category: "Collection", url: "/collections/bunga-gerbera-surabaya", images: " ", price: " " }, { label: "Bunga Imlek", category: "Collection", url: "/collections/rangkaian-bunga-tahun-baru-imlek", images: " ", price: " " }, { label: "Bunga Lebaran", category: "Collection", url: "/collections/rangkaian-bunga-lebaran", images: " ", price: " " }, { label: "Bunga Lily Bali", category: "Collection", url: "/collections/bunga-lily-bali", images: " ", price: " " }, { label: "Bunga Lily Bandung", category: "Collection", url: "/collections/bunga-lily-bandung", images: " ", price: " " }, { label: "Bunga Lily Surabaya", category: "Collection", url: "/collections/bunga-lily-surabaya", images: " ", price: " " }, { label: "Bunga Matahari Bali", category: "Collection", url: "/collections/bunga-matahari-bali", images: " ", price: " " }, { label: "Bunga Matahari Bandung", category: "Collection", url: "/collections/bunga-matahari-bandung", images: " ", price: " " }, { label: "Bunga Matahari Surabaya", category: "Collection", url: "/collections/bunga-matahari-surabaya", images: " ", price: " " }, { label: "Bunga Mawar Bali", category: "Collection", url: "/collections/bunga-mawar-bali", images: " ", price: " " }, { label: "Bunga Mawar Bandung", category: "Collection", url: "/collections/bunga-mawar-bandung", images: " ", price: " " }, { label: "Bunga Mawar Surabaya", category: "Collection", url: "/collections/bunga-mawar-surabaya", images: " ", price: " " }, { label: "Bunga Meja", category: "Collection", url: "/collections/bunga-meja", images: " ", price: " " }, { label: "Bunga Meja Bali", category: "Collection", url: "/collections/bunga-meja-bali", images: " ", price: " " }, { label: "Bunga Meja Bandung", category: "Collection", url: "/collections/bunga-meja-bandung", images: " ", price: " " }, { label: "Bunga Meja Batam", category: "Collection", url: "/collections/bunga-meja-batam", images: " ", price: " " }, { label: "Bunga Meja Jepara", category: "Collection", url: "/collections/bunga-meja-jepara", images: " ", price: " " }, { label: "Bunga Meja Medan", category: "Collection", url: "/collections/bunga-meja-medan", images: " ", price: " " }, { label: "Bunga Meja Semarang", category: "Collection", url: "/collections/bunga-meja-semarang", images: " ", price: " " }, { label: "Bunga Meja Sidoarjo", category: "Collection", url: "/collections/bunga-meja-sidoarjo", images: " ", price: " " }, { label: "Bunga Meja Surabaya", category: "Collection", url: "/collections/bunga-meja-surabaya", images: " ", price: " " }, { label: "Bunga Meja Tangerang", category: "Collection", url: "/collections/bunga-meja-tangerang", images: " ", price: " " }, { label: "Bunga Meja Yogyakarta", category: "Collection", url: "/collections/bunga-meja-jogja", images: " ", price: " " }, { label: "Bunga Modern Pastel Bali", category: "Collection", url: "/collections/bunga-modern-pastel-bali", images: " ", price: " " }, { label: "Bunga Modern Pastel Bandung", category: "Collection", url: "/collections/bunga-modern-pastel-bandung", images: " ", price: " " }, { label: "Bunga Modern Pastel Medan", category: "Collection", url: "/collections/bunga-modern-pastel-medan", images: " ", price: " " }, { label: "Bunga Modern Pastel Semarang", category: "Collection", url: "/collections/bunga-modern-pastel-semarang", images: " ", price: " " }, { label: "Bunga Modern Pastel Surabaya", category: "Collection", url: "/collections/bunga-modern-pastel-surabaya", images: " ", price: " " }, { label: "Bunga Modern Pastel Yogyakarta", category: "Collection", url: "/collections/bunga-modern-pastel-yogyakarta", images: " ", price: " " }, { label: "Bunga Natal", category: "Collection", url: "/collections/rangkaian-bunga-christmas", images: " ", price: " " }, { label: "Bunga Papan", category: "Collection", url: "/collections/bunga-papan", images: " ", price: " " }, { label: "Bunga Pernikahan", category: "Collection", url: "/collections/bunga-pernikahan", images: " ", price: " " }, { label: "Bunga Plastik", category: "Collection", url: "/collections/bunga-plastik", images: " ", price: " " }, { label: "Bunga Tulip", category: "Collection", url: "/collections/bunga-tulip", images: " ", price: " " }, { label: "Bunga Ulang Tahun", category: "Collection", url: "/collections/bunga-ulang-tahun", images: " ", price: " " }, { label: "Bunga Wisuda", category: "Collection", url: "/collections/karangan-bunga-wisuda", images: " ", price: " " }, { label: "Cake", category: "Collection", url: "/collections/kue", images: " ", price: " " }, { label: "Cake", category: "Collection", url: "/collections/cake", images: " ", price: " " }, { label: "Cake Sameday Delivery", category: "Collection", url: "/collections/cake-sameday-delivery", images: " ", price: " " }, { label: "Cake, Hampers & Gifts", category: "Collection", url: "/collections/cake-hampers", images: " ", price: " " }, { label: "Cancer ♋️ 22June - 22July", category: "Collection", url: "/collections/kado-untuk-zodiak-cancer", images: " ", price: " " }, { label: "Capricorn ♑️ 21Dec - 19Jan", category: "Collection", url: "/collections/kado-untuk-zodiak-capricorn", images: " ", price: " " }, { label: "Care Packages", category: "Collection", url: "/collections/toko-parcel-murah", images: " ", price: " " }, { label: "Care Packages (Keluarga, Sahabat, Karyawan)", category: "Collection", url: "/collections/sehat-bebas-corona", images: " ", price: " " }, { label: "Carnations", category: "Collection", url: "/collections/bunga-anyelir", images: " ", price: " " }, { label: "Celebration", category: "Collection", url: "/collections/celebration", images: " ", price: " " }, { label: "Chléa Paperie", category: "Collection", url: "/collections/chlea-paperie", images: " ", price: " " }, { label: "Chocodot", category: "Collection", url: "/collections/chocodot", images: " ", price: " " }, { label: "Christmas", category: "Collection", url: "/collections/christmas", images: " ", price: " " }, { label: "Classic Cake", category: "Collection", url: "/collections/classic-cake", images: " ", price: " " }, { label: "Classic CNY Hampers", category: "Collection", url: "/collections/classic-cny-hampers", images: " ", price: " " }, { label: "Classic CNY Hampers Luar Jabodetabek", category: "Collection", url: "/collections/classic-cny-hampers-luar-jabodetabek", images: " ", price: " " }, { label: "Classic Hampers", category: "Collection", url: "/collections/classic-hampers", images: " ", price: " " }, { label: "Classic Hampers Luar Jadetabek", category: "Collection", url: "/collections/classic-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Classic Style Flowers", category: "Collection", url: "/collections/classic-style-flowers", images: " ", price: " " }, { label: "Cokelat", category: "Collection", url: "/collections/permen-coklat", images: " ", price: " " }, { label: "Collection List", category: "Collection", url: "/collections/collection-list", images: " ", price: " " }, { label: "Condolences", category: "Collection", url: "/collections/axa-condolences", images: " ", price: " " }, { label: "Congratulations", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-selamat", images: " ", price: " " }, { label: "Corporate Gifts", category: "Collection", url: "/collections/corporate-gifts", images: " ", price: " " }, { label: "Corporate Hampers", category: "Collection", url: "/collections/corporate-hampers", images: " ", price: " " }, { label: "Couple Gift", category: "Collection", url: "/collections/couple-gift", images: " ", price: " " }, { label: "Craft Sweetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " }, { label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " }, { label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " }, { label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " }, { label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " }, { label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " }, { label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " }, { label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " }, { label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " }, { label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " }, { label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " }, { label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " }, { label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " }, { label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " }, { label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " }, { label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " }, { label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " }, { label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " }, { label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " }, { label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " }, { label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " }, { label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " }, { label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " }, { label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " }, { label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " }, { label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " }, { label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " }, { label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " }, { label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " }, { label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " }, { label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " }, { label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " }, { label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " }, { label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " }, { label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " }, { label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " }, { label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " }, { label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " }, { label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " }, { label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " }, { label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " }, { label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " }, { label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " }, { label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " }, { label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " }, { label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " }, { label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " }, { label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }, { label: "Father's Day Special", category: "Collection", url: "/collections/kado-untuk-ayah", images: " ", price: " " }, { label: "Ferrari", category: "Collection", url: "/collections/ferrari", images: " ", price: " " }, { label: "Ferrero Rocher", category: "Collection", url: "/collections/ferrero-rocher", images: " ", price: " " }, { label: "Festival Belanja Online", category: "Collection", url: "/collections/fbo-2018", images: " ", price: " " }, { label: "Floatbox", category: "Collection", url: "/collections/floatbox", images: " ", price: " " }, { label: "Flower", category: "Collection", url: "/collections/flower", images: " ", price: " " }, { label: "Flower Best Deals", category: "Collection", url: "/collections/flower-best-deals", images: " ", price: " " }, { label: "Flowers", category: "Collection", url: "/collections/toko-bunga", images: " ", price: " " }, { label: "Flowers For Him", category: "Collection", url: "/collections/bunga-untuk-pria", images: " ", price: " " }, { label: "Flowers Style", category: "Collection", url: "/collections/style", images: " ", price: " " }, { label: "Flowers Type", category: "Collection", url: "/collections/type", images: " ", price: " " }, { label: "For Her", category: "Collection", url: "/collections/kado-untuk-wanita", images: " ", price: " " }, { label: "For Him", category: "Collection", url: "/collections/kado-untuk-pria", images: " ", price: " " }, { label: "Forever Flower", category: "Collection", url: "/collections/forever-flower", images: " ", price: " " }, { label: "Forever Flower Holo Series", category: "Collection", url: "/collections/forever-flower-holo-series", images: " ", price: " " }, { label: "Forever Flower x NestBloom", category: "Collection", url: "/collections/forever-flower-x-nestbloom", images: " ", price: " " }, { label: "Fortune Hampers", category: "Collection", url: "/collections/fortune-hampers", images: " ", price: " " }, { label: "Frank & Co", category: "Collection", url: "/collections/franknco", images: " ", price: " " }, { label: "Fresh Flowers", category: "Collection", url: "/collections/fresh-flower", images: " ", price: " " }, { label: "Gantungan Kunci", category: "Collection", url: "/collections/gantungan-kunci", images: " ", price: " " }, { label: "Gelato", category: "Collection", url: "/collections/gelato", images: " ", price: " " }, { label: "Gelato Pie", category: "Collection", url: "/collections/gelato-pie", images: " ", price: " " }, { label: "Gemini ♊️ 21May - 21June", category: "Collection", url: "/collections/kado-untuk-zodiak-gemini", images: " ", price: " " }, { label: "Gerbera", category: "Collection", url: "/collections/gerbera", images: " ", price: " " }, { label: "Get Well Soon", category: "Collection", url: "/collections/rangkaian-bunga-gws", images: " ", price: " " }, { label: "Giant Flower Bali", category: "Collection", url: "/collections/giant-flower-bali", images: " ", price: " " }, { label: "Giant Flower Bandung", category: "Collection", url: "/collections/giant-flower-bandung", images: " ", price: " " }, { label: "Giant Flower Bouquet", category: "Collection", url: "/collections/giant-flower", images: " ", price: " " }, { label: "Gift", category: "Collection", url: "/collections/souvenir-kado-hadiah", images: " ", price: " " }, { label: "Gift by Recipient", category: "Collection", url: "/collections/gift-by-recipient", images: " ", price: " " }, { label: "Gift for Your Girlfriend", category: "Collection", url: "/collections/kado-untuk-pacar-wanita", images: " ", price: " " }, { label: "Gifts", category: "Collection", url: "/collections/gifts", images: " ", price: " " }, { label: "Glassbox Hampers", category: "Collection", url: "/collections/glassbox-hampers", images: " ", price: " " }, { label: "Glassware Hampers", category: "Collection", url: "/collections/parcel-pecah-belah", images: " ", price: " " }, { label: "Gold Jewelry", category: "Collection", url: "/collections/perhiasan-emas", images: " ", price: " " }, { label: "Grand Opening", category: "Collection", url: "/collections/grand-opening", images: " ", price: " " }, { label: "Granola", category: "Collection", url: "/collections/granola", images: " ", price: " " }, { label: "Green Tea", category: "Collection", url: "/collections/green-tea", images: " ", price: " " }, { label: "Greeting Card All", category: "Collection", url: "/collections/greeting-card-all", images: " ", price: " " }, { label: "Greeting Card Anniversary", category: "Collection", url: "/collections/greeting-card-anniversary", images: " ", price: " " }, { label: "Greeting Card Birthday", category: "Collection", url: "/collections/greeting-card-birthday", images: " ", price: " " }, { label: "Greeting Card Eid", category: "Collection", url: "/collections/greeting-card-eid", images: " ", price: " " }, { label: "Greeting Card Graduation", category: "Collection", url: "/collections/greeting-card-graduation", images: " ", price: " " }, { label: "Greeting Card Mother's Day", category: "Collection", url: "/collections/greeting-card-mothers-day", images: " ", price: " " }, { label: "Greeting Card Newborn", category: "Collection", url: "/collections/greeting-card-newborn", images: " ", price: " " }, { label: "Greeting Card Others", category: "Collection", url: "/collections/greeting-card-others", images: " ", price: " " }, { label: "Greeting Card Valentine", category: "Collection", url: "/collections/greeting-card-valentine", images: " ", price: " " }, { label: "Greeting Card Wedding", category: "Collection", url: "/collections/greeting-card-wedding", images: " ", price: " " }, { label: "Grooming", category: "Collection", url: "/collections/grooming", images: " ", price: " " }, { label: "Hadiah Tahun Baru Imlek", category: "Collection", url: "/collections/kado-imlek", images: " ", price: " " }, { label: "Hadiah untuk Bayi", category: "Collection", url: "/collections/kado-untuk-bayi", images: " ", price: " " }, { label: "Hadiah untuk Pacar", category: "Collection", url: "/collections/kado-untuk-pacar", images: " ", price: " " }, { label: "Hadiah untuk Pernikahan", category: "Collection", url: "/collections/kado-untuk-pernikahan", images: " ", price: " " }, { label: "Hadiah untuk Sahabat", category: "Collection", url: "/collections/kado-untuk-sahabat", images: " ", price: " " }, { label: "Hampers", category: "Collection", url: "/collections/hampers", images: " ", price: " " }, { label: "Hampers Baby Boy", category: "Collection", url: "/collections/hampers-baby-boy", images: " ", price: " " }, { label: "Hampers Baby Girl", category: "Collection", url: "/collections/hampers-baby-girl", images: " ", price: " " }, { label: "Hampers Baby Unisex", category: "Collection", url: "/collections/hampers-baby-unisex", images: " ", price: " " }, { label: "Hampers Delivery Indonesia", category: "Collection", url: "/collections/parcel-indonesia", images: " ", price: " " }, { label: "Hampers Lebaran 2025", category: "Collection", url: "/collections/parcel-lebaran", images: " ", price: " " }, { label: "Hampers Lebaran Bali", category: "Collection", url: "/collections/hampers-lebaran-bali", images: " ", price: " " }, { label: "Hampers Lebaran Bandung", category: "Collection", url: "/collections/hampers-lebaran-bandung", images: " ", price: " " }, { label: "Hampers Lebaran Jakarta", category: "Collection", url: "/collections/hampers-lebaran-jakarta", images: " ", price: " " }, { label: "Hampers Lebaran Semarang", category: "Collection", url: "/collections/hampers-lebaran-semarang", images: " ", price: " " }, { label: "Hampers Lebaran Surabaya", category: "Collection", url: "/collections/hampers-lebaran-surabaya", images: " ", price: " " }, { label: "Hampers Lebaran Yogyakarta", category: "Collection", url: "/collections/hampers-lebaran-yogyakarta", images: " ", price: " " }, { label: "Hand Sanitizer", category: "Collection", url: "/collections/hand-sanitizer", images: " ", price: " " }, { label: "Happy Birthday", category: "Collection", url: "/collections/kado-ulang-tahun", images: " ", price: " " }, { label: "Harbolnas", category: "Collection", url: "/collections/harbolnas-2018", images: " ", price: " " }, { label: "Harbolnas Produk Lokal", category: "Collection", url: "/collections/produk-lokal", images: " ", price: " " }, { label: "Hari Belanja Online Nasional", category: "Collection", url: "/collections/harbolnas", images: " ", price: " " }, { label: "Hari Guru", category: "Collection", url: "/collections/hari-guru", images: " ", price: " " }, { label: "Healthy Creations", category: "Collection", url: "/collections/healthy-creations", images: " ", price: " " }, { label: "Healthy Hampers", category: "Collection", url: "/collections/healthy-hampers", images: " ", price: " " }, { label: "Heritage Box", category: "Collection", url: "/collections/heritage-boxes", images: " ", price: " " }, { label: "Heritage Chinese New Year Hampers", category: "Collection", url: "/collections/heritage-chinese-new-year-hampers", images: " ", price: " " }, { label: "Heritage Christmas Hampers", category: "Collection", url: "/collections/heritage-christmas-hampers", images: " ", price: " " }, { label: "Heritage Hampers", category: "Collection", url: "/collections/heritage-hampers", images: " ", price: " " }, { label: "Heritage Ramadan Hampers", category: "Collection", url: "/collections/heritage-ramadan-hampers", images: " ", price: " " }, { label: "Hexa Hampers", category: "Collection", url: "/collections/hexa-hampers", images: " ", price: " " }, { label: "Hexa Hampers Luar Jadetabek", category: "Collection", url: "/collections/hexa-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Hexa Newborn", category: "Collection", url: "/collections/hexa-newborn", images: " ", price: " " }, { label: "Holo Bag", category: "Collection", url: "/collections/holo-bag", images: " ", price: " " }, { label: "Holo Series", category: "Collection", url: "/collections/holo-series", images: " ", price: " " }, { label: "Home Decoration & Photo Frame", category: "Collection", url: "/collections/home-decoration", images: " ", price: " " }, { 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: " " }, { 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-kendal", images: " ", price: " " }, { label: "Karangan Bunga Kendari", category: "Collection", url: "/collections/karangan-bunga-kendari", images: " ", price: " " }, { label: "Karangan Bunga Ketapang", category: "Collection", url: "/collections/karangan-bunga-ketapang", images: " ", price: " " }, { label: "Karangan Bunga Klaten", category: "Collection", url: "/collections/karangan-bunga-klaten", images: " ", price: " " }, { label: "Karangan Bunga Kota Batu", category: "Collection", url: "/collections/karangan-bunga-kota-batu", images: " ", price: " " }, { label: "Karangan Bunga Kudus", category: "Collection", url: "/collections/karangan-bunga-kudus", images: " ", price: " " }, { label: "Karangan Bunga Kupang", category: "Collection", url: "/collections/karangan-bunga-kupang", images: " ", price: " " }, { label: "Karangan Bunga Lamongan", category: "Collection", url: "/collections/karangan-bunga-lamongan", images: " ", price: " " }, { label: "Karangan Bunga Lampung", category: "Collection", url: "/collections/karangan-bunga-lampung", images: " ", price: " " }, { label: "Karangan Bunga Langkat", category: "Collection", url: "/collections/karangan-bunga-langkat", images: " ", price: " " }, { label: "Karangan Bunga Lembang", category: "Collection", url: "/collections/karangan-bunga-lembang", images: " ", price: " " }, { label: "Karangan Bunga Lombok", category: "Collection", url: "/collections/karangan-bunga-lombok", images: " ", price: " " }, { label: "Karangan Bunga Lubuk Pakam", category: "Collection", url: "/collections/karangan-bunga-lubuk-pakam", images: " ", price: " " }, { label: "Karangan Bunga Lumajang", category: "Collection", url: "/collections/karangan-bunga-lumajang", images: " ", price: " " }, { label: "Karangan Bunga Madiun", category: "Collection", url: "/collections/karangan-bunga-madiun", images: " ", price: " " }, { label: "Karangan Bunga Magelang", category: "Collection", url: "/collections/karangan-bunga-magelang", images: " ", price: " " }, { label: "Karangan Bunga Majalengka", category: "Collection", url: "/collections/karangan-bunga-majalengka", images: " ", price: " " }, { label: "Karangan Bunga Makassar", category: "Collection", url: "/collections/karangan-bunga-makassar", images: " ", price: " " }, { label: "Karangan Bunga Malang", category: "Collection", url: "/collections/karangan-bunga-malang", images: " ", price: " " }, { label: "Karangan Bunga Mamuju", category: "Collection", url: "/collections/karangan-bunga-mamuju", images: " ", price: " " }, { label: "Karangan Bunga Manado", category: "Collection", url: "/collections/karangan-bunga-manado", images: " ", price: " " }, { label: "Karangan Bunga Manokwari", category: "Collection", url: "/collections/karangan-bunga-manokwari", images: " ", price: " " }, { label: "Karangan Bunga Maros", category: "Collection", url: "/collections/karangan-bunga-maros", images: " ", price: " " }, { label: "Karangan Bunga Mataram", category: "Collection", url: "/collections/karangan-bunga-mataram", images: " ", price: " " }, { label: "Karangan Bunga Mojokerto", category: "Collection", url: "/collections/karangan-bunga-mojokerto", images: " ", price: " " }, { label: "Karangan Bunga Nganjuk", category: "Collection", url: "/collections/karangan-bunga-nganjuk", images: " ", price: " " }, { label: "Karangan Bunga Nias", category: "Collection", url: "/collections/karangan-bunga-nias", images: " ", price: " " }, { label: "Karangan Bunga Padang", category: "Collection", url: "/collections/karangan-bunga-padang", images: " ", price: " " }, { label: "Karangan Bunga Palangkaraya", category: "Collection", url: "/collections/karangan-bunga-palangkaraya", images: " ", price: " " }, { label: "Karangan Bunga Palu", category: "Collection", url: "/collections/karangan-bunga-palu", images: " ", price: " " }, { label: "Karangan Bunga Pangkal Pinang", category: "Collection", url: "/collections/karangan-bunga-pangkal-pinang", images: " ", price: " " }, { label: "Karangan Bunga Papan", category: "Collection", url: "/collections/karangan-bunga", images: " ", price: " " }, { label: "Karangan Bunga Papan Bandar Lampung", category: "Collection", url: "/collections/karangan-bunga-bandar-lampung", images: " ", price: " " }, { label: "Karangan Bunga Papan Bekasi", category: "Collection", url: "/collections/karangan-bunga-bekasi", images: " ", price: " " }, { label: "Karangan Bunga Papan Binjai", category: "Collection", url: "/collections/karangan-bunga-binjai", images: " ", price: " " }, { label: "Karangan Bunga Papan Blitar", category: "Collection", url: "/collections/karangan-bunga-blitar", images: " ", price: " " }, { label: "Karangan Bunga Papan Buleleng", category: "Collection", url: "/collections/karangan-bunga-buleleng", images: " ", price: " " }, { label: "Karangan Bunga Papan Cibubur", category: "Collection", url: "/collections/karangan-bunga-cibubur", images: " ", price: " " }, { label: "Karangan Bunga Papan Deli Serdang", category: "Collection", url: "/collections/karangan-bunga-deli-serdang", images: " ", price: " " }, { label: "Karangan Bunga Papan Jakarta Timur", category: "Collection", url: "/collections/karangan-bunga-jakarta-timur", images: " ", price: " " }, { label: "Karangan Bunga Papan Karo", category: "Collection", url: "/collections/karangan-bunga-karo", images: " ", price: " " }, { label: "Karangan Bunga Papan Medan", category: "Collection", url: "/collections/karangan-bunga-medan", images: " ", price: " " }, { label: "Karangan Bunga Papan Ngawi", category: "Collection", url: "/collections/karangan-bunga-ngawi", images: " ", price: " " }, { label: "Karangan Bunga Papan Palembang", category: "Collection", url: "/collections/karangan-bunga-palembang", images: " ", price: " " }, { label: "Karangan Bunga Papan Pemalang", category: "Collection", url: "/collections/karangan-bunga-pemalang", images: " ", price: " " }, { label: "Karangan Bunga Papan Rembang", category: "Collection", url: "/collections/karangan-bunga-rembang", images: " ", price: " " }, { label: "Karangan Bunga Papan Sragen", category: "Collection", url: "/collections/karangan-bunga-sragen", images: " ", price: " " }, { label: "Karangan Bunga Papan Tegal", category: "Collection", url: "/collections/karangan-bunga-tegal", images: " ", price: " " }, { label: "Karangan Bunga Papan Temanggung", category: "Collection", url: "/collections/karangan-bunga-temanggung", images: " ", price: " " }, { label: "Karangan Bunga Parepare", category: "Collection", url: "/collections/karangan-bunga-parepare", images: " ", price: " " }, { label: "Karangan Bunga Pasuruan", category: "Collection", url: "/collections/karangan-bunga-pasuruan", images: " ", price: " " }, { label: "Karangan Bunga Pati", category: "Collection", url: "/collections/karangan-bunga-pati", images: " ", price: " " }, { label: "Karangan Bunga Pekalongan", category: "Collection", url: "/collections/karangan-bunga-pekalongan", images: " ", price: " " }, { label: "Karangan Bunga Pekanbaru", category: "Collection", url: "/collections/karangan-bunga-pekanbaru", images: " ", price: " " }, { label: "Karangan Bunga Pematangsiantar", category: "Collection", url: "/collections/karangan-bunga-pematangsiantar", images: " ", price: " " }, { label: "Karangan Bunga Ponorogo", category: "Collection", url: "/collections/karangan-bunga-ponorogo", images: " ", price: " " }, { label: "Karangan Bunga Pontianak", category: "Collection", url: "/collections/karangan-bunga-pontianak", images: " ", price: " " }, { label: "Karangan Bunga Probolinggo", category: "Collection", url: "/collections/karangan-bunga-probolinggo", images: " ", price: " " }, { label: "Karangan Bunga Purbalingga", category: "Collection", url: "/collections/karangan-bunga-purbalingga", images: " ", price: " " }, { label: "Karangan Bunga Purwokerto", category: "Collection", url: "/collections/karangan-bunga-purwokerto", images: " ", price: " " }, { label: "Karangan Bunga Purworejo", category: "Collection", url: "/collections/karangan-bunga-purworejo", images: " ", price: " " }, { label: "Karangan Bunga Riau", category: "Collection", url: "/collections/karangan-bunga-riau", images: " ", price: " " }, { label: "Karangan Bunga Salatiga", category: "Collection", url: "/collections/karangan-bunga-salatiga", images: " ", price: " " }, { label: "Karangan Bunga Samarinda", category: "Collection", url: "/collections/karangan-bunga-samarinda", images: " ", price: " " }, { label: "Karangan Bunga Semarang", category: "Collection", url: "/collections/karangan-bunga-semarang", images: " ", price: " " }, { label: "Karangan Bunga Serang", category: "Collection", url: "/collections/karangan-bunga-serang", images: " ", price: " " }, { label: "Karangan Bunga Sibolga", category: "Collection", url: "/collections/karangan-bunga-sibolga", images: " ", price: " " }, { label: "Karangan Bunga Sidoarjo", category: "Collection", url: "/collections/karangan-bunga-sidoarjo", images: " ", price: " " }, { label: "Karangan Bunga Singkawang", category: "Collection", url: "/collections/karangan-bunga-singkawang", images: " ", price: " " }, { label: "Karangan Bunga Solo", category: "Collection", url: "/collections/karangan-bunga-solo", images: " ", price: " " }, { label: "Karangan Bunga Sorong", category: "Collection", url: "/collections/karangan-bunga-sorong", images: " ", price: " " }, { label: "Karangan Bunga Subang", category: "Collection", url: "/collections/karangan-bunga-subang", images: " ", price: " " }, { label: "Karangan Bunga Sukabumi", category: "Collection", url: "/collections/karangan-bunga-sukabumi", images: " ", price: " " }, { label: "Karangan Bunga Sumbawa", category: "Collection", url: "/collections/karangan-bunga-sumbawa", images: " ", price: " " }, { label: "Karangan Bunga Surabaya", category: "Collection", url: "/collections/karangan-bunga-surabaya", images: " ", price: " " }, { label: "Karangan Bunga Surakarta", category: "Collection", url: "/collections/karangan-bunga-surakarta", images: " ", price: " " }, { label: "Karangan Bunga Tangerang", category: "Collection", url: "/collections/karangan-bunga-tangerang", images: " ", price: " " }, { label: "Karangan Bunga Tasikmalaya", category: "Collection", url: "/collections/karangan-bunga-tasikmalaya", images: " ", price: " " }, { label: "Karangan Bunga Ternate", category: "Collection", url: "/collections/karangan-bunga-ternate", images: " ", price: " " }, { label: "Karangan Bunga Tolitoli", category: "Collection", url: "/collections/karangan-bunga-tolitoli", images: " ", price: " " }, { label: "Karangan Bunga Toraja", category: "Collection", url: "/collections/karangan-bunga-toraja", images: " ", price: " " }, { label: "Karangan Bunga Tuban", category: "Collection", url: "/collections/karangan-bunga-tuban", images: " ", price: " " }, { label: "Karangan Bunga Tulungagung", category: "Collection", url: "/collections/karangan-bunga-tulungagung", images: " ", price: " " }, { label: "Karangan Bunga Wakatobi", category: "Collection", url: "/collections/karangan-bunga-wakatobi", images: " ", price: " " }, { label: "Karangan Bunga Wiyung", category: "Collection", url: "/collections/karangan-bunga-wiyung", images: " ", price: " " }, { label: "Karangan Bunga Wonogiri", category: "Collection", url: "/collections/karangan-bunga-wonogiri", images: " ", price: " " }, { label: "Karangan Bunga Wonokromo", category: "Collection", url: "/collections/karangan-bunga-wonokromo", images: " ", price: " " }, { label: "Karangan Bunga Wonosobo", category: "Collection", url: "/collections/karangan-bunga-wonosobo", images: " ", price: " " }, { label: "Karangan Bunga Yogyakarta", category: "Collection", url: "/collections/karangan-bunga-yogyakarta", images: " ", price: " " }, { label: "Kartu Ucapan", category: "Collection", url: "/collections/kartu-ucapan", images: " ", price: " " }, { label: "Kue Anniversary", category: "Collection", url: "/collections/kue-anniversary", images: " ", price: " " }, { label: "Kue Bachelorette", category: "Collection", url: "/collections/kue-bachelorette", images: " ", price: " " }, { label: "Kue Bandung", category: "Collection", url: "/collections/kue-bandung", images: " ", price: " " }, { label: "Kue Bulan", category: "Collection", url: "/collections/kue-bulan", images: " ", price: " " }, { label: "Kue Imlek", category: "Collection", url: "/collections/kue-imlek", images: " ", price: " " }, { label: "Kue Kering", category: "Collection", url: "/collections/kue-kering", images: " ", price: " " }, { label: "Kue Natal", category: "Collection", url: "/collections/kue-natal", images: " ", price: " " }, { label: "Kue Pernikahan", category: "Collection", url: "/collections/kue-pernikahan", images: " ", price: " " }, { label: "Kue Tart", category: "Collection", url: "/collections/kue-tart", images: " ", price: " " }, { label: "Kue Tart Oma Elly", category: "Collection", url: "/collections/kue-tart-oma-elly", images: " ", price: " " }, { label: "Kue Ulang Tahun", category: "Collection", url: "/collections/kue-ulang-tahun", images: " ", price: " " }, { label: "Lalique", category: "Collection", url: "/collections/lalique", images: " ", price: " " }, { label: "Le Sucre Du Patisserie", category: "Collection", url: "/collections/le-sucre-du-patisserie", images: " ", price: " " }, { label: "Leo ♌️ 23July - 22Augst", category: "Collection", url: "/collections/kado-untuk-zodiak-leo", images: " ", price: " " }, { label: "Letter Box", category: "Collection", url: "/collections/letter-box", images: " ", price: " " }, { label: "Libra ♎️ 23Sept - 23Oct", category: "Collection", url: "/collections/kado-untuk-zodiak-libra", images: " ", price: " " }, { label: "Lilin Aromaterapi", category: "Collection", url: "/collections/lilin-aromaterapi", images: " ", price: " " }, { label: "Lily", category: "Collection", url: "/collections/bunga-lily", images: " ", price: " " }, { label: "Lindt", category: "Collection", url: "/collections/lindt", images: " ", price: " " }, { label: "Locations", category: "Collection", url: "/collections/locations", images: " ", price: " " }, { label: "Love & Romance", category: "Collection", url: "/collections/rangkaian-bunga-i-love-you", images: " ", price: " " }, { label: "Love Bag Collection", category: "Collection", url: "/collections/love-bag-collection", images: " ", price: " " }, { label: "Love Bundle", category: "Collection", url: "/collections/paket-promo-spesial-valentine", images: " ", price: " " }, { label: "Love Bundle Nusantara", category: "Collection", url: "/collections/love-bundle-nusantara", images: " ", price: " " }, { label: "Luxury Chinese New Year Hampers", category: "Collection", url: "/collections/luxury-chinese-new-year-hampers", images: " ", price: " " }, { label: "Luxury Christmas Hampers", category: "Collection", url: "/collections/luxury-christmas-hampers", images: " ", price: " " }, { label: "Luxury Hampers", category: "Collection", url: "/collections/luxury-hampers", images: " ", price: " " }, { label: "Luxury Hampers Luar Jadetabek", category: "Collection", url: "/collections/luxury-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Luxury Newborn Hampers Collection", category: "Collection", url: "/collections/luxury-newborn-hampers-collection", images: " ", price: " " }, { label: "Luxury Ramadan Hampers", category: "Collection", url: "/collections/luxury-ramadan-hampers", images: " ", price: " " }, { label: "Luxury Set", category: "Collection", url: "/collections/luxury", images: " ", price: " " }, { label: "Manual", category: "Collection", url: "/collections/manual", images: " ", price: " " }, { label: "Massimo Gelato", category: "Collection", url: "/collections/massimo-gelato", images: " ", price: " " }, { label: "Men's Collection", category: "Collection", url: "/collections/mens-collection", images: " ", price: " " }, { label: "Mercedes Benz", category: "Collection", url: "/collections/mercedes-benz", images: " ", price: " " }, { label: "Mercy Hampers", category: "Collection", url: "/collections/mercy-hampers", 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-boho-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: " " }, { 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: " " }, { label: "Papan Bunga Congratulations Serang", category: "Collection", url: "/collections/papan-bunga-congratulations-serang", images: " ", price: " " }, { label: "Papan Bunga Congratulations Sidoarjo", category: "Collection", url: "/collections/papan-bunga-congratulations-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Congratulations Surabaya", category: "Collection", url: "/collections/papan-bunga-congratulations-surabaya", images: " ", price: " " }, { label: "Papan Bunga Congratulations Tangerang", category: "Collection", url: "/collections/papan-bunga-congratulations-tangerang", images: " ", price: " " }, { label: "Papan Bunga Congratulations Yogyakarta", category: "Collection", url: "/collections/papan-bunga-congratulations-yogyakarta", images: " ", price: " " }, { label: "Papan Bunga Danau Toba", category: "Collection", url: "/collections/papan-bunga-danau-toba", images: " ", price: " " }, { label: "Papan Bunga Deli Serdang", category: "Collection", url: "/collections/papan-bunga-deli-serdang", images: " ", price: " " }, { label: "Papan Bunga Demak", category: "Collection", url: "/collections/papan-bunga-demak", images: " ", price: " " }, { label: "Papan Bunga Denpasar", category: "Collection", url: "/collections/papan-bunga-denpasar", images: " ", price: " " }, { label: "Papan Bunga Depok", category: "Collection", url: "/collections/papan-bunga-depok", images: " ", price: " " }, { label: "Papan Bunga Duka Cita", category: "Collection", url: "/collections/bunga-duka-cita", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bali", category: "Collection", url: "/collections/papan-bunga-duka-cita-bali", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bandung", category: "Collection", url: "/collections/papan-bunga-duka-cita-bandung", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bekasi", category: "Collection", url: "/collections/papan-bunga-duka-cita-bekasi", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Bogor", category: "Collection", url: "/collections/papan-bunga-duka-cita-bogor", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Cikupa", category: "Collection", url: "/collections/papan-bunga-duka-cita-cikupa", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Demak", category: "Collection", url: "/collections/papan-bunga-duka-cita-demak", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Depok", category: "Collection", url: "/collections/papan-bunga-duka-cita-depok", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Gresik", category: "Collection", url: "/collections/papan-bunga-duka-cita-gresik", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Jakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-jakarta", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Jepara", category: "Collection", url: "/collections/papan-bunga-duka-cita-jepara", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Medan", category: "Collection", url: "/collections/papan-bunga-duka-cita-medan", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Semarang", category: "Collection", url: "/collections/papan-bunga-duka-cita-semarang", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Serang", category: "Collection", url: "/collections/papan-bunga-duka-cita-serang", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Sidoarjo", category: "Collection", url: "/collections/papan-bunga-duka-cita-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Surabaya", category: "Collection", url: "/collections/papan-bunga-duka-cita-surabaya", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Tangerang", category: "Collection", url: "/collections/papan-bunga-duka-cita-tangerang", images: " ", price: " " }, { label: "Papan Bunga Duka Cita Yogyakarta", category: "Collection", url: "/collections/papan-bunga-duka-cita-yogyakarta", images: " ", price: " " }, { label: "Papan Bunga Garut", category: "Collection", url: "/collections/papan-bunga-garut", images: " ", price: " " }, { label: "Papan Bunga Gianyar", category: "Collection", url: "/collections/papan-bunga-gianyar", images: " ", price: " " }, { label: "Papan Bunga Gorontalo", category: "Collection", url: "/collections/papan-bunga-gorontalo", images: " ", price: " " }, { label: "Papan Bunga Gowa", category: "Collection", url: "/collections/papan-bunga-gowa", images: " ", price: " " }, { label: "Papan Bunga Gresik", category: "Collection", url: "/collections/papan-bunga-gresik", images: " ", price: " " }, { label: "Papan Bunga Grobogan", category: "Collection", url: "/collections/papan-bunga-grobogan", images: " ", price: " " }, { label: "Papan Bunga Gunungkidul", category: "Collection", url: "/collections/papan-bunga-gunungkidul", images: " ", price: " " }, { label: "Papan Bunga Indramayu", category: "Collection", url: "/collections/papan-bunga-indramayu", images: " ", price: " " }, { label: "Papan Bunga Jakarta", category: "Collection", url: "/collections/papan-bunga-jakarta", images: " ", price: " " }, { label: "Papan Bunga Jakarta Timur", category: "Collection", url: "/collections/papan-bunga-jakarta-timur", images: " ", price: " " }, { label: "Papan Bunga Jambi", category: "Collection", url: "/collections/papan-bunga-jambi", images: " ", price: " " }, { label: "Papan Bunga Jayapura", category: "Collection", url: "/collections/papan-bunga-jayapura", images: " ", price: " " }, { label: "Papan Bunga Jember", category: "Collection", url: "/collections/papan-bunga-jember", images: " ", price: " " }, { label: "Papan Bunga Jembrana", category: "Collection", url: "/collections/papan-bunga-jembrana", images: " ", price: " " }, { label: "Papan Bunga Jepara", category: "Collection", url: "/collections/papan-bunga-jepara", images: " ", price: " " }, { label: "Papan Bunga Jombang", category: "Collection", url: "/collections/papan-bunga-jombang", images: " ", price: " " }, { label: "Papan Bunga Kampung Baru", category: "Collection", url: "/collections/papan-bunga-kampung-baru", images: " ", price: " " }, { label: "Papan Bunga Kapuas", category: "Collection", url: "/collections/papan-bunga-kapuas", images: " ", price: " " }, { label: "Papan Bunga Karanganyar", category: "Collection", url: "/collections/papan-bunga-karanganyar", images: " ", price: " " }, { label: "Papan Bunga Karangasem", category: "Collection", url: "/collections/papan-bunga-karangasem", images: " ", price: " " }, { label: "Papan Bunga Karawang", category: "Collection", url: "/collections/papan-bunga-karawang", images: " ", price: " " }, { label: "Papan Bunga Karo", category: "Collection", url: "/collections/papan-bunga-karo", images: " ", price: " " }, { label: "Papan Bunga Kartosuro", category: "Collection", url: "/collections/papan-bunga-kartosuro", images: " ", price: " " }, { label: "Papan Bunga Kebumen", category: "Collection", url: "/collections/papan-bunga-kebumen", images: " ", price: " " }, { label: "Papan Bunga Kediri", category: "Collection", url: "/collections/papan-bunga-kediri", images: " ", price: " " }, { label: "Papan Bunga Kendal", category: "Collection", url: "/collections/papan-bunga-kendal", images: " ", price: " " }, { label: "Papan Bunga Kendari", category: "Collection", url: "/collections/papan-bunga-kendari", images: " ", price: " " }, { label: "Papan Bunga Ketapang", category: "Collection", url: "/collections/papan-bunga-ketapang", images: " ", price: " " }, { label: "Papan Bunga Klaten", category: "Collection", url: "/collections/papan-bunga-klaten", images: " ", price: " " }, { label: "Papan Bunga Kota Batu", category: "Collection", url: "/collections/papan-bunga-kota-batu", images: " ", price: " " }, { label: "Papan Bunga Kudus", category: "Collection", url: "/collections/papan-bunga-kudus", images: " ", price: " " }, { label: "Papan Bunga Kupang", category: "Collection", url: "/collections/papan-bunga-kupang", images: " ", price: " " }, { label: "Papan Bunga Lamongan", category: "Collection", url: "/collections/papan-bunga-lamongan", images: " ", price: " " }, { label: "Papan Bunga Lampu LED", category: "Collection", url: "/collections/papan-bunga-lampu-led", images: " ", price: " " }, { label: "Papan Bunga Lampung", category: "Collection", url: "/collections/papan-bunga-lampung", images: " ", price: " " }, { label: "Papan Bunga Langkat", category: "Collection", url: "/collections/papan-bunga-langkat", images: " ", price: " " }, { label: "Papan Bunga Lembang", category: "Collection", url: "/collections/papan-bunga-lembang", images: " ", price: " " }, { label: "Papan Bunga Lombok", category: "Collection", url: "/collections/papan-bunga-lombok", images: " ", price: " " }, { label: "Papan Bunga Lubuk Pakam", category: "Collection", url: "/collections/papan-bunga-lubuk-pakam", images: " ", price: " " }, { label: "Papan Bunga Lumajang", category: "Collection", url: "/collections/papan-bunga-lumajang", images: " ", price: " " }, { label: "Papan Bunga Madiun", category: "Collection", url: "/collections/papan-bunga-madiun", images: " ", price: " " }, { label: "Papan Bunga Magelang", category: "Collection", url: "/collections/papan-bunga-magelang", images: " ", price: " " }, { label: "Papan Bunga Majalengka", category: "Collection", url: "/collections/papan-bunga-majalengka", images: " ", price: " " }, { label: "Papan Bunga Makassar", category: "Collection", url: "/collections/papan-bunga-makassar", images: " ", price: " " }, { label: "Papan Bunga Malang", category: "Collection", url: "/collections/papan-bunga-malang", images: " ", price: " " }, { label: "Papan Bunga Mamuju", category: "Collection", url: "/collections/papan-bunga-mamuju", images: " ", price: " " }, { label: "Papan Bunga Manado", category: "Collection", url: "/collections/papan-bunga-manado", images: " ", price: " " }, { label: "Papan Bunga Manokwari", category: "Collection", url: "/collections/papan-bunga-manokwari", images: " ", price: " " }, { label: "Papan Bunga Maros", category: "Collection", url: "/collections/papan-bunga-maros", images: " ", price: " " }, { label: "Papan Bunga Mataram", category: "Collection", url: "/collections/papan-bunga-mataram", images: " ", price: " " }, { label: "Papan Bunga Medan", category: "Collection", url: "/collections/papan-bunga-medan", images: " ", price: " " }, { label: "Papan Bunga Mojokerto", category: "Collection", url: "/collections/papan-bunga-mojokerto", images: " ", price: " " }, { label: "Papan Bunga Nganjuk", category: "Collection", url: "/collections/papan-bunga-nganjuk", images: " ", price: " " }, { label: "Papan Bunga Ngawi", category: "Collection", url: "/collections/papan-bunga-ngawi", images: " ", price: " " }, { label: "Papan Bunga Nias", category: "Collection", url: "/collections/papan-bunga-nias", images: " ", price: " " }, { label: "Papan Bunga Organza", category: "Collection", url: "/collections/papan-bunga-organza", images: " ", price: " " }, { label: "Papan Bunga Padang", category: "Collection", url: "/collections/papan-bunga-padang", images: " ", price: " " }, { label: "Papan Bunga Palangkaraya", category: "Collection", url: "/collections/papan-bunga-palangkaraya", images: " ", price: " " }, { label: "Papan Bunga Palembang", category: "Collection", url: "/collections/papan-bunga-palembang", images: " ", price: " " }, { label: "Papan Bunga Palu", category: "Collection", url: "/collections/papan-bunga-palu", images: " ", price: " " }, { label: "Papan Bunga Pangkal Pinang", category: "Collection", url: "/collections/papan-bunga-pangkal-pinang", images: " ", price: " " }, { label: "Papan Bunga Parepare", category: "Collection", url: "/collections/papan-bunga-parepare", images: " ", price: " " }, { label: "Papan Bunga Pasuruan", category: "Collection", url: "/collections/papan-bunga-pasuruan", images: " ", price: " " }, { label: "Papan Bunga Pati", category: "Collection", url: "/collections/papan-bunga-pati", images: " ", price: " " }, { label: "Papan Bunga Pekalongan", category: "Collection", url: "/collections/papan-bunga-pekalongan", images: " ", price: " " }, { label: "Papan Bunga Pekanbaru", category: "Collection", url: "/collections/papan-bunga-pekanbaru", images: " ", price: " " }, { label: "Papan Bunga Pemalang", category: "Collection", url: "/collections/papan-bunga-pemalang", images: " ", price: " " }, { label: "Papan Bunga Pematangsiantar", category: "Collection", url: "/collections/papan-bunga-pematangsiantar", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bali", category: "Collection", url: "/collections/papan-bunga-pernikahan-bali", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bandung", category: "Collection", url: "/collections/papan-bunga-pernikahan-bandung", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bekasi", category: "Collection", url: "/collections/papan-bunga-pernikahan-bekasi", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Bogor", category: "Collection", url: "/collections/papan-bunga-pernikahan-bogor", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Cikupa", category: "Collection", url: "/collections/papan-bunga-pernikahan-cikupa", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Demak", category: "Collection", url: "/collections/papan-bunga-pernikahan-demak", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Depok", category: "Collection", url: "/collections/papan-bunga-pernikahan-depok", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Gresik", category: "Collection", url: "/collections/papan-bunga-pernikahan-gresik", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Jakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-jakarta", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Jepara", category: "Collection", url: "/collections/papan-bunga-pernikahan-jepara", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Medan", category: "Collection", url: "/collections/papan-bunga-pernikahan-medan", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Semarang", category: "Collection", url: "/collections/papan-bunga-pernikahan-semarang", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Serang", category: "Collection", url: "/collections/papan-bunga-pernikahan-serang", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Sidoarjo", category: "Collection", url: "/collections/papan-bunga-pernikahan-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Surabaya", category: "Collection", url: "/collections/papan-bunga-pernikahan-surabaya", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Tangerang", category: "Collection", url: "/collections/papan-bunga-pernikahan-tangerang", images: " ", price: " " }, { label: "Papan Bunga Pernikahan Yogyakarta", category: "Collection", url: "/collections/papan-bunga-pernikahan-yogyakarta", images: " ", price: " " }, { label: "Papan Bunga Ponorogo", category: "Collection", url: "/collections/papan-bunga-ponorogo", images: " ", price: " " }, { label: "Papan Bunga Pontianak", category: "Collection", url: "/collections/papan-bunga-pontianak", images: " ", price: " " }, { label: "Papan Bunga Premium", category: "Collection", url: "/collections/papan-bunga-premium", images: " ", price: " " }, { label: "Papan Bunga Printing", category: "Collection", url: "/collections/papan-bunga-printing", images: " ", price: " " }, { label: "Papan Bunga Printing Congratulations", category: "Collection", url: "/collections/papan-bunga-printing-congratulations", images: " ", price: " " }, { label: "Papan Bunga Probolinggo", category: "Collection", url: "/collections/papan-bunga-probolinggo", images: " ", price: " " }, { label: "Papan Bunga Promo", category: "Collection", url: "/collections/promo-papan-bunga", images: " ", price: " " }, { label: "Papan Bunga Purbalingga", category: "Collection", url: "/collections/papan-bunga-purbalingga", images: " ", price: " " }, { label: "Papan Bunga Purwokerto", category: "Collection", url: "/collections/papan-bunga-purwokerto", images: " ", price: " " }, { label: "Papan Bunga Purworejo", category: "Collection", url: "/collections/papan-bunga-purworejo", images: " ", price: " " }, { label: "Papan Bunga Rembang", category: "Collection", url: "/collections/papan-bunga-rembang", images: " ", price: " " }, { label: "Papan Bunga Riau", category: "Collection", url: "/collections/papan-bunga-riau", images: " ", price: " " }, { label: "Papan Bunga Salatiga", category: "Collection", url: "/collections/papan-bunga-salatiga", images: " ", price: " " }, { label: "Papan Bunga Samarinda", category: "Collection", url: "/collections/papan-bunga-samarinda", images: " ", price: " " }, { label: "Papan Bunga Selamat Bandung", category: "Collection", url: "/collections/papan-bunga-selamat-bandung", images: " ", price: " " }, { label: "Papan Bunga Selamat Medan", category: "Collection", url: "/collections/papan-bunga-selamat-medan", images: " ", price: " " }, { label: "Papan Bunga Semarang", category: "Collection", url: "/collections/papan-bunga-semarang", images: " ", price: " " }, { label: "Papan Bunga Serang", category: "Collection", url: "/collections/papan-bunga-serang", images: " ", price: " " }, { label: "Papan Bunga Sibolga", category: "Collection", url: "/collections/papan-bunga-sibolga", images: " ", price: " " }, { label: "Papan Bunga Sidoarjo", category: "Collection", url: "/collections/papan-bunga-sidoarjo", images: " ", price: " " }, { label: "Papan Bunga Singkawang", category: "Collection", url: "/collections/papan-bunga-singkawang", images: " ", price: " " }, { label: "Papan Bunga Solo", category: "Collection", url: "/collections/papan-bunga-solo", images: " ", price: " " }, { label: "Papan Bunga Sorong", category: "Collection", url: "/collections/papan-bunga-sorong", images: " ", price: " " }, { label: "Papan Bunga Sragen", category: "Collection", url: "/collections/papan-bunga-sragen", images: " ", price: " " }, { label: "Papan Bunga Standard", category: "Collection", url: "/collections/papan-bunga-standard", images: " ", price: " " }, { label: "Papan Bunga Subang", category: "Collection", url: "/collections/papan-bunga-subang", images: " ", price: " " }, { label: "Papan Bunga Sukabumi", category: "Collection", url: "/collections/papan-bunga-sukabumi", images: " ", price: " " }, { label: "Papan Bunga Sumbawa", category: "Collection", url: "/collections/papan-bunga-sumbawa", images: " ", price: " " }, { label: "Papan Bunga Surabaya", category: "Collection", url: "/collections/papan-bunga-surabaya", images: " ", price: " " }, { label: "Papan Bunga Surakarta", category: "Collection", url: "/collections/papan-bunga-surakarta", images: " ", price: " " }, { label: "Papan Bunga Tangerang", category: "Collection", url: "/collections/papan-bunga-tangerang", images: " ", price: " " }, { label: "Papan Bunga Tasikmalaya", category: "Collection", url: "/collections/papan-bunga-tasikmalaya", images: " ", price: " " }, { label: "Papan Bunga Tegal", category: "Collection", url: "/collections/papan-bunga-tegal", images: " ", price: " " }, { label: "Papan Bunga Temanggung", category: "Collection", url: "/collections/papan-bunga-temanggung", images: " ", price: " " }, { label: "Papan Bunga Ternate", category: "Collection", url: "/collections/papan-bunga-ternate", images: " ", price: " " }, { label: "Papan Bunga Tolitoli", category: "Collection", url: "/collections/papan-bunga-tolitoli", images: " ", price: " " }, { label: "Papan Bunga Toraja", category: "Collection", url: "/collections/papan-bunga-toraja", images: " ", price: " " }, { label: "Papan Bunga Tuban", category: "Collection", url: "/collections/papan-bunga-tuban", images: " ", price: " " }, { label: "Papan Bunga Tulungagung", category: "Collection", url: "/collections/papan-bunga-tulungagung", images: " ", price: " " }, { label: "Papan Bunga Wakatobi", category: "Collection", url: "/collections/papan-bunga-wakatobi", images: " ", price: " " }, { label: "Papan Bunga Wedding", category: "Collection", url: "/collections/papan-bunga-ucapan-pernikahan", images: " ", price: " " }, { label: "Papan Bunga Wiyung", category: "Collection", url: "/collections/papan-bunga-wiyung", images: " ", price: " " }, { label: "Papan Bunga Wonogiri", category: "Collection", url: "/collections/papan-bunga-wonogiri", images: " ", price: " " }, { label: "Papan Bunga Wonokromo", category: "Collection", url: "/collections/papan-bunga-wonokromo", images: " ", price: " " }, { label: "Papan Bunga Wonosobo", category: "Collection", url: "/collections/papan-bunga-wonosobo", images: " ", price: " " }, { label: "Papan Bunga Yogyakarta", category: "Collection", url: "/collections/papan-bunga-yogyakarta", images: " ", price: " " }, { 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: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " }, { label: "GUATOGEL adalah link situs slot server luar terbaru, slot gacor, yang menyediakan sederet permainan gampang maxwin untuk semua yang sedang mencari JP paus malam ini. Yogyakarta", category: "Collection", url: "/collections/standing-flower-yogyakarta", images: " ", price: " " }, { label: "Standing Giant Flower", category: "Collection", url: "/collections/standing-giant-flower", images: " ", price: " " }, { label: "Stationery", category: "Collection", url: "/collections/stationery", images: " ", price: " " }, { label: "Steekwerk", category: "Collection", url: "/collections/steekwerk", images: " ", price: " " }, { label: "Stylish Hampers", category: "Collection", url: "/collections/stylish-hampers", images: " ", price: " " }, { label: "Stylish Hampers Luar Jadetabek", category: "Collection", url: "/collections/stylish-hampers-luar-jadetabek", images: " ", price: " " }, { label: "Succulent", category: "Collection", url: "/collections/succulent", images: " ", price: " " }, { label: "Sunflower", category: "Collection", url: "/collections/bunga-matahari", images: " ", price: " " }, { label: "Sweet & Savoury Hampers", category: "Collection", url: "/collections/sweet-savoury-hampers", images: " ", price: " " }, { label: "Sweet Gracie", category: "Collection", url: "/collections/sweet-gracie", images: " ", price: " " }, { label: "Sweet Pastel Love", category: "Collection", url: "/collections/pastel-love", images: " ", price: " " }, { label: "Sweet Pastel Love Nusantara", category: "Collection", url: "/collections/sweet-pastel-love-nusantara", images: " ", price: " " }, { label: "Sweet Treats", category: "Collection", url: "/collections/sweet-treats", images: " ", price: " " }, { label: "Sweetooth", category: "Collection", url: "/collections/sweetooth", images: " ", price: " " }, { label: "Taurus ♉️ 20April - 20May", category: "Collection", url: "/collections/kado-untuk-zodiak-taurus", images: " ", price: " " }, { label: "Teddy Bear", category: "Collection", url: "/collections/boneka-teddy-bear", images: " ", price: " " }, { label: "Teh", category: "Collection", url: "/collections/teh", images: " ", price: " " }, { label: "Test Error", category: "Collection", url: "/collections/test-error", images: " ", price: " " }, { label: "Testing", category: "Collection", url: "/collections/testing", images: " ", price: " " }, { label: "Thank You", category: "Collection", url: "/collections/rangkaian-bunga-ucapan-terima-kasih", images: " ", price: " " }, { label: "The Classic Astoria", category: "Collection", url: "/collections/astoria", images: " ", price: " " }, { label: "The Classic Enchanted Dome", category: "Collection", url: "/collections/enchanted-dome", images: " ", price: " " }, { label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " }, { label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " }, { label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " }, { label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " }, { label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " }, { label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " }, { label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " }, { label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " }, { label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " }, { label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " }, { label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " }, { label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " }, { label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " }, { 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: " " }, { 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-kendal", 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: " " },
  8559.                    { 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" }, { 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" }, { 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" }
  8560.                ];
  8561.  
  8562.  
  8563.                $(".header-input-search").catcomplete({
  8564.                    appendTo: ".searchResult", source: function (request, response) {
  8565.                        var results = $.ui.autocomplete.filter(data, request.term);
  8566.                        var predicate = function () {
  8567.                            var counter = { Collection: 0, Produk: 0 };
  8568.                            var fn = function (item) { counter[item.category] += 1; return (counter[item.category] <= 5); }
  8569.                            return fn
  8570.                        }();
  8571.                        response(results.filter(predicate));
  8572.                    },
  8573.                    minLength: 1,
  8574.                    //results are clickable
  8575.                    select: function (event, ui) { window.location = ui.item.url; }
  8576.                });
  8577.                $(".header-input-search2").catcomplete({
  8578.                    appendTo: ".searchResult2",
  8579.                    source: function (request, response) {
  8580.                        var results = $.ui.autocomplete.filter(data, request.term);
  8581.                        var predicate = function () {
  8582.                            var counter = { Collection: 0, Produk: 0 };
  8583.                            var fn = function (item) {
  8584.                                counter[item.category] += 1;
  8585.                                return (counter[item.category] <= 5);
  8586.                            }
  8587.                            return fn
  8588.                        }();
  8589.                        response(results.filter(predicate));
  8590.                    },
  8591.                    minLength: 1,
  8592.                    //results are clickable
  8593.                    select: function (event, ui) {
  8594.                        window.location = ui.item.url;
  8595.                    }
  8596.                });
  8597.            });
  8598.        </script>
  8599.  
  8600.        <script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
  8601.        <script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
  8602.  
  8603.        <script>
  8604.            (function () {
  8605.                var youtube = document.querySelectorAll(".youtube");
  8606.                for (var i = 0; i < youtube.length; i++) {
  8607.                    var source = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/sddefault_1x.jpg";
  8608.                    var datasource = "https://img.youtube.com/vi/" + youtube[i].dataset.embed + "/sddefault.jpg";
  8609.                    var image = new Image();
  8610.                    image.src = source;
  8611.                    image.setAttribute("data-src", datasource);
  8612.                    image.classList.add("swiper-lazy");
  8613.                    image.addEventListener("load", function () {
  8614.                        youtube[i].appendChild(image);
  8615.                    }(i));
  8616.                    youtube[i].addEventListener("click", function () {
  8617.                        var iframe = document.createElement("iframe");
  8618.                        iframe.setAttribute("width", "480");
  8619.                        iframe.setAttribute("height", "480");
  8620.                        iframe.setAttribute("frameborder", "0");
  8621.                        iframe.setAttribute("allowfullscreen", "");
  8622.                        iframe.setAttribute("src", "https://www.youtube.com/embed/" + this.dataset.embed + "?rel=0&showinfo=0&autoplay=1");
  8623.                        this.innerHTML = "";
  8624.                        this.appendChild(iframe);
  8625.                    });
  8626.                };
  8627.  
  8628.            })();
  8629.  
  8630.            /* Lazy Load */
  8631.            const mainLazyLoad = new LazyLoad({ threshold: 400 });
  8632.            $(document).ready(function () {
  8633.  
  8634.                $("selectxxx").addClass("needsclick");
  8635.                FastClick.attach(document.body);
  8636.  
  8637.                var $customSelects = $('.select-search');
  8638.                $customSelects.select2({
  8639.                    templateResult: function (result, container) {
  8640.                        if (!result.id) {
  8641.                            return result.text;
  8642.                        }
  8643.                        container.className += ' needsclick';
  8644.                        return result.text;
  8645.                    }
  8646.                });
  8647.                $customSelects.each(function (index, el) { $(el).data('select2').$container.find('*').addClass('needsclick'); });
  8648.                $(document).on('select2:open', () => {
  8649.                    document.querySelector('.select2-search__field').focus();
  8650.                });
  8651.  
  8652.  
  8653.                $(".overlay").click(function () {
  8654.                    $(".js-drawer-close").click();
  8655.                });
  8656.                $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function () {
  8657.                    $("html").toggleClass("nav_open");
  8658.                });
  8659.  
  8660.                $('.swatch-element label').on('click', function () {
  8661.                    var srcImg = $(this).data('src');
  8662.                    $('#thumb-image-product .product-single__thumbnail').each(function () {
  8663.                        if ($(this).attr("href") == srcImg) {
  8664.                            $(this).trigger('click');
  8665.                        }
  8666.                    });
  8667.                });
  8668.                var defaultValue = $(".swatch input:checked").val()
  8669.  
  8670.                $('#purchaseProduct .swatch [type=radio]').change(function () {
  8671.                    var optionIndex = $(this).closest('.swatch').attr('data-option-index');
  8672.                    var optionValue = $(this).val();
  8673.                    console.log(optionIndex, optionValue)
  8674.                    var value = parseInt(optionValue.split(' ')[0])
  8675.                    $(this)
  8676.                        .closest('#purchaseProduct')
  8677.                        .find('.single-option-selector')
  8678.                        .eq(optionIndex)
  8679.                        .val(optionValue)
  8680.                        .trigger('change');
  8681.  
  8682.                });
  8683.  
  8684.            });
  8685.            $(document).ready(function () {
  8686.                $(".nav-search a").click(function (e) {
  8687.                    e.preventDefault();
  8688.                    $(".icon-navsearch").toggle();
  8689.                    $(".icon-navclose").toggle();
  8690.                    $(".site-nav__item > .site-nav__link").toggle();
  8691.                    $(".open-search").toggle();
  8692.                    $(".open-search input").focus();
  8693.                });
  8694.                $(".best-price-guarantee").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/logo-best-price-guarantee-grid_75x.png?v=72489032173169839651752652420' alt='Logo Best Price Guarantee'>");
  8695.                if ($(window).width() < 768) {
  8696.                    $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
  8697.                    $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
  8698.                    $(".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'>");
  8699.                } else {
  8700.                    $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>");
  8701.                    $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>");
  8702.                    $(".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'>");
  8703.                }
  8704.                $(".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'>");
  8705.                $(".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'>");
  8706.            });
  8707.        </script>
  8708.  
  8709.  
  8710.  
  8711.  
  8712.  
  8713.  
  8714.  
  8715.        <script type="text/javascript">
  8716.            var wishlistpage = 0;
  8717.  
  8718.            var quickShop_money_format = "<span class='money'>" + "Rp {{amount_no_decimals}}" + "</span>";
  8719.        </script>
  8720.  
  8721.        <!-- Remove duplicate wishlist.js reference -->
  8722.        <style>
  8723.            .fade {
  8724.                opacity: 0;
  8725.                -webkit-transition: opacity .15s linear;
  8726.                -o-transition: opacity .15s linear;
  8727.                transition: opacity .15s linear
  8728.            }
  8729.  
  8730.            .modal {
  8731.                position: fixed;
  8732.                top: 0;
  8733.                right: 0;
  8734.                bottom: 0;
  8735.                left: 0;
  8736.                z-index: 999999;
  8737.                display: none;
  8738.                overflow: hidden;
  8739.                -webkit-overflow-scrolling: touch;
  8740.                outline: 0
  8741.            }
  8742.  
  8743.            .fade.in {
  8744.                opacity: 1
  8745.            }
  8746.  
  8747.            .modal-open .modal {
  8748.                overflow-x: hidden;
  8749.                overflow-y: auto;
  8750.                z-index: 999999;
  8751.                background-color: rgba(0, 0, 0, .3)
  8752.            }
  8753.  
  8754.            .modal-dialog {
  8755.                position: relative;
  8756.                width: auto;
  8757.                margin: 10px
  8758.            }
  8759.  
  8760.            .wishlist-model .modal-dialog {
  8761.                width: 700px
  8762.            }
  8763.  
  8764.            .modal.fade .modal-dialog {
  8765.                -webkit-transition: -webkit-transform .3s ease-out;
  8766.                -o-transition: -o-transform .3s ease-out;
  8767.                transition: transform .3s ease-out;
  8768.                -webkit-transform: translate(0, -25%);
  8769.                -ms-transform: translate(0, -25%);
  8770.                -o-transform: translate(0, -25%);
  8771.                transform: translate(0, -25%)
  8772.            }
  8773.  
  8774.            .modal.in .modal-dialog {
  8775.                -webkit-transform: translate(0, 0);
  8776.                -ms-transform: translate(0, 0);
  8777.                -o-transform: translate(0, 0);
  8778.                transform: translate(0, 0)
  8779.            }
  8780.  
  8781.            .modal-content {
  8782.                position: relative;
  8783.                background-color: #fff;
  8784.                -webkit-background-clip: padding-box;
  8785.                background-clip: padding-box;
  8786.                border: 1px solid #999;
  8787.                border: 1px solid rgba(0, 0, 0, .2);
  8788.                outline: 0;
  8789.                -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
  8790.                box-shadow: 0 3px 9px rgba(0, 0, 0, .5)
  8791.            }
  8792.  
  8793.            .wishlist-model .modal-content {}
  8794.  
  8795.            .wishlist-model .modal-header {
  8796.                min-height: 0;
  8797.                padding: 0;
  8798.                border-bottom: 0
  8799.            }
  8800.  
  8801.            .close {
  8802.                float: right;
  8803.                font-size: 21px;
  8804.                font-weight: 700;
  8805.                line-height: 1;
  8806.                color: #000;
  8807.                text-shadow: 0 1px 0 #121212;
  8808.                filter: alpha(opacity=20);
  8809.                opacity: .2
  8810.            }
  8811.  
  8812.            button.close {
  8813.                -webkit-appearance: none;
  8814.                padding: 0;
  8815.                cursor: pointer;
  8816.                background: 0 0;
  8817.                border: 0
  8818.            }
  8819.  
  8820.            .modal-header .close {
  8821.                margin-top: -2px
  8822.            }
  8823.  
  8824.            .wishlist-model .close {
  8825.                position: absolute;
  8826.                top: -10px;
  8827.                right: -10px;
  8828.                background: #fff;
  8829.                opacity: 1;
  8830.                width: 30px;
  8831.                height: 30px;
  8832.                font-size: 15px;
  8833.                border-radius: 50%;
  8834.                z-index: 10;
  8835.                box-shadow: 0 1px 4px 0 #121212
  8836.            }
  8837.  
  8838.            .wishlist-model .close .icon-close {
  8839.                width: 25px;
  8840.                height: 25px
  8841.            }
  8842.  
  8843.            .modal-body {
  8844.                position: relative;
  8845.                padding: 15px
  8846.            }
  8847.  
  8848.            .wishlist-model .modal-body {
  8849.                padding: 0 30px;
  8850.                display: flex
  8851.            }
  8852.  
  8853.            .wishlist-model .wishlist-left {
  8854.                width: 66.67%;
  8855.                border-right: 1px solid #ccc;
  8856.                padding: 30px 0
  8857.            }
  8858.  
  8859.            .wishlist-model .wishlist-note {
  8860.                position: relative;
  8861.                display: inline-block;
  8862.                margin-bottom: 20px;
  8863.                margin-left: 35px;
  8864.                border-bottom: 1px solid #121212;
  8865.                color: #121212
  8866.            }
  8867.  
  8868.            .wishlist-model .wishlist-note a {
  8869.                color: #ffffff;
  8870.            }
  8871.  
  8872.            .wishlist-model .wishlist-note .cirle {
  8873.                position: absolute;
  8874.                top: -4px;
  8875.                left: -35px;
  8876.                width: 25px;
  8877.                height: 25px;
  8878.                color: #fff;
  8879.                background: #121212;
  8880.                line-height: 25px;
  8881.                border-radius: 50%;
  8882.                text-align: center
  8883.            }
  8884.  
  8885.            .wishlist-model .wishlist-note svg {
  8886.                fill: #fff
  8887.            }
  8888.  
  8889.            .wishlist-model .wishlist-note .cirle .icon-check {
  8890.                vertical-align: middle
  8891.            }
  8892.  
  8893.            .wishlist-model .product-left {
  8894.                width: 33.33%;
  8895.                float: left;
  8896.                margin-right: 30px
  8897.            }
  8898.  
  8899.            .wishlist-model .wishlist-image {
  8900.                overflow: hidden
  8901.            }
  8902.  
  8903.            .wishlist-model .wishlist-image img {
  8904.                transition: all .3s linear
  8905.            }
  8906.  
  8907.            .wishlist-model .wishlist-name {
  8908.                padding: 0;
  8909.                margin-bottom: 10px
  8910.            }
  8911.  
  8912.            .wishlist-model .wishlist-name a {
  8913.                color: #ffffff;
  8914.            }
  8915.  
  8916.            .wishlist-model .wishlist-price {
  8917.                margin-bottom: 10px
  8918.            }
  8919.  
  8920.            .wishlist-model .wishlist-price .price {
  8921.                font-weight: 700;
  8922.                margin-right: 10px;
  8923.                font-size: 15px
  8924.            }
  8925.  
  8926.            .wishlist-model .wishlist-price .price_compare {
  8927.                color: #ccc
  8928.            }
  8929.  
  8930.            .wishlist-model .wishlist-right {
  8931.                width: 33.33%;
  8932.                padding: 30px 0;
  8933.                padding-left: 30px
  8934.            }
  8935.  
  8936.            .wishlist-model .btn-quick-shop {
  8937.                width: 100%;
  8938.                border-color: #121212;
  8939.                background: #fff;
  8940.                color: #121212;
  8941.                padding: 0 30px;
  8942.                transition: all .2s linear;
  8943.                height: 36px;
  8944.                margin-bottom: 10px;
  8945.                text-transform: uppercase
  8946.            }
  8947.  
  8948.            .wishlist-model .btn-cta {
  8949.                width: 100%;
  8950.                font-size: 1em;
  8951.                border-color: #ffffff;
  8952.                background: #ffffff;
  8953.                color: #fff;
  8954.                padding: 0;
  8955.                transition: all .2s linear;
  8956.                height: 36px;
  8957.                line-height: 36px;
  8958.                margin-bottom: 10px
  8959.            }
  8960.  
  8961.            .wishlist-model .quantity-content {
  8962.                text-align: center
  8963.            }
  8964.  
  8965.            .wishlist-model .quantity-content input {
  8966.                outline: none;
  8967.                text-align: center;
  8968.                font-weight: 600;
  8969.                border: 1px solid #121212
  8970.            }
  8971.  
  8972.            .wishlist-model .quantity-content button {
  8973.                border-color: #121212
  8974.            }
  8975.  
  8976.            @media (min-width:768px) {
  8977.                .modal-dialog {
  8978.                    width: 600px;
  8979.                    margin: 30px auto
  8980.                }
  8981.  
  8982.                .modal-content {
  8983.                    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
  8984.                    box-shadow: 0 5px 15px rgba(0, 0, 0, .5)
  8985.                }
  8986.            }
  8987.        </style>
  8988.  
  8989.        <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog">
  8990.            <div class="modal-dialog" role="document">
  8991.                <div class="modal-content">
  8992.                    <div class="modal-body">Your Wishlist is empty!</div>
  8993.                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
  8994.                            aria-hidden="true">&times;</span></button>
  8995.                </div>
  8996.            </div>
  8997.        </div>
  8998.  
  8999.        <div class="wishlist-model">
  9000.            <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true">
  9001.                <div class="modal-dialog white-modal">
  9002.                    <div class="modal-content">
  9003.                        <div class="modal-header">
  9004.                            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  9005.                                <svg class="icon icon-close" version="1.1"
  9006.                                    xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="32"
  9007.                                    height="32" viewBox="0 0 32 32">
  9008.                                    <title>icon-close</title>
  9009.                                    <path
  9010.                                        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">
  9011.                                    </path>
  9012.                                </svg>
  9013.                            </button>
  9014.                        </div>
  9015.                        <div class="modal-body">
  9016.                            <div class="wishlist-left">
  9017.                                <div class="wishlist-note">
  9018.                                    <span class="cirle"><svg version="1.1"
  9019.                                            xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="32"
  9020.                                            height="32" viewBox="0 0 32 32">
  9021.                                            <title>icon-check</title>
  9022.                                            <path
  9023.                                                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">
  9024.                                            </path>
  9025.                                        </svg></span>
  9026.                                    Product added to <a href="/pages/wish-list">Wishlist</a>
  9027.                                </div>
  9028.                                <div class="wishlist-product">
  9029.                                    <div class="product-left">
  9030.                                        <div class="wishlist-image"></div>
  9031.                                    </div>
  9032.                                    <div class="product-right">
  9033.                                        <div class="wishlist-name"></div>
  9034.                                        <div class="wishlist-price"></div>
  9035.                                    </div>
  9036.                                </div>
  9037.                            </div>
  9038.                            <div class="wishlist-right">
  9039.                                <div class="wishlist-cart">
  9040.                                    <form action="/cart/add" method="post" class="variants-form variants"
  9041.                                        id="AddToCartForm" enctype="multipart/form-data">
  9042.                                        <div class="others-bottom">
  9043.                                            <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a>
  9044.                                            <button type="submit" name="add" id="AddToCart" class="btn btn-cta">
  9045.                                                <span id="AddToCartText" class="">Beli Sekarang</span>
  9046.                                            </button>
  9047.                                        </div>
  9048.                                        <div id="wishlist-variants-container" class="variants-wrapper"></div>
  9049.                                        <div class="quantity-content">
  9050.                                            <label>QTY</label>
  9051.                                            <input type="number" size="5" class="" name="quantity" value="1" />
  9052.                                        </div>
  9053.                                    </form>
  9054.                                </div>
  9055.                            </div>
  9056.                        </div>
  9057.                    </div>
  9058.                </div>
  9059.            </div>
  9060.        </div>
  9061.  
  9062.  
  9063.        <style>
  9064.            .stamped-badge[data-rating="0.0"] {
  9065.                display: none !Important;
  9066.            }
  9067.  
  9068.            div[data-load-type="continue"] ul.stamped-pagination li.next a,
  9069.            div[data-widget-load-type="continue"] ul.stamped-pagination li.next a {
  9070.                border-radius: 0px;
  9071.            }
  9072.  
  9073.            .stamped-review-body {
  9074.                padding-left: 0px !important;
  9075.            }
  9076.  
  9077.            #product-reviews .stamped-header:after {
  9078.                display: none !Important;
  9079.            }
  9080.  
  9081.            #stamped-main-widget .stamped-container,
  9082.            .stamped-badge-caption,
  9083.            #stamped-reviews-widget {
  9084.                font-family: inherit !important;
  9085.            }
  9086.        </style>
  9087.  
  9088.  
  9089.  
  9090.        <div id='stamped-rewards-init' class='stamped-rewards-init' data-key-public=''></div>
  9091.  
  9092.        <script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418"
  9093.            defer></script>
  9094.        <!-- Remove duplicate jQuery reference and load wishlist script properly -->
  9095.        <script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012"
  9096.            defer></script>
  9097.  
  9098.        <script>
  9099.            function myInit() { StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); }
  9100.        </script>
  9101.        <script async onload="myInit()" type="text/javascript"
  9102.            src="https://cdn1.stamped.io/files/widget.min.js"></script>
  9103.        <style>
  9104.            .jss59 {
  9105.                background-color: rgba(0, 0, 0, 0.6);
  9106.            }
  9107.  
  9108.            .MuiBackdrop-root {
  9109.                top: 0;
  9110.                left: 0;
  9111.                right: 0;
  9112.                bottom: 0;
  9113.                display: flex;
  9114.                z-index: -1;
  9115.                position: fixed;
  9116.                align-items: center;
  9117.                justify-content: center;
  9118.                background-color: rgba(0, 0, 0, 0.5);
  9119.                -webkit-tap-highlight-color: transparent;
  9120.            }
  9121.  
  9122.            .MuiDialog-scrollPaper {
  9123.                display: flex;
  9124.                align-items: center;
  9125.                justify-content: center;
  9126.            }
  9127.  
  9128.            .MuiDialog-container {
  9129.                height: 100%;
  9130.                outline: 0;
  9131.            }
  9132.  
  9133.            .MuiPaper-elevation24 {
  9134.                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);
  9135.            }
  9136.  
  9137.            .MuiDialog-paper {
  9138.                margin: 32px;
  9139.                position: relative;
  9140.                overflow-y: auto;
  9141.            }
  9142.  
  9143.            .MuiDialog-paperScrollPaper {
  9144.                display: flex;
  9145.                max-height: calc(100% - 64px);
  9146.                flex-direction: column;
  9147.            }
  9148.  
  9149.            .MuiDialog-paperWidthSm {
  9150.                max-width: 600px;
  9151.            }
  9152.  
  9153.            #location-lock-dialog {
  9154.                top: 20%;
  9155.                left: 0;
  9156.                right: 0;
  9157.                width: 30%;
  9158.                margin: 0px auto;
  9159.                display: block;
  9160.                padding: 30px;
  9161.                z-index: 99999;
  9162.                position: fixed;
  9163.                font-size: 14px;
  9164.                background: rgb(0, 0, 0);
  9165.                box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px;
  9166.                text-align: center;
  9167.                font-family: Roboto, Arial, sans-serif;
  9168.                line-height: 1;
  9169.                border-radius: 8px;
  9170.                -webkit-font-smoothing: subpixel-antialiased;
  9171.            }
  9172.  
  9173.            .MuiButtonBase-root {
  9174.                color: inherit;
  9175.                border: 0;
  9176.                cursor: pointer;
  9177.                margin: 0;
  9178.                display: inline-flex;
  9179.                outline: 0;
  9180.                padding: 0;
  9181.                position: relative;
  9182.                align-items: center;
  9183.                user-select: none;
  9184.                border-radius: 0;
  9185.                vertical-align: middle;
  9186.                -moz-appearance: none;
  9187.                justify-content: center;
  9188.                text-decoration: none;
  9189.                background-color: transparent;
  9190.                -webkit-appearance: none;
  9191.                -webkit-tap-highlight-color: transparent;
  9192.            }
  9193.  
  9194.            .MuiIconButton-root {
  9195.                flex: 0 0 auto;
  9196.                color: rgba(0, 0, 0, 0.54);
  9197.                padding: 12px;
  9198.                overflow: visible;
  9199.                font-size: 1.5rem;
  9200.                text-align: center;
  9201.                transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  9202.                border-radius: 50%;
  9203.            }
  9204.  
  9205.            .MuiIconButton-label {
  9206.                width: 100%;
  9207.                display: flex;
  9208.                align-items: inherit;
  9209.                justify-content: inherit;
  9210.            }
  9211.  
  9212.            .MuiSvgIcon-root {
  9213.                fill: currentColor;
  9214.                width: 1em;
  9215.                height: 1em;
  9216.                display: inline-block;
  9217.                font-size: 1.5rem;
  9218.                transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  9219.                flex-shrink: 0;
  9220.                user-select: none;
  9221.            }
  9222.  
  9223.            .MuiTouchRipple-root {
  9224.                top: 0;
  9225.                left: 0;
  9226.                right: 0;
  9227.                bottom: 0;
  9228.                z-index: 0;
  9229.                overflow: hidden;
  9230.                position: absolute;
  9231.                border-radius: inherit;
  9232.                pointer-events: none;
  9233.            }
  9234.  
  9235.            .jss36 {
  9236.                color: #222222;
  9237.                font-size: 24px;
  9238.                font-family: Roboto, Arial, sans-serif;
  9239.                font-weight: 500;
  9240.            }
  9241.  
  9242.            .jss37 {
  9243.                color: #555555;
  9244.                padding: 10px 0px 0px;
  9245.                font-size: 14px;
  9246.            }
  9247.  
  9248.            .MuiFormGroup-root {
  9249.                display: flex;
  9250.                flex-wrap: wrap;
  9251.                flex-direction: column;
  9252.            }
  9253.  
  9254.            .MuiFormGroup-row {
  9255.                flex-direction: row;
  9256.            }
  9257.  
  9258.            .jss63 {
  9259.                width: 85%;
  9260.                margin: 15px auto;
  9261.                display: flex;
  9262.                padding: 11px 0px 0px;
  9263.                justify-content: space-evenly;
  9264.            }
  9265.  
  9266.            .MuiFormControlLabel-root {
  9267.                cursor: pointer;
  9268.                display: inline-flex;
  9269.                align-items: center;
  9270.                margin-left: -11px;
  9271.                margin-right: 16px;
  9272.                vertical-align: middle;
  9273.                -webkit-tap-highlight-color: transparent;
  9274.            }
  9275.  
  9276.            .jss70 {
  9277.                margin: 0;
  9278.            }
  9279.  
  9280.            .MuiButtonBase-root {
  9281.                color: inherit;
  9282.                border: 0;
  9283.                cursor: pointer;
  9284.                margin: 0;
  9285.                display: inline-flex;
  9286.                outline: 0;
  9287.                padding: 0;
  9288.                position: relative;
  9289.                align-items: center;
  9290.                user-select: none;
  9291.                border-radius: 0;
  9292.                vertical-align: middle;
  9293.                -moz-appearance: none;
  9294.                justify-content: center;
  9295.                text-decoration: none;
  9296.                background-color: transparent;
  9297.                -webkit-appearance: none;
  9298.                -webkit-tap-highlight-color: transparent;
  9299.            }
  9300.  
  9301.            .MuiIconButton-root {
  9302.                flex: 0 0 auto;
  9303.                color: rgba(0, 0, 0, 0.54);
  9304.                padding: 12px;
  9305.                overflow: visible;
  9306.                font-size: 1.5rem;
  9307.                text-align: center;
  9308.                transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
  9309.                border-radius: 50%;
  9310.            }
  9311.  
  9312.            .MuiIconButton-colorSecondary {
  9313.                color: #f50057;
  9314.            }
  9315.  
  9316.            .jss71 {
  9317.                padding: 9px;
  9318.            }
  9319.  
  9320.            .MuiRadio-root {
  9321.                color: rgba(0, 0, 0, 0.54);
  9322.            }
  9323.  
  9324.            .jss64 {
  9325.                padding: 2px;
  9326.            }
  9327.  
  9328.            .MuiRadio-colorSecondary.Mui-checked {
  9329.                color: #f50057;
  9330.            }
  9331.  
  9332.            .MuiIconButton-label {
  9333.                width: 100%;
  9334.                display: flex;
  9335.                align-items: inherit;
  9336.                justify-content: inherit;
  9337.            }
  9338.  
  9339.            .MuiTypography-root {
  9340.                margin: 0;
  9341.            }
  9342.  
  9343.            .MuiTypography-body1 {
  9344.                font-size: 18px;
  9345.                font-family: Roboto, sans-serif;
  9346.                font-weight: 400;
  9347.                line-height: 1.5;
  9348.            }
  9349.  
  9350.            .location-popup_area-block__sp9Ws {
  9351.                display: -moz-box;
  9352.                display: flex;
  9353.                -moz-box-orient: vertical;
  9354.                -moz-box-direction: normal;
  9355.                flex-direction: column;
  9356.                -moz-box-pack: center;
  9357.                justify-content: center;
  9358.                position: relative;
  9359.                margin: 10px 10% 0;
  9360.            }
  9361.  
  9362.            .location-popup_pin-search-box__3l5mJ {
  9363.                width: 100%;
  9364.                display: -moz-box;
  9365.                display: flex;
  9366.                -moz-box-align: center;
  9367.                align-items: center;
  9368.            }
  9369.  
  9370.            .location-popup_place-icon-city__1XAX5,
  9371.            .location-popup_place-icon__jSG0Q {
  9372.                position: absolute;
  9373.                z-index: 999;
  9374.            }
  9375.  
  9376.            .location-popup_place-icon__jSG0Q {
  9377.                color: #ffffff;
  9378.                padding-left: 8px;
  9379.            }
  9380.  
  9381.            .location-popup_place-icon__jSG0Q svg {
  9382.                width: 18px;
  9383.                height: 18px;
  9384.            }
  9385.  
  9386.            .location-popup_cancel-icon__FHujU {
  9387.                color: #fff;
  9388.                right: 10px;
  9389.                width: 16px;
  9390.                cursor: pointer;
  9391.                height: 16px;
  9392.                display: none;
  9393.                padding: 5px;
  9394.                position: absolute;
  9395.                background: #999;
  9396.                text-align: center;
  9397.                border-radius: 50%;
  9398.            }
  9399.  
  9400.            .location-popup_pin-search-box__3l5mJ>div>select {
  9401.                /*     -webkit-box-shadow: 0 0 10px #ffffff;
  9402.     box-shadow: 0 0 10px #ffffff; */
  9403.                text-transform: capitalize;
  9404.                border: 1px solid #ffffff;
  9405.                color: #ffffff;
  9406.                width: 100%;
  9407.                margin: 0;
  9408.                display: -moz-box;
  9409.                display: flex;
  9410.                padding: 0 30px;
  9411.                -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
  9412.                -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
  9413.                animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite;
  9414.                font-size: 16px;
  9415.                border-radius: 4px;
  9416.                height: 44px;
  9417.                moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
  9418.                webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite;
  9419.            }
  9420.  
  9421.            .MuiButtonBase-root {
  9422.                color: inherit;
  9423.                border: 0;
  9424.                cursor: pointer;
  9425.                margin: 0;
  9426.                display: inline-flex;
  9427.                outline: 0;
  9428.                padding: 0;
  9429.                position: relative;
  9430.                align-items: center;
  9431.                user-select: none;
  9432.                border-radius: 0;
  9433.                vertical-align: middle;
  9434.                -moz-appearance: none;
  9435.                justify-content: center;
  9436.                text-decoration: none;
  9437.                background-color: transparent;
  9438.                -webkit-appearance: none;
  9439.                -webkit-tap-highlight-color: transparent;
  9440.            }
  9441.  
  9442.            .MuiButton-root {
  9443.                color: rgba(0, 0, 0, 0.87);
  9444.                padding: 6px 16px;
  9445.                font-size: 0.875rem;
  9446.                min-width: 64px;
  9447.                box-sizing: border-box;
  9448.                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;
  9449.                font-family: Roboto, sans-serif;
  9450.                font-weight: 500;
  9451.                line-height: 1.75;
  9452.                border-radius: 4px;
  9453.                text-transform: uppercase;
  9454.            }
  9455.  
  9456.            .MuiButton-contained {
  9457.                color: rgba(0, 0, 0, 0.87);
  9458.                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);
  9459.                background-color: #e0e0e0;
  9460.            }
  9461.  
  9462.            .MuiButtonBase-root.Mui-disabled {
  9463.                cursor: default;
  9464.                pointer-events: none;
  9465.            }
  9466.  
  9467.            .MuiButton-label {
  9468.                width: 100%;
  9469.                display: inherit;
  9470.                align-items: inherit;
  9471.                justify-content: inherit;
  9472.            }
  9473.  
  9474.            .cartButton_login_content__2j1f7 {
  9475.                display: -moz-box;
  9476.                display: flex;
  9477.                text-align: center;
  9478.                z-index: 9;
  9479.                font-size: 18px;
  9480.                font-weight: 500;
  9481.                color: #fff;
  9482.            }
  9483.  
  9484.            .jss35 {
  9485.                top: 5px;
  9486.                right: 5px;
  9487.                padding: 4px;
  9488.                position: absolute;
  9489.                border-radius: 50%;
  9490.            }
  9491.  
  9492.            .jss67 {
  9493.                cursor: pointer;
  9494.                font-size: 15px;
  9495.                line-height: 1.3;
  9496.                padding-left: 5px;
  9497.            }
  9498.  
  9499.            .jss69 {
  9500.                color: #222222;
  9501.            }
  9502.  
  9503.            .jss80 {
  9504.                color: #fff;
  9505.                width: 100%;
  9506.                height: 52px;
  9507.                padding: 11px 16px;
  9508.                font-size: 18px;
  9509.                min-width: 88px;
  9510.                min-height: 36px;
  9511.                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;
  9512.                font-weight: 500;
  9513.                line-weight: 1em;
  9514.                border-radius: 4px;
  9515.                text-transform: uppercase;
  9516.                background-color: #E87325;
  9517.            }
  9518.  
  9519.            @media (min-width: 991px) {
  9520.                .cartButton_login_content__2j1f7 {
  9521.                    font-weight: 500;
  9522.                }
  9523.            }
  9524.  
  9525.            @media (max-width: 992px) {
  9526.                #location-lock-dialog {
  9527.                    width: 100%;
  9528.                    top: auto;
  9529.                    bottom: 0;
  9530.                    padding-left: 0;
  9531.                    padding-right: 0;
  9532.                }
  9533.  
  9534.                .MuiFormGroup-row {
  9535.                    display: block
  9536.                }
  9537.  
  9538.                .MuiIconButton-label input {
  9539.                    margin: 0;
  9540.                }
  9541.            }
  9542.        </style>
  9543.        <div role="presentation" class="MuiDialog-root jss34"
  9544.            style="display: none;position: fixed; z-index: 9999; inset: 0px;">
  9545.            <div class="MuiBackdrop-root" aria-hidden="true"
  9546.                style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div>
  9547.            <div tabindex="0" data-test="sentinelStart"></div>
  9548.            <div class="MuiDialog-container MuiDialog-scrollPaper" role="none presentation" tabindex="-1"
  9549.                style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;">
  9550.                <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded"
  9551.                    role="dialog">
  9552.                    <div class="jss31 undefined" id="location-lock-dialog">
  9553.                        <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35"
  9554.                            tabindex="0" type="button" aria-label="close">
  9555.                            <span class="MuiIconButton-label">
  9556.                                <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true">
  9557.                                    <path
  9558.                                        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">
  9559.                                    </path>
  9560.                                </svg>
  9561.                            </span>
  9562.                            <span class="MuiTouchRipple-root"></span>
  9563.                        </button>
  9564.                        <div>
  9565.                            <div class="jss36">Select Delivery Location</div>
  9566.                            <div class="jss37">Select a delivery location to see product availability</div>
  9567.                        </div>
  9568.                        <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup">
  9569.                            <label for="jabodetabek" class="MuiFormControlLabel-root jss45">
  9570.                                <span
  9571.                                    class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary"
  9572.                                    aria-disabled="false">
  9573.                                    <span class="MuiIconButton-label">
  9574.                                        <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek"
  9575.                                            checked="" name="location">
  9576.                                        <span class="jss41"></span>
  9577.                                    </span>
  9578.                                    <span class="MuiTouchRipple-root"></span>
  9579.                                </span>
  9580.                                <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
  9581.                                    <span class="jss67 jss69">Jabodetabek</span>
  9582.                                </span>
  9583.                            </label>
  9584.                            <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45">
  9585.                                <span
  9586.                                    class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary"
  9587.                                    aria-disabled="false">
  9588.                                    <span class="MuiIconButton-label">
  9589.                                        <input id="non-jabodetabek" class="jss49" type="radio"
  9590.                                            value="Outside Jabodetabek" name="location">
  9591.                                        <span class="jss40"></span>
  9592.                                    </span>
  9593.                                    <span class="MuiTouchRipple-root"></span>
  9594.                                </span>
  9595.                                <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1">
  9596.                                    <span class="jss67 jss68">Outside Jabodetabek</span>
  9597.                                </span>
  9598.                            </label>
  9599.                        </div>
  9600.                        <div>
  9601.                            <div class="MuiGrid-root location-popup_area-block__sp9Ws">
  9602.                                <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false">
  9603.                                    <div class="MuiGrid-root location-popup_place-icon__jSG0Q">
  9604.                                        <svg class="MuiSvgIcon-root jss6" focusable="false" viewBox="0 0 24 24"
  9605.                                            aria-hidden="true" style="font-size:16px">
  9606.                                            <path
  9607.                                                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">
  9608.                                            </path>
  9609.                                        </svg>
  9610.                                    </div>
  9611.                                    <div class="MuiGrid-root location-popup_cancel-icon__FHujU false">
  9612.                                        <i class="material-icons location-popup_clear-pin__s1dRc">close</i>
  9613.                                    </div>
  9614.                                    <div style="width: 100%;">
  9615.                                        <select id="choose-location" class="form-control">
  9616.                                            <option value="">Choose Location</option>
  9617.                                            <option value="jakarta">Jakarta</option>
  9618.                                            <option value="bogor">Bogor</option>
  9619.                                            <option value="depok">Depok</option>
  9620.                                            <option value="tangerang">Tangerang</option>
  9621.                                            <option value="bekasi">Bekasi</option>
  9622.                                        </select>
  9623.                                    </div>
  9624.                                </div>
  9625.                            </div>
  9626.                        </div>
  9627.                        <button class="MuiButtonBase-root MuiButton-root MuiButton-contained jss55" tabindex="-1"
  9628.                            type="button" title="" id="location-lock-submit" data-idforcdp="actionBtn-cdp"
  9629.                            data-testid="location-lock-submit"
  9630.                            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;"
  9631.                            data-content="">
  9632.                            <span class="MuiButton-label">
  9633.                                <span class=""></span>
  9634.                                <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7"
  9635.                                    style="font-weight: 500;" data-content="">Continue Shopping</span>
  9636.                            </span>
  9637.                        </button>
  9638.                    </div>
  9639.                </div>
  9640.            </div>
  9641.            <div tabindex="0" data-test="sentinelEnd"></div>
  9642.        </div>
  9643.  
  9644.        <script>
  9645.            const jabodetabek = [
  9646.                {
  9647.                    "code": "jakarta",
  9648.                    "city": "jakarta",
  9649.                    "zip": []
  9650.                },
  9651.                {
  9652.                    "code": "bogor",
  9653.                    "city": "bogor",
  9654.                    "zip": []
  9655.                },
  9656.                {
  9657.                    "code": "depok",
  9658.                    "city": "depok",
  9659.                    "zip": []
  9660.                },
  9661.                {
  9662.                    "code": "tangerang",
  9663.                    "city": "tangerang",
  9664.                    "zip": []
  9665.                },
  9666.                {
  9667.                    "code": "bekasi",
  9668.                    "city": "bekasi",
  9669.                    "zip": []
  9670.                }
  9671.            ]
  9672.            let cityNonJabodetabek = [
  9673.  
  9674.  
  9675.  
  9676.  
  9677.  
  9678.  
  9679.  
  9680.  
  9681.  
  9682.  
  9683.  
  9684.  
  9685.  
  9686.  
  9687.  
  9688.  
  9689.  
  9690.  
  9691.  
  9692.  
  9693.  
  9694.  
  9695.  
  9696.  
  9697.  
  9698.  
  9699.  
  9700.  
  9701.  
  9702.  
  9703.  
  9704.  
  9705.  
  9706.  
  9707.  
  9708.  
  9709.  
  9710.  
  9711.  
  9712.  
  9713.  
  9714.  
  9715.  
  9716.  
  9717.  
  9718.  
  9719.  
  9720.  
  9721.  
  9722.  
  9723.  
  9724.  
  9725.  
  9726.  
  9727.  
  9728.  
  9729.  
  9730.  
  9731.  
  9732.  
  9733.  
  9734.  
  9735.  
  9736.  
  9737.  
  9738.  
  9739.  
  9740.  
  9741.  
  9742.  
  9743.  
  9744.  
  9745.  
  9746.  
  9747.  
  9748.  
  9749.  
  9750.  
  9751.  
  9752.  
  9753.  
  9754.  
  9755.  
  9756.  
  9757.  
  9758.  
  9759.  
  9760.  
  9761.  
  9762.  
  9763.  
  9764.  
  9765.  
  9766.  
  9767.  
  9768.  
  9769.  
  9770.  
  9771.  
  9772.  
  9773.  
  9774.  
  9775.  
  9776.  
  9777.  
  9778.  
  9779.  
  9780.  
  9781.  
  9782.  
  9783.  
  9784.  
  9785.  
  9786.  
  9787.  
  9788.  
  9789.  
  9790.  
  9791.  
  9792.  
  9793.  
  9794.  
  9795.  
  9796.  
  9797.  
  9798.  
  9799.  
  9800.  
  9801.  
  9802.  
  9803.  
  9804.  
  9805.  
  9806.  
  9807.  
  9808.  
  9809.  
  9810.  
  9811.  
  9812.  
  9813.  
  9814.  
  9815.  
  9816.  
  9817.  
  9818.  
  9819.  
  9820.  
  9821.  
  9822.  
  9823.  
  9824.  
  9825.  
  9826.  
  9827.  
  9828.  
  9829.  
  9830.  
  9831.  
  9832.  
  9833.  
  9834.  
  9835.  
  9836.  
  9837.  
  9838.  
  9839.  
  9840.  
  9841.  
  9842.  
  9843.  
  9844.  
  9845.  
  9846.  
  9847.  
  9848.  
  9849.  
  9850.  
  9851.  
  9852.  
  9853.  
  9854.  
  9855.  
  9856.  
  9857.  
  9858.  
  9859.  
  9860.  
  9861.  
  9862.  
  9863.  
  9864.  
  9865.  
  9866.  
  9867.  
  9868.  
  9869.  
  9870.  
  9871.  
  9872.  
  9873.  
  9874.  
  9875.  
  9876.  
  9877.  
  9878.  
  9879.  
  9880.  
  9881.  
  9882.  
  9883.  
  9884.  
  9885.  
  9886.  
  9887.  
  9888.  
  9889.  
  9890.  
  9891.  
  9892.  
  9893.  
  9894.  
  9895.  
  9896.  
  9897.  
  9898.  
  9899.  
  9900.  
  9901.  
  9902.  
  9903.  
  9904.  
  9905.  
  9906.  
  9907.  
  9908.  
  9909.  
  9910.  
  9911.  
  9912.  
  9913.  
  9914.  
  9915.  
  9916.  
  9917.  
  9918.  
  9919.  
  9920.  
  9921.  
  9922.  
  9923.  
  9924.  
  9925.  
  9926.  
  9927.  
  9928.  
  9929.  
  9930.  
  9931.  
  9932.  
  9933.  
  9934.  
  9935.  
  9936.  
  9937.  
  9938.  
  9939.  
  9940.  
  9941.  
  9942.  
  9943.  
  9944.  
  9945.  
  9946.  
  9947.  
  9948.  
  9949.  
  9950.  
  9951.  
  9952.  
  9953.  
  9954.  
  9955.  
  9956.  
  9957.  
  9958.  
  9959.  
  9960.  
  9961.  
  9962.  
  9963.  
  9964.  
  9965.  
  9966.  
  9967.  
  9968.  
  9969.  
  9970.  
  9971.  
  9972.  
  9973.  
  9974.  
  9975.  
  9976.  
  9977.  
  9978.  
  9979.  
  9980.  
  9981.  
  9982.  
  9983.  
  9984.  
  9985.  
  9986.  
  9987.  
  9988.  
  9989.  
  9990.  
  9991.  
  9992.  
  9993.  
  9994.  
  9995.  
  9996.  
  9997.  
  9998.  
  9999.  
  10000.  
  10001.  
  10002.  
  10003.  
  10004.  
  10005.  
  10006.  
  10007.  
  10008.  
  10009.  
  10010.  
  10011.  
  10012.  
  10013.  
  10014.  
  10015.  
  10016.  
  10017.  
  10018.  
  10019.  
  10020.  
  10021.  
  10022.  
  10023.  
  10024.  
  10025.  
  10026.  
  10027.  
  10028.  
  10029.  
  10030.  
  10031.  
  10032.  
  10033.  
  10034.  
  10035.  
  10036.  
  10037.  
  10038.  
  10039.  
  10040.  
  10041.  
  10042.  
  10043.  
  10044.  
  10045.  
  10046.  
  10047.  
  10048.  
  10049.  
  10050.  
  10051.  
  10052.  
  10053.  
  10054.  
  10055.  
  10056.  
  10057.  
  10058.  
  10059.  
  10060.  
  10061.  
  10062.  
  10063.  
  10064.  
  10065.  
  10066.  
  10067.  
  10068.  
  10069.  
  10070.  
  10071.  
  10072.  
  10073.  
  10074.  
  10075.  
  10076.  
  10077.  
  10078.  
  10079.  
  10080.  
  10081.  
  10082.  
  10083.  
  10084.  
  10085.  
  10086.  
  10087.  
  10088.  
  10089.  
  10090.  
  10091.  
  10092.  
  10093.  
  10094.  
  10095.  
  10096.  
  10097.  
  10098.  
  10099.  
  10100.  
  10101.  
  10102.  
  10103.  
  10104.  
  10105.  
  10106.  
  10107.  
  10108.  
  10109.  
  10110.  
  10111.  
  10112.  
  10113.  
  10114.  
  10115.  
  10116.  
  10117.  
  10118.  
  10119.  
  10120.  
  10121.  
  10122.  
  10123.  
  10124.  
  10125.  
  10126.  
  10127.  
  10128.  
  10129.  
  10130.  
  10131.  
  10132.  
  10133.  
  10134.  
  10135.  
  10136.  
  10137.  
  10138.  
  10139.  
  10140.  
  10141.  
  10142.  
  10143.  
  10144.  
  10145.  
  10146.  
  10147.  
  10148.  
  10149.  
  10150.  
  10151.  
  10152.  
  10153.  
  10154.  
  10155.  
  10156.  
  10157.  
  10158.  
  10159.  
  10160.  
  10161.  
  10162.  
  10163.  
  10164.  
  10165.  
  10166.  
  10167.  
  10168.  
  10169.  
  10170.  
  10171.  
  10172.  
  10173.  
  10174.  
  10175.  
  10176.  
  10177.  
  10178.  
  10179.  
  10180.  
  10181.  
  10182.  
  10183.  
  10184.  
  10185.  
  10186.  
  10187.  
  10188.  
  10189.  
  10190.  
  10191.  
  10192.  
  10193.  
  10194.  
  10195.  
  10196.  
  10197.  
  10198.  
  10199.  
  10200.  
  10201.  
  10202.  
  10203.  
  10204.  
  10205.  
  10206.  
  10207.  
  10208.  
  10209.  
  10210.  
  10211.  
  10212.  
  10213.  
  10214.  
  10215.  
  10216.  
  10217.  
  10218.  
  10219.  
  10220.  
  10221.  
  10222.  
  10223.  
  10224.  
  10225.  
  10226.  
  10227.  
  10228.  
  10229.  
  10230.  
  10231.  
  10232.  
  10233.  
  10234.  
  10235.  
  10236.  
  10237.  
  10238.  
  10239.  
  10240.  
  10241.  
  10242.  
  10243.  
  10244.  
  10245.  
  10246.  
  10247.  
  10248.  
  10249.  
  10250.  
  10251.  
  10252.  
  10253.  
  10254.  
  10255.  
  10256.  
  10257.  
  10258.  
  10259.  
  10260.  
  10261.  
  10262.  
  10263.  
  10264.  
  10265.  
  10266.  
  10267.  
  10268.  
  10269.  
  10270.  
  10271.  
  10272.  
  10273.  
  10274.  
  10275.  
  10276.  
  10277.  
  10278.  
  10279.  
  10280.  
  10281.  
  10282.  
  10283.  
  10284.  
  10285.  
  10286.  
  10287.  
  10288.  
  10289.  
  10290.  
  10291.  
  10292.  
  10293.  
  10294.  
  10295.  
  10296.  
  10297.  
  10298.  
  10299.  
  10300.  
  10301.  
  10302.  
  10303.  
  10304.  
  10305.  
  10306.  
  10307.  
  10308.  
  10309.  
  10310.  
  10311.  
  10312.  
  10313.  
  10314.  
  10315.  
  10316.  
  10317.  
  10318.  
  10319.  
  10320.  
  10321.  
  10322.  
  10323.  
  10324.  
  10325.  
  10326.  
  10327.  
  10328.  
  10329.  
  10330.  
  10331.  
  10332.  
  10333.  
  10334.  
  10335.  
  10336.  
  10337.  
  10338.  
  10339.  
  10340.  
  10341.  
  10342.  
  10343.  
  10344.  
  10345.  
  10346.  
  10347.  
  10348.  
  10349.  
  10350.  
  10351.  
  10352.  
  10353.  
  10354.  
  10355.  
  10356.  
  10357.  
  10358.  
  10359.  
  10360.  
  10361.  
  10362.  
  10363.  
  10364.  
  10365.  
  10366.  
  10367.  
  10368.  
  10369.  
  10370.  
  10371.  
  10372.  
  10373.  
  10374.  
  10375.  
  10376.  
  10377.  
  10378.  
  10379.  
  10380.  
  10381.  
  10382.  
  10383.  
  10384.  
  10385.  
  10386.  
  10387.  
  10388.  
  10389.  
  10390.  
  10391.  
  10392.  
  10393.  
  10394.  
  10395.  
  10396.  
  10397.  
  10398.  
  10399.  
  10400.  
  10401.  
  10402.  
  10403.  
  10404.  
  10405.  
  10406.  
  10407.  
  10408.  
  10409.  
  10410.  
  10411.  
  10412.  
  10413.  
  10414.  
  10415.  
  10416.  
  10417.  
  10418.  
  10419.  
  10420.  
  10421.  
  10422.  
  10423.  
  10424.  
  10425.  
  10426.  
  10427.  
  10428.  
  10429.  
  10430.  
  10431.  
  10432.  
  10433.  
  10434.  
  10435.  
  10436.  
  10437.  
  10438.  
  10439.  
  10440.  
  10441.  
  10442.  
  10443.  
  10444.  
  10445.  
  10446.  
  10447.  
  10448.  
  10449.  
  10450.  
  10451.  
  10452.  
  10453.  
  10454.  
  10455.  
  10456.  
  10457.  
  10458.  
  10459.  
  10460.  
  10461.  
  10462.  
  10463.  
  10464.  
  10465.  
  10466.  
  10467.  
  10468.  
  10469.  
  10470.  
  10471.  
  10472.  
  10473.  
  10474.  
  10475.  
  10476.  
  10477.  
  10478.  
  10479.  
  10480.  
  10481.  
  10482.  
  10483.  
  10484.  
  10485.  
  10486.  
  10487.  
  10488.  
  10489.  
  10490.  
  10491.  
  10492.  
  10493.  
  10494.  
  10495.  
  10496.  
  10497.  
  10498.  
  10499.  
  10500.  
  10501.  
  10502.  
  10503.  
  10504.  
  10505.  
  10506.  
  10507.  
  10508.  
  10509.  
  10510.  
  10511.  
  10512.  
  10513.  
  10514.  
  10515.  
  10516.  
  10517.  
  10518.  
  10519.  
  10520.  
  10521.  
  10522.  
  10523.  
  10524.  
  10525.  
  10526.  
  10527.  
  10528.  
  10529.  
  10530.  
  10531.  
  10532.  
  10533.  
  10534.  
  10535.  
  10536.  
  10537.  
  10538.  
  10539.  
  10540.  
  10541.  
  10542.  
  10543.  
  10544.  
  10545.  
  10546.  
  10547.  
  10548.  
  10549.  
  10550.  
  10551.  
  10552.  
  10553.  
  10554.  
  10555.  
  10556.  
  10557.  
  10558.  
  10559.  
  10560.  
  10561.  
  10562.  
  10563.  
  10564.  
  10565.  
  10566.  
  10567.  
  10568.  
  10569.  
  10570.  
  10571.  
  10572.  
  10573.  
  10574.  
  10575.  
  10576.  
  10577.  
  10578.  
  10579.  
  10580.  
  10581.  
  10582.  
  10583.  
  10584.  
  10585.  
  10586.  
  10587.  
  10588.  
  10589.  
  10590.  
  10591.  
  10592.  
  10593.  
  10594.  
  10595.  
  10596.  
  10597.  
  10598.  
  10599.  
  10600.  
  10601.  
  10602.  
  10603.  
  10604.  
  10605.  
  10606.  
  10607.  
  10608.  
  10609.  
  10610.  
  10611.  
  10612.  
  10613.  
  10614.  
  10615.  
  10616.  
  10617.  
  10618.  
  10619.  
  10620.  
  10621.  
  10622.  
  10623.  
  10624.  
  10625.  
  10626.  
  10627.  
  10628.  
  10629.  
  10630.  
  10631.  
  10632.  
  10633.  
  10634.  
  10635.  
  10636.  
  10637.  
  10638.  
  10639.  
  10640.  
  10641.  
  10642.  
  10643.  
  10644.  
  10645.  
  10646.  
  10647.  
  10648.  
  10649.  
  10650.  
  10651.  
  10652.  
  10653.  
  10654.  
  10655.  
  10656.  
  10657.  
  10658.  
  10659.  
  10660.  
  10661.  
  10662.  
  10663.  
  10664.  
  10665.  
  10666.  
  10667.  
  10668.  
  10669.  
  10670.  
  10671.  
  10672.  
  10673.  
  10674.  
  10675.  
  10676.  
  10677.  
  10678.  
  10679.  
  10680.  
  10681.  
  10682.  
  10683.  
  10684.  
  10685.  
  10686.  
  10687.  
  10688.  
  10689.  
  10690.  
  10691.  
  10692.  
  10693.  
  10694.  
  10695.  
  10696.  
  10697.  
  10698.  
  10699.  
  10700.  
  10701.  
  10702.  
  10703.  
  10704.  
  10705.  
  10706.  
  10707.  
  10708.  
  10709.  
  10710.  
  10711.  
  10712.  
  10713.  
  10714.  
  10715.  
  10716.  
  10717.  
  10718.  
  10719.  
  10720.  
  10721.  
  10722.  
  10723.  
  10724.  
  10725.  
  10726.  
  10727.  
  10728.  
  10729.  
  10730.  
  10731.  
  10732.  
  10733.  
  10734.  
  10735.  
  10736.  
  10737.  
  10738.  
  10739.  
  10740.  
  10741.  
  10742.  
  10743.  
  10744.  
  10745.  
  10746.  
  10747.  
  10748.  
  10749.  
  10750.  
  10751.  
  10752.  
  10753.  
  10754.  
  10755.  
  10756.  
  10757.  
  10758.  
  10759.  
  10760.  
  10761.  
  10762.  
  10763.  
  10764.  
  10765.  
  10766.  
  10767.  
  10768.  
  10769.  
  10770.  
  10771.  
  10772.  
  10773.  
  10774.  
  10775.  
  10776.  
  10777.  
  10778.  
  10779.  
  10780.  
  10781.  
  10782.  
  10783.  
  10784.  
  10785.  
  10786.  
  10787.  
  10788.  
  10789.  
  10790.  
  10791.  
  10792.  
  10793.  
  10794.  
  10795.  
  10796.  
  10797.  
  10798.  
  10799.  
  10800.  
  10801.  
  10802.  
  10803.  
  10804.  
  10805.  
  10806.  
  10807.  
  10808.  
  10809.  
  10810.  
  10811.  
  10812.  
  10813.  
  10814.  
  10815.  
  10816.  
  10817.  
  10818.  
  10819.  
  10820.  
  10821.  
  10822.  
  10823.  
  10824.  
  10825.  
  10826.  
  10827.  
  10828.  
  10829.  
  10830.  
  10831.  
  10832.  
  10833.  
  10834.  
  10835.  
  10836.  
  10837.  
  10838.  
  10839.  
  10840.  
  10841.  
  10842.  
  10843.  
  10844.  
  10845.  
  10846.                "pengiriman_aceh",
  10847.  
  10848.  
  10849.  
  10850.  
  10851.  
  10852.                "pengiriman_ambon",
  10853.  
  10854.  
  10855.  
  10856.  
  10857.  
  10858.                "pengiriman_atambua",
  10859.  
  10860.  
  10861.  
  10862.  
  10863.  
  10864.                "pengiriman_badung",
  10865.  
  10866.  
  10867.  
  10868.  
  10869.  
  10870.                "pengiriman_bali",
  10871.  
  10872.  
  10873.  
  10874.  
  10875.  
  10876.                "pengiriman_balikpapan",
  10877.  
  10878.  
  10879.  
  10880.  
  10881.  
  10882.                "pengiriman_bandar lampung",
  10883.  
  10884.  
  10885.  
  10886.  
  10887.  
  10888.                "pengiriman_bandung",
  10889.  
  10890.  
  10891.  
  10892.  
  10893.  
  10894.                "pengiriman_bandung barat",
  10895.  
  10896.  
  10897.  
  10898.  
  10899.  
  10900.                "pengiriman_banjarmasin",
  10901.  
  10902.  
  10903.  
  10904.  
  10905.  
  10906.                "pengiriman_banyumas",
  10907.  
  10908.  
  10909.  
  10910.  
  10911.  
  10912.                "pengiriman_banyuwangi",
  10913.  
  10914.  
  10915.  
  10916.  
  10917.  
  10918.                "pengiriman_batam",
  10919.  
  10920.  
  10921.  
  10922.  
  10923.  
  10924.  
  10925.  
  10926.  
  10927.  
  10928.                "pengiriman_biak",
  10929.  
  10930.  
  10931.  
  10932.  
  10933.  
  10934.                "pengiriman_binjai",
  10935.  
  10936.  
  10937.  
  10938.  
  10939.  
  10940.                "pengiriman_blitar",
  10941.  
  10942.  
  10943.  
  10944.  
  10945.  
  10946.                "pengiriman_blora",
  10947.  
  10948.  
  10949.  
  10950.  
  10951.  
  10952.  
  10953.  
  10954.  
  10955.  
  10956.                "pengiriman_bojonegoro",
  10957.  
  10958.  
  10959.  
  10960.  
  10961.  
  10962.                "pengiriman_boyolali",
  10963.  
  10964.  
  10965.  
  10966.  
  10967.  
  10968.                "pengiriman_bukittinggi",
  10969.  
  10970.  
  10971.  
  10972.  
  10973.  
  10974.                "pengiriman_buleleng",
  10975.  
  10976.  
  10977.  
  10978.  
  10979.  
  10980.                "pengiriman_ciamis",
  10981.  
  10982.  
  10983.  
  10984.  
  10985.  
  10986.                "pengiriman_cianjur",
  10987.  
  10988.  
  10989.  
  10990.  
  10991.  
  10992.                "pengiriman_cibinong",
  10993.  
  10994.  
  10995.  
  10996.  
  10997.  
  10998.                "pengiriman_cikarang",
  10999.  
  11000.  
  11001.  
  11002.  
  11003.  
  11004.                "pengiriman_cikupa",
  11005.  
  11006.  
  11007.  
  11008.  
  11009.  
  11010.                "pengiriman_cilacap",
  11011.  
  11012.  
  11013.  
  11014.  
  11015.  
  11016.                "pengiriman_cileunyi",
  11017.  
  11018.  
  11019.  
  11020.  
  11021.  
  11022.                "pengiriman_cimahi",
  11023.  
  11024.  
  11025.  
  11026.  
  11027.  
  11028.                "pengiriman_cirebon",
  11029.  
  11030.  
  11031.  
  11032.  
  11033.  
  11034.                "pengiriman_ciwidey",
  11035.  
  11036.  
  11037.  
  11038.  
  11039.  
  11040.                "pengiriman_deli serdang",
  11041.  
  11042.  
  11043.  
  11044.  
  11045.  
  11046.                "pengiriman_demak",
  11047.  
  11048.  
  11049.  
  11050.  
  11051.  
  11052.                "pengiriman_denpasar",
  11053.  
  11054.  
  11055.  
  11056.  
  11057.  
  11058.  
  11059.  
  11060.  
  11061.  
  11062.                "pengiriman_garut",
  11063.  
  11064.  
  11065.  
  11066.  
  11067.  
  11068.                "pengiriman_gianyar",
  11069.  
  11070.  
  11071.  
  11072.  
  11073.  
  11074.                "pengiriman_gresik",
  11075.  
  11076.  
  11077.  
  11078.  
  11079.  
  11080.                "pengiriman_gunung kidul",
  11081.  
  11082.  
  11083.  
  11084.  
  11085.  
  11086.  
  11087.  
  11088.  
  11089.  
  11090.                "pengiriman_jambi",
  11091.  
  11092.  
  11093.  
  11094.  
  11095.  
  11096.                "pengiriman_jayapura",
  11097.  
  11098.  
  11099.  
  11100.  
  11101.  
  11102.                "pengiriman_jember",
  11103.  
  11104.  
  11105.  
  11106.  
  11107.  
  11108.                "pengiriman_jepara",
  11109.  
  11110.  
  11111.  
  11112.  
  11113.  
  11114.                "pengiriman_jombang",
  11115.  
  11116.  
  11117.  
  11118.  
  11119.  
  11120.                "pengiriman_karanganyar",
  11121.  
  11122.  
  11123.  
  11124.  
  11125.  
  11126.                "pengiriman_karawang",
  11127.  
  11128.  
  11129.  
  11130.  
  11131.  
  11132.                "pengiriman_karo",
  11133.  
  11134.  
  11135.  
  11136.  
  11137.  
  11138.                "pengiriman_kebumen",
  11139.  
  11140.  
  11141.  
  11142.  
  11143.  
  11144.                "pengiriman_kediri",
  11145.  
  11146.  
  11147.  
  11148.  
  11149.  
  11150.                "pengiriman_keerom",
  11151.  
  11152.  
  11153.  
  11154.  
  11155.  
  11156.                "pengiriman_kendal",
  11157.  
  11158.  
  11159.  
  11160.  
  11161.  
  11162.                "pengiriman_klaten",
  11163.  
  11164.  
  11165.  
  11166.  
  11167.  
  11168.  
  11169.  
  11170.  
  11171.  
  11172.                "pengiriman_kudus",
  11173.  
  11174.  
  11175.  
  11176.  
  11177.  
  11178.                "pengiriman_kupang",
  11179.  
  11180.  
  11181.  
  11182.  
  11183.  
  11184.                "pengiriman_lainnya",
  11185.  
  11186.  
  11187.  
  11188.  
  11189.  
  11190.                "pengiriman_lamongan",
  11191.  
  11192.  
  11193.  
  11194.  
  11195.  
  11196.                "pengiriman_lampung",
  11197.  
  11198.  
  11199.  
  11200.  
  11201.  
  11202.                "pengiriman_lampung barat",
  11203.  
  11204.  
  11205.  
  11206.  
  11207.  
  11208.                "pengiriman_lembang",
  11209.  
  11210.  
  11211.  
  11212.  
  11213.  
  11214.                "pengiriman_lombok",
  11215.  
  11216.  
  11217.  
  11218.  
  11219.  
  11220.                "pengiriman_lumajang",
  11221.  
  11222.  
  11223.  
  11224.  
  11225.  
  11226.                "pengiriman_madiun",
  11227.  
  11228.  
  11229.  
  11230.  
  11231.  
  11232.                "pengiriman_magelang",
  11233.  
  11234.  
  11235.  
  11236.  
  11237.  
  11238.                "pengiriman_majalengka",
  11239.  
  11240.  
  11241.  
  11242.  
  11243.  
  11244.                "pengiriman_makassar",
  11245.  
  11246.  
  11247.  
  11248.  
  11249.  
  11250.                "pengiriman_malang",
  11251.  
  11252.  
  11253.  
  11254.  
  11255.  
  11256.                "pengiriman_manado",
  11257.  
  11258.  
  11259.  
  11260.  
  11261.  
  11262.                "pengiriman_medan",
  11263.  
  11264.  
  11265.  
  11266.  
  11267.  
  11268.                "pengiriman_mengwi",
  11269.  
  11270.  
  11271.  
  11272.  
  11273.  
  11274.                "pengiriman_mojokerto",
  11275.  
  11276.  
  11277.  
  11278.  
  11279.  
  11280.                "pengiriman_nganjuk",
  11281.  
  11282.  
  11283.  
  11284.  
  11285.  
  11286.                "pengiriman_ngawi",
  11287.  
  11288.  
  11289.  
  11290.  
  11291.  
  11292.                "pengiriman_padang",
  11293.  
  11294.  
  11295.  
  11296.  
  11297.  
  11298.                "pengiriman_palembang",
  11299.  
  11300.  
  11301.  
  11302.  
  11303.  
  11304.                "pengiriman_pasuruan",
  11305.  
  11306.  
  11307.  
  11308.  
  11309.  
  11310.                "pengiriman_pati",
  11311.  
  11312.  
  11313.  
  11314.  
  11315.  
  11316.                "pengiriman_pekalongan",
  11317.  
  11318.  
  11319.  
  11320.  
  11321.  
  11322.                "pengiriman_pekanbaru",
  11323.  
  11324.  
  11325.  
  11326.  
  11327.  
  11328.                "pengiriman_pemalang",
  11329.  
  11330.  
  11331.  
  11332.  
  11333.  
  11334.                "pengiriman_ponorogo",
  11335.  
  11336.  
  11337.  
  11338.  
  11339.  
  11340.                "pengiriman_pontianak",
  11341.  
  11342.  
  11343.  
  11344.  
  11345.  
  11346.                "pengiriman_probolinggo",
  11347.  
  11348.  
  11349.  
  11350.  
  11351.  
  11352.                "pengiriman_purbalingga",
  11353.  
  11354.  
  11355.  
  11356.  
  11357.  
  11358.                "pengiriman_purwakarta",
  11359.  
  11360.  
  11361.  
  11362.  
  11363.  
  11364.                "pengiriman_purwokerto",
  11365.  
  11366.  
  11367.  
  11368.  
  11369.  
  11370.                "pengiriman_rembang",
  11371.  
  11372.  
  11373.  
  11374.  
  11375.  
  11376.                "pengiriman_riau",
  11377.  
  11378.  
  11379.  
  11380.  
  11381.  
  11382.                "pengiriman_salatiga",
  11383.  
  11384.  
  11385.  
  11386.  
  11387.  
  11388.                "pengiriman_samarinda",
  11389.  
  11390.  
  11391.  
  11392.  
  11393.  
  11394.                "pengiriman_semarang",
  11395.  
  11396.  
  11397.  
  11398.  
  11399.  
  11400.                "pengiriman_sentani",
  11401.  
  11402.  
  11403.  
  11404.  
  11405.  
  11406.                "pengiriman_serang",
  11407.  
  11408.  
  11409.  
  11410.  
  11411.  
  11412.                "pengiriman_sidoarjo",
  11413.  
  11414.  
  11415.  
  11416.  
  11417.  
  11418.                "pengiriman_singkawang",
  11419.  
  11420.  
  11421.  
  11422.  
  11423.  
  11424.                "pengiriman_sragen",
  11425.  
  11426.  
  11427.  
  11428.  
  11429.  
  11430.                "pengiriman_subang",
  11431.  
  11432.  
  11433.  
  11434.  
  11435.  
  11436.                "pengiriman_sukabumi",
  11437.  
  11438.  
  11439.  
  11440.  
  11441.  
  11442.                "pengiriman_sumbawa",
  11443.  
  11444.  
  11445.  
  11446.  
  11447.  
  11448.                "pengiriman_surabaya",
  11449.  
  11450.  
  11451.  
  11452.  
  11453.  
  11454.                "pengiriman_surakarta solo",
  11455.  
  11456.  
  11457.  
  11458.  
  11459.  
  11460.  
  11461.  
  11462.  
  11463.  
  11464.                "pengiriman_tasikmalaya",
  11465.  
  11466.  
  11467.  
  11468.  
  11469.  
  11470.                "pengiriman_tegal",
  11471.  
  11472.  
  11473.  
  11474.  
  11475.  
  11476.                "pengiriman_timika",
  11477.  
  11478.  
  11479.  
  11480.  
  11481.  
  11482.                "pengiriman_wamena",
  11483.  
  11484.  
  11485.  
  11486.  
  11487.  
  11488.                "pengiriman_wiyung",
  11489.  
  11490.  
  11491.  
  11492.  
  11493.  
  11494.                "pengiriman_wonokromo",
  11495.  
  11496.  
  11497.  
  11498.  
  11499.  
  11500.                "pengiriman_yogyakarta",
  11501.  
  11502.  
  11503.  
  11504.  
  11505.  
  11506.  
  11507.  
  11508.  
  11509.  
  11510.  
  11511.  
  11512.  
  11513.  
  11514.  
  11515.  
  11516.  
  11517.  
  11518.  
  11519.  
  11520.  
  11521.  
  11522.  
  11523.  
  11524.  
  11525.  
  11526.  
  11527.  
  11528.  
  11529.  
  11530.  
  11531.  
  11532.  
  11533.  
  11534.  
  11535.  
  11536.  
  11537.  
  11538.  
  11539.  
  11540.  
  11541.  
  11542.  
  11543.  
  11544.  
  11545.  
  11546.  
  11547.  
  11548.  
  11549.  
  11550.  
  11551.  
  11552.  
  11553.  
  11554.  
  11555.  
  11556.  
  11557.  
  11558.  
  11559.  
  11560.  
  11561.  
  11562.  
  11563.  
  11564.  
  11565.  
  11566.  
  11567.  
  11568.  
  11569.  
  11570.  
  11571.  
  11572.  
  11573.  
  11574.  
  11575.  
  11576.  
  11577.  
  11578.  
  11579.  
  11580.  
  11581.  
  11582.  
  11583.  
  11584.  
  11585.  
  11586.  
  11587.  
  11588.  
  11589.  
  11590.  
  11591.  
  11592.  
  11593.  
  11594.  
  11595.  
  11596.  
  11597.  
  11598.  
  11599.  
  11600.  
  11601.  
  11602.  
  11603.  
  11604.  
  11605.  
  11606.  
  11607.  
  11608.  
  11609.  
  11610.  
  11611.  
  11612.  
  11613.  
  11614.  
  11615.  
  11616.  
  11617.  
  11618.  
  11619.  
  11620.  
  11621.  
  11622.  
  11623.  
  11624.  
  11625.  
  11626.  
  11627.  
  11628.  
  11629.  
  11630.  
  11631.  
  11632.  
  11633.  
  11634.  
  11635.  
  11636.  
  11637.  
  11638.  
  11639.  
  11640.  
  11641.  
  11642.  
  11643.  
  11644.  
  11645.  
  11646.  
  11647.  
  11648.  
  11649.  
  11650.  
  11651.  
  11652.  
  11653.  
  11654.  
  11655.  
  11656.  
  11657.  
  11658.  
  11659.  
  11660.  
  11661.  
  11662.  
  11663.  
  11664.  
  11665.  
  11666.  
  11667.  
  11668.  
  11669.  
  11670.  
  11671.  
  11672.  
  11673.  
  11674.  
  11675.  
  11676.  
  11677.  
  11678.  
  11679.  
  11680.  
  11681.  
  11682.  
  11683.  
  11684.  
  11685.  
  11686.  
  11687.  
  11688.  
  11689.  
  11690.  
  11691.  
  11692.  
  11693.  
  11694.  
  11695.  
  11696.  
  11697.  
  11698.  
  11699.  
  11700.  
  11701.  
  11702.  
  11703.  
  11704.  
  11705.  
  11706.  
  11707.  
  11708.  
  11709.  
  11710.  
  11711.  
  11712.  
  11713.  
  11714.  
  11715.  
  11716.  
  11717.  
  11718.  
  11719.  
  11720.  
  11721.  
  11722.  
  11723.  
  11724.  
  11725.  
  11726.  
  11727.  
  11728.  
  11729.  
  11730.  
  11731.  
  11732.  
  11733.  
  11734.  
  11735.  
  11736.  
  11737.  
  11738.  
  11739.  
  11740.  
  11741.  
  11742.  
  11743.  
  11744.  
  11745.  
  11746.  
  11747.  
  11748.  
  11749.  
  11750.  
  11751.  
  11752.  
  11753.  
  11754.  
  11755.  
  11756.  
  11757.  
  11758.  
  11759.  
  11760.  
  11761.  
  11762.  
  11763.  
  11764.  
  11765.  
  11766.  
  11767.  
  11768.  
  11769.  
  11770.  
  11771.  
  11772.  
  11773.  
  11774.  
  11775.  
  11776.  
  11777.  
  11778.  
  11779.  
  11780.  
  11781.  
  11782.  
  11783.  
  11784.  
  11785.  
  11786.  
  11787.  
  11788.  
  11789.  
  11790.  
  11791.  
  11792.  
  11793.  
  11794.  
  11795.  
  11796.  
  11797.  
  11798.  
  11799.  
  11800.  
  11801.  
  11802.  
  11803.  
  11804.  
  11805.  
  11806.  
  11807.  
  11808.  
  11809.  
  11810.  
  11811.  
  11812.  
  11813.  
  11814.  
  11815.  
  11816.  
  11817.  
  11818.  
  11819.  
  11820.  
  11821.  
  11822.  
  11823.  
  11824.  
  11825.  
  11826.  
  11827.  
  11828.  
  11829.  
  11830.  
  11831.  
  11832.  
  11833.  
  11834.  
  11835.  
  11836.  
  11837.  
  11838.  
  11839.  
  11840.  
  11841.  
  11842.  
  11843.  
  11844.  
  11845.  
  11846.  
  11847.  
  11848.  
  11849.  
  11850.  
  11851.  
  11852.  
  11853.  
  11854.  
  11855.  
  11856.  
  11857.  
  11858.  
  11859.  
  11860.  
  11861.  
  11862.  
  11863.  
  11864.  
  11865.  
  11866.  
  11867.  
  11868.  
  11869.  
  11870.  
  11871.  
  11872.  
  11873.  
  11874.  
  11875.  
  11876.  
  11877.  
  11878.  
  11879.  
  11880.  
  11881.  
  11882.  
  11883.  
  11884.  
  11885.  
  11886.  
  11887.  
  11888.  
  11889.  
  11890.  
  11891.  
  11892.  
  11893.  
  11894.  
  11895.  
  11896.  
  11897.  
  11898.  
  11899.  
  11900.  
  11901.  
  11902.  
  11903.  
  11904.  
  11905.  
  11906.  
  11907.  
  11908.  
  11909.  
  11910.  
  11911.  
  11912.  
  11913.  
  11914.  
  11915.  
  11916.  
  11917.  
  11918.  
  11919.  
  11920.  
  11921.  
  11922.  
  11923.  
  11924.  
  11925.  
  11926.  
  11927.  
  11928.  
  11929.  
  11930.  
  11931.  
  11932.  
  11933.  
  11934.  
  11935.  
  11936.  
  11937.  
  11938.  
  11939.  
  11940.  
  11941.  
  11942.  
  11943.  
  11944.  
  11945.  
  11946.  
  11947.  
  11948.  
  11949.  
  11950.  
  11951.  
  11952.  
  11953.  
  11954.  
  11955.  
  11956.  
  11957.  
  11958.  
  11959.  
  11960.  
  11961.  
  11962.  
  11963.  
  11964.  
  11965.  
  11966.  
  11967.  
  11968.  
  11969.  
  11970.  
  11971.  
  11972.  
  11973.  
  11974.  
  11975.  
  11976.  
  11977.  
  11978.  
  11979.  
  11980.  
  11981.  
  11982.  
  11983.  
  11984.  
  11985.  
  11986.  
  11987.  
  11988.  
  11989.  
  11990.  
  11991.  
  11992.  
  11993.  
  11994.  
  11995.  
  11996.  
  11997.  
  11998.  
  11999.  
  12000.  
  12001.  
  12002.  
  12003.  
  12004.  
  12005.  
  12006.  
  12007.  
  12008.  
  12009.  
  12010.  
  12011.  
  12012.  
  12013.  
  12014.  
  12015.  
  12016.  
  12017.  
  12018.  
  12019.  
  12020.  
  12021.  
  12022.  
  12023.  
  12024.  
  12025.  
  12026.  
  12027.  
  12028.  
  12029.  
  12030.  
  12031.  
  12032.  
  12033.  
  12034.  
  12035.  
  12036.  
  12037.  
  12038.  
  12039.  
  12040.  
  12041.  
  12042.  
  12043.  
  12044.  
  12045.  
  12046.  
  12047.  
  12048.  
  12049.  
  12050.  
  12051.  
  12052.  
  12053.  
  12054.  
  12055.  
  12056.  
  12057.  
  12058.  
  12059.  
  12060.  
  12061.  
  12062.  
  12063.  
  12064.  
  12065.  
  12066.  
  12067.  
  12068.  
  12069.  
  12070.  
  12071.  
  12072.  
  12073.  
  12074.  
  12075.  
  12076.  
  12077.  
  12078.  
  12079.  
  12080.  
  12081.  
  12082.  
  12083.  
  12084.  
  12085.  
  12086.  
  12087.  
  12088.  
  12089.  
  12090.  
  12091.  
  12092.  
  12093.  
  12094.  
  12095.  
  12096.  
  12097.  
  12098.  
  12099.  
  12100.  
  12101.  
  12102.  
  12103.  
  12104.  
  12105.  
  12106.  
  12107.  
  12108.  
  12109.  
  12110.            ]
  12111.            console.log(cityNonJabodetabek)
  12112.            let non_jabodetabek = []
  12113.            for (var i = 0; i < cityNonJabodetabek.length; i++) {
  12114.                const obj = {
  12115.                    "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ', '-'),
  12116.                    "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ', '-'),
  12117.                    "zip": []
  12118.                }
  12119.                non_jabodetabek.push(obj)
  12120.            }
  12121.            let current_location = getCookie("location_delivery")
  12122.            $("[name=location]").change(function () {
  12123.                let v = $(this).val()
  12124.                let option = []
  12125.                if (v == 'Jabodetabek') {
  12126.                    for (var i = 0; i < jabodetabek.length; i++) {
  12127.                        const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>`
  12128.                        option.push(jabodetabekHtml)
  12129.                    }
  12130.                    $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
  12131.                } else {
  12132.                    for (var i = 0; i < non_jabodetabek.length; i++) {
  12133.                        const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>`
  12134.                        option.push(nonjabodetabekHtml)
  12135.                    }
  12136.                    $("#choose-location").html(`<option value="">Choose Location</option>${option}`)
  12137.                }
  12138.            })
  12139.  
  12140.            $("#location-lock-submit").click(function (e) {
  12141.                let select = $("#choose-location")
  12142.                let value = select.val().toLowerCase()
  12143.                console.log(value)
  12144.                if (select.val() == "") {
  12145.                    return alert("Choose Your Location")
  12146.                    e.preventDefault()
  12147.                }
  12148.                setCookie("location_delivery", value, 1000000);
  12149.  
  12150.                location.reload();
  12151.  
  12152.            })
  12153.  
  12154.            $("#close-popup-delivery").click(function () {
  12155.                $(".MuiDialog-root").hide()
  12156.                if (!current_location) {
  12157.                    setCookie("location_delivery", "jakarta", 1000000);
  12158.                    $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta")
  12159.                }
  12160.            })
  12161.            $("#loc_delivery, #loc_delivery_mobile").click(function () {
  12162.                $(".MuiDialog-root").show()
  12163.            })
  12164.  
  12165.  
  12166.            if (!current_location) {
  12167.  
  12168.            } else {
  12169.                $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location)
  12170.                console.log(current_location)
  12171.                $("#choose-location").each(function () {
  12172.                    if (current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi') {
  12173.                        $("#jabodetabek").trigger("click")
  12174.                    } else {
  12175.                        $("#non-jabodetabek").trigger("click")
  12176.                    }
  12177.                    $("#choose-location").find("option[value=" + current_location + "]").attr("selected", "selected")
  12178.                })
  12179.            }
  12180.  
  12181.            // 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'){
  12182.            //   $("#timeMalam").attr("disabled", false)
  12183.            // } else {
  12184.            //   $("#timeMalam").attr("disabled", true)
  12185.            // }
  12186.  
  12187.            if (current_location && current_location != 'jakarta') {
  12188.                $("#self-pickup").attr("disabled", true)
  12189.            }
  12190.  
  12191.            function setCookie(name, value, days) {
  12192.                var expires = "";
  12193.                if (days) {
  12194.                    var date = new Date();
  12195.                    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  12196.                    expires = "; expires=" + date.toUTCString();
  12197.                }
  12198.                document.cookie = name + "=" + (value || "") + expires + "; path=/";
  12199.            }
  12200.            function getCookie(name) {
  12201.                var nameEQ = name + "=";
  12202.                var ca = document.cookie.split(';');
  12203.                for (var i = 0; i < ca.length; i++) {
  12204.                    var c = ca[i];
  12205.                    while (c.charAt(0) == ' ') c = c.substring(1, c.length);
  12206.                    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  12207.                }
  12208.                return null;
  12209.            }
  12210.        </script>
  12211.        <!-- One Tap -->
  12212.        <script>
  12213.            console.log("Outerbloom...");
  12214.        </script>
  12215.        <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block">
  12216.  
  12217.  
  12218.  
  12219.  
  12220.  
  12221.  
  12222.  
  12223.  
  12224.  
  12225.  
  12226.  
  12227.  
  12228.  
  12229.  
  12230.  
  12231.  
  12232.  
  12233.  
  12234.  
  12235.  
  12236.  
  12237.  
  12238.  
  12239.  
  12240.  
  12241.  
  12242.  
  12243.  
  12244.  
  12245.  
  12246.  
  12247.  
  12248.  
  12249.  
  12250.  
  12251.  
  12252.  
  12253.  
  12254.  
  12255.  
  12256.  
  12257.  
  12258.  
  12259.  
  12260.  
  12261.  
  12262.            <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" />
  12263.            <script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
  12264.            <script>
  12265.                const widgetConfig = {
  12266.                    id: "clz7897za002cz7otleaz0d3d",
  12267.                    showQuickResponse: false,
  12268.                    quickResponsesData: [],
  12269.                    themeColor: "#ffffff",
  12270.                    widgetText: "",
  12271.                    radiusType: "circle",
  12272.                    widgetIconType: "whatsapp",
  12273.                    position: "right",
  12274.                    storeLogo: "",
  12275.                    storeName: "Outerbloom",
  12276.                    storeDescription: "",
  12277.                    size: "small",
  12278.                    showCard: false,
  12279.                    widgetColorType: "solid",
  12280.                    widgetColor1: "#008069",
  12281.                    widgetColor2: "#008069",
  12282.                    social: {
  12283.                        socialOrders: ["instagram", "tiktok", "facebook", "x", "youtube", "linkedin", "email"],
  12284.                        values: {
  12285.                            instagram: {
  12286.                                enabled: false,
  12287.                                value: "",
  12288.                            },
  12289.                            facebook: {
  12290.                                enabled: false,
  12291.                                value: "",
  12292.                            },
  12293.                            email: {
  12294.                                enabled: false,
  12295.                                value: "",
  12296.                            },
  12297.                            x: {
  12298.                                enabled: false,
  12299.                                value: "",
  12300.                            },
  12301.                            tiktok: {
  12302.                                enabled: false,
  12303.                                value: "",
  12304.                            },
  12305.                            linkedin: {
  12306.                                enabled: false,
  12307.                                value: "",
  12308.                            },
  12309.                            youtube: {
  12310.                                enabled: false,
  12311.                                value: "",
  12312.                            },
  12313.                        },
  12314.                    },
  12315.                };
  12316.  
  12317.                function initializeWidget() {
  12318.                    if (typeof BBBWidget !== 'undefined') {
  12319.                        BBBWidget.init(widgetConfig);
  12320.                    } else {
  12321.                        setTimeout(initializeWidget, 100);
  12322.                    }
  12323.                }
  12324.  
  12325.                initializeWidget();</script>
  12326.  
  12327.  
  12328.        </div>
  12329.        <div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block">
  12330.  
  12331.  
  12332.            <div style="position: fixed; bottom: 0; right: 0"></div>
  12333.  
  12334.            <script>
  12335.                console.info("bitlogin extension version: v2.5.7");
  12336.  
  12337.                const googleScript = document.createElement("script");
  12338.                googleScript.setAttribute("src", "https://accounts.google.com/gsi/client");
  12339.                document.head.append(googleScript);
  12340.  
  12341.                const bitLoginBaseUrl = "https://api.bitbybit.studio";
  12342.                const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`;
  12343.  
  12344.                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" } };
  12345.                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 }];
  12346.                const redirectUrl = appearance.redirectLink;
  12347.  
  12348.                let locationCacheSet = false;
  12349.                let errorLocation = false;
  12350.                let oneTapSet = false;
  12351.  
  12352.                let bitloginCache = {
  12353.                    appearance: appearance,
  12354.                    config: config
  12355.                };
  12356.  
  12357.                let isInitializing = false;
  12358.                const queue = [];
  12359.  
  12360.                // Add CSS for the popup
  12361.                const popupStyles = document.createElement('style');
  12362.                popupStyles.textContent = `
  12363.   /* Styles for login popup */
  12364.   .bitlogin-popup-overlay {
  12365.     position: fixed;
  12366.     top: 0;
  12367.     left: 0;
  12368.     width: 100%;
  12369.     height: 100%;
  12370.     background: rgba(0, 0, 0, 0.45);
  12371.     backdrop-filter: blur(4px);
  12372.     display: flex;
  12373.     align-items: center;
  12374.     justify-content: center;
  12375.     opacity: 0;
  12376.     transition: opacity 0.3s ease-in-out;
  12377.     z-index: 999999;
  12378.   }
  12379.  
  12380.   .bitlogin-popup-overlay.visible {
  12381.     opacity: 1;
  12382.   }
  12383.  
  12384.   .bitlogin-popup {
  12385.     background: #FFFFFF;
  12386.     box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  12387.     border-radius: 16px;
  12388.     width: 100%;
  12389.     max-width: 560px;
  12390.     display: flex;
  12391.     overflow: hidden;
  12392.     position: relative;
  12393.     opacity: 0;
  12394.     transform: translateY(20px) scale(0.98);
  12395.     transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  12396.   }
  12397.  
  12398.   .bitlogin-popup.visible {
  12399.     opacity: 1;
  12400.     transform: translateY(0) scale(1);
  12401.   }
  12402.  
  12403.   .bitlogin-popup-with-image {
  12404.     max-width: 640px;
  12405.   }
  12406.  
  12407.   .bitlogin-popup-right-image {
  12408.     flex-direction: row-reverse;
  12409.   }
  12410.  
  12411.   .bitlogin-popup-image {
  12412.     object-fit: cover;
  12413.     width: 50%;
  12414.     height: auto;
  12415.   }
  12416.  
  12417.   .bitlogin-popup-content {
  12418.     padding: 32px;
  12419.     position: relative;
  12420.     width: 50%;
  12421.   }
  12422.  
  12423.   .bitlogin-popup-close {
  12424.     position: absolute;
  12425.     top: 16px;
  12426.     right: 16px;
  12427.     background: white;
  12428.     border: none;
  12429.     width: 30px;
  12430.     height: 30px;
  12431.     display: flex;
  12432.     align-items: center;
  12433.     justify-content: center;
  12434.     cursor: pointer;
  12435.     transition: background-color 0.2s;
  12436.     color: inherit;
  12437.     padding: 0;
  12438.   }
  12439.  
  12440.   .bitlogin-popup-close:hover {
  12441.     background-color: #e5e5e5;
  12442.   }
  12443.  
  12444.   .bitlogin-popup-buttons {
  12445.     display: flex;
  12446.     flex-direction: column;
  12447.     gap: 12px;
  12448.     margin-top: 24px;
  12449.   }
  12450.  
  12451.   /* Button styles within popup - override width for popup buttons */
  12452.   .bitlogin-popup-buttons #google-login,
  12453.   .bitlogin-popup-buttons #facebook-login,
  12454.   .bitlogin-popup-buttons #apple-login,
  12455.   .bitlogin-popup-buttons #whatsapp-login,
  12456.   .bitlogin-popup-buttons #microsoft-login,
  12457.   .bitlogin-popup-buttons #twitter-login,
  12458.   .bitlogin-popup-buttons #amazon-login,
  12459.   .bitlogin-popup-buttons #instagram-login,
  12460.   .bitlogin-popup-buttons #magic-link-login,
  12461.   .bitlogin-popup-buttons #mobile-app-login {
  12462.     width: 100% !important;
  12463.     font-family: inherit !important;
  12464.   }
  12465.  
  12466.   .bitlogin-popup-footer {
  12467.     margin-top: 32px;
  12468.     text-align: center;
  12469.     font-size: 14px;
  12470.     opacity: 0.6;
  12471.   }
  12472.  
  12473.   /* Modern Typography */
  12474.   .bitlogin-popup h2 {
  12475.     margin-top: 12px;
  12476.     font-size: 21px !important;
  12477.     line-height: 1.2 !important;
  12478.     font-weight: 700 !important;
  12479.     letter-spacing: -0.02em !important;
  12480.     margin-bottom: 16px !important;
  12481.   }
  12482.  
  12483.   .bitlogin-popup-header {
  12484.     position: relative;
  12485.     margin-bottom: 24px;
  12486.   }
  12487.  
  12488.   /* Modern gradient accent */
  12489.   .bitlogin-popup-content > div {
  12490.     font-size: 16px !important;
  12491.     line-height: 1.2 !important;
  12492.     opacity: 0.85 !important;
  12493.   }
  12494.  
  12495.   /* Enhanced button interactions */
  12496.   .bitlogin-popup-buttons button {
  12497.     position: relative;
  12498.     overflow: hidden;
  12499.   }
  12500.  
  12501.   @keyframes ripple {
  12502.     0% {
  12503.       transform: scale(0, 0);
  12504.       opacity: 0.5;
  12505.     }
  12506.     100% {
  12507.       transform: scale(100, 100);
  12508.       opacity: 0;
  12509.     }
  12510.   }
  12511.  
  12512.   /* Responsive adjustments */
  12513.   @media (max-width: 640px) {
  12514.     .bitlogin-popup {
  12515.       max-width: 90%;
  12516.       width: 90%;
  12517.       margin: 0 16px;
  12518.     }
  12519.  
  12520.     .bitlogin-popup-with-image {
  12521.       flex-direction: column !important;
  12522.     }
  12523.  
  12524.     .bitlogin-popup-image {
  12525.       width: 100%;
  12526.       height: 180px;
  12527.     }
  12528.  
  12529.     .bitlogin-popup-content {
  12530.       padding: 24px;
  12531.     }
  12532.  
  12533.     .bitlogin-popup h2 {
  12534.       font-size: 24px !important;
  12535.     }
  12536.   }
  12537. `;
  12538.  
  12539.                document.head.appendChild(popupStyles);
  12540.  
  12541.                // Add fonts link for different font options
  12542.                const fontsLink = document.createElement('link');
  12543.                fontsLink.rel = 'stylesheet';
  12544.                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';
  12545.                document.head.appendChild(fontsLink);
  12546.  
  12547.                (async () => {
  12548.                    try {
  12549.                        let host = window.location.host;
  12550.                        if (host === "admin.shopify.com") {
  12551.                            host = `${window.location.pathname.split("/")[2]}.myshopify.com`;
  12552.                        }
  12553.  
  12554.                        const urlSearchParams = new URLSearchParams(window.location.search);
  12555.                        const checkoutUrl = urlSearchParams.get("checkout_url");
  12556.  
  12557.                        async function init({ inputRef, index }) {
  12558.                            if (isInitializing) {
  12559.                                queue.push(() => init({ inputRef, index }));
  12560.                                return;
  12561.                            }
  12562.  
  12563.                            isInitializing = true;
  12564.  
  12565.                            try {
  12566.                                let bitLoginSectionRoot = document.querySelector(
  12567.                                    `.bitlogin-root[data-index="${index}"]`
  12568.                                );
  12569.  
  12570.                                const formRef = inputRef?.closest(
  12571.                                    "form:not([action='/account/recover'])"
  12572.                                );
  12573.  
  12574.                                if (formRef && !bitLoginSectionRoot) {
  12575.                                    await getLocation();
  12576.  
  12577.                                    bitLoginSectionRoot = document.createElement(`div`);
  12578.  
  12579.                                    bitLoginSectionRoot.setAttribute("class", "bitlogin-root");
  12580.                                    bitLoginSectionRoot.setAttribute("data-index", `${index}`);
  12581.  
  12582.                                    updateAppearance({
  12583.                                        formRef,
  12584.                                        rootRef: bitLoginSectionRoot,
  12585.                                        host,
  12586.                                    });
  12587.                                }
  12588.                            } catch (err) {
  12589.                                console.error(`error while initiating bitlogin extensions`, err);
  12590.                            } finally {
  12591.                                // Release the lock
  12592.                                isInitializing = false;
  12593.  
  12594.                                // Check if there are pending items in the queue
  12595.                                if (queue.length > 0) {
  12596.                                    // Process the next function in the queue
  12597.                                    const nextFunction = queue.shift();
  12598.                                    nextFunction();
  12599.                                }
  12600.                            }
  12601.                        }
  12602.  
  12603.                        function initAll() {
  12604.                            return new Promise((resolve, reject) => {
  12605.                                setTimeout(async () => {
  12606.                                    const inputRefs = document.querySelectorAll(
  12607.                                        'input[name="customer[email]"]'
  12608.                                    );
  12609.  
  12610.                                    for (let i = 0; i < inputRefs.length; i++) {
  12611.                                        const currentInputRef = inputRefs[i];
  12612.                                        const isVisible = isElementVisible(currentInputRef);
  12613.  
  12614.                                        if (isVisible) {
  12615.                                            await init({ inputRef: currentInputRef, index: i });
  12616.                                        }
  12617.                                    }
  12618.  
  12619.                                    resolve("ok");
  12620.                                }, 100);
  12621.                            });
  12622.                        }
  12623.  
  12624.                        const observer = new MutationObserver((mutationsList) => {
  12625.                            for (let mutation of mutationsList) {
  12626.                                initAll();
  12627.                            }
  12628.                        });
  12629.  
  12630.                        observer.observe(document.body, {
  12631.                            childList: true,
  12632.                            subtree: true,
  12633.                            attributes: true,
  12634.                        });
  12635.  
  12636.                        initAll();
  12637.  
  12638.                        if (appearance.googleOneTap) {
  12639.                            setupOneTap({ host, checkoutUrl });
  12640.                        }
  12641.  
  12642.                        // Initialize popup
  12643.                        await initPopup(host);
  12644.                    } catch (error) {
  12645.                        console.error("Error initializing BitLogin:", error);
  12646.                    }
  12647.                })();
  12648.  
  12649.                async function initPopup(host) {
  12650.                    // Check if user is already logged in using Liquid checks properly
  12651.                    const isLoggedIn = false ||
  12652.                        document.querySelector('.customer-logout-link') ||
  12653.                        document.querySelector('.account-link') ||
  12654.                        window.location.pathname.includes('/account');
  12655.  
  12656.                    if (isLoggedIn) {
  12657.                        return; // User is logged in, don't show popup
  12658.                    }
  12659.  
  12660.                    try {
  12661.                        // Fetch the popup configuration
  12662.                        const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`)
  12663.                            .then(res => res.json())
  12664.                            .catch(err => {
  12665.                                console.error('Error fetching popup configuration:', err);
  12666.                                return null;
  12667.                            });
  12668.  
  12669.                        if (!popupConfig || !popupConfig.enabled) {
  12670.                            return; // Don't show popup if disabled or config not found
  12671.                        }
  12672.  
  12673.                        // Create popup after 10 seconds
  12674.                        setTimeout(() => {
  12675.                            // Check if user is still on the page and still not logged in
  12676.                            if (document.visibilityState === 'visible') {
  12677.                                // Additional check in case user logged in during the 10 second wait
  12678.                                const currentlyLoggedIn = false ||
  12679.                                    document.querySelector('.customer-logout-link') ||
  12680.                                    document.querySelector('.account-link');
  12681.  
  12682.                                if (!currentlyLoggedIn) {
  12683.                                    createLoginPopup(popupConfig, host);
  12684.                                }
  12685.                            }
  12686.                        }, 10000);
  12687.                    } catch (error) {
  12688.                        console.error('Error initializing popup:', error);
  12689.                    }
  12690.                }
  12691.  
  12692.                function createLoginPopup(popupConfig, host) {
  12693.                    // Font mapping
  12694.                    const fontFamilyMap = {
  12695.                        system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
  12696.                        montserrat: 'Montserrat, sans-serif',
  12697.                        roboto: 'Roboto, sans-serif',
  12698.                        open_sans: 'Open Sans, sans-serif',
  12699.                        noto_sans: 'Noto Sans, sans-serif',
  12700.                        lato: 'Lato, sans-serif',
  12701.                        poppins: 'Poppins, sans-serif',
  12702.                        quicksand: 'Quicksand, sans-serif',
  12703.                        raleway: 'Raleway, sans-serif',
  12704.                        pt_sans: 'PT Sans, sans-serif',
  12705.                        oswald: 'Oswald, sans-serif',
  12706.                    };
  12707.  
  12708.                    // Create overlay
  12709.                    const overlay = document.createElement('div');
  12710.                    overlay.className = 'bitlogin-popup-overlay';
  12711.  
  12712.                    // Create popup container with appropriate styling
  12713.                    const popup = document.createElement('div');
  12714.                    popup.className = 'bitlogin-popup';
  12715.  
  12716.                    if (popupConfig.layout === 'default') {
  12717.                        popup.style.maxWidth = '400px';
  12718.                    }
  12719.  
  12720.                    // Function to close the popup
  12721.                    const closePopup = () => {
  12722.                        overlay.classList.remove('visible');
  12723.                        popup.classList.remove('visible');
  12724.                        setTimeout(() => {
  12725.                            if (document.body.contains(overlay)) {
  12726.                                document.body.removeChild(overlay);
  12727.                            }
  12728.                        }, 300);
  12729.                    };
  12730.  
  12731.                    // Add click handler to the overlay to close when clicking outside
  12732.                    overlay.addEventListener('click', (event) => {
  12733.                        // Close only if clicking directly on the overlay, not its children
  12734.                        if (event.target === overlay) {
  12735.                            closePopup();
  12736.                        }
  12737.                    });
  12738.  
  12739.                    // Add escape key handler to close popup
  12740.                    document.addEventListener('keydown', (event) => {
  12741.                        if (event.key === 'Escape' && document.body.contains(overlay)) {
  12742.                            closePopup();
  12743.                        }
  12744.                    });
  12745.  
  12746.                    // Create layout with image if specified
  12747.                    let contentWrapper;
  12748.                    if (popupConfig.layout !== 'default' && popupConfig.popupImage) {
  12749.                        popup.classList.add('bitlogin-popup-with-image');
  12750.  
  12751.                        if (popupConfig.layout === 'right') {
  12752.                            popup.classList.add('bitlogin-popup-right-image');
  12753.                        }
  12754.  
  12755.                        // Add image
  12756.                        const image = document.createElement('img');
  12757.                        image.className = 'bitlogin-popup-image';
  12758.                        image.src = popupConfig.popupImage;
  12759.                        image.alt = 'Login';
  12760.                        image.loading = 'lazy';
  12761.                        popup.appendChild(image);
  12762.  
  12763.                        // Create content container
  12764.                        contentWrapper = document.createElement('div');
  12765.                        contentWrapper.className = 'bitlogin-popup-content';
  12766.  
  12767.                        if (popupConfig.layout === 'right') {
  12768.                            const closeButton = document.createElement('button');
  12769.                            closeButton.className = 'bitlogin-popup-close';
  12770.                            closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  12771.         <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
  12772.       </svg>`;
  12773.                            closeButton.setAttribute('aria-label', 'Close');
  12774.                            closeButton.onclick = closePopup;
  12775.  
  12776.                            popup.appendChild(closeButton);
  12777.                        }
  12778.                    } else {
  12779.                        contentWrapper = document.createElement('div');
  12780.                        contentWrapper.className = 'bitlogin-popup-content';
  12781.                        contentWrapper.style.width = '100%';
  12782.                    }
  12783.  
  12784.                    // Set background style
  12785.                    if (popupConfig.backgroundTheme === 'gradient') {
  12786.                        contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`;
  12787.                    } else {
  12788.                        contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor;
  12789.                    }
  12790.  
  12791.                    // Apply font family
  12792.                    contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important');
  12793.  
  12794.                    if (popupConfig.layout !== 'right') {
  12795.                        const closeButton = document.createElement('button');
  12796.                        closeButton.className = 'bitlogin-popup-close';
  12797.                        closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  12798.       <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
  12799.     </svg>`;
  12800.                        closeButton.setAttribute('aria-label', 'Close');
  12801.                        closeButton.onclick = closePopup;
  12802.  
  12803.                        contentWrapper.appendChild(closeButton);
  12804.                    }
  12805.  
  12806.                    // Add heading with subtle animation effect
  12807.                    const header = document.createElement('div');
  12808.                    header.className = 'bitlogin-popup-header';
  12809.  
  12810.                    const heading = document.createElement('h2');
  12811.                    heading.textContent = popupConfig.headingText || 'Sign in for exclusive benefits';
  12812.                    heading.style.color = popupConfig.fontColor;
  12813.                    header.appendChild(heading);
  12814.  
  12815.                    // Add body text with improved formatting
  12816.                    const bodyText = document.createElement('div');
  12817.                    bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.';
  12818.                    bodyText.style.color = popupConfig.fontColor;
  12819.                    header.appendChild(bodyText);
  12820.  
  12821.                    contentWrapper.appendChild(header);
  12822.  
  12823.                    // Create buttons container with modern styling
  12824.                    const buttonsContainer = document.createElement('div');
  12825.                    buttonsContainer.className = 'bitlogin-popup-buttons';
  12826.  
  12827.                    // Add social buttons
  12828.                    const providerLabels = {
  12829.                        'GOOGLE': 'Continue with Google',
  12830.                        'FACEBOOK': 'Continue with Facebook',
  12831.                        'APPLE': 'Continue with Apple',
  12832.                        'WHATSAPP': 'Continue with WhatsApp',
  12833.                        'MAGIC_LINK': 'Continue with Email',
  12834.                    };
  12835.  
  12836.                    // Add first login provider button
  12837.                    if (popupConfig.loginProvider1 !== 'NONE') {
  12838.                        const buttonConfig = {
  12839.                            theme: popupConfig.colorScheme || 'match',
  12840.                            customColor: popupConfig.textColor,
  12841.                            format: 'contentFlex',
  12842.                            buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()],
  12843.                            hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
  12844.                            style: popupConfig.style || 'rounded',
  12845.                            size: popupConfig.size || 'medium',
  12846.                            colorScheme: popupConfig.colorScheme || 'match',
  12847.                            backgroundColor: popupConfig.backgroundColor || '#3B82F6',
  12848.                            textColor: popupConfig.textColor || '#FFFFFF',
  12849.                            outlineColor: popupConfig.outlineColor || '#3B82F6',
  12850.                            host: host
  12851.                        };
  12852.  
  12853.                        const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig);
  12854.  
  12855.                        // Handle click event - this overrides the default click handler in createSocialLoginButton
  12856.                        button1.onclick = () => {
  12857.                            onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host });
  12858.                            closePopup();
  12859.                        };
  12860.  
  12861.                        buttonsContainer.appendChild(button1);
  12862.                    }
  12863.  
  12864.                    // Add second login provider button if enabled
  12865.                    if (popupConfig.loginProvider2 !== 'NONE') {
  12866.                        const buttonConfig = {
  12867.                            theme: popupConfig.colorScheme || 'match',
  12868.                            customColor: popupConfig.textColor,
  12869.                            format: 'contentFlex',
  12870.                            buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()],
  12871.                            hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true,
  12872.                            style: popupConfig.style || 'rounded',
  12873.                            size: popupConfig.size || 'medium',
  12874.                            colorScheme: popupConfig.colorScheme || 'match',
  12875.                            backgroundColor: popupConfig.backgroundColor || '#3B82F6',
  12876.                            textColor: popupConfig.textColor || '#FFFFFF',
  12877.                            outlineColor: popupConfig.outlineColor || '#3B82F6',
  12878.                            host: host
  12879.                        };
  12880.  
  12881.                        const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig);
  12882.  
  12883.                        // Handle click event - this overrides the default click handler in createSocialLoginButton
  12884.                        button2.onclick = () => {
  12885.                            onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host });
  12886.                            closePopup();
  12887.                        };
  12888.  
  12889.                        buttonsContainer.appendChild(button2);
  12890.                    }
  12891.  
  12892.                    contentWrapper.appendChild(buttonsContainer);
  12893.  
  12894.                    // Append content to popup
  12895.                    popup.appendChild(contentWrapper);
  12896.  
  12897.                    // Append popup to overlay
  12898.                    overlay.appendChild(popup);
  12899.  
  12900.                    // Append overlay to body
  12901.                    document.body.appendChild(overlay);
  12902.  
  12903.                    // Trigger animation with slight delay for better perceived performance
  12904.                    setTimeout(() => {
  12905.                        overlay.classList.add('visible');
  12906.                        setTimeout(() => {
  12907.                            popup.classList.add('visible');
  12908.                        }, 50);
  12909.                    }, 10);
  12910.                }
  12911.  
  12912.                window.addEventListener("load", () => {
  12913.                    window.addEventListener("message", (event) => {
  12914.                        const receivedData = event.data;
  12915.  
  12916.                        if (receivedData.type === "authorize") {
  12917.                            post(
  12918.                                JSON.parse(
  12919.                                    JSON.stringify({
  12920.                                        "customer[email]": receivedData.email,
  12921.                                        "customer[password]": receivedData.password,
  12922.                                        form_type: "customer_login",
  12923.                                        utf8: "✓",
  12924.                                        return_url: redirectUrl,
  12925.                                    })
  12926.                                )
  12927.                            );
  12928.                        } else if (receivedData.type === "rejected") {
  12929.                            if (receivedData.reason === "customer_account_disabled") {
  12930.                                showAlert(
  12931.                                    "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step."
  12932.                                );
  12933.                            } else if (receivedData.reason === "customer_entry_created_email_not_set") {
  12934.                                showAlert(
  12935.                                    "A new account was created but requires an email address. Please update your account with a valid email address to continue."
  12936.                                );
  12937.                            } else if (receivedData.reason === "customer_exist_email_not_set") {
  12938.                                showAlert(
  12939.                                    "Your existing account is missing an email address. Please contact support to update your account with a valid email address."
  12940.                                );
  12941.                            }
  12942.                        }
  12943.  
  12944.                        if (receivedData.type === "customer_authenticated") {
  12945.                            // Dispatch a custom event that merchants can listen for to implement their custom logic
  12946.                            const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', {
  12947.                                detail: {
  12948.                                    provider: receivedData.provider,
  12949.                                    customer: receivedData.customer,
  12950.                                    shopifyCustomerCreated: receivedData.shopifyCustomerCreated
  12951.                                }
  12952.                            });
  12953.  
  12954.                            // Dispatch the event on the window object so merchants can listen for it
  12955.                            window.dispatchEvent(customerAuthEvent);
  12956.  
  12957.                        }
  12958.                    });
  12959.                });
  12960.  
  12961.                // Reusable functions for social login buttons
  12962.                function createSocialLoginButton(provider, config = {}) {
  12963.                    const {
  12964.                        theme = 'match',
  12965.                        customColor = null,
  12966.                        format = 'contentFlex',
  12967.                        buttonText = null,
  12968.                        hasShadow = true,
  12969.                        style = 'rounded',
  12970.                        size = 'medium',
  12971.                        colorScheme = 'match',
  12972.                        backgroundColor = '#3B82F6',
  12973.                        textColor = '#FFFFFF',
  12974.                        outlineColor = '#3B82F6',
  12975.                        rootRef = null,
  12976.                        host = null
  12977.                    } = config;
  12978.  
  12979.                    // Create button element with appropriate ID and attributes
  12980.                    const button = document.createElement('button');
  12981.                    button.id = `${provider.toLowerCase()}-login`;
  12982.                    button.type = 'button';
  12983.  
  12984.                    // Set the inner SVG based on provider
  12985.                    switch (provider.toUpperCase()) {
  12986.                        case 'GOOGLE':
  12987.                            button.innerHTML = googleLoginIcon(theme, customColor);
  12988.                            break;
  12989.                        case 'FACEBOOK':
  12990.                            button.innerHTML = facebookLoginIcon(theme, customColor);
  12991.                            break;
  12992.                        case 'APPLE':
  12993.                            button.innerHTML = appleLoginIcon(theme, customColor);
  12994.                            break;
  12995.                        case 'WHATSAPP':
  12996.                            button.innerHTML = whatsappLoginIcon(theme, customColor);
  12997.                            break;
  12998.                        case 'MICROSOFT':
  12999.                            button.innerHTML = microsoftLoginIcon(theme, customColor);
  13000.                            break;
  13001.                        case 'TWITTER':
  13002.                            button.innerHTML = twitterLoginIcon(theme, customColor);
  13003.                            break;
  13004.                        case 'AMAZON':
  13005.                            button.innerHTML = amazonLoginIcon(theme, customColor);
  13006.                            break;
  13007.                        case 'INSTAGRAM':
  13008.                            button.innerHTML = instagramLoginIcon(theme, customColor);
  13009.                            break;
  13010.                        case 'MAGIC_LINK':
  13011.                            button.innerHTML = magicLinkLoginIcon(theme, customColor);
  13012.                            break;
  13013.                        case 'MOBILE_APP':
  13014.                            button.innerHTML = mobileAppLoginIcon(theme, customColor);
  13015.                            break;
  13016.                        case 'LINKEDIN':
  13017.                            button.innerHTML = linkedinLoginIcon(theme, customColor);
  13018.                            break;
  13019.                    }
  13020.  
  13021.                    // Add text if format isn't icon-only and buttonText is provided
  13022.                    if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) {
  13023.                        button.innerHTML += `<p>${buttonText}</p>`;
  13024.                    }
  13025.  
  13026.                    // Apply styling
  13027.                    // Shadow
  13028.                    if (hasShadow) {
  13029.                        const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`;
  13030.                        button.style["box-shadow"] = shadowProperties;
  13031.                    }
  13032.  
  13033.                    // Border radius
  13034.                    const radiusProperties =
  13035.                        style === "rounded"
  13036.                            ? "8px"
  13037.                            : style === "square"
  13038.                                ? "0px"
  13039.                                : style === "fullRounded"
  13040.                                    ? format === "wrapperFlexContainerOnlyLogo"
  13041.                                        ? "50%"
  13042.                                        : "50px"
  13043.                                    : undefined;
  13044.                    button.style["border-radius"] = radiusProperties;
  13045.  
  13046.                    // Size
  13047.                    const sizeProperties =
  13048.                        size === "medium"
  13049.                            ? "12px"
  13050.                            : size === "small"
  13051.                                ? "8px"
  13052.                                : size === "large"
  13053.                                    ? "16px"
  13054.                                    : "8px";
  13055.  
  13056.                    button.style["padding-block"] = sizeProperties;
  13057.  
  13058.                    // Format styling
  13059.                    if (format) {
  13060.                        if (
  13061.                            format === "contentFlexReverse" ||
  13062.                            format === "contentFlexCenterReverse"
  13063.                        ) {
  13064.                            const flexDir = `row-reverse`;
  13065.                            button.style["flex-direction"] = flexDir;
  13066.                        }
  13067.  
  13068.                        if (
  13069.                            format === "contentFlexCenter" ||
  13070.                            format === "contentFlexCenterReverse"
  13071.                        ) {
  13072.                            const justifyContent = `center`;
  13073.                            button.style["justify-content"] = justifyContent;
  13074.                        } else if (
  13075.                            format === "contentFlex" ||
  13076.                            format === "contentFlexReverse"
  13077.                        ) {
  13078.                            const buttonTextElement = button.querySelector("p");
  13079.                            if (buttonTextElement) {
  13080.                                buttonTextElement.style["flex-grow"] = 1;
  13081.                                buttonTextElement.style["text-align"] = "center";
  13082.                            }
  13083.                        }
  13084.  
  13085.                        if (format === "wrapperFlexContainerOnlyLogo" && rootRef) {
  13086.                            rootRef.style["flex-direction"] = "row";
  13087.                            rootRef.style["gap"] = "8px";
  13088.                            rootRef.style["display"] = "flex";
  13089.                            rootRef.style["flex-wrap"] = "wrap";
  13090.  
  13091.                            const sizeMapping = {
  13092.                                small: "52px",
  13093.                                medium: "62px",
  13094.                                large: "72px",
  13095.                            };
  13096.                            const buttonSize = sizeMapping[size] || "52px";
  13097.  
  13098.                            button.style["margin"] = 0;
  13099.                            button.style["width"] = buttonSize;
  13100.                            button.style["height"] = buttonSize;
  13101.                            button.style["display"] = "flex";
  13102.                            button.style["align-items"] = "center";
  13103.                            button.style["justify-content"] = "center";
  13104.  
  13105.                            const svgElement = button.querySelector("svg");
  13106.                            if (svgElement) {
  13107.                                svgElement.style["flex"] = "none";
  13108.                            }
  13109.                        }
  13110.                    }
  13111.  
  13112.                    // Color scheme styling
  13113.                    if (colorScheme === "black") {
  13114.                        button.classList.add("scheme-black");
  13115.                    } else if (colorScheme === "white") {
  13116.                        button.classList.add("scheme-white");
  13117.                    } else if (colorScheme === "custom") {
  13118.                        button.style["background-color"] = backgroundColor;
  13119.                        button.style["color"] = textColor;
  13120.                        button.style["border-color"] = outlineColor;
  13121.  
  13122.                        const darkenColor = (color, percentage) => {
  13123.                            const value = parseInt(color.slice(1), 16);
  13124.                            const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage));
  13125.                            const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage));
  13126.                            const b = Math.max(0, (value & 0xff) - (0xff * percentage));
  13127.                            return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`;
  13128.                        };
  13129.  
  13130.                        button.addEventListener("mouseover", () => {
  13131.                            button.style["background-color"] = darkenColor(backgroundColor, 0.2);
  13132.                        });
  13133.                        button.addEventListener("mouseout", () => {
  13134.                            button.style["background-color"] = backgroundColor;
  13135.                        });
  13136.                    } else if (colorScheme === "match") {
  13137.                        button.classList.add("scheme-match");
  13138.                    } else if (colorScheme === "matchOutline") {
  13139.                        button.classList.add("scheme-match-outline");
  13140.                    }
  13141.  
  13142.                    // Add click event listener if host is provided
  13143.                    if (host) {
  13144.                        button.addEventListener("click", () =>
  13145.                            onClickSocialLogin({ provider: provider.toLowerCase(), host })
  13146.                        );
  13147.                    }
  13148.  
  13149.                    return button;
  13150.                }
  13151.  
  13152.                function setupSocialLoginButtons(config, rootRef, data, host) {
  13153.                    // Clear any existing content
  13154.                    rootRef.innerHTML = '';
  13155.  
  13156.                    const sortedEnabledProviders = config
  13157.                        .filter(c => c.enabledWeb)
  13158.                        .sort((a, b) => a.position - b.position);
  13159.  
  13160.                    sortedEnabledProviders.forEach(provider => {
  13161.                        const key = provider.provider;
  13162.                        const lowerKey = key.toLowerCase();
  13163.  
  13164.                        const buttonText = data.format !== "wrapperFlexContainerOnlyLogo"
  13165.                            ? (lowerKey === 'twitter'
  13166.                                ? data.buttonList.twitter.replace('Twitter', 'X')
  13167.                                : data.buttonList[lowerKey])
  13168.                            : null;
  13169.  
  13170.                        const button = createSocialLoginButton(key, {
  13171.                            theme: data.colorScheme || 'match',
  13172.                            customColor: data.textColor,
  13173.                            format: data.format,
  13174.                            buttonText: buttonText,
  13175.                            hasShadow: data.hasShadow !== undefined ? data.hasShadow : true,
  13176.                            style: data.style,
  13177.                            size: data.size,
  13178.                            colorScheme: data.colorScheme,
  13179.                            backgroundColor: data.backgroundColor,
  13180.                            textColor: data.textColor,
  13181.                            outlineColor: data.outlineColor,
  13182.                            rootRef: rootRef,
  13183.                            host: host
  13184.                        });
  13185.  
  13186.                        rootRef.appendChild(button);
  13187.                    });
  13188.  
  13189.                    return rootRef;
  13190.                }
  13191.  
  13192.                function updateAppearance({ formRef, rootRef, host }) {
  13193.                    if (!formRef) return;
  13194.  
  13195.                    const data = bitloginCache.appearance || {
  13196.                        style: "square",
  13197.                        hasShadow: false,
  13198.                        colorScheme: "match",
  13199.                        backgroundColor: "#FFFFFF",
  13200.                        outlineColor: "#000000",
  13201.                        textColor: "#000000",
  13202.                        position: "bottom",
  13203.                        hideDivider: "false",
  13204.                        dividerText: "OR",
  13205.                        size: "small",
  13206.                        format: "contentFlex",
  13207.                        language: "en",
  13208.                        buttonText: "Continue with",
  13209.                        redirectLink: "/account",
  13210.                        googleOneTap: true,
  13211.                        googleOneTapBanner: true,
  13212.                        customerTag: "bitLogin",
  13213.                        redirectOneTapDesktop: null,
  13214.                        redirectOneTapMobile: null,
  13215.                        buttonList: {
  13216.                            google: "Continue with Google",
  13217.                            facebook: "Continue with Facebook",
  13218.                            apple: "Continue with Apple",
  13219.                            whatsapp: "Continue with WhatsApp",
  13220.                            microsoft: "Continue with Microsoft",
  13221.                            twitter: "Continue with X",
  13222.                            amazon: "Continue with Amazon",
  13223.                            instagram: "Continue with Instagram",
  13224.                            magic_link: "Continue with Magic Link",
  13225.                            mobile_app: "Continue with Mobile App",
  13226.                            linkedin: "Continue with LinkedIn",
  13227.                        },
  13228.                    };
  13229.  
  13230.                    // Use the new setupSocialLoginButtons function to create and configure all buttons
  13231.                    setupSocialLoginButtons(bitloginCache.config, rootRef, data, host);
  13232.  
  13233.                    let divider;
  13234.  
  13235.                    if (!data.hideDivider) {
  13236.                        divider = document.createElement("div");
  13237.                        const dividerStyle = "text-align:center;margin-block:16px";
  13238.                        divider.setAttribute("style", dividerStyle);
  13239.                        divider.innerHTML = data.dividerText;
  13240.                    }
  13241.  
  13242.                    if (data.position === "bottom") {
  13243.                        if (divider) {
  13244.                            formRef.appendChild(divider);
  13245.                        }
  13246.                        formRef.appendChild(rootRef);
  13247.                    } else if (data.position === "top") {
  13248.                        if (divider) {
  13249.                            formRef.prepend(divider);
  13250.                        }
  13251.                        formRef.prepend(rootRef);
  13252.                    }
  13253.                }
  13254.  
  13255.  
  13256.                async function onClickSocialLogin({ provider, host }) {
  13257.                    const rand = Math.random().toString();
  13258.  
  13259.                    const locationQueryString = bitloginCache.location
  13260.                        ? `&${objectToQueryString(bitloginCache.location)}`
  13261.                        : "";
  13262.  
  13263.                    const width = 800;
  13264.                    const height = 600;
  13265.                    const left = (window.screen.width / 2) - (width / 2);
  13266.                    const top = (window.screen.height / 2) - (height / 2) - 50;
  13267.  
  13268.                    if (provider === 'whatsapp') {
  13269.                        window.open(
  13270.                            `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`,
  13271.                            "mywindow",
  13272.                            `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
  13273.                        );
  13274.                    } else {
  13275.                        window.open(
  13276.                            `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`,
  13277.                            "mywindow",
  13278.                            `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}`
  13279.                        );
  13280.                    }
  13281.                }
  13282.  
  13283.                function objectToQueryString(obj) {
  13284.                    return Object.keys(obj)
  13285.                        .map((key) => {
  13286.                            return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]);
  13287.                        })
  13288.                        .join("&");
  13289.                }
  13290.  
  13291.                async function getLocation() {
  13292.                    if (locationCacheSet) return;
  13293.  
  13294.                    try {
  13295.                        const response = await fetch("https://ipapi.co/json/");
  13296.  
  13297.                        if (!response.ok) {
  13298.                            console.error(`error retrieving location...`, response.status);
  13299.                            errorLocation = true;
  13300.                        } else {
  13301.                            const data = await response.json();
  13302.  
  13303.                            const { city, region, country_name, country_code } = data;
  13304.  
  13305.                            const formattedLocationData = {
  13306.                                city,
  13307.                                region,
  13308.                                country_name,
  13309.                                country_code,
  13310.                            };
  13311.  
  13312.                            bitloginCache.location = formattedLocationData;
  13313.                            locationCacheSet = true;
  13314.                            errorLocation = false;
  13315.                        }
  13316.                    } catch (err) {
  13317.                        console.error(`error fetching location`, err);
  13318.                        errorLocation = true;
  13319.                    }
  13320.                }
  13321.  
  13322.                function post(params) {
  13323.                    // The rest of this code assumes you are not using a library.
  13324.                    // It can be made less verbose if you use one.
  13325.                    const form = document.createElement("form");
  13326.                    form.method = "post";
  13327.                    form.action = `/account/login`;
  13328.                    form.acceptCharset = "UTF-8";
  13329.                    form.setAttribute("data-login-with-shop-sign-in", "true");
  13330.                    form.setAttribute("novalidate", "novalidate");
  13331.  
  13332.                    for (const key in params) {
  13333.                        if (params.hasOwnProperty(key)) {
  13334.                            const hiddenField = document.createElement("input");
  13335.                            hiddenField.type = "hidden";
  13336.                            hiddenField.name = key;
  13337.                            hiddenField.value = params[key];
  13338.  
  13339.                            form.appendChild(hiddenField);
  13340.                        }
  13341.                    }
  13342.  
  13343.                    document.body.appendChild(form);
  13344.                    form.submit();
  13345.                }
  13346.  
  13347.                async function setupOneTap({ host, checkoutUrl }) {
  13348.                    if (oneTapSet) return;
  13349.  
  13350.                    const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]'));
  13351.                    const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]'));
  13352.  
  13353.                    const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
  13354.                    const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop);
  13355.  
  13356.                    const currentPath = window.location.pathname.toLowerCase();
  13357.                    const currentUrl = window.location.href.toLowerCase();
  13358.  
  13359.                    const shouldHideGoogleOneTap = redirectList.some(({ value }) => {
  13360.                        switch (value) {
  13361.                            case 'home':
  13362.                                return currentPath === '/';
  13363.                            case 'product':
  13364.                                return currentPath.startsWith('/products/');
  13365.                            case 'collections':
  13366.                                return currentPath.startsWith('/collections');
  13367.                            case 'cart':
  13368.                                return currentPath === '/cart';
  13369.                            case 'checkout':
  13370.                                return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you');
  13371.                            case 'thank_you':
  13372.                                return currentPath.includes('/thank_you');
  13373.                            case 'account':
  13374.                                return currentPath.startsWith('/account');
  13375.                            case 'pages':
  13376.                                return currentPath.startsWith('/pages');
  13377.                            case 'blogs':
  13378.                                return currentPath === '/blogs' || currentPath === '/blogs/news';
  13379.                            case 'blog_post':
  13380.                                return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3;
  13381.                            default:
  13382.                                return false;
  13383.                        }
  13384.                    });
  13385.  
  13386.                    if (shouldHideGoogleOneTap) return;
  13387.  
  13388.                    const oneTapClientId = bitloginCache.config.find(
  13389.                        (config) => config.provider === "GOOGLE"
  13390.                    )?.clientId;
  13391.  
  13392.                    const isLoggedIn = false;
  13393.  
  13394.                    if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) {
  13395.                        const googleOneTapButton = document.createElement("div");
  13396.                        googleOneTapButton.setAttribute("id", "g_id_onload");
  13397.                        googleOneTapButton.setAttribute("data-client_id", oneTapClientId);
  13398.                        googleOneTapButton.setAttribute("data-context", "signin");
  13399.                        googleOneTapButton.setAttribute(
  13400.                            "data-callback",
  13401.                            "handleGoogleOneTapResponse"
  13402.                        );
  13403.                        googleOneTapButton.setAttribute("data-itp_support", "true");
  13404.  
  13405.                        const googleOneTapScript = document.createElement("script");
  13406.  
  13407.                        googleOneTapScript.innerHTML += `
  13408.           function handleGoogleOneTapResponse(response) {
  13409.               if (response.credential) {
  13410.                   const idToken = response.credential;
  13411.                   fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', {
  13412.                       method: 'POST',
  13413.                       headers: { 'Content-Type': 'application/json' },
  13414.                       body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location })
  13415.                   }).then(response => {
  13416.                       response.json().then((data) => {
  13417.                         post(
  13418.                           JSON.parse(
  13419.                             JSON.stringify({
  13420.                               "customer[email]": data.email,
  13421.                               "customer[password]": data.password,
  13422.                               form_type: "customer_login",
  13423.                               utf8: "✓",
  13424.                               return_url: redirectUrl,
  13425.                             })
  13426.                           )
  13427.                         );
  13428.                       });
  13429.                   }).catch(error => {
  13430.                       console.error('Error occurred:', error);
  13431.                   });
  13432.               } else {
  13433.                   console.error('No credential available');
  13434.               }
  13435.           }
  13436.        `;
  13437.  
  13438.                        document.body.append(googleOneTapButton);
  13439.                        document.body.append(googleOneTapScript);
  13440.                    }
  13441.  
  13442.                    oneTapSet = true;
  13443.                }
  13444.  
  13445.                const googleLoginIcon = (
  13446.                    theme,
  13447.                    customColor
  13448.                ) => `
  13449. ${theme === "match" || theme === "matchOutline" || theme === "custom"
  13450.                        ? `<svg
  13451.     xmlns='https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png'
  13452.     xmlns:v='https://vecta.io/nano'
  13453.     width='24'
  13454.     height='24'
  13455.     viewBox='0 0 186.69 190.5'
  13456.   >
  13457.     <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"
  13458.                        }"/><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"
  13459.                        }"/><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"
  13460.                        }"/><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"
  13461.                        }" clip-path="none" mask="none"/></g>
  13462.   </svg>`
  13463.                        : `<svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="25" height="25" viewBox="0 0 25 25" fill="none">
  13464. <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"
  13465.                        }"/>
  13466. <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"
  13467.                        }"/>
  13468. <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"
  13469.                        }"/>
  13470. <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"
  13471.                        }"/>
  13472. </svg>`
  13473.                    }`;
  13474.  
  13475.                const appleLoginIcon = (
  13476.                    theme,
  13477.                    customColor
  13478.                ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  13479. <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"
  13480.                        ? customColor
  13481.                        : theme === "match" || theme === "black"
  13482.                            ? "white"
  13483.                            : "black"
  13484.                    }"/>
  13485. </svg>`;
  13486.  
  13487.                const facebookLoginIcon = (
  13488.                    theme,
  13489.                    customColor
  13490.                ) => `
  13491. ${theme === "match" || theme === "matchOutline" || theme === "custom"
  13492.                        ? `<svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
  13493.     <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"
  13494.                        }"/>
  13495.     <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"
  13496.                        }"/>
  13497.     </svg>`
  13498.                        : `<svg xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png" width="24" height="25" viewBox="0 0 24 25" fill="none">
  13499. <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"
  13500.                        }"/>
  13501. <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"
  13502.                        }"/>
  13503. </svg>`
  13504.                    }`;
  13505.  
  13506.                const whatsappLoginIcon = (
  13507.                    theme,
  13508.                    customColor
  13509.                ) => `<svg
  13510.   viewBox="0 0 24 24"
  13511.   fill="none"
  13512.   width="24"
  13513.   height="25"
  13514.   xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13515. >
  13516.   <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
  13517.   <g
  13518.     id="SVGRepo_tracerCarrier"
  13519.     stroke-linecap="round"
  13520.     stroke-linejoin="round"
  13521.   ></g>
  13522.   <g id="SVGRepo_iconCarrier">
  13523.     <path
  13524.       fill-rule="evenodd"
  13525.       clip-rule="evenodd"
  13526.       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"
  13527.       fill="${theme === "match" || theme === "black"
  13528.                        ? "#ffffff"
  13529.                        : theme === "white"
  13530.                            ? "#000000"
  13531.                            : theme === "matchOutline"
  13532.                                ? "#25d366"
  13533.                                : customColor
  13534.                    }"
  13535.     ></path>
  13536.   </g>
  13537. </svg>`;
  13538.  
  13539.                const microsoftLoginIcon = (
  13540.                    theme,
  13541.                    customColor
  13542.                ) => `<svg
  13543. xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13544. width="25"
  13545. height="25"
  13546. viewBox="0 0 48 48">
  13547. <path fill="${theme === "match" || theme == "matchOutline"
  13548.                        ? "#ff5722"
  13549.                        : theme === "black"
  13550.                            ? "#ffffff"
  13551.                            : theme === "white"
  13552.                                ? "#000000"
  13553.                                : customColor
  13554.                    }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path>
  13555. <path
  13556.   fill="${theme === "match" || theme == "matchOutline"
  13557.                        ? "#4caf50"
  13558.                        : theme === "black"
  13559.                            ? "#ffffff"
  13560.                            : theme === "white"
  13561.                                ? "#000000"
  13562.                                : customColor
  13563.                    }"
  13564.   d="M26 6H42V22H26z"
  13565.   transform="rotate(-180 34 14)"></path>
  13566. <path
  13567.   fill="${theme === "match" || theme == "matchOutline"
  13568.                        ? "#ffc107"
  13569.                        : theme === "black"
  13570.                            ? "#ffffff"
  13571.                            : theme === "white"
  13572.                                ? "#000000"
  13573.                                : customColor
  13574.                    }"
  13575.   d="M26 26H42V42H26z"
  13576.   transform="rotate(-180 34 34)"></path>
  13577. <path fill="${theme === "match" || theme == "matchOutline"
  13578.                        ? "#03a9f4"
  13579.                        : theme === "black"
  13580.                            ? "#ffffff"
  13581.                            : theme === "white"
  13582.                                ? "#000000"
  13583.                                : customColor
  13584.                    }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path>
  13585. </svg>`;
  13586.  
  13587.                const twitterLoginIcon = (
  13588.                    theme,
  13589.                    customColor
  13590.                ) => `<svg
  13591. xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13592. width="25"
  13593. height="25"
  13594. viewBox="0 0 48 48">
  13595. <polygon fill="${theme === "match" || theme === "black"
  13596.                        ? "#ffffff"
  13597.                        : theme === "matchOutline" || theme === "white"
  13598.                            ? "#000000"
  13599.                            : customColor
  13600.                    }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon>
  13601. <polygon
  13602.   fill="${theme === "match" || theme === "black"
  13603.                        ? "#000000"
  13604.                        : theme === "matchOutline" || theme === "white"
  13605.                            ? "#ffffff"
  13606.                            : customColor
  13607.                    }"
  13608.   fill-rule="evenodd"
  13609.   points="31.143,41 7.82,7 16.777,7 40.1,41"
  13610.   clip-rule="evenodd"></polygon>
  13611. <path
  13612.   fill="${theme === "match" || theme === "black"
  13613.                        ? "#ffffff"
  13614.                        : theme === "matchOutline" || theme === "white"
  13615.                            ? "#000000"
  13616.                            : customColor
  13617.                    }"
  13618.   d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path>
  13619. </svg>`;
  13620.  
  13621.                const amazonLoginIcon = (theme, customColor) => `
  13622.  <svg
  13623.       xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13624.       x="0px"
  13625.       y="0px"
  13626.       width="25"
  13627.       height="25"
  13628.       viewBox="0 0 50 50"
  13629.     >
  13630.       <path
  13631.         fill="${theme === "black"
  13632.                        ? "#ffffff"
  13633.                        : theme === "matchOutline"
  13634.                            ? "#FF9900"
  13635.                            : theme === "white" || theme === "match"
  13636.                                ? "#000000"
  13637.                                : customColor
  13638.                    }"
  13639.         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"
  13640.       ></path>
  13641.     </svg>`;
  13642.  
  13643.                const instagramLoginIcon = (theme, customColor) => `
  13644.     <svg
  13645.       width="25"
  13646.       height="25"
  13647.       viewBox="0 0 25 24"
  13648.       fill="none"
  13649.       xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png">
  13650.       <path
  13651.         fill-rule="evenodd"
  13652.         clip-rule="evenodd"
  13653.         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"
  13654.         fill="url(#paint0_radial_378_3535)" />
  13655.       <path
  13656.         fill-rule="evenodd"
  13657.         clip-rule="evenodd"
  13658.         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"
  13659.         fill="url(#paint0_radial_378_3535)" />
  13660.       <path
  13661.         fill-rule="evenodd"
  13662.         clip-rule="evenodd"
  13663.         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"
  13664.         fill="url(#paint0_radial_378_3535)" />
  13665.       <path
  13666.         fill-rule="evenodd"
  13667.         clip-rule="evenodd"
  13668.         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"
  13669.         fill="url(#paint1_radial_378_3535)" />
  13670.       <defs>
  13671.         <radialGradient
  13672.           id="paint0_radial_378_3535"
  13673.           cx="0"
  13674.           cy="0"
  13675.           r="1"
  13676.           gradientUnits="userSpaceOnUse"
  13677.           gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)">
  13678.           <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" />
  13679.           <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" />
  13680.           <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" />
  13681.           <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" />
  13682.           <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" />
  13683.         </radialGradient>
  13684.         <radialGradient
  13685.           id="paint1_radial_378_3535"
  13686.           cx="0"
  13687.           cy="0"
  13688.           r="1"
  13689.           gradientUnits="userSpaceOnUse"
  13690.           gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)">
  13691.           <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" />
  13692.           <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" />
  13693.           <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" />
  13694.           <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" />
  13695.         </radialGradient>
  13696.       </defs>
  13697.     </svg>`;
  13698.  
  13699.                const magicLinkLoginIcon = (theme, customColor) => `
  13700.   <svg
  13701.     xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13702.     width="25"
  13703.     height="25"
  13704.     fill="none"
  13705.     viewBox="0 0 25 25"
  13706.   >
  13707.     <path
  13708.       fill="${theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor
  13709.                    }"
  13710.       fillRule="evenodd"
  13711.       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"
  13712.       clipRule="evenodd"
  13713.     ></path>
  13714.   </svg>`;
  13715.  
  13716.                const mobileAppLoginIcon = (theme, customColor) => `
  13717.   <svg
  13718.     width="20"
  13719.     height="24"
  13720.     viewBox="0 0 12 16"
  13721.     fill="none"
  13722.     xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13723.   >
  13724.     <path
  13725.       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"
  13726.       fill=${theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor
  13727.                    }
  13728.     />
  13729.   </svg>
  13730. `;
  13731.  
  13732.                const linkedinLoginIcon = (theme, customColor) => `
  13733.   <svg
  13734.     xmlns="https://i.gyazo.com/7b96b89dc186da2c1dc8cd921bf85f97.png"
  13735.     width="25"
  13736.     height="24"
  13737.     viewBox="0 0 25 24"
  13738.     fill="none"
  13739.   >
  13740.     <path
  13741.       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"
  13742.       fill=${theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor
  13743.                    }
  13744.     />
  13745.   </svg>
  13746. `;
  13747.  
  13748.                function isElementVisible(element) {
  13749.                    return (
  13750.                        document.body.contains(element) &&
  13751.                        getComputedStyle(element).display !== "none" &&
  13752.                        getComputedStyle(element).visibility !== "hidden" &&
  13753.                        getComputedStyle(element).opacity !== "0" &&
  13754.                        !element.hasAttribute("hidden") &&
  13755.                        !isAncestorHidden(element)
  13756.                    );
  13757.                }
  13758.  
  13759.                function isAncestorHidden(element) {
  13760.                    let parent = element.parentElement;
  13761.                    while (parent) {
  13762.                        if (
  13763.                            getComputedStyle(parent).display === "none" ||
  13764.                            getComputedStyle(parent).visibility === "hidden" ||
  13765.                            getComputedStyle(parent).opacity === "0" ||
  13766.                            parent.hasAttribute("hidden")
  13767.                        ) {
  13768.                            return true;
  13769.                        }
  13770.                        parent = parent.parentElement;
  13771.                    }
  13772.                    return false;
  13773.                }
  13774.  
  13775.                function showAlert(message) {
  13776.                    const alertBox = document.createElement("div");
  13777.                    alertBox.textContent = message;
  13778.                    alertBox.style.position = "fixed";
  13779.                    alertBox.style.top = "20px";
  13780.                    alertBox.style.right = "-300px"; // Start off-screen
  13781.                    alertBox.style.backgroundColor = "#000000"; // Black background
  13782.                    alertBox.style.color = "#ffffff"; // White text
  13783.                    alertBox.style.padding = "15px";
  13784.                    alertBox.style.borderRadius = "8px";
  13785.                    alertBox.style.zIndex = "1000";
  13786.                    alertBox.style.transition =
  13787.                        "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading
  13788.                    alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth
  13789.  
  13790.                    document.body.appendChild(alertBox);
  13791.  
  13792.                    // Slide in
  13793.                    requestAnimationFrame(() => {
  13794.                        alertBox.style.right = "20px"; // Move into view
  13795.                        alertBox.style.opacity = "1"; // Ensure opacity is set to 1
  13796.                    });
  13797.  
  13798.                    // Slide out and remove the alert after a few seconds
  13799.                    setTimeout(() => {
  13800.                        alertBox.style.opacity = "0"; // Fade out
  13801.                        alertBox.style.right = "-300px"; // Move out of view
  13802.  
  13803.                        // Wait for the transition to finish before removing the element
  13804.                        setTimeout(() => {
  13805.                            document.body.removeChild(alertBox);
  13806.                        }, 500); // Match this duration with the exit transition duration
  13807.                    }, 3000);
  13808.                }
  13809.            </script>
  13810.  
  13811.            <style>
  13812.                .daftarku-fixed-footer {
  13813.                    display: flex;
  13814.                    justify-content: space-around;
  13815.                    position: fixed;
  13816.                    background: linear-gradient(to bottom, #000000 0%, #3d3d3d, #000000 100%);
  13817.                    box-shadow: 0 0 12px #ffd700;
  13818.                    outline: none;
  13819.                    padding: 5px 0;
  13820.                    box-shadow: 0 0 0 0 2px 2px #198f01;
  13821.                    left: 0;
  13822.                    right: 0;
  13823.                    bottom: 0;
  13824.                    z-index: 99;
  13825.                    border-radius: 40px 40px 0px 0px;
  13826.                    border-style: dashed;
  13827.  
  13828.                }
  13829.  
  13830.                .daftarku-fixed-footer a {
  13831.                    flex-basis: calc((100% - 15px*6)/ 5);
  13832.                    text-decoration: none;
  13833.                    display: flex;
  13834.                    flex-direction: column;
  13835.                    justify-content: center;
  13836.                    align-items: center;
  13837.                    color: #fff;
  13838.                    max-width: 75px;
  13839.                    font-size: 12px;
  13840.                    font-family: Ubuntu, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  13841.                }
  13842.  
  13843.                .daftarku-fixed-footer a:hover {
  13844.                    font-weight: bold;
  13845.                }
  13846.  
  13847.                .daftarku-fixed-footer .center {
  13848.                    transform: scale(1.5) translateY(-5px);
  13849.                    background: center no-repeat;
  13850.                    background-size: contain;
  13851.                    background-color: inherit;
  13852.                    border-radius: 50%;
  13853.                }
  13854.  
  13855.                .daftarku-fixed-footer img {
  13856.                    max-width: 20px;
  13857.                    margin-bottom: 0;
  13858.                    max-height: 20px;
  13859.                }
  13860.            </style>
  13861.  
  13862.            <div class="daftarku-fixed-footer">
  13863.                <a href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noopener" target="_blank">
  13864.                    <img layout="intrinsic" height="20px" width="20px"
  13865.                        src="https://imgstore.io/images/2025/07/30/promo.png" alt="PROMOSI">
  13866.                    PROMO
  13867.                </a>
  13868.                <a href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noopener" target="_blank">
  13869.                    <img layout="intrinsic" height="20px" width="20px"
  13870.                        src="https://imgstore.io/images/2025/07/30/login.png" alt="LOGIN">
  13871.                    LOGIN
  13872.                </a>
  13873.                <a href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noopener" target="_blank" class="tada">
  13874.                    <img layout="intrinsic" height="20px" width="20px"
  13875.                        src="https://imgstore.io/images/2025/07/30/daftar.png" alt="DAFTAR">
  13876.                    DAFTAR
  13877.                </a>
  13878.                <a href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noopener" target="_blank">
  13879.                    <img layout="intrinsic" height="20px" width="20px"
  13880.                        src="https://imgstore.io/images/2025/08/27/icon-whatsapp.png" alt="WHATSAPP">
  13881.                    WHATSAPP
  13882.                </a>
  13883.                <a href="https://gampang-maxwin-guatogel-amp.pages.dev/" rel="nofollow noopener" target="_blank"
  13884.                    class="js_live_chat_link live-chat-link">
  13885.                    <img class="live-chat-icon" layout="intrinsic" height="20px" width="20px"
  13886.                        src="https://imgstore.io/images/2025/06/17/live-chat.png" alt="Live Chat">
  13887.                    Live Chat
  13888.                </a>
  13889.            </div>
  13890.        </div>
  13891.        <script defer
  13892.            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
  13893.            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
  13894.            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}}'
  13895.            crossorigin="anonymous"></script>
  13896.        <script defer
  13897.            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
  13898.            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
  13899.            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}}'
  13900.            crossorigin="anonymous"></script>
  13901.        <script defer
  13902.            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
  13903.            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
  13904.            data-cf-beacon='{"version":"2024.11.0","token":"276768321f134ec5a0581a2bbb719892","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
  13905.            crossorigin="anonymous"></script>
  13906.        <script defer
  13907.            src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015"
  13908.            integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ=="
  13909.            data-cf-beacon='{"version":"2024.11.0","token":"47eaff6dcb7e41e8bffe114d87d7789a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}'
  13910.            crossorigin="anonymous"></script>
  13911. </body>
  13912.  
  13913. </html>
  13914.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda