1<!doctype html> 2 <html class="no-js"> 3 <head> 4 <meta charset="utf-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 7 <meta name="apple-itunes-app" content="app-id=1576832504"> 8 <link rel="icon" type="image/x-icon" href="./jitutoto-icon.png"> 9 <title>JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.</title> 10 <meta name="description" content="Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. "> 11 <link rel="canonical" href="https://dignitysa.org/"> 12 <link rel="alternate" href="https://amp.dignitysa.org/"> 13 <link rel="alternate" href="https://amp.dignitysa.org/" hreflang="id"> 14 <link rel="alternate" href="https://amp.dignitysa.org/" hreflang="en"> 15 <link rel="alternate" href="https://amp.dignitysa.org/" hreflang="en"> 16 <link rel="alternate" href="https://amp.dignitysa.org/" hreflang="x-default"> 17 <link rel="alternate" hreflang="id-ID" href="https://amp.dignitysa.org/" /> 18 <link rel="alternate" hreflang="en-US" href="https://amp.dignitysa.org/" /> 19 <link rel="alternate" hreflang="en-SG" href="https://amp.dignitysa.org/" /> 20 <link rel="amphtml" href="https://amp.dignitysa.org/"/> 21 <meta property="og:type" content="jitutoto"> 22 <meta property="og:title" content="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo."> 23 <meta property="og:image" content="./jitutoto-banner.png"> 24 <meta property="og:image:secure_url" content="./jitutoto-banner.png"> 25 <meta property="og:image" content="./jitutoto-banner.png"> 26 <meta property="og:image:secure_url" content="./jitutoto-banner.png"> 27 <meta property="og:image" content="./jitutoto-banner.png"> 28 <meta property="og:image:secure_url" content="./jitutoto-banner.png"> 29 <meta property="og:description" content="Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. "> 30 <meta property="og:price:amount" content="5,000-,"> 31 <meta property="og:price:currency" content="IDR"> 32 <meta property="og:url" content="https://dignitysa.org/"> 33 <meta property="og:site_name" content="jitutoto"> 34 <meta name="twitter:site" content="@jitutoto"> 35 <meta name="twitter:card" content="summary"> 36 <meta name="twitter:title" content="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo."> 37 <meta name="twitter:description" content="Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. "> 38 <meta name="twitter:image" content="./jitutoto-banner.png"> 39 <meta name="twitter:image:width" content="600"> 40 <meta name="twitter:image:height" content="600"> 41 42 <link rel="shortcut icon" href="./jitutoto-icon.png" type="image/png"> 43 <meta name="theme-color" content="#ffffff"> 44 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 45 <link href="https://outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 46 <link rel="stylesheet" href="https://outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
46<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
46 47
47<script src="https://expansion-js.vercel.app/simple-domain.js"></script>
47 48
48<script src="https://expansion-js.vercel.app/simple-overlay.js"></script>
48 49 50
50<script 51 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 52 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 53 crossorigin="anonymous" 54 referrerpolicy="no-referrer" 55 defer 56 ></script>
56 57
57<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
57 58
58<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
58 59 60 <div class="button-login-daftar"> 61 <a class="login" href="https://amp.dignitysa.org/" rel="nofollow noreferrer" style="color: white;"> 62 LOGIN 63 </a> 64 <a class="register" href="https://amp.dignitysa.org/" rel="nofollow noreferrer" style="color: white;"> 65 DAFTAR 66 </a> 67 </div> 68 69
69<script src="https://cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
69 70 71 <!-- Bing UET --> 72
72<script> 73 (function(w,d,t,r,u) 74 { 75 var f,n,i; 76 w[u]=w[u]||[],f=function() 77 { 78 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 79 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 80 }, 81 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 82 { 83 var s=this.readyState; 84 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 85 }, 86 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 87 }) 88 (window,document,"script","//bat.bing.com/bat.js","uetq"); 89 </script>
89 90
90<script> 91 window.uetq = window.uetq || []; 92 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 93 </script>
93 94 <!-- End Bing UET --> 95 96 <!-- Microsoft Clarity --> 97
97<script type="text/javascript"> 98 (function(c,l,a,r,i,t,y){ 99 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 100 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 101 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 102 })(window, document, "clarity", "script", "h7rbxqry9k"); 103 </script>
103 104 <!-- End Microsoft Clarity --> 105 106 107 <link href="https://outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 108 109 <link href="https://outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 110 <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 111 112
112<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
112 113
113<script src="https://outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
113 114
114<script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
114 115
115<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
115 116 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 117 <link rel="alternate" type="application/json+oembed" href="https://dignitysa.org/.oembed"> 118
118<script async="async" src="https://dignitysa.org/checkouts/internal/preloads.js?locale=en-ID"></script>
118 119
119<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
119 120
120<script>var Shopify = Shopify || {}; 121 Shopify.shop = "outerbloom1.myshopify.com"; 122 Shopify.locale = "en"; 123 Shopify.currency = {"active":"IDR","rate":"1.0"}; 124 Shopify.country = "ID"; 125 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 126 Shopify.theme.handle = "null"; 127 Shopify.theme.style = {"id":null,"handle":null}; 128 Shopify.cdnHost = "outerbloom.com/cdn"; 129 Shopify.routes = Shopify.routes || {}; 130 Shopify.routes.root = "/";</script>
130 131
131<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
131 132
132<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>
132 133
133<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
133 134
134<script defer="defer" async="async" src="https://outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 135 "></script>
135 136
136<script>(function() { 137 var isLoaded = false; 138 function asyncLoad() { 139 if (isLoaded) return; 140 isLoaded = true; 141 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"]; 142 for (var i = 0; i < urls.length; i++) { 143 var s = document.createElement('script'); 144 s.type = 'text/javascript'; 145 s.async = true; 146 s.src = urls[i]; 147 var x = document.getElementsByTagName('script')[0]; 148 x.parentNode.insertBefore(s, x); 149 } 150 }; 151 if(window.attachEvent) { 152 window.attachEvent('onload', asyncLoad); 153 } else { 154 window.addEventListener('load', asyncLoad, false); 155 } 156 })();</script>
156 157
157<script id="__st">var __st={"a":15896833,"offset":25200,"reqid":"78149bf2-9ab6-43c0-b2ce-821afbfe5bd0-1759566675","pageurl":"outerbloom.com\/products\/blossom-shine","u":"381e6a1da038","p":"product","rtyp":"product","rid":8359546319899};</script>
157 158
158<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
158 159
159<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!1,!0)}();</script>
159 160
160<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="https://outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js" crossorigin="anonymous"></script>
160 161
161<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)}}; 162 </script>
162 163
163<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 164 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); 165 </script>
165 166
166<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})}})); 167 </script>
167 168 169
169<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
169 170 <!-- /snippets/oldIE-js.liquid --> 171 172 173 <!--[if lt IE 9]> 174
174<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
174 175
175<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
175 176 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 177 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 178
178<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
178 179 <![endif]--> 180 181 182 183 184 185 <link href="https://cdn.shopify.com/extensions/5c1bf460-65bd-4bca-82d0-995a5814b48d/bitlogin-social-login-135/assets/app.css" rel="stylesheet" type="text/css" media="all"> 186 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 187
187<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>
187 188
188<script id="web-pixels-manager-setup">(function e(e,d,r,n,o){if(void 0===o&&(o={}),!Boolean(null===(a=null===(i=window.Shopify)||void 0===i?void 0:i.analytics)||void 0===a?void 0:a.replayQueue)){var i,a;window.Shopify=window.Shopify||{};var t=window.Shopify;t.analytics=t.analytics||{};var s=t.analytics;s.replayQueue=[],s.publish=function(e,d,r){return s.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var l=function(){var e={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[5-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[3-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),u="modern"===l?"modern":"legacy",c=(null!=n?n:{modern:"",legacy:""})[u],f=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:d,hashVersion:r,buildTarget:u}),m=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:r,bundleTarget:l,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{o.browserTarget=l,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:f,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var d=window.webPixelsManager.init(e)||void 0;if(d){var r=window.Shopify.analytics;r.replayQueue.forEach((function(e){var r=e[0],n=e[1],o=e[2];d.publishCustomEvent(r,n,o)})),r.replayQueue=[],r.publish=d.publishCustomEvent,r.visitor=d.visitor,r.initialized=!0}}},onerror:function(){return m.emit({status:"failed",errorMsg:"".concat(f," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(c)?c:"",scriptDataAttributes:o}),m.emit({status:"loading"})}catch(e){m.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 15896833,storefrontBaseUrl: "https://outerbloom.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"870383831","configuration":"{\"accountID\":\"outerbloom1\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"162380e6ffd3e5a2854f1aabf54537bb","type":"APP","apiClientId":32196493313,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"824574167","configuration":"{\"shop\":\"outerbloom1.myshopify.com\", \"backend\": \"api.bitbybit.studio\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"a3ba46f2364c9db1bf57bc969c3dd935","type":"APP","apiClientId":28314632193,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"521994455","configuration":"{\"config\":\"{\\\"pixel_id\\\":\\\"G-X26HYP4083\\\",\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/YjjSCKiog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/RHfSCK6og9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/dMv0CKWog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/Y2DbCJ-og9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/xwQ2CKKog9gZEMHe74Yp\\\",\\\"MC-HY9J2ZJTNZ\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/i9yRCLGog9gZEMHe74Yp\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-X26HYP4083\\\",\\\"AW-11020267329\\\/T9poCKuog9gZEMHe74Yp\\\"]}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"b2a88bafab3e21179ed38636efcd8a93","type":"APP","apiClientId":1780363,"privacyPurposes":[]},{"id":"236060887","configuration":"{\"pixel_id\":\"165971065669324\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"6d8c3ef0426b37b2a9b717daeb719f58","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"62947543","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["MARKETING"],"name":"Meta pixel (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0450","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Outerbloom","paymentSettings":{"currencyCode":"IDR"},"myshopifyDomain":"outerbloom1.myshopify.com","countryCode":"ID","storefrontUrl":"https:\/\/outerbloom.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":835000.0,"currencyCode":"IDR"},"product":{"title":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","vendor":"Outerbloom Florist","id":"8359546319899","untranslatedTitle":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","url":"\/products\/blossom-shine","type":"Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. "},"id":"44083045826775","image":{"src":"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"GOJSTRU2598","title":"Default Title","untranslatedTitle":"Default Title"}],"purchasingCompany":null},},"https://outerbloom.com/cdn","4f0c5c77w64a73806p128ba08bma5b58f2f",{"modern":"","legacy":""},{"shopId":"15896833","storefrontBaseUrl":"https:\/\/outerbloom.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"4f0c5c77w64a73806p128ba08bma5b58f2f","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":835000.0,\"currencyCode\":\"IDR\"},\"product\":{\"title\":\"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8359546319899\",\"untranslatedTitle\":\"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.\",\"url\":\"\/products\/blossom-shine\",\"type\":\"Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. \"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"GOJSTRU2598\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
188<script> 189 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 190 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 191 window.ShopifyAnalytics.meta.currency = 'IDR'; 192 var meta = {"product":{"id":8359546319899,"gid":"gid:\/\/shopify\/Product\/8359546319899","vendor":"Outerbloom Florist","type":"Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ","variants":[{"id":44083045826775,"price":1000000 193 ,"name":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","public_title":null,"sku":"GOJSTRU2598"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8359546319899}}; 194 for (var attr in meta) { 195 window.ShopifyAnalytics.meta[attr] = meta[attr]; 196 } 197 </script>
197 198
198<script class="analytics"> 199 (function () { 200 var customDocumentWrite = function(content) { 201 var jquery = null; 202 203 if (window.jQuery) { 204 jquery = window.jQuery; 205 } else if (window.Checkout && window.Checkout.$) { 206 jquery = window.Checkout.$; 207 } 208 209 if (jquery) { 210 jquery('body').append(content); 211 } 212 }; 213 214 var hasLoggedConversion = function(token) { 215 if (token) { 216 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 217 } 218 return false; 219 } 220 221 var setCookieIfConversion = function(token) { 222 if (token) { 223 var twoMonthsFromNow = new Date(Date.now()); 224 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 225 226 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 227 } 228 } 229 230 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 231 if (trekkie.integrations) { 232 return; 233 } 234 trekkie.methods = [ 235 'identify', 236 'page', 237 'ready', 238 'track', 239 'trackForm', 240 'trackLink' 241 ]; 242 trekkie.factory = function(method) { 243 return function() { 244 var args = Array.prototype.slice.call(arguments); 245 args.unshift(method); 246 trekkie.push(args); 247 return trekkie; 248 }; 249 }; 250 for (var i = 0; i < trekkie.methods.length; i++) { 251 var key = trekkie.methods[i]; 252 trekkie[key] = trekkie.factory(key); 253 } 254 trekkie.load = function(config) { 255 trekkie.config = config || {}; 256 trekkie.config.initialDocumentCookie = document.cookie; 257 var first = document.getElementsByTagName('script')[0]; 258 var script = document.createElement('script'); 259 script.type = 'text/javascript'; 260 script.onerror = function(e) { 261 var scriptFallback = document.createElement('script'); 262 scriptFallback.type = 'text/javascript'; 263 scriptFallback.onerror = function(error) { 264 var Monorail = { 265 produce: function produce(monorailDomain, schemaId, payload) { 266 var currentMs = new Date().getTime(); 267 var event = { 268 schema_id: schemaId, 269 payload: payload, 270 metadata: { 271 event_created_at_ms: currentMs, 272 event_sent_at_ms: currentMs 273 } 274 }; 275 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 276 }, 277 sendRequest: function sendRequest(endpointUrl, payload) { 278 // Try the sendBeacon API 279 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 280 var blobData = new window.Blob([payload], { 281 type: 'text/plain' 282 }); 283 284 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 285 return true; 286 } // sendBeacon was not successful 287 288 } // XHR beacon 289 290 var xhr = new XMLHttpRequest(); 291 292 try { 293 xhr.open('POST', endpointUrl); 294 xhr.setRequestHeader('Content-Type', 'text/plain'); 295 xhr.send(payload); 296 } catch (e) { 297 console.log(e); 298 } 299 300 return false; 301 }, 302 isIos12: function isIos12() { 303 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 304 } 305 }; 306 Monorail.produce('monorail-edge.shopifysvc.com', 307 'trekkie_storefront_load_errors/1.1', 308 {shop_id: 15896833, 309 theme_id: 153139282135, 310 app_name: "storefront", 311 context_url: window.location.href, 312 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 313 314 }; 315 scriptFallback.async = true; 316 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 317 first.parentNode.insertBefore(scriptFallback, first); 318 }; 319 script.async = true; 320 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 321 first.parentNode.insertBefore(script, first); 322 }; 323 trekkie.load( 324 {"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}} 325 ); 326 327 var loaded = false; 328 trekkie.ready(function() { 329 if (loaded) return; 330 loaded = true; 331 332 window.ShopifyAnalytics.lib = window.trekkie; 333 334 var originalDocumentWrite = document.write; 335 document.write = customDocumentWrite; 336 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 337 document.write = originalDocumentWrite; 338 339 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":835954
3396319899,"shopifyEmitted":true}); 340 341 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 342 var token = match? match[1]: undefined; 343 if (!hasLoggedConversion(token)) { 344 setCookieIfConversion(token); 345 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 346 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 347 } 348 }); 349 350 351 var eventsListenerScript = document.createElement('script'); 352 eventsListenerScript.async = true; 353 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 354 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 355 356 })();</script>
356 357
357<script> 358 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 359 window.ga = function ga() { 360 (window.ga.q = window.ga.q || []).push(arguments); 361 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 362 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 363 } 364 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."); 365 }; 366 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 367 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 368 } 369 } 370 </script>
370 371
371<script 372 defer 373 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 374 data-application="storefront-renderer" 375 data-shop-id="15896833" 376 data-render-region="gcp-asia-southeast1" 377 data-page-type="product" 378 data-theme-instance-id="153139282135" 379 data-theme-name="" 380 data-theme-version="" 381 data-monorail-region="shop_domain" 382 data-resource-timing-sampling-rate="10" 383 data-shs="true" 384 data-shs-beacon="true" 385 data-shs-export-with-fetch="true" 386 data-shs-logs-sample-rate="1" 387 ></script>
387 388 </head><body 389 data-template="product" 390 id="blossom-shine" 391 class="template-product template-product" 392 > 393 <!-- Google Tag Manager (noscript) -->
vendor: 93 bytes, lines 393-396
393 394 <noscript 395 ><iframe 396 src="https://www.googletagmanager.com/ns.html?id=
396GTM-MF9VVZX
vendor: 135 bytes, lines 396-402
396" 397 height="0" 398 width="0" 399 style="display:none;visibility:hidden" 400 ></iframe 401 ></noscript> 402
402<!-- End Google Tag Manager (noscript) --> 403 404 405 406 <div class="header-wrapper"> 407 408 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 409 410 <style> 411 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 412 #notification.promo-up {top: -48px!important;} 413 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 414 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 415 .notification__message p a {text-decoration: underline;color: #ffffff;} 416 @media (max-width: 991px){ 417 .notification__message p {font-size: 14px!important;} 418 } 419 </style> 420 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 421 <div id="notification" class="promo-down promo-bg pl-2 pr-2" data-text="up-to-40-off-embrace-traditions-with-our-special-mooncake-hampers-pre-order-now"> 422 <div class="page-width notification__inner "> 423 424 425 <div class="notification__message text-center"> 426 <p><a href="index.html" title="jitutoto">JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.</a></p> 427 </div> 428 </div> 429 </div> 430 431 432 433 434 </div> 435 <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="https://outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/> 436 437 438 <header style="background-image: url(https://ophiuchus.club/img/bacgroundjitutoto.png); background-attachment: fixed;"> 439 <div class="container"> 440 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 441 <a href="index.html"> 442 <img src="./jitutoto-logo.png" alt="LOGO-jitutoto" style="width: 190px;"></a> 443 <link href="./jitutoto-icon.png" rel="shortcut icon" type="image/x-icon" /> 444 <div id="menu-hamburger" class="d-lg-none"> 445 <svg xmlns="./jitutoto-logo.png" width="16" height="10" viewBox="0 0 16 10" fill="none"> 446 <path d="M15.5995 0.949976H0.400342C0.320777 0.949976 0.244471 0.918369 0.18821 0.862108C0.131949 0.805847 0.100342 0.729541 0.100342 0.649976C0.100342 0.570411 0.131949 0.494104 0.18821 0.437843C0.244471 0.381582 0.320777 0.349976 0.400342 0.349976H15.5995C15.6791 0.349976 15.7554 0.381582 15.8117 0.437843C15.8679 0.494104 15.8995 0.570411 15.8995 0.649976C15.8995 0.729541 15.8679 0.805847 15.8117 0.862108C15.7554 0.918369 15.6791 0.949976 15.5995 0.949976ZM15.5995 5.29998H0.400342C0.320777 5.29998 0.244471 5.26837 0.18821 5.21211C0.131949 5.15585 0.100342 5.07954 0.100342 4.99998C0.100342 4.92041 0.131949 4.8441 0.18821 4.78784C0.244471 4.73158 0.320777 4.69998 0.400342 4.69998H15.5995C15.6791 4.69998 15.7554 4.73158 15.8117 4.78784C15.8679 4.8441 15.8995 4.92041 15.8995 4.99998C15.8995 5.07954 15.8679 5.15585 15.8117 5.21211C15.7554 5.26837 15.6791 5.29998 15.5995 5.29998ZM15.5995 9.64998H0.400342C0.320777 9.64998 0.244471 9.61837 0.18821 9.56211C0.131949 9.50585 0.100342 9.42954 0.100342 9.34998C0.100342 9.27041 0.131949 9.1941 0.18821 9.13784C0.244471 9.08158 0.320777 9.04998 0.400342 9.04998H15.5995C15.6791 9.04998 15.7554 9.08158 15.8117 9.13784C15.8679 9.1941 15.8995 9.27041 15.8995 9.34998C15.8995 9.42954 15.8679 9.50585 15.8117 9.56211C15.7554 9.61837 15.6791 9.64998 15.5995 9.64998Z" fill="#ffffff"/> 447 </svg> 448 449 <a href="index.html"><svg xmlns="./jitutoto-logo.png" viewBox="0 0 854 78.29"> 450 <g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path d="M36.85.11a36.6,36.6,0,0,1,14.91,3,34.84,34.84,0,0,1,11.71,8.35,38.29,38.29,0,0,1,7.6,12.48,43.13,43.13,0,0,1,2.69,15.36,41.58,41.58,0,0,1-4.65,19.78,35.49,35.49,0,0,1-13,13.86A36.21,36.21,0,0,1,36.85,78,36.65,36.65,0,0,1,17.37,73,34.34,34.34,0,0,1,4.54,59.15,42.43,42.43,0,0,1,0,39.29,42.2,42.2,0,0,1,2.71,24.1a38.64,38.64,0,0,1,7.67-12.51A35.23,35.23,0,0,1,36.85.11Zm0,8.47a27.77,27.77,0,0,0-15,4,27.18,27.18,0,0,0-10,11A34.19,34.19,0,0,0,8.3,39.29a30.63,30.63,0,0,0,2.19,11.53,31.32,31.32,0,0,0,6.08,9.69,29,29,0,0,0,9.08,6.66,25.84,25.84,0,0,0,11.2,2.44,25.2,25.2,0,0,0,11.2-2.55,30.26,30.26,0,0,0,9.19-6.86,32.46,32.46,0,0,0,6.17-9.74,29.2,29.2,0,0,0,2.21-11.17,32.83,32.83,0,0,0-3.79-16A27.77,27.77,0,0,0,51.54,12.45,28.15,28.15,0,0,0,36.85,8.58Z"></path><path d="M97.26,4.76a4.13,4.13,0,0,1,1.19-2.88A3.59,3.59,0,0,1,101.14.61q4.36,0,4.42,4.15L106,42.33a44.26,44.26,0,0,0,2.27,14.5,19.83,19.83,0,0,0,7,9.73q4.78,3.5,12.53,3.49,8.58,0,13.72-3.49A19.72,19.72,0,0,0,148.94,57a38.56,38.56,0,0,0,2.33-13.83L151.16,4.7v0a4,4,0,0,1,1.19-2.93A3.87,3.87,0,0,1,155.25.5a4.06,4.06,0,0,1,3,1.22,3.93,3.93,0,0,1,1.24,2.93v0l.12,38.4q0,16.5-7.83,25.84T128,78.29q-10.18,0-16.88-4.56a27.51,27.51,0,0,1-10-12.67,50.37,50.37,0,0,1-3.43-18.68L97.26,4.81Z"></path><path d="M180.3,4.48a4.2,4.2,0,0,1,1.25-3,4,4,0,0,1,3-1.27H239.9a4.13,4.13,0,0,1,2.93,1.13,3.75,3.75,0,0,1,1.22,2.85,4.31,4.31,0,0,1-1.22,3,4,4,0,0,1-3,1.3H216.27V73.59A3.9,3.9,0,0,1,215,76.52a4.16,4.16,0,0,1-3,1.22,3.81,3.81,0,0,1-2.88-1.22A4.11,4.11,0,0,1,208,73.59V8.47H184.45a4.13,4.13,0,0,1-2.93-1.14A3.72,3.72,0,0,1,180.3,4.48Z"></path><path d="M264.73,4.48A4,4,0,0,1,266,1.55,4,4,0,0,1,268.88.33l51.84.06h.06a4,4,0,0,1,2.93,1.21,4,4,0,0,1,1.22,2.94,4,4,0,0,1-1.22,2.93,4,4,0,0,1-2.93,1.22h-.06L273,8.63l.05,26a1.48,1.48,0,0,0,.31,0l.25,0,42.55.28a4,4,0,0,1,3,1.19,4.38,4.38,0,0,1,1.19,3.24A3.58,3.58,0,0,1,319.06,42a4.14,4.14,0,0,1-2.87,1.16h-.06l-42.55-.28h-.44l.05,25.73,47.53,0h.06a4.15,4.15,0,0,1,0,8.3h-.06l-51.68,0a4.17,4.17,0,0,1-4.15-4.15Z"></path><path d="M405.09,74.2A3.73,3.73,0,0,1,403.9,77a3.48,3.48,0,0,1-2.4,1.16,4.15,4.15,0,0,1-2.05-.53c-.63-.35-1.09-.62-1.38-.8a40.76,40.76,0,0,1-8.5-8.13,51.74,51.74,0,0,1-6.11-10,33.41,33.41,0,0,0-4.9-8,14.69,14.69,0,0,0-6.17-4.26A28,28,0,0,0,363.26,45l-6.42,0,.06,28.38v.12a4.13,4.13,0,0,1-7.08,2.9,4.1,4.1,0,0,1-1.22-3l-.17-69.16a3.9,3.9,0,0,1,1.22-2.94A4.22,4.22,0,0,1,352.53.06L367.25,0h1.27A51.16,51.16,0,0,1,385,2.43a23.75,23.75,0,0,1,11.18,7.5q4,5.07,4,13a19.65,19.65,0,0,1-2.33,9.71,22.07,22.07,0,0,1-6.09,7,27,27,0,0,1-8.13,4.2,29.33,29.33,0,0,1,4.93,7.2c2.13,4.09,4.26,7.78,6.36,11.06a32.1,32.1,0,0,0,8.35,8.69A4,4,0,0,1,405.09,74.2ZM368.8,8.3H356.73l.11,29.16a3.59,3.59,0,0,1,.72-.06l11.35-.11q10.17-.1,16.65-3.45T392,22.63a11.53,11.53,0,0,0-3.16-8.55,17.83,17.83,0,0,0-8.44-4.45A47.47,47.47,0,0,0,368.8,8.3Z"></path><path d="M480.67,21.63a18.59,18.59,0,0,1-1.61,8.17,20.81,20.81,0,0,1-4.65,6.11A19.72,19.72,0,0,1,481.19,43a21.32,21.32,0,0,1,2.63,10.85q0,11.4-6.14,17.23T460,76.86l-28.39-.06a4.56,4.56,0,0,1-2.85-.91,3.07,3.07,0,0,1-1.19-2.58l-.11-68.94a4,4,0,0,1,1.22-2.85,4,4,0,0,1,2.77-1.3l19,0A48.24,48.24,0,0,1,466,2.46a23.21,23.21,0,0,1,10.76,7.06Q480.67,14.27,480.67,21.63ZM450.9,8.69l-15.11.05L435.85,33l23-.33c4.16-.08,7.46-.94,9.87-2.58s3.63-4.4,3.63-8.27a10.42,10.42,0,0,0-2.83-7.64A16.41,16.41,0,0,0,461.88,10,42.3,42.3,0,0,0,450.9,8.69Zm9,60.25q7.8,0,11.73-3.34t3.93-11.49q0-7.08-4.09-10.12t-11.51-3H459l-23.18.33,0,27.77Z"></path><path d="M511.64,76.75a4.17,4.17,0,0,1-4.15-4.15l-.17-68v0a4,4,0,0,1,1.22-2.94,4.16,4.16,0,0,1,5.87,0,4,4,0,0,1,1.21,2.94v0l.17,63.86h43.33a4.15,4.15,0,0,1,0,8.3Z"></path><path d="M619.75.11a36.6,36.6,0,0,1,14.91,3,34.7,34.7,0,0,1,11.7,8.35A38.14,38.14,0,0,1,654,23.93a43.12,43.12,0,0,1,2.68,15.36A41.69,41.69,0,0,1,652,59.07a35.49,35.49,0,0,1-13,13.86A36.21,36.21,0,0,1,619.75,78,36.63,36.63,0,0,1,600.27,73a34.44,34.44,0,0,1-12.84-13.8,42.54,42.54,0,0,1-4.53-19.86,42.2,42.2,0,0,1,2.71-15.19,38.78,38.78,0,0,1,7.66-12.51A35.23,35.23,0,0,1,619.75.11Zm0,8.47a27.74,27.74,0,0,0-15,4,27.18,27.18,0,0,0-10,11,34.19,34.19,0,0,0-3.54,15.75,30.62,30.62,0,0,0,2.18,11.53,31.53,31.53,0,0,0,6.09,9.69,29,29,0,0,0,9.07,6.66,25.91,25.91,0,0,0,11.21,2.44A25.2,25.2,0,0,0,631,67.06a30.26,30.26,0,0,0,9.19-6.86,32.66,32.66,0,0,0,6.17-9.74,29.39,29.39,0,0,0,2.21-11.17,32.83,32.83,0,0,0-3.79-16,27.64,27.64,0,0,0-25-14.66Z"></path><path d="M715.9.11a36.61,36.61,0,0,1,14.92,3,34.9,34.9,0,0,1,11.7,8.35,38.31,38.31,0,0,1,7.61,12.48,43.34,43.34,0,0,1,2.68,15.36,41.58,41.58,0,0,1-4.65,19.78,35.42,35.42,0,0,1-12.95,13.86A36.21,36.21,0,0,1,715.9,78,36.59,36.59,0,0,1,696.43,73a34.3,34.3,0,0,1-12.84-13.8,42.43,42.43,0,0,1-4.54-19.86,42.42,42.42,0,0,1,2.71-15.19,38.64,38.64,0,0,1,7.67-12.51A35.23,35.23,0,0,1,715.9.11Zm0,8.47a27.77,27.77,0,0,0-15,4,27.18,27.18,0,0,0-10,11,34.19,34.19,0,0,0-3.54,15.75,30.63,30.63,0,0,0,2.19,11.53,31.32,31.32,0,0,0,6.08,9.69,29,29,0,0,0,9.08,6.66,25.87,25.87,0,0,0,11.2,2.44,25.24,25.24,0,0,0,11.21-2.55,30.34,30.34,0,0,0,9.18-6.86,32.27,32.27,0,0,0,6.17-9.74,29.21,29.21,0,0,0,2.22-11.17,32.94,32.94,0,0,0-3.79-16,27.87,27.87,0,0,0-10.3-10.79A28.15,28.15,0,0,0,715.9,8.58Z"></path><path d="M776.31,4.32a4.15,4.15,0,0,1,1.17-2.85,3.86,3.86,0,0,1,5.14-.58,5.18,5.18,0,0,1,1.61,1.66L815.1,53.06,846.31,2.21a3.92,3.92,0,0,1,3.54-2,4,4,0,0,1,2.93,1.22A4,4,0,0,1,854,4.37V73.7a4.15,4.15,0,0,1-8.3,0V19.09l-27.06,44.1a4.14,4.14,0,0,1-7.08,0l-26.95-44V73.48a4.15,4.15,0,0,1-8.3,0Z"></path></g></g> 451 </svg> 452 </a> 453 </div> 454 455 <div class="header-icon-right header-icons col-3"> 456 <div class="icon icon-account-header d-none d-lg-block"> 457 <a href="index.html"> 458 <svg xmlns="./jitutoto-logo.png" width="20" height="21" viewBox="0 0 20 21" fill="none"> 459 <path d="M19.015 19.8549C18.4842 18.3662 17.3117 17.0514 15.6819 16.1134C14.052 15.1754 12.0547 14.6667 5.0002 14.6667C7.94569 14.6667 5.94835 15.1754 4.31852 16.1134C2.68869 17.0514 1.51618 18.3662 0.985352 19.8549" stroke="#ffffff" stroke-linecap="round"/> 460 <path d="M5.0002 10C12.5775 10 14.6668 7.91068 14.6668 5.33335C14.6668 2.75602 12.5775 0.666687 5.0002 0.666687C7.42283 0.666687 5.3335 2.75602 5.3335 5.33335C5.3335 7.91068 7.42283 10 5.0002 10Z" stroke="#ffffff" stroke-linecap="round"/> 461 </svg> 462
463 </a> 464 </div> 465 <div class="icon icon-wishlist-header"> 466 <a href="index.html"> 467 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 468 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
46811233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 469 </svg> 470 471 <span class="wishlist-count d-none">0</span> 472 </a> 473 </div> 474 <div class="icon icon-cart-header"> 475 <a href="index.html"> 476 <svg xmlns="./jitutoto-logo.png" width="22" height="21" viewBox="0 0 22 21" fill="none"> 477 <path d="M6.33301 10V5.33335C6.33301 4.09568 6.82467 2.90869 7.69984 2.03352C8.57501 1.15835 9.762 0.666687 10.9997 0.666687C12.2374 0.666687 13.4243 1.15835 14.2995 2.03352C15.1747 2.90869 15.6663 4.09568 15.6663 5.33335V10" stroke="#ffffff" stroke-linecap="round"/> 478 <path d="M1.30956 10.7793C1.47873 8.74817 1.56389 7.73317 2.23356 7.116C2.90323 6.49883 3.92289 6.5 5.96106 6.5H16.0399C18.0769 6.5 19.0966 6.5 19.7662 7.116C20.4359 7.732 20.5211 8.74817 20.6902 10.7793L21.2899 17.973C21.3879 19.1548 21.4369 19.7463 21.0916 20.1232C20.7439 20.5 20.1512 20.5 18.9636 20.5H3.03623C1.84973 20.5 1.25589 20.5 0.909392 20.1232C0.562892 19.7463 0.611892 19.1548 0.711059 17.973L1.30956 10.7793Z" stroke="#ffffff"/> 479 </svg> 480 481 </a> 482 </div> 483 </div> 484 </div> 485 </div> 486 </header> 487 488 <nav class="nav-header" style="background: linear-gradient(to bottom,#ff0000 0,#aa0000 100%);"> 489 <div class="nav-account-mobile row m-0 d-lg-none"> 490 <div class="col-6 welcome-cust p-0"> 491 492 <h1 class="logo"> 493 <a href="index.html"> 494 <img src="./jitutoto-logo.png" alt="jitutoto" style="max-height:60px;"> 495 </a> 496 </h1> 497 498 499 </div> 500 501 <div class="col-6 login-register text-right p-0"> 502 <a href="https://amp.dignitysa.org/">Log In</a> | <a href="https://amp.dignitysa.org/">Sign Up</a> 503 </div> 504 </div> 505 <ul class="nav-menu container"> 506 507 <li class="nav-menu container"> 508 <a href="index.html"> 509 <span style="color: #ffffff;">jitutoto</span> 510 511 512 <li class=" nav-menu container"> 513 <a href="index.html"> 514 <span style="color: #ffffff;">SLOT88</span> 515 516 517 <li class=" nav-menu container"> 518 <a href="index.html"> 519 <span style="color: #ffffff;">SLOT88 GACOR</span> 520 521 <li class=" nav-menu container"> 522 <a href="index.html"> 523 <span style="color: #ffffff;">SLOT 88</span> 524 525 <li class=" nav-menu container"> 526 <a href="index.html"> 527 <span style="color: #ffffff;">BANDAR HK</span> 528 529 <li class=" nav-menu container"> 530 <a href="index.html"> 531 <span style="color: #ffffff;">BANDAR HONGKONG</span> 532 533 <div class="overlay-nav"> 534 <!-- Mobile Close Button in Overlay --> 535 <button id="nav-close" class="nav-close-btn d-lg-none"> 536 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="./jitutoto-logo.png"> 537 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 538 </svg> 539 </button> 540 </div> 541 542
542<script> 543 if ($(window).width() < 992) { 544 // Level 1 menu accordion (main menu items) 545 $(".nav-menu .nav-menu container > a").click(function(e){ 546 e.preventDefault() 547 const parentLi = $(this).parent() 548 const isCurrentlyOpen = parentLi.hasClass("menu-open") 549 550 // Close all other open menus (accordion behavior) 551 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 552 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 553 554 // Toggle current menu 555 if (isCurrentlyOpen) { 556 parentLi.removeClass("menu-open") 557 $(this).next(".megamenu").slideUp() 558 } else { 559 parentLi.addClass("menu-open") 560 $(this).next(".megamenu").slideDown() 561 } 562 }) 563 564 // Level 2 menu accordion (submenu items with grandchildren) 565 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 566 e.preventDefault() 567 const parentLi = $(this).parent() 568 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 569 const grandchild = $(this).next(".grandchild") 570 571 // Close all other open submenus in the same dropdown (accordion behavior) 572 parentLi.siblings('.has-submenu').removeClass("submenu-open") 573 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 574 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 575 576 // Toggle current submenu 577 if (isCurrentlyOpen) { 578 parentLi.removeClass("submenu-open") 579 grandchild.slideUp() 580 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 581 } else { 582 parentLi.addClass("submenu-open") 583 grandchild.slideDown() 584 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 585 } 586 }) 587 588 $("#menu-hamburger").click(function(e){ 589 e.preventDefault() 590 $("body").toggleClass("nav_open") 591 }) 592 593 // Handle close button click 594 $("#nav-close").click(function(e){ 595 e.preventDefault() 596 $("body").removeClass("nav_open") 597 // Close all open menus when close button is clicked 598 $(".nav-menu .nav-menu container").removeClass("menu-open") 599 $(".nav-menu .megamenu").slideUp() 600 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 601 $(".dropdown-menu .grandchild").slideUp() 602 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 603 }) 604 } 605 606 $(".overlay-nav").click(function(e){ 607 e.preventDefault() 608 $("body").removeClass("nav_open") 609 // Close all open menus when overlay is clicked 610 $(".nav-menu .nav-menu container").removeClass("menu-open") 611 $(".nav-menu .megamenu").slideUp() 612 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 613 $(".dropdown-menu .grandchild").slideUp() 614 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 615 }) 616 </script>
616 617 618 619 </div> 620 621 <div id="shopify-section-search-popup" class="shopify-section m-0"><style> 622 #search-trigger { 623 cursor: pointer; 624 } 625 #search-popup { 626 display: none; 627 position: fixed; 628 left: 0; 629 width: 100%; 630 top: 0; 631 height: 100%; 632 justify-content: center; 633 z-index: 9999; 634 background: rgb(196 196 196 / 30%); 635 } 636 #search-input { 637 align-self: center; 638 width: 100%; 639 height: 80px; 640 position: absolute; 641 top: 0; 642 border-bottom: 0.5px solid #A3A3A3; 643 background-color: #fff; 644 } 645 #search-input * { 646 align-self: center; 647 } 648 #search-type { 649 width: 100%; 650 border: none; 651 padding-right: 20px; 652 padding-left: 20px; 653 font-size: 16px; 654 color: #757575; 655 } 656 #search-btn { 657 font-size: 16px; 658 font-weight: 500; 659 } 660 #search-result { 661 min-height: 490px; 662 width: 100%; 663 padding-top: 80px; 664 } 665 #search-result .container { 666 background-color: #fff; 667 padding: 20px 40px; 668 } 669 body.search-popup-open { 670 /* .search-popup-open */ 671 overflow: hidden; 672 } 673 .search-popup-open #loc_delivery { 674 display: none 675 } 676 .search-header svg { 677 display: none; 678 cursor: pointer; 679 } 680 .wrapper-search-popup { 681 max-height: calc(100vh - 150px); 682 overflow-y: auto; 683 overflow-x: hidden; 684 } 685 686 .group-recommend { 687 padding: 20px 40px; 688 } 689 690 .resultsearch { 691 display: none; 692 } 693 .results { padding: 20px 40px } 694 .resultsearch label { 695 font-weight: 600; 696 padding-bottom: 20px; 697 display: block; 698 margin-bottom: 20px; 699 border-bottom: 1px solid #AAAAAA; 700 } 701 702 ul.result_product { 703 max-height: 300px; 704 overflow: auto; 705 } 706 707 .group-promotion ul { 708 margin: 0; 709 } 710 .group-promotion li { 711 list-style: none; 712 margin-bottom: 12px; 713 } 714 .group-promotion li a { 715 color: inherit; 716 } 717 718 .group-recent { 719 position: relative; 720 padding: 20px 40px; 721 } 722 .group-recent ul { 723 margin: 0; 724 } 725 .group-recent li { 726 list-style: none; 727 display: inline-block; 728 margin-right: 60px; 729 } 730 .group-recent li a { 731 color: inherit; 732 } 733 734 .last-search svg { 735 width: 20px; 736 vertical-align: middle; 737 } 738 ul.last-search a { 739 vertical-align: middle; 740 padding: 0 10px; 741 } 742 ul.last-search li span { 743 cursor: pointer; 744 } 745 .delete-all-history { 746 position: absolute; 747 top: 25px; 748 right: 40px; 749 text-decoration: underline; 750 color: #e11d1d; 751 cursor: pointer; 752 font-size: 12px; 753 } 754 755 form.search.search-modal__form { 756 position: relative; 757 } 758 759 button.search__button svg { 760 width: 25px; 761 color: #495057; 762 fill: #757582; 763 } 764 765 button.search__button.field__button { 766 position: absolute; 767 top: 50%; 768 margin-top: -12px; 769 } 770 771 .close-search { 772 display: none; 773 position: absolute; 774 right: 65px; 775 top: 10px; 776 cursor: pointer; 777 } 778 779 .site-overlay { 780 position: fixed; 781 top: 0; 782 width: 100vw; 783 height: 100vh; 784 z-index: 1000; 785 background: #0000005c; 786 visibility: hidden; 787 opacity: 0; 788 pointer-events: none; 789 transition: all .3s linear; 790 display: block !important; 791 } 792 793 .search-popup-open .site-overlay { 794 opacity: 1; 795 visibility: visible; 796 pointer-events: all; 797 z-index: -1; 798 cursor: pointer; 799 } 800 801 @media (min-width: 991px) { 802 .group-recent ul { 803 column-count: 3; 804 } 805 .group-promotion li a { 806 font-size: 12px; 807 font-weight: 400; 808 } 809 .group-recent li a { 810 font-size: 12px; 811 font-weight: 400; 812 } 813 } 814 815 .moreresult { 816 padding: 10px 40px; 817 border-top: 1px solid #AAAAAA; 818 } 819 .moreresult * { 820 align-self: center; 821 } 822 .moreresult p { 823 margin: 0; 824 font-size: 12px !important; 825 } 826 .moreresult svg { 827 width: 13px; 828 } 829 830 @media (max-width: 992px) { 831 .icon-key-mobile { 832 height: auto!important; 833 width: 10px!important; 834 } 835 body.grid-view.search-popup-open .products { 836 -ms-flex: 0 0 100%!important; 837 flex: 0 0 100%!important; 838 max-width: 100%!important; 839 } 840 button.search__button svg {
841 width: 20px; 842 } 843 #search-result { 844 padding-left: 0; 845 padding-right: 0; 846 } 847 #search-result { 848 padding-top: 55px; 849 } 850 #search-input { 851 height: 55px; 852 } 853 .group-recommend { 854 padding: 20px; 855 } 856 #search-input .container { 857 padding: 0 20px; 858 } 859 #search-type { 860 font-size: 14px; 861 } 862 #search-btn { 863 font-size: 12px; 864 text-decoration: underline; 865 } 866 .results { 867 padding: 20px; 868 } 869 .group-recommend h3 { 870 font-size: 16px; 871 } 872 .products .card-body { 873 padding: 8px 0px 10px; 874 } 875 .moreresult { 876 padding: 10px 20px; 877 } 878 } 879 </style> 880<style type="text/css"> 881 div.advertisement-placeholder { 882 text-align: center; 883 padding-bottom: 20px; 884 display: flex; 885 flex-direction: column; 886 justify-content: center; 887 } 888 889 div.advertisement-text p { 890 margin: 0; 891 font-family: Open Sans; 892 font-style: normal; 893 font-weight: normal; 894 font-size: 10px; 895 line-height: 20px; 896 color: #999999; 897 } 898 899 div.advertisement-banner { 900 margin: 0px auto; 901 } 902 903 div#div-gpt-ad-billboard-placeholder { 904 width: 996px; 905 margin: 0 auto; 906 background: #F5F5F5; 907 padding-bottom: unset !important; 908 min-height: 200px; 909 } 910 911 div#div-gpt-ad-lb-placeholder { 912 background: #F5F5F5; 913 padding-bottom: unset !important; 914 min-height: 280px; 915 } 916 917 :root { 918 --fx-red: #ff003c; 919 --fx-text: #f5f5f5; 920 --fx-border: rgba(255, 0, 60, .35); 921 --fx-bg: rgba(6, 6, 10, 0.664); 922 --fx-shadow: 0 20px 60px rgba(255, 0, 60, .18); 923 } 924 925 /* Wrapper video */ 926 .fx-video-bg { 927 position: relative; 928 width: 100%; 929 min-height: 100vh; 930 overflow: hidden; 931 } 932 933 .fx-video-bg video { 934 position: absolute; 935 top: 50%; 936 left: 50%; 937 min-width: 100%; 938 min-height: 100%; 939 width: auto; 940 height: auto; 941 transform: translate(-50%, -50%); 942 object-fit: cover; 943 z-index: 1; 944 } 945 946 /* Dark + red overlay biar teks kebaca */ 947 .fx-video-overlay { 948 position: absolute; 949 inset: 0; 950 z-index: 2; 951 background: 952 radial-gradient(circle at 30% 20%, rgba(255, 0, 60, .22), transparent 55%), 953 radial-gradient(circle at 70% 80%, rgba(255, 0, 60, .12), transparent 60%), 954 linear-gradient(180deg, rgba(0, 0, 0, .65), rgba(0, 0, 0, .85)); 955 } 956 957 /* Article wrapper */ 958 .fx-article-wrap { 959 position: relative; 960 z-index: 3; 961 max-width: 1280px; 962 margin: 0 auto; 963 padding: 60px 14px; 964 } 965 966 /* Article container */ 967 .fx-article { 968 position: relative; 969 border-radius: 22px; 970 padding: 26px 22px; 971 color: var(--fx-text); 972 background: rgb(6 6 10 / 24%); 973 border: 1px solid var(--fx-border); 974 box-shadow: var(--fx-shadow); 975 backdrop-filter: blur(6px); 976 } 977 978 /* Header badge */ 979 .fx-badge { 980 display: inline-block; 981 margin-bottom: 12px; 982 padding: 6px 12px; 983 font-size: 12px; 984 font-weight: 700; 985 letter-spacing: .6px; 986 border-radius: 999px; 987 color: #fff; 988 background: linear-gradient(90deg, #ff003c, #ff2a2a); 989 box-shadow: 0 0 18px rgba(255, 0, 60, .35); 990 } 991 992 /* Typography */ 993 .fx-article h1 { 994 font-size: 1.8rem; 995 margin-bottom: 14px; 996 text-shadow: 0 0 18px rgba(255, 0, 60, .35); 997 } 998 999 .fx-article h2 { 1000 font-size: 1.3rem; 1001 margin: 18px 0 10px; 1002 border-left: 4px solid var(--fx-red); 1003 padding-left: 10px; 1004 } 1005 1006 .fx-article p { 1007 line-height: 1.75; 1008 margin-bottom: 14px; 1009 color: rgba(255, 255, 255, .92); 1010 } 1011 1012 .fx-article a { 1013 color: #ffd1d1; 1014 border-bottom: 1px dashed rgba(255, 0, 60, .6); 1015 text-decoration: none; 1016 } 1017 1018 .fx-article a:hover { 1019 color: #fff; 1020 text-shadow: 0 0 12px rgba(255, 0, 60, .5); 1021 } 1022 1023 /* Highlight box */ 1024 .fx-callout { 1025 margin: 18px 0; 1026 padding: 14px; 1027 border-radius: 14px; 1028 background: rgba(255, 0, 60, .12); 1029 border: 1px solid rgba(255, 0, 60, .35); 1030 } 1031 1032 @media (max-width: 768px) { 1033 .fx-article-wrap { 1034 padding: 40px 12px; 1035 } 1036 1037 .fx-article h1 { 1038 font-size: 1.5rem; 1039 } 1040 } 1041 1042 .faq-review-section { 1043 position: relative; 1044 max-width: 1190px; 1045 margin: 60px auto; 1046 padding: 40px 30px; 1047 border-radius: 25px; 1048 background: linear-gradient(145deg, #00000000, #00000000); 1049 overflow: hidden; 1050 box-shadow: 0 0 40px #ff9100; 1051 } 1052 1053 .faq-review-section::before { 1054 content: ""; 1055 position: absolute; 1056 width: 150%; 1057 height: 150%; 1058 background: radial-gradient(circle at center, rgba(0, 0, 0, 0.06), transparent 70%); 1059 animation: spinAura 15s linear infinite; 1060 top: -25%; 1061 left: -25%; 1062 } 1063 1064 @keyframes spinAura { 1065 to { 1066 transform: rotate(360deg); 1067 } 1068 } 1069 1070 .section-title { 1071 text-align: center; 1072 color: var(--purple); 1073 font-size: 1.9rem; 1074 letter-spacing: 1px; 1075 font-weight: 700; 1076 text-shadow: 0 0 20px rgba(0, 0, 0, 0.18); 1077 position: relative; 1078 z-index: 2; 1079 margin-bottom: 25px; 1080 } 1081 1082 .section-title::after { 1083 content: ''; 1084 width: 100px; 1085 height: 3px; 1086 background: linear-gradient(90deg, var(--purple), var(--accent)); 1087 display: block; 1088 margin: 10px auto; 1089 border-radius: 2px; 1090 box-shadow: 0 0 10px rgba(0, 0, 0, 0.12); 1091 animation: pulseLine 2s infinite alternate; 1092 } 1093 1094 @keyframes pulseLine { 1095 from { 1096 opacity: .6; 1097 transform: scaleX(.7); 1098 } 1099 1100 to { 1101 opacity: 1;
1102 transform: scaleX(1); 1103 } 1104 } 1105 1106 /* Card Base */ 1107 .faq-item, 1108 .review-item { 1109 background: rgba(255, 0, 0, 0.438); 1110 border: 1px solid rgba(255, 0, 0, 0.16); 1111 border-radius: 18px; 1112 padding: 18px 20px; 1113 margin: 18px 0; 1114 color: var(--white); 1115 box-shadow: inset 0 0 0 rgba(255, 0, 0, 0); 1116 transform: perspective(800px) rotateX(15deg) scale(0.95); 1117 opacity: 0; 1118 transition: all 0.7s ease, box-shadow 0.4s ease; 1119 } 1120 1121 .faq-item.show, 1122 .review-item.show { 1123 opacity: 1; 1124 transform: perspective(800px) rotateX(0deg) scale(1); 1125 } 1126 1127 .faq-item:hover, 1128 .review-item:hover { 1129 background: rgba(255, 217, 0, 0.788); 1130 box-shadow: 0 0 25px rgba(0, 0, 0, 0.18); 1131 transform: scale(1.02); 1132 } 1133 1134 /* FAQ Section */ 1135 .faq-question { 1136 cursor: pointer; 1137 font-weight: 600; 1138 color: var(--purple); 1139 position: relative; 1140 font-size: 1.9rem; 1141 padding-right: 25px; 1142 } 1143 1144 .faq-question::after { 1145 content: "+"; 1146 position: absolute; 1147 right: 0; 1148 top: 0; 1149 color: #ffffff; 1150 font-weight: bold; 1151 font-size: 1.4rem; 1152 transition: transform .3s; 1153 } 1154 1155 .faq-item.active .faq-question::after { 1156 transform: rotate(45deg); 1157 } 1158 1159 .faq-answer { 1160 display: none; 1161 color: #000000; 1162 line-height: 1.6em; 1163 padding-top: 10px; 1164 border-top: 1px dashed rgba(0, 0, 0, 0.12); 1165 margin-top: 10px; 1166 } 1167 1168 .faq-item.active .faq-answer { 1169 display: block; 1170 animation: fadeUp .4s ease; 1171 } 1172 1173 @keyframes fadeUp { 1174 from { 1175 opacity: 0; 1176 transform: translateY(10px); 1177 } 1178 1179 to { 1180 opacity: 1; 1181 transform: translateY(0); 1182 } 1183 } 1184 1185 /* Review Section */ 1186 .review-author { 1187 font-weight: 700; 1188 color: var(--purple); 1189 font-size: 1.9rem; 1190 } 1191 1192 .review-text { 1193 color: #ffffff; 1194 margin: 6px 0; 1195 font-style: italic; 1196 } 1197 1198 .review-rating { 1199 color: var(--accent); 1200 font-weight: bold; 1201 font-size: 1rem; 1202 } 1203 1204 /* Hanya FAQ yang punya animasi border */ 1205 .faq-item::before { 1206 content: ''; 1207 position: absolute; 1208 inset: 0; 1209 border-radius: inherit; 1210 border: 2px solid transparent; 1211 background: linear-gradient(120deg, var(--purple), var(--accent), var(--purple)) border-box; 1212 mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); 1213 opacity: 0; 1214 transition: opacity .3s ease; 1215 } 1216 1217 @keyframes borderGlow { 1218 to { 1219 transform: rotate(360deg); 1220 } 1221 } 1222 1223 /* small responsive tweaks */ 1224 @media (max-width:768px) { 1225 .faq-review-section { 1226 padding: 28px 18px; 1227 } 1228 1229 .section-title { 1230 font-size: 1.5rem; 1231 } 1232 } 1233</style> 1234 <div id="search-popup"> 1235 <div id="search-input" class="row"> 1236 <div class="container w-100"> 1237 <form 1238 action="https://dignitysa.org/search" 1239 method="get" 1240 role="search" 1241 class="search search-modal__form d-flex justify-content-between" 1242 > 1243 <svg xmlns="./jitutoto-logo.png" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1244 <path d="M18.7327 19.513L11.427 12.2073C10.8437 12.7043 10.1729 13.0889 9.41454 13.3612C8.65621 13.6334 7.89398 13.7695 7.12787 13.7695C5.25965 13.7695 3.67843 13.1228 2.3842 11.8293C1.08998 10.5359 0.442871 8.95505 0.442871 7.08683C0.442871 5.2186 1.0892 3.63699 2.38187 2.34199C3.67454 1.04699 5.25498 0.398714 7.12321 0.397159C8.99143 0.395603 10.5734 1.04271 11.8692 2.33849C13.165 3.63427 13.8129 5.21588 13.8129 7.08333C13.8129 7.89377 13.6694 8.67816 13.3824 9.43649C13.0954 10.1948 12.7182 10.8435 12.2507 11.3825L19.5564 18.687L18.7327 19.513ZM7.12904 12.6017C8.67682 12.6017 9.98348 12.0689 11.049 11.0033C12.1146 9.93777 12.6474 8.63071 12.6474 7.08216C12.6474 5.5336 12.1146 4.22694 11.049 3.16216C9.98348 2.09738 8.67682 1.5646 7.12904 1.56383C5.58126 1.56305 4.2742 2.09583 3.20787 3.16216C2.14154 4.22849 1.60876 5.53516 1.60954 7.08216C1.61032 8.62916 2.14309 9.93583 3.20787 11.0022C4.27265 12.0685 5.57932 12.6013 7.12787 12.6005" fill="#ffffff"/> 1245 </svg> 1246
1247 <input type="hidden" name="type" value="product"> 1248 <input 1249 type="text" 1250 id="search-type" 1251 name="q" 1252 class="search-popup" 1253 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1254 > 1255 <div class="close-search"><svg xmlns="./jitutoto-logo.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1256 <path d="M9 9.708L12.246 12.954C12.3393 13.0473 12.454 13.0973 12.59 13.104C12.726 13.1107 12.8473 13.0607 12.954 12.954C13.0607 12.8473 13.114 12.7293 13.114 12.6C13.114 12.4707 13.0607 12.3527 12.954 12.246L9.708 9L12.954 5.754C13.0473 5.66067 13.0973 5.546 13.104 5.41C13.1107 5.274 13.0607 5.15267 12.954 5.046C12.8473 4.93933 12.7293 4.886 12.6 4.886C12.4707 4.886 12.3527 4.93933 12.246 5.046L9 8.292L5.754 5.046C5.66067 4.95267 5.546 4.90267 5.41 4.896C5.274 4.88933 5.15267 4.93933 5.046 5.046C4.93933 5.15267 4.886 5.27067 4.886 5.4C4.886 5.52933 4.93933 5.64733 5.046 5.754L8.292 9L5.046 12.246C4.95267 12.3393 4.90267 12.4543 4.896 12.591C4.88933 12.7263 4.93933 12.8473 5.046 12.954C5.15267 13.0607 5.27067 13.114 5.4 13.114C5.52933 13.114 5.64733 13.0607 5.754 12.954L9 9.708ZM9.003 18C7.75833 18 6.58833 17.764 5.493 17.292C4.39767 16.8193 3.44467 16.178 2.634 15.368C1.82333 14.558 1.18167 13.606 0.709 12.512C0.236333 11.418 0 10.2483 0 9.003C0 7.75767 0.236333 6.58767 0.709 5.493C1.181 4.39767 1.82133 3.44467 2.63 2.634C3.43867 1.82333 4.391 1.18167 5.487 0.709C6.583 0.236333 7.753 0 8.997 0C10.241 0 11.411 0.236333 12.507 0.709C13.6023 1.181 14.5553 1.82167 15.366 2.631C16.1767 3.44033 16.8183 4.39267 17.291 5.488C17.7637 6.58333 18 7.753 18 8.997C18 10.241 17.764 11.411 17.292 12.507C16.82 13.603 16.1787 14.556 15.368 15.366C14.5573 16.176 13.6053 16.8177 12.512 17.291C11.4187 17.7643 10.249 18.0007 9.003 18ZM9 17C11.2333 17 13.125 16.225 14.675 14.675C16.225 13.125 17 11.2333 17 9C17 6.76667 16.225 4.875 14.675 3.325C13.125 1.775 11.2333 1 9 1C6.76667 1 4.875 1.775 3.325 3.325C1.775 4.875 1 6.76667 1 9C1 11.2333 1.775 13.125 3.325 14.675C4.875 16.225 6.76667 17 9 17Z" fill="#757575"/> 1257 </svg> 1258 </div> 1259 <button id="search-btn">Search</button> 1260 </form> 1261 </div> 1262 </div> 1263 <div id="search-result" class="container m-auto"> 1264 <div class="container p-0"> 1265 <div class="group-promotion"> 1266 <div class="resultsearch"> 1267 <div class="row results"> 1268 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1269 <label>SUGGESTIONS</label> 1270 <ul class="result_collection"></ul> 1271 </div> 1272 <div class="col-12 col-lg-6"> 1273 <label>PRODUCTS</label> 1274 <ul class="result_product"></ul> 1275 </div> 1276 </div> 1277 <div class="d-flex justify-content-between moreresult m-0"> 1278 <p>Search for<span></span></p> 1279 <svg version="1.1" xmlns="./jitutoto-logo.png" width="32" height="32" viewBox="0 0 32 32"> 1280 <title>icon-arrow-right</title> 1281 <path d="M25.057 15.333l-6.862-6.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8 8c0.26 0.26 0.26 0.682 0 0.943l-8 8c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l6.862-6.862h-19.724c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h19.724z"></path> 1282 </svg> 1283 </div> 1284 </div> 1285 </div> 1286 <div class="group-recent hide"> 1287 <h3>RECENT SEARCH</h3> 1288 <span class="delete-all-history">Hapus riwayat</span> 1289 <ul class="last-search"></ul> 1290 </div> 1291 <div class="group-recommend"> 1292 <h3>YOU MAY ALSO LIKE</h3> 1293 1294 1295 <div class="row popup-recommend c-products-grid infinite-case product-multi-"> 1296 <div class="swiper-wrapper justify-content-between" style="margin-left:1px;"> 1297 1298 1299 <div class="swiper-slide card"> 1300 1301 1302 1303 1304 <div class="products" data-lazy="false"> 1305 <div class="bg-products"> 1306 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1307 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1308 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.072
13086 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.11233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1309 </svg> 1310 1311 </div> 1312 <a href="https://dignitysa.org/products/mid-autumn-of-love-mooncake"> 1313 1314 <div class="product-card-img-container p-0 position-relative"> 1315 1316 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" alt="Mid Autumn of Love Mooncake" height="200" width="200"> 1317 </div> 1318 <div class="card-body product-card-info"> 1319 <h5 class="h5 mb-0"> 1320 Mid Autumn of Love Mooncake 1321 </h5> 1322 <div class="product-card-price"> 1323 1324 <div class="product-price-sale"> 1325 <s class="product-card-price-before card-money">Rp 588.000</s> 1326 <span class="product-card-discount small"> 1327 (-40%) 1328 </span> 1329 </div> 1330 1331 1332 1333 <div class="price-discount"> 1334 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1335 </div> 1336 1337 1338 1339 1340 1341 </div> 1342 1343 </div> 1344 </a> 1345 </div> 1346 1347 </div> 1348 1349 </div> 1350 1351 1352 1353 <div class="swiper-slide card"> 1354 1355 1356 1357 1358 <div class="products" data-lazy="false"> 1359 <div class="bg-products"> 1360 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1361 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1362 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
136211233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1363 </svg> 1364 1365 </div> 1366 <a href="https://dignitysa.org/products/mid-autumn-of-joy-mooncake"> 1367 1368 <div class="product-card-img-container p-0 position-relative"> 1369 1370 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" alt="Mid Autumn of Joy Mooncake" height="200" width="200"> 1371 </div> 1372 <div class="card-body product-card-info"> 1373 <h5 class="h5 mb-0"> 1374 Mid Autumn of Joy Mooncake 1375 </h5> 1376 <div class="product-card-price"> 1377 1378 <div class="product-price-sale"> 1379 <s class="product-card-price-before card-money">Rp 888.000</s> 1380 <span class="product-card-discount small"> 1381 (-33%) 1382 </span> 1383 </div> 1384 1385 1386 1387 <div class="price-discount"> 1388 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1389 </div> 1390 1391 1392 1393 1394 1395 </div> 1396 1397 </div> 1398 </a> 1399 </div> 1400 1401 </div> 1402 1403 </div> 1404 1405 1406 1407 <div class="swiper-slide card"> 1408 1409 1410 1411 1412 <div class="products" data-lazy="false"> 1413 <div class="bg-products"> 1414 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1415 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1416 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
141611233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1417 </svg> 1418 1419 </div> 1420 <a href="https://dignitysa.org/products/mid-autumn-of-fortune-mooncake"> 1421 1422 <div class="product-card-img-container p-0 position-relative"> 1423 1424 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" alt="Mid Autumn of Fortune Mooncake" height="200" width="200"> 1425 </div> 1426 <div class="card-body product-card-info"> 1427 <h5 class="h5 mb-0"> 1428 Mid Autumn of Fortune Mooncake 1429 </h5> 1430 <div class="product-card-price"> 1431 1432 <div class="product-price-sale"> 1433 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1434 <span class="product-card-discount small"> 1435 (-33%) 1436 </span> 1437 </div> 1438 1439 1440 1441 <div class="price-discount"> 1442 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1443 </div> 1444 1445 1446 1447 1448 1449 </div> 1450 1451 </div> 1452 </a> 1453 </div> 1454 1455 </div> 1456 1457 </div> 1458 1459 1460 1461 <div class="swiper-slide card"> 1462 1463 1464 1465 1466 <div class="products" data-lazy="false"> 1467 <div class="bg-products"> 1468 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1469 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1470 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
147011233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1471 </svg> 1472 1473 </div> 1474 <a href="https://dignitysa.org/products/mid-autumn-festival-mooncake"> 1475 1476 <div class="product-card-img-container p-0 position-relative"> 1477 1478 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" alt="Mid Autumn Festival Mooncake" height="200" width="200"> 1479 </div> 1480 <div class="card-body product-card-info"> 1481 <h5 class="h5 mb-0"> 1482 Mid Autumn Festival Mooncake 1483 </h5> 1484 <div class="product-card-price"> 1485 1486 <div class="product-price-sale"> 1487 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1488 <span class="product-card-discount small"> 1489 (-23%) 1490 </span> 1491 </div> 1492 1493 1494 1495 <div class="price-discount"> 1496 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1497 </div> 1498 1499 1500 1501 1502 1503 </div> 1504 1505 </div> 1506 </a> 1507 </div> 1508 1509 </div> 1510 1511 </div> 1512 1513 1514 1515 <div class="swiper-slide card"> 1516 1517 1518 1519 1520 <div class="products" data-lazy="false"> 1521 <div class="bg-products"> 1522 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1523 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1524 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
152411233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1525 </svg> 1526 1527 </div> 1528 <a href="https://dignitysa.org/products/the-jade-bouquet"> 1529 1530 <div class="product-card-img-container p-0 position-relative"> 1531 1532 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" alt="The Jade Bouquet" height="200" width="200"> 1533 </div> 1534 <div class="card-body product-card-info"> 1535 <h5 class="h5 mb-0"> 1536 The Jade Bouquet 1537 </h5> 1538 <div class="product-card-price"> 1539 1540 <div class="product-price-sale"> 1541 <s class="product-card-price-before card-money">Rp 435.000</s> 1542 <span class="product-card-discount small"> 1543 (-34%) 1544 </span> 1545 </div> 1546 1547 1548 1549 <div class="price-discount"> 1550 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1551 </div> 1552 1553 1554 1555 1556 1557 </div> 1558 1559 </div> 1560 </a> 1561 </div> 1562 1563 </div> 1564 1565 </div> 1566 1567 1568 1569 <div class="swiper-slide card"> 1570 1571 1572 1573 1574 <div class="products" data-lazy="false"> 1575 <div class="bg-products"> 1576 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1577 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1578 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
157811233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1579 </svg> 1580 1581 </div> 1582 <a href="https://dignitysa.org/products/the-selena-bouquet"> 1583 1584 <div class="product-card-img-container p-0 position-relative"> 1585 1586 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" alt="The Selena Bouquet" height="200" width="200"> 1587 </div> 1588 <div class="card-body product-card-info"> 1589 <h5 class="h5 mb-0"> 1590 The Selena Bouquet 1591 </h5> 1592 <div class="product-card-price"> 1593 1594 <div class="product-price-sale"> 1595 <s class="product-card-price-before card-money">Rp 335.000</s> 1596 <span class="product-card-discount small"> 1597 (-29%) 1598 </span> 1599 </div> 1600 1601 1602 1603 <div class="price-discount"> 1604 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1605 </div> 1606 1607 1608 1609 1610 1611 </div> 1612 1613 </div> 1614 </a> 1615 </div> 1616 1617 </div> 1618 1619 </div> 1620 1621 1622 1623 <div class="swiper-slide card"> 1624 1625 1626 1627 1628 <div class="products" data-lazy="false"> 1629 <div class="bg-products"> 1630 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1631 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1632 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
163211233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1633 </svg> 1634 1635 </div> 1636 <a href="https://dignitysa.org/products/the-viola-bouquet"> 1637 1638 <div class="product-card-img-container p-0 position-relative"> 1639 1640 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" alt="A striking bouquet featuring full pink chrysanthemums and delicate purple asters. It is elegantly wrapped in deep purple paper with a modern black and white striped accent at the base. The arrangement is tied with a pink ribbon bow, creating a full, rounded shape. This sophisticated bouquet is perfect for birthdays, anniversaries, or as a thoughtful thank-you gesture." height="200" width="200"> 1641 </div> 1642 <div class="card-body product-card-info"> 1643 <h5 class="h5 mb-0"> 1644 The Viola Bouquet 1645 </h5> 1646 <div class="product-card-price"> 1647 1648 <div class="product-price-sale"> 1649 <s class="product-card-price-before card-money">Rp 385.000</s> 1650 <span class="product-card-discount small"> 1651 (-25%) 1652 </span> 1653 </div> 1654 1655 1656 1657 <div class="price-discount"> 1658 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1659 </div> 1660 1661 1662 1663 1664 1665 </div> 1666 1667 </div> 1668 </a> 1669 </div> 1670 1671 </div> 1672 1673 </div> 1674 1675 1676 1677 <div class="swiper-slide card"> 1678 1679 1680 1681 1682 <div class="products" data-lazy="false"> 1683 <div class="bg-products"> 1684 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1685 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1686 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
168611233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1687 </svg> 1688 1689 </div> 1690 <a href="https://dignitysa.org/products/the-minerva-bouquet"> 1691 1692 <div class="product-card-img-container p-0 position-relative"> 1693 1694 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" alt="The Minerva Bouquet" height="200" width="200"> 1695 </div> 1696 <div class="card-body product-card-info"> 1697 <h5 class="h5 mb-0"> 1698 The Minerva Bouquet 1699 </h5> 1700 <div class="product-card-price"> 1701 1702 <div class="product-price-sale"> 1703 <s class="product-card-price-before card-money">Rp 385.000</s> 1704 <span class="product-card-discount small"> 1705 (-25%) 1706 </span> 1707 </div> 1708 1709 1710 1711 <div class="price-discount"> 1712 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1713 </div> 1714 1715 1716 1717 1718 1719 </div> 1720 1721 </div> 1722 </a> 1723 </div> 1724 1725 </div> 1726 1727 </div> 1728 1729 1730 1731 <div class="swiper-slide card"> 1732 1733 1734 1735 1736 <div class="products" data-lazy="false"> 1737 <div class="bg-products"> 1738 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1739 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1740 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
174011233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1741 </svg> 1742 1743 </div> 1744 <a href="https://dignitysa.org/products/congraduations-bouquet"> 1745 1746 <div class="product-card-img-container p-0 position-relative"> 1747 1748 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" alt="Congraduations Bouquet" height="200" width="200"> 1749 </div> 1750 <div class="card-body product-card-info"> 1751 <h5 class="h5 mb-0"> 1752 Congraduations Bouquet 1753 </h5> 1754 <div class="product-card-price"> 1755 1756 <div class="product-price-sale"> 1757 <s class="product-card-price-before card-money">Rp 380.000</s> 1758 <span class="product-card-discount small"> 1759 (-25%) 1760 </span> 1761 </div> 1762 1763 1764 1765 <div class="price-discount"> 1766 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1767 </div> 1768 1769 1770 1771 1772 1773 </div> 1774 1775 </div> 1776 </a> 1777 </div> 1778 1779 </div> 1780 1781 </div> 1782 1783 1784 1785 <div class="swiper-slide card"> 1786 1787 1788 1789 1790 <div class="products" data-lazy="false"> 1791 <div class="bg-products"> 1792 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 1793 <svg xmlns="./jitutoto-logo.png" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1794 <path d="M17.4688 0.8125C15.1237 0.8125 13.1025 1.92703 12 3.77328C10.8975 1.92703 8.87625 0.8125 6.53125 0.8125C4.8494 0.814526 3.23702 1.48353 2.04778 2.67278C0.858534 3.86202 0.189526 5.47441 0.1875 7.15625C0.1875 10.2833 2.15625 13.5514 6.02813 16.8677C7.81594 18.3889 9.74622 19.7342 11.7922 20.885C11.856 20.9195 11.9274 20.9375 12 20.9375C12.0726 20.9375 12.144 20.9195 12.2078 20.885C14.2538 19.7342 16.1841 18.3889 17.9719 16.8677C21.8438 13.5514 23.8125 10.2833 23.8125 7.15625C23.8105 5.47441 23.1415 3.86202 21.9522 2.67278C20.763 1.48353 19.1506 0.814526 17.4688 0.8125ZM12 19.9991C10.4688 19.1241 1.0625 13.5077 1.0625 7.15625C1.06424 5.70638 1.64096 4.31639 2.66618 3.29118C3.69139 2.26596 5.08138 1.68924 6.53125 1.6875C8.84016 1.6875 10.7805 2.92453 11.5953 4.91516C11.6283 4.9954 11.6843 5.06403 11.7564 5.
179411233C11.8285 5.16063 11.9133 5.18642 12 5.18642C12.0867 5.18642 12.1715 5.16063 12.2436 5.11233C12.3157 5.06403 12.3717 4.9954 12.4047 4.91516C13.2195 2.92453 15.1598 1.6875 17.4688 1.6875C18.9186 1.68924 20.3086 2.26596 21.3338 3.29118C22.359 4.31639 22.9358 5.70638 22.9375 7.15625C22.9375 13.5 13.5312 19.1284 12 19.9991Z" fill="#ffffff"/> 1795 </svg> 1796 1797 </div> 1798 <a href="https://dignitysa.org/products/grad-gorgeous-bouquet"> 1799 1800 <div class="product-card-img-container p-0 position-relative"> 1801 1802 <img class="product-card-img" lazy="false" src="https://outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" alt="Grad & Gorgeous Bouquet" height="200" width="200"> 1803 </div> 1804 <div class="card-body product-card-info"> 1805 <h5 class="h5 mb-0"> 1806 Grad & Gorgeous Bouquet 1807 </h5> 1808 <div class="product-card-price"> 1809 1810 <div class="product-price-sale"> 1811 <s class="product-card-price-before card-money">Rp 380.000</s> 1812 <span class="product-card-discount small"> 1813 (-25%) 1814 </span> 1815 </div> 1816 1817 1818 1819 <div class="price-discount"> 1820 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1821 </div> 1822 1823 1824 1825 1826 1827 </div> 1828 1829 </div> 1830 </a> 1831 </div> 1832 1833 </div> 1834 1835 </div> 1836 1837 1838 </div> 1839 </div> 1840 1841 </div> 1842 </div> 1843 </div> 1844 1845 <div class="site-overlay" style="display: none"></div> 1846 </div> 1847
1847<script> 1848 1849 var swiper = new Swiper('.popup-recommend', { 1850 slidesPerView : 4, 1851 spaceBetween: 30, 1852 lazy: true , 1853 speed: 300, 1854 breakpoints: { 1855 // when window width is <= 576px 1856 576: { 1857 slidesPerView: 2, 1858 spaceBetween: 10, 1859 freeMode: true, 1860 resistance : true, 1861 resistanceRatio : 0, 1862 freeModeMomentumRatio : 0.45, 1863 freeModeMomentumVelocityRatio : 1.5 1864 }, 1865 768: { 1866 slidesPerView: 2, 1867 spaceBetween: 10 1868 }, 1869 992: { 1870 slidesPerView: 3, 1871 spaceBetween: 20 1872 } 1873 } 1874 }); 1875 1876 const searchContainer = $("#search-popup") 1877 const searchInput = $(".search-popup") 1878 const result_collection = $('.result_collection') 1879 const result_product = $('.result_product') 1880 const resultsearch = $('.resultsearch') 1881 const resultrecommend = $(".group-recommend") 1882 const moreresult = $(".moreresult") 1883 1884 searchInput.keyup(function(){ 1885 const input = $(this).val() 1886 moreresult.find("p span").text(` â${input}â`) 1887 if(input.length > 2) { 1888 $(".close-search").show() 1889 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 1890 $.ajax({
1891 type: 'GET', 1892 url, 1893 beforeSend: function() { 1894 // setting a timeout 1895 // $(placeholder).addClass('loading'); 1896 }, 1897 success: function(response) { 1898 resultsearch.show() 1899 resultrecommend.hide() 1900 result_collection.html("") 1901 result_product.html("") 1902 const collections = response.resources.results.collections 1903 const products = response.resources.results.products 1904 let collection_length = collections.length 1905 let product_length = products.length 1906 // if(collections.length > 5) { 1907 // collection_length = 5 1908 // } 1909 // if(products.length > 5) { 1910 // product_length = 5 1911 // } 1912 for(let i=0;i<collection_length;i++){ 1913 const title = collections[i].title 1914 const url = collections[i].url 1915 let html_collection 1916 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 1917 html_collection = ` 1918 <li class="item" data-title="${title}"> 1919 <a href="https://dignitysa.org/${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 1920 </li> 1921 ` 1922 } 1923 result_collection.append(html_collection) 1924 } 1925 for(let i=0;i<product_length;i++){ 1926 const title = products[i].title 1927 const url = products[i].url 1928 const image = products[i].featured_image.url 1929 const vendor = products[i].vendor 1930 let html_product 1931 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 1932 html_product = ` 1933 <li class="item" data-vendor="${vendor}"> 1934 <a href="https://dignitysa.org/${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 1935 <img src="https://dignitysa.org/${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 1936 </a> 1937 </li> 1938 ` 1939 } 1940 result_product.append(html_product) 1941 } 1942 }, 1943 error: function(xhr) { // if error occured 1944 alert("Error occured.please try again"); 1945 }, 1946 complete: function(response) { 1947 // $(placeholder).removeClass('loading'); 1948 }, 1949 dataType: 'JSON' 1950 }); 1951 } else { 1952 result_collection.html("") 1953 result_product.html("") 1954 1955 resultsearch.hide() 1956 resultrecommend.show() 1957 } 1958 }) 1959 1960 moreresult.click(function(){ 1961 $("#search-btn").trigger("click"); 1962 }) 1963 1964 $(".close-search").click(function(){ 1965 $(this).hide() 1966 searchInput.val("") 1967 searchInput.focus() 1968 resultsearch.hide() 1969 resultrecommend.show() 1970 }) 1971 1972 function setCookie(name,value,days) { 1973 var expires = ""; 1974 if (days) { 1975 var date = new Date(); 1976 date.setTime(date.getTime() + (days*24*60*60*1000)); 1977 expires = "; expires=" + date.toUTCString(); 1978 } 1979 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 1980 } 1981 function getCookie(name) { 1982 var nameEQ = name + "="; 1983 var ca = document.cookie.split(';'); 1984 for(var i=0;i < ca.length;i++) { 1985 var c = ca[i]; 1986 while (c.charAt(0)==' ') c = c.substring(1,c.length); 1987 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 1988 } 1989 return null; 1990 } 1991 let last_search_name = [] 1992 let last_search_url = [] 1993 $(".group-recent").hide() 1994 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 1995 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 1996 $(".group-recent").show() 1997 last_search_name = getCookie("last_search_name"); 1998 last_search_url = getCookie("last_search_url"); 1999 const arrName = last_search_name.substring(1).split(',').reverse() 2000 const arrUrl = last_search_url.substring(1).split(',').reverse() 2001 console.log(arrName, 'Array Name') 2002 console.log(arrUrl, 'Array Url') 2003 let length = arrName.length 2004 if(arrName.length > 5) { 2005 length = 5 2006 } 2007 for(let n=0;n<length;n++){ 2008 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="./jitutoto-logo.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="https://dignitysa.org/${arrUrl[n]}">
2008${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 2009 $(".group-recent ul").append(html2) 2010 } 2011 } 2012 } 2013 console.log(last_search_name, 'Name') 2014 console.log(last_search_url, 'url') 2015 2016 resultsearch.delegate(".item a", "click", function(){ 2017 let name = [last_search_name] 2018 let url = [last_search_url] 2019 name.push($(this).attr('data-title')) 2020 url.push($(this).attr('data-url')) 2021 setCookie("last_search_name",name,7); 2022 setCookie("last_search_url",url,7); 2023 }) 2024 2025 $(".delete-all-history").click(function() { 2026 setCookie("last_search_name",null,0); 2027 setCookie("last_search_url",null,0); 2028 $(".last-search").hide(); 2029 setTimeout(function(){ 2030 location.reload(); 2031 }, 500); 2032 }) 2033 2034 $("#search-trigger").click(function(){ 2035 search_open() 2036 }) 2037 $(".icon-search-mobile").click(function(){ 2038 search_open() 2039 }) 2040 $(".search-header svg").click(function(){ 2041 search_close() 2042 }) 2043 $(".icon-key-mobile").click(function(){ 2044 search_close() 2045 }) 2046 2047 function search_open() { 2048 $("body").addClass("search-popup-open") 2049 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 2050 $("#search-popup, .search-header svg, .icon-key-mobile").show() 2051 $(".search-popup").focus() 2052 $('.popup-recommend')[0].swiper.update(); 2053 } 2054 function search_close() { 2055 $("body").removeClass("search-popup-open") 2056 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 2057 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 2058 searchInput.val("") 2059 resultsearch.hide() 2060 resultrecommend.show() 2061 } 2062 2063 $(".site-overlay").click(function(){ 2064 search_close() 2065 }) 2066 </script>
2066 2067 2068 </div> 2069 </div> 2070 2071 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 2072 <main class="main-content pt-0" role="main"> 2073 2074 <div id="breadcrumbProduct" class="d-none d-lg-block"> 2075 <style> 2076 #breadcrumbProduct { 2077 padding: 20px 0; 2078 } 2079 #breadcrumbProduct ul { 2080 display: flex; 2081 padding: 0; 2082 list-style: none; 2083 margin: 0; 2084 gap: 12px; 2085 } 2086 #breadcrumbProduct ul li { 2087 text-transform: uppercase; 2088 margin: 0; 2089 font-size: 12px; 2090 } 2091 #breadcrumbProduct ul li a { 2092 color: #757575; 2093 } 2094 2095 #breadcrumbProduct ul li svg { 2096 width: 10px; 2097 height: 10px; 2098 padding: 0; 2099 color: #757575; 2100 vertical-align: middle; 2101 } 2102 </style> 2103 <div class="container" style="color: #ffffff;"> 2104 <ul role="navigation" aria-label="breadcrumbs"> 2105 <li><a href="index.html" style="color: #ffffff;">jitutoto</a></li> 2106 <li><svg xmlns="./jitutoto-logo.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2107 <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/> 2108 </svg></li> 2109 <li>SLOT88</li> 2110 <li>SLOT88 GACOR</li> 2111 <li>SLOT 88</li> 2112 <li>JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.</li> 2113 2114 </ul> 2115 </div> 2116 2117 </div> 2118 2119
2119<script type="application/ld+json"> 2120 { 2121 "@context": "https://schema.org", 2122 "@type": "Product", 2123 "name": "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 2124 "image": "./jitutoto-banner.png", 2125 "description": "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ", 2126 "brand": { 2127 "@type": "Brand", 2128 "name": "jitutoto" 2129 }, 2130 "sku": "jitutoto", 2131 "mpn": "jitutoto", 2132 "url": "https://dignitysa.org/", 2133 "offers": { 2134 "@type": "Offer", 2135 "url": "https://dignitysa.org/", 2136 "priceCurrency": "USD", 2137 "price": "10.00", 2138 "priceValidUntil": "2025-12-25", 2139 "itemCondition": "https://schema.org/NewCondition", 2140 "availability": "https://schema.org/InStock", 2141 "seller": { 2142 "@type": "Organization", 2143 "name": "jitutoto" 2144 } 2145 }, 2146 "aggregateRating": { 2147 "@type": "AggregateRating", 2148 "ratingValue": "5.0", 2149 "reviewCount": 858 2150 }, 2151 "review": [ 2152 { 2153 "@type": "Review", 2154 "reviewRating": { 2155 "@type": "Rating", 2156 "ratingValue": "5", 2157 "bestRating": "5" 2158 }, 2159 "author": { 2160 "@type": "Person", 2161 "name": "Slamet Haryono" 2162 } 2163 }, 2164 { 2165 "@type": "Review", 2166 "reviewRating": { 2167 "@type": "Rating", 2168 "ratingValue": "5", 2169 "bestRating": "5" 2170 }, 2171 "author": { 2172 "@type": "Person", 2173 "name": "Dwi Kurniawan" 2174 } 2175 } 2176 ] 2177 } 2178 </script>
2178<script type="application/ld+json"> 2179 { 2180 "@context": "https://schema.org", 2181 "@type": "BreadcrumbList", 2182 "itemListElement": [ 2183 { 2184 "@type": "ListItem", 2185 "position": 1, 2186 "name": "jitutoto", 2187 "item": "https://dignitysa.org/" 2188 }, 2189 { 2190 "@type": "ListItem", 2191 "position": 2, 2192 "name": "SLOT88 GACOR", 2193 "item": "https://dignitysa.org/" 2194 }, 2195 { 2196 "@type": "ListItem", 2197 "position": 3, 2198 "name": "SLOT 88", 2199 "item": "https://dignitysa.org/" 2200 }, 2201 { 2202 "@type": "ListItem", 2203 "position": 4, 2204 "name": "SLOT88", 2205 "item": "https://dignitysa.org/" 2206 }, 2207 { 2208 "@type": "ListItem", 2209 "position": 5, 2210 "name": "SLOT 88", 2211 "item": "https://dignitysa.org/" 2212 }, 2213 { 2214 "@type": "ListItem", 2215 "position": 6, 2216 "name": "BANDAR HK", 2217 "item": "https://dignitysa.org/" 2218 }, 2219 { 2220 "@type": "ListItem", 2221 "position": 7, 2222 "name": "SLOT88 GACOR", 2223 "item": "https://dignitysa.org/" 2224 }, 2225 { 2226 "@type": "ListItem", 2227 "position": 8, 2228 "name": "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 2229 "item": "https://dignitysa.org/" 2230 } 2231 ] 2232 } 2233 </script>
2233 2234 2235 <!--faq--> 2236
2237<script type="application/ld+json" id="faq-schema"> 2238{ 2239 "@context": "https://schema.org", 2240 "@graph": [ 2241 { 2242 "@type": "FAQPage", 2243 "mainEntity": [ 2244 { 2245 "@type": "Question", 2246 "name": "Apa fungsi utama dari Situs Alternatif Resmi jitutoto dan bagaimana cara kerjanya?", 2247 "acceptedAnswer": { 2248 "@type": "Answer", 2249 "text": "Fungsi utama dari Situs Alternatif resmi kami adalah sebagai jalur gerbang penyelamat untuk mengatasi kendala pemblokiran tautan utama akibat regulasi internet positif. Cara kerjanya sangat aman; jalur alternatif ini menggunakan sistem pengalihan domain terenkripsi yang terhubung langsung ke server pusat jitutoto. Pengguna dapat melakukan login, bertransaksi, dan bermain dengan lancar tanpa perlu menggunakan aplikasi pihak ketiga atau VPN yang berisiko memperlambat koneksi internet Anda." 2250 } 2251 }, 2252 { 2253 "@type": "Question", 2254 "name": "Bagaimana sistem Slot88 Gacor di platform ini menjamin peluang kemenangan yang adil bagi pemain?", 2255 "acceptedAnswer": { 2256 "@type": "Answer", 2257 "text": "Ekosistem game Slot88 gacor di platform kami dikelola menggunakan mesin RNG (Random Number Generator) yang telah tersertifikasi oleh lembaga audit independen internasional. Sistem ini memastikan bahwa setiap putaran slot murni menghasilkan kombinasi acak tanpa intervensi manual. Didukung dengan pembaruan data persentase kemenangan yang transparan, pemain dapat menyusun strategi taruhan secara objektif untuk meraih potensi jackpot atau JP yang realistis." 2258 } 2259 }, 2260 { 2261 "@type": "Question", 2262 "name": "Mengapa layanan Bandar Togel Hongkong Lotto di situs ini dikategorikan sebagai kelas Top Tier?", 2263 "acceptedAnswer": { 2264 "@type": "Answer", 2265 "text": "Layanan kami menyandang predikat Top Tier karena kami menerapkan standarisasi akurasi data tingkat tinggi. Sebagai bandar togel makro, seluruh hasil pengundian angka pada pasaran togel Hongkong lotto disinkronisasikan secara langsung dengan data live draw pusat loto Hongkong secara real-time. Keabsahan data ini menutup rapat celah manipulasi angka, memberikan perlindungan mutlak bagi para pencinta analisis angka jitu." 2266 } 2267 }, 2268 { 2269 "@type": "Question", 2270 "name": "Apa jaminan konkret bahwa data pribadi dan dana transaksi saya aman dari kebocoran cyber?", 2271 "acceptedAnswer": { 2272 "@type": "Answer", 2273 "text": "Kami melindungi seluruh privasi pengguna menggunakan protokol keamanan finansial tercanggih, termasuk enkripsi SSL (Secure Sockets Layer) 256-bit. Sistem keamanan ini bertugas mengunci seluruh lalu lintas data pendaftaran, kata sandi, dan riwayat transaksi. Selain itu, database kami disimpan dalam server terisolasi yang diawasi penuh selama 24 jam, menjamin informasi sensitif Anda tidak akan pernah bocor ke pihak luar." 2274 } 2275 } 2276 ] 2277 }, 2278 2279 { 2280 "@type": "Product", 2281 "name": "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 2282 "image": "./jitutoto-banner.png", 2283 "description": "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ", 2284 "url": "https://dignitysa.org/", 2285 "aggregateRating": { 2286 "@type": "AggregateRating", 2287 "ratingValue": "5.0", 2288 "reviewCount": "7935" 2289 }, 2290 "review": [ 2291 { 2292 "@type": "Review", 2293 "author": { "@type": "Person", "name": "Budi Setiawan" }, 2294 "datePublished": "2025-12-08", 2295 "reviewBody": "Saya mendukung langkah Presiden Prabowo yang ingin memperkuat pengelolaan sumber daya alam Indonesia. Sudah saatnya keuntungan dari kekayaan bangsa lebih banyak dirasakan oleh masyarakat dalam negeri..", 2296 "name": "Slot88 Gacor" 2297 }, 2298 { 2299 "@type": "Review", 2300 "author": { "@type": "Person", "name": "Rian Hidayat" }, 2301 "datePublished": "2025-12-07", 2302 "reviewBody": "Kebijakan ekspor satu pintu menurut saya merupakan terobosan yang menarik. Jika dijalankan dengan baik, pengawasan terhadap hasil ekspor dapat menjadi lebih transparan dan efektif.", 2303 "name": "SLOT 88" 2304 }, 2305 { 2306 "@type": "Review", 2307 "author": { "@type": "Person", "name": "Hendra Wijaya" }, 2308 "datePublished": "2025-12-05", 2309 "reviewBody": "Fokus pemerintah terhadap hilirisasi sangat penting karena mampu menciptakan lap
2309angan kerja baru serta meningkatkan nilai tambah komoditas nasional.", 2310 "name": "Slot88" 2311 }, 2312 { 2313 "@type": "Review", 2314 "author": { "@type": "Person", "name": "Sutan kokop" }, 2315 "datePublished": "2025-12-01", 2316 "reviewBody": "Saya senang mendengar komitmen pemerintah untuk memperkuat koperasi dan UMKM. Sektor ini memang menjadi tulang punggung ekonomi rakyat yang perlu mendapat perhatian lebih besar.", 2317 "name": "SLOT88 GACOR" 2318 } 2319 ] 2320 } 2321 ] 2322} 2323</script>
2323 2324
2324<script type="application/ld+json"> 2325 { 2326 "@context": "https://schema.org", 2327 "@type": "Organization", 2328 "name": "jitutoto", 2329 "url": "https://dignitysa.org/", 2330 "logo": "./jitutoto-logo.png", 2331 "sameAs": [ 2332 "https://www.facebook.com/jitutoto", 2333 "https://twitter.com/jitutoto", 2334 "https://www.instagram.com/jitutoto" 2335 ], 2336 "contactPoint": { 2337 "@type": "ContactPoint", 2338 "telephone": "+62-821-4789-3993", 2339 "contactType": "customer support", 2340 "areaServed": "ID", 2341 "availableLanguage": ["Indonesian", "English"] 2342 } 2343 } 2344 </script>
2344 2345 2346
2346<script type="application/ld+json"> 2347 { 2348 "@context": "https://schema.org", 2349 "@type": "VideoObject", 2350 "name": "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 2351 "description": "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ", 2352 "thumbnailUrl": [ 2353 "./jitutoto-banner.png", 2354 "./jitutoto-banner.png" 2355 ], 2356 "uploadDate": "2025-09-28T04:19:10-04:00", 2357 "duration": "GJ298", 2358 "contentUrl": "https://dignitysa.org/" 2359 } 2360 </script>
2360 2361 2362
2362<script type="application/ld+json"> 2363 { 2364 "@context": "https://schema.org", 2365 "@type": "BreadcrumbList", 2366 "itemListElement": [ 2367 { 2368 "@type": "ListItem", 2369 "position": 1, 2370 "name": "Home", 2371 "item": "https://dignitysa.org/" 2372 } 2373 ] 2374 } 2375 </script>
2375 2376 2377
2377<script type="application/ld+json"> 2378 { 2379 "@context": "https://schema.org", 2380 "@graph": [ 2381 { 2382 "@type": "Organization", 2383 "@id": "https://dignitysa.org/#org", 2384 "name": "jitutoto", 2385 "url": "https://dignitysa.org/", 2386 "logo": "./jitutoto-banner.png" 2387 }, 2388 { 2389 "@type": "WebSite", 2390 "@id": "https://dignitysa.org/#website", 2391 "url": "https://dignitysa.org/", 2392 "name": "jitutoto", 2393 "publisher": { "@id": "https://dignitysa.org/#org" }, 2394 "inLanguage": "id-ID", 2395 "potentialAction": { 2396 "@type": "SearchAction", 2397 "target": "https://dignitysa.org/?s={search_term_string}", 2398 "query-input": "required name=search_term_string" 2399 } 2400 }, 2401 { 2402 "@type": "SoftwareApplication", 2403 "@id": "https://dignitysa.org/#app", 2404 "name": "jitutoto", 2405 "applicationCategory": "GameApplication", 2406 "operatingSystem": "Android, iOS, Windows", 2407 "offers": { "@type": "Offer", "price": "0", "priceCurrency": "IDR" }, 2408 "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.9, "ratingCount": 62595 } 2409 } 2410 ] 2411 } 2412 </script>
2412 2413 2414 <div id="shopify-section-Product" class="shopify-section product-section mt-0"><link href="https://asset-jko.b-cdn.net/footer-warna.css" rel="stylesheet" type="text/css" media="all" /> 2415 2416 2417 <style> 2418 .bg-card { 2419 background-color: #000000; 2420 } 2421 </style> 2422 2423 <!-- /templates/product.liquid --> 2424 2425 2426 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2427 2428 2429 <div class="product-standing-flower" data-product-type="flowerBoard"> 2430 <meta itemprop="url" content="https://dignitysa.org/"> 2431 <meta itemprop="image" content="./jitutoto-banner.png"> 2432 2433 2434 2435 <input id="data-sku" type="hidden" value="GOJSTRU2598"> 2436 <div class="product-single" style="background-image: url(https://ophiuchus.club/img/bacgroundjitutoto.png); background-attachment: fixed;"> 2437 <div id="product-top" class="container"> 2438 <div class="row bg-card product-sticky" style="background-color: rgba(0, 0, 0, 0.1);backdrop-filter: blur(25px); padding: 20px 25px;border-radius: 10px;"> 2439 <div id="product-image" class="col-lg-7 text-center"> 2440 <div class="product-image"> 2441 <div class="row no-gutters"> 2442 2443 <div id="product-featured-image" class="row w-100"> 2444 2445 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2446 2447 <div class="swiper-container gallery-thumbs" style="min-height: 500px"> 2448 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx"> 2449 2450 <li class="swiper-slide" data-type="image"> 2451 <a 2452 href="https://dignitysa.org/files/Blossom-Shine-WM.jpg" 2453 data-standard="./jitutoto-banner.png" 2454 data-image="files/Blossom-Shine-WM.jpg" 2455 data-position="1" 2456 class="product-single__thumbnail" 2457 > 2458 <img 2459 class="lazyload w-100" 2460 src="./jitutoto-banner.png" 2461 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2462 width="" 2463 height="" 2464 > 2465 </a> 2466 </li> 2467 2468 2469 2470 2471 <li class="swiper-slide" data-type="image"> 2472 <a 2473 href="./jitutoto-banner.png" 2474 data-standard="./jitutoto-banner.png" 2475 data-image="./jitutoto-banner.png" 2476 data-position="2" 2477 class="product-single__thumbnail" 2478 > 2479 <img 2480 class="lazyload w-100" 2481 src="./jitutoto-banner.png" 2482 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2483 width="" 2484 height="" 2485 > 2486 </a> 2487 </li> 2488 2489 2490 2491 2492 <li class="swiper-slide" data-type="image"> 2493 <a 2494 href="https://dignitysa.org/files/Blossom-Shine_3-WM.jpg" 2495 data-standard="./jitutoto-banner.png" 2496 data-image="files/Blossom-Shine_3-WM.jpg" 2497 data-position="3" 2498 class="product-single__thumbnail" 2499 > 2500 <img 2501 class="lazyload w-100" 2502 src="./jitutoto-banner.png" 2503 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2504 width="" 2505 height="" 2506 > 2507 </a> 2508 </li> 2509 2510 2511 2512 2513 <li class="swiper-slide" data-type="image"> 2514 <a 2515 href="https://dignitysa.org/files/Blossom-Shine_4.jpg" 2516 data-standard="./jitutoto-banner.png"
2517 data-image="files/Blossom-Shine_4.jpg" 2518 data-position="4" 2519 class="product-single__thumbnail" 2520 > 2521 <img 2522 class="lazyload w-100" 2523 src="./jitutoto-banner.png" 2524 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2525 width="" 2526 height="" 2527 > 2528 </a> 2529 </li> 2530 2531 2532 2533 </ul> 2534 </div> 2535 2536 </div> 2537 2538 <div 2539 id="featured-image-product" 2540 class="col-lg-10 col-12 d-none d-lg-block" 2541 > 2542 <div class="swiper-container gallery-top"> 2543 <div class="swiper-slide product-single__image"> 2544 2545 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2546 2547 2548 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2549 <a href="./jitutoto-banner.png"> 2550 <img 2551 src="./jitutoto-banner.png" 2552 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2553 id="ProductPhotoImg" 2554 class="lazyload" 2555 > 2556 2557 </a> 2558 </div> 2559 </div> 2560 2561 </div> 2562 <div class="swiper-slide product-single__video" style="display: none"> 2563 <video 2564 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2565 playsinline 2566 loop 2567 muted 2568 ></video> 2569 </div> 2570 </div> 2571 </div> 2572 </div> 2573 2574 <div id="featured-image-product2" class="col-12 d-lg-none"> 2575 <div class="swiper-container gallery-mobile"> 2576 <ul class="swiper-wrapper"> 2577 <li class="swiper-slide img"> 2578 2579 <img 2580 class="swiper-lazy" 2581 src="./jitutoto-banner.png" 2582 data-src="./jitutoto-banner.png" 2583 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2584 width="" 2585 height="" 2586 > 2587 2588 </li> 2589 2590 2591 <li class="swiper-slide img"> 2592 2593 <img 2594 class="swiper-lazy" 2595 src="./jitutoto-banner.png" 2596 data-src="./jitutoto-banner.png" 2597 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2598 width="" 2599 height="" 2600 > 2601 2602 </li> 2603 2604 2605 <li class="swiper-slide img"> 2606 2607 <img 2608 class="swiper-lazy" 2609 src="./jitutoto-banner.png" 2610 data-src="./jitutoto-banner.png" 2611 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2612 width="" 2613 height="" 2614 > 2615 2616 </li> 2617 2618 2619 <li class="swiper-slide img"> 2620 2621 <img 2622 class="swiper-lazy" 2623 src="./jitutoto-banner.png" 2624 data-src="./jitutoto-banner.png" 2625 alt="JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo." 2626 width="" 2627 height="" 2628 > 2629 2630 </li> 2631 2632 2633 </ul> 2634 2635 <div class="swiper-button-prev"><svg class="icon icon-chevron-left" xmlns="./jitutoto-logo.png" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /> <path d="M6.35355339,10.6464466 C6.54881554,10.8417088 6.54881554,11.1582912 6.35355339,11.3535534 C6.15829124,11.5488155 5.84170876,11.5488155 5.64644661,11.3535534 L0.646446609,6.35355339 C0.451184464,6.15829124 0.451184464,5.84170876 0.646446609,5.64644661 L5.64644661,0.646446609 C5.84170876,0.451184464 6.15829124,0.451184464 6.35355339,0.646446609 C6.54881554,0.841708755 6.54881554,1.15829124 6.35355339,1.35355339 L1.70710678,6 L6.35355339,10.6464466 Z"/> </svg></div> 2636 <div class="swiper-button-next">
2636<svg xmlns="./jitutoto-logo.png" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2637 <path d="M1.51673 0.0583496L6.2334 4.77502L1.51673 9.49168L0.933398 8.90002L5.0584 4.77502L0.933398 0.650016L1.51673 0.0583496Z" fill="#757575"/> 2638 </svg></div> 2639 2640 <!-- Add Pagination --> 2641 <div class="swiper-pagination"></div> 2642 2643 </div> 2644 </div> 2645 2646 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2647 <!-- product video --> 2648 <style> 2649 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2650 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2651 .video-modal{display:none;position:fixed;background: rgba(0,0,0,.5); width:100%; height:100%; overflow:auto; z-index:1; top:0;left:0;} 2652 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2653 .close-video .icon{width:30px;height:30px;} 2654 /*responsive iframe */ 2655 .video-container {position: relative;padding-bottom: 48.25%;padding-top: 35px;height: 0;box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3);} 2656 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2657 2658 .youtube { 2659 background-color: #000; 2660 margin-bottom: 30px; 2661 position: relative; 2662 padding-top: 56.25%; 2663 overflow: hidden; 2664 cursor: pointer; 2665 width: 100%; 2666 } 2667 .swiper-slide .youtube { 2668 max-width: 480px; 2669 } 2670 .youtube img { 2671 width: 100%; 2672 top: -16.82%; 2673 left: 0; 2674 opacity: 0.7; 2675 } 2676 .youtube .play-button { 2677 width: 90px; 2678 height: 60px; 2679 background-color: #333; 2680 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 2681 z-index: 1; 2682 opacity: 0.8; 2683 border-radius: 6px; 2684 } 2685 .youtube .play-button:before { 2686 content: ""; 2687 border-style: solid; 2688 border-width: 15px 0 15px 26.0px; 2689 border-color: transparent transparent transparent #fff; 2690 } 2691 .youtube img, 2692 .youtube .play-button { 2693 cursor: pointer; 2694 } 2695 .youtube img, 2696 .youtube iframe, 2697 .youtube .play-button, 2698 .youtube .play-button:before { 2699 position: absolute; 2700 } 2701 .youtube .play-button, 2702 .youtube .play-button:before { 2703 top: 50%; 2704 left: 50%; 2705 transform: translate3d( -50%, -50%, 0 ); 2706 } 2707 .youtube iframe { 2708 height: 100%; 2709 width: 100%; 2710 top: 0; 2711 left: 0; 2712 } 2713 </style> 2714 2715 2716 </div> 2717 </div> 2718 2719 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 2720 2721 </div> 2722 2723
2723<script> 2724 if ($(window).width() < 991) { 2725 var direction = 'horizontal' 2726 } else { 2727 var direction = 'vertical' 2728 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 2729 } 2730 var swiper = new Swiper('.gallery-thumbs', { 2731 2732 direction, 2733 slidesPerView: 4.5, 2734 spaceBetween: 12, 2735 navigation: { 2736 nextEl: '.swiper-button-next', 2737 prevEl: '.swiper-button-prev', 2738 } 2739 }); 2740 2741 var swiper = new Swiper('.gallery-mobile', { 2742 //loop: true, 2743 lazy: true, 2744 speed: 300, 2745 resistance : true, 2746 resistanceRatio : 0, 2747 freeModeMomentumRatio : 0.45, 2748 freeModeMomentumVelocityRatio : 1.5, 2749 navigation: { 2750 nextEl: '.swiper-button-next', 2751 prevEl: '.swiper-button-prev', 2752 }, 2753 pagination: { 2754 el: '.swiper-pagination' 2755 }, 2756 useCSS3Transforms: false, 2757 loop: false, 2758 on: { 2759 init: function () { 2760 console.log('swiper initialized'); 2761 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 2762 currentVideo.trigger('play'); 2763 }, 2764 }, 2765 }); 2766 2767 /* GET ALL VIDEOS */ 2768 var sliderVideos = $(".swiper-slide video"); 2769 2770 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 2771 swiper.on('slideChange', function () { 2772 console.log('slide changed'); 2773 /* stop all videos */ 2774 sliderVideos.each(function( index ) { 2775 this.currentTime = 0; 2776 }); 2777 2778 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 2779 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 2780 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 2781 prevVideo.trigger('stop'); 2782 currentVideo.trigger('play'); 2783 }); 2784 2785 2786 $("[data-video]").click(function(){ 2787 const file = $(this).data("video") 2788 $(".product-single__video").show() 2789 $(".product-single__image").hide() 2790 $(".product-single__video").find("video").attr("src", file) 2791 $(".product-single__video").find("video")[0].play(); 2792 }) 2793 $("[data-image]").click(function(){ 2794 $(".product-single__video").hide() 2795 $(".product-single__image").show() 2796 $(".product-single__video").find("video")[0].pause(); 2797 }) 2798 2799 $("#product-image .swiper-slide").each(function(){ 2800 let width = $(this).width() 2801 $(this).height(width) 2802 }) 2803 2804 $(window).resize(function() { 2805 $("#product-image .swiper-slide").each(function(){ 2806 let width = $(this).width() 2807 $(this).height(width) 2808 }) 2809 }) 2810 </script>
2810 2811 2812 </div> 2813 2814 2815 2816 2817 2818 2819 2820 2821 <style> 2822 .c-pdp-product-info__service--active { 2823 font-size: 12px; 2824 padding-left: 10px; 2825 text-align: left; 2826 max-width: 550px; 2827 margin: auto; 2828 } 2829 .c-pdp-product-info__service--active li { 2830 list-style: disc; 2831 } 2832 .c-pdp-product-info { 2833 background-color: #f5f5f5; 2834 padding: 12px; 2835 margin: 0; 2836 } 2837 .freeship em { 2838 font-style: italic; 2839 font-size: 12px !important; 2840 } 2841 2842 2843 </style> 2844 2845
2845<script> 2846 $(document).ready(function(){ 2847 if ( $(".c-pdp-product-info__service li").length == 1 ) { 2848 $(".c-pdp-product-info__service").addClass("no-bullet"); 2849 $(".c-pdp-product-info__service li").addClass("no-bullets"); 2850 } 2851 }); 2852 </script>
2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 </div> 2866 <div id="product-meta" class="col-lg-5 p-0"> 2867 <div class="product-meta"> 2868 <style> 2869 .product-meta--review {margin-top:10px} 2870 .freeship * {font-size: 14px !important;font-style: normal;} 2871 </style> 2872 <h1 itemprop="name" class="mb-2" style="color: rgb(255, 238, 0); font-weight: bold;">JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.</h1> 2873 2874 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 2875 <meta itemprop="priceCurrency" content="IDR"> 2876 2877 <link itemprop="availability" href="https://schema.org/InStock"> 2878
2878<script 2879 type="text/javascript" 2880 src="https://platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 2881 async="async" 2882 ></script>
2882 2883 2884 2885 2886 2887 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 2888 2889 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 2890 2891 <div class="row no-gutters mb-3"> 2892 <span 2893 id="ProductPrice" 2894 class="h2 ProductPrice" 2895 itemprop="price" 2896 content="835000" style="color: #ffffff;" 2897 > 2898 Rp 10.000 2899 </span> 2900 <div class="discount-product-detail"> 2901 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 2902 Rp 100.000 2903 </p> 2904 <span class=" tag-discount"> 2905 2906 2907 <span id="newDiscount" class="product-tag persentase-discount hide"> 2908 (90%) 2909 </span><br> 2910 2911 </span> 2912 </div> 2913 </div> 2914 2915 <div class="row no-gutters meta-sds"> 2916 <div class="col-12 mb-2 mb-lg-0 stock-info"> 2917 2918 2919 <span 2920 id="ProductStock-Product" 2921 class="product-single__stock mb-2 hide" 2922 > 2923 2924 2925 2926 2927 Barang dikirim pada 2928 2929 2930 2931 </span> 2932 2933 <style> 2934 .short-desc-desktop { 2935 margin-bottom: 2rem; 2936 color: white; 2937 } 2938 .short-desc ul li:nth-child(n + 4) { 2939 display: none; 2940 } 2941 .short-desc ul li.showList:nth-child(n + 4) { 2942 display: list-item; 2943 } 2944 label.more { 2945 display: none; 2946 } 2947 label.more.showMe { 2948 display: block; 2949 font-size: 12px; 2950 text-transform: uppercase; 2951 font-weight: 700; 2952 cursor: pointer; 2953 } 2954 </style> 2955 2956 <div class="short-desc-desktop d-none d-lg-block"> 2957 <div class="short-desc"> 2958 2959 <p style="text-align: justify;">JITUTOTO , merupakan situs slot online dan merupakan Bandar TOTO4d yang paling viral dan paling banyak di cari Tahun 2026, Mempunyai Game Slot paling lengkap dan Keamanan Ternbaik, menang berapapun di bayar LUNAS.</p> 2960 </div> 2961 <label class="more">Show More â</label> 2962 </div><br> 2963 2964 2965
2965<script> 2966 var liCount; 2967 $(document).ready(function () { 2968 $(".short-desc ul").each(function() { 2969 liCount = $(this).children("li").length; 2970 if (liCount > 3) { 2971 $(this).parent(".short-desc").next(".more").addClass("showMe"); 2972 } 2973 }); 2974 2975 $(".more").click(function () { 2976 //$(".short-desc").find("li").addClass("showList"); 2977 // $(this).hide(); 2978 $("#product-desc").find("ul").show() 2979 $('html, body').animate({ 2980 scrollTop: $("#product-desc").offset().top - 250 2981 }, 2000); 2982 $("#product-desc").css("height","auto"); 2983 $("#more_content").remove(); 2984 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 2985 }); 2986 }); 2987 </script>
2987 2988 2989 2990 </div> 2991 </div> 2992 2993 <div id="purchaseProduct"> 2994 2995 2996 2997 2998 <style> 2999 .variant-metafield { 3000 display: block!important; 3001 width: 1px; 3002 padding: 0; 3003 border-color: #fff; 3004 } 3005 .select2-results__option[aria-disabled] { 3006 display: none; 3007 } 3008 3009 .towel-bordir { 3010 width: 100%; 3011 display: flex; 3012 align-items: center; 3013 justify-content: space-around; 3014 } 3015 </style> 3016 3017 3018 3019 3020
3020<script> 3021 3022 3023 </script>
3023 3024 3025 3026 3027 3028 3029 3030 <select 3031 name="id[]" 3032 id="productSelect" 3033 class="product-single__variants ignore hide hide" 3034 > 3035 3036 3037 3038 <option 3039 3040 selected="selected" 3041 3042 data-sku="GOJSTRU2598" 3043 value="44083045826775" 3044 > 3045 Default Title 3046 </option> 3047 3048 3049 3050 </select> 3051 3052
3052<script src="https://outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
3052 3053 3054
3054<script> 3055 $('.size-chart-open-popup').magnificPopup({ 3056 type:'inline', 3057 midClick: true 3058 }); 3059 </script>
3059 3060 3061 3062 3063 3064 <div class="upload-image-preview"> 3065 3066 3067 3068 3069 3070 <style> 3071 .file-dnd * { 3072 margin: 0; 3073 padding: 0; 3074 box-sizing: border-box; 3075 } 3076 .file-dnd { 3077 width: 100%; 3078 height: 250px; 3079 border: 1px solid #ddd; 3080 border-radius: 10px; 3081 padding: 15px; 3082 display: flex; 3083 flex-direction: column; 3084 gap: 10px; 3085 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 3086 margin: auto; 3087 } 3088 .file-dnd input { 3089 display: none; 3090 } 3091 .file-dnd .before-upload { 3092 border: 1px dashed #888; 3093 flex: 1; 3094 border-radius: 5px; 3095 display: flex; 3096 justify-content: center; 3097 align-items: center; 3098 text-align: center; 3099 cursor: pointer; 3100 } 3101 .file-dnd .before-upload > div { 3102 display: flex; 3103 flex-direction: column; 3104 align-items: center; 3105 gap: 8px; 3106 } 3107 .file-dnd .before-upload > div h4 { 3108 width: 150px; 3109 } 3110 .file-dnd .before-upload > div p { 3111 font-size: 12px !important; 3112 color: #555; 3113 } 3114 .file-dnd.active .before-upload { 3115 border: 1px solid #5750d9; 3116 background-color: #f5f5ff; 3117 } 3118 .file-dnd .after-upload { 3119 position: relative; 3120 display: none; 3121 } 3122 .file-dnd .after-upload img { 3123 width: 100%; 3124 border-radius: 5px; 3125 max-height: 180px; 3126 object-fit: contain; 3127 display: block; 3128 } 3129 .file-dnd .after-upload .clear-btn { 3130 position: absolute; 3131 top: 10px; 3132 right: 10px; 3133 background: rgba(0, 0, 0, 0.5); 3134 width: 15px; 3135 height: 15px; 3136 text-align: center; 3137 line-height: 15px; 3138 border-radius: 50%; 3139 color: #fff; 3140 cursor: pointer; 3141 font-size: 14px; 3142 } 3143 </style> 3144 3145 <div 3146 class="file-dnd mb-3" 3147 3148 style="display: none" 3149 3150 > 3151 <label for="upload-photo">Upload your Photo:</label> 3152 <input type="file" id="upload-photo" accept="image/*"> 3153 <input type="hidden" data-properties="Photo"> 3154 <div class="before-upload"> 3155 <div> 3156 <svg id="surface1" xmlns="./jitutoto-logo.png" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 3157 <path id="Path_2149" data-name="Path 2149" d="M22.982.322A1.009,1.009,0,0,0,22.257,0H5.982A5.505,5.505,0,0,0,.5,5.472V36.247a5.505,5.505,0,0,0,5.482,5.472H28.071a5.505,5.505,0,0,0,5.482-5.472V11.81a1.085,1.085,0,0,0-.292-.705Zm.292,3.235,6.883,7.225H25.683a2.4,2.4,0,0,1-2.409-2.4Zm4.8,36.147H5.982a3.49,3.49,0,0,1-3.467-3.457V5.472A3.49,3.49,0,0,1,5.982,2.015H21.259V8.384A4.409,4.409,0,0,0,25.683,12.8h5.855V36.247A3.484,3.484,0,0,1,28.071,39.7Zm0,0" transform="translate(-0.5)" fill="#ababab"></path> 3158 <path id="Path_2150" data-name="Path 2150" d="M106.767,401.934H90.18a1.008,1.008,0,1,0,0,2.015h16.6a1.008,1.008,0,1,0-.01-2.015Zm0,0" transform="translate(-81.947 -369.183)" fill="#ababab"></path> 3159 <path id="Path_2151" data-name="Path 2151" d="M120.143,178.328l4.152-4.464v11a1.008,1.008,0,0,0,2.015,0v-11l4.152,4.464a1.005,1.005,0,0,0,1.471-1.371l-5.905-6.339a1,1,0,0,0-1.471,0l-5.905,6.339a1,1,0,0,0,.05,1.421A1.028,1.028,0,0,0,120.143,178.328Zm0,0" transform="translate(-108.776 -156.421)" fill="#ababab"></path> 3160 </svg> 3161 3162 <h4>Drag & Drop Photo file or Browse</h4> 3163 <p>Supports: JPEG, PNG, GIF, TIFF</p> 3164 </div> 3165 </div> 3166 <div class="after-upload"> 3167 <div class="clear-btn">×</div> 3168 <img src="index.html" width="" height=""> 3169 </div> 3170 </div> 3171
3171<script> 3172 function applyDndFile(el) { 3173 const parent = document.querySelector(".file-dnd") 3174 const beforeUploadEl = el.querySelector(".before-upload") 3175 const afterUploadEl = el.querySelector(".after-upload") 3176 const inputFile = el.querySelector("input[type=file]") 3177 const imagePreview = el.querySelector(".after-upload img") 3178 const clearBtn = el.querySelector(".after-upload .clear-btn") 3179 const inputProps = parent.querySelector("[data-properties]"); 3180 3181 async function upload(name, uri, type) { 3182 try { 3183 const filename = name.split('.')[0] 3184 let formData = new FormData(); 3185 formData.append("file", uri); 3186 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3187 method: "POST", 3188 body: formData 3189 }) 3190 if(response) { 3191 const res = await response.json() 3192 return res 3193 } 3194 } catch(err){ 3195 console.log(err) 3196 } 3197 } 3198 3199 function showImagePreview(img) { 3200 if(img){ 3201 const blobUrl = URL.createObjectURL(img) 3202 imagePreview.src = blobUrl 3203 afterUploadEl.style.display = "block" 3204 beforeUploadEl.style.display = "none" 3205 } 3206 } 3207 3208 beforeUploadEl.addEventListener("click", (e) => { 3209 e.preventDefault() 3210 inputFile.click() 3211 }) 3212 3213 inputFile.addEventListener("change", async (e) => { 3214 e.preventDefault() 3215 showImagePreview(e.target.files[0]) 3216 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3217 inputProps.value = uploadData?.url 3218 }) 3219 3220 clearBtn.addEventListener("click", (e) => { 3221 afterUploadEl.style.display = "none" 3222 beforeUploadEl.style.display = "flex" 3223 inputProps.value = "" 3224 }) 3225 3226 beforeUploadEl.addEventListener("dragover", (e) => { 3227 e.preventDefault() 3228 el.classList.add("active") 3229 }) 3230 3231 beforeUploadEl.addEventListener("dragleave", (e) => { 3232 e.preventDefault() 3233 el.classList.remove("active") 3234 }) 3235 3236 beforeUploadEl.addEventListener("drop", async (e) => { 3237 e.preventDefault() 3238 el.classList.remove("active") 3239 showImagePreview(e.dataTransfer.files[0]) 3240 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3241 console.log(uploadData) 3242 inputProps.value = uploadData?.url 3243 }) 3244 } 3245 3246 applyDndFile(document.querySelector(".file-dnd")) 3247 3248 $(document).ready(function(){ 3249 $(".variant-swatch").change(function(){ 3250 const v = $(this).val().toLowerCase() 3251 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3252 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3253 $(".file-dnd").hide() 3254 $(".file-dnd").find("[data-properties]").val("") 3255 $(".after-upload").hide() 3256 $(".before-upload").css("display", "flex") 3257 }) 3258 }) 3259 </script>
3259 3260 3261 </div> 3262 3263 3264 <div class="delivery-city mb-4"> 3265 <a href="https://amp.dignitysa.org/"> 3266 <center><img src="./jitutoto-logo.png" alt="logo-daftar" style="width: 260px; margin-top: -20px; border-radius: 22px;"></center></a><br> 3267 <h4 class="fw-600 text-uppercase mb-15" style="text-align: center; color: rgb(236, 236, 67);">JITUTOTO Menyediakan Link Resmi yang Teraffiliasi Slot 88 dan Merupakan Bandar TOGEL MACAU 4D.</h4> 3268 <div class="row justify-content-between m-0"> 3269 <select id="cities" class="form-control select-search" required> 3270 <option value="">Akses Situs Alternatif Slot88 dan Nikmati Sistem Navigasi Responsif serta Transparansi Angka Togel HK Lotto Yang Akurat di jitutoto</option> 3271 </select> 3272 </div> 3273 </div> 3274 3275 <style> 3276 @media (max-width: 768px) { 3277 .select2-search__field { 3278 pointer-events: none !important; 3279 } 3280 3281 .select2-search { 3282 display: none !important; 3283 } 3284 } 3285 </style> 3286 3287
3287<script> 3288 $(document).ready(function() { 3289 // Check if mobile 3290 if (window.innerWidth <= 768) { 3291 // When cities select2 opens on mobile, remove focus from search 3292 $('#cities').on('select2:open', function() { 3293 setTimeout(function() { 3294 $('.select2-search__field').blur(); 3295 $('.select2-search__field').prop('readonly', true); 3296 }, 100); 3297 }); 3298 } 3299 }); 3300 </script>
3300 3301 3302 <style> 3303 .icon-img-footer { 3304 width: 80px; 3305 padding: 0px 5px; 3306 } 3307 @media (min-width: 768px) { 3308 .icon-img-footer { 3309 width: 120px; 3310 } 3311 } 3312 @media (min-width: 992px) { 3313 .icon-img-footer { 3314 width: 120px; 3315 } 3316 } 3317 3318 3319 </style> 3320 <div id="row-delivery-date" class="row m-0 mb-3"> 3321 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="text-align: center; color: rgb(236, 236, 67);">Every Day Is JP Day - wukong</h4> 3322 <div id="deliveryDate" class="m-0"></div> 3323 <div id="deliveryDateFull"> 3324 <div class=""> 3325 <input 3326 type="text" 3327 id="full-date" 3328 class="date-full calendarbutton btn steps-btn btn-date-time mb-0" 3329 value="Full Calendar" 3330 > 3331 <label for="full-date"><svg version="1.1" xmlns="./jitutoto-logo.png" width="32" height="32" viewBox="0 0 32 32"> 3332 <title>icon-arrow-right</title> 3333 <path d="M25.057 15.333l-6.862-6.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8 8c0.26 0.26 0.26 0.682 0 0.943l-8 8c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l6.862-6.862h-19.724c-0.368 0-0.667-0.298-0.667-0.667s0.298-0.667 0.667-0.667h19.724z"></path> 3334 </svg></label> 3335 </div> 3336 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 3337 </div> 3338 <div class="form-group p-0"> 3339 <input type="text" id="propDeliveryDate" required class="hide"> 3340 </div> 3341 </div> 3342 3343 3344 <div id="row-delivery-time" class="row m-0 mb-3"> 3345 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 3346 SLOT88 3347 </h4> 3348 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 3349 <div class="form-group p-0"> 3350 <input type="text" id="propDeliveryTime" class="hide" required> 3351 </div> 3352 </div> 3353 3354 3355 3356 3357 3358 <div id="personalizeBtn"> 3359 3360 3361 3362 3363 <button 3364 class="btn text-uppercase w-100 fw-400" 3365 3366 3367 3368 > 3369 3370 customize your flower board 3371 3372 </button> 3373 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 3374 <div class="button-share text-center"> 3375 <p id="shareButton" class="d-flex gap-2"><span>Share</span><svg xmlns="./jitutoto-logo.png" width="15" height="13" viewBox="0 0 15 13" fill="none"> 3376 <path d="M13.825 5.85006L10 2.02506V4.07506L9.28333 4.18339C5.69167 4.69172 3.25833 6.57506 1.86667 9.45839C3.8 8.09172 6.2 7.43339 9.16667 7.43339H10V9.67506M8.33333 8.28339C4.60833 8.45839 1.94167 9.80006 0 12.5167C0.833333 8.35006 3.33333 4.18339 9.16667 3.35006V0.0167236L15 5.85006L9.16667 11.6834V8.26672C8.89167 8.26672 8.61667 8.27506 8.33333 8.28339Z" fill="#ffffff"/> 3377 </svg> 3378 </p> 3379 </div> 3380 <div class="button-wishlist text-center"> 3381 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="./jitutoto-logo.png" width="16" height="15" viewBox="0 0 16 15" fill="none"> 3382 <path d="M2.03341 7.70827C1.70392 7.38096 1.44286 6.99135 1.26546 6.56213C1.08805 6.13292 0.997838 5.67269 1.00008 5.20827C1.00008 4.26896 1.37322 3.36812 2.03741 2.70393C2.7016 2.03974 3.60244 1.6666 4.54175 1.6666C5.85841 1.6666 7.00841 2.38327 7.61675 3.44993H8.55008C8.85934 2.90748 9.30684 2.45667 9.84699 2.14341C10.3871 1.83015 11.0007 1.66563 11.6251 1.6666C12.5644 1.6666 13.4652 2.03974 14.1294 2.70393C14.7936 3.36812 15.1667 4.26896 15.1667 5.20827C15.1667 6.18327 14.7501 7.08327 14.1334 7.70827L8.08341 13.7499L2.03341 7.70827ZM14.7167 8.29993C15.5084 7.49993 16.0001 6.4166 16.0001 5.20827C16.0001 4.04795 15.5391 2.93515 14.7187 2.11467C13.8982 1.2942 12.7854 0.833267 11.6251 0.833267C10.1667 0.833267 8.87508 1.5416 8.08341 2.6416C7.67933 2.08035 7.14725 1.62353 6.53131 1.30904C5.91537 0.994549 5.23333 0.831448 4.54175 0.833267C3.38143 0.833267 2.26863 1.2942 1.44816 2.11467C0.627684 2.93515 0.166748 4.04795 0.166748 5.20827C0.166748 6.4166 0.658415 7.49993 1.45008 8.29993L8.08341 14.9333L14.7167 8.29993Z" fill="#ffffff"/> 3383 </svg> 3384 <!-- 3385 <svg xmlns="./jitutoto-logo.png" width="34" height="30" viewBox="0 0 34 30" fill="none"> 3386 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
338618.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"/> 3387 </svg> 3388 --> 3389 </p> 3390 </div> 3391 </div> 3392 </div> 3393 </div> 3394 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3395 <div class="purchaseArea"> 3396 <div class="sectionPurchase sectionPurchaseSpotify"> 3397 <div class="wrapperPurchase"> 3398 <div class="headerPurchase"> 3399 <h3>personalize spotify photo print</h3> 3400 <a class="close-purchase-popup"> 3401 <svg xmlns="./jitutoto-logo.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3402 <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"></path> 3403 </svg> 3404 </a> 3405 </div> 3406 <div class="contentPurchase"> 3407 <div class="spotifyAddons"></div> 3408 </div> 3409 3410 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3411 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3412 <button class="back-purchase-button back-addon text-uppercase"> 3413 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="./jitutoto-logo.png"> 3414 <path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z" fill="black"></path> 3415 </svg> 3416 <span>Back</span> 3417 </button> 3418 </div> 3419 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3420 <button class="btn next-purchase-button next-addon text-uppercase"> 3421 <span>continue without add-ons</span> 3422 </button> 3423 </div> 3424 </div> 3425 </div> 3426 </div> 3427 </div> 3428 </div> 3429 3430 <style> 3431 #PBarNextFrameWrapper { 3432 display: none; 3433 } 3434 #backgroundPopup { 3435 display: none; 3436 position: fixed; 3437 _position: absolute; 3438 height: 100%; 3439 width: 100%; 3440 top: 0; 3441 left: 0; 3442 background: rgb(117 117 117 / 24%); 3443 z-index: 1; 3444 } 3445 .sectionPurchase { 3446 height: 100%; 3447 position: relative; 3448 max-width: 1344px; 3449 background-color: #fff; 3450 padding: 0; 3451 overflow: hidden; /* Changed from auto to hidden */ 3452 display: flex; 3453 flex-direction: column; 3454 } 3455 .sectionPurchase.purchaseAddonSpotify { 3456 max-width: 1070px!important; 3457 max-height: 765px!important; 3458 } 3459 .sectionPurchaseBoard { 3460 max-width: 872px!important; 3461 max-height: 821px!important; 3462 } 3463 .purchaseAddonSpotify .btn-action { 3464 position: absolute; 3465 bottom: 0; 3466 left: 0; 3467 width: 100%; 3468 display: flex; 3469 gap: 10px; 3470 } 3471 .wrapperPurchase { 3472 position: relative; 3473 height: 100%; 3474 display: flex; 3475 flex-direction: column; 3476 } 3477 3478 /* New styles for scrollable content and sticky button */ 3479 .purchase-content { 3480 flex: 1; 3481 overflow-y: auto; 3482 overflow-x: hidden; 3483 padding: 20px; 3484 } 3485 3486 .purchase-button-wrapper { 3487 position: sticky; 3488 bottom: 0; 3489 background-color: #fff; 3490 border-top: 1px solid #e0e0e0; 3491 padding: 15px 0; 3492 margin-top: auto; 3493 z-index: 10; 3494 } 3495 3496 .purchasePopup { 3497 display: none; 3498 position: fixed; 3499 background: rgb(117 117 117 / 24%); 3500 z-index: 999; 3501 padding: 40px; 3502 font-size: 13px; 3503 top: 0; 3504 left: 0; 3505 width: 100%; 3506 height: 100%; 3507 } 3508 .popupPurchaseClose{ 3509 font-size:14px; 3510 line-height:14px; 3511 right:45px; 3512 top:45px; 3513 position:absolute; 3514 color:#6fa5fd; 3515 font-weight:700; 3516 display:block; 3517 cursor: pointer; 3518 } 3519 3520 .headerPurchase { 3521 margin-bottom: 30px; 3522 display: flex; 3523 justify-content: space-between; 3524 } 3525 3526 .headerPurchase h3 { 3527 font-size: 16px; 3528 text-transform: uppercase; 3529 } 3530 3531 .sectionPurchaseBoard .headerPurchase { 3532 margin-bottom: 15px; 3533 } 3534 3535 .sectionPurchaseBoard .formAddressPurchase { 3536 padding-top: 0;
3537 } 3538 3539 .purchaseArea { 3540 position: relative; 3541 height: 100%; 3542 } 3543 3544 .purchaseArea h4 { 3545 width: 100%; 3546 font-size: 12px; 3547 font-weight: 600; 3548 margin-bottom: 10px; 3549 text-transform: uppercase; 3550 } 3551 3552 .menuPurchase { 3553 margin-bottom: 30px; 3554 } 3555 3556 .menuPurchase ul { 3557 list-style-type: none; 3558 margin: 0; 3559 } 3560 3561 .menuPurchase ul li { 3562 display: inline-block; 3563 border: 1px solid #ffffff; 3564 padding: 5px 20px; 3565 margin-right: 5px; 3566 margin-bottom: 10px; 3567 font-size: 12px; 3568 font-weight: 400; 3569 } 3570 3571 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3572 background-color: #ffffff; 3573 color: #ffffff; 3574 } 3575 3576 .contentPurchase h5 { 3577 font-size: 12px; 3578 margin-bottom: 10px; 3579 font-weight: 400; 3580 overflow: hidden; 3581 } 3582 3583 /* Card */ 3584 3585 #itemCards { 3586 max-height: 430px; 3587 overflow: auto; 3588 } 3589 3590 .item-cards { 3591 width: 100%; 3592 } 3593 .item-card.selected { 3594 border: 1px solid #ffffff; 3595 } 3596 .item-card:hover { 3597 border: 1px solid #C4C4C4; 3598 } 3599 .item-cards .item-card { 3600 position: relative; 3601 width: calc(33% - 10px); 3602 max-width: calc(33% - 10px); 3603 flex: 0 0 calc(33% - 10px); 3604 margin-bottom: 20px; 3605 } 3606 .item-cards .item-card label, 3607 .item-addons .item-addon label { 3608 position: absolute; 3609 left: 0; 3610 width: 100%; 3611 height: 100%; 3612 } 3613 .item-cards .item-card .card-image img, 3614 .item-addons .item-addon .card-image img { 3615 display: block; 3616 width: 100%; 3617 } 3618 .item-card .card-meta, 3619 .item-addon .card-meta { 3620 padding: 10px 5px 5px; 3621 } 3622 .item-card.selected .card-meta, 3623 .item-addon.selected .card-meta, 3624 .item-card.selected .card-qty { 3625 background-color: #ffffff; 3626 color: #fff; 3627 visibility: visible!important; 3628 } 3629 .item-card:hover .card-meta, 3630 .item-addon:hover .card-meta, 3631 .item-card:hover .card-qty { 3632 background-color: #C4C4C4; 3633 color: #fff; 3634 visibility: visible!important; 3635 } 3636 .item-cards .item-card p, 3637 .item-addons .item-addon p { 3638 font-size: 12px !important; 3639 margin: 0; 3640 font-weight: 600; 3641 } 3642 .item-card .card-meta input, 3643 .item-addon .card-meta input { 3644 display: none; 3645 } 3646 .item-cards .item-card h5, 3647 .item-addons .item-addon h5 { 3648 text-transform: uppercase; 3649 max-height: 35px; 3650 } 3651 3652 @media (max-width: 768px) { 3653 .item-cards .item-card { 3654 width: calc(50% - 10px); 3655 max-width: calc(50% - 10px); 3656 flex: 0 0 calc(50% - 10px); 3657 margin-bottom: 0; 3658 } 3659 } 3660 3661 .card-qty { 3662 display: flex; 3663 padding: 5px; 3664 visibility: hidden; 3665 background-color: #fff !important; 3666 z-index: 999; 3667 } 3668 .card-qty a { 3669 border-width: 1px; 3670 width: 30%; 3671 cursor: pointer; 3672 text-align: center; 3673 align-self: center; 3674 height: 28px; 3675 display: block; 3676 position: relative; 3677 } 3678 .card-qty a svg { 3679 position: absolute; 3680 top: 50%; 3681 left: 50%; 3682 transform: translate(-50%, -50%); 3683 text-align: center; 3684 } 3685 input.btn-qty { 3686 border-width: 0px; 3687 border-radius: 0; 3688 background-color: #fff; 3689 -webkit-appearance: none; 3690 box-shadow: none !important; 3691 -webkit-box-shadow: none !important; 3692 -moz-box-shadow: none!important; 3693 width: 40%; 3694 border-left: 1px solid #c4c4c4; 3695 border-right: 1px solid #c4c4c4; 3696 padding: 0; 3697 } 3698 3699 .sectionPurchaseBoard #itemAddons .item-card { 3700 width: calc(20% - 15px); 3701 max-width: calc(20% - 15px); 3702 flex: 0 0 calc(20% - 15px); 3703 } 3704 3705 .purchase-button { 3706 width: 100%; 3707 padding: 0; /* Reset padding as it's now handled by wrapper */ 3708 margin: 0; 3709 } 3710 3711 .sectionPurchaseBoard .purchase-button { 3712 margin-top: 0 !important; /* Reset margin */ 3713 } 3714 3715 .back-purchase-button, .back-spotify { 3716 width: 139px; 3717 border: 1px solid; 3718 height: 43px; 3719 } 3720 .purchase-button .btn { 3721 width: 297px; 3722 height: 43px; 3723 background-color: #ffffff; 3724 color: #ffffff; 3725 } 3726 .purchase-button .btn[disabled] { 3727 background-color: #EEEEEE; 3728 } 3729 .back-purchase-button svg, .back-spotify svg { 3730 align-self: center; 3731 vertical-align: middle; 3732 margin-right: 10px; 3733 } 3734 3735 #purchaseProduct .row .error { 3736 font-size: 12px !important; 3737 color: orange; 3738 margin-top: 5px; 3739 } 3740 3741 .reviewCardPurchase { 3742 max-width: 448px; 3743 float: right; 3744 } 3745 3746 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 3747 .addon-item * {align-self: center;font-size: 12px;} 3748 .addon-itm-title {width: 360px;} 3749 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 3750 3751 .propsAddonSpotify p { 3752 margin: 0; 3753 display: flex; 3754 font-size: 12px !important; 3755 margin-bottom: 5px; 3756 } 3757 .propsAddonSpotify p span:first-child { 3758 text-transform: uppercase; 3759 font-weight: 600; 3760 -ms-flex: 0 0 150px; 3761 flex: 0 0 150px; 3762 max-width: 150px; 3763 } 3764 3765 .addonsPurchase .addons { 3766 max-height: 250px; 3767 overflow: auto; 3768 } 3769 3770 .btn .loading:after { 3771 content: ""; 3772 display: inline-block;
3773 width: 20px; 3774 height: 20px; 3775 padding: 3px; 3776 aspect-ratio: 1; 3777 border-radius: 50%; 3778 background: #FFFFFF; 3779 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 3780 -webkit-mask: var(--_m); 3781 mask: var(--_m); 3782 -webkit-mask-composite: source-out; 3783 mask-composite: subtract; 3784 animation: l3 1s infinite linear; 3785 margin: auto; 3786 vertical-align: middle; 3787 margin-left: 10px; 3788 } 3789 3790 #qrcode img, #qrcode canvas { 3791 width: 50px; 3792 position: absolute; 3793 top: 12px; 3794 left: 16px; 3795 } 3796 3797 .t-preview { 3798 position: absolute; 3799 top: 17px; 3800 left: 75px; 3801 } 3802 .t-preview p { 3803 margin: 0; 3804 font-size: 12px !important; 3805 } 3806 .t-preview .h3 { 3807 font-size: 16px !important; 3808 margin-bottom: 5px; 3809 font-weight: 600; 3810 } 3811 .scanCard { 3812 width: 100%; 3813 border: 1px solid; 3814 height: 76px; 3815 background-color: #fff; 3816 } 3817 .scanCard > div > img { 3818 position: absolute; 3819 right: 0; 3820 width: 55px; 3821 } 3822 3823 @keyframes l3 { 3824 100% { 3825 transform: rotate(1turn); 3826 } 3827 } 3828 3829 @media (min-width: 991px) { 3830 .sectionPurchase { 3831 height: 100%; 3832 position: relative; 3833 max-width: 1344px; 3834 background-color: #fff; 3835 top: 50%; 3836 left: 50%; 3837 transform: translate(-50%, -50%); 3838 } 3839 .headerPurchase h3 { 3840 font-size: 20px; 3841 } 3842 .purchaseArea h4 { 3843 font-size: 16px; 3844 } 3845 3846 .menuPurchase ul li { 3847 font-size: 16px; 3848 } 3849 3850 .contentPurchase { 3851 margin-bottom: 30px; 3852 } 3853 .contentPurchase h5 { 3854 font-size: 16px; 3855 } 3856 3857 .item-cards .item-card p, 3858 .item-addons .item-addon p { 3859 font-size: 16px !important; 3860 } 3861 3862 .cards { 3863 float: right; 3864 width: 400px; 3865 } 3866 3867 .item-cards .item-card { 3868 width: calc(25% - 30px); 3869 max-width: calc(25% - 30px); 3870 flex: 0 0 calc(25% - 30px); 3871 } 3872 3873 #itemAddons .item-card { 3874 position: relative; 3875 width: calc(16% - 40px); 3876 max-width: calc(16% - 40px); 3877 flex: 0 0 calc(16% - 40px); 3878 } 3879 3880 .purchase-button-wrapper { 3881 padding: 10px 20px; 3882 } 3883 } 3884 3885 @media (max-width: 1200px) { 3886 .item-cards .item-card { 3887 width: calc(33% - 30px); 3888 max-width: calc(33% - 30px); 3889 flex: 0 0 calc(33% - 30px); 3890 } 3891 } 3892 3893 @media (max-width: 992px) { 3894 .purchasePopup { 3895 padding: 0; 3896 } 3897 .item-cards .item-card h5, 3898 .item-addons .item-addon h5 { 3899 max-height: 30px; 3900 } 3901 3902 .back-purchase-button, .back-spotify, .next-purchase-button { 3903 width: 100%; 3904 } 3905 .addon-itm-title { 3906 width: 300px; 3907 } 3908 .addon-itm-line-price { 3909 margin-right: 10px; 3910 } 3911 .t-preview { 3912 top: 10px; 3913 } 3914 3915 .card-qty a { 3916 height: 15px; 3917 } 3918 3919 .purchase-button-wrapper { 3920 padding: 15px; 3921 } 3922 } 3923 3924 @media (max-width: 576px) { 3925 .purchase-button .btn { 3926 width: 100%!important; 3927 } 3928 .purchase-button > .col-12 { 3929 padding-left: 0; 3930 padding-right: 0; 3931 } 3932 } 3933 </style> 3934 3935 3936 <div class="purchasePopup"> 3937 <div class="purchaseArea"> 3938 3939 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 3940 <div class="wrapperPurchase"> 3941 <div class="purchase-content"> 3942 <div class="headerPurchase"> 3943 <h3 class="text-uppercase"> 3944 3945 customize your flower board 3946 3947 </h3> 3948 <a class="close-purchase-popup"> 3949 <svg xmlns="./jitutoto-logo.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3950 <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/> 3951 </svg> 3952 </a> 3953 3954 </div> 3955 <div class="contentPurchase"> 3956 <div class="row"> 3957 3958 <div class="col-12"> 3959 3960 3961 <style> 3962 3963 3964 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 3965 .customize-papan .input-field textarea {width: 100%;max-width: 421px;min-height: 150px;font-weight: 400;font-size: 16px;resize: none;background-color: #E5E5EA;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;color: #ffffff;border: none;} 3966 3967 .customize-papan .field-papan.group-field-2 .input-field.field-logo {height: 90px;margin: 0;border-radius: 0;position: relative;-ms-flex: 0 0 174px;flex: 0 0 174px;max-width: 174px;} 3968 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 3969 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3970 .svgLogoPapan p {color: #8E8E93; margin: 0;} 3971 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 3972 .customize-papan .btn-upload-papan img {margin: auto;display: block;position: absolute;width: 80px;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 3973 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 3974 #suggest-messages a {border: 1px solid #979797;background: #fff;color: #979797;border-radius: 3px;padding: 5px 10px;font-size: 10px;font-weight: 600;display: inline-block;} 3975 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 3976 .customize-papan .input-field input {font-weight: 600;font-size: 16px;width: 100%;height: 90px;min-height: 44px !important;border: none;background: #E5E5EA;margin: 0;border-radius: 0;text-align: center;color: #ffffff;} 3977 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 3978 3979 @media (min-width: 991px) { 3980 .customize-papan:before {content: "";position: absolute;border: 4px solid #ffffff;bottom: -50px;left: 210px;width: 100px;display: block;-ms-transform: rotate(60deg);-webkit-transform: rotate(60deg);transform: rotate(-65deg);} 3981 .customize-papan:after {content: "";position: absolute;border: 4px solid #ffffff;bottom: -52px;right: 240px;width: 100px;display: block;-ms-transform: rotate(-120deg);-webkit-transform: rotate(70deg);transform: rotate(70deg);} 3982 } 3983 </style> 3984 3985 <input type="hidden" data-properties="penerima" value="-"> 3986 <div class="customize-papan"> 3987 <div class="container"> 3988 <div class="field-papan group-field-1 form-group"> 3989 <div class="input-field">
3990 <textarea id="kartu-ucapan-papan" class="mb-0 has-limit" type="text" data-properties="ucapan" placeholder="Write the message you want to display. Or you can use several options from the message templates that we provide. 3991 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 3992 <p class="limit">0/100</p> 3993 <div id="suggest-messages"> 3994 <a id="show_note_papan1" href="index.html#"> 3995 <div class="suggest-message" id="note_btn_div1"> 3996 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 3997 </div> 3998 </a> 3999 <a id="show_note_papan2" href="index.html#"> 4000 <div class="suggest-message" id="note_btn_div2"> 4001 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 4002 </div> 4003 </a> 4004 <a id="show_note_papan3" href="index.html#"> 4005 <div class="suggest-message" id="note_btn_div3"> 4006 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 4007 </div> 4008 </a> 4009 </div> 4010 </div> 4011 </div> 4012 <div class="hide"> 4013 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 4014 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 4015 </div> 4016 <div class="hide"> 4017 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 4018 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 4019 </div> 4020 <div class="hide"> 4021 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 4022 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 4023 </div> 4024 <div class="field-papan group-field-2 form-group"> 4025 4026 <label for="logoPapan" onclick="" class="input-field field-logo"> 4027 4028 4029 4030 <div class="btn-upload-papan w-100"> 4031 <?xml version="1.0" encoding="UTF-8"?> 4032 <img src="index.html" style="display:none"> 4033 <div class="svgLogoPapan"> 4034 <svg xmlns="./jitutoto-logo.png" width="22" height="26" viewBox="0 0 22 26" fill="none"> 4035 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/> 4036 </svg> 4037 <p>Upload Logo <span>*optional</span></p> 4038 </div> 4039 </div> 4040 4041 </label> 4042 4043 <input 4044 type="hidden" 4045 data-properties="papan-logo" 4046 value="" 4047 > 4048 <input 4049 type="file" 4050 id="logoPapan" 4051 accept="image/*" 4052 style="position: absolute;width: 1px;height: 1px;padding: 0" 4053 > 4054 4055 <div class="input-field"> 4056 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 4057 <p class="limit">0/35</p> 4058 </div> 4059 4060 </div> 4061 4062 </div> 4063 </div> 4064 </div> 4065 4066 </div> 4067 </div> 4068 4069 </div> 4070 <div class="purchase-button-wrapper"> 4071 <div class="purchase-button btn-card row m-0"> 4072 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4073 4074 </div> 4075 <div class="btn-next-card col-12 col-lg-10 text-right"> 4076 4077 4078 <button 4079 4080 4081 4082 class="btn next-purchase-button text-uppercase" 4083 4084 disabled 4085 4086 > 4087 <span>save your flower board</span> 4088 </button> 4089 </div> 4090 </div> 4091 4092 </div> 4093 </div> 4094 </div> 4095 4096 4097 4098 <div 4099 class="sectionPurchase sectionPurchaseBoard hide" 4100 data-section="address" 4101 > 4102 <div class="wrapperPurchase"> 4103 <div class="purchase-content"> 4104 <div class="headerPurchase"> 4105 <h3> 4106 Complete Your Order 4107 </h3> 4108 <a class="close-purchase-popup"> 4109 <svg xmlns="./jitutoto-logo.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4110 <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/> 4111 </svg> 4112 </a> 4113 4114 </div> 4115 <div class="contentPurchase"> 4116 <div class="row"> 4117 <div class="col-12 position-relative"> 4118 <div class="addressPurchase"> 4119 4120 <h4 class="text-uppercase">recipient delivery address</h4> 4121 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 4122 4123 <div class="formAddressPurchase row"> 4124 <div class="col-12"> 4125 <form> 4126 <div class="form-group row mb-2 mb-lg-4"> 4127 <div class="col-6 position-relative"> 4128 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 4129 <label for="first_name" class="input__label">First Name<span>*</span></label> 4130 </div> 4131 <div class="col-6 position-relative"> 4132 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 4133 <label for="last_name" class="input__label">Last Name<span>*</span></label> 4134 </div> 4135 <input type="hidden" data-properties="nama-penerima"> 4136 </div> 4137 4138 <h4 class="text-uppercase">how you want to input your address</h4> 4139 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 4140 <div class="col-6 position-relative"> 4141 <label class="address-manualy"> 4142 <svg xmlns="./jitutoto-logo.png" width="18" height="17" viewBox="0 0 18 17" fill="none"> 4143 <path d="M3.37484 1.83329C2.79984 1.83329 2.33317 2.29996 2.33317 2.87496V5.16663C2.33317 5.38764 2.24537 5.5996 2.08909 5.75588C1.93281 5.91216 1.72085 5.99996 1.49984 5.99996C1.27882 5.99996 1.06686 5.9
41431216 0.910582 5.75588C0.754301 5.5996 0.666504 5.38764 0.666504 5.16663V2.87496C0.666504 2.15666 0.951845 1.46779 1.45976 0.959878C1.96767 0.451967 2.65654 0.166626 3.37484 0.166626H5.6665C5.88752 0.166626 6.09948 0.254423 6.25576 0.410704C6.41204 0.566984 6.49984 0.778946 6.49984 0.999959C6.49984 1.22097 6.41204 1.43293 6.25576 1.58921C6.09948 1.7455 5.88752 1.83329 5.6665 1.83329H3.37484ZM3.37484 15.1666C2.79984 15.1666 2.33317 14.7 2.33317 14.125V11.8333C2.33317 11.6123 2.24537 11.4003 2.08909 11.244C1.93281 11.0878 1.72085 11 1.49984 11C1.27882 11 1.06686 11.0878 0.910582 11.244C0.754301 11.4003 0.666504 11.6123 0.666504 11.8333V14.125C0.666504 14.4806 0.736557 14.8328 0.872663 15.1614C1.00877 15.49 1.20826 15.7885 1.45976 16.04C1.71125 16.2915 2.00981 16.491 2.3384 16.6271C2.66699 16.7632 3.01917 16.8333 3.37484 16.8333H5.6665C5.88752 16.8333 6.09948 16.7455 6.25576 16.5892C6.41204 16.4329 6.49984 16.221 6.49984 16C6.49984 15.7789 6.41204 15.567 6.25576 15.4107C6.09948 15.2544 5.88752 15.1666 5.6665 15.1666H3.37484ZM15.6665 2.87496C15.6665 2.29996 15.1998 1.83329 14.6248 1.83329H12.3332C12.1122 1.83329 11.9002 1.7455 11.7439 1.58921C11.5876 1.43293 11.4998 1.22097 11.4998 0.999959C11.4998 0.778946 11.5876 0.566984 11.7439 0.410704C11.9002 0.254423 12.1122 0.166626 12.3332 0.166626H14.6248C14.9805 0.166626 15.3327 0.236679 15.6613 0.372786C15.9899 0.508892 16.2884 0.708386 16.5399 0.959878C16.7914 1.21137 16.9909 1.50994 17.127 1.83853C17.2631 2.16712 17.3332 2.5193 17.3332 2.87496V5.16663C17.3332 5.38764 17.2454 5.5996 17.0891 5.75588C16.9328 5.91216 16.7208 5.99996 16.4998 5.99996C16.2788 5.99996 16.0669 5.91216 15.9106 5.75588C15.7543 5.5996 15.6665 5.38764 15.6665 5.16663V2.87496ZM14.6248 15.1666C15.1998 15.1666 15.6665 14.7 15.6665 14.125V11.8333C15.666
41435 11.6123 15.7543 11.4003 15.9106 11.244C16.0669 11.0878 16.2788 11 16.4998 11C16.7208 11 16.9328 11.0878 17.0891 11.244C17.2454 11.4003 17.3332 11.6123 17.3332 11.8333V14.125C17.3332 14.4806 17.2631 14.8328 17.127 15.1614C16.9909 15.49 16.7914 15.7885 16.5399 16.04C16.2884 16.2915 15.9899 16.491 15.6613 16.6271C15.3327 16.7632 14.9805 16.8333 14.6248 16.8333H12.3332C12.1122 16.8333 11.9002 16.7455 11.7439 16.5892C11.5876 16.4329 11.4998 16.221 11.4998 16C11.4998 15.7789 11.5876 15.567 11.7439 15.4107C11.9002 15.2544 12.1122 15.1666 12.3332 15.1666H14.6248ZM4.62484 5.16663C4.62484 4.94561 4.71263 4.73365 4.86892 4.57737C5.0252 4.42109 5.23716 4.33329 5.45817 4.33329H12.5415C12.7625 4.33329 12.9745 4.42109 13.1308 4.57737C13.287 4.73365 13.3748 4.94561 13.3748 5.16663V6.41663C13.3748 6.63764 13.287 6.8496 13.1308 7.00588C12.9745 7.16216 12.7625 7.24996 12.5415 7.24996C12.3205 7.24996 12.1085 7.16216 11.9522 7.00588C11.796 6.8496 11.7082 6.63764 11.7082 6.41663V5.99996H9.83317V11H10.8748C11.0959 11 11.3078 11.0878 11.4641 11.244C11.6204 11.4003 11.7082 11.6123 11.7082 11.8333C11.7082 12.0543 11.6204 12.2663 11.4641 12.4225C11.3078 12.5788 11.0959 12.6666 10.8748 12.6666H7.12484C6.90382 12.6666 6.69186 12.5788 6.53558 12.4225C6.3793 12.2663 6.2915 12.0543 6.2915 11.8333C6.2915 11.6123 6.3793 11.4003 6.53558 11.244C6.69186 11.0878 6.90382 11 7.12484 11H8.1665V5.99996H6.2915V6.41663C6.2915 6.63764 6.20371 6.8496 6.04743 7.00588C5.89115 7.16216 5.67918 7.24996 5.45817 7.24996C5.23716 7.24996 5.0252 7.16216 4.86892 7.00588C4.71263 6.8496 4.62484 6.63764 4.62484 6.41663V5.16663Z" fill="black"/> 4144 </svg> 4145 <span>Input Address Manually</span> 4146 </label> 4147 </div> 4148 <div class="col-6 position-relative"> 4149 <label for="address-upload" class="address-upload"> 4150 <svg xmlns="./jitutoto-logo.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 4151 <path d="M5.58317 9.48079V2.27246L3.6415 4.21413L3.0515 3.61579L5.99984 0.666626L8.949 3.61579L8.359 4.21496L6.4165 2.27246V9.48079H5.58317ZM1.51317 12.3333C1.12928 12.3333 0.809004 12.205 0.552337 11.9483C0.29567 11.6916 0.167059 11.3711 0.166504 10.9866V8.96746H0.999837V10.9866C0.999837 11.115 1.05317 11.2327 1.15984 11.34C1.2665 11.4472 1.384 11.5005 1.51234 11.5H10.4873C10.6151 11.5 10.7326 11.4466 10.8398 11.34C10.9471 11.2333 11.0004 11.1155 10.9998 10.9866V8.96746H11.8332V10.9866C11.8332 11.3705 11.7048 11.6908 11.4482 11.9475C11.1915 12.2041 10.8709 12.3327 10.4865 12.3333H1.51317Z" fill="black"/> 4152 </svg> 4153 <span>Upload Address Picture</span> 4154 </label> 4155 <input 4156 id="address-upload" 4157 type="file" 4158 accept="image/png, image/jpeg" 4159 style="position: absolute; padding: 0;width: 1px;height: 1px" 4160 > 4161 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 4162 </div> 4163 </div> 4164 <img width="150" height="" src="index.html" class="photo-address" style="display: none;"> 4165 4166 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4167 <div class="col-12"> 4168 <textarea 4169 id="delivery_address" 4170 data-properties="alamat-penerima" 4171 class="form-control input__field col-12" 4172 placeholder="" 4173 required 4174 ></textarea> 4175 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4176 4177 </div> 4178 </div> 4179 <div class="form-group row mb-2 mb-lg-4 form-address"> 4180 <div class="col-6 position-relative"> 4181 <input 4182 id="recipient_number" 4183 type="text" 4184 data-properties="telepon-penerima" 4185 class="form-control input__field" 4186 placeholder="" 4187 required 4188 > 4189 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4190 </div> 4191 <div class="col-6 position-relative"> 4192 <input 4193 id="company" 4194 type="text" 4195 data-properties="company" 4196 class="form-control input__field" 4197 placeholder="" 4198 > 4199 <label for="company" class="input__label">Company (Optional)</label> 4200 </div> 4201 </div> 4202 <div class="form-group row mb-2 mb-lg-4 form-address"> 4203 <div class="col-6 position-relative"> 4204 <input 4205 id="province" 4206 type="text" 4207 class="form-control input__field" 4208 placeholder="" 4209 value="Jakarta" 4210 data-properties="province" 4211 > 4212 <label for="province" class="input__label">Province</label> 4213 </div> 4214 <div class="col-6 position-relative"> 4215 <select id="zip" class="form-control select-search" required></select> 4216 </div> 4217 </div> 4218 </form> 4219 </div> 4220 </div> 4221 </div> 4222 <div class="addonsPurchase"> 4223 <h4 class="text-uppercase">add-ons</h4> 4224 <div class="addons"> 4225 <p>No Add-Ons</p> 4226 <!-- 4227 <button class="add-addon"> 4228 <svg xmlns="./jitutoto-logo.png" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4229 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4230 </svg>
4231 <span>Enhance my moment with Add-ons</span> 4232 </button> 4233 --> 4234 </div> 4235 </div> 4236 </div> 4237 4238 </div> 4239 </div> 4240 4241
4241<script> 4242 document.addEventListener('DOMContentLoaded', function() { 4243 // Detect iOS 4244 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4245 4246 if (isIOS) { 4247 document.querySelector('.formAddressPurchase').classList.add('ios'); 4248 4249 // iOS specific fixes 4250 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4251 4252 inputs.forEach(function(input) { 4253 // Force enable touch events on iOS 4254 input.style.webkitUserSelect = 'text'; 4255 input.style.webkitTouchCallout = 'default'; 4256 input.style.pointerEvents = 'auto'; 4257 input.style.touchAction = 'manipulation'; 4258 4259 // Add explicit touch event listeners for iOS 4260 input.addEventListener('touchstart', function(e) { 4261 e.stopPropagation(); 4262 this.focus(); 4263 }, { passive: false }); 4264 4265 input.addEventListener('touchend', function(e) { 4266 e.preventDefault(); 4267 e.stopPropagation(); 4268 this.focus(); 4269 this.click(); 4270 }, { passive: false }); 4271 4272 // Force focus on tap for iOS 4273 input.addEventListener('click', function(e) { 4274 e.stopPropagation(); 4275 if (document.activeElement !== this) { 4276 this.focus(); 4277 } 4278 }); 4279 }); 4280 4281 // Fix for label overlapping on iOS 4282 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4283 labels.forEach(function(label) { 4284 label.style.pointerEvents = 'none'; 4285 label.addEventListener('touchstart', function(e) { 4286 e.preventDefault(); 4287 var input = this.parentNode.querySelector('.input__field'); 4288 if (input) { 4289 input.focus(); 4290 } 4291 }); 4292 }); 4293 } 4294 4295 // Handle input state for all browsers, especially iOS 4296 var inputs = document.querySelectorAll('.input__field'); 4297 4298 inputs.forEach(function(input) { 4299 // Handle input events 4300 input.addEventListener('input', function() { 4301 if (this.value.trim() !== '') { 4302 this.classList.add('has-value'); 4303 } else { 4304 this.classList.remove('has-value'); 4305 } 4306 }); 4307 4308 // Handle focus 4309 input.addEventListener('focus', function() { 4310 this.classList.add('focused'); 4311 // iOS specific: ensure input is visible 4312 if (isIOS) { 4313 setTimeout(function() { 4314 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4315 }, 300); 4316 } 4317 }); 4318 4319 // Handle blur 4320 input.addEventListener('blur', function() { 4321 this.classList.remove('focused'); 4322 if (this.value.trim() !== '') { 4323 this.classList.add('has-value'); 4324 } else { 4325 this.classList.remove('has-value'); 4326 } 4327 }); 4328 4329 // Initial check for pre-filled values 4330 if (input.value.trim() !== '') { 4331 input.classList.add('has-value'); 4332 } 4333 }); 4334 4335 // Additional iOS fixes 4336 if (isIOS) { 4337 // Prevent iOS Safari from adding default styling 4338 document.addEventListener('touchstart', function() {}, { passive: true }); 4339 4340 // Fix viewport issues on iOS 4341 var viewport = document.querySelector('meta[name=viewport]'); 4342 if (viewport) { 4343 viewport.setAttribute('content', 4344 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4345 ); 4346 } 4347 } 4348 }); 4349 </script>
4349 4350 </div> 4351 <div class="purchase-button-wrapper"> 4352 <div class="purchase-button btn-address row m-0"> 4353 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4354 4355 <button class="back-purchase-button back-address text-uppercase"> 4356 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="./jitutoto-logo.png"> 4357 <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"/> 4358 </svg> 4359 <span>Back</span> 4360 </button> 4361 4362 </div> 4363 <div class="btn-next-card col-12 col-lg-10 text-right"> 4364 4365 <!-- 4366 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4367 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="./jitutoto-logo.png"> 4368 <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"/> 4369 </svg> 4370 <span>Back</span> 4371 </button> 4372 --> 4373 4374 4375 <button 4376 4377 id="addtocart-card" 4378 4379 class="btn next-address text-uppercase" 4380 4381 > 4382 <span>add to cart</span> 4383 </button> 4384 </div> 4385 </div> 4386 4387 </div> 4388 </div> 4389 </div> 4390 4391 </div> 4392 </div> 4393 <div id="backgroundPopup"></div> 4394 4395 4396 4397 <input 4398 data-index="1" 4399 type="hidden" 4400 id="properties-delivery-date" 4401 name="properties[Delivery Date]" 4402 value="-" 4403 > 4404 <input 4405 data-index="2" 4406 type="hidden" 4407 id="properties-delivery-time" 4408 name="properties[Delivery Time]" 4409 value="-" 4410 > 4411 <input 4412 data-index="4" 4413 type="hidden" 4414 id="properties-nama-penerima" 4415 name="properties[Nama Penerima]" 4416 value="-" 4417 > 4418 <input 4419 data-index="5" 4420 type="hidden" 4421 id="properties-alamat-penerima" 4422 name="properties[Alamat Penerima]" 4423 value="-" 4424 > 4425 <input 4426 data-index="6" 4427 type="hidden" 4428 id="properties-kodepos" 4429 name="properties[Kodepos]" 4430 value="-" 4431 > 4432 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4433 4434 4435 <input 4436 data-index="8" 4437 type="hidden" 4438 id="properties-kartu-nama-penerima" 4439 name="properties[Kartu Nama Penerima]" 4440 value="-" 4441 > 4442 4443 <textarea 4444 data-index="9" 4445 type="hidden" 4446 id="properties-kartu-pesan" 4447 name="properties[Kartu Pesan]" 4448 style="display: none" 4449 >-</textarea> 4450 4451 4452 4453 <input 4454 data-index="10" 4455 type="hidden" 4456 id="properties-kartu-nama-pengirim" 4457 name="properties[Kartu Nama Pengirim]" 4458 value="-" 4459 > 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 <!-- Additional Shipping --> 4479 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4480 <input 4481 type="hidden" 4482 id="properties-kota-pengiriman-country" 4483 name="properties[Country]" 4484 value="Indonesia" 4485 > 4486 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4487 4488 <input type="hidden" id="properties-time" name="properties[Time]"> 4489 <input type="hidden" id="properties-card" name="properties[Card]"> 4490 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4491 4492 <input 4493 type="hidden" 4494 id="properties-company" 4495 name="properties[Company]" 4496 value="" 4497 > 4498
4498<script> 4499 4500 $(document).ready(function(){ 4501 4502 var text_max_papan1=150; 4503 var msg_text_papan1=""; 4504 $('#kartu-ucapan-ucapan').keyup(function(){ 4505 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4506 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4507 }); 4508 4509 var notes_papan1 = [ 4510 4511 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4512 4513 ]; 4514 $('#show_note_papan1').click(function(event){ 4515 event.preventDefault(); 4516 var idx_papan1=parseInt($('#note_id_papan1').val()); 4517 if(isNaN(idx_papan1)){ 4518 idx_papan1=0; 4519 }else{ 4520 idx_papan1++; 4521 idx_papan1=idx_papan1%notes_papan1.length; 4522 } 4523 var note_papan1=notes_papan1[idx_papan1][1]; 4524 $('#note_id_papan1').val(idx_papan1); 4525 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4526 $('#msgDelivery').val(note_papan1); 4527 4528 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4529 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4530 if(isNaN(idx_2_papan1)){ 4531 idx_2_papan1=0; 4532 }else{ 4533 idx_2_papan1++; 4534 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4535 } 4536 $('#note_btn_id_papan1').val(idx_2_papan1); 4537 //var note_btn=note_btn_text[idx_2][1]; 4538 //$('#note_btn').text(note_btn); 4539 }); 4540 4541 var text_max_papan2=150; 4542 var msg_text_papan2=""; 4543 $('#kartu-ucapan-ucapan').keyup(function(){ 4544 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4545 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4546 }); 4547 4548 var notes_papan2 = [ 4549 4550 [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)."] 4551 4552 ]; 4553 $('#show_note_papan2').click(function(event){ 4554 event.preventDefault(); 4555 var idx_papan2=parseInt($('#note_id_papan2').val()); 4556 if(isNaN(idx_papan2)){ 4557 idx_papan2=0; 4558 }else{ 4559 idx_papan2++; 4560 idx_papan2=idx_papan2%notes_papan2.length; 4561 } 4562 var note_papan2=notes_papan2[idx_papan2][1]; 4563 $('#note_id_papan2').val(idx_papan2); 4564 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4565 $('#msgDelivery').val(note_papan2); 4566 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4567 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4568 if(isNaN(idx_2_papan2)){ 4569 idx_2_papan2=0; 4570 }else{ 4571 idx_2_papan2++; 4572 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4573 } 4574 $('#note_btn_id_papan2').val(idx_2_papan2); 4575 //var note_btn=note_btn_text[idx_2][1]; 4576 //$('#note_btn').text(note_btn); 4577 }); 4578 4579 var text_max_papan3=150; 4580 var msg_text_papan3=""; 4581 $('#kartu-ucapan-ucapan').keyup(function(){ 4582 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4583 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4584 }); 4585 4586 var notes_papan3 = [ 4587 4588 [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)."] 4589 4590 ]; 4591 $('#show_note_papan3').click(function(event){ 4592 event.preventDefault(); 4593 var idx_papan3=parseInt($('#note_id_papan3').val()); 4594 if(isNaN(idx_papan3)){ 4595 idx_papan3=0; 4596 }else{ 4597 idx_papan3++; 4598 idx_papan3=idx_papan3%notes_papan3.length; 4599 } 4600 var note_papan3=notes_papan3[idx_papan3][1]; 4601 $('#note_id_papan3').val(idx_papan3);
4602 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4603 $('#msgDelivery').val(note_papan3); 4604 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4605 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4606 if(isNaN(idx_2_papan3)){ 4607 idx_2_papan3=0; 4608 }else{ 4609 idx_2_papan3++; 4610 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4611 } 4612 $('#note_btn_id_papan3').val(idx_2_papan3); 4613 //var note_btn=note_btn_text[idx_2][1]; 4614 //$('#note_btn').text(note_btn); 4615 }); 4616 4617 var text_max_papan4=150; 4618 var msg_text_papan4=""; 4619 $('#kartu-ucapan-ucapan').keyup(function(){ 4620 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4621 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4622 }); 4623 4624 $('#show_note_papan4').click(function(event){ 4625 var notes_papan4 = [ 4626 [0,"Hereâs to youâsteadier, stronger and better every day."], 4627 [1,"Warmest wishes for a speedy recovery!"], 4628 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4629 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4630 ]; 4631 event.preventDefault(); 4632 var idx_papan4=parseInt($('#note_id_papan4').val()); 4633 console.log(idx_papan4, 'idx_papan4') 4634 if(isNaN(idx_papan4)){ 4635 idx_papan4=0; 4636 }else{ 4637 idx_papan4++; 4638 idx_papan4=idx_papan4%notes_papan4.length; 4639 } 4640 var note_papan4=notes_papan4[idx_papan4][1]; 4641 $('#note_id_papan4').val(idx_papan4); 4642 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4643 console.log(note_papan4, 'note_papan4') 4644 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4645 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4646 if(isNaN(idx_2_papan4)){ 4647 idx_2_papan4=0; 4648 }else{ 4649 idx_2_papan4++; 4650 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4651 } 4652 $('#note_btn_id_papan4').val(idx_2_papan4); 4653 }); 4654 4655 /* 4656 $("#jenisPapan").change(function(){ 4657 $( "select option:selected").each(function(){ 4658 if($(this).attr("value")=="Happy Wedding"){ 4659 $("#suggest-messages a").hide(); 4660 $("#show_note_papan1").show(); 4661 $("#kartu-ucapan-papan").val(""); 4662 } 4663 if($(this).attr("value")=="Congratulations"){ 4664 $("#suggest-messages a").hide(); 4665 $("#show_note_papan2").show(); 4666 $("#kartu-ucapan-papan").val(""); 4667 } 4668 if($(this).attr("value")=="Duka Cita"){ 4669 $("#suggest-messages a").hide(); 4670 $("#show_note_papan3").show(); 4671 $("#kartu-ucapan-papan").val(""); 4672 } 4673 }); 4674 }).change(); 4675 */ 4676 4677 4678 4679 4680 4681 $(".variant-metafield").each(function(){ 4682 const t = $(this) 4683 const id = t.attr("id") 4684 const target = $(`[data-select=${id}]`) 4685 t.on('select2:selecting', function(e) { 4686 const data = e.params.args.data 4687 target.val(data.text) 4688 }); 4689 }) 4690 }) 4691 </script>
4691 4692 4693 <div id="popupCart"> 4694 <div class="container"> 4695 <div class="wrapperPopupCart"> 4696 <div class="headerPopupCart"> 4697 <div class="d-flex pl-5 pr-5 p-4"> 4698 <svg xmlns="./jitutoto-logo.png" width="16" height="12" viewBox="0 0 16 12" fill="none"> 4699 <path d="M5.55008 11.3076L0.580078 6.33761L1.29408 5.62461L5.55008 9.88061L14.7061 0.724609L15.4191 1.43861L5.55008 11.3076Z" fill="black"/> 4700 </svg> 4701 <span>item added to your cart</span> 4702 </div> 4703 <a class="close-purchase-popup"> 4704 <svg xmlns="./jitutoto-logo.png" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4705 <path d="M1.53287 17.4107L0.588867 16.4667L8.05553 9.00002L0.588867 1.53336L1.53287 0.589355L8.99953 8.05602L16.4662 0.589355L17.4102 1.53336L9.94353 9.00002L17.4102 16.4667L16.4662 17.4107L8.99953 9.94402L1.53287 17.4107Z" fill="black"/> 4706 </svg> 4707 </a> 4708 4709 </div> 4710 <div class="contentPopupCart"> 4711 <div class="pl-5 pr-5 p-4"> 4712 <div class="itemContent row m-0 justify-content-between"> 4713 <div class="col-2 align-self-center"> 4714 4715 <img 4716 class="d-block" 4717 width="80" 4718 src="https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_80x.jpg?v=1695788426" 4719 > 4720 </div> 4721 <div class="col-10 align-self-center"> 4722 <div class="row pl-3"> 4723 <div class="col-12 col-lg-7"> 4724 <span class="titleCartPopup text-uppercase">JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.</span> 4725 </div> 4726 <div class="d-flex justify-content-end col-12 col-lg-5"> 4727 <span class="deleteCartPopup hide">Delete</span> 4728 <span class="lineCartPrice align-self-center">Rp 5.000</span> 4729 </div> 4730 </div> 4731 </div> 4732 </div> 4733 <div class="itemProperties"> 4734 4735 <div class="propDeliver"> 4736 <h4>delivery option detail</h4> 4737 <p> 4738 <span>delivery city</span> 4739 <span class="propDeliveryCity">jakarta</span> 4740 </p> 4741 <p> 4742 <span>delivery date</span> 4743 <span class="propDeliveryDate">24/03/2025</span> 4744 </p> 4745 <p> 4746 <span>delivery time</span> 4747 <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> 4748 </p> 4749 </div> 4750 <div class="propAddress"> 4751 <h4>delivery option detail</h4> 4752 <p> 4753 <span>RECIPIENT NAME</span> 4754 <span class="propDeliveryName">keling</span> 4755 </p> 4756 <p> 4757 <span>delivery address</span> 4758 <span class="propDeliveryAddress" 4759 >Jl. Jenderal Sudirman Kav. 76-78, RT.003 /RW.002, Kelurahan Karet Tengsin, Kecamatan Tanah Abang, Kota Jakarta Pusat, Daerah Khusus Ibukota Jakarta 10220, Indonesia</span 4760 > 4761 </p> 4762 <p> 4763 <span>recipient phone number</span> 4764 <span class="propDeliveryPhone">(+62) 856-9671-0961</span> 4765 </p> 4766 <p> 4767 <span>PROVINCE</span> 4768 <span class="propDeliveryProv">Jakarta</span> 4769 </p> 4770 <p> 4771 <span>postal code</span> 4772 <span class="propDeliveryZip">10220</span> 4773 </p> 4774 4775 4776 </div> 4777 4778 </div> 4779 <div class="itemAddonCart"> 4780 <div class="toggleAddonCart d-flex justify-content-between"> 4781 <h4>add-ons (0)</h4> 4782 <svg xmlns="./jitutoto-logo.png" width="5" height="9" viewBox="0 0 5 9" fill="none"> 4783 <path d="M1.0128 0.84668L4.78613 4.62001L1.0128 8.39335L0.546133 7.92001L3.84613 4.62001L0.546133 1.32001L1.0128 0.84668Z" fill="black"/> 4784 </svg> 4785 </div> 4786 <div class="wrapperItemAddonCart"></div> 4787 </div> 4788 4789 </div> 4790 </div>
4791 <div class="footerPopupCart"> 4792 <div class="row m-0 pl-5 pr-5 p-4"> 4793 <a class="btn btnViewCart w-100 text-uppercase text-center" href="https://dignitysa.org/cart">View Cart</a> 4794 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="https://dignitysa.org/checkout"><span>Checkout</span></a> 4795 <a class="btnContinueShopping w-100 text-center" href="index.html">Continue shopping</a> 4796 </div> 4797 </div> 4798 </div> 4799 </div> 4800 </div> 4801 4802 4803
4803<script> 4804 const shareButton = document.getElementById('shareButton'); 4805 4806 shareButton.addEventListener('click', () => { 4807 if (navigator.share) { 4808 navigator.share({ 4809 title: "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 4810 url: "/products/blossom-shine", 4811 text: 'Check out this page!' 4812 }) 4813 .then(() => console.log('Successful share')) 4814 .catch((error) => console.log('Error sharing', error)); 4815 } else { 4816 alert('Web Share API is not supported in this browser.'); 4817 } 4818 }); 4819 4820 // Inventory validation function 4821 function checkInventoryStatus() { 4822 const productSelect = document.getElementById('productSelect'); 4823 const purchaseButton = document.querySelector('#personalizeBtn button'); 4824 4825 if (!productSelect || !purchaseButton) return; 4826 4827 const selectedVariantId = productSelect.value; 4828 4829 // Get variant data from Shopify 4830 fetch(`/products/blossom-shine.js`) 4831 .then(response => response.json()) 4832 .then(product => { 4833 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 4834 4835 if (selectedVariant) { 4836 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 4837 selectedVariant.inventory_management === 'shopify' && 4838 selectedVariant.inventory_policy !== 'continue'; 4839 4840 if (isOutOfStock) { 4841 purchaseButton.disabled = true; 4842 purchaseButton.textContent = 'Out of Stock'; 4843 purchaseButton.setAttribute('data-out-of-stock', 'true'); 4844 purchaseButton.style.backgroundColor = '#cccccc'; 4845 purchaseButton.style.cursor = 'not-allowed'; 4846 } else { 4847 // Check if button was disabled due to other conditions 4848 4849 4850 4851 4852 4853 4854 4855 4856 const isOtherDisabled = false || true || false; 4857 4858 if (!isOtherDisabled) { 4859 purchaseButton.disabled = false; 4860 purchaseButton.textContent = 'customize your flower board'; 4861 purchaseButton.removeAttribute('data-out-of-stock'); 4862 purchaseButton.style.backgroundColor = ''; 4863 purchaseButton.style.cursor = ''; 4864 } 4865 } 4866 } 4867 }) 4868 .catch(error => { 4869 console.error('Error checking inventory:', error); 4870 }); 4871 } 4872 4873 // Check inventory on page load 4874 document.addEventListener('DOMContentLoaded', function() { 4875 checkInventoryStatus();
4876 4877 // Listen for variant changes 4878 const productSelect = document.getElementById('productSelect'); 4879 if (productSelect) { 4880 productSelect.addEventListener('change', checkInventoryStatus); 4881 } 4882 }); 4883 4884 // Prevent form submission if out of stock 4885 document.addEventListener('click', function(e) { 4886 if (e.target.matches('button[data-out-of-stock="true"]')) { 4887 e.preventDefault(); 4888 e.stopPropagation(); 4889 alert('This product is currently out of stock and cannot be purchased.'); 4890 return false; 4891 } 4892 }); 4893 </script>
4893 4894 4895 4896 4897 </div> 4898 4899 </div> 4900 </div> 4901 </div> 4902 </div> 4903 <div id="product-bottom"> 4904 4905 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 4906 <div class="container"> 4907 4908 4909 4910 4911 4912 <div class="short-desc-mobile d-block d-lg-none mb-3"> 4913 <div class="short-desc"> 4914 <ul> 4915 <li><strong>Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. </strong></li> 4916 </div> 4917 <label class="more-mobile">Show More â</label> 4918 </div> 4919 4920 <style> 4921 .animated-title { 4922 text-align: center; 4923 font-weight: bold; 4924 color: #079c02; 4925 font-size: 28px; 4926 position: relative; 4927 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 4928 } 4929 4930 /* Efek glow / bercahaya hijau */ 4931 @keyframes glow { 4932 0% { text-shadow: 0 0 5px #079c02; color: #079c02; } 4933 50% { text-shadow: 0 0 20px #00ff55; color: #12d12b; } 4934 100% { text-shadow: 0 0 10px #1bff00; color: #079c02; } 4935 } 4936 4937 /* Efek gerakan naik turun */ 4938 @keyframes moveUpDown { 4939 0% { transform: translateY(0px); } 4940 50% { transform: translateY(-5px); } 4941 100% { transform: translateY(0px); } 4942 } 4943 </style> 4944 4945
4945<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
4945 4946
4946<script> 4947 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}); 4948 4949 const productType = $("[data-product-type]").data("product-type") 4950 const productDate = Date.parse(new Date()) 4951 4952 const shop = 'outerbloom1.myshopify.com' 4953 const host = 'https://app.asmaraku.com' 4954 // const host = 'http://localhost:5001' 4955 4956 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 4957 4958 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 4959 4960 $("#properties-time").val(new Date().getTime()) 4961 4962 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 4963 4964 if(!isIOS) { 4965 $("#full-date").attr("type", "button") 4966 } 4967 4968 let dateTime = new Date(); 4969 let today = dateTime.getDate(); 4970 let day = dateTime.getDay(); 4971 let hour = dateTime.getHours(); 4972 let min = dateTime.getMinutes(); 4973 let timeOfDay = hour + (min / 100); 4974 4975 async function getFetch(url) { 4976 const response = await fetch(url); 4977 let status = false 4978 let result 4979 if(response.ok) { 4980 status = true 4981 result = await response.json(); 4982 } 4983 return { 4984 status, 4985 data: result 4986 } 4987 } 4988 4989 4990 4991 function setCookie(cname, cvalue, exMins) { 4992 var d = new Date(); 4993 d.setTime(d.getTime() + (exMins*60*1000)); 4994 var expires = "expires="+d.toUTCString(); 4995 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 4996 } 4997 4998 function getCookie(cname) { 4999 let name = cname + "="; 5000 let decodedCookie = decodeURIComponent(document.cookie); 5001 let ca = decodedCookie.split(';'); 5002 for(let i = 0; i <ca.length; i++) { 5003 let c = ca[i]; 5004 while (c.charAt(0) == ' ') { 5005 c = c.substring(1); 5006 } 5007 if (c.indexOf(name) == 0) { 5008 return c.substring(name.length, c.length); 5009 } 5010 } 5011 return ""; 5012 } 5013 5014 async function renderDate() { 5015 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8359546319899&v=${Date.now()}`); 5016 console.log(dataDate, 'renderDate') 5017 const data = dataDate?.data 5018 const date = data.date 5019 const time = data.time 5020 5021 console.log(date, 'DATE') 5022 5023 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 5024 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5025 const htmlDate = []
5026 for(let i = 0;i < date.length;i++) { 5027 const full = date[i].date 5028 const d = new Date(date[i].date); 5029 const day = weekday[d.getDay()]; 5030 const dt = d.getDate(); 5031 const mt = monthly[d.getMonth()]; 5032 const yr = d.getFullYear(); 5033 const isDate = Boolean(date[i].isEnabled) 5034 const cutoffpagi = date[i].cutoff?.pagi 5035 const cutoffsiang = date[i].cutoff?.siang 5036 const cutoffMalam = date[i].cutoff?.Malam 5037 var html = ` 5038 <button data-id="8359546319899" class="date-single calendarbutton btn steps-btn col col-3 btn-date-time" data-day="${day}" data-fulldate="${full}" data-date="${dt < 10 ? '0' + dt : dt}" data-month="${mt}" data-year="${yr}" data-offpagi="${cutoffpagi}" data-offsiang="${cutoffsiang}" data-offMalam="${cutoffMalam}" ${isDate === true ? '' : 'disabled'}> 5039 ${dt === today ? 5040 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 5041 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 5042 } 5043 </button> 5044 ` 5045 htmlDate.push(html) 5046 } 5047 const htmlTime = []
5048 for(var i = 0;i < time.length;i++) { 5049 const timeText = time[i].text 5050 const timeTime = time[i].time 5051 const timeEnabled = time[i].isEnabled 5052 var html = ` 5053 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 5054 ` 5055 htmlTime.push(html) 5056 } 5057 const deliveryDate = document.getElementById("deliveryDate"); 5058 if(deliveryDate) { 5059 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 5060 $("#deliveryTime").html(htmlTime) 5061 if(productType !== '') { 5062 console.log("clarity event " + productType + ' calendaring') 5063 window.clarity("event", `${productType} calendaringSchedule`) 5064 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 5065 } 5066 } 5067 } 5068 5069 async function getProvince(city) { 5070 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 5071 console.log(province, 'province') 5072 $("#province").val(province) 5073 } 5074 5075 async function renderAddress() { 5076 let current 5077 if(getCookie("location_delivery")){ 5078 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 5079 } 5080 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8359546319899`); 5081 console.log(address) 5082 const data = address?.data?.city 5083 const htmlAddress = [] 5084 const grouping = []
5085 for(let i = 0;i < data?.length;i++) { 5086 if(data[i]){ 5087 if(data[i]?.group) { 5088 grouping.push(data[i].group) 5089 } 5090 const price = rupiah.format(data[i]?.rate) 5091 let promo = '(Promo Free Delivery)' 5092 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 5093 promo = '(at SCBD, Ashta)' 5094 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 5095 promo = '(at Kuningan, ITC Kuningan)' 5096 } else if(data[i]?.name === 'BSD - PickUp'){ 5097 promo = '(at Goldfinch Gading Serpong)' 5098 } else if(data[i]?.name === 'Kota Lainnya'){ 5099 promo = '' 5100 } 5101 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>`) 5102 } 5103 } 5104 5105 const deliveryCity = document.getElementById("cities"); 5106 if(deliveryCity) { 5107 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 5108 if(!isIOS) { 5109 $(deliveryCity).select2(); 5110 } 5111 } 5112 } 5113 5114 async function renderZip(v, v2, v3) { 5115 const deliveryZip = document.getElementById("zip"); 5116 if(v === '') { 5117 return 5118 } 5119 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 5120 let zip = dataZip?.data?.zip 5121 console.log(zip) 5122 let htmlZip = []
5123 for(let i = 0; i < zip?.length;i++) { 5124 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 5125 } 5126 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 5127 } 5128 5129 renderDate() 5130 renderAddress() 5131 5132 let rupiah = new Intl.NumberFormat('id-ID', { 5133 style: 'currency', 5134 currency: 'IDR', 5135 maximumFractionDigits: 0, 5136 minimumFractionDigits: 0 5137 }); 5138 5139 async function insertCard(data) { 5140 const response = await fetch(`${host}/api/card/new`, { 5141 method: "POST", 5142 headers: { 5143 'Content-Type': 'application/json', 5144 }, 5145 body: data 5146 }) 5147 const result = await response.json() 5148 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 5149 $("#greetingCard").attr("data-index", rowIndex) 5150 return result 5151 } 5152 5153 async function updateCard(data){ 5154 const rowIndex = $("#greetingCard").data("index") 5155 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 5156 method: "PUT", 5157 headers: { 5158 'Content-Type': 'application/json', 5159 }, 5160 body: data 5161 }) 5162 return response 5163 } 5164 5165 function bytesToSize(bytes) { 5166 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 5167 for (var i = 0; i < sizes.length; i++) { 5168 if (bytes <= 1024) { 5169 return bytes + ' ' + sizes[i]; 5170 } else { 5171 bytes = parseFloat(bytes / 1024).toFixed(2) 5172 } 5173 } 5174 return bytes + ' P'; 5175 } 5176 5177 async function uploadMedia(uri, type) { 5178 nameq = $("#properties-nama-penerima").val() 5179 dear = $("#properties-kartu-nama-penerima").val() 5180 card = $("[data-properties=ucapan]").val() 5181 sender = $("#properties-kartu-nama-pengirim").val() 5182 photo = $("#properties-photo").val() 5183 video = $("#properties-video").val() 5184 status = "Product" 5185 5186 const name = qrID 5187 let formData = new FormData(); 5188 formData.append("file", uri); 5189 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5190 method: "POST", 5191 body: formData 5192 }) 5193 const result = await response.json(); 5194 if(result) { 5195 const url = result.url 5196 if(type === 'image/jpeg') { 5197 $("#properties-photo").val(url) 5198 $(".preview-image").show() 5199 $(".remove-image").show() 5200 photo = url 5201 } else { 5202 $("#properties-video").val(url) 5203 $("#label-input-video span").text("Change File") 5204 $(".case-qrcode-preview p").text("Scan here for a secret message") 5205 $(".remove-media").show() 5206 $("#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>`) 5207 $("[for=input-video]").hide() 5208 video = url 5209 } 5210 $(".case-video-preview").show() 5211 $(".steps-card-preview").removeClass("loading") 5212 // updateCard(nameq, dear, card, sender, photo, video, status) 5213 5214 $(".nextBtn").attr("disabled", false) 5215 } 5216 } 5217 5218 function randomString(length, chars) { 5219 var result = ''; 5220 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5221 return result; 5222 } 5223 5224 function getNoteCity(fulldate) { 5225 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5226 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5227 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5228 const d = new Date(h_1); 5229 const day = weekday[d.getDay()]; 5230 const dt = d.getDate(); 5231 const mt = monthly[d.getMonth()]; 5232 const yr = d.getFullYear(); 5233 const p = $("#cities").parent(".form-group") 5234 } 5235 5236 function disabledSameDay() { 5237 let btnFirst = $("#deliveryDate").find("button:first-child") 5238 let getDay = new Date().getDay(); 5239 5240 5241 5242 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5243 if(hour >= 14.00){ 5244 btnFirst.attr("disabled", true) 5245 } 5246 } else if(getDay == 6){ 5247 if(hour >= 16.00){ 5248 btnFirst.attr("disabled", true) 5249 } 5250 } else if(getDay == 0){ 5251 if(hour >= 16.00){ 5252 btnFirst.attr("disabled", true) 5253 } 5254 } 5255 5256 5257 } 5258 5259 function disabledays(date) { 5260 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5261 //if u have to disable a list of day 5262 let removeDays 5263 5264 5265 5266 removeDays = ["2025-2-13", "2025-2-14"]; 5267 5268 if ($.inArray(ymd, removeDays) >= 0) { 5269 return [false]; 5270 } else { 5271 let day = date.getDay(); 5272 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5273 return [(day == 0), '']; 5274 } 5275 5276 if(day == 0){ 5277 return [(day == 0), '']; 5278 } 5279 5280 5281 return [(day != 0), '']; 5282 } 5283 } 5284 5285 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5286 /* Written by Deden Fathurahman ([email protected]). */ 5287 ( function( factory ) { 5288 if ( typeof define === "function" && define.amd ) { 5289 5290 // AMD. Register as an anonymous module. 5291 define( [ "../widgets/datepicker" ], factory ); 5292 } else { 5293 5294 // Browser globals 5295 factory( jQuery.datepicker ); 5296 } 5297 }( function( datepicker ) { 5298 5299 datepicker.regional.id = { 5300 closeText: "Tutup", 5301 prevText: "<mundur", 5302 nextText: "maju>", 5303 currentText: "Today", 5304 monthNames: [ "January","February","March","April","May","Juny", 5305 "July","August","September","October","November","December" ], 5306 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5307 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5308 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5309 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5310 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5311 weekHeader: "Mg", 5312 dateFormat: "D, dd M", 5313 firstDay: 0, 5314 isRTL: false, 5315 showMonthAfterYear: false, 5316 yearSuffix: "" }; 5317 datepicker.setDefaults( datepicker.regional.id ); 5318 5319 return datepicker.regional.id; 5320 5321 } ) ); 5322 5323 function loadPopup() { 5324 $("#backgroundPopup").fadeIn("slow"); 5325 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5326 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5327 if(firstSection.hasClass("purchasePersonalize")) { 5328 if(productType !== '') { 5329 console.log("clarity event " + productType + ' personalize') 5330 window.clarity("event", `${productType} cardPersonalization`) 5331 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5332 } 5333 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5334 console.log("clarity event " + productType + ' personalizeBoard') 5335 window.clarity("event", `${productType} personalizeBoard`) 5336 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5337 } 5338 firstSection.removeClass("hide") 5339 5340 // Auto-trigger addon loading when addon section becomes visible 5341 setTimeout(function() { 5342 const addonSection = $(".purchaseAddon") 5343 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5344 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5345 $("[data-addon=upsell-all]").trigger("click") 5346 } 5347 } 5348 }, 200) 5349 } 5350 5351 function disablePopup() { 5352 $("#backgroundPopup").fadeOut("slow"); 5353 $(".purchasePopup").fadeOut("slow"); 5354 $("#popupCart").fadeOut("slow"); 5355 } 5356
5357 function scrollTo(parent, div, dur) { 5358 $(parent).animate({ 5359 scrollTop: $(div).offset().top 5360 }, dur); 5361 } 5362 5363 function loadPopupPersonalize() { 5364 const div = "#purchaseProduct" 5365 const p = "html, body, .product-meta" 5366 $("p.error").remove() 5367 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5368 const isCity = $("#cities[required]") 5369 const isDate = $("#propDeliveryDate[required]") 5370 const isTime = $("#propDeliveryTime[required]") 5371 // loadPopup() 5372 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5373 loadPopup() 5374 } 5375 if(isCity.val() == '') { 5376 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5377 scrollTo(p, div, 500) 5378 } 5379 if(isDate.val() == '') { 5380 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5381 scrollTo(p, div, 500) 5382 } 5383 if(isTime.val() == '') { 5384 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5385 scrollTo(p, div, 500) 5386 } 5387 } 5388 5389 function quantityCounter() { 5390 $(document).on("click", ".item-card.selected .q_up", function () { 5391 var C = $(this).attr("data-id"), 5392 S = 5393 parseInt( 5394 $(this) 5395 .siblings(".quantity-cart-" + C) 5396 .val() 5397 ) + 1; 5398 $(this).attr("data-quantity", S), 5399 $(this) 5400 .siblings(".quantity-cart-" + C) 5401 .val(S); 5402 }), 5403 $(document).on("click", ".item-card.selected .q_down", function () { 5404 var C = $(this).attr("data-id"), 5405 S = parseInt( 5406 $(this) 5407 .siblings(".quantity-cart-" + C) 5408 .val() 5409 ); 5410 0 < S && $(this).attr("data-quantity", S - 1), 5411 0 < S && 5412 $(this) 5413 .siblings(".quantity-cart-" + C) 5414 .val(S - 1); 5415 }); 5416 } 5417 5418 quantityCounter() 5419 5420 const itemAddon = $(".item-card").length 5421 const nofree = $(".nofree").length 5422 5423 const upsell = '' 5424 5425 if(nofree === itemAddon) { 5426 // $("#itemAddons").html("<p>No Items available</p>") 5427 } 5428 5429 $("#itemAddons .item-card").each(function(e){ 5430 $("#itemAddons").attr("data-length", e) 5431 }) 5432 5433 $("[data-addon]").click(function(){ 5434 5435 5436 5437 const t = $(this) 5438 5439 const data = t.data("addon") 5440 5441 $("[data-addon]").removeClass("selected") 5442 t.addClass("selected") 5443 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5444 const products = data.products 5445 const html = [] 5446 for(let i = 0; i < products.length; i++) { 5447 const id = products[i].id 5448 const variantId = products[i].variants[0].id 5449 const img = products[i].images[0].src 5450 let img2 = img.split('.jpg')[0] 5451 const title = products[i].title 5452 const price = products[i].variants[0].price 5453 const tags = products[i].tags 5454 const qty = products[i].variants[0].available 5455 let type_upsell = '' 5456 if(tags.includes('upsell-item-standing')) { 5457 type_upsell = 'standing' 5458 } 5459 console.log(type_upsell) 5460 if(type_upsell !== '') { 5461 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}"> 5462 5463 <div class="card-image"> 5464 <img src="https://dignitysa.org/${img2}_150x.jpg" alt="${title}" width="" height="" /> 5465 </div> 5466 <div class="card-meta"> 5467 <h5>${title}</h5> 5468 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5469 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5470 </div> 5471 <div class="card-qty"> 5472 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="./jitutoto-logo.png" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5473 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5473" value="0" data-price=${price} name="quantity"> 5474 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="./jitutoto-logo.png" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5475 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5476 </svg></a> 5477 </div> 5478 </div>` 5479 html.push(body) 5480 } 5481 } 5482 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5483 $("#itemAddons").attr("data-length", products.length) 5484 // $('#itemAddons')[0].swiper.update(); 5485 }); 5486 }) 5487 5488 async function isAddon(){ 5489 let ids = [] 5490 $("#itemAddons .item-card.selected").each(function(i, e){ 5491 const id = $(this).data("id") 5492 ids.push(id) 5493 }) 5494 console.log(ids) 5495 return ids 5496 } 5497 5498 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5499 const t = $(this).parent() 5500 const id = t.data("id") 5501 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5502 t.toggleClass("selected"); 5503 //$(this).next("input").toggleAttr('name', 'id[]'); 5504 if (t.hasClass('selected')) { 5505 t.find("input").val(1) 5506 t.find("input").attr('name', 'id[]'); 5507 } else { 5508 t.find("input").val(0) 5509 t.find("input").removeAttr('name'); 5510 } 5511 $("#properties-addons").val(addons) 5512 const is = await isAddon() 5513 if(is.length === 0) { 5514 btn.text("continue without add-ons") 5515 return 5516 } 5517 if(is.includes(8835692069079)) { 5518 btn.text("personalize acrylic frame") 5519 } else { 5520 btn.text("Continue") 5521 } 5522 5523 }) 5524 5525 async function myAddon(data) { 5526 const c = $(".addonsPurchase .addons") 5527 let items = [] 5528 5529 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5530 // if(spotifyAddons.length > 0) { 5531 // $(spotifyAddons).each(function(i, e){ 5532 // const spotifyLink = $(this).find(".spotifyLink").val() 5533 // const spotifySong = $(this).find(".spotifySong").val() 5534 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5535 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5536 // if(spotifyLink !== '') { 5537 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5538 // <div class="addon-itm-img"> 5539 // <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"/> 5540 // </div> 5541 // <div class="addon-itm-title"> 5542 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5543 // </div> 5544 // <div class="addon-itm-line-total"> 5545 // <span>Rp 99.000</span> 5546 // </div> 5547 // </div> 5548 // <div class="propsAddonSpotify row m-0"> 5549 // <div class="col-12 col-lg-2"></div> 5550 // <div class="col-12 col-lg-10"> 5551 // <p> 5552 // <span>spotify link</span> 5553 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5554 // </p> 5555 // <p> 5556 // <span>uploaded photo</span> 5557 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5558 // </p> 5559 // <p> 5560 // <span>song / playlist name</span> 5561 // <span class="spotifySongAddon">${spotifySong}</span> 5562 // </p> 5563 // <p> 5564 // <span>artist name</span> 5565 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5566 // </p> 5567 // </div> 5568 // </div>` 5569 // items.push(spotifyAddon) 5570 // } 5571 // }) 5572 // }
5573 for(let i = 0; i < data.length; i++) { 5574 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5575 const img = data[i].image 5576 const title = data[i].title 5577 const qty = data[i].qty 5578 const price = data[i].price 5579 const total = Number(qty) * Number(price) 5580 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5581 <div class="addon-itm-img"> 5582 <img src="https://dignitysa.org/${img}" alt="" width="70"/> 5583 </div> 5584 <div class="addon-itm-title"> 5585 <span>${title}</span> 5586 </div> 5587 <div class="addon-itm-line-price"> 5588 <span>${rupiah.format(price)}</span> 5589 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5590 </div> 5591 <div class="addon-itm-line-total"> 5592 <span>${rupiah.format(total)}</span> 5593 </div> 5594 </div>` 5595 items.push(addons) 5596 } 5597 } 5598 c.html(items) 5599 const parent = $(".purchaseAddon") 5600 const next = parent.next(".sectionPurchase") 5601 parent.addClass("hide") 5602 next.removeClass("hide") 5603 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5604 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5605 } 5606 5607 async function listAddon() { 5608 const data = $("#itemAddons").find(".selected") 5609 let ids = [] 5610 $(data).each(function(){ 5611 const id = $(this).data("variant") 5612 const image = $(this).find(".card-image img").attr("src") 5613 const title = $(this).find(".card-meta h5").text() 5614 const qty = $(this).find(".card-qty input").val() 5615 const price = $(this).find(".card-qty input").data("price") 5616 ids.push({ 5617 id: Number(id), 5618 image, 5619 title, 5620 qty, 5621 price 5622 }) 5623 }) 5624 myAddon(ids) 5625 } 5626 5627 async function customSpotify(idx, length, type){ 5628 let isCard = false 5629 5630 let p = $(".purchasePopupSpotify") 5631 const preLink = $(".spotifyLinkFirst").val() 5632 $("[data-index]").hide() 5633 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5634 p.find(".regulerAddons, .purchase-button").hide() 5635 p.find(".spotifyAddons").show() 5636 5637 const data = await trackUrl(preLink) 5638 5639 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>
5639<svg xmlns="./jitutoto-logo.png" width="13" height="11" viewBox="0 0 13 11" fill="none"> 5640 <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"/> 5641 </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=./jitutoto-logo.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>
5641<svg xmlns="./jitutoto-logo.png" width="13" height="11" viewBox="0 0 13 11" fill="none"> 5642 <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"/> 5643 </svg> <img src="index.html" 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="https://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>` 5644 // console.log(html) 5645 5646 $(".spotifyAddons").append(html) 5647 5648 $(`[data-index=${idx}]`).show() 5649 5650 if (preLink !== '') { 5651 $(".btn-action .btn").attr("disabled", false) 5652 } else { 5653 $(".btn-action .btn").attr("disabled", true) 5654 } 5655 5656 return html 5657 5658 } 5659 5660 $(".spotifyLinkFirst").keyup(async function(){ 5661 const v = $(this).val() 5662 if(v.includes('spotify:user:spotify')) { 5663 const correct = v.split('user:spotify:')[1] 5664 console.log(correct, 'BNER') 5665 $(this).val(correct) 5666 return 5667 } 5668 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5669 const data = await trackUrl(v) 5670 if(!data || !data.status) { 5671 $(this).parent().addClass("error") 5672 // $(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>`) 5673 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5674 return 5675 } 5676 $(this).parent().removeClass("error") 5677 // $(this).parent().remove("txt-error") 5678 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5679 } else { 5680 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5681 } 5682 }) 5683 5684 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5685 const parent = $(this).parents(".purchaseAddon") 5686 const next = parent.next(".sectionPurchase") 5687 if(next.hasClass("purchaseAddress")) { 5688 if(productType !== '') { 5689 console.log("clarity event " + productType + ' purchaseDelivery') 5690 window.clarity("event", `${productType} purchaseDelivery`) 5691 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5692 } 5693 } 5694 const data = $("#itemAddons").find(".selected") 5695 const length = $(".quantity-cart-46067682607319").val() 5696 const checked = data.length; 5697 if(checked > 0) { 5698 if(length > 0) { 5699 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5700 customSpotify(1, length, 'addon') 5701 } else { 5702 listAddon() 5703 } 5704 } else { 5705 parent.addClass("hide") 5706 next.removeClass("hide") 5707 } 5708 }) 5709 5710 $("#personalizeBtnSpotify .btn").click(async function(){ 5711 const isCity = $("#cities[required]") 5712 const isDate = $("#propDeliveryDate[required]") 5713 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5714 alert('Please choose Delivery City & Delivery Date') 5715 return 5716 } 5717 const data = await customSpotify(1, 1, 'product') 5718 if(data) { 5719 $("#backgroundPopup").fadeIn("slow"); 5720 $(".purchasePopupSpotify").fadeIn("slow"); 5721 5722 if(productType !== '') { 5723 console.log("clarity event " + productType + ' spotify') 5724 window.clarity("event", `${productType} spotify`) 5725 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5726 } 5727 } 5728 }) 5729 5730 function formatBytes(bytes, decimals = 2) { 5731 if (!+bytes) return '0 Bytes' 5732
5733 const k = 1024 5734 const dm = decimals < 0 ? 0 : decimals 5735 const sizes = ['B', 'KB', 'MB'] 5736 5737 const i = Math.floor(Math.log(bytes) / Math.log(k)) 5738 5739 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 5740 } 5741 5742 async function trackUrl(link){ 5743 try { 5744 let trackId = link.split('/').pop().split('?')[0]; 5745 let type = '' 5746 if(link.includes("spotify:")) { 5747 const uri = link.split('spotify:')[1] 5748 trackId = uri.split(':')[1] 5749 type = uri.split(':')[0] + 's' 5750 } else { 5751 if(link.match('track')){ 5752 type = 'tracks' 5753 } else if(link.match('playlist')) { 5754 type = 'playlists' 5755 } else if(link.match('artist')) { 5756 type = 'artists' 5757 } else if(link.match('album')) { 5758 type = 'albums' 5759 } 5760 } 5761 console.log(`${host}/api/spotify/${type}/${trackId}`) 5762 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 5763 console.log(data, 'DATA') 5764 const song = data?.data?.name 5765 const artist = data?.data?.artist 5766 return { 5767 song, artist, type, trackId, status: data.status 5768 } 5769 } catch(err) { 5770 console.log(err) 5771 } 5772 } 5773 5774 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 5775 const parent = $(this).parents("[data-index]") 5776 const preview = parent.find(".previewImage") 5777 const file = $(this)[0].files[0]; 5778 if (file) { 5779 const reader = new FileReader(); 5780 reader.onload = async function(e) { 5781 parent.find(".uploadResult label").hide() 5782 parent.find(".uploadedResult").remove() 5783 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 5784 <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> 5785 <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;">
5785<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="./jitutoto-logo.png"> 5786 <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 /> 5787 </svg> 5788 </span></div></div>`) 5789 parent.find(".frameImageUploaded svg").hide() 5790 parent.find(".frameImage").addClass("uploaded") 5791 preview.attr("src", e.target.result); 5792 preview.show(); 5793 let formData = new FormData(); 5794 formData.append("file", file); 5795 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 5796 method: "POST", 5797 body: formData 5798 }) 5799 const result = await response.json(); 5800 if(result){ 5801 parent.find(".resultPhotoSpotify").val(result.url) 5802 } 5803 } 5804 5805 reader.readAsDataURL(file); 5806 } else { 5807 preview.hide(); 5808 } 5809 }); 5810 5811 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 5812 $(this).next("input[type=file]").trigger("click") 5813 }) 5814 5815 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 5816 $(this).parents("input[type=file]").trigger("click") 5817 }) 5818 5819 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 5820 const parent = $(this).parents("[data-index]") 5821 parent.find(".uploadPhotoSpotify").val("") 5822 parent.find(".uploadResult label").show() 5823 parent.find(".uploadedResult").remove() 5824 parent.find(".frameImageUploaded svg").show() 5825 parent.find(".previewImage").hide() 5826 parent.find(".frameImage").removeClass("uploaded") 5827 }) 5828 5829 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 5830 const parent = $(this).parents("[data-index]") 5831 parent.toggleClass("checked") 5832 }) 5833 5834 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 5835 const parent = $(this).parents("[data-index]") 5836 const link = $(this).val() 5837 const data = await trackUrl(link) 5838 5839 console.log(data) 5840 5841 if(data.song) { 5842 parent.find(".spotifySong").val(data.song) 5843 parent.find(".spotifyData").find("h3").text(data.song) 5844 } 5845 if(data.artist) { 5846 parent.find(".spotifyArtist").val(data.artist) 5847 parent.find(".spotifyData").find("p").text(data.artist) 5848 } 5849 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 5850 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 5851 if (data.status === true) { 5852 parent.find(".btn-action .btn").attr("disabled", false) 5853 } else { 5854 parent.find(".btn-action .btn").attr("disabled", true) 5855 } 5856 }) 5857
5858 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 5859 const parent = $(this).parents("[data-index]") 5860 const v = $(this).val() 5861 parent.find(".spotifyData h3").text(v) 5862 }) 5863 5864 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 5865 const parent = $(this).parents("[data-index]") 5866 const v = $(this).val() 5867 parent.find(".spotifyData p").text(v) 5868 }) 5869 5870 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 5871 const parent = $(this).parents("[data-index]") 5872 const length = parent.data("length") 5873 const index = parent.data("index") 5874 const indexNext = Number(index) + 1 5875 customSpotify(indexNext, length, 'addon') 5876 }) 5877 5878 5879 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 5880 const parent = $(this).parents(".purchaseAddon") 5881 const next = parent.next(".sectionPurchase") 5882 parent.addClass("hide") 5883 next.removeClass("hide") 5884 next.find(".purchase-button").show() 5885 listAddon() 5886 }) 5887 5888 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 5889 const t = $(this).parents("[data-index]") 5890 const parent = $(this).parents(".sectionPurchase") 5891 const current = t.data("index") 5892 const prevCurrent = Number(current) - 1 5893 if(current == 1) { 5894 parent.removeClass("purchaseAddonSpotify") 5895 parent.find(".purchase-button").show() 5896 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 5897 $(".spotifyAddons").empty() 5898 $(".regulerAddons").show() 5899 return 5900 } 5901 t.hide() 5902 t.prev("[data-index]").show() 5903 t.remove() 5904 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 5905 }) 5906 5907 $("#personalizeBtn .btn").click(async function() { 5908 loadPopupPersonalize() 5909 }); 5910 5911 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 5912 $(".sectionPurchaseSpotify").hide() 5913 loadPopupPersonalize() 5914 }) 5915 5916 $(".close-purchase-popup").click(function() { 5917 disablePopup(); 5918 }); 5919 $("#backgroundPopup").click(function() { 5920 // disablePopup(); 5921 }); 5922 5923 $("#popupCart .close-purchase-popup").click(function() { 5924 location.reload() 5925 }); 5926 5927 $('#popupCart').on('hide.bs.modal', function (e) { 5928 location.reload() 5929 }) 5930 5931 $(".next-card").click(function(){ 5932 const parent = $(this).parents(".sectionPurchase") 5933 const next = parent.next(".sectionPurchase") 5934 parent.addClass("hide") 5935 next.removeClass("hide") 5936 }) 5937 5938 $(".back-purchase-button").click(function(){ 5939 const parent = $(this).parents(".sectionPurchase") 5940 const prev = parent.prev(".sectionPurchase") 5941 parent.addClass("hide") 5942 prev.removeClass("hide") 5943 }) 5944 5945 $(document).keypress(function(e) { 5946 if (e.keyCode == 27 && popupStatus == 1) { 5947 disablePopup(); 5948 } 5949 }); 5950 5951 const parentImg = $(".case-img-preview") 5952 const parentVid = $(".case-video-preview") 5953 5954 function readURL(input) { 5955 if (input.files && input.files[0]) { 5956 let reader = new FileReader(); 5957 5958 let type = 'image/jpeg' 5959 const size = input.files[0].size 5960 if(input.files[0].type.match('video/')){ 5961 type = 'video/mp4' 5962 if(size > 15728640) { 5963 alert('File size exceeds maximum limit 15 MB') 5964 return 5965 } 5966 } else { 5967 if(size > 5242880) { 5968 alert('File size exceeds maximum limit 5 MB') 5969 return 5970 } 5971 } 5972 5973 reader.onload = function (e) { 5974 $(".nextBtn").attr("disabled", true) 5975 if(type === 'image/jpeg') { 5976 5977 $('.placeholder-image').hide(); 5978 $('.preview-image').show() 5979 $('.preview-image').attr('src', e.target.result); 5980 5981 } else { 5982 // parentVid.find(".ajax-loader").show(); 5983 $(".steps-card-preview").addClass("loading") 5984 } 5985 } 5986 5987 5988
5989 reader.readAsDataURL(input.files[0]); 5990 } 5991 } 5992 5993 async function readURLPapan(input) { 5994 if (input.files && input.files[0]) { 5995 let reader = new FileReader(); 5996 5997 reader.onload = function (e) { 5998 $('.btn-upload-papan').siblings('label').hide(); 5999 $('.btn-upload-papan img').attr('src', e.target.result); 6000 $('.btn-upload-papan img').show(); 6001 $('.svgLogoPapan').hide(); 6002 } 6003 6004 const type = 'image/jpeg' 6005 const name = `logo-8359546319899-${Date.parse(new Date())}` 6006 6007 let formData = new FormData(); 6008 formData.append("file", input.files[0]); 6009 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6010 method: "POST", 6011 body: formData 6012 }) 6013 const result = await response.json(); 6014 if(result) { 6015 const url = result.url 6016 $("[data-properties=papan-logo]").val(url) 6017 } 6018 6019 reader.readAsDataURL(input.files[0]); 6020 } 6021 } 6022 6023 async function readURLAddress(input) { 6024 console.log(input, 'readURLAddress') 6025 if (input.files && input.files[0]) { 6026 let reader = new FileReader(); 6027 6028 reader.onload = function (e) { 6029 $('.photo-address').attr('src', e.target.result); 6030 $('.photo-address').show(); 6031 } 6032 6033 const type = 'image/jpeg' 6034 const name = input.files[0].name?.split('.')[0] 6035 6036 let formData = new FormData(); 6037 formData.append("file", input.files[0]); 6038 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6039 method: "POST", 6040 body: formData 6041 }) 6042 const result = await response.json(); 6043 6044 reader.readAsDataURL(input.files[0]); 6045 6046 return result 6047 } 6048 } 6049 6050 6051 6052 6053 async function addToCartUang() { 6054 var productAddOnId1 = 42122101162199; 6055 var productAddOnId2 = 42122101194967; 6056 var product_id = 8359546319899 6057 const data = { 6058 items: [ 6059 { 6060 quantity: $("#Quantity-" + productAddOnId1).val(), 6061 id: productAddOnId1, 6062 "properties": { "Time": $("#properties-time").val() } 6063 }, 6064 { 6065 quantity: $("#Quantity-" + productAddOnId2).val(), 6066 id: productAddOnId2, 6067 "properties": { "Time": $("#properties-time").val() } 6068 } 6069 ] 6070 } 6071 await fetch(window.Shopify.routes.root + 'cart/add.js', { 6072 method: 'POST', 6073 headers: { 6074 'Content-Type': 'application/json' 6075 }, 6076 body: JSON.stringify(data) 6077 }) 6078 .then(response => { 6079 console.error('Sukses Buket Uang:', response); 6080 $(".form-flower").submit() 6081 }) 6082 .catch((error) => { 6083 console.error('Error Buket Uang:', error); 6084 $(".form-flower").submit() 6085 }); 6086 } 6087 6088 async function saveCard(){ 6089 let isCard = true 6090 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 6091 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 6092 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 6093 const foto = $("#properties-photo").val() 6094 const video = $("#properties-video").val() 6095 const data = JSON.stringify({ 6096 "id": qrID, 6097 "penerima": $("#properties-nama-penerima").val(), 6098 "kartu_penerima": kartu_penerima, 6099 "kartu_ucapan": kartu_ucapan, 6100 "kartu_pengirim": kartu_pengirim, 6101 "foto": foto, 6102 "video": video, 6103 "productId": "8359546319899", 6104 "order_name": "", 6105 "status": "Cart" 6106 }) 6107 6108 6109 } 6110 6111 async function additem(items){ 6112 try { 6113 let formData = items 6114 if(items?.length) { 6115 formData = { 6116 'items': items 6117 }; 6118 } 6119 6120 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 6121 method: 'POST', 6122 headers: { 6123 'Content-Type': 'application/json', 6124 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 6125 }, 6126 body: JSON.stringify(formData) 6127 }) 6128 6129 const data = await add.json(); 6130 return data 6131 } catch(err){ 6132 console.log('Error additem', err) 6133 } 6134 } 6135 6136 async function addons(){ 6137 let items = [] 6138 $(".addon-item").each(function(){ 6139 const p = $(this) 6140 const props = p.next(".propsAddonSpotify") 6141 const id = $(this).data("id") 6142 const quantity = $(this).data("qty") 6143 const propId = $("#properties-time").val() 6144 let properties = {} 6145 if(id === 46067682607319) { 6146 const link = props.find(".spotifyLinkAddon").text() 6147 const photo = props.find(".spotifyFotoAddon").text() 6148 const song = props.find(".spotifySongAddon").text() 6149 const artist = props.find(".spotifyArtistAddon").text() 6150 properties = { 6151 id: propId, 6152 "Spotify Link": link !== '' ? link : '-', 6153 "Spotify Photo": photo !== '' ? photo : '-', 6154 "Spotify Song": song !== '' ? song : '-', 6155 "Spotify Artist": artist !== '' ? artist : '-', 6156 type: 'addon' 6157 } 6158 } else { 6159 properties = { 6160 "id": propId, 6161 "type": "addon" 6162 } 6163 } 6164 items.push({ 6165 id, 6166 quantity, 6167 properties 6168 }) 6169 }) 6170 return items 6171 } 6172 6173 async function propItems() { 6174 let props = {} 6175 $("[data-properties]").each(function(e){
6176 let elementType = this.tagName; 6177 const k = $(this).data("properties") 6178 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') { 6179 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6180 if(v !== '') { 6181 props[k] = v?.replace(/[\s\n]/g, ''); 6182 } 6183 } 6184 }) 6185 return props 6186 } 6187 6188 async function showPopupCart(items){ 6189 if(productType !== '') { 6190 console.log("clarity event " + productType + ' completeOrder') 6191 window.clarity("event", `${productType} completeOrder`) 6192 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6193 } 6194 $("#popupCart").show() 6195 6196 $(".propDeliveryCity").text($("#cities").val()) 6197 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6198 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6199 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6200 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6201 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6202 $(".propDeliveryProv").text($("#province").val()) 6203 $(".propDeliveryZip").text($("#zip").val()) 6204 6205 6206 6207 const addons = [] 6208 if(items && items.length > 0) { 6209 for(let i = 1; i < items.length; i++) { 6210 const spotifyLink = items[i].properties['Spotify Link'] 6211 const spotifyPhoto = items[i].properties['Spotify Photo'] 6212 const spotifySong = items[i].properties['Spotify Song'] 6213 const spotifyArtist = items[i].properties['Spotify Artist'] 6214 const price = items[i].price / 100 6215 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6216 <div class="col-12 col-lg-2"></div> 6217 <div class="col-12 col-lg-10"> 6218 <p> 6219 <span>spotify link</span> 6220 <span>${spotifyLink}</span> 6221 </p> 6222 <p> 6223 <span>Upload Photo</span> 6224 <span>${spotifyPhoto}</span> 6225 </p> 6226 <p> 6227 <span>song / playlist name</span> 6228 <span>${spotifySong}</span> 6229 </p> 6230 <p> 6231 <span>artist name</span> 6232 <span>${spotifyArtist}</span> 6233 </p> 6234 </div> 6235 </div>` : ''; 6236 addons.push(`<div class="row m-0"> 6237 <div class="imgAddonCart col-2"> 6238 <img 6239 width="43" 6240 src="https://dignitysa.org/${items[i].image}" 6241 alt="" 6242 > 6243 </div> 6244 <div class="imgAddonTitlePrice col-10 align-self-center"> 6245 <div class="row justify-content-between m-0"> 6246 <div class="col-12 col-lg-8"> 6247 <h5>${items[i].title}</h5> 6248 </div> 6249 <div class="col-12 col-lg-4 text-lg-right"> 6250 <span>${rupiah.format(price)}</span> 6251 </div> 6252 </div> 6253 </div> 6254 </div>${props}`) 6255 } 6256 } 6257 // console.log(addons) 6258 if(addons.length === 0) { 6259 $(".itemAddonCart").hide() 6260 return 6261 } 6262 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6263 $(".wrapperItemAddonCart").html(addons) 6264 } 6265 6266 const money = (money) => { 6267 return new Intl.NumberFormat('id-ID', 6268 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6269 ).format(money); 6270 } 6271 6272 async function showNoteMoney() { 6273 let qty50k = $("[data-properties='Uang 50k']").val() 6274 let qty100k = $("[data-properties='Uang 100k']").val() 6275 const total50k = Number(qty50k) * 50000 6276 const total100k = Number(qty100k) * 100000 6277 const total_all = total50k + total100k 6278 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6279 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6280 $(".itemMoney").html(`<p>For the money arrangement, please transfer <strong>IDR ${money(total_all)}</strong> to <strong>Bank Mandiri 1020001234522 (PT Modern Mekar Abadi)</strong> and contact our <a href="https://amp.dignitysa.org/" target="_blank" style="text-decoration: underline;
6280 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6281 } 6282 6283 async function removeImage() { 6284 const data = JSON.stringify({ 6285 "ID": $("#properties-properties-qrId").val(), 6286 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6287 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6288 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6289 "Nama Penerima": $("#properties-nama-penerima").val(), 6290 "Order Number":"", 6291 "Status":"Product", 6292 "Foto": "", 6293 "Media": $("#properties-video").val(), 6294 "Image": "8359546319899" 6295 }) 6296 const remove = updateCard(data) 6297 if(remove) { 6298 $(this).hide() 6299 $("#properties-photo").val("-") 6300 $(".placeholder-image").show() 6301 $(".preview-image").attr("src", "") 6302 } 6303 } 6304 6305 async function removeVideo() { 6306 const data = JSON.stringify({ 6307 "ID": $("#properties-properties-qrId").val(), 6308 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6309 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6310 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6311 "Nama Penerima": $("#properties-nama-penerima").val(), 6312 "Order Number":"", 6313 "Status":"Product", 6314 "Foto": $("#properties-photo").val(), 6315 "Media": "", 6316 "Image": "8359546319899" 6317 }) 6318 const remove = updateCard(data) 6319 if(remove) { 6320 $("#properties-video").val("-") 6321 $(this).find("img").hide() 6322 $(this).hide() 6323 $(this).prev("p").text("Add video to make it more special (optional)") 6324 $("#label-input-video").show() 6325 $("#label-input-video span").text("Upload Video") 6326 $(".case-video-preview p span").remove() 6327 } 6328 } 6329 6330 async function loadItemOccasion(t, occasion) { 6331 const name = occasion?.replace('greeting-card-', '') 6332 $("#kartu-ucapan").val("") 6333 $("[data-occassion]").removeClass("selected") 6334 $("[data-properties=ucapan]").val("") 6335 $("#save-card").attr("disabled", true) 6336 t.addClass("selected") 6337 $("#show_note").attr("data-card-occassion", name) 6338 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6339 const products = data.products 6340 const html = [] 6341 for(let i = 0; i < products.length; i++) { 6342 const id = products[i].id 6343 const variantId = products[i].variants[0].id 6344 const img = products[i].images[0].src 6345 const title = products[i].title 6346 const price = products[i].variants[0].price 6347 const qty = products[i].variants[0].inventory_quantity 6348 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6349 <label for="card-${variantId}"></label> 6350 <div class="card-image"> 6351 <img src="https://dignitysa.org/${img}" alt="${title}" width="" height="" /> 6352 </div> 6353 <div class="card-meta text-center"> 6354 <h5>${title}</h5> 6355 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6356 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6357 </div> 6358 </div>` 6359 html.push(body) 6360 } 6361 const withoutCard = `<div class="item-card item-without-card"> 6362 <label for="card-0"></label> 6363 <div class="card-image"> 6364 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6365 </div> 6366 <div class="card-meta text-center"> 6367 <h5>
6367Send without a greeting card</h5> 6368 <input id="card-0" type="radio" name="id" value="" data-price=""> 6369 </div> 6370 </div>` 6371 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6372 }); 6373 } 6374 6375 $(document).ready(function(){ 6376 6377 // Observer to auto-trigger addon loading when addon section becomes visible 6378 const addonObserver = new MutationObserver(function(mutations) { 6379 mutations.forEach(function(mutation) { 6380 const target = $(mutation.target) 6381 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6382 if(!target.hasClass('hide')) { 6383 // Addon section just became visible, ensure items are loaded 6384 setTimeout(function() { 6385 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6386 console.log("Auto-triggering addon load...") 6387 $("[data-addon=upsell-all]").trigger("click") 6388 } 6389 }, 150) 6390 } 6391 } 6392 }) 6393 }) 6394 6395 // Start observing addon section 6396 const addonSection = document.querySelector('.purchaseAddon') 6397 if(addonSection) { 6398 addonObserver.observe(addonSection, { 6399 attributes: true, 6400 attributeFilter: ['class'] 6401 }) 6402 } 6403 6404 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6405 6406 $(this).find("span").addClass("loading") 6407 let isValid = true 6408 $(".formAddressPurchase [required]").each(function(){ 6409 const t = $(this) 6410 const input = t.val() 6411 const p = t.parent() 6412 if(input === '') { 6413 p.addClass("error") 6414 isValid = false 6415 } 6416 }) 6417 6418 if(!isValid) { 6419 $(this).find("span").removeClass("loading") 6420 return 6421 } 6422 6423 let items = [] 6424 const mainProps = { 6425 6426 "Delivery Date": $("#propDeliveryDate").val(), 6427 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6428 "Kota Pengiriman": $("#cities").val(), 6429 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6430 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6431 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6432 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6433 6434 6435 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6436 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6437 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6438 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6439 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6440 6441 6442 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6443 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6444 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6445 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6446 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6447 "type": 'product' 6448 } 6449 const props = await propItems() 6450 properties = {...mainProps, ...props }; 6451 const id = $("#productSelect").find('option:selected').val() 6452 console.log(id, 'main ID') 6453 const mainItem = { 6454 id: Number(id), 6455 quantity: 1, 6456 properties 6457 } 6458 items.push(mainItem) 6459 const cardId = $("#itemCards").find(".selected input").val() 6460 const cardItem = { 6461 id: Number(cardId), 6462 quantity: 1, 6463 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6464 } 6465 console.log(cardId, 'cardId') 6466 if(cardId) { 6467 items.push(cardItem) 6468 } 6469 const addon = await addons() 6470 if(addon) { 6471 for(let i = 0;
6471 i < addon.length; i++){ 6472 items.push({ 6473 id: addon[i].id, 6474 quantity: addon[i].quantity, 6475 properties: addon[i].properties 6476 }) 6477 } 6478 } 6479 const addItems = await additem(items) 6480 console.log(addItems.items, 'add items') 6481 if(addItems) { 6482 $(this).find("span").removeClass("loading") 6483 disablePopup() 6484 showPopupCart(addItems.items) 6485 6486 localStorage.setItem("items", JSON.stringify(addItems.items)) 6487 } 6488 }) 6489 6490 $("#addtocart-cart .btn").click(async function(){ 6491 const id = $("#productSelect").find('option:selected').val() 6492 const mainProps = { 6493 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6494 type: 'product' 6495 } 6496 const props = await propItems() 6497 const properties = { ...mainProps, ...props }; 6498 const items = { 6499 id: Number(id), 6500 quantity: 1, 6501 properties 6502 } 6503 const addItems = await additem(items) 6504 if(addItems) { 6505 showPopupCart(addItems.items) 6506 localStorage.setItem("items", JSON.stringify(addItems)) 6507 } 6508 }) 6509 6510 $(".formAddressPurchase [required]").change(function(){ 6511 const t = $(this) 6512 const p = t.parent() 6513 const v = t.val() 6514 if(v !== '') { 6515 p.removeClass("error") 6516 } 6517 }) 6518 6519 $("#save-card").click(async function(){ 6520 const parent = $(this).parents(".sectionPurchase") 6521 const next = parent.next(".sectionPurchase") 6522 $(this).find("span").addClass("loading") 6523 const card = await saveCard() 6524 console.log(card, 'ssaveCCC') 6525 if(card?.status === 200 || card?.status === 201) { 6526 $(".scanCard").removeClass("hide") 6527 $(this).find("span").removeClass("loading") 6528 parent.addClass("hide") 6529 next.removeClass("hide") 6530 if(next.hasClass("purchaseAddon")) { 6531 $("[data-addon=upsell-all]").click() 6532 console.log("clarity event addons") 6533 window.clarity("event", `${productType} add-ons`) 6534 // Ensure addon items are loaded when entering addon popup 6535 setTimeout(function() { 6536 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6537 $("[data-addon=upsell-all]").trigger("click") 6538 } 6539 }, 100) 6540 } 6541 if(next.hasClass("purchaseAddress")) { 6542 $("#zip").select2() 6543 } 6544 } 6545 }) 6546 6547 $("#skip-card").click(async function(){ 6548 $("#greetingCard [data-properties]").val("") 6549 $("#properties-photo").val("") 6550 $("#properties-video").val("") 6551 const parent = $(this).parents(".sectionPurchase") 6552 const next = parent.next(".sectionPurchase") 6553 parent.addClass("hide") 6554 next.removeClass("hide") 6555 // $("#itemCards").html("") 6556 removeImage() 6557 removeVideo() 6558 if(next.hasClass("purchaseAddon")) { 6559 $("[data-addon='upsell-all']").click() 6560 console.log("clarity event addons") 6561 window.clarity("event", `${productType} add-ons`) 6562 // Ensure addon items are loaded when entering addon popup 6563 setTimeout(function() { 6564 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6565 $("[data-addon='upsell-all']").trigger("click") 6566 } 6567 }, 100) 6568 } 6569 if(next.hasClass("purchaseAddress")) { 6570 $("#zip").select2() 6571 } 6572 }) 6573 6574 $("#msgCard").click(async function(){ 6575 $(this).parent().addClass("loading") 6576 let occasion = $(".selected[data-occassion]").data("occassion") 6577 occasion = occasion?.replace("greeting-card-", "") 6578 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6579 const d = data?.data 6580 for(let i = 0; i < d.length; i++) { 6581 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6582 const greeting = d[num]?.Greeting 6583 $(".greetingCard textarea").val(greeting) 6584 $(this).parent().removeClass("loading") 6585 } 6586 $("#save-card").attr("disabled", false) 6587 }) 6588 6589 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6590 const parent = $(this).parents(".sectionPurchase") 6591 const next = parent.next(".sectionPurchase") 6592 parent.addClass("hide") 6593 next.removeClass("hide") 6594 }) 6595 6596 $("#editCard").click(function(){ 6597 $(".custom-card").show() 6598 $(".preview-card").hide() 6599 }) 6600 6601 $("#first_name, #last_name").change(function(){ 6602 const v = $(this).val() 6603 const first_name = $("#first_name").val() 6604 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6605 $("[data-properties=nama-penerima]").val(first_name+last_name) 6606 }) 6607 6608 $("[data-occassion]").click(function(){ 6609 const t = $(this) 6610 const p = t.parents(".sectionPurchase") 6611 // $(".greetingCard").addClass("disabled") 6612 const occasion = t.data("occassion") 6613 loadItemOccasion(t, occasion) 6614 }) 6615 6616 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6617 const id = $(this).parent(".item-card").data("id") 6618 const t = $(this).parent(".item-card") 6619 const target = t.find("input") 6620 const v = $('.item-card input[type="radio"]:checked').val(); 6621 $("#itemCards .item-card").removeClass("selected") 6622 t.addClass("selected") 6623 $("#itemCards .item-card").find("input").attr("name", "") 6624 if(target.length > 0) { 6625 target.attr("name", "id[]") 6626 $("#properties-card").val(id) 6627 $(".greetingCard").removeClass("disabled") 6628 $("#skip-card").attr("disabled", false) 6629 } else { 6630 $("#properties-card").val("") 6631 } 6632 }) 6633 6634 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6635 const parent = $(this).parents(".sectionPurchase") 6636 const next = parent.next(".sectionPurchase") 6637 $(".greetingCard").addClass("disabled") 6638 parent.addClass("hide") 6639 next.removeClass("hide") 6640 $("[data-addon=upsell-all]").click() 6641 $("#zip").select2() 6642 }) 6643 6644 $("[data-properties=ucapan]").keyup(function(){ 6645 const v = $(this).val() 6646 const p = $(this).parents(".sectionPurchase") 6647 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6648 if(v.length > 3) { 6649 p.find(".next-purchase-button").attr("disabled", false) 6650 } else { 6651 p.find(".next-purchase-button").attr("disabled", true) 6652 } 6653 }) 6654 6655 $("[data-properties=penerima]").keyup(function(){ 6656 const v = $(this).val() 6657 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6658 }) 6659 6660 $("[data-properties=pengirim]").keyup(function(){ 6661 const v = $(this).val() 6662 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6663 }) 6664 6665 $(document).click(function(e){
6666 6667 if($(e.target).closest('.wrapperPopupCart').length != 0) return false; 6668 // $('#popupCart').fadeOut('slow'); 6669 // location.reload() 6670 }); 6671 6672 $(".toggleAddonCart").click(function(){ 6673 const p = $(this).parent(".itemAddonCart") 6674 p.toggleClass("open") 6675 }) 6676 6677 $(".btnViewCart").click(function(){ 6678 window.location.href = "https://outerbloom.com/cart"; 6679 }) 6680 6681 $(".btnViewCheckout").click(async function(){ 6682 $(this).find("span").addClass("loading") 6683 let zip = $("#zip").val() 6684 const first_name = $("#first_name").val() 6685 const last_name = $("#last_name").val() 6686 const company = $("#company").val() !== '' ? $("#company").val() : '' 6687 const address1 = $("#delivery_address").val() 6688 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6689 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6690 const phone = $("#recipient_number").val() 6691 const city = $("#cities").val() 6692 const province = $("#province").val() 6693 const country = 'Indonesia' 6694 const ver = Date.parse(new Date()) 6695 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}` 6696 6697 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6698 if(clear.status === 200) { 6699 const savedItem = window.localStorage.getItem("items"); 6700 const items = JSON.parse(savedItem) 6701 const addItems = await additem(items) 6702 console.log(addItems, 'new addItems') 6703 if(addItems) { 6704 window.location.href = `https://outerbloom.com/checkout?${params}`; 6705 } 6706 } 6707 }) 6708 6709 $(".btnContinueShopping").click(function(){ 6710 window.location.href = "https://outerbloom.com/"; 6711 }) 6712 6713 if (isIOS) { 6714 $(".empty-state-card").click(function(){ 6715 $("#input-foto").trigger("click") 6716 }) 6717 $(".btn-upload-image").click(function(){ 6718 $("#input-foto").trigger("click") 6719 }) 6720 $("[for=input-video]").click(function(){ 6721 $("#input-video").trigger("click") 6722 }) 6723 $(".btn-upload-papan").click(function(){ 6724 $("#logoPapan").trigger("click") 6725 }) 6726 } 6727 6728 $("[data-properties]").each(function(){ 6729 const select = $(this).parents(".form-group").find("select") 6730 $(this).change(function(){ 6731 const name = $(this).data("properties") 6732 const v = $(this).val() 6733 if (name == 'telepon-penerima') { 6734 let phone = v.replace(/[^0-9]/g, '') 6735 $(this).val(phone); 6736 $("#properties-telepon-penerima").val(phone) 6737 $('.iti__search-input').val('-') 6738 } else { 6739 $("#properties-" + name).val(v) 6740 } 6741 }) 6742 select.on("change", function(){ 6743 const name = $(this).data("properties") 6744 const v = $(this).val() 6745 $("#properties-" + name).val(v) 6746 }) 6747 }) 6748 6749 $("#show_note").click(function(){ 6750 nameq = $("#properties-nama-penerima").val() 6751 dear = $("#properties-kartu-nama-penerima").val() 6752 card = $("[data-properties=ucapan]").val() 6753 sender = $("#properties-kartu-nama-pengirim").val() 6754 photo = $("#properties-photo").val() 6755 video = $("#properties-video").val() 6756 updateCard(nameq, dear, card, sender, photo, video, status) 6757 }) 6758 6759 $(".remove-image").click(function(e){ 6760 e.preventDefault() 6761 $(this).find("img").show() 6762 removeImage() 6763 }) 6764 6765 $(".remove-media").click(function(e){ 6766 e.preventDefault() 6767 $(this).find("img").show() 6768 removeVideo() 6769 }) 6770 6771 6772 6773 $("[data-delivery_method]").click(function(e){
6774 e.preventDefault() 6775 const t = $(this) 6776 const data = t.data("delivery_method") 6777 $("[data-delivery_method]").removeClass("selected") 6778 t.addClass("selected") 6779 $("#cities").val("") 6780 $("#properties-delivery-date").val("-") 6781 $("#deliveryDate button").removeClass("selected") 6782 $("#full-date").val("Full Calendar â") 6783 $("#propDeliveryDate").val("") 6784 const step3 = $("#step-3") 6785 if(data.match('PickUp')) { 6786 $(".selfpickup-point").show() 6787 step3.find("[data-finished=false]").hide() 6788 $("#panel-4").hide() 6789 step3.find("[data-finished=true]").show() 6790 $("#cities").attr("required", false) 6791 $("#form-group-city").hide() 6792 $("#row-delivery-time").hide() 6793 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 6794 $("#propDeliveryTime").attr("required", false) 6795 // $("#deliveryDate").find("button:first-child").addClass("stop") 6796 $(".form-selfpickup").show() 6797 $(".form-delivery").hide() 6798 $(".form-delivery").find("input, textarea, select").val("") 6799 $(".form-delivery").find("input, textarea, select").attr("required", false) 6800 $("#properties-shipping").val("0") 6801 $("#noteDeliveryDate").hide() 6802 $(".form-delivery .form-control").attr("required", false) 6803 $("#stepNav4").hide() 6804 6805 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 6806 6807 6808 6809 if(timeOfDay >= 16.01){ 6810 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 6811 } 6812 } else { 6813 6814 6815 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 6816 step3.find("[data-finished=false]").show() 6817 $("#panel-4").show() 6818 step3.find("[data-finished=true]").hide() 6819 $("#cities").attr("required", true) 6820 $(".selfpickup-point").hide() 6821 $("#form-group-city").show() 6822 $("#cities").val('').trigger('change'); 6823 $("#properties-kota-pengiriman").val("-") 6824 6825 $("#row-delivery-date, #row-delivery-time").show() 6826 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6827 $("#deliveryDate").find("button").removeClass("stop") 6828 $(".form-selfpickup").hide() 6829 $(".form-delivery").show() 6830 $(".form-delivery").find("input, textarea, select").attr("required", true)
6831 $(".form-delivery [data-properties]").attr("readonly", false) 6832 $("#properties-kodepos").val("-") 6833 $("#properties-alamat-penerima").val("-") 6834 $(".form-delivery .form-control").attr("required", true) 6835 $(this).parents(".setup-content").attr("id", "step-1") 6836 6837 $("#stepNav4").show() 6838 } 6839 }) 6840 6841 $("[name=selfpickup]").click(function(){ 6842 const p = $(this).parents(".row-pickup") 6843 const pickupCity = $("input[name='selfpickup']:checked").val(); 6844 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 6845 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 6846 6847 $(".row-pickup").removeClass("selected") 6848 p.addClass("selected") 6849 6850 $("#properties-kota-pengiriman").val(pickupCity) 6851 $("#province").val("Jakarta") 6852 $("#properties-alamat-penerima").val(pickupAddress) 6853 $("#properties-kodepos").val(pickupZip) 6854 }) 6855 6856 $("#cities").change(function(e){ 6857 e.preventDefault() 6858 $(this).parent(".row").find("p.error").remove() 6859 $("#full-date").val("Full Calendar") 6860 $("#deliveryDate, #deliveryDateFull label ").show() 6861 $("#deliveryDateFull").removeClass("filled") 6862 $(".btnChangeDeliveryDate").addClass("hide") 6863 $("#full-date").prop('disabled', false); 6864 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 6865 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 6866 const step3 = $("#step-3") 6867 $("#cityNote").remove() 6868 $("#noteDeliveryDate").hide() 6869 $("#noteDeliveryDate").empty() 6870 let v = $(this).val() 6871 let v2 = $('option:selected', this).attr('data-city'); 6872 let v3 = $('option:selected', this).attr('data-province'); 6873 let price = $('option:selected', this).attr('data-price'); 6874 $("#country").val(v) 6875 $("#properties-kota-pengiriman").val(v) 6876 $("#properties-shipping").val(price) 6877 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 6878 $("#properties-delivery-date, #properties-delivery-time").val("-") 6879 $("#propDeliveryDate, #propDeliveryTime").val("") 6880 let note = $('option:selected', this).attr('data-note'); 6881 if(v === 'Kota Lainnya') { 6882 $("#noteDeliveryDate").show() 6883 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 6884 $("#zip").attr("required", false) 6885 $("#zip").hide() 6886 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 6887 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 6888 $("#row-delivery-date, #row-delivery-time").hide() 6889 $("#properties-shipping").val("") 6890 // $(this).parents(".setup-content").attr("id", "step-2") 6891 6892 } else { 6893 $("#noteDeliveryDate").hide() 6894 $("#zip").attr("required", true) 6895 $("#zip").show() 6896 $("#row-delivery-date, #row-delivery-time").show() 6897 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 6898 $("#deliveryDate").find("button").removeClass("stop") 6899 // $(this).parents(".setup-content").attr("id", "step-1") 6900 6901 } 6902 6903 6904 6905 // if(v !== 'Jakarta') { 6906 // $("[data-type=upsell]").hide() 6907 // } else { 6908 // $("[data-type=upsell]").show() 6909 // } 6910 // $('.collection-addons')[0].swiper.update(); 6911 6912 6913 getProvince(v) 6914 $("#zip").html(`<option value="">Choose Postal Code</option>`) 6915 renderZip(v, v2, v3) 6916 6917 disabledSameDay() 6918 6919 6920 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 6921 6922 $("#cardOccasion, #navAddon, .collection-addons").hide() 6923 6924 $("[data-addon=giftcard]").show() 6925 $("[data-addon=giftcard]").click() 6926 $("#itemAddons").show() 6927 $("#flower-step").addClass("nonjadetabek") 6928 } else { 6929 $("#cardOccasion, #navAddon, .collection-addons").show() 6930 $("[data-addon=all]").click() 6931 $("#flower-step").removeClass("nonjadetabek") 6932 } 6933 6934 if(v !== '') { 6935 $("#personalizeBtn .btn").attr("disabled", false) 6936 } else { 6937 $("#personalizeBtn .btn").attr("disabled", true) 6938 } 6939 6940 }) 6941 6942 $("#zip").change(function(e){
6943 let v = $(this).val() 6944 var city = $("#cities").find('option:selected'); 6945 $("#properties-kodepos").val(v) 6946 if(city === 'Kota Lainnya') { 6947 $(this).attr("required", true) 6948 $("#recipient-address").val("") 6949 } 6950 }) 6951 6952 6953 var minDate = +7 6954 6955 6956 6957 $("#full-date").datepicker({ 6958 minDate, 6959 dateFormat: 'Mdd_yy', //Nop22_2021, 6960 6961 beforeShowDay: disabledays, 6962 6963 onSelect: function (date) { 6964 $("#deliveryDate, #deliveryDateFull label ").hide() 6965 $("#deliveryDateFull").addClass("filled") 6966 $(".btnChangeDeliveryDate").removeClass("hide") 6967 $("#full-date").prop('disabled', true); 6968 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 6969 $(".date-full").addClass("selected") 6970 $(".date-single, .calendar-group").removeClass("selected") 6971 $("#propDeliveryTime").val('') 6972 $("#properties-delivery-time").val('-') 6973 $(".time-single").removeClass("selected") 6974 6975 6976 } 6977 }); 6978 6979 $(".btnChangeDeliveryDate").click(function(){ 6980 $("#deliveryDate, #deliveryDateFull label ").show() 6981 $("#deliveryDateFull").removeClass("filled") 6982 $(".btnChangeDeliveryDate").addClass("hide") 6983 $("#full-date").prop('disabled', false); 6984 }) 6985 6986 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 6987 e.preventDefault() 6988 $(this).parents("#row-delivery-date").find("p.error").remove() 6989 const fulldate = $(this).data("fulldate") 6990 const day = $(this).data("day") 6991 const date = $(this).data("date")
6992 const month = $(this).data("month") 6993 const year = $(this).data("year") 6994 const off_pagi = $(this).data("offpagi") 6995 const off_siang = $(this).data("offsiang") 6996 const off_Malam = $(this).data("offMalam") 6997 $(".calendarbutton").removeClass("selected") 6998 $(this).addClass("selected") 6999 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 7000 $("#propDeliveryTime").val('') 7001 $("#properties-delivery-time").val('-') 7002 $(".calendarbutton2").removeClass("selected") 7003 $("#full-date").val("Full Calendar") 7004 7005 7006 if(off_pagi && timeOfDay > off_pagi) { 7007 $("[data-time=Morning]").attr("disabled", true) 7008 } else { 7009 $("[data-time=Morning]").attr("disabled", false) 7010 } 7011 if(off_siang && timeOfDay > off_siang) { 7012 $("[data-time=Afternoon]").attr("disabled", true) 7013 } else { 7014 $("[data-time=Afternoon]").attr("disabled", false) 7015 } 7016 7017 7018 7019 }) 7020 7021 if(today === 14 && timeOfDay > 17.00) { 7022 $("#deliveryDate button:first-child").attr("disabled", true) 7023 } 7024 7025 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 7026 e.preventDefault() 7027 const time = $(this).data("time") 7028 const date = $("#propDeliveryDate").val() 7029 if(date == '') { 7030 return alert('Silakan pilih tanggal terlebih dahulu') 7031 } 7032 $(".calendarbutton2").removeClass("selected") 7033 $(this).addClass("selected") 7034 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 7035 }) 7036 7037 $('textarea.has-limit, input.has-limit').keyup(function () { 7038 max = this.getAttribute("maxlength"); 7039 let len = $(this).val().length; 7040 let limit = $(this).siblings(".limit"); 7041 if (len > max) { 7042 alert('you have reached the limit'); 7043 } else { 7044 limit.text(`${len}/${max}`); 7045 } 7046 }); 7047 7048 $("#button-action-step .btn").click(function(){ 7049 $(this).find("span").text("Processing..."); 7050 }); 7051 7052 $(".finishBtn").on('click', function() { 7053 $(this).addClass("is-adding"); 7054 // $(this).click(); 7055 }); 7056 7057 $('.setup-panel .nav-item a.btn-success').trigger('click'); 7058 7059 $("#button-action .btn").click(function(){ 7060 $("#flower-step").addClass("block"); 7061 $("#button-action").hide(); 7062 }); 7063 7064 $(".close-how-order").click(function(){ 7065 $("#flower-step").removeClass("block"); 7066 $("#button-action").show(); 7067 }); 7068 7069 $("#input-foto, #input-video").change(function(e){ 7070 readURL(this); 7071 }); 7072 7073 $("#logoPapan").change(function(){ 7074 readURLPapan(this); 7075 }); 7076 7077 $("#address-upload").change(async function(){ 7078 const upload_address = await readURLAddress(this) 7079 if(upload_address) { 7080 const url = upload_address.url 7081 $(".props-address-upload").val(url) 7082 $(".form-address").addClass("address-uploaded") 7083 $(".form-address-upload").addClass("uploaded") 7084 7085 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 7086 } 7087 }) 7088 7089 $(".address-manualy").click(function(){ 7090 $(".form-address-upload").removeClass("uploaded"); 7091 $(".photo-address").hide(); 7092 $(".form-address").removeClass("address-uploaded") 7093 $("#formAddressPurchase").find(".form-control").attr("required", true) 7094 }); 7095 7096 $(".case-video-preview").delegate(".replace-video", "click", function(){ 7097 $("#input-video").trigger("click") 7098 }) 7099 7100 $('.date-single').click(function(e) { 7101 e.preventDefault(); 7102 $('.date-single').removeClass('selected'); 7103 $('#full-date').removeClass('selected'); 7104 $(this).addClass('selected'); 7105 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 7106 }); 7107 $('#full-date').click(function(e){ 7108 e.preventDefault(); 7109 $('.date-single').removeClass('selected'); 7110 $(this).addClass('selected'); 7111 }); 7112 7113 // $("tr").each(function(){ 7114 // if($(this).text().match('SKU')) { 7115 // $(".sku-product").html($(this).parents("table").html()) 7116 // } 7117 // }) 7118 7119 $("#product-image").scroll(function(){ 7120 $(".desc-add").each(function(){ 7121 const img = $(this).find("img") 7122 const src = img.data("src") 7123 img.attr("src", src) 7124 }) 7125 }) 7126 7127 $(".product-fixed").hide() 7128 7129 let target = $("#personalizeBtn") 7130 7131 7132 $(".product-meta").scroll(function() { 7133 if ($(window).scrollTop() >= target.offset().top ) { 7134 $(".product-fixed").addClass("show") 7135 } else { 7136 $(".product-fixed").removeClass("show") 7137 } 7138 }); 7139 7140 $(window).scroll(function() { 7141 if ($(window).scrollTop() >= target.offset().top ) { 7142 $(".product-fixed").addClass("show") 7143 } else { 7144 $(".product-fixed").removeClass("show") 7145 } 7146 }); 7147 }); 7148 </script>
7148 7149 7150
7150<script> 7151 // 7152 </script>
7152 7153 7154
7154<script> 7155 $(document).ready(function(){ 7156 $('table tr td').each(function(){ 7157 var texto = $(this).text(); 7158 var nextto = $(this).next("td"); 7159 var sku = $("#data-sku").val() 7160 if(texto == 'SKU'){ 7161 nextto.text(sku) 7162 } 7163 }); 7164 7165 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 7166 $(".stamped-summary-actions-newreview").text("Tulis Review"); 7167 $("#tab-questions").text("Pertanyaan"); 7168 7169 $(".freeship .icon").click(function(){ 7170 $(".fs-content").slideToggle(); 7171 $(this).parents(".freeship").toggleClass("expand"); 7172 }); 7173 7174 var $easyzoom = $('.easyzoom').easyZoom(); 7175 // Setup thumbnails example 7176 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 7177 $('.thumbnails').on('click', 'a', function(e) { 7178 var $this = $(this); 7179 e.preventDefault(); 7180 // Use EasyZoom's `swap` method 7181 api1.swap($this.data('standard'), $this.attr('href')); 7182 }); 7183 7184 $('#playerID').click(function(){ 7185 var videoURL = $('#VdoID').attr('src'), 7186 dataplay = $('#VdoID').attr('data-play'); 7187 7188 //for check autoplay 7189 //if not set autoplay=1 7190 if(dataplay == 0 ){ 7191 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7192 $('#VdoID').attr('data-play',1); 7193 } 7194 else{ 7195 var videoURL = $('#VdoID').attr('src'); 7196 videoURL = videoURL.replace("?autoplay=1", ""); 7197 $('#VdoID').prop('src',''); 7198 $('#VdoID').prop('src',videoURL); 7199 7200 $('#VdoID').attr('data-play',0); 7201 } 7202 7203 }); 7204 7205 $(".product-photo-thumb-video").click(function(e){ 7206 e.preventDefault(); 7207 7208 var newEmbed = $(this).attr('href'); 7209 $("#featured-image-product").addClass("img-video"); 7210 $("#ProductPhotoImg").hide(); 7211 $("#featured-image-product .video").show(); 7212 $("#featured-image-product iframe").attr('src', newEmbed); 7213 $("#VdoID")[0].src += "&autoplay=1"; 7214 }); 7215 $(".product-single__thumbnail").click(function(evt){ 7216 evt.preventDefault(); 7217 $("#featured-image-product").removeClass("img-video"); 7218 $("#ProductPhotoImg").show(); 7219 $("#featured-image-product .video").hide(); 7220 $("#featured-image-product iframe").attr('src', ''); 7221 }); 7222 7223 if($('#product-meta .short-desc > div').length >= 1){ 7224 //console.log('div detected') 7225 var replacer = $('#product-meta .short-desc > div').contents(); 7226 $('#product-meta .short-desc > div').replaceWith(replacer); 7227 7228 var cAssured = $('.c-assured').detach(); 7229 cAssured.insertAfter('.meta-sds .stock-info'); 7230 } 7231 7232 7233 7234 $(".heading-toggle").click(function(){ 7235 $(this).parent().toggleClass("open") 7236 7237 }); 7238 }); 7239 </script>
7239 7240 7241 7242
7242<script type="application/json" id="ProductJson-Product"> 7243 7244 {"id":8359546319899,"title":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. "} 7245 </script>
7245 7246 7247
7247<script type="application/json" id="VariantJson-Product"> 7248 [ 7249 7250 { 7251 "incoming": false, 7252 "next_incoming_date": null 7253 } 7254 7255 ] 7256 </script>
7256 7257 7258 7259 7260 7261 </div> 7262 7263 7264
7264<script src="https://outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7264 7265 <style> 7266 .stamped-review-header-title, 7267 .stamped-review-header .author, 7268 .stamped-review-content-body, 7269 .stamped-sort-select, 7270 .stamped-review-header .verified-badge[data-type=buyer]:after, 7271 .stamped-review-header-byline, 7272 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7273 .stamped-review {margin-bottom: 0;} 7274 .stamped-review-body {padding-left: 65px;} 7275 .stamped-review:first-child {padding-top: 25px;} 7276 .stamped-review-content {clear: none;} 7277 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7278 .stamped-review-reply-body {padding-left: 65px;} 7279 .stamped-review-header .author {text-transform: capitalize;} 7280 .stamped-questions .stamped-review-content {padding-left: 65px;} 7281 7282 .stamped-pagination {margin: 20px 0 0;} 7283 .stamped-pagination li {position: initial!important;display: inline-block;position: relative;vertical-align: middle;text-decoration: none;-webkit-tap-highlight-color: transparent;-webkit-box-flex: 0;-moz-box-flex: 0;-ms-flex: 0 0 auto;flex: 0 0 auto;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;background: 0 0;text-transform: none;color: #33373D;font-weight: 400;-webkit-transition: background .1s ease,box-shadow .1s ease,color .1s ease;transition: background .1s ease,box-shadow .1s ease,color .1s ease;border: 1px solid #ccc;border-right: none;margin-bottom: 0;} 7284 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7285 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7286 .stamped-pagination li:hover a {background: #ddd;} 7287 .stamped-pagination .next {border-right: 1px solid #ccc;} 7288 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7289 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7290 7291 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7292 #stamped-pagination-question span {font-size: 14px;} 7293 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7294 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7295 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7296 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7297 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7298 7299 @media (max-width: 480px){ 7300 .stamped-review-reply {margin-left: 0!important;} 7301 select.stamped-sort-select {font-size: 13px!important;} 7302 } 7303 7304 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7305 display: block !important; 7306 } 7307 </style> 7308
7308<script> 7309 var selectCallback = function(variant, selector) { 7310 timber.productPage({ 7311 money_format: "Rp {{amount_no_decimals}}", 7312 variant: variant, 7313 selector: selector 7314 }); 7315 }; 7316 7317 jQuery(function($) { 7318 new Shopify.OptionSelectors('productSelect', { 7319 product: 7320 7321 7322 7323 7324 7325 {"id":8359546319899,"title":"JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. "}, 7326 onVariantSelected: selectCallback, 7327 enableHistoryState: true 7328 }); 7329 7330 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7331 7332 7333 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7334 7335 $('.selector-wrapper').hide(); 7336 7337 }); 7338 </script>
7338 7339 7340 7341 7342
7342<script type="application/ld+json"> 7343 { 7344 "@context": "http://schema.org", 7345 "@type": "Product", 7346 "offers": { 7347 "@type": "Offer", 7348 "availability":"https://schema.org/InStock", 7349 "price": 835000, 7350 "priceValidUntil": "05-10-2025", 7351 "priceCurrency": "IDR", 7352 "url": "https://dignitysa.org/" 7353 }, 7354 "brand": { 7355 "@type": "Brand", 7356 "name": "jitutoto" 7357 }, 7358 "sku": "8359546319899", 7359 "gtin13": "Jawa", 7360 "name": "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 7361 "description": "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ", 7362 "category": "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ", 7363 "url": "https://dignitysa.org/", 7364 "image": { 7365 "@type": "ImageObject", 7366 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7367 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7368 "name": "JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.", 7369 "width": 1024, 7370 "height": 1024 7371 } 7372 } 7373 </script>
7373 7374 7375 7376 7377 7378 7379
7379<script id="bss-ltap-hide-price" type="text/javascript" > 7380 !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)}))}
7380)),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)}
7380)),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()}
7380if("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)}
7380if(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");
7380c&&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
7380-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");
7380i&&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
7380--product_buttons");e&&t.push(e)}if(s=c.closest(".product-page--cart-form-block"),s){let e=s.querySelector(".add-to-cart");e&&t.push(e)}if(s=c.closest(".price__sale"),s){let e=s.querySelector(".price-item--regular");e&&t.push(e)}if(s=c.closest(".product-item-v1"),s){let e=s.querySelector(".price-old"),o=s.querySelector(".product-icon-action");e&&t.push(e),o&&t.push(o)}if(s=c.closest(".detail-info > .relative"),s){let e=s.querySelector("#AddToCartForm > .btn-action"),o=s.querySelector('div.shopify-payment-button[data-shopify="payment-button"]'),r=s.querySelector(".product-price > del");e&&t.push(e),o&&t.push(o),r&&t.push(r)}if(s=c.closest(".product-details"),s){let e=s.querySelector(".product-block--form>.product-form--regular");e&&"eurosafetysystems.myshopify.com"!==o&&e.remove();let t=s.querySelector(".button-cart");t&&t.remove()}if("annabellenoeldesigns-com.myshopify.com"==o&&(s=c.closest(".product-block-list__item .card__section"),s)){let e=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE .multivariants_block_qty_box");e&&e.remove();let t=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE .multivariants_block_last_holder .multivariants_block_prc_holder");t&&t.remove();let o=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE #multivariants_add_to_cart_button_h");o&&o.remove();let r=s.querySelector("#MULTIVARIANTS_APP_SECTION_PLACE #multivariants_block_subtotal_h");r&&r.remove()}if("fedua-b2b.myshopify.com"==o){if(s=c.closest(".gp-product-detail .container"),s){let e=s.querySelector(".gp-product-main-button button[type='submit']");e&&e.remove();let t=s.querySelector(".cbb-also-bought-add-to-cart-button");t&&t.remove();let o=s.querySelector(".cbb-also-bought-product-price-container");o&&o.remove()}if(s=c.closest(".gp-product-widget .product-card-grid"),s){let e=s.querySelector(".product-buttons .btn-quick-view ");e&&e.remove()}}if(s=c.closest(".product--price-container"),s){let e=s.querySelectorAll(".product--price-wrapper > a");e.length&&e.forEach(e=>e.remove())}if("linis-bites-b2b.myshopify.com"==window.location.host&&c.querySelector("[bss-customize-ltsp-message]")){let e=c.closest(".price .price__container");if(e){let o=e.querySelector(".unit-price.caption");o&&t.push(o)}}if(s=c.closest(".product-price--wrapper"),s){let e=s.querySelector(".product-price--compare");e&&e.remove()}if(s=c.closest(".price__pricing-group"),s){let e=s.querySelector(".price-item.price-item--regular[data-regular-price]");e&&(e.classList.remove("price-item"),e.classList.remove("price-item--regular"))}if(l.forEach((function(e){c.closest(e)&&t.push(c.closest(e))})),s=c.closest(".product-page-info"),s){let e=s.querySelector("[data-js-footbar-product-limit]");e&&t.push(e)}if(s=c.closest(".product-wrap"),s){let e=s.querySelector(".purchase-details button.button--add-to-cart"),o=s.querySelector(".product-action");if(e&&t.push(e),o&&t.push(o),window.Shopify&&"dermafirmusa.myshopify.com"===window.Shopify.shop){let e=s.querySelector(".price.sale");e&&t.push(e)}}if(s=c.closest(".seven.columns.omega"),s){let e=s.querySelector(".purchase-details__buttons button.shopify-payment-button__button ");e&&t.push(e)}if(s=c.closest("#collectionPr"),s){let e=s.querySelectorAll("#PageContainer .collection .btn.add-to-cart");e.length&&e.forEach(e=>{t.push(e)})}if(s=c.closest(".grid.product-single"),s){let e=s.querySelector('#PageContainer .wrap-product-info button[type="submit"].btn.btn1.pr_btn.addtocart_js');e&&t.push(e)}if(s=c.closest(".gryffeditor"),s){let e=s.querySelector(".module-wrap .gf_add-to-cart.product-form-product-template");e&&t.push(e)}if(s=c.closest(".product-single .product-single__meta"),s){let e=s.querySelector('.product-form__item button[name="add"].product-form__cart-submit');e&&t.push(e)}if(s=c.closest(".shopify-product-form"),s){let e=s.querySelector("#product-price");e&&t.push(e)}if(s=c.closest(".product-item-price"),s){let e=s.querySelector(".money");e&&t.push(e)}if(s=c.closest('main#main[role="main"]'),s){let e=s.querySelector("div.atc-bar");e&&t.push(e)}if(s=c.closest("#CartDrawer"),s){let e=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__details dl .product-option");e&&t.push(e);let o=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__totals .cart-item__price-wrapper");o&&t.push(o);let r=s.querySelector("#CartDrawer-CartItems .cart-item .cart-item__quantity");r&&t.push(r);let c=s.querySelector(".drawer__footer");c&&t.push(c)}if(s=c.closest("#main-cart-items"),s){let e=s.querySelector(".cart-item .cart-item__details dl .product-option");e&&t.push(e);let o=s.querySelector(".cart-item .cart-item__quantity .cart-item__quantity-wrapper");o&&t.push(o);let r=s.querySelector(".cart-item .cart-item__totals.right.small-hide .cart-item__price-wrapper");r&&t.push(r)}if(s=c.closest("#main-cart-footer"),s){let e=s.querySelector(".cart__footer");e&&t.push(e)}if(s=c.closest(".product-single__meta"),s&&window.Shopify&&("asiadirectfurniture.mysh
7380opify.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");
7380e.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=
7380o.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");
7380if(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();
7380let 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()}]); 7381 </script>
7381 7382 7383 </main> 7384 7385 <div id="shopify-section-newsletter" class="shopify-section"><br> 7386 <style> 7387 #shopify-section-newsletter { 7388 background: url(https://ophiuchus.club/img/bacgroundjitutoto.png); 7389 background-attachment: fixed; 7390 margin-bottom: 0; 7391 } 7392 input:-webkit-autofill, 7393 input:-webkit-autofill:hover, 7394 input:-webkit-autofill:active, 7395 input:-webkit-autofill:focus { 7396 -webkit-box-shadow:0 0 0 50px white inset; 7397 -webkit-text-fill-color: #ffffff; 7398 } 7399 .section-newsletter { 7400 max-width: 800px; 7401 margin: auto; 7402 padding: 50px 0; 7403 } 7404 .section-newsletter h2 { 7405 font-weight: 700; 7406 font-size: 24px; 7407 } 7408 .section-newsletter input[type="email"] { 7409 width: 100%; 7410 text-align: center; 7411 border: none; 7412 border-bottom: 1px solid #ffffff; 7413 font-size: 16px; 7414 color: #757575; 7415 background-color: #eeeeee; 7416 } 7417 .section-newsletter .row label { 7418 font-size: 14px; 7419 cursor: pointer; 7420 } 7421 .section-newsletter .radio-inline input { 7422 width: auto; 7423 } 7424 .section-newsletter .btn { 7425 width: 130px; 7426 border: 1px solid #ffffff; 7427 box-shadow: none; 7428 font-size: 16px; 7429 font-weight: 500; 7430 text-transform: uppercase; 7431 } 7432 .section-newsletter form { 7433 margin: 30px 0 60px; 7434 } 7435 .section-newsletter input[type="radio"] { 7436 position: absolute; 7437 width: 1px; 7438 height: 1px; 7439 } 7440 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7441 position: relative; 7442 padding-left: 28px; 7443 cursor: pointer; 7444 line-height: 20px; 7445 display: inline-block; 7446 color: #666; 7447 } 7448 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7449 content: ''; 7450 position: absolute; 7451 left: 0; 7452 top: 0; 7453 width: 18px; 7454 height: 18px; 7455 border: 1px solid #ddd; 7456 border-radius: 100%; 7457 background: #fff; 7458 } 7459 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7460 content: ''; 7461 width: 12px; 7462 height: 12px; 7463 background: #ffffff; 7464 position: absolute; 7465 top: 3px; 7466 left: 3px; 7467 border-radius: 100%; 7468 -webkit-transition: all 0.2s ease; 7469 transition: all 0.2s ease; 7470 } 7471 .section-newsletter [type="radio"]:not(:checked) + label:after { 7472 opacity: 0; 7473 -webkit-transform: scale(0); 7474 transform: scale(0); 7475 } 7476 .opt-newsletter {display:none;} 7477 .footer-newsletter p, .footer-newsletter p a { 7478 color: #757575; 7479 } 7480 @media (max-width:991px){ 7481 .section-newsletter h2 { 7482 font-size: 32px; 7483 } 7484 .section-newsletter input { 7485 width: 300px; 7486 font-size: 14px; 7487 } 7488 .section-newsletter { 7489 padding: 50px 20px; 7490 } 7491 } 7492 @media (max-width: 480px){ 7493 .section-newsletter input[type="email"] {font-size: 16px;} 7494 } 7495 </style> 7496 <style> 7497 .icon-img-footer { 7498 width: 80px; 7499 padding: 0px 5px; 7500 } 7501 @media (min-width: 768px) { 7502 .icon-img-footer { 7503 width: 120px; 7504 } 7505 } 7506 @media (min-width: 992px) { 7507 .icon-img-footer { 7508 width: 120px; 7509 } 7510 } 7511 7512 .button-login-daftar { 7513 display: grid; 7514 grid-template-columns: repeat(2, 1fr); 7515 font-weight: 700; 7516 } 7517 .button-login-daftar a { 7518 text-align: center; 7519 } 7520 .login, 7521 .register { 7522 color: #fff; 7523 padding: 15px 10px; 7524 font-size: 23px; 7525 } 7526 .login, 7527 .login-button { 7528 background: linear-gradient(to bottom,#1eff00 0,#00ff0d 100%); 7529 border: 2px solid #ffffff; 7530 } 7531 .register, 7532 .register-button { 7533 background: linear-gradient(to bottom,#003cff 0,#0026ff 100%); 7534 border: 2px solid #ffffff; 7535 } 7536 7537 7538 7539 </style> 7540 7541 <!-- wp:html --> 7542
7542<script> 7543 document.addEventListener('DOMContentLoaded', 7544 function(){const faqItems=document.querySelectorAll('.faq-item'); 7545 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7546 question.addEventListener('click', 7547 ()=>{const isActive=item.classList.contains('active'); 7548 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7549 if(!isActive){item.classList.add('active')}})})}); 7550 </script>
7550 7551 7552 7553 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7554 </div> 7555 <section class="fx-video-bg"> 7556 <video autoplay muted loop playsinline> 7557 <source src="./jitutoto-logo.png" type="video/mp4"> 7558 </video> 7559 <div class="fx-video-overlay"></div> 7560 7561 <div class="fx-article-wrap"> 7562 <article class="fx-article"> 7563 <section class="clean-container"> 7564 <div class="clean-wrap"> 7565 <h1 class="clean-title">JITUTOTO : Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo.</h1> 7566 <div class="clean-divider"></div> 7567 <div class="clean-article"> 7568 7569 <p>Presiden Prabowo Subianto menegaskan bahwa Indonesia harus memiliki kedaulatan penuh atas pengelolaan dan perdagangan sumber daya alam yang dimiliki bangsa. Menurutnya, selama bertahun-tahun nilai dan harga berbagai komoditas strategis Indonesia kerap ditentukan oleh pihak luar, sehingga sebagian besar manfaat ekonomi yang dihasilkan tidak sepenuhnya dinikmati oleh masyarakat Indonesia.</p> 7570 7571<p>Dalam amanatnya pada peringatan Hari Lahir Pancasila di Jakarta, Presiden menyampaikan bahwa keuntungan dari sektor sumber daya alam seharusnya dapat memberikan dampak yang lebih besar terhadap pembangunan nasional, peningkatan kesejahteraan masyarakat, serta penguatan ekonomi dalam negeri.</p> 7572<p>Sebagai langkah strategis, pemerintah memutuskan untuk membentuk mekanisme ekspor komoditas melalui satu pintu yang dikelola oleh PT Danantara Sumberdaya Indonesia (DSI). Melalui kebijakan tersebut, pemerintah berharap pengelolaan devisa hasil ekspor dapat dilakukan secara lebih efektif, transparan, dan memberikan nilai tambah yang optimal bagi perekonomian nasional.</p> 7573 7574<p>Selain itu, pemerintah juga berkomitmen mempercepat program hilirisasi di berbagai sektor industri. Kebijakan ini bertujuan agar proses pengolahan komoditas dilakukan di dalam negeri sehingga mampu menciptakan lapangan kerja baru, meningkatkan investasi, serta memperkuat daya saing Indonesia di pasar global.</p> 7575<p>Presiden menegaskan bahwa arah pembangunan ekonomi Indonesia harus berlandaskan prinsip Ekonomi Pancasila, yakni sistem ekonomi yang berpihak kepada kepentingan rakyat, menjunjung pemerataan, serta mendorong pertumbuhan yang berkeadilan. Dalam konsep tersebut, koperasi, usaha mikro, kecil, dan menengah (UMKM), serta pembangunan desa menjadi elemen penting dalam menciptakan pemerataan ekonomi nasional.</p> 7576 7577<p>Di tengah transformasi ekonomi yang terus berlangsung, perkembangan sektor digital juga dipandang memiliki kontribusi yang semakin signifikan terhadap pertumbuhan ekonomi modern. Berbagai industri berbasis teknologi, termasuk platform hiburan digital, layanan interaktif daring, analisis data, hingga ekosistem hiburan berbasis prediksi seperti Toto4D, live bet, dan berbagai bentuk hiburan online lainnya, berkembang seiring meningkatnya penetrasi internet dan inovasi teknologi di Indonesia.</p> 7578 7579<p>Pengamat ekonomi menilai bahwa apabila pengelolaan sumber daya alam, investasi industri, dan transformasi digital dapat berjalan beriringan, Indonesia memiliki peluang besar untuk memperkuat fondasi ekonomi nasional sekaligus menciptakan pusat-pusat pertumbuhan baru di berbagai daerah. Dengan demikian, manfaat pembangunan tidak hanya dirasakan oleh kelompok tertentu, tetapi dapat dinikmati secara merata oleh seluruh lapisan masyarakat sesuai dengan semangat keadilan sosial yang terkandung dalam nilai-nilai Pancasila.</p> 7580 7581<p>Melalui berbagai kebijakan tersebut, pemerintah berharap Indonesia mampu menjadi negara yang lebih mandiri secara ekonomi, memiliki daya saing global yang kuat, serta mampu mengoptimalkan seluruh potensi nasional demi kemakmuran rakyat dalam jangka panjang.</p> 7582 7583 7584 7585 </div> 7586 7587 <section class="neo-block" id="faq"> 7588 <div class="neo-head"><span class="neo-dot"></span><span>FAQ Eksklusif jitutoto</span></div> 7589 7590 <div class="neo-faq"> 7591 <details class="neo-item"> 7592 <summary>Apa fungsi utama dari Situs Alternatif Resmi jitutoto dan bagaimana cara kerjanya?</summary> 7593 <div class="neo-ans">Fungsi utama dari Situs Alternatif resmi kami adalah sebagai jalur gerbang penyelamat untuk mengatasi kendala pemblokiran tautan utama akibat regulasi internet positif. Cara kerjanya sangat aman; jalur alternatif ini menggunakan sistem pengalihan domain terenkripsi yang terhubung langsung ke server pusat jitutoto. Pengguna dapat melakukan login, bertransaksi, dan bermain dengan lancar tanpa perlu menggunakan aplikasi pihak ketiga atau VPN yang berisiko memperlambat koneksi internet Anda.</div> 7594 </details> 7595 7596 <details class="neo-item"> 7597 <summary>Bagaimana sistem Slot88 Gacor di platform ini menjamin peluang kemenangan yang adil bagi pemain?</summary> 7598 <div class="neo-ans">Ekosistem game Slot88 gacor di platform kami dikelola menggunakan mesin RNG (Random Number Generator) yang telah tersertifikasi oleh lembaga audit independen internasional. Sistem ini memastikan bahwa setiap putaran slot murni menghasilkan kombinasi acak tanpa intervensi manual. Didukung dengan pembaruan data persentase kemenangan yang transparan, pemain dapat menyusun strategi taruhan secara objektif untuk meraih potensi jackpot atau JP yang realistis.</div> 7599 </details> 7600 7601 <details class="neo-item"> 7602 <summary>Mengapa layanan Bandar Togel Hongkong Lotto di situs ini dikategorikan sebagai kelas Top Tier?</summary> 7603 <div class="neo-ans">Layanan kami menyandang predikat Top Tier karena kami menerapkan standarisasi akurasi data tingkat tinggi. Sebagai bandar togel makro, seluruh hasil pengundian angka pada pasaran togel Hongkong lotto disinkronisasikan secara langsung dengan data live draw pusat loto Hongkong secara real-time. Keabsahan data ini menutup rapat celah manipulasi angka, memberikan perlindungan mutlak bagi para pencinta analisis angka jitu.</div> 7604 </details> 7605 7606 <details class="neo-item"> 7607 <summary>Apa jaminan konkret bahwa data pribadi dan dana transaksi saya aman dari kebocoran cyber?</summary> 7608 <div class="neo-ans">Kami melindungi seluruh privasi pengguna menggunakan protokol keamanan finansial tercanggih, termasuk enkripsi SSL (Secure Sockets Layer) 256-bit. Sistem keamanan ini bertugas mengunci seluruh lalu lintas data pendaftaran, kata sandi, dan riwayat transaksi. Selain itu, database kami disimpan dalam server terisolasi yang diawasi penuh selama 24 jam, menjamin informasi sensitif Anda tidak akan pernah bocor ke pihak luar.</div> 7609 </details> 7610 7611 <details class="neo-item"> 7612 <summary>Apakah jitutoto memiliki lisensi resmi yang diakui secara internasional untuk operasional taruhan angka?</summary> 7613 <div class="neo-ans">Ya, mutlak. Platform ini beroperasi secara legal dengan kepemilikan lisensi resmi dari WLA (World Lottery Association). Sertifikasi WLA merupakan pengakuan tert
7613inggi dalam industri loto global, yang membuktikan bahwa tata kelola keuangan, keadilan sistem permainan, dan regulasi operasional di platform kami telah lolos audit ketat dan memenuhi standar hukum internasional.</div> 7614 </details> 7615 7616 <details class="neo-item"> 7617 <summary>Bagaimana kebijakan platform mengenai penarikan dana jika member berhasil memenangkan JP bernilai besar?</summary> 7618 <div class="neo-ans">Kami menerapkan kebijakan jaminan bayar 100% tanpa syarat yang rumit. Didukung oleh manajemen likuiditas yang sehat dan kemitraan finansial yang solid dengan bank-bank terkemuka serta penyedia e-wallet, berapapun total hadiah kemenangan yang Anda dapatkan baik dari multiplier slot maupun tebakan angka togel Hongkong proses penarikan dana akan langsung diproses secara instan dan utuh tanpa ada potongan tersembunyi.</div> 7619 </details> 7620</div> 7621 </details> 7622 </div> 7623</section> 7624 7625<section class="neo-block" id="testimoni" style="margin-top:16px"> 7626 <div class="neo-head"><span class="neo-dot"></span><span>TESTIMONI MEMBER jitutoto</span></div> 7627 7628 <div class="neo-testi-grid" aria-label="Testimoni"> 7629 <article class="neo-testi"> 7630 <div class="neo-top"><div class="neo-title">Keamanan Link Terjamin</div><div class="neo-stars">â â â â â </div></div> 7631 <div class="neo-name">Budi Setiawan</div> 7632 <div class="neo-text">Saya mendukung langkah Presiden Prabowo yang ingin memperkuat pengelolaan sumber daya alam Indonesia. Sudah saatnya keuntungan dari kekayaan bangsa lebih banyak dirasakan oleh masyarakat dalam negeri.</div> 7633 </article> 7634 7635 <article class="neo-testi"> 7636 <div class="neo-top"><div class="neo-title">RTP Live Akurat, Gulungan Anti-Setelan</div><div class="neo-stars">â â â â â </div></div> 7637 <div class="neo-name">Rian Hidayat</div> 7638 <div class="neo-text">Kebijakan ekspor satu pintu menurut saya merupakan terobosan yang menarik. Jika dijalankan dengan baik, pengawasan terhadap hasil ekspor dapat menjadi lebih transparan dan efektif.</div> 7639 </article> 7640 7641 <article class="neo-testi"> 7642 <div class="neo-top"><div class="neo-title">Sensasi RNG yang Adil</div><div class="neo-stars">â â â â â </div></div> 7643 <div class="neo-name">Tole Masdiw</div> 7644 <div class="neo-text">Fokus pemerintah terhadap hilirisasi sangat penting karena mampu menciptakan lapangan kerja baru serta meningkatkan nilai tambah komoditas nasional.</div> 7645 </article> 7646 7647 <article class="neo-testi"> 7648 <div class="neo-top"><div class="neo-title">Komitmen Jaminan Bayar 100%</div><div class="neo-stars">â â â â â </div></div> 7649 <div class="neo-name">Sutan kokop</div> 7650 <div class="neo-text">Saya senang mendengar komitmen pemerintah untuk memperkuat koperasi dan UMKM. Sektor ini memang menjadi tulang punggung ekonomi rakyat yang perlu mendapat perhatian lebih besar.</div> 7651 </article> 7652 7653 <article class="neo-testi"> 7654 <div class="neo-top"><div class="neo-title">Pelayanan CS 24 Jam yang Responsif</div><div class="neo-stars">â â â â â </div></div> 7655 <div class="neo-name">Hanabi Coki</div> 7656 <div class="neo-text">Pernyataan Presiden mengenai pemerataan hasil pembangunan menunjukkan bahwa pertumbuhan ekonomi tidak hanya mengejar angka, tetapi juga kesejahteraan masyarakat secara luas.</div> 7657 </article> 7658 7659 <article class="neo-testi"> 7660 <div class="neo-top"><div class="neo-title">Validitas Lisensi Internasional WLA</div><div class="neo-stars">â â â â â </div></div> 7661 <div class="neo-name">Lula Mame</div> 7662 <div class="neo-text">Transformasi ekonomi yang dikombinasikan dengan perkembangan sektor digital dapat membuka banyak peluang baru bagi generasi muda dan pelaku usaha di berbagai daerah.</div> 7663 </article> 7664 7665 <article class="neo-testi"> 7666 <div class="neo-top"><div class="neo-title">Kenyamanan Navigasi Mobile</div><div class="neo-stars">â â â â â </div></div> 7667 <div class="neo-name">Kolo Manesa</div> 7668 <div class="neo-text">Langkah menjaga devisa hasil ekspor agar memberikan manfaat maksimal bagi Indonesia merupakan strategi yang relevan di tengah persaingan ekonomi global yang semakin ketat.</div> 7669 </article> 7670 7671 <article class="neo-testi"> 7672 <div class="neo-top"><div class="neo-title">Solusi Cerdas Pengalihan Server</div><div class="neo-stars">â â â â â </div></div> 7673 <div class="neo-name">Fahri Mamud</div> 7674 <div class="neo-text">Saya melihat arah kebijakan ini mencerminkan semangat ekonomi kerakyatan sebagaimana yang dicita-citakan para pendiri bangsa melalui Pasal 33 UUD 1945.</div> 7675 </article> 7676 7677 <article class="neo-testi"> 7678 <div class="neo-top"><div class="neo-title">Standar Keamanan Finansial Berlapis</div><div class="neo-stars">â â â â â </div></div> 7679 <div class="neo-name">Kecil Santoni</div> 7680 <div class="neo-text">Apabila pengelolaan sumber daya alam, investasi industri, dan pengembangan ekonomi digital dapat berjalan
7680selaras, Indonesia memiliki peluang besar untuk menjadi kekuatan ekonomi yang semakin mandiri dan berdaya saing tinggi.</div> 7681 </article> 7682 </div> 7683</section> 7684 7685 7686 7687 <style id="neo-faq-testi-styles"> 7688 .neo-block { 7689 position: relative; 7690 margin: 10px 7691 } 7692 7693 .neo-head { 7694 display: flex; 7695 align-items: center; 7696 gap: 10px; 7697 margin: 10px 0 12px; 7698 font-weight: 800; 7699 letter-spacing: .9px; 7700 font-size: 14px; 7701 color: #ffffff; 7702 text-transform: uppercase 7703 } 7704 7705 .neo-dot { 7706 width: 10px; 7707 height: 10px; 7708 border-radius: 50%; 7709 background: radial-gradient(circle at 30% 30%, #ff0000, rgb(83 62 0)); 7710 box-shadow: 0 0 0 4px rgba(255, 202, 40, .15), 0 0 18px rgba(255, 202, 40, .35) 7711 } 7712 7713 .neo-faq { 7714 display: grid; 7715 gap: 10px 7716 } 7717 7718 .neo-item { 7719 border-radius: 16px; 7720 border: 1px solid rgb(255 0 0 / 76%); 7721 background: linear-gradient(135deg, rgb(255 0 0), rgb(255 192 0)); 7722 box-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 0 18px 50px rgba(0, 0, 0, .45); 7723 overflow: hidden 7724 } 7725 7726 .neo-item summary { 7727 list-style: none; 7728 cursor: pointer; 7729 padding: 14px 14px 14px 16px; 7730 position: relative; 7731 font-weight: 700; 7732 color: #fff 7733 } 7734 7735 .neo-item summary::-webkit-details-marker { 7736 display: none 7737 } 7738 7739 .neo-item summary:after { 7740 content: "+"; 7741 position: absolute; 7742 right: 14px; 7743 top: 50%; 7744 transform: translateY(-50%); 7745 width: 34px; 7746 height: 34px; 7747 display: grid; 7748 place-items: center; 7749 border-radius: 12px; 7750 background: rgba(0, 0, 0, .35); 7751 border: 1px solid rgba(255, 202, 40, .25); 7752 box-shadow: 0 0 0 1px rgba(255, 255, 255, .05), 0 8px 18px rgba(0, 0, 0, .35); 7753 transition: transform .2s ease 7754 } 7755 7756 .neo-item[open] summary:after { 7757 content: "ââ¬â"; 7758 transform: translateY(-50%) rotate(180deg) 7759 } 7760 7761 .neo-ans { 7762 padding: 0 16px 14px; 7763 color: rgba(255, 255, 255, .88); 7764 line-height: 1.6 7765 } 7766 7767 .neo-item[open] { 7768 border-color: rgba(255, 202, 40, .45) 7769 } 7770 7771 .neo-testi-grid { 7772 display: grid; 7773 grid-template-columns: repeat(3, minmax(0, 1fr)); 7774 gap: 12px 7775 } 7776 7777 .neo-testi { 7778 border-radius: 18px; 7779 padding: 14px 14px 14px 14px; 7780 background: 7781 radial-gradient(80% 80% at 0% 0%, rgb(255 40 40), #ff7400 60%), radial-gradient(70% 70% at 100% 0%, rgb(255 186 0), #fff700 55%), linear-gradient(135deg, rgba(0, 0, 0, .42), rgb(255 129 0)); 7782 box-shadow: 0 0 0 1px rgba(255, 255, 255, .04), 0 18px 55px rgba(0, 0, 0, .5); 7783 position: relative; 7784 overflow: hidden 7785 } 7786 7787 .neo-testi:before { 7788 content: ""; 7789 position: absolute; 7790 inset: -2px; 7791 background: linear-gradient(90deg, transparent, rgba(255, 202, 40, .25), transparent); 7792 filter: blur(10px); 7793 opacity: .8; 7794 animation: neoSweep 3.6s ease-in-out infinite 7795 } 7796 7797 @keyframes neoSweep { 7798 0% { 7799 transform: translateX(-40%) 7800 } 7801 7802 50% { 7803 transform: translateX(40%) 7804 } 7805 7806 100% { 7807 transform: translateX(-40%) 7808 } 7809 } 7810 7811 .neo-testi>* { 7812 position: relative; 7813 z-index: 1 7814 } 7815 7816 .neo-top { 7817 display: flex; 7818 align-items: center; 7819 justify-content: space-between; 7820 gap: 10px; 7821 margin-bottom: 6px 7822 } 7823 7824 .neo-title { 7825 font-weight: 800; 7826 color: #fff 7827 } 7828 7829 .neo-stars { 7830 font-size: 13px; 7831 letter-spacing: 1px; 7832 color: #ffca28; 7833 text-shadow: 0 0 10px rgba(255, 202, 40, .22) 7834 } 7835 7836 .neo-name { 7837 font-weight: 700; 7838 color: rgba(255, 255, 255, .9); 7839 margin-bottom: 6px 7840 } 7841 7842 .neo-text { 7843 color: rgba(255, 255, 255, .85); 7844 line-height: 1.55 7845 } 7846 7847 @media (max-width: 991px) { 7848 .neo-testi-grid { 7849 grid-template-columns: repeat(2, minmax(0, 1fr)) 7850 } 7851 } 7852 7853 @media (max-width: 575px) { 7854 .neo-testi-grid { 7855 grid-template-columns: 1fr 7856 } 7857 7858 .neo-item summary { 7859 padding-right: 56px 7860 } 7861 } 7862 7863 .footer-main>.container, .cms-section .footer-main>.boxed { 7864 padding-top: 15px; 7865 } 7866 </style> 7867 </article> 7868 </div> 7869</section> 7870 7871 </div> 7872 7873 7874 <div class="overlay overlay-cart"></div> 7875 <div id="CartDrawer" class="drawer drawer--right"> 7876 <div class="drawer__header pl-2 pr-2"> 7877 <div class="drawer__icon-cart display-table-cell"> 7878 <a href="https://dignitysa.org/cart" class=""> 7879 <svg class="icon icon-cart" version="1.1" xmlns="./jitutoto-logo.png" width="32" height="32" viewBox="0 0 32 32"> <path fill="#fff" d="M13.638 23.203c0 0 3.5-2.113 3.502-4.11 0.002-2.304-2.689-3.537-3.497-1.76-0.916-1.778-3.493-1.714-3.497 0.59-0.003 1.999 3.491 5.28 3.491 5.28z"></path> <path fill="#fff" d="M8.112 9.809v16.662l11.063 2.491v-17.58l-11.063-1.5
787973zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></path> <path fill="#fff" d="M23.7 10.046l-3.275 0.146-0.388 0.897v17.656l3.664-2.174v-16.526zM24.346 27.214l-4.526 2.685c-0.287 0.17-0.646-0.043-0.646-0.385v-18.519l0.037-0.181 0.534-1.235c0.067-0.154 0.212-0.256 0.375-0.263l3.991-0.178c0.245-0.011 0.45 0.191 0.45 0.444v17.247c0 0.159-0.082 0.306-0.216 0.385z"></path> <path fill="#000" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M20.772 27.081l-0.501 2.383c-0.050 0.24-0.28 0.392-0.512 0.34s-0.38-0.289-0.33-0.528l0.569-2.707v-16.588c0-0.245 0.193-0.444 0.431-0.444s0.431 0.199 0.431 0.444v16.215l3.296 0.189c0.238 0.014 0.42 0.223 0.406 0.468s-0.217 0.433-0.454 0.419l-3.335-0.191z"></path> <path fill="#fff" d="M11.336 8.354l-0.257-0.333c-0.243-0.315 0.012-0.774 0.398-0.717l12.51 1.838c0.236 0.035 0.399 0.26 0.366 0.503s-0.252 0.412-0.487 0.377l-11.436-1.68 0.056 0.073c0.209 0.27 0.052 0.672-0.281 0.718l-4.467 0.607c-0.236 0.032-0.452-0.139-0.484-0.383s0.135-0.467 0.371-0.499l3.711-0.504z"></path> <path fill="#fff" d="M17.152 11.344c0.026-0.003 0.053-0.005 0.079-0.005 0.357 0 0.645 0.297 0.645 0.665s-0.288 0.665-0.645 0.665c-0.322 0-0.59-0.245-0.637-0.565-0.383-0.45-0.515-1.321-0.521-2.536-0.003-0.556 0.026-1.149 0.076-1.739 0.028-0.339 0.057-0.603 0.074-0.735 0.195-2.391-2.008-3.379-3.568-1.658-0.64 0.707-1.041 1.855-1.266 3.412-0.092 0.634-0.137 1.111-0.194 2.024 0.107 0.119 0.172 0.278 0.172 0.453 0 0.342-0.251 0.624-0.573 0.661-0.031 0.005-0.064 0.007-0.097 0.005-0.015-0.001-0.029-0.003-0.044-0.005-0.324-0.036-0.576-0.318-0.576-0.661 0-0.218 0.102-0.412 0.259-0.533 0.058-0.924 0.105-1.415 0.201-2.075 0.249-1.719 0.703-3.020 1.489-3.888 2.114-2.335 5.321-0.897 5.054 2.359-0.018 0.141-0.045 0.392-0.072 0.717-0.047 0.566-0.075 1.133-0.073 1.658 0.004 0.839 0.098 1.47 0.216 1.78z"></path> <path fill="#fff" d="M14.43 8.138c-0.008 0.245-0.207 0.438-0.445 0.43s-0.424-0.213-0.417-0.459c0.001-0.026 0.001-0.026 0.002-0.051 0.029-0.909 0.047-1.282 0.102-1.792 0.164-1.528 0.58-2.665 1.434-3.481 2.037-1.949 5.235-0.623 5.066 2.208-0.007 0.119-0.018 0.331-0.029 0.608-0.022 0.539-0.033 1.084-0.029 1.59 0.007 0.797 0.053 1.412 0.139 1.744 0.062 0.237-0.075 0.481-0.305 0.544s-0.466-0.077-0.528-0.314c-0.111-0.427-0.161-1.097-0.168-1.966-0.004-0.523 0.007-1.081 0.029-1.634 0.011-0.284 0.023-0.502 0.030-0.626 0.119-1.995-2.13-2.927-3.619-1.501-0.673 0.644-1.021 1.591-1.164 2.927-0.051 0.479-0.069 0.838-0.097 1.723-0.001 0.026-0.001 0.026-0.002 0.052z"></path> </svg> 7880 </a> 7881 </div> 7882 <div class="drawer__title h4">Keranjang Belanja</div> 7883 <div class="drawer__close js-drawer-close"> 7884 <button type="button"> 7885 <svg class="icon icon-close" version="1.1" xmlns="./jitutoto-logo.png" width="32" height="32" viewBox="0 0 32 32"> 7886 <title>icon-close</title> 7887 <path d="M16.943 16l8.862 8.862c0.26 0.26 0.26 0.682 0 0.943s-0.682 0.26-0.943 0l-8.862-8.862-8.862 8.862c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l8.862-8.862-8.862-8.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8.862 8.862 8.862-8.862c0.26-0.26 0.682-0.26 0.943 0s0.26 0.682 0 0.943l-8.862 8.862z"></path> 7888 </svg> 7889 </button> 7890 </div> 7891 </div> 7892 <div id="CartContainer" class="p-2"></div> 7893 </div> 7894 7895
7895<script> 7896 7897 </script>
7897 7898
7898<script src="https://outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
7898 7899 <!-- /snippets/ajax-cart-template.liquid --> 7900 7901
7901<script id="CartTemplate" type="text/template"> 7902 7903 <form action="https://dignitysa.org/cart" method="post" novalidate class="cart ajaxcart"> 7904 <div class="ajaxcart__inner" {{ cart.item_count }}> 7905 {{#items}} 7906 <div class="ajaxcart__product"> 7907 <div class="ajaxcart__row" data-line="{{line}}"> 7908 <div class="grid"> 7909 <div class="grid__item one-quarter"> 7910 <a href="https://dignitysa.org/{{url}}" class="ajaxcart__product-image"><img src="https://dignitysa.org/{{img}}" alt=""></a> 7911 </div> 7912 <div class="grid__item three-quarters"> 7913 <p class="d-block mb-3"> 7914 <a class="h4 d-block mb-2" href="https://dignitysa.org/{{url}}" class="ajaxcart__product-name">{{name}}</a> 7915 {{#if variation}} 7916 <span class="ajaxcart__product-meta p">{{variation}}</span> 7917 {{/if}} 7918 {{#properties}} 7919 {{#each this}} 7920 {{#if this}} 7921 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 7922 {{/if}} 7923 {{/each}} 7924 {{/properties}} 7925 7926 </p> 7927 <div class="grid--full display-table"> 7928 <div class="grid__item display-table-cell one-half"> 7929 <div class="ajaxcart__qty"> 7930 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 7931 <svg version="1.1" xmlns="./jitutoto-logo.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> 7932 <span class="visually-hidden">Kurangi jumlah barang</span> 7933 </button> 7934 <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]*"> 7935 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 7936 <svg version="1.1" xmlns="./jitutoto-logo.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> 7937 <span class="visually-hidden">Tambahkan jumlah barang</span> 7938 </button> 7939 </div> 7940 </div> 7941 <div class="grid__item display-table-cell one-half text-right"> 7942 {{#if discountsApplied}} 7943 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 7944 <br><span class="h4">{{{linePrice}}}</span> 7945 {{else}} 7946 <span class="h4">{{{linePrice}}}</span> 7947 {{/if}} 7948 </div> 7949 </div> 7950 {{#if discountsApplied}} 7951 <div class="grid--full display-table"> 7952 <div class="grid__item text-right"> 7953 {{#each discounts}} 7954 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 7955 {{/each}} 7956 </div> 7957 </div> 7958 {{/if}} 7959 </div> 7960 </div> 7961 </div> 7962 </div> 7963 </div> 7964 </div> 7965 {{/items}} 7966 </div> 7967 <div class="ajaxcart__footer"> 7968 <div class="grid--full cart-subtotal py-2"> 7969 <p>Subtotal</p> 7970 <h3 class="primary">{{{totalPrice}}}</h3> 7971 {{#if totalCartDiscount}} 7972 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 7973 {{/if}} 7974 </div> 7975 7976 <a href="https://dignitysa.org/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 7977 7978 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="https://dignitysa.org/pages/pengiriman">detail</a></p> 7979 </div> 7980 </form> 7981 7982 </script>
7982 7983
7983<script id="AjaxQty" type="text/template"> 7984 7985 <div class="ajaxcart__qty"> 7986 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 7987 <svg version="1.1" xmlns="./jitutoto-logo.png" width="24" height="24" viewBox="0 0 32 32"> 7988 <title>icon-minus</title> 7989 <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> 7990 </svg> 7991 <span class="visually-hidden">Kurangi jumlah barang</span> 7992 </button> 7993 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 7994 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 7995 <svg version="1.1" xmlns="./jitutoto-logo.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> 7996 <span class="visually-hidden">Tambahkan jumlah barang</span> 7997 </button> 7998 </div> 7999 8000 </script>
8000 8001
8001<script id="JsQty" type="text/template"> 8002 8003 <div class="js-qty mx-auto mt-2"> 8004 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 8005 <svg version="1.1" xmlns="./jitutoto-logo.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> 8006 <span class="visually-hidden">Kurangi jumlah barang</span> 8007 </button> 8008 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 8009 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 8010 <svg version="1.1" xmlns="./jitutoto-logo.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> 8011 <span class="visually-hidden">Tambahkan jumlah barang</span> 8012 </button> 8013 </div> 8014 8015 </script>
8015 8016 8017 <style> 8018 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 8019 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 8020 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 8021 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 8022 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 8023 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 8024 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 8025 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 8026 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 8027 </style> 8028
8028<script src="https://outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
8028 8029
8029<script> 8030 jQuery(function($) { 8031 ajaxCart.init({ 8032 formSelector: '#AddToCartForm', 8033 cartContainer: '#CartContainer', 8034 addToCartSelector: '#AddToCartXX', 8035 cartCountSelector: '#CartCount, #CartCount2', 8036 cartCostSelector: '#CartCost', 8037 moneyFormat: "Rp {{amount_no_decimals}}" 8038 }); 8039 }); 8040 8041 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 8042 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 8043 timber.RightDrawer.open(); 8044 }); 8045 </script>
8045 8046 8047 8048 8049 8050 <style> 8051 /** Search AutoComplete **/ 8052 .resultsearch .ui-menu-item[data-cat="Collection"], 8053 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 8054 .resultsearch .ui-widget.ui-widget-content { 8055 width: 100%; 8056 top: 48px; 8057 border: none; 8058 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 8059 } 8060 .resultsearch .ui-menu-item {text-align: left;} 8061 .resultsearch .ui-menu-item>a, .resultsearch .ui-menu-item>span {display: inline-block;width: 100%;font-size: 16px;}.resultsearch .ui-menu-item img {vertical-align: middle;}.resultsearch .ui-menu-item a[data-cat="Collection"] img {display: none;}.resultsearch .ui-menu .ui-state-focus, .resultsearch .ui-menu .ui-state-active {margin: 0;}.ui-state-active, .ui-widget-content .ui-state-active {background: #f2f2f2;border: none;color: #ffffff;}.resultsearch .ui-menu-item>a,.resultsearch .ui-menu-item>span {display: inline-block;width: 100%;font-size: 13px;}.resultsearch .ui-menu-item a[data-cat="Produk"] img {margin-right: 10px;}.resultsearch .ui-menu-item a[data-cat="Produk"] .price {float: right;padding: 15px 0;}.ui-autocomplete-category.ui-menu-item[data-cat="Produk"]:before {content: "Product Populer";font-size: 13px;padding: 5px;margin: 5px 0;background: #f2f2f2;width: 100%;display: block;color: #ffffff;}.ui-autocomplete-category.ui-menu-item[data-cat="Produk"] span {display: none;} 8062 .ui-state-active { 8063 border: none!important; 8064 background-color: #fafafa!important; 8065 color: #000!important; 8066 } 8067 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 8068 .ui-menu .ui-menu-item {line-height: normal;} 8069 </style> 8070
8070<script> 8071 $(window).load(function(){ 8072 8073 function format(item) {var cell = '';cell += "<a data-cat=" + item.category + " " + "href=" + item.url + ">" + "<img src="https://dignitysa.org/+ item.images +"/>" + "<span class='title'>" + item.label + "</span>" + "<span class='price'>" + item.price + "</span>" + "</a>";return cell;} 8074 8075 $.widget("custom.catcomplete", $.ui.autocomplete, { 8076 _renderMenu: function (ul, items) { 8077 // have search reults split up in categories 8078 var that = this, 8079 currentCategory = ""; 8080 $.each(items, function (index, item) { 8081 if (item.category != currentCategory) { 8082 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 8083 currentCategory = item.category; 8084 } 8085 that._renderItemData(ul, item); 8086 }); 8087 } 8088 }); 8089 8090 // higlight searched for term 8091 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 8092 var term = this.element.val(), 8093 html = item.label.replace( term, "<b>$&</b>" ); 8094 return $( "<li>" ) 8095 .append(format(item)) 8096 .appendTo( ul ); 8097 }; 8098 8099 8100 var data = [ 8101 { 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: " ", pr
8101ice: " " },{ 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: " " }
8101,{ 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: " " }
8101,{ 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: " " }
8101,{ label: "Karangan Bunga Cianjur", category: "Collection", url: "/collections/karangan-bunga-cianjur", images: " ", price: " " },{ label: "Karangan Bunga Cikarang", category: "Collection", url: "/collections/karangan-bunga-cikarang", images: " ", price: " " },{ label: "Karangan Bunga Cikupa", category: "Collection", url: "/collections/karangan-bunga-cikupa", images: " ", price: " " },{ label: "Karangan Bunga Cilacap", category: "Collection", url: "/collections/karangan-bunga-cilacap", images: " ", price: " " },{ label: "Karangan Bunga Cileunyi", category: "Collection", url: "/collections/karangan-bunga-cileunyi", images: " ", price: " " },{ label: "Karangan Bunga Cimahi", category: "Collection", url: "/collections/karangan-bunga-cimahi", images: " ", price: " " },{ label: "Karangan Bunga Cirebon", category: "Collection", url: "/collections/karangan-bunga-cirebon", images: " ", price: " " },{ label: "Karangan Bunga Ciwidey", category: "Collection", url: "/collections/karangan-bunga-ciwidey", images: " ", price: " " },{ label: "Karangan Bunga Danau Toba", category: "Collection", url: "/collections/karangan-bunga-danau-toba", images: " ", price: " " },{ label: "Karangan Bunga Demak", category: "Collection", url: "/collections/karangan-bunga-demak", images: " ", price: " " },{ label: "Karangan Bunga Denpasar", category: "Collection", url: "/collections/karangan-bunga-denpasar", images: " ", price: " " },{ label: "Karangan Bunga Depok", category: "Collection", url: "/collections/karangan-bunga-depok", images: " ", price: " " },{ label: "Karangan Bunga Duka Cita", category: "Collection", url: "/collections/karangan-bunga-duka-cita", images: " ", price: " " },{ label: "Karangan Bunga Garut", category: "Collection", url: "/collections/karangan-bunga-garut", images: " ", price: " " },{ label: "Karangan Bunga Gianyar", category: "Collection", url: "/collections/karangan-bunga-gianyar", images: " ", price: " " },{ label: "Karangan Bunga Gorontalo", category: "Collection", url: "/collections/karangan-bunga-gorontalo", images: " ", price: " " },{ label: "Karangan Bunga Gowa", category: "Collection", url: "/collections/karangan-bunga-gowa", images: " ", price: " " },{ label: "Karangan Bunga Gresik", category: "Collection", url: "/collections/karangan-bunga-gresik", images: " ", price: " " },{ label: "Karangan Bunga Grobogan", category: "Collection", url: "/collections/karangan-bunga-grobogan", images: " ", price: " " },{ label: "Karangan Bunga Gunung Kidul", category: "Collection", url: "/collections/karangan-bunga-gunungkidul", images: " ", price: " " },{ label: "Karangan Bunga Indramayu", category: "Collection", url: "/collections/karangan-bunga-indramayu", images: " ", price: " " },{ label: "Karangan Bunga Jakarta", category: "Collection", url: "/collections/karangan-bunga-jakarta", images: " ", price: " " },{ label: "Karangan Bunga Jambi", category: "Collection", url: "/collections/karangan-bunga-jambi", images: " ", price: " " },{ label: "Karangan Bunga Jayapura", category: "Collection", url: "/collections/karangan-bunga-jayapura", images: " ", price: " " },{ label: "Karangan Bunga Jember", category: "Collection", url: "/collections/karangan-bunga-jember", images: " ", price: " " },{ label: "Karangan Bunga Jembrana", category: "Collection", url: "/collections/karangan-bunga-jembrana", images: " ", price: " " },{ label: "Karangan Bunga Jepara", category: "Collection", url: "/collections/karangan-bunga-jepara", images: " ", price: " " },{ label: "Karangan Bunga Jombang", category: "Collection", url: "/collections/karangan-bunga-jombang", images: " ", price: " " },{ label: "Karangan Bunga Kampung Baru", category: "Collection", url: "/collections/karangan-bunga-kampung-baru", images: " ", price: " " },{ label: "Karangan Bunga Kapuas", category: "Collection", url: "/collections/karangan-bunga-kapuas", images: " ", price: " " },{ label: "Karangan Bunga Karanganyar", category: "Collection", url: "/collections/karangan-bunga-karanganyar", images: " ", price: " " },{ label: "Karangan Bunga Karangasem", category: "Collection", url: "/collections/karangan-bunga-karangasem", images: " ", price: " " },{ label: "Karangan Bunga Karawang", category: "Collection", url: "/collections/karangan-bunga-karawang", images: " ", price: " " },{ label: "Karangan Bunga Kartosuro", category: "Collection", url: "/collections/karangan-bunga-kartosuro", images: " ", price: " " },{ label: "Karangan Bunga Kebumen", category: "Collection", url: "/collections/karangan-bunga-kebumen", images: " ", price: " " },{ label: "Karangan Bunga Kediri", category: "Collection", url: "/collections/karangan-bunga-kediri", images: " ", price: " " },{ label: "Karangan Bunga Kendal", category: "Collection", url: "/collections/karangan-bunga-ken
8101dal", 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-
8101hampers", images: " ", price: " " },{ label: "Merry Hampers", category: "Collection", url: "/collections/merry-hampers", images: " ", price: " " },{ label: "Merry Hampers Luar Jabodetabek", category: "Collection", url: "/collections/merry-hampers-luar-jabodetabek", images: " ", price: " " },{ label: "Mini Bouquet", category: "Collection", url: "/collections/mini-bouquet", images: " ", price: " " },{ label: "Miss Mondial", category: "Collection", url: "/collections/miss-mondial", images: " ", price: " " },{ label: "Modern & Chic Chinese New Year", category: "Collection", url: "/collections/modern-chic-chinese-new-year", images: " ", price: " " },{ label: "Modern & Chic Christmas Hampers", category: "Collection", url: "/collections/modern-chic-christmas", images: " ", price: " " },{ label: "Modern & Chic Hampers", category: "Collection", url: "/collections/modern-chic-hampers", images: " ", price: " " },{ label: "Modern & Chic Hampers Luar Jadetabek", category: "Collection", url: "/collections/modern-chic-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Modern & Chic Ramadan Hampers", category: "Collection", url: "/collections/modern-chic-ramadan-hampers", images: " ", price: " " },{ label: "Modern & Classy Hampers", category: "Collection", url: "/collections/parcel-unik", images: " ", price: " " },{ label: "Modern 3D Cake", category: "Collection", url: "/collections/custom-3d-cake", images: " ", price: " " },{ label: "Modern Style Flowers", category: "Collection", url: "/collections/modern-style-flowers", images: " ", price: " " },{ label: "Monochrome Hampers", category: "Collection", url: "/collections/monochrome-hampers", images: " ", price: " " },{ label: "Monochrome Hampers Luar Jadetabek", category: "Collection", url: "/collections/monochrome-hampers-luar-jadetabek", images: " ", price: " " },{ label: "Mooncake", category: "Collection", url: "/collections/kue-bulan-mooncake-2025-mid-autumn-festival", images: " ", price: " " },{ label: "Mooncake Assorted Selection", category: "Collection", url: "/collections/mooncake-assorted-selection", images: " ", price: " " },{ label: "Mother's Day", category: "Collection", url: "/collections/rangkaian-bunga-hari-ibu", images: " ", price: " " },{ label: "Mother's Day Special", category: "Collection", url: "/collections/kado-untuk-ibu", images: " ", price: " " },{ label: "Necklace", category: "Collection", url: "/collections/kalung", images: " ", price: " " },{ label: "NestBloom Bird Nest Hampers", category: "Collection", url: "/collections/nestbloom-birds-nest", images: " ", price: " " },{ label: "NestBloom Gift Set", category: "Collection", url: "/collections/nestbloom-gift-set", images: " ", price: " " },{ label: "Nestbloom Ritual Kit", category: "Collection", url: "/collections/nestbloom-ritual-kit", images: " ", price: " " },{ label: "NestBloom Single Bloom", category: "Collection", url: "/collections/nestbloom-single-bloom", images: " ", price: " " },{ label: "New Collection", category: "Collection", url: "/collections/produk-baru", images: " ", price: " " },{ label: "New Product", category: "Collection", url: "/collections/new-product", images: " ", price: " " },{ label: "Newborn", category: "Collection", url: "/collections/rangkaian-bunga-newborn-baby", images: " ", price: " " },{ label: "Newborn Hampers", category: "Collection", url: "/collections/parcel-newborn", images: " ", price: " " },{ label: "Occasions", category: "Collection", url: "/collections/occasions", images: " ", price: " " },{ label: "Oma Elly", category: "Collection", url: "/collections/oma-elly", images: " ", price: " " },{ label: "Oma Elly Gelato", category: "Collection", url: "/collections/oma-elly-gelato", images: " ", price: " " },{ label: "Orchid", category: "Collection", url: "/collections/bunga-anggrek", images: " ", price: " " },{ label: "Orori", category: "Collection", url: "/collections/orori", images: " ", price: " " },{ label: "Outerbloom", category: "Collection", url: "/collections/outerbloom", images: " ", price: " " },{ label: "Outerbloom Cake", category: "Collection", url: "/collections/outerbloom-cake", images: " ", price: " " },{ label: "Outerbloom Florist", category: "Collection", url: "/collections/outerbloom-florist", images: " ", price: " " },{ label: "Outerbloom Gift", category: "Collection", url: "/collections/outerbloom-gift", images: " ", price: " " },{ label: "Outerbloom Hampers", category: "Collection", url: "/collections/outerbloom-hampers", images: " ", price: " " },{ label: "Outerbloom Indonesia", category: "Collection", url: "/collections/indonesia", images: " ", price: " " },{ label: "Outerbloom x Boho Panna", category: "Collection", url: "/collections/outerbloom-x-boh
8101o-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: " " }
8101,{ 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: " " }
8101,{ 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: " " }
8101,{ 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: " " }
8101,{ 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: " " }
8101,{ 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: " " }
8101,{ 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: " " }
8101,{ 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: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. ", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "Sudah Terlalu Lama Kekayaan Alam Kita Ditentukan Negara Lain , isi Dari Pidato Prabowo. 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: " " }
8101,{ 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: " " }
8101,{ label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " },{ label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " },{ label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " },{ label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " },{ label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " },{ label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " },{ label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " },{ label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " },{ label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " },{ label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " },{ label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " },{ label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " },{ label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " },{ label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " },{ label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " },{ label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " },{ label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " },{ label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " },{ label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " },{ label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " },{ label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " },{ label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " },{ label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " },{ label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " },{ label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " },{ label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " },{ label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " },{ label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " },{ label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " },{ label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " },{ label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " },{ label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " },{ label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " },{ label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " },{ label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " },{ label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " },{ label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " },{ label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " },{ label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " },{ label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " },{ label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " },{ label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " },{ label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " },{ label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " },{ label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
8101dal", 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: " " }, 8102 { 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" }
8102,{ 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" }
8102,{ 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" } 8103 ]; 8104 8105 8106 $( ".header-input-search" ).catcomplete({ 8107 appendTo: ".searchResult",source: function(request, response) { 8108 var results = $.ui.autocomplete.filter(data, request.term); 8109 var predicate = function () { 8110 var counter = { Collection: 0, Produk: 0 }; 8111 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 8112 return fn 8113 }(); 8114 response(results.filter(predicate)); 8115 }, 8116 minLength:1, 8117 //results are clickable 8118 select: function( event, ui ) {window.location = ui.item.url;} 8119 }); 8120 $( ".header-input-search2" ).catcomplete({ 8121 appendTo: ".searchResult2", 8122 source: function(request, response) { 8123 var results = $.ui.autocomplete.filter(data, request.term); 8124 var predicate = function () { 8125 var counter = { Collection: 0, Produk: 0 }; 8126 var fn = function(item) { 8127 counter[item.category] += 1; 8128 return (counter[item.category] <= 5); 8129 } 8130 return fn 8131 }(); 8132 response(results.filter(predicate)); 8133 }, 8134 minLength:1, 8135 //results are clickable 8136 select: function( event, ui ) { 8137 window.location = ui.item.url; 8138 } 8139 }); 8140 }); 8141 </script>
8141 8142 8143
8143<script src="https://outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
8143 8144
8144<script src="https://outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
8144 8145 8146
8146<script> 8147 ( function() { 8148 var youtube = document.querySelectorAll( ".youtube" ); 8149 for (var i = 0; i < youtube.length; i++) { 8150 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 8151 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 8152 var image = new Image(); 8153 image.src = source; 8154 image.setAttribute("data-src", datasource); 8155 image.classList.add("swiper-lazy"); 8156 image.addEventListener( "load", function() { 8157 youtube[ i ].appendChild( image ); 8158 }( i ) ); 8159 youtube[i].addEventListener( "click", function() { 8160 var iframe = document.createElement( "iframe" ); 8161 iframe.setAttribute( "width", "480" ); 8162 iframe.setAttribute( "height", "480" ); 8163 iframe.setAttribute( "frameborder", "0" ); 8164 iframe.setAttribute( "allowfullscreen", "" ); 8165 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 8166 this.innerHTML = ""; 8167 this.appendChild( iframe ); 8168 } ); 8169 }; 8170 8171 } )(); 8172 8173 /* Lazy Load */ 8174 const mainLazyLoad = new LazyLoad({threshold:400}); 8175 $(document).ready(function(){ 8176 8177 $("selectxxx").addClass("needsclick"); 8178 FastClick.attach(document.body); 8179 8180 var $customSelects = $('.select-search'); 8181 $customSelects.select2({ 8182 templateResult: function(result, container) { 8183 if (!result.id) { 8184 return result.text; 8185 } 8186 container.className += ' needsclick'; 8187 return result.text; 8188 } 8189 }); 8190 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 8191 $(document).on('select2:open', () => { 8192 document.querySelector('.select2-search__field').focus(); 8193 }); 8194 8195 8196 $(".overlay").click(function(){ 8197 $(".js-drawer-close").click(); 8198 }); 8199 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 8200 $("html").toggleClass("nav_open"); 8201 }); 8202 8203 $('.swatch-element label').on('click', function(){ 8204 var srcImg = $(this).data('src'); 8205 $('#thumb-image-product .product-single__thumbnail').each(function(){ 8206 if ($(this).attr("href") == srcImg) { 8207 $(this).trigger('click'); 8208 } 8209 }); 8210 }); 8211 var defaultValue = $(".swatch input:checked").val() 8212 8213 $('#purchaseProduct .swatch [type=radio]').change(function() { 8214 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 8215 var optionValue = $(this).val(); 8216 console.log(optionIndex, optionValue) 8217 var value = parseInt(optionValue.split(' ')[0]) 8218 $(this) 8219 .closest('#purchaseProduct') 8220 .find('.single-option-selector') 8221 .eq(optionIndex) 8222 .val(optionValue) 8223 .trigger('change'); 8224 8225 }); 8226 8227 }); 8228 $(document).ready(function(){ 8229 $(".nav-search a").click(function(e){ 8230 e.preventDefault(); 8231 $(".icon-navsearch").toggle(); 8232 $(".icon-navclose").toggle(); 8233 $(".site-nav__item > .site-nav__link").toggle(); 8234 $(".open-search").toggle(); 8235 $(".open-search input").focus(); 8236 }); 8237 $(".best-price-guarantee").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/logo-best-price-guarantee-grid_75x.png?v=72489032173169839651752652420' alt='Logo Best Price Guarantee'>"); 8238 if ($(window).width() < 768) { 8239 $(".bg-products .label-tag.valentine").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8240 $(".bg-products .label-tag.cny").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8241 $(".bg-products .label-tag.free-valentine").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/free-valentine_150x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>"); 8242 } else { 8243 $(".bg-products .label-tag.valentine").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8244 $(".bg-products .label-tag.cny").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8245 $(".bg-products .label-tag.free-valentine").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/free-valentine_200x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>"); 8246 } 8247 $(".bg-products .label-tag.free-cookies").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/free-cookies_80x.png?51468' alt='Icon Free Cookies'>"); 8248 $(".bg-products .label-tag.mothersday").html("<img src='https://outerbloom.com/cdn/shop/t/138/assets/mothers-day_70x.png?v=171373711354766377891752652419' alt='Icon Mothers day'>"); 8249 }); 8250 </script>
8250 8251 8252 8253 8254 8255 8256 8257 8258
8258<script type="text/javascript"> 8259 var wishlistpage = 0; 8260 8261 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 8262 </script>
8262 8263 8264 <!-- Remove duplicate wishlist.js reference --> 8265 <style> 8266 .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.fade.in{opacity:1}.modal-open .modal{overflow-x:hidden;overflow-y:auto;z-index:999999;background-color:rgba(0,0,0,.3)}.modal-dialog{position:relative;width:auto;margin:10px}.wishlist-model .modal-dialog{width:700px}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.wishlist-model .modal-content{}.wishlist-model .modal-header{min-height:0;padding:0;border-bottom:0}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #121212;filter:alpha(opacity=20);opacity:.2}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-header .close{margin-top:-2px}.wishlist-model .close{position:absolute;top:-10px;right:-10px;background:#fff;opacity:1;width:30px;height:30px;font-size:15px;border-radius:50%;z-index:10;box-shadow:0 1px 4px 0 #121212}.wishlist-model .close .icon-close{width:25px;height:25px}.modal-body{position:relative;padding:15px}.wishlist-model .modal-body{padding:0 30px;display:flex}.wishlist-model .wishlist-left{width:66.67%;border-right:1px solid #ccc;padding:30px 0}.wishlist-model .wishlist-note{position:relative;display:inline-block;margin-bottom:20px;margin-left:35px;border-bottom:1px solid #121212;color:#121212}.wishlist-model .wishlist-note a{color: #ffffff;}.wishlist-model .wishlist-note .cirle{position:absolute;top:-4px;left:-35px;width:25px;height:25px;color:#fff;background:#121212;line-height:25px;border-radius:50%;text-align:center}.wishlist-model .wishlist-note svg{fill:#fff}.wishlist-model .wishlist-note .cirle .icon-check{vertical-align:middle}.wishlist-model .product-left{width:33.33%;float:left;margin-right:30px}.wishlist-model .wishlist-image{overflow:hidden}.wishlist-model .wishlist-image img{transition:all .3s linear}.wishlist-model .wishlist-name{padding:0;margin-bottom:10px}.wishlist-model .wishlist-name a{color: #ffffff;}.wishlist-model .wishlist-price{margin-bottom:10px}.wishlist-model .wishlist-price .price{font-weight:700;margin-right:10px;font-size:15px}.wishlist-model .wishlist-price .price_compare{color:#ccc}.wishlist-model .wishlist-right{width:33.33%;padding:30px 0;padding-left:30px}.wishlist-model .btn-quick-shop{width:100%;border-color:#121212;background:#fff;color:#121212;padding:0 30px;transition:all .2s linear;height:36px;margin-bottom:10px;text-transform:uppercase}.wishlist-model .btn-cta{width:100%;font-size:1em;border-color:#ffffff;background:#ffffff;color:#fff;padding:0;transition:all .2s linear;height:36px;line-height:36px;margin-bottom:10px}.wishlist-model .quantity-content{text-align:center}.wishlist-model .quantity-content input{outline:none;text-align:center;font-weight:600;border:1px solid #121212}.wishlist-model .quantity-content button{border-color:#121212}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}} 8267 </style> 8268 8269 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 8270 <div class="modal-dialog" role="document"> 8271 <div class="modal-content"> 8272 <div class="modal-body">Your Wishlist is empty!</div> 8273 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 8274 </div> 8275 </div> 8276 </div> 8277 8278 <div class="wishlist-model"> 8279 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 8280 <div class="modal-dialog white-modal"> 8281 <div class="modal-content"> 8282 <div class="modal-header"> 8283 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 8284 <svg class="icon icon-close" version="1.1" xmlns="./jitutoto-logo.png" width="32" height="32" viewBox="0 0 32 32"> 8285 <title>icon-close</title> 8286 <path d="M16.943 16l8.862 8.862c0.26 0.26 0.26 0.682 0 0.943s-0.682 0.26-0.943 0l-8.862-8.862-8.862 8.862c-0.26 0.26-0.682 0.26-0.943 0s-0.26-0.682 0-0.943l8.862-8.862-8.862-8.862c-0.26-0.26-0.26-0.682 0-0.943s0.682-0.26 0.943 0l8.862 8.862 8.862-8.862c0.26-0.26 0.682-0.26 0.943 0s0.26 0.682 0 0.943l-8.862 8.862z"></path> 8287 </svg> 8288 </button> 8289 </div> 8290 <div class="modal-body"> 8291 <div class="wishlist-left"> 8292 <div class="wishlist-note">
8293 <span class="cirle"><svg version="1.1" xmlns="./jitutoto-logo.png" width="32" height="32" viewBox="0 0 32 32"> 8294 <title>icon-check</title> 8295 <path d="M12 21.766l14.218-12.926c0.272-0.248 0.694-0.228 0.942 0.045s0.228 0.694-0.045 0.942l-14.667 13.333c-0.254 0.231-0.643 0.231-0.897 0l-6.667-6.061c-0.272-0.248-0.293-0.669-0.045-0.942s0.669-0.293 0.942-0.045l6.218 5.653z"></path> 8296 </svg></span> 8297 Product added to <a href="https://dignitysa.org/pages/wish-list">Wishlist</a> 8298 </div> 8299 <div class="wishlist-product"> 8300 <div class="product-left"> 8301 <div class="wishlist-image"></div> 8302 </div> 8303 <div class="product-right"> 8304 <div class="wishlist-name"></div> 8305 <div class="wishlist-price"></div> 8306 </div> 8307 </div> 8308 </div> 8309 <div class="wishlist-right"> 8310 <div class="wishlist-cart"> 8311 <form action="https://dignitysa.org/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 8312 <div class="others-bottom"> 8313 <a class="btn btn-quick-shop" href="https://dignitysa.org/pages/wish-list">View Wishlist</a> 8314 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 8315 <span id="AddToCartText" class="">Beli Sekarang</span> 8316 </button> 8317 </div> 8318 <div id="wishlist-variants-container" class="variants-wrapper"></div> 8319 <div class="quantity-content"> 8320 <label>QTY</label> 8321 <input type="number" size="5" class="" name="quantity" value="1" /> 8322 </div> 8323 </form> 8324 </div> 8325 </div> 8326 </div> 8327 </div> 8328 </div> 8329 </div> 8330 </div> 8331 8332 8333 <style> 8334 .stamped-badge[data-rating="0.0"]{display: none !Important;} 8335 8336 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 8337 border-radius: 0px; 8338 } 8339 .stamped-review-body { 8340 padding-left: 0px !important; 8341 } 8342 #product-reviews .stamped-header:after { 8343 display:none !Important; 8344 } 8345 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 8346 font-family:inherit !important; 8347 } 8348 </style> 8349 8350 8351 8352 <div id='stamped-rewards-init' class='stamped-rewards-init' 8353 data-key-public='' 8354 8355 ></div> 8356 8357
8357<script src="https://outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
8357 8358 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 8359
8359<script src="https://outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
8359 8360 8361
8361<script> 8362 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 8363 </script>
8363 8364
8364<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
8364<style> 8365 .jss59 { 8366 background-color: rgba(0, 0, 0, 0.6); 8367 } 8368 .MuiBackdrop-root { 8369 top: 0; 8370 left: 0; 8371 right: 0; 8372 bottom: 0; 8373 display: flex; 8374 z-index: -1; 8375 position: fixed; 8376 align-items: center; 8377 justify-content: center; 8378 background-color: rgba(0, 0, 0, 0.5); 8379 -webkit-tap-highlight-color: transparent; 8380 } 8381 .MuiDialog-scrollPaper { 8382 display: flex; 8383 align-items: center; 8384 justify-content: center; 8385 } 8386 .MuiDialog-container { 8387 height: 100%; 8388 outline: 0; 8389 } 8390 .MuiPaper-elevation24 { 8391 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); 8392 } 8393 .MuiDialog-paper { 8394 margin: 32px; 8395 position: relative; 8396 overflow-y: auto; 8397 } 8398 .MuiDialog-paperScrollPaper { 8399 display: flex; 8400 max-height: calc(100% - 64px); 8401 flex-direction: column; 8402 } 8403 .MuiDialog-paperWidthSm { 8404 max-width: 600px; 8405 } 8406 #location-lock-dialog { 8407 top: 20%; 8408 left: 0; 8409 right: 0; 8410 width: 30%; 8411 margin: 0px auto; 8412 display: block; 8413 padding: 30px; 8414 z-index: 99999; 8415 position: fixed; 8416 font-size: 14px; 8417 background: rgb(0, 0, 0); 8418 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 8419 text-align: center; 8420 font-family: Roboto, Arial, sans-serif; 8421 line-height: 1; 8422 border-radius: 8px; 8423 -webkit-font-smoothing: subpixel-antialiased; 8424 } 8425 .MuiButtonBase-root { 8426 color: inherit; 8427 border: 0; 8428 cursor: pointer; 8429 margin: 0; 8430 display: inline-flex; 8431 outline: 0; 8432 padding: 0; 8433 position: relative; 8434 align-items: center; 8435 user-select: none; 8436 border-radius: 0; 8437 vertical-align: middle; 8438 -moz-appearance: none; 8439 justify-content: center; 8440 text-decoration: none; 8441 background-color: transparent; 8442 -webkit-appearance: none; 8443 -webkit-tap-highlight-color: transparent; 8444 } 8445 .MuiIconButton-root { 8446 flex: 0 0 auto; 8447 color: rgba(0, 0, 0, 0.54); 8448 padding: 12px; 8449 overflow: visible; 8450 font-size: 1.5rem; 8451 text-align: center; 8452 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8453 border-radius: 50%; 8454 } 8455 .MuiIconButton-label { 8456 width: 100%; 8457 display: flex; 8458 align-items: inherit; 8459 justify-content: inherit; 8460 } 8461 .MuiSvgIcon-root { 8462 fill: currentColor; 8463 width: 1em; 8464 height: 1em; 8465 display: inline-block; 8466 font-size: 1.5rem; 8467 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8468 flex-shrink: 0; 8469 user-select: none; 8470 } 8471 .MuiTouchRipple-root { 8472 top: 0; 8473 left: 0; 8474 right: 0; 8475 bottom: 0; 8476 z-index: 0; 8477 overflow: hidden; 8478 position: absolute; 8479 border-radius: inherit; 8480 pointer-events: none; 8481 } 8482 .jss36 { 8483 color: #222222; 8484 font-size: 24px; 8485 font-family: Roboto, Arial, sans-serif; 8486 font-weight: 500; 8487 } 8488 .jss37 { 8489 color: #555555; 8490 padding: 10px 0px 0px; 8491 font-size: 14px; 8492 } 8493 .MuiFormGroup-root { 8494 display: flex; 8495 flex-wrap: wrap; 8496 flex-direction: column; 8497 } 8498 .MuiFormGroup-row { 8499 flex-direction: row; 8500 } 8501 .jss63 { 8502 width: 85%; 8503 margin: 15px auto; 8504 display: flex; 8505 padding: 11px 0px 0px; 8506 justify-content: space-evenly; 8507 } 8508 .MuiFormControlLabel-root { 8509 cursor: pointer; 8510 display: inline-flex; 8511 align-items: center; 8512 margin-left: -11px; 8513 margin-right: 16px; 8514 vertical-align: middle; 8515 -webkit-tap-highlight-color: transparent; 8516 } 8517 .jss70 { 8518 margin: 0; 8519 } 8520 .MuiButtonBase-root { 8521 color: inherit; 8522 border: 0; 8523 cursor: pointer; 8524 margin: 0; 8525 display: inline-flex; 8526 outline: 0; 8527 padding: 0; 8528 position: relative; 8529 align-items: center; 8530 user-select: none; 8531 border-radius: 0; 8532 vertical-align: middle; 8533 -moz-appearance: none; 8534 justify-content: center; 8535 text-decoration: none; 8536 background-color: transparent; 8537 -webkit-appearance: none; 8538 -webkit-tap-highlight-color: transparent; 8539 } 8540 .MuiIconButton-root { 8541 flex: 0 0 auto; 8542 color: rgba(0, 0, 0, 0.54); 8543 padding: 12px; 8544 overflow: visible; 8545 font-size: 1.5rem; 8546 text-align: center; 8547 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 8548 border-radius: 50%; 8549 } 8550 .MuiIconButton-colorSecondary { 8551 color: #f50057; 8552 } 8553 .jss71 { 8554 padding: 9px; 8555 } 8556 .MuiRadio-root { 8557 color: rgba(0, 0, 0, 0.54); 8558 } 8559 .jss64 { 8560 padding: 2px; 8561 } 8562 .MuiRadio-colorSecondary.Mui-checked { 8563 color: #f50057; 8564 } 8565 .MuiIconButton-label { 8566 width: 100%; 8567 display: flex; 8568 align-items: inherit; 8569 justify-content: inherit; 8570 } 8571 .MuiTypography-root { 8572 margin: 0; 8573 } 8574 .MuiTypography-body1 { 8575 font-size: 18px; 8576 font-family: Roboto,sans-serif; 8577 font-weight: 400; 8578 line-height: 1.5; 8579 } 8580 .location-popup_area-block__sp9Ws { 8581 display: -moz-box; 8582 display: flex; 8583 -moz-box-orient: vertical; 8584 -moz-box-direction: normal; 8585 flex-direction: column; 8586 -moz-box-pack: center; 8587 justify-content: center; 8588 position: relative; 8589 margin: 10px 10% 0;
8590 } 8591 .location-popup_pin-search-box__3l5mJ { 8592 width: 100%; 8593 display: -moz-box; 8594 display: flex; 8595 -moz-box-align: center; 8596 align-items: center; 8597 } 8598 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 8599 position: absolute; 8600 z-index: 999; 8601 } 8602 .location-popup_place-icon__jSG0Q { 8603 color: #ffffff; 8604 padding-left: 8px; 8605 } 8606 .location-popup_place-icon__jSG0Q svg { 8607 width: 18px; 8608 height: 18px; 8609 } 8610 .location-popup_cancel-icon__FHujU { 8611 color: #fff; 8612 right: 10px; 8613 width: 16px; 8614 cursor: pointer; 8615 height: 16px; 8616 display: none; 8617 padding: 5px; 8618 position: absolute; 8619 background: #999; 8620 text-align: center; 8621 border-radius: 50%; 8622 } 8623 .location-popup_pin-search-box__3l5mJ>div>select { 8624 /* -webkit-box-shadow: 0 0 10px #ffffff; 8625 box-shadow: 0 0 10px #ffffff; */ 8626 text-transform: capitalize; 8627 border: 1px solid #ffffff; 8628 color: #ffffff; 8629 width: 100%; 8630 margin: 0; 8631 display: -moz-box; 8632 display: flex; 8633 padding: 0 30px; 8634 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8635 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8636 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 8637 font-size: 16px; 8638 border-radius: 4px; 8639 height: 44px; 8640 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8641 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 8642 } 8643 .MuiButtonBase-root { 8644 color: inherit; 8645 border: 0; 8646 cursor: pointer; 8647 margin: 0; 8648 display: inline-flex; 8649 outline: 0; 8650 padding: 0; 8651 position: relative; 8652 align-items: center; 8653 user-select: none; 8654 border-radius: 0; 8655 vertical-align: middle; 8656 -moz-appearance: none; 8657 justify-content: center; 8658 text-decoration: none; 8659 background-color: transparent; 8660 -webkit-appearance: none; 8661 -webkit-tap-highlight-color: transparent; 8662 } 8663 .MuiButton-root { 8664 color: rgba(0, 0, 0, 0.87); 8665 padding: 6px 16px; 8666 font-size: 0.875rem; 8667 min-width: 64px; 8668 box-sizing: border-box; 8669 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; 8670 font-family: Roboto,sans-serif; 8671 font-weight: 500; 8672 line-height: 1.75; 8673 border-radius: 4px; 8674 text-transform: uppercase; 8675 } 8676 .MuiButton-contained { 8677 color: rgba(0, 0, 0, 0.87); 8678 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); 8679 background-color: #e0e0e0; 8680 } 8681 .MuiButtonBase-root.Mui-disabled { 8682 cursor: default; 8683 pointer-events: none; 8684 } 8685 .MuiButton-label { 8686 width: 100%; 8687 display: inherit; 8688 align-items: inherit; 8689 justify-content: inherit; 8690 } 8691 .cartButton_login_content__2j1f7 { 8692 display: -moz-box; 8693 display: flex; 8694 text-align: center; 8695 z-index: 9; 8696 font-size: 18px; 8697 font-weight: 500; 8698 color: #fff; 8699 } 8700 8701 .jss35 { 8702 top: 5px; 8703 right: 5px; 8704 padding: 4px; 8705 position: absolute; 8706 border-radius: 50%; 8707 } 8708 .jss67 { 8709 cursor: pointer; 8710 font-size: 15px; 8711 line-height: 1.3; 8712 padding-left: 5px; 8713 } 8714 .jss69 { 8715 color: #222222; 8716 } 8717 .jss80 { 8718 color: #fff; 8719 width: 100%; 8720 height: 52px; 8721 padding: 11px 16px; 8722 font-size: 18px; 8723 min-width: 88px; 8724 min-height: 36px; 8725 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; 8726 font-weight: 500; 8727 line-weight: 1em; 8728 border-radius: 4px; 8729 text-transform: uppercase; 8730 background-color: #E87325; 8731 } 8732 @media (min-width: 991px){ 8733 .cartButton_login_content__2j1f7 { 8734 font-weight: 500; 8735 } 8736 } 8737 8738 @media (max-width: 992px) { 8739 #location-lock-dialog { 8740 width: 100%; 8741 top: auto; 8742 bottom: 0; 8743 padding-left: 0; 8744 padding-right: 0; 8745 } 8746 .MuiFormGroup-row { 8747 display: block 8748 } 8749 .MuiIconButton-label input { 8750 margin: 0; 8751 } 8752 } 8753 </style> 8754 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 8755 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 8756 <div tabindex="0" data-test="sentinelStart"></div> 8757 <div class="MuiDialog-container MuiDialog-scrollPaper" role="none presentation" tabindex="-1" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"> 8758 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 8759 <div class="jss31 undefined" id="location-lock-dialog"> 8760 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close">
8761 <span class="MuiIconButton-label"> 8762 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 8763 <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path> 8764 </svg> 8765 </span> 8766 <span class="MuiTouchRipple-root"></span> 8767 </button> 8768 <div> 8769 <div class="jss36">Select Delivery Location</div> 8770 <div class="jss37">Select a delivery location to see product availability</div> 8771 </div> 8772 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 8773 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 8774 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 8775 <span class="MuiIconButton-label"> 8776 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 8777 <span class="jss41"></span> 8778 </span> 8779 <span class="MuiTouchRipple-root"></span> 8780 </span> 8781 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8782 <span class="jss67 jss69">Jabodetabek</span> 8783 </span> 8784 </label> 8785 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 8786 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 8787 <span class="MuiIconButton-label"> 8788 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 8789 <span class="jss40"></span> 8790 </span> 8791 <span class="MuiTouchRipple-root"></span> 8792 </span> 8793 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 8794 <span class="jss67 jss68">Outside Jabodetabek</span> 8795 </span> 8796 </label> 8797 </div> 8798 <div> 8799 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 8800 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 8801 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 8802 <svg class="MuiSvgIcon-root jss6" focusable="false" viewBox="0 0 24 24" aria-hidden="true" style="font-size:16px"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg> 8803 </div> 8804 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 8805 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 8806 </div> 8807 <div style="width: 100%;"> 8808 <select id="choose-location" class="form-control"> 8809 <option value="">Choose Location</option> 8810 <option value="jakarta">Jakarta</option> 8811 <option value="bogor">Bogor</option> 8812 <option value="depok">Depok</option> 8813 <option value="tangerang">Tangerang</option> 8814 <option value="bekasi">Bekasi</option> 8815 </select> 8816 </div> 8817 </div> 8818 </div> 8819 </div> 8820 <button class="MuiButtonBase-root MuiButton-root MuiButton-contained jss55" tabindex="-1" type="button" title="" id="location-lock-submit" data-idforcdp="actionBtn-cdp" data-testid="location-lock-submit" style="background-color: #ffffff; width: 80%; padding: 14px 0px 12px; margin: 20px 0px; font-size: 18px; font-weight: 500; box-shadow: rgba(0, 0, 0, 0.1) 0px 2px 4px 0px; border-radius: 4px; color: rgb(0, 0, 0); height: 44px;" data-content=""> 8821 <span class="MuiButton-label">
8822 <span class=""></span> 8823 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 8824 </span> 8825 </button> 8826 </div> 8827 </div> 8828 </div> 8829 <div tabindex="0" data-test="sentinelEnd"></div> 8830 </div> 8831 8832
8832<script> 8833 const jabodetabek = [ 8834 { 8835 "code": "jakarta", 8836 "city": "jakarta", 8837 "zip": [] 8838 }, 8839 { 8840 "code": "bogor", 8841 "city": "bogor", 8842 "zip": [] 8843 }, 8844 { 8845 "code": "depok", 8846 "city": "depok", 8847 "zip": [] 8848 }, 8849 { 8850 "code": "tangerang", 8851 "city": "tangerang", 8852 "zip": [] 8853 }, 8854 { 8855 "code": "bekasi", 8856 "city": "bekasi", 8857 "zip": [] 8858 } 8859 ] 8860 let cityNonJabodetabek = [ 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 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 "pengiriman_aceh", 10035 10036 10037 10038 10039 10040 "pengiriman_ambon", 10041 10042 10043 10044 10045 10046 "pengiriman_atambua", 10047 10048 10049 10050 10051 10052 "pengiriman_badung", 10053 10054 10055 10056 10057 10058 "pengiriman_bali", 10059 10060 10061 10062 10063 10064 "pengiriman_balikpapan", 10065 10066 10067 10068 10069 10070 "pengiriman_bandar lampung", 10071 10072 10073 10074 10075 10076 "pengiriman_bandung", 10077 10078 10079 10080 10081 10082 "pengiriman_bandung barat", 10083 10084 10085 10086 10087 10088 "pengiriman_banjarmasin", 10089 10090 10091 10092 10093 10094 "pengiriman_banyumas", 10095 10096 10097 10098 10099 10100 "pengiriman_banyuwangi", 10101 10102 10103 10104 10105 10106 "pengiriman_batam", 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 "pengiriman_biak", 10117 10118 10119 10120 10121 10122 "pengiriman_binjai", 10123 10124 10125 10126 10127 10128 "pengiriman_blitar",
10129 10130 10131 10132 10133 10134 "pengiriman_blora", 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 "pengiriman_bojonegoro", 10145 10146 10147 10148 10149 10150 "pengiriman_boyolali", 10151 10152 10153 10154 10155 10156 "pengiriman_bukittinggi", 10157 10158 10159 10160 10161 10162 "pengiriman_buleleng", 10163 10164 10165 10166 10167 10168 "pengiriman_ciamis", 10169 10170 10171 10172 10173 10174 "pengiriman_cianjur", 10175 10176 10177 10178 10179 10180 "pengiriman_cibinong", 10181 10182 10183 10184 10185 10186 "pengiriman_cikarang", 10187 10188 10189 10190 10191 10192 "pengiriman_cikupa", 10193 10194 10195 10196 10197 10198 "pengiriman_cilacap", 10199 10200 10201 10202 10203 10204 "pengiriman_cileunyi", 10205 10206 10207 10208 10209 10210 "pengiriman_cimahi", 10211 10212 10213 10214 10215 10216 "pengiriman_cirebon", 10217 10218 10219 10220 10221 10222 "pengiriman_ciwidey", 10223 10224 10225 10226 10227 10228 "pengiriman_deli serdang", 10229 10230 10231 10232 10233 10234 "pengiriman_demak", 10235 10236 10237 10238 10239 10240 "pengiriman_denpasar", 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 "pengiriman_garut", 10251 10252 10253 10254 10255 10256 "pengiriman_gianyar", 10257 10258 10259 10260 10261 10262 "pengiriman_gresik", 10263 10264 10265 10266 10267 10268 "pengiriman_gunung kidul", 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 "pengiriman_jambi", 10279 10280 10281 10282 10283 10284 "pengiriman_jayapura", 10285 10286 10287 10288 10289 10290 "pengiriman_jember", 10291 10292 10293 10294 10295 10296 "pengiriman_jepara", 10297 10298 10299 10300 10301 10302 "pengiriman_jombang", 10303 10304 10305 10306 10307 10308 "pengiriman_karanganyar", 10309 10310 10311 10312 10313 10314 "pengiriman_karawang", 10315 10316 10317 10318 10319 10320 "pengiriman_karo", 10321 10322 10323 10324 10325 10326 "pengiriman_kebumen", 10327 10328 10329 10330 10331 10332 "pengiriman_kediri", 10333 10334 10335 10336 10337 10338 "pengiriman_keerom", 10339 10340 10341 10342 10343 10344 "pengiriman_kendal", 10345 10346 10347 10348 10349 10350 "pengiriman_klaten", 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 "pengiriman_kudus", 10361 10362 10363 10364 10365 10366 "pengiriman_kupang", 10367 10368 10369 10370 10371 10372 "pengiriman_lainnya", 10373 10374 10375 10376 10377 10378 "pengiriman_lamongan", 10379 10380 10381 10382 10383 10384 "pengiriman_lampung", 10385 10386 10387 10388 10389 10390 "pengiriman_lampung barat", 10391 10392 10393 10394 10395 10396 "pengiriman_lembang", 10397 10398 10399 10400 10401 10402 "pengiriman_lombok", 10403 10404 10405 10406 10407 10408 "pengiriman_lumajang", 10409 10410 10411 10412 10413 10414 "pengiriman_madiun", 10415 10416 10417 10418 10419 10420 "pengiriman_magelang", 10421 10422 10423 10424 10425 10426 "pengiriman_majalengka", 10427 10428 10429 10430 10431 10432 "pengiriman_makassar", 10433 10434 10435 10436 10437 10438 "pengiriman_malang", 10439 10440 10441 10442 10443 10444 "pengiriman_manado", 10445 10446 10447 10448 10449 10450 "pengiriman_medan", 10451 10452 10453 10454 10455 10456 "pengiriman_mengwi", 10457 10458 10459 10460 10461 10462 "pengiriman_mojokerto", 10463 10464 10465 10466 10467 10468 "pengiriman_nganjuk", 10469 10470 10471 10472 10473 10474 "pengiriman_ngawi", 10475 10476 10477 10478 10479 10480 "pengiriman_padang", 10481 10482 10483 10484 10485 10486 "pengiriman_palembang", 10487 10488 10489 10490 10491 10492 "pengiriman_pasuruan", 10493 10494 10495 10496 10497 10498 "pengiriman_pati", 10499 10500 10501 10502 10503 10504 "pengiriman_pekalongan", 10505 10506 10507 10508 10509 10510 "pengiriman_pekanbaru", 10511 10512 10513 10514 10515 10516 "pengiriman_pemalang", 10517 10518 10519 10520 10521 10522 "pengiriman_ponorogo", 10523 10524 10525 10526 10527 10528 "pengiriman_pontianak", 10529 10530 10531 10532 10533 10534 "pengiriman_probolinggo", 10535 10536 10537 10538 10539 10540 "pengiriman_purbalingga", 10541 10542 10543 10544 10545 10546 "pengiriman_purwakarta", 10547 10548 10549 10550 10551 10552 "pengiriman_purwokerto", 10553 10554 10555 10556 10557 10558 "pengiriman_rembang", 10559 10560 10561 10562 10563 10564 "pengiriman_riau", 10565 10566 10567 10568 10569 10570 "pengiriman_salatiga", 10571 10572 10573 10574 10575 10576 "pengiriman_samarinda", 10577 10578 10579 10580 10581 10582 "pengiriman_semarang", 10583 10584 10585 10586 10587 10588 "pengiriman_sentani", 10589 10590 10591 10592 10593 10594 "pengiriman_serang", 10595 10596 10597 10598 10599 10600 "pengiriman_sidoarjo", 10601 10602 10603 10604 10605 10606 "pengiriman_singkawang", 10607 10608 10609 10610 10611 10612 "pengiriman_sragen", 10613 10614 10615 10616 10617 10618 "pengiriman_subang", 10619 10620 10621 10622 10623 10624 "pengiriman_sukabumi", 10625 10626 10627 10628 10629 10630 "pengiriman_sumbawa", 10631 10632 10633 10634 10635 10636 "pengiriman_surabaya", 10637 10638 10639 10640 10641 10642 "pengiriman_surakarta solo", 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 "pengiriman_tasikmalaya", 10653 10654 10655 10656 10657 10658 "pengiriman_tegal", 10659 10660 10661 10662 10663 10664 "pengiriman_timika", 10665 10666 10667 10668 10669 10670 "pengiriman_wamena", 10671 10672 10673 10674 10675 10676 "pengiriman_wiyung", 10677 10678 10679 10680 10681 10682 "pengiriman_wonokromo", 10683 10684 10685 10686 10687 10688 "pengiriman_yogyakarta", 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 ] 11299 console.log(cityNonJabodetabek) 11300 let non_jabodetabek = [] 11301 for(var i=0;i<cityNonJabodetabek.length;i++) { 11302 const obj = { 11303 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 11304 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 11305 "zip": [] 11306 } 11307 non_jabodetabek.push(obj) 11308 } 11309 let current_location = getCookie("location_delivery") 11310 $("[name=location]").change(function(){ 11311 let v = $(this).val() 11312 let option = [] 11313 if(v == 'Jabodetabek') { 11314 for(var i=0;i<jabodetabek.length;i++) { 11315 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 11316 option.push(jabodetabekHtml) 11317 } 11318 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11319 } else { 11320 for(var i=0;i<non_jabodetabek.length;i++) { 11321 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 11322 option.push(nonjabodetabekHtml) 11323 } 11324 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 11325 } 11326 }) 11327 11328 $("#location-lock-submit").click(function(e){
11329 let select = $("#choose-location") 11330 let value = select.val().toLowerCase() 11331 console.log(value) 11332 if(select.val() == "") { 11333 return alert("Choose Your Location") 11334 e.preventDefault() 11335 } 11336 setCookie("location_delivery",value,1000000); 11337 11338 location.reload(); 11339 11340 }) 11341 11342 $("#close-popup-delivery").click(function(){ 11343 $(".MuiDialog-root").hide() 11344 if(!current_location){ 11345 setCookie("location_delivery","jakarta",1000000); 11346 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 11347 } 11348 }) 11349 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 11350 $(".MuiDialog-root").show() 11351 }) 11352 11353 11354 if(!current_location){ 11355 11356 } else { 11357 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 11358 console.log(current_location) 11359 $("#choose-location").each(function(){ 11360 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 11361 $("#jabodetabek").trigger("click") 11362 } else { 11363 $("#non-jabodetabek").trigger("click") 11364 } 11365 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 11366 }) 11367 } 11368 11369 // 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'){ 11370 // $("#timeMalam").attr("disabled", false) 11371 // } else { 11372 // $("#timeMalam").attr("disabled", true) 11373 // } 11374 11375 if(current_location && current_location != 'jakarta') { 11376 $("#self-pickup").attr("disabled", true) 11377 } 11378 11379 function setCookie(name,value,days) { 11380 var expires = ""; 11381 if (days) { 11382 var date = new Date(); 11383 date.setTime(date.getTime() + (days*24*60*60*1000)); 11384 expires = "; expires=" + date.toUTCString(); 11385 } 11386 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 11387 } 11388 function getCookie(name) { 11389 var nameEQ = name + "="; 11390 var ca = document.cookie.split(';'); 11391 for(var i=0;i < ca.length;i++) { 11392 var c = ca[i]; 11393 while (c.charAt(0)==' ') c = c.substring(1,c.length); 11394 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 11395 } 11396 return null; 11397 } 11398 </script>
11398 11399 <!-- One Tap --> 11400
11400<script> 11401 console.log("Outerbloom..."); 11402 </script>
11402 11403 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 11451
11451<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
11451 11452
11452<script> 11453 const widgetConfig = { 11454 id: "clz7897za002cz7otleaz0d3d", 11455 showQuickResponse: false, 11456 quickResponsesData: [], 11457 themeColor: "#ffffff", 11458 widgetText: "", 11459 radiusType: "circle", 11460 widgetIconType: "whatsapp", 11461 position: "right", 11462 storeLogo: "", 11463 storeName: "Outerbloom", 11464 storeDescription: "", 11465 size: "small", 11466 showCard: false, 11467 widgetColorType: "solid", 11468 widgetColor1: "#008069", 11469 widgetColor2: "#008069", 11470 social: { 11471 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 11472 values: { 11473 instagram: { 11474 enabled: false, 11475 value: "", 11476 }, 11477 facebook: { 11478 enabled: false, 11479 value: "", 11480 }, 11481 email: { 11482 enabled: false, 11483 value: "", 11484 }, 11485 x: { 11486 enabled: false, 11487 value: "", 11488 }, 11489 tiktok: { 11490 enabled: false, 11491 value: "", 11492 }, 11493 linkedin: { 11494 enabled: false, 11495 value: "", 11496 }, 11497 youtube: { 11498 enabled: false, 11499 value: "", 11500 }, 11501 }, 11502 }, 11503 }; 11504 11505 function initializeWidget() { 11506 if (typeof BBBWidget !== 'undefined') { 11507 BBBWidget.init(widgetConfig); 11508 } else { 11509 setTimeout(initializeWidget, 100); 11510 } 11511 } 11512 11513 initializeWidget();</script>
11513 11514 11515 11516 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 11517 11518 11519 <div style="position: fixed; bottom: 0; right: 0"></div> 11520 11521
11521<script> 11522 console.info("bitlogin extension version: v2.5.7"); 11523 11524 const googleScript = document.createElement("script"); 11525 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 11526 document.head.append(googleScript); 11527 11528 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 11529 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 11530 11531 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"}}; 11532 const config = [{"domain":"outerbloom1.myshopify.com","provider":"FACEBOOK","enabledMobile":false,"enabledWeb":true,"clientId":"922184709213757","clientSecret":"e3c874c8bce6da4211538ebda706d1cb","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"GOOGLE","enabledMobile":true,"enabledWeb":true,"clientId":"933600373534-vk6hiu9lqrtbblj0357q0gsoo7mqvsd0.apps.googleusercontent.com","clientSecret":"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","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":true,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"APPLE","enabledMobile":true,"enabledWeb":true,"clientId":"com.bitlogin.outerbloom","clientSecret":"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","appleTeamId":"1A","applePrivateKey":"1A","usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"WHATSAPP","enabledMobile":false,"enabledWeb":true,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"MICROSOFT","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"TWITTER","enabledMobile":false,"enabledWeb":false,"clientId":null,"clientSecret":null,"appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null},{"domain":"outerbloom1.myshopify.com","provider":"AMAZON","enabledMobile":false,"enabledWeb":false,"clientId":"amzn1.application-oa2-client.5b560a5e3e2943d6b25c50cd6dca5532","clientSecret":"amz
11532n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 11533 const redirectUrl = appearance.redirectLink; 11534 11535 let locationCacheSet = false; 11536 let errorLocation = false; 11537 let oneTapSet = false; 11538 11539 let bitloginCache = { 11540 appearance: appearance, 11541 config: config 11542 }; 11543 11544 let isInitializing = false; 11545 const queue = []; 11546 11547 // Add CSS for the popup 11548 const popupStyles = document.createElement('style'); 11549 popupStyles.textContent = ` 11550 /* Styles for login popup */ 11551 .bitlogin-popup-overlay { 11552 position: fixed; 11553 top: 0; 11554 left: 0; 11555 width: 100%; 11556 height: 100%; 11557 background: rgba(0, 0, 0, 0.45); 11558 backdrop-filter: blur(4px); 11559 display: flex; 11560 align-items: center; 11561 justify-content: center; 11562 opacity: 0; 11563 transition: opacity 0.3s ease-in-out; 11564 z-index: 999999; 11565 } 11566 11567 .bitlogin-popup-overlay.visible { 11568 opacity: 1; 11569 } 11570 11571 .bitlogin-popup { 11572 background: #FFFFFF; 11573 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 11574 border-radius: 16px; 11575 width: 100%; 11576 max-width: 560px; 11577 display: flex; 11578 overflow: hidden; 11579 position: relative; 11580 opacity: 0; 11581 transform: translateY(20px) scale(0.98); 11582 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 11583 } 11584 11585 .bitlogin-popup.visible { 11586 opacity: 1; 11587 transform: translateY(0) scale(1); 11588 } 11589 11590 .bitlogin-popup-with-image { 11591 max-width: 640px; 11592 } 11593 11594 .bitlogin-popup-right-image { 11595 flex-direction: row-reverse; 11596 } 11597 11598 .bitlogin-popup-image { 11599 object-fit: cover; 11600 width: 50%; 11601 height: auto; 11602 } 11603 11604 .bitlogin-popup-content { 11605 padding: 32px; 11606 position: relative; 11607 width: 50%; 11608 } 11609 11610 .bitlogin-popup-close { 11611 position: absolute; 11612 top: 16px; 11613 right: 16px; 11614 background: white; 11615 border: none; 11616 width: 30px; 11617 height: 30px; 11618 display: flex; 11619 align-items: center; 11620 justify-content: center; 11621 cursor: pointer; 11622 transition: background-color 0.2s; 11623 color: inherit; 11624 padding: 0; 11625 } 11626 11627 .bitlogin-popup-close:hover { 11628 background-color: #e5e5e5; 11629 } 11630 11631 .bitlogin-popup-buttons { 11632 display: flex; 11633 flex-direction: column; 11634 gap: 12px; 11635 margin-top: 24px; 11636 } 11637 11638 /* Button styles within popup - override width for popup buttons */ 11639 .bitlogin-popup-buttons #google-login, 11640 .bitlogin-popup-buttons #facebook-login, 11641 .bitlogin-popup-buttons #apple-login, 11642 .bitlogin-popup-buttons #whatsapp-login, 11643 .bitlogin-popup-buttons #microsoft-login, 11644 .bitlogin-popup-buttons #twitter-login, 11645 .bitlogin-popup-buttons #amazon-login, 11646 .bitlogin-popup-buttons #instagram-login, 11647 .bitlogin-popup-buttons #magic-link-login, 11648 .bitlogin-popup-buttons #mobile-app-login { 11649 width: 100% !important; 11650 font-family: inherit !important; 11651 } 11652 11653 .bitlogin-popup-footer { 11654 margin-top: 32px; 11655 text-align: center; 11656 font-size: 14px; 11657 opacity: 0.6; 11658 } 11659 11660 /* Modern Typography */ 11661 .bitlogin-popup h2 { 11662 margin-top: 12px; 11663 font-size: 21px !important; 11664 line-height: 1.2 !important; 11665 font-weight: 700 !important; 11666 letter-spacing: -0.02em !important; 11667 margin-bottom: 16px !important; 11668 } 11669 11670 .bitlogin-popup-header { 11671 position: relative; 11672 margin-bottom: 24px; 11673 } 11674 11675 /* Modern gradient accent */ 11676 .bitlogin-popup-content > div { 11677 font-size: 16px !important; 11678 line-height: 1.2 !important; 11679 opacity: 0.85 !important; 11680 } 11681 11682 /* Enhanced button interactions */ 11683 .bitlogin-popup-buttons button { 11684 position: relative; 11685 overflow: hidden; 11686 } 11687 11688 @keyframes ripple { 11689 0% { 11690 transform: scale(0, 0); 11691 opacity: 0.5; 11692 } 11693 100% { 11694 transform: scale(100, 100); 11695 opacity: 0; 11696 } 11697 } 11698 11699 /* Responsive adjustments */ 11700 @media (max-width: 640px) { 11701 .bitlogin-popup { 11702 max-width: 90%; 11703 width: 90%; 11704 margin: 0 16px; 11705 } 11706 11707 .bitlogin-popup-with-image { 11708 flex-direction: column !important; 11709 } 11710 11711 .bitlogin-popup-image { 11712 width: 100%; 11713 height: 180px; 11714 } 11715 11716 .bitlogin-popup-content { 11717 padding: 24px; 11718 } 11719 11720 .bitlogin-popup h2 { 11721 font-size: 24px !important; 11722 } 11723 } 11724 `; 11725
11726 document.head.appendChild(popupStyles); 11727 11728 // Add fonts link for different font options 11729 const fontsLink = document.createElement('link'); 11730 fontsLink.rel = 'stylesheet'; 11731 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'; 11732 document.head.appendChild(fontsLink); 11733 11734 (async () => { 11735 try { 11736 let host = window.location.host; 11737 if (host === "admin.shopify.com") { 11738 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 11739 } 11740 11741 const urlSearchParams = new URLSearchParams(window.location.search); 11742 const checkoutUrl = urlSearchParams.get("checkout_url"); 11743 11744 async function init({ inputRef, index }) { 11745 if (isInitializing) { 11746 queue.push(() => init({ inputRef, index })); 11747 return; 11748 } 11749 11750 isInitializing = true; 11751 11752 try { 11753 let bitLoginSectionRoot = document.querySelector( 11754 `.bitlogin-root[data-index="${index}"]` 11755 ); 11756 11757 const formRef = inputRef?.closest( 11758 "form:not([action='/account/recover'])" 11759 ); 11760 11761 if (formRef && !bitLoginSectionRoot) { 11762 await getLocation(); 11763 11764 bitLoginSectionRoot = document.createElement(`div`); 11765 11766 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 11767 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 11768 11769 updateAppearance({ 11770 formRef, 11771 rootRef: bitLoginSectionRoot, 11772 host, 11773 }); 11774 } 11775 } catch (err) { 11776 console.error(`error while initiating bitlogin extensions`, err); 11777 } finally { 11778 // Release the lock 11779 isInitializing = false; 11780 11781 // Check if there are pending items in the queue 11782 if (queue.length > 0) { 11783 // Process the next function in the queue 11784 const nextFunction = queue.shift(); 11785 nextFunction(); 11786 } 11787 } 11788 } 11789 11790 function initAll() { 11791 return new Promise((resolve, reject) => { 11792 setTimeout(async () => { 11793 const inputRefs = document.querySelectorAll( 11794 'input[name="customer[email]"]' 11795 ); 11796 11797 for (let i = 0; i < inputRefs.length; i++) { 11798 const currentInputRef = inputRefs[i]; 11799 const isVisible = isElementVisible(currentInputRef); 11800 11801 if (isVisible) { 11802 await init({ inputRef: currentInputRef, index: i }); 11803 } 11804 } 11805 11806 resolve("ok"); 11807 }, 100); 11808 }); 11809 } 11810 11811 const observer = new MutationObserver((mutationsList) => { 11812 for (let mutation of mutationsList) { 11813 initAll(); 11814 } 11815 }); 11816 11817 observer.observe(document.body, { 11818 childList: true, 11819 subtree: true, 11820 attributes: true, 11821 }); 11822 11823 initAll(); 11824 11825 if (appearance.googleOneTap) { 11826 setupOneTap({ host, checkoutUrl }); 11827 } 11828 11829 // Initialize popup 11830 await initPopup(host); 11831 } catch (error) { 11832 console.error("Error initializing BitLogin:", error); 11833 } 11834 })(); 11835 11836 async function initPopup(host) { 11837 // Check if user is already logged in using Liquid checks properly 11838 const isLoggedIn = false || 11839 document.querySelector('.customer-logout-link') || 11840 document.querySelector('.account-link') || 11841 window.location.pathname.includes('/account'); 11842 11843 if (isLoggedIn) { 11844 return; // User is logged in, don't show popup 11845 } 11846 11847 try { 11848 // Fetch the popup configuration 11849 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 11850 .then(res => res.json()) 11851 .catch(err => { 11852 console.error('Error fetching popup configuration:', err); 11853 return null; 11854 }); 11855 11856 if (!popupConfig || !popupConfig.enabled) { 11857 return;
11857 // Don't show popup if disabled or config not found 11858 } 11859 11860 // Create popup after 10 seconds 11861 setTimeout(() => { 11862 // Check if user is still on the page and still not logged in 11863 if (document.visibilityState === 'visible') { 11864 // Additional check in case user logged in during the 10 second wait 11865 const currentlyLoggedIn = false || 11866 document.querySelector('.customer-logout-link') || 11867 document.querySelector('.account-link'); 11868 11869 if (!currentlyLoggedIn) { 11870 createLoginPopup(popupConfig, host); 11871 } 11872 } 11873 }, 10000); 11874 } catch (error) { 11875 console.error('Error initializing popup:', error); 11876 } 11877 } 11878 11879 function createLoginPopup(popupConfig, host) { 11880 // Font mapping 11881 const fontFamilyMap = { 11882 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 11883 montserrat: 'Montserrat, sans-serif', 11884 roboto: 'Roboto, sans-serif', 11885 open_sans: 'Open Sans, sans-serif', 11886 noto_sans: 'Noto Sans, sans-serif', 11887 lato: 'Lato, sans-serif', 11888 poppins: 'Poppins, sans-serif', 11889 quicksand: 'Quicksand, sans-serif', 11890 raleway: 'Raleway, sans-serif', 11891 pt_sans: 'PT Sans, sans-serif', 11892 oswald: 'Oswald, sans-serif', 11893 }; 11894 11895 // Create overlay 11896 const overlay = document.createElement('div'); 11897 overlay.className = 'bitlogin-popup-overlay'; 11898 11899 // Create popup container with appropriate styling 11900 const popup = document.createElement('div'); 11901 popup.className = 'bitlogin-popup'; 11902 11903 if (popupConfig.layout === 'default') { 11904 popup.style.maxWidth = '400px'; 11905 } 11906 11907 // Function to close the popup 11908 const closePopup = () => { 11909 overlay.classList.remove('visible'); 11910 popup.classList.remove('visible'); 11911 setTimeout(() => { 11912 if (document.body.contains(overlay)) { 11913 document.body.removeChild(overlay); 11914 } 11915 }, 300); 11916 }; 11917 11918 // Add click handler to the overlay to close when clicking outside 11919 overlay.addEventListener('click', (event) => { 11920 // Close only if clicking directly on the overlay, not its children 11921 if (event.target === overlay) { 11922 closePopup(); 11923 } 11924 }); 11925 11926 // Add escape key handler to close popup 11927 document.addEventListener('keydown', (event) => { 11928 if (event.key === 'Escape' && document.body.contains(overlay)) { 11929 closePopup(); 11930 } 11931 }); 11932 11933 // Create layout with image if specified 11934 let contentWrapper; 11935 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 11936 popup.classList.add('bitlogin-popup-with-image'); 11937 11938 if (popupConfig.layout === 'right') { 11939 popup.classList.add('bitlogin-popup-right-image'); 11940 } 11941 11942 // Add image 11943 const image = document.createElement('img'); 11944 image.className = 'bitlogin-popup-image'; 11945 image.src = popupConfig.popupImage; 11946 image.alt = 'Login'; 11947 image.loading = 'lazy'; 11948 popup.appendChild(image); 11949 11950 // Create content container 11951 contentWrapper = document.createElement('div'); 11952 contentWrapper.className = 'bitlogin-popup-content'; 11953 11954 if (popupConfig.layout === 'right') { 11955 const closeButton = document.createElement('button'); 11956 closeButton.className = 'bitlogin-popup-close'; 11957 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="./jitutoto-logo.png"> 11958 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11959 </svg>`; 11960 closeButton.setAttribute('aria-label', 'Close'); 11961 closeButton.onclick = closePopup; 11962 11963 popup.appendChild(closeButton); 11964 } 11965 } else { 11966 contentWrapper = document.createElement('div'); 11967 contentWrapper.className = 'bitlogin-popup-content'; 11968 contentWrapper.style.width = '100%'; 11969 } 11970 11971 // Set background style 11972 if (popupConfig.backgroundTheme === 'gradient') { 11973 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 11974 } else { 11975 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 11976 } 11977 11978 // Apply font family 11979 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 11980 11981 if (popupConfig.layout !== 'right') { 11982 const closeButton = document.createElement('button'); 11983 closeButton.className = 'bitlogin-popup-close'; 11984 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="./jitutoto-logo.png"> 11985 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 11986 </svg>`; 11987 closeButton.setAttribute('aria-label', 'Close'); 11988 closeButton.onclick = closePopup; 11989 11990 contentWrapper.appendChild(closeButton); 11991 } 11992 11993 // Add heading with subtle animation effect 11994 const header = document.createElement('div'); 11995 header.className = 'bitlogin-popup-header'; 11996 11997 const heading = document.createElement('h2'); 11998 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
11998its'; 11999 heading.style.color = popupConfig.fontColor; 12000 header.appendChild(heading); 12001 12002 // Add body text with improved formatting 12003 const bodyText = document.createElement('div'); 12004 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 12005 bodyText.style.color = popupConfig.fontColor; 12006 header.appendChild(bodyText); 12007 12008 contentWrapper.appendChild(header); 12009 12010 // Create buttons container with modern styling 12011 const buttonsContainer = document.createElement('div'); 12012 buttonsContainer.className = 'bitlogin-popup-buttons'; 12013 12014 // Add social buttons 12015 const providerLabels = { 12016 'GOOGLE': 'Continue with Google', 12017 'FACEBOOK': 'Continue with Facebook', 12018 'APPLE': 'Continue with Apple', 12019 'WHATSAPP': 'Continue with WhatsApp', 12020 'MAGIC_LINK': 'Continue with Email', 12021 }; 12022 12023 // Add first login provider button 12024 if (popupConfig.loginProvider1 !== 'NONE') { 12025 const buttonConfig = { 12026 theme: popupConfig.colorScheme || 'match', 12027 customColor: popupConfig.textColor, 12028 format: 'contentFlex', 12029 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 12030 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 12031 style: popupConfig.style || 'rounded', 12032 size: popupConfig.size || 'medium', 12033 colorScheme: popupConfig.colorScheme || 'match', 12034 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 12035 textColor: popupConfig.textColor || '#FFFFFF', 12036 outlineColor: popupConfig.outlineColor || '#3B82F6', 12037 host: host 12038 }; 12039 12040 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 12041 12042 // Handle click event - this overrides the default click handler in createSocialLoginButton 12043 button1.onclick = () => { 12044 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 12045 closePopup(); 12046 }; 12047 12048 buttonsContainer.appendChild(button1); 12049 } 12050 12051 // Add second login provider button if enabled 12052 if (popupConfig.loginProvider2 !== 'NONE') { 12053 const buttonConfig = { 12054 theme: popupConfig.colorScheme || 'match', 12055 customColor: popupConfig.textColor, 12056 format: 'contentFlex', 12057 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 12058 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 12059 style: popupConfig.style || 'rounded', 12060 size: popupConfig.size || 'medium', 12061 colorScheme: popupConfig.colorScheme || 'match', 12062 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 12063 textColor: popupConfig.textColor || '#FFFFFF', 12064 outlineColor: popupConfig.outlineColor || '#3B82F6', 12065 host: host 12066 }; 12067 12068 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 12069 12070 // Handle click event - this overrides the default click handler in createSocialLoginButton 12071 button2.onclick = () => { 12072 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 12073 closePopup(); 12074 }; 12075 12076 buttonsContainer.appendChild(button2); 12077 } 12078 12079 contentWrapper.appendChild(buttonsContainer); 12080 12081 // Append content to popup 12082 popup.appendChild(contentWrapper); 12083 12084 // Append popup to overlay 12085 overlay.appendChild(popup); 12086 12087 // Append overlay to body 12088 document.body.appendChild(overlay); 12089 12090 // Trigger animation with slight delay for better perceived performance 12091 setTimeout(() => { 12092 overlay.classList.add('visible'); 12093 setTimeout(() => { 12094 popup.classList.add('visible'); 12095 }, 50); 12096 }, 10); 12097 } 12098 12099 window.addEventListener("load", () => { 12100 window.addEventListener("message", (event) => { 12101 const receivedData = event.data; 12102 12103 if (receivedData.type === "authorize") { 12104 post( 12105 JSON.parse( 12106 JSON.stringify({ 12107 "customer[email]": receivedData.email, 12108 "customer[password]": receivedData.password, 12109 form_type: "customer_login", 12110 utf8: "â", 12111 return_url: redirectUrl, 12112 }) 12113 ) 12114 ); 12115 } else if (receivedData.type === "rejected") { 12116 if (receivedData.reason === "customer_account_disabled") { 12117 showAlert( 12118 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 12119 ); 12120 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 12121 showAlert( 12122 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 12123 ); 12124 } else if (receivedData.reason === "customer_exist_email_not_set") { 12125 showAlert( 12126 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 12127 ); 12128 } 12129 } 12130 12131 if (receivedData.type === "customer_authenticated") { 12132 // Dispatch a custom event that merchants can listen for to implement their custom logic 12133 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 12134 detail: { 12135 provider: receivedData.provider, 12136 customer: receivedData.customer, 12137 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 12138 } 12139 }); 12140 12141 // Dispatch the event on the window object so merchants can listen for it 12142 window.dispatchEvent(customerAuthEvent); 12143 12144 } 12145 }); 12146 }); 12147 12148 // Reusable functions for social login buttons 12149 function createSocialLoginButton(provider, config = {}) { 12150 const { 12151 theme = 'match', 12152 customColor = null, 12153 format = 'contentFlex', 12154 buttonText = null, 12155 hasShadow = true, 12156 style = 'rounded', 12157 size = 'medium', 12158 colorScheme = 'match', 12159 backgroundColor = '#3B82F6', 12160 textColor = '#FFFFFF', 12161 outlineColor = '#3B82F6', 12162 rootRef = null, 12163 host = null 12164 } = config; 12165 12166 // Create button element with appropriate ID and attributes 12167 const button = document.createElement('button'); 12168 button.id = `${provider.toLowerCase()}-login`; 12169 button.type = 'button'; 12170 12171 // Set the inner SVG based on provider 12172 switch (provider.toUpperCase()) {
12173 case 'GOOGLE': 12174 button.innerHTML = googleLoginIcon(theme, customColor); 12175 break; 12176 case 'FACEBOOK': 12177 button.innerHTML = facebookLoginIcon(theme, customColor); 12178 break; 12179 case 'APPLE': 12180 button.innerHTML = appleLoginIcon(theme, customColor); 12181 break; 12182 case 'WHATSAPP': 12183 button.innerHTML = whatsappLoginIcon(theme, customColor); 12184 break; 12185 case 'MICROSOFT': 12186 button.innerHTML = microsoftLoginIcon(theme, customColor); 12187 break; 12188 case 'TWITTER': 12189 button.innerHTML = twitterLoginIcon(theme, customColor); 12190 break; 12191 case 'AMAZON': 12192 button.innerHTML = amazonLoginIcon(theme, customColor); 12193 break; 12194 case 'INSTAGRAM': 12195 button.innerHTML = instagramLoginIcon(theme, customColor); 12196 break; 12197 case 'MAGIC_LINK': 12198 button.innerHTML = magicLinkLoginIcon(theme, customColor); 12199 break; 12200 case 'MOBILE_APP': 12201 button.innerHTML = mobileAppLoginIcon(theme, customColor); 12202 break; 12203 case 'LINKEDIN': 12204 button.innerHTML = linkedinLoginIcon(theme, customColor); 12205 break; 12206 } 12207 12208 // Add text if format isn't icon-only and buttonText is provided 12209 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 12210 button.innerHTML += `<p>${buttonText}</p>`; 12211 } 12212 12213 // Apply styling 12214 // Shadow 12215 if (hasShadow) { 12216 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 12217 button.style["box-shadow"] = shadowProperties; 12218 } 12219 12220 // Border radius 12221 const radiusProperties = 12222 style === "rounded" 12223 ? "8px" 12224 : style === "square" 12225 ? "0px" 12226 : style === "fullRounded" 12227 ? format === "wrapperFlexContainerOnlyLogo" 12228 ? "50%" 12229 : "50px" 12230 : undefined; 12231 button.style["border-radius"] = radiusProperties; 12232 12233 // Size 12234 const sizeProperties = 12235 size === "medium" 12236 ? "12px" 12237 : size === "small" 12238 ? "8px" 12239 : size === "large" 12240 ? "16px" 12241 : "8px"; 12242 12243 button.style["padding-block"] = sizeProperties; 12244 12245 // Format styling 12246 if (format) { 12247 if ( 12248 format === "contentFlexReverse" || 12249 format === "contentFlexCenterReverse" 12250 ) { 12251 const flexDir = `row-reverse`; 12252 button.style["flex-direction"] = flexDir; 12253 } 12254 12255 if ( 12256 format === "contentFlexCenter" || 12257 format === "contentFlexCenterReverse" 12258 ) { 12259 const justifyContent = `center`; 12260 button.style["justify-content"] = justifyContent; 12261 } else if ( 12262 format === "contentFlex" || 12263 format === "contentFlexReverse" 12264 ) { 12265 const buttonTextElement = button.querySelector("p"); 12266 if (buttonTextElement) { 12267 buttonTextElement.style["flex-grow"] = 1; 12268 buttonTextElement.style["text-align"] = "center"; 12269 } 12270 } 12271 12272 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 12273 rootRef.style["flex-direction"] = "row"; 12274 rootRef.style["gap"] = "8px"; 12275 rootRef.style["display"] = "flex"; 12276 rootRef.style["flex-wrap"] = "wrap"; 12277 12278 const sizeMapping = { 12279 small: "52px", 12280 medium: "62px", 12281 large: "72px", 12282 }; 12283 const buttonSize = sizeMapping[size] || "52px"; 12284 12285 button.style["margin"] = 0; 12286 button.style["width"] = buttonSize; 12287 button.style["height"] = buttonSize; 12288 button.style["display"] = "flex"; 12289 button.style["align-items"] = "center"; 12290 button.style["justify-content"] = "center"; 12291 12292 const svgElement = button.querySelector("svg"); 12293 if (svgElement) { 12294 svgElement.style["flex"] = "none"; 12295 } 12296 } 12297 } 12298 12299 // Color scheme styling 12300 if (colorScheme === "black") { 12301 button.classList.add("scheme-black"); 12302 } else if (colorScheme === "white") { 12303 button.classList.add("scheme-white"); 12304 } else if (colorScheme === "custom") { 12305 button.style["background-color"] = backgroundColor; 12306 button.style["color"] = textColor; 12307 button.style["border-color"] = outlineColor; 12308 12309 const darkenColor = (color, percentage) => { 12310 const value = parseInt(color.slice(1), 16); 12311 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 12312 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 12313 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 12314 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 12315 }; 12316 12317 button.addEventListener("mouseover", () => {
12318 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 12319 }); 12320 button.addEventListener("mouseout", () => { 12321 button.style["background-color"] = backgroundColor; 12322 }); 12323 } else if (colorScheme === "match") { 12324 button.classList.add("scheme-match"); 12325 } else if (colorScheme === "matchOutline") { 12326 button.classList.add("scheme-match-outline"); 12327 } 12328 12329 // Add click event listener if host is provided 12330 if (host) { 12331 button.addEventListener("click", () => 12332 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 12333 ); 12334 } 12335 12336 return button; 12337 } 12338 12339 function setupSocialLoginButtons(config, rootRef, data, host) { 12340 // Clear any existing content 12341 rootRef.innerHTML = ''; 12342 12343 const sortedEnabledProviders = config 12344 .filter(c => c.enabledWeb) 12345 .sort((a, b) => a.position - b.position); 12346 12347 sortedEnabledProviders.forEach(provider => { 12348 const key = provider.provider; 12349 const lowerKey = key.toLowerCase(); 12350 12351 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 12352 ? (lowerKey === 'twitter' 12353 ? data.buttonList.twitter.replace('Twitter', 'X') 12354 : data.buttonList[lowerKey]) 12355 : null; 12356 12357 const button = createSocialLoginButton(key, { 12358 theme: data.colorScheme || 'match', 12359 customColor: data.textColor, 12360 format: data.format, 12361 buttonText: buttonText, 12362 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 12363 style: data.style, 12364 size: data.size, 12365 colorScheme: data.colorScheme, 12366 backgroundColor: data.backgroundColor, 12367 textColor: data.textColor, 12368 outlineColor: data.outlineColor, 12369 rootRef: rootRef, 12370 host: host 12371 }); 12372 12373 rootRef.appendChild(button); 12374 }); 12375 12376 return rootRef; 12377 } 12378 12379 function updateAppearance({ formRef, rootRef, host }) { 12380 if (!formRef) return; 12381 12382 const data = bitloginCache.appearance || { 12383 style: "square", 12384 hasShadow: false, 12385 colorScheme: "match", 12386 backgroundColor: "#FFFFFF", 12387 outlineColor: "#000000", 12388 textColor: "#000000", 12389 position: "bottom", 12390 hideDivider: "false", 12391 dividerText: "OR", 12392 size: "small", 12393 format: "contentFlex", 12394 language: "en", 12395 buttonText: "Continue with", 12396 redirectLink: "/account", 12397 googleOneTap: true, 12398 googleOneTapBanner: true, 12399 customerTag: "bitLogin", 12400 redirectOneTapDesktop: null, 12401 redirectOneTapMobile: null, 12402 buttonList: { 12403 google: "Continue with Google", 12404 facebook: "Continue with Facebook", 12405 apple: "Continue with Apple", 12406 whatsapp: "Continue with WhatsApp", 12407 microsoft: "Continue with Microsoft", 12408 twitter: "Continue with X", 12409 amazon: "Continue with Amazon", 12410 instagram: "Continue with Instagram", 12411 magic_link: "Continue with Magic Link", 12412 mobile_app: "Continue with Mobile App", 12413 linkedin: "Continue with LinkedIn", 12414 }, 12415 }; 12416 12417 // Use the new setupSocialLoginButtons function to create and configure all buttons 12418 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 12419 12420 let divider; 12421 12422 if (!data.hideDivider) { 12423 divider = document.createElement("div"); 12424 const dividerStyle = "text-align:center;margin-block:16px"; 12425 divider.setAttribute("style", dividerStyle); 12426 divider.innerHTML = data.dividerText; 12427 } 12428 12429 if (data.position === "bottom") { 12430 if (divider) { 12431 formRef.appendChild(divider); 12432 } 12433 formRef.appendChild(rootRef); 12434 } else if (data.position === "top") { 12435 if (divider) { 12436 formRef.prepend(divider); 12437 } 12438 formRef.prepend(rootRef); 12439 } 12440 } 12441 12442 12443 async function onClickSocialLogin({ provider, host }) { 12444 const rand = Math.random().toString(); 12445 12446 const locationQueryString = bitloginCache.location 12447 ? `&${objectToQueryString(bitloginCache.location)}` 12448 : ""; 12449 12450 const width = 800; 12451 const height = 600; 12452 const left = (window.screen.width / 2) - (width / 2); 12453 const top = (window.screen.height / 2) - (height / 2) - 50; 12454
12455 if(provider === 'whatsapp') { 12456 window.open( 12457 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 12458 "mywindow", 12459 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12460 ); 12461 } else { 12462 window.open( 12463 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 12464 "mywindow", 12465 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 12466 ); 12467 } 12468 } 12469 12470 function objectToQueryString(obj) { 12471 return Object.keys(obj) 12472 .map((key) => { 12473 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 12474 }) 12475 .join("&"); 12476 } 12477 12478 async function getLocation() { 12479 if (locationCacheSet) return; 12480 12481 try { 12482 const response = await fetch("https://ipapi.co/json/"); 12483 12484 if (!response.ok) { 12485 console.error(`error retrieving location...`, response.status); 12486 errorLocation = true; 12487 } else { 12488 const data = await response.json(); 12489 12490 const { city, region, country_name, country_code } = data; 12491 12492 const formattedLocationData = { 12493 city, 12494 region, 12495 country_name, 12496 country_code, 12497 }; 12498 12499 bitloginCache.location = formattedLocationData; 12500 locationCacheSet = true; 12501 errorLocation = false; 12502 } 12503 } catch (err) { 12504 console.error(`error fetching location`, err); 12505 errorLocation = true; 12506 } 12507 } 12508 12509 function post(params) { 12510 // The rest of this code assumes you are not using a library. 12511 // It can be made less verbose if you use one. 12512 const form = document.createElement("form"); 12513 form.method = "post"; 12514 form.action = `/account/login`; 12515 form.acceptCharset = "UTF-8"; 12516 form.setAttribute("data-login-with-shop-sign-in", "true"); 12517 form.setAttribute("novalidate", "novalidate"); 12518 12519 for (const key in params) { 12520 if (params.hasOwnProperty(key)) { 12521 const hiddenField = document.createElement("input"); 12522 hiddenField.type = "hidden"; 12523 hiddenField.name = key; 12524 hiddenField.value = params[key]; 12525 12526 form.appendChild(hiddenField); 12527 } 12528 } 12529 12530 document.body.appendChild(form); 12531 form.submit(); 12532 } 12533 12534 async function setupOneTap({ host, checkoutUrl }) { 12535 if (oneTapSet) return; 12536 12537 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 12538 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 12539 12540 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 12541 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 12542 12543 const currentPath = window.location.pathname.toLowerCase(); 12544 const currentUrl = window.location.href.toLowerCase(); 12545 12546 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 12547 switch (value) { 12548 case 'home': 12549 return currentPath === '/'; 12550 case 'product': 12551 return currentPath.startsWith('/products/'); 12552 case 'collections': 12553 return currentPath.startsWith('/collections'); 12554 case 'cart': 12555 return currentPath === '/cart'; 12556 case 'checkout': 12557 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 12558 case 'thank_you': 12559 return currentPath.includes('/thank_you'); 12560 case 'account': 12561 return currentPath.startsWith('/account'); 12562 case 'pages': 12563 return currentPath.startsWith('/pages'); 12564 case 'blogs': 12565 return currentPath === '/blogs' || currentPath === '/blogs/news'; 12566 case 'blog_post': 12567 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 12568 default: 12569 return false; 12570 } 12571 }); 12572 12573 if (shouldHideGoogleOneTap) return; 12574 12575 const oneTapClientId = bitloginCache.config.find( 12576 (config) => config.provider === "GOOGLE" 12577 )?.clientId; 12578 12579 const isLoggedIn = false; 12580 12581 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 12582 const googleOneTapButton = document.createElement("div"); 12583 googleOneTapButton.setAttribute("id", "g_id_onload"); 12584 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 12585 googleOneTapButton.setAttribute("data-context", "signin"); 12586 googleOneTapButton.setAttribute( 12587 "data-callback", 12588 "handleGoogleOneTapResponse" 12589 ); 12590 googleOneTapButton.setAttribute("data-itp_support", "true"); 12591 12592 const googleOneTapScript = document.createElement("script"); 12593 12594 googleOneTapScript.innerHTML += ` 12595 function handleGoogleOneTapResponse(response) { 12596 if (response.credential) { 12597 const idToken = response.credential; 12598 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 12599 method: 'POST', 12600 headers: { 'Content-Type': 'application/json' }, 12601 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 12602 }).then(response => { 12603 response.json().then((data) => { 12604 post( 12605 JSON.parse( 12606 JSON.stringify({ 12607 "customer[email]": data.email, 12608 "customer[password]": data.password, 12609 form_type: "customer_login", 12610 utf8: "â", 12611 return_url: redirectUrl, 12612 }) 12613 ) 12614 ); 12615 }); 12616 }).catch(error => { 12617 console.error('Error occurred:', error); 12618 }); 12619 } else { 12620 console.error('No credential available'); 12621 } 12622 } 12623 `; 12624 12625 document.body.append(googleOneTapButton); 12626 document.body.append(googleOneTapScript); 12627 } 12628 12629 oneTapSet = true; 12630 } 12631
12632 const googleLoginIcon = ( 12633 theme, 12634 customColor 12635 ) => ` 12636 ${ 12637 theme === "match" || theme === "matchOutline" || theme === "custom" 12638 ? `<svg 12639 xmlns='./jitutoto-logo.png' 12640 xmlns:v='https://vecta.io/nano' 12641 width='24' 12642 height='24' 12643 viewBox='0 0 186.69 190.5' 12644 > 12645 <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="${ 12646 theme === "custom" ? customColor : "#4285f4" 12647 }"/><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="${ 12648 theme === "custom" ? customColor : "#34a853" 12649 }"/><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="${ 12650 theme === "custom" ? customColor : "#fbbc05" 12651 }"/><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="${ 12652 theme === "custom" ? customColor : "#ea4335" 12653 }" clip-path="none" mask="none"/></g> 12654 </svg>` 12655 : `<svg xmlns="./jitutoto-logo.png" width="25" height="25" viewBox="0 0 25 25" fill="none"> 12656 <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="${ 12657 theme !== "black" ? "black" : "white" 12658 }"/> 12659 <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="${ 12660 theme !== "black" ? "black" : "white" 12661 }"/> 12662 <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="${ 12663 theme !== "black" ? "black" : "white" 12664 }"/> 12665 <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="${ 12666 theme !== "black" ? "black" : "white" 12667 }"/> 12668 </svg>` 12669 }`; 12670 12671 const appleLoginIcon = ( 12672 theme, 12673 customColor 12674 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="./jitutoto-logo.png"> 12675 <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="${ 12676 theme === "custom" 12677 ? customColor 12678 : theme === "match" || theme === "black" 12679 ? "white" 12680 : "black" 12681 }"/> 12682 </svg>`; 12683 12684 const facebookLoginIcon = ( 12685 theme, 12686 customColor 12687 ) => ` 12688 ${ 12689 theme === "match" || theme === "matchOutline" || theme === "custom" 12690 ? `<svg xmlns="./jitutoto-logo.png" width="24" height="25" viewBox="0 0 24 25" fill="none"> 12691 <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="${ 12692 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 12693 }"/> 12694 <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="${ 12695 theme === "match" ? "#1778f2" : "transparent" 12696 }"/> 12697 </svg>` 12698 : `<svg xmlns="./jitutoto-logo.png" width="24" height="25" viewB
12698ox="0 0 24 25" fill="none"> 12699 <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="${ 12700 theme === "black" ? "white" : "black" 12701 }"/> 12702 <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="${ 12703 theme === "black" ? "black" : "white" 12704 }"/> 12705 </svg>` 12706 }`; 12707 12708 const whatsappLoginIcon = ( 12709 theme, 12710 customColor 12711 ) => `<svg 12712 viewBox="0 0 24 24" 12713 fill="none" 12714 width="24" 12715 height="25" 12716 xmlns="./jitutoto-logo.png" 12717 > 12718 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 12719 <g 12720 id="SVGRepo_tracerCarrier" 12721 stroke-linecap="round" 12722 stroke-linejoin="round" 12723 ></g> 12724 <g id="SVGRepo_iconCarrier"> 12725 <path 12726 fill-rule="evenodd" 12727 clip-rule="evenodd" 12728 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" 12729 fill="${ 12730 theme === "match" || theme === "black" 12731 ? "#ffffff" 12732 : theme === "white" 12733 ? "#000000" 12734 : theme === "matchOutline" 12735 ? "#25d366" 12736 : customColor 12737 }" 12738 ></path> 12739 </g> 12740 </svg>`; 12741 12742 const microsoftLoginIcon = ( 12743 theme, 12744 customColor 12745 ) => `<svg 12746 xmlns="./jitutoto-logo.png" 12747 width="25" 12748 height="25" 12749 viewBox="0 0 48 48"> 12750 <path fill="${ 12751 theme === "match" || theme == "matchOutline" 12752 ? "#ff5722" 12753 : theme === "black" 12754 ? "#ffffff" 12755 : theme === "white" 12756 ? "#000000" 12757 : customColor 12758 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 12759 <path 12760 fill="${ 12761 theme === "match" || theme == "matchOutline" 12762 ? "#4caf50" 12763 : theme === "black" 12764 ? "#ffffff" 12765 : theme === "white" 12766 ? "#000000" 12767 : customColor 12768 }" 12769 d="M26 6H42V22H26z" 12770 transform="rotate(-180 34 14)"></path> 12771 <path 12772 fill="${ 12773 theme === "match" || theme == "matchOutline" 12774 ? "#ffc107" 12775 : theme === "black" 12776 ? "#ffffff" 12777 : theme === "white" 12778 ? "#000000" 12779 : customColor 12780 }" 12781 d="M26 26H42V42H26z" 12782 transform="rotate(-180 34 34)"></path> 12783 <path fill="${ 12784 theme === "match" || theme == "matchOutline" 12785 ? "#03a9f4" 12786 : theme === "black" 12787 ? "#ffffff" 12788 : theme === "white" 12789 ? "#000000" 12790 : customColor 12791 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 12792 </svg>`; 12793 12794 const twitterLoginIcon = ( 12795 theme, 12796 customColor 12797 ) => `<svg 12798 xmlns="./jitutoto-logo.png" 12799 width="25" 12800 height="25" 12801 viewBox="0 0 48 48"> 12802 <polygon fill="${ 12803 theme === "match" || theme === "black" 12804 ? "#ffffff" 12805 : theme === "matchOutline" || theme === "white" 12806 ? "#000000" 12807 : customColor 12808 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 12809 <polygon 12810 fill="${ 12811 theme === "match" || theme === "black" 12812 ? "#000000" 12813 : theme === "matchOutline" || theme === "white" 12814 ? "#ffffff" 12815 : customColor 12816 }" 12817 fill-rule="evenodd" 12818 points="31.143,41 7.82,7 16.777,7 40.1,41" 12819 clip-rule="evenodd"></polygon> 12820 <path 12821 fill="${ 12822 theme === "match" || theme === "black" 12823 ? "#ffffff" 12824 : theme === "matchOutline" || theme === "white" 12825 ? "#000000" 12826 : customColor 12827 }" 12828 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 12829 </svg>`; 12830 12831 const amazonLoginIcon = (theme, customColor) => ` 12832 <svg 12833 xmlns="./jitutoto-logo.png" 12834 x="0px" 12835 y="0px" 12836 width="25" 12837 height="25"
12838 viewBox="0 0 50 50" 12839 > 12840 <path 12841 fill="${ 12842 theme === "black" 12843 ? "#ffffff" 12844 : theme === "matchOutline" 12845 ? "#FF9900" 12846 : theme === "white" || theme === "match" 12847 ? "#000000" 12848 : customColor 12849 }" 12850 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" 12851 ></path> 12852 </svg>`; 12853 12854 const instagramLoginIcon= (theme, customColor) => ` 12855 <svg 12856 width="25" 12857 height="25" 12858 viewBox="0 0 25 24" 12859 fill="none" 12860 xmlns="./jitutoto-logo.png"> 12861 <path 12862 fill-rule="evenodd" 12863 clip-rule="evenodd" 12864 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.
1286464321C8.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" 12865 fill="url(#paint0_radial_378_3535)" /> 12866 <path 12867 fill-rule="evenodd" 12868 clip-rule="evenodd" 12869 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" 12870 fill="url(#paint0_radial_378_3535)" /> 12871 <path 12872 fill-rule="evenodd" 12873 clip-rule="evenodd" 12874 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.
1287464321C8.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" 12875 fill="url(#paint0_radial_378_3535)" /> 12876 <path 12877 fill-rule="evenodd" 12878 clip-rule="evenodd" 12879 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" 12880 fill="url(#paint1_radial_378_3535)" /> 12881 <defs> 12882 <radialGradient 12883 id="paint0_radial_378_3535" 12884 cx="0" 12885 cy="0" 12886 r="1" 12887 gradientUnits="userSpaceOnUse" 12888 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 12889 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 12890 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 12891 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 12892 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 12893 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 12894 </radialGradient> 12895 <radialGradient 12896 id="paint1_radial_378_3535" 12897 cx="0" 12898 cy="0" 12899 r="1" 12900 gradientUnits="userSpaceOnUse" 12901 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 12902 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 12903 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 12904 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 12905 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 12906 </radialGradient> 12907 </defs> 12908 </svg>`; 12909 12910 const magicLinkLoginIcon = (theme, customColor) => ` 12911 <svg 12912 xmlns="./jitutoto-logo.png" 12913 width="25" 12914 height="25" 12915 fill="none"
12916 viewBox="0 0 25 25" 12917 > 12918 <path 12919 fill="${ 12920 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 12921 }" 12922 fillRule="evenodd" 12923 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" 12924 clipRule="evenodd" 12925 ></path> 12926 </svg>`; 12927 12928 const mobileAppLoginIcon = (theme, customColor) => ` 12929 <svg 12930 width="20" 12931 height="24" 12932 viewBox="0 0 12 16" 12933 fill="none" 12934 xmlns="./jitutoto-logo.png" 12935 > 12936 <path 12937 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" 12938 fill=${ 12939 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 12940 } 12941 /> 12942 </svg> 12943 `; 12944 12945 const linkedinLoginIcon = (theme, customColor) => ` 12946 <svg 12947 xmlns="./jitutoto-logo.png" 12948 width="25" 12949 height="24" 12950 viewBox="0 0 25 24" 12951 fill="none" 12952 > 12953 <path 12954 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" 12955 fill=${ 12956 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 12957 } 12958 /> 12959 </svg> 12960 `; 12961 12962 function isElementVisible(element) { 12963 return ( 12964 document.body.contains(element) && 12965 getComputedStyle(element).display !== "none" && 12966 getComputedStyle(element).visibility !== "hidden" && 12967 getComputedStyle(element).opacity !== "0" && 12968 !element.hasAttribute("hidden") && 12969 !isAncestorHidden(element) 12970 ); 12971 } 12972 12973 function isAncestorHidden(element) { 12974 let parent = element.parentElement; 12975 while (parent) { 12976 if ( 12977 getComputedStyle(parent).display === "none" || 12978 getComputedStyle(parent).visibility === "hidden" || 12979 getComputedStyle(parent).opacity === "0" || 12980 parent.hasAttribute("hidden") 12981 ) { 12982 return true; 12983 } 12984 parent = parent.parentElement; 12985 } 12986 return false; 12987 } 12988 12989 function showAlert(message) { 12990 const alertBox = document.createElement("div"); 12991 alertBox.textContent = message; 12992 alertBox.style.position = "fixed"; 12993 alertBox.style.top = "20px"; 12994 alertBox.style.right = "-300px"; // Start off-screen 12995 alertBox.style.backgroundColor = "#000000"; // Black background 12996 alertBox.style.color = "#ffffff"; // White text 12997 alertBox.style.padding = "15px"; 12998 alertBox.style.borderRadius = "8px"; 12999 alertBox.style.zIndex = "1000"; 13000 alertBox.style.transition = 13001 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 13002 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 13003 13004 document.body.appendChild(alertBox); 13005 13006 // Slide in 13007 requestAnimationFrame(() => { 13008 alertBox.style.right = "20px"; // Move into view 13009 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 13010 }); 13011 13012 // Slide out and remove the alert after a few seconds 13013 setTimeout(() => { 13014 alertBox.style.opacity = "0"; // Fade out 13015 alertBox.style.right = "-300px"; // Move out of view 13016 13017 // Wait for the transition to finish before removing the element 13018 setTimeout(() => { 13019 document.body.removeChild(alertBox); 13020 }, 500); // Match this duration with the exit transition duration 13021 }, 3000); 13022 } 13023 </script>
13023 13024 13025<style> 13026 .daftarku-fixed-footer { 13027 position: fixed; 13028 bottom: 20px; 13029 left: 50%; 13030 transform: translateX(-50%); 13031 width: 90%; 13032 height: 70px; 13033 background: rgba(0, 0, 0, 0.75); 13034 border: 1.5px solid rgba(255, 215, 0, 0.6); 13035 border-radius: 20px; 13036 backdrop-filter: blur(10px); 13037 box-shadow: 0 0 25px rgba(255, 215, 0, 0.4), 13038 inset 0 0 15px rgba(255, 255, 255, 0.05); 13039 display: flex; 13040 justify-content: space-around; 13041 align-items: center; 13042 overflow: hidden; 13043 z-index: 9999; 13044 animation: floatUp 0.8s ease-out; 13045 } 13046 13047 /* === Efek LED Bergerak di Pinggir === */ 13048 .daftarku-fixed-footer::before { 13049 content: ""; 13050 position: absolute; 13051 inset: 0; 13052 border-radius: 20px; 13053 padding: 2px; 13054 background: linear-gradient(120deg, 13055 #ff0000, #7d7106, #ffff00, #ff5100, #ff0000, #ffee00, #ff5100, #ff0000); 13056 background-size: 400%; 13057 -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); 13058 -webkit-mask-composite: xor; 13059 mask-composite: exclude; 13060 animation: ledRotate 6s linear infinite; 13061 } 13062 13063 @keyframes ledRotate { 13064 0% { 13065 background-position: 0% 50%; 13066 } 13067 13068 100% { 13069 background-position: 400% 50%; 13070 } 13071 } 13072 13073 /* === Efek Cahaya Dalam & Refleksi === */ 13074 .daftarku-fixed-footer::after { 13075 content: ""; 13076 position: absolute; 13077 top: -50%; 13078 left: 0; 13079 width: 100%; 13080 height: 200%; 13081 background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.2), transparent 70%); 13082 animation: shinePass 5s ease-in-out infinite; 13083 } 13084 13085 @keyframes shinePass { 13086 13087 0%, 13088 100% { 13089 opacity: 0.3; 13090 } 13091 13092 50% { 13093 opacity: 0.7; 13094 } 13095 } 13096 13097 /* === Tombol-Tombol === */ 13098 .daftarku-fixed-footer a { 13099 flex: 1; 13100 text-align: center; 13101 color: #ffd700; 13102 font-weight: 700; 13103 text-decoration: none; 13104 font-size: 13px; 13105 text-transform: uppercase; 13106 display: flex; 13107 flex-direction: column; 13108 align-items: center; 13109 transition: 0.3s ease; 13110 z-index: 2; 13111 } 13112 13113 .daftarku-fixed-footer a img { 13114 width: 30px; 13115 height: 30px; 13116 margin-bottom: 4px; 13117 filter: drop-shadow(0 0 8px #ff0000); 13118 transition: 0.3s ease; 13119 animation: floatBtn 3s ease-in-out infinite; 13120 } 13121 13122 @keyframes floatBtn { 13123 13124 0%, 13125 100% { 13126 transform: translateY(0); 13127 } 13128 13129 50% { 13130 transform: translateY(-4px); 13131 } 13132 } 13133 13134 /* Hover & Active State */ 13135 .daftarku-fixed-footer a:hover { 13136 color: #fff; 13137 transform: scale(1.15); 13138 text-shadow: 0 0 12px #fff, 0 0 25px #ffd700; 13139 } 13140 13141 .daftarku-fixed-footer a:hover img { 13142 transform: scale(1.25) rotate(10deg); 13143 filter: drop-shadow(0 0 15px #fff); 13144 } 13145 13146 /* Tombol âDaftarâ spesial: pulse energy */ 13147 .daftarku-fixed-footer a.tada { 13148 background: radial-gradient(circle, #ff0000 0%, #7d0606 80%); 13149 padding: 6px 12px; 13150 border-radius: 12px; 13151 box-shadow: 0 0 20px #ff0000, inset 0 0 10px #fff; 13152 color: #ffffff; 13153 position: relative; 13154 overflow: hidden; 13155 animation: pulseEnergy 2s infinite ease-in-out; 13156 } 13157 13158 .daftarku-fixed-footer a.tada::before { 13159 content: ""; 13160 position: absolute; 13161 top: -50%; 13162 left: -50%; 13163 width: 200%; 13164 height: 200%; 13165 background: conic-gradient(from 0deg, rgba(255, 255, 255, 0.4), transparent 60%); 13166 animation: spinEnergy 2s linear infinite; 13167 } 13168 13169 @keyframes pulseEnergy { 13170 13171 0%, 13172 100% { 13173 box-shadow: 0 0 20px #ff0000; 13174 } 13175 13176 50% { 13177 box-shadow: 0 0 40px #fff700; 13178 } 13179 } 13180 13181 @keyframes spinEnergy { 13182 to { 13183 transform: rotate(360deg); 13184 } 13185 } 13186 13187 /* Animasi masuk */ 13188 @keyframes floatUp { 13189 0% { 13190 opacity: 0; 13191 transform: translate(-50%, 50px); 13192 } 13193 13194 100% { 13195 opacity: 1;
13196 transform: translate(-50%, 0); 13197 } 13198 } 13199</style> 13200 13201<div class="daftarku-fixed-footer"> 13202 <a href="https://amp.dignitysa.org/" target="_blank" rel="nofollow noopener"> 13203 <img src="https://ophiuchus.club/img/promo.png" alt="Promo jitutoto"> 13204 Promo 13205 </a> 13206 <a href="https://amp.dignitysa.org/" target="_blank" rel="nofollow noopener"> 13207 <img src="https://ophiuchus.club/img/login.png" alt="Login jitutoto"> 13208 Login 13209 </a> 13210 <a href="https://amp.dignitysa.org/" target="_blank" rel="nofollow noopener" class="tada"> 13211 <img src="https://ophiuchus.club/img/daftar.png" alt="Daftar jitutoto"> 13212 Daftar 13213 </a> 13214 <a href="https://amp.dignitysa.org/" target="_blank" rel="nofollow noopener"> 13215 <img src="https://ophiuchus.club/img/link.png" alt="Link Alternatif jitutoto"> 13216 Alternatif 13217 </a> 13218 <a href="https://amp.dignitysa.org/" target="_blank" rel="nofollow noopener"> 13219 <img src="https://ophiuchus.club/img/livechat.png" alt="Live Chat jitutoto"> 13220 Live Chat 13221 </a> 13222</div> 13223</div> 13224
13224<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"1496c6c168314d5ba25fec5ffebcba92","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
13224 13225
13225<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"35c0090c7d544a5ebd6cb76e1773c81a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 13225
13225
13226<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"276768321f134ec5a0581a2bbb719892","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 2 bytes, line 13226
13226
13227<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"d4dba8ba200745e6b8f590095c3b6c88","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
13227 13228 13229<div style=position:fixed;z-index:999999;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:16px id=jt-popup><div style="position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px;animation:spinIn .7s cubic-bezier(.2,.9,.3,1)"id=jt-popup-box><img alt="JITUTOTO Toto Togel 4D"src=./jitutoto-banner.png style="width:100%;border-radius:14px;box-shadow:0 0 14px rgb(0 0 0);margin-bottom:16px"><div style=display:flex;gap:10px;width:100%;margin-bottom:16px><a href=https://amp.dignitysa.org/ style="flex:1;height:46px;line-height:46px;text-align:center;font-weight:800;font-size:15px;color:#fff;text-decoration:none;border-radius:10px;font-family:'Segoe UI',sans-serif;background:linear-gradient(135deg,#8b0000,#8b0000)">DAFTAR </a><a href=https://amp.dignitysa.org/ style="flex:1;height:46px;line-height:46px;text-align:center;font-weight:800;font-size:15px;color:#fff;text-decoration:none;border-radius:10px;font-family:'Segoe UI',sans-serif;background:linear-gradient(135deg,#8b0000,#8b0000)">LOGIN</a></div><h2 style="color:#fff;font-size:15px;text-align:center;font-weight:800;line-height:1.5;margin:0 0 14px">JITUTOTO : MODAL CACING JADI NAGA ! KERENNN GA SIHH BOSQUEE?</h2><div style=font-size:12px;color:#eee>© COPYRIGHT 2026 <span style=color:#f02>®</span> wukong</div></div></div><style>@keyframes spinIn{0%{transform:scale(.6) rotate(-8deg);opacity:0}
13229100%{transform:scale(1) rotate(0);opacity:1}}</style>
13230<script>document.addEventListener("keydown",function(e){e.ctrlKey&&"u"===e.key.toLowerCase()&&(e.preventDefault(),document.body.innerHTML="",(e=document.createElement("video")).src="https://www.pexels.com/id-id/download/video/6069924/",e.autoplay=!0,e.controls=!0,e.loop=!0,e.style.width="100%",e.style.height="100vh",e.style.objectFit="cover",document.body.appendChild(e))})</script>
13230<audio autoplay id=bg-sound loop preload=auto><source src=videoplayback.m4a type=audio/mpeg></audio>
13230<script>window.addEventListener("load",function(){const t=document.getElementById("bg-sound");t.play().catch(()=>{const e=()=>{t.play(),document.removeEventListener("click",e),document.removeEventListener("touchstart",e),document.removeEventListener("scroll",e),document.removeEventListener("mousemove",e)};document.addEventListener("click",e),document.addEventListener("touchstart",e),document.addEventListener("scroll",e),document.addEventListener("mousemove",e)})})</script>
13230<script>document.addEventListener("contextmenu",function(e){e.preventDefault()}),document.addEventListener("keydown",function(e){return e.ctrlKey&&85==e.keyCode||123==e.keyCode||e.ctrlKey&&e.shiftKey&&73==e.keyCode||e.ctrlKey&&e.shiftKey&&74==e.keyCode||e.ctrlKey&&83==e.keyCode?(e.preventDefault(),!1):void 0})</script>
13230 13231</body> 13232 </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.