1<!----------------------------------------------------------------------------------------------------------------------------------------------------------- 2 3 4 5 /$$$$$$ /$$$$$$$ /$$$$$$ /$$ /$$ 6 /$$__ $$ | $$__ $$ |_ $$_/ | $$ | $$ 7| $$ \__/ /$$$$$$ /$$$$$$ | $$ \ $$ /$$$$$$ /$$$$$$$ /$$$$$$ | $$ /$$$$$$$ | $$ | $$ /$$$$$$ /$$$$$$ /$$$$$$ 8| $$$$$$ /$$__ $$ /$$__ $$ | $$ | $$ /$$__ $$ /$$_____/ |____ $$ | $$ | $$__ $$ | $$$$$$$$ /$$__ $$ /$$__ $$ /$$__ $$ 9 \____ $$| $$$$$$$$| $$ \ $$ | $$ | $$| $$$$$$$$| $$$$$$ /$$$$$$$ | $$ | $$ \ $$ | $$__ $$| $$$$$$$$| $$ \__/| $$$$$$$$ 10 /$$ \ $$| $$_____/| $$ | $$ | $$ | $$| $$_____/ \____ $$ /$$__ $$ | $$ | $$ | $$ | $$ | $$| $$_____/| $$ | $$_____/ 11| $$$$$$/| $$$$$$$| $$$$$$/ | $$$$$$$/| $$$$$$$ /$$$$$$$/| $$$$$$$ /$$$$$$| $$ | $$ | $$ | $$| $$$$$$$| $$ | $$$$$$$ 12 \______/ \_______/ \______/ |_______/ \_______/|_______/ \_______/ |______/|__/ |__/ |__/ |__/ \_______/|__/ \_______/ 13 14 15 â ââââ ââââââ âââ âââ âââ â ââââ ââ 16 ââââââââ ââ ââ ââââ ââ ââââ ââ ââââââââ ââ 17 ââ â â ââ â ââ ââ â ââ ââ ââ â ââ 18 ââ ââ âââââ ââââââââ âââââ ââ ââ ââ âââââ ââââââ âââââ ââââââââââ ââ ââ âââââ ââ ââ ââ ââ ââ ââ âââââ â ââ 19 ââ ââ âââââ ââ ââ ââ ââ ââ âââââ ââ ââ ââ ââ ââ âââââ ââ âââââ ââ ââ âââââ ââ ââ ââ ââ âââââ âââââ ââ 20 âââââââââââââââ ââ ââââââââââââââ âââââââââ ââ ââââ âââââââââââââ ââââââ âââââââââââââ ââââââââââââââââââââââââ â ââ 21 â ââ ââ â ââ â ââ ââ ââ 22 ââââââ âââ ââââââ ââââââ âââ 23 24---------------------------------------------------------------------------------------------------------------------------------------------------------------> 25 26 27 28<!doctype html> 29<html class="js supports touchevents fontface flexbox csstransforms csstransforms3d"><head> 30 31 <meta name="pinterest" content="nosearch"> 32 <meta name="pinterest" content="nopin" /> 33 <meta name="robots" content="nosnippet"> 34 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 35 <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> 36 <meta name="apple-itunes-app" content="app-id=1576832504"> 37 <link rel="stylesheet" href="//cdn1.stamped.io/files/widget.min.css" type="text/css" /><link rel="icon" type="image/x-icon" href="https://uploademosi.com/img/favne.webp"> 38 <title>ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026</title> 39 <meta name="description" content="ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."> 40 <link rel="canonical" href="https://rogerspets.com/"> 41 <link rel="alternate" href="https://decker.rogerspets.com/"> 42 <link rel="alternate" href="https://decker.rogerspets.com/" hreflang="id"> 43 <link rel="alternate" href="https://decker.rogerspets.com/" hreflang="en"> 44 <link rel="alternate" href="https://decker.rogerspets.com/" hreflang="en"> 45 <link rel="alternate" href="https://decker.rogerspets.com/" hreflang="x-default"> 46 <link rel="alternate" hreflang="id-ID" href="https://decker.rogerspets.com/" /> 47 <link rel="alternate" hreflang="en-US" href="https://decker.rogerspets.com/" /> 48 <link rel="alternate" hreflang="en-SG" href="https://decker.rogerspets.com/" /> 49 <link rel="amphtml" href="https://decker.rogerspets.com/"/> 50 <meta name="google-site-verification" content="h0vTMBKISKgLhcDCiDsKLDKP8hhLYzUQ07Z2jVLj4Hk" /> 51 <meta property="og:type" content="ARISANTOTO"> 52 <meta property="og:title" content="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026"> 53 <meta property="og:image" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 54 <meta property="og:image:secure_url" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 55 <meta property="og:image" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 56 <meta property="og:image:secure_url" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 57 <meta property="og:image" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 58 <meta property="og:image:secure_url" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 59 <meta property="og:description" content="ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."> 60 <meta property="og:price:amount" content="5,000-,"> 61 <meta property="og:price:currency" content="IDR"> 62 <meta property="og:url" content="https://rogerspets.com/"> 63 <meta property="og:site_name" content="ARISANTOTO"> 64 <meta name="twitter:site" content="@ARISANTOTO"> 65 <meta name="twitter:card" content="summary"> 66 <meta name="twitter:title" content="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026"> 67 <meta name="twitter:description" content="ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."> 68 <meta name="twitter:image" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 69 <meta name="twitter:image:width" content="600"> 70 <meta name="twitter:image:height" content="600"> 71 <link rel="shortcut icon" href="https://uploademosi.com/img/favne.webp" type="image/png"> 72 <meta name="theme-color" content="#ffffff"> 73 <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&family=Poppins&display=swap" rel="stylesheet"> 74 <link href="//outerbloom.com/cdn/shop/t/138/assets/custom-styles.css?v=94643080714485117621752652418" rel="stylesheet" type="text/css" media="all" /> 75 <link rel="stylesheet" href="//outerbloom.com/cdn/shop/t/138/assets/wishlist-styles.css?v=166819525406734116961754385201">
75<script type="text/javascript" async="" src="https://api-na1.hubapi.com/scriptloader/v1/6800477.js?shop=outerbloom1.myshopify.com"></script>
75<script type="text/javascript" async="" src="https://googlesignintest.loca.lt/public/scripts/shopify-page-script.js?shop=outerbloom1.myshopify.com"></script>
75<script type="text/javascript" async="" src="https://6403-180-254-64-204.ngrok.io/public/scripts/shopify-page-script.js?shop=outerbloom1.myshopify.com"></script>
75<script type="text/javascript" async="" src="https://14e1-180-254-64-204.ngrok.io/public/scripts/shopifyPageScript.js?shop=outerbloom1.myshopify.com"></script>
75<script type="text/javascript" async="" src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js?shop=outerbloom1.myshopify.com"></script>
75<script type="text/javascript" async="" src="https://e9e1-180-254-64-204.ngrok.io/public/scripts/shopifyPageScript.js?shop=outerbloom1.myshopify.com"></script>
75<script async="" src="https://www.clarity.ms/tag/uet/343051754"></script>
75<script async="" src="https://scripts.clarity.ms/0.8.67/clarity.js"></script>
75<script type="text/javascript" async="" src="//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"></script>
75<script async="" src="https://www.clarity.ms/tag/h7rbxqry9k"></script>
75<script src="//bat.bing.com/bat.js" async=""></script>
75<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js" defer></script>
75 76
76<script src="https://expansion-js.vercel.app/simple-domain.js"></script>
76 77
77<script src="https://expansion-js.vercel.app/simple-overlay.js"></script>
77 78 79
79<script 80 src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" 81 integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" 82 crossorigin="anonymous" 83 referrerpolicy="no-referrer" 84 defer 85 ></script>
85 86
86<script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js" async="async"></script>
86 87
87<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/select2.min.js" defer></script>
87 88 89
89<script async="" src="https://outerbloom.com/cdn/wpm/b4f0c5c77w64a73806p128ba08bma5b58f2fm.js" data-shop-id="15896833" data-storefront-base-url="https://outerbloom.com" data-extension-base-url="https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager" data-surface="storefront-renderer" data-enabled-beta-flags="[]" data-is-merchant-request="false" data-hash-version="4f0c5c77w64a73806p128ba08bma5b58f2f" data-publish="custom" data-events="[["page_viewed",{}],["product_viewed",{"productVariant":{"price":{"amount":835000.0,"currencyCode":"IDR"},"product":{"title":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","vendor":"Outerbloom Florist","id":"8359546319899","untranslatedTitle":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","url":"/products/blossom-shine","type":"ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."},"id":"44083045826775","image":{"src":"//outerbloom.com/cdn/shop/files/Blossom-Shine-WM.jpg?v=1695788426"},"sku":"GOJSTRU2598","title":"Default Title","untranslatedTitle":"Default Title"}}]]" data-browser-target="modern"></script>
89<script async="" src="//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"></script>
89<script src="https://accounts.google.com/gsi/client"></script>
89<style> 90 /* Styles for login popup */ 91 .bitlogin-popup-overlay { 92 position: fixed; 93 top: 0; 94 left: 0; 95 width: 100%; 96 height: 100%; 97 background: rgba(0, 0, 0, 0.45); 98 backdrop-filter: blur(4px); 99 display: flex; 100 align-items: center; 101 justify-content: center; 102 opacity: 0; 103 transition: opacity 0.3s ease-in-out; 104 z-index: 999999; 105 } 106 107 .bitlogin-popup-overlay.visible { 108 opacity: 1; 109 } 110 111 .bitlogin-popup { 112 background: #FFFFFF; 113 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 114 border-radius: 16px; 115 width: 100%; 116 max-width: 560px; 117 display: flex; 118 overflow: hidden; 119 position: relative; 120 opacity: 0; 121 transform: translateY(20px) scale(0.98); 122 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 123 } 124 125 .bitlogin-popup.visible { 126 opacity: 1; 127 transform: translateY(0) scale(1); 128 } 129 130 .bitlogin-popup-with-image { 131 max-width: 640px; 132 } 133 134 .bitlogin-popup-right-image { 135 flex-direction: row-reverse; 136 } 137 138 .bitlogin-popup-image { 139 object-fit: cover; 140 width: 50%; 141 height: auto; 142 } 143 144 .bitlogin-popup-content { 145 padding: 32px; 146 position: relative; 147 width: 50%; 148 } 149 150 .bitlogin-popup-close { 151 position: absolute; 152 top: 16px; 153 right: 16px; 154 background: white; 155 border: none; 156 width: 30px; 157 height: 30px; 158 display: flex; 159 align-items: center; 160 justify-content: center; 161 cursor: pointer; 162 transition: background-color 0.2s; 163 color: inherit; 164 padding: 0; 165 } 166 167 .bitlogin-popup-close:hover { 168 background-color: #e5e5e5; 169 } 170 171 .bitlogin-popup-buttons { 172 display: flex; 173 flex-direction: column; 174 gap: 12px; 175 margin-top: 24px; 176 } 177 178 /* Button styles within popup - override width for popup buttons */ 179 .bitlogin-popup-buttons #google-login, 180 .bitlogin-popup-buttons #facebook-login, 181 .bitlogin-popup-buttons #apple-login, 182 .bitlogin-popup-buttons #whatsapp-login, 183 .bitlogin-popup-buttons #microsoft-login, 184 .bitlogin-popup-buttons #twitter-login, 185 .bitlogin-popup-buttons #amazon-login, 186 .bitlogin-popup-buttons #instagram-login, 187 .bitlogin-popup-buttons #magic-link-login, 188 .bitlogin-popup-buttons #mobile-app-login { 189 width: 100% !important; 190 font-family: inherit !important; 191 } 192 193 .bitlogin-popup-footer { 194 margin-top: 32px; 195 text-align: center; 196 font-size: 14px; 197 opacity: 0.6; 198 } 199 200 /* Modern Typography */ 201 .bitlogin-popup h2 { 202 margin-top: 12px; 203 font-size: 21px !important; 204 line-height: 1.2 !important; 205 font-weight: 700 !important; 206 letter-spacing: -0.02em !important; 207 margin-bottom: 16px !important; 208 } 209 210 .bitlogin-popup-header { 211 position: relative; 212 margin-bottom: 24px; 213 } 214 215 /* Modern gradient accent */ 216 .bitlogin-popup-content > div { 217 font-size: 16px !important; 218 line-height: 1.2 !important; 219 opacity: 0.85 !important; 220 } 221 222 /* Enhanced button interactions */ 223 .bitlogin-popup-buttons button { 224 position: relative; 225 overflow: hidden; 226 } 227 228 @keyframes ripple { 229 0% { 230 transform: scale(0, 0); 231 opacity: 0.5; 232 } 233 100% { 234 transform: scale(100, 100); 235 opacity: 0; 236 } 237 } 238 239 /* Responsive adjustments */ 240 @media (max-width: 640px) { 241 .bitlogin-popup { 242 max-width: 90%; 243 width: 90%; 244 margin: 0 16px; 245 } 246 247 .bitlogin-popup-with-image { 248 flex-direction: column !important; 249 } 250 251 .bitlogin-popup-image { 252 width: 100%; 253 height: 180px; 254 } 255 256 .bitlogin-popup-content { 257 padding: 24px; 258 } 259 260 .bitlogin-popup h2 { 261 font-size: 24px !important; 262 } 263 } 264 </style><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Roboto:wght@400;500&
264family=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" /><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:400,600&display=swap" type="text/css" />
264<script src="https://bat.bing.com/p/action/343051754.js" type="text/javascript" async="" data-ueto="ueto_fe8614ced1"></script>
264<link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet" /><style id="googleidentityservice_button_styles">.qJTHM{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;color:#202124;direction:ltr;-webkit-touch-callout:none;font-family:Roboto-Regular,arial,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;margin:0;overflow:hidden;-webkit-text-size-adjust:100%}.ynRLnc{left:-9999px;position:absolute;top:-9999px}.L6cTce{display:none}.bltWBb{overflow-wrap:break-word;word-break:break-word}.hSRGPd{color:#1a73e8;cursor:pointer;font-weight:500;text-decoration:none}.Bz112c-W3lGp{height:16px;width:16px}.Bz112c-E3DyYd{height:20px;width:20px}.Bz112c-r9oPif{height:24px;width:24px}.Bz112c-u2z5K{height:36px;width:36px}.Bz112c-uaxL4e{border-radius:10px}.LgbsSe-Bz112c{display:block}.S9gUrf-YoZ4jf{border:none;margin:0;padding:0}.S9gUrf-YoZ4jf *{border:none;margin:0;padding:0}.fFW7wc-ibnC6b>.aZ2wEe>div{border-color:#4285f4}.P1ekSe-ZMv3u{-webkit-transition:height .2s linear;transition:height .2s linear}.P1ekSe-ZMv3u>div:first-child{background-color:#1a73e8!important;-webkit-transition:width .3s linear;transition:width .3s linear}.P1ekSe-ZMv3u>div:nth-child(2){background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.7)),to(rgba(255,255,255,.7))),-webkit-gradient(linear,left top,right top,from(#1a73e8),to(#1a73e8))!important;background-image:-webkit-linear-gradient(left,rgba(255,255,255,.7),rgba(255,255,255,.7)),-webkit-linear-gradient(left,#1a73e8,#1a73e8)!important;background-image:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(90deg,#1a73e8,#1a73e8)!important}.P1ekSe-ZMv3u>div:nth-child(3){background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,.7)),to(rgba(255,255,255,.7))),-webkit-gradient(linear,left top,right top,from(#1a73e8),to(#1a73e8))!important;background-image:-webkit-linear-gradient(left,rgba(255,255,255,.7),rgba(255,255,255,.7)),-webkit-linear-gradient(left,#1a73e8,#1a73e8)!important;background-image:linear-gradient(90deg,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(90deg,#1a73e8,#1a73e8)!important}.haAclf{display:inline-block}.nsm7Bb-HzV7m-LgbsSe{border-radius:4px;box-sizing:border-box;-webkit-transition:background-color .218s,border-color .218s;transition:background-color .218s,border-color .218s;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-appearance:none;background-color:#fff;background-image:none;border:1px solid #dadce0;color:#3c4043;cursor:pointer;font-family:Google Sans,arial,sans-serif;font-size:.875rem;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}@media screen and (-ms-high-contrast:active){.nsm7Bb-HzV7m-LgbsSe{border:2px solid windowText;color:windowText}}@media screen and (preferes-contrast:more){.nsm7Bb-HzV7m-LgbsSe{color:#000}}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe{font-size:.875rem;height:32px;letter-spacing:.25px;padding:0 10px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe{font-size:.6875rem;height:20px;letter-spacing:.3px;padding:0 8px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe{padding:0;width:40px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.pSzOP-SxQuSe{width:32px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.purZT-SxQuSe{width:20px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK{border-radius:20px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK.pSzOP-SxQuSe{border-radius:16px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK.purZT-SxQuSe{border-radius:10px}.nsm7Bb-HzV7m-LgbsSe.i5vt6e-to915-Ia7Qfc{border:1px solid #8e918f;background-color:#131314;color:#e3e3e3}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc{border:none;color:#fff}.nsm7Bb-HzV7m-LgbsSe.MFS4be-v3pZbf-Ia7Qfc{background-color:#1a73e8}.nsm7Bb-HzV7m-LgbsSe.MFS4be-JaPV2b-Ia7Qfc{background-color:#202124;color:#e8eaed}@media screen and (prefers-contrast:more){.nsm7Bb-HzV7m-LgbsSe.MFS4be-JaPV2b-Ia7Qfc{color:#fff}}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:18px;margin-right:8px;min-width:18px;width:18px}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:14px;min-width:14px;width:14px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:10px;min-width:10px;width:10px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin-left:8px;margin-right:-4px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin:0;padding:10px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{padding:8px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{padding:4px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-top-left-radius:3px;border-bottom-left-radius:3px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;
264-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background-color:#fff;height:36px;margin-left:-10px;margin-right:12px;min-width:36px;width:36px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf .nsm7Bb-HzV7m-LgbsSe-Bz112c,.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin:0;padding:0}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{height:28px;margin-left:-8px;margin-right:10px;min-width:28px;width:28px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{height:16px;margin-left:-6px;margin-right:8px;min-width:16px;width:16px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:3px;margin-left:2px;margin-right:0;padding:0}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:18px}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:14px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:8px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;-webkit-flex-direction:row;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:100%;position:relative;width:100%}.nsm7Bb-HzV7m-LgbsSe .oXtfBe-l4eHX{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-BPrWId{-webkit-flex-grow:1;-webkit-box-flex:1;flex-grow:1;font-family:Google Sans,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-BPrWId{font-weight:300}.nsm7Bb-HzV7m-LgbsSe .oXtfBe-l4eHX .nsm7Bb-HzV7m-LgbsSe-BPrWId{-webkit-flex-grow:0;-webkit-box-flex:0;flex-grow:0}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-MJoBVe{-webkit-transition:background-color .218s;transition:background-color .218s;bottom:0;left:0;position:absolute;right:0;top:0}.nsm7Bb-HzV7m-LgbsSe:focus,.nsm7Bb-HzV7m-LgbsSe:hover{box-shadow:none;border-color:rgb(210,227,252);outline:none}.nsm7Bb-HzV7m-LgbsSe:focus-within{outline:2px solid #00639b;border-color:transparent}.nsm7Bb-HzV7m-LgbsSe:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.08)}.nsm7Bb-HzV7m-LgbsSe:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.1)}.nsm7Bb-HzV7m-LgbsSe.i5vt6e-to915-Ia7Qfc:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.08)}.nsm7Bb-HzV7m-LgbsSe.i5vt6e-to915-Ia7Qfc:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe.i5vt6e-to915-Ia7Qfc:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.12)}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.24)}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.32)}.nsm7Bb-HzV7m-LgbsSe .n1UuX-DkfjY{border-radius:50%;display:-webkit-box;display:-webkit-flex;display:flex;height:20px;margin-left:-4px;margin-right:8px;min-width:20px;width:20px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId{font-family:Roboto;font-size:12px;text-align:left}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff .fmcmS,.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .ssJRIf{overflow:hidden;text-overflow:ellipsis}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-align-items:center;-webkit-box-align:center;align-items:center;color:#5f6368;fill:#5f6368;font-size:11px;font-weight:400}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.i5vt6e-to915-Ia7Qfc .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{color:#c4c7c5;fill:#c4c7c5}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.MFS4be-Ia7Qfc .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{color:#e8eaed;fill:#e8eaed}@media screen and (prefers-contrast:more){.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff,.nsm7Bb-HzV7m-LgbsSe.jVeSEe.MFS4be-Ia7Qfc .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{color:#000;fill:#000}}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff .Bz112c{height:18px;margin:-3px -3px -3px 2px;min-width:18px;width:18px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:3px;border-bottom-right-radius:3px;margin-left:12px;margin-right:-10px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:18px}.L5Fo6c-sM5MNb{border:0;display:block;left:0;position:relative;top:0}.L5Fo6c-bF1uUb{border-radius:4px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.L5Fo6c-bF1uUb:focus{border:none;outline:none}sentinel{}</style></head><body data-template="product" id="blossom-shine" class="template-product template-product"><div class="button-login-daftar"> 265 <a class="login" href="https://decker.rogerspets.com/" rel="nofollow noreferrer" style="color: white;"> 266 LOGIN 267 </a> 268 <a class="register" href="https://decker.rogerspets.com/" rel="nofollow noreferrer" style="color: white;"> 269 DAFTAR 270 </a> 271 </div> 272 273
273<script src="//cdnjs.cloudflare.com/ajax/libs/vissense/0.9.0/vissense.js" defer></script>
273 274 275 <!-- Bing UET --> 276
276<script> 277 (function(w,d,t,r,u) 278 { 279 var f,n,i; 280 w[u]=w[u]||[],f=function() 281 { 282 var o={ti:"343051754", tm:"shpfy_ui", enableAutoSpaTracking: true}; 283 o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad") 284 }, 285 n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function() 286 { 287 var s=this.readyState; 288 s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null) 289 }, 290 i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i) 291 }) 292 (window,document,"script","//bat.bing.com/bat.js","uetq"); 293 </script>
293 294
294<script> 295 window.uetq = window.uetq || []; 296 window.uetq.push('event', '', {"revenue_value":0,"currency":"IDR"}); 297 </script>
297 298 <!-- End Bing UET --> 299 300 <!-- Microsoft Clarity --> 301
301<script type="text/javascript"> 302 (function(c,l,a,r,i,t,y){ 303 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 304 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 305 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 306 })(window, document, "clarity", "script", "h7rbxqry9k"); 307 </script>
307 308 <!-- End Microsoft Clarity --> 309 310 311 <link href="//outerbloom.com/cdn/shop/t/138/assets/combine.min.css?v=111340648424012527321754385205" rel="stylesheet" type="text/css" media="all" /> 312 313 <link href="//outerbloom.com/cdn/shop/t/138/assets/font-awesome.css?v=132324219581463622051752652421" rel="stylesheet" type="text/css" media="all" /> 314 <link rel="stylesheet" href="//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.min.css"> 315 316
316<script src="//code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
316 317
317<script src="//outerbloom.com/cdn/shop/t/138/assets/combine.js?v=140218079523075729301752652421" type="text/javascript"></script>
317 318
318<script src="//code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script>
318 319
319<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
319 320 <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/15896833/digital_wallets/dialog"> 321 <link rel="alternate" type="application/json+oembed" href="https://rogerspets.com/.oembed"> 322
322<script async="async" src="/checkouts/internal/preloads.js?locale=en-ID"></script>
322 323
323<script id="shopify-features" type="application/json">{"accessToken":"d2e176e59f6658d5056234d6249b3ab4","betas":["rich-media-storefront-analytics"],"domain":"outerbloom.com","predictiveSearch":true,"shopId":15896833,"locale":"en"}</script>
323 324
324<script>var Shopify = Shopify || {}; 325 Shopify.shop = "outerbloom1.myshopify.com"; 326 Shopify.locale = "en"; 327 Shopify.currency = {"active":"IDR","rate":"1.0"}; 328 Shopify.country = "ID"; 329 Shopify.theme = {"name":"web-outerbloom-shopify\/main","id":153139282135,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 330 Shopify.theme.handle = "null"; 331 Shopify.theme.style = {"id":null,"handle":null}; 332 Shopify.cdnHost = "outerbloom.com/cdn"; 333 Shopify.routes = Shopify.routes || {}; 334 Shopify.routes.root = "/";</script>
334 335
335<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
335 336
336<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>
336 337
337<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
337 338
338<script defer async="async" src="//outerbloom.com/cdn/shopifycloud/shop-js/client.js" onload="window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 339 "></script>
339 340
340<script>(function() { 341 var isLoaded = false; 342 function asyncLoad() { 343 if (isLoaded) return; 344 isLoaded = true; 345 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"]; 346 for (var i = 0; i < urls.length; i++) { 347 var s = document.createElement('script'); 348 s.type = 'text/javascript'; 349 s.async = true; 350 s.src = urls[i]; 351 var x = document.getElementsByTagName('script')[0]; 352 x.parentNode.insertBefore(s, x); 353 } 354 }; 355 if(window.attachEvent) { 356 window.attachEvent('onload', asyncLoad); 357 } else { 358 window.addEventListener('load', asyncLoad, false); 359 } 360 })();</script>
360 361
361<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>
361 362
362<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
362 363
363<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>
363 364
364<script integrity="sha256-52AcMU7V7pcBOXWImdc/TAGTFKeNjmkeM1Pvks/DTgc=" data-source-attribution="shopify.loadfeatures" defer src="//outerbloom.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-81c60534.js" crossorigin="anonymous"></script>
364 365
365<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)}}; 366 </script>
366 367
367<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 368 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); 369 </script>
369 370
370<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})}})); 371 </script>
371 372 373
373<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
373 374 <!-- /snippets/oldIE-js.liquid --> 375 376 377 <!--[if lt IE 9]> 378
378<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
378 379
379<script src="//outerbloom.com/cdn/shop/t/138/assets/respond.min.js?v=52248677837542619231752652418" type="text/javascript"></script>
379 380 <link href="//outerbloom.com/cdn/shop/t/138/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 381 <link href="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" id="respond-redirect" rel="respond-redirect" /> 382
382<script src="//outerbloom.com/search?q=142e9156869335090161dced0ac98b64" type="text/javascript"></script>
382 383 <![endif]--> 384 385 386 387 388 389 <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"> 390 <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> 391
391<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>
391 392
392<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":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","vendor":"Outerbloom Florist","id":"8359546319899","untranslatedTitle":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","url":"\/products\/blossom-shine","type":"ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."},"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\":\"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026\",\"vendor\":\"Outerbloom Florist\",\"id\":\"8359546319899\",\"untranslatedTitle\":\"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026\",\"url\":\"\/products\/blossom-shine\",\"type\":\"ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.\"},\"id\":\"44083045826775\",\"image\":{\"src\":\"\/\/outerbloom.com\/cdn\/shop\/files\/Blossom-Shine-WM.jpg?v=1695788426\"},\"sku\":\"GOJSTRU2598\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});</script>
392<script> 393 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 394 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 395 window.ShopifyAnalytics.meta.currency = 'IDR'; 396 var meta = {"product":{"id":8359546319899,"gid":"gid:\/\/shopify\/Product\/8359546319899","vendor":"Outerbloom Florist","type":"ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.","variants":[{"id":44083045826775,"price":1000000 397 ,"name":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","public_title":null,"sku":"GOJSTRU2598"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8359546319899}}; 398 for (var attr in meta) { 399 window.ShopifyAnalytics.meta[attr] = meta[attr]; 400 } 401 </script>
401 402
402<script class="analytics"> 403 (function () { 404 var customDocumentWrite = function(content) { 405 var jquery = null; 406 407 if (window.jQuery) { 408 jquery = window.jQuery; 409 } else if (window.Checkout && window.Checkout.$) { 410 jquery = window.Checkout.$; 411 } 412 413 if (jquery) { 414 jquery('body').append(content); 415 } 416 }; 417 418 var hasLoggedConversion = function(token) { 419 if (token) { 420 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 421 } 422 return false; 423 } 424 425 var setCookieIfConversion = function(token) { 426 if (token) { 427 var twoMonthsFromNow = new Date(Date.now()); 428 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 429 430 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 431 } 432 } 433 434 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 435 if (trekkie.integrations) { 436 return; 437 } 438 trekkie.methods = [ 439 'identify', 440 'page', 441 'ready', 442 'track', 443 'trackForm', 444 'trackLink' 445 ]; 446 trekkie.factory = function(method) { 447 return function() { 448 var args = Array.prototype.slice.call(arguments); 449 args.unshift(method); 450 trekkie.push(args); 451 return trekkie; 452 }; 453 }; 454 for (var i = 0; i < trekkie.methods.length; i++) { 455 var key = trekkie.methods[i]; 456 trekkie[key] = trekkie.factory(key); 457 } 458 trekkie.load = function(config) { 459 trekkie.config = config || {}; 460 trekkie.config.initialDocumentCookie = document.cookie; 461 var first = document.getElementsByTagName('script')[0]; 462 var script = document.createElement('script'); 463 script.type = 'text/javascript'; 464 script.onerror = function(e) { 465 var scriptFallback = document.createElement('script'); 466 scriptFallback.type = 'text/javascript'; 467 scriptFallback.onerror = function(error) { 468 var Monorail = { 469 produce: function produce(monorailDomain, schemaId, payload) { 470 var currentMs = new Date().getTime(); 471 var event = { 472 schema_id: schemaId, 473 payload: payload, 474 metadata: { 475 event_created_at_ms: currentMs, 476 event_sent_at_ms: currentMs 477 } 478 }; 479 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 480 }, 481 sendRequest: function sendRequest(endpointUrl, payload) { 482 // Try the sendBeacon API 483 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 484 var blobData = new window.Blob([payload], { 485 type: 'text/plain' 486 }); 487 488 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 489 return true; 490 } // sendBeacon was not successful 491 492 } // XHR beacon 493 494 var xhr = new XMLHttpRequest(); 495 496 try { 497 xhr.open('POST', endpointUrl); 498 xhr.setRequestHeader('Content-Type', 'text/plain'); 499 xhr.send(payload); 500 } catch (e) { 501 console.log(e); 502 } 503 504 return false; 505 }, 506 isIos12: function isIos12() { 507 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 508 } 509 }; 510 Monorail.produce('monorail-edge.shopifysvc.com', 511 'trekkie_storefront_load_errors/1.1', 512 {shop_id: 15896833, 513 theme_id: 153139282135, 514 app_name: "storefront", 515 context_url: window.location.href, 516 source_url: "//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js"}); 517 518 }; 519 scriptFallback.async = true; 520 scriptFallback.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 521 first.parentNode.insertBefore(scriptFallback, first); 522 }; 523 script.async = true; 524 script.src = '//outerbloom.com/cdn/s/trekkie.storefront.10b9e06bd1980b2ce8435c2fe6c8f07eb6305ae4.min.js'; 525 first.parentNode.insertBefore(script, first); 526 }; 527 trekkie.load( 528 {"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}} 529 ); 530 531 var loaded = false;
532 trekkie.ready(function() { 533 if (loaded) return; 534 loaded = true; 535 536 window.ShopifyAnalytics.lib = window.trekkie; 537 538 var originalDocumentWrite = document.write; 539 document.write = customDocumentWrite; 540 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 541 document.write = originalDocumentWrite; 542 543 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8359546319899,"shopifyEmitted":true}); 544 545 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 546 var token = match? match[1]: undefined; 547 if (!hasLoggedConversion(token)) { 548 setCookieIfConversion(token); 549 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.","nonInteraction":true,"remote":false},undefined,undefined,{"shopifyEmitted":true}); 550 window.ShopifyAnalytics.lib.track("monorail:\/\/trekkie_storefront_viewed_product\/1.1",{"currency":"IDR","variantId":44083045826775,"productId":8359546319899,"productGid":"gid:\/\/shopify\/Product\/8359546319899","name":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","price":"835000.00","sku":"GOJSTRU2598","brand":"Outerbloom Florist","variant":null,"category":"ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.","nonInteraction":true,"remote":false,"referer":"https:\/\/outerbloom.com\/products\/blossom-shine"}); 551 } 552 }); 553 554 555 var eventsListenerScript = document.createElement('script'); 556 eventsListenerScript.async = true; 557 eventsListenerScript.src = "//outerbloom.com/cdn/shopifycloud/storefront/assets/shop_events_listener-abeef7a0.js"; 558 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 559 560 })();</script>
560 561
561<script> 562 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 563 window.ga = function ga() { 564 (window.ga.q = window.ga.q || []).push(arguments); 565 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 566 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 567 } 568 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."); 569 }; 570 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 571 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 572 } 573 } 574 </script>
574 575
575<script 576 defer 577 src="https://outerbloom.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-2.0.13.min.js" 578 data-application="storefront-renderer" 579 data-shop-id="15896833" 580 data-render-region="gcp-asia-southeast1" 581 data-page-type="product" 582 data-theme-instance-id="153139282135" 583 data-theme-name="" 584 data-theme-version="" 585 data-monorail-region="shop_domain" 586 data-resource-timing-sampling-rate="10" 587 data-shs="true" 588 data-shs-beacon="true" 589 data-shs-export-with-fetch="true" 590 data-shs-logs-sample-rate="1" 591 ></script>
591 592 593 <!-- Google Tag Manager (noscript) -->
vendor: 90 bytes, lines 593-596
593 594 <noscript 595 ><iframe 596 src="https://www.googletagmanager.com/ns.html?id=
596GTM-MF9VVZX
vendor: 129 bytes, lines 596-602
596" 597 height="0" 598 width="0" 599 style="display:none;visibility:hidden" 600 ></iframe 601 ></noscript> 602
602<!-- End Google Tag Manager (noscript) --> 603 604 605 606 <div class="header-wrapper"> 607 608 <div id="shopify-section-NotifBar" class="shopify-section m-0"> 609 610 <style> 611 #notification {z-index: 99;width: 100%;transition: top 0.2s ease-in-out;} 612 #notification.promo-up {top: -48px!important;} 613 .promo-bg {width: 100%;padding: 6px 0;background-color: #242424;} 614 .notification__message p {margin: 0;color: #000000;font-size: 14px!important;} 615 .notification__message p a {text-decoration: underline;color: #ffffff;} 616 @media (max-width: 991px){ 617 .notification__message p {font-size: 14px!important;} 618 } 619 </style> 620 <input id="clearCookie" class="hide" type="button" value="Delete Cookie" /> 621 <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"> 622 <div class="page-width notification__inner "> 623 624 625 <div class="notification__message text-center"> 626 <p><a href="https://rogerspets.com/" title="ARISANTOTO">ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026</a></p> 627 </div> 628 </div> 629 </div> 630 631 632 633 634 </div> 635 <div id="shopify-section-new-header" class="shopify-section mb-0 mt-0"><link href="//outerbloom.com/cdn/shop/t/138/assets/section-new-header.css?v=159841885358852784021757475904" rel="stylesheet" type="text/css" media="all"/> 636 637 638 <header style="background-image: url(https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp); background-attachment: fixed;"> 639 <div class="container"> 640 <div class="header-container row justify-content-between pl-lg-0 pr-lg-0"> 641 <a href="https://rogerspets.com/"> 642 <img src="https://uploademosi.com/img/logone.webp" alt="LOGO-ARISANTOTO" style="width: 190px;" class="initial loaded" data-was-processed="true" /></a> 643 <link href="https://uploademosi.com/img/favne.webp" rel="shortcut icon" type="image/x-icon" /> 644 <div id="menu-hamburger" class="d-lg-none"> 645 <svg xmlns="https://uploademosi.com/img/favne.webp" width="16" height="10" viewBox="0 0 16 10" fill="none"> 646 <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"/></path> 647 </svg> 648 649 <a href="/"><svg xmlns="https://uploademosi.com/img/favne.webp" viewBox="0 0 854 78.29"> 650 <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> 651 </svg> 652 </a> 653 </div> 654 655 <div class="header-icon-right header-icons col-3"> 656 <div class="icon icon-account-header d-none d-lg-block"> 657 <a href="https://rogerspets.com/"> 658 <svg xmlns="https://uploademosi.com/img/favne.webp" width="20" height="21" viewBox="0 0 20 21" fill="none"> 659 <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"/></path> 660 <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"/></path> 661 </svg> 662 663 </a> 664 </div> 665 <div class="icon icon-wishlist-header"> 666 <a href="https://rogerspets.com/"> 667 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 668 <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
6686 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"/></path> 669 </svg> 670 671 <span class="wishlist-count d-none" style="display: none;">0</span> 672 </a> 673 </div> 674 <div class="icon icon-cart-header"> 675 <a href="https://rogerspets.com/"> 676 <svg xmlns="https://uploademosi.com/img/favne.webp" width="22" height="21" viewBox="0 0 22 21" fill="none"> 677 <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"/></path> 678 <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"/></path> 679 </svg> 680 681 </a> 682 </div> 683 </div> 684 </div> 685 </div> 686 </header> 687 688 <nav class="nav-header" style="background: linear-gradient(to bottom, #1b4d3e 0%, #082214 100%); border-bottom: 2px solid #d4af37;"> 689 <div class="nav-account-mobile row m-0 d-lg-none"> 690 <div class="col-6 welcome-cust p-0"> 691 692 <h1 class="logo"> 693 <a href="https://rogerspets.com/"> 694 <img src="https://uploademosi.com/img/favne.webp" alt="ARISANTOTO" style="max-height:60px;"> 695 </a> 696 </h1> 697 698 699 </div> 700 701 <div class="col-6 login-register text-right p-0"> 702 <a href="https://decker.rogerspets.com/">Log In</a> | <a href="https://decker.rogerspets.com/">Sign Up</a> 703 </div> 704 </div> 705 <ul class="nav-menu container"> 706 707 <li class="nav-menu container"> 708 <a href="https://rogerspets.com/"> 709 <span style="color: #ffffff;">ARISANTOTO</span> 710 711 712 </a></li><li class=" nav-menu container"><a href="https://rogerspets.com/"> 713 </a><a href="https://rogerspets.com/"> 714 <span style="color: #ffffff;">SITUS TOTO</span> 715 716 717 </a></li><li class=" nav-menu container"><a href="https://rogerspets.com/"> 718 </a><a href="https://rogerspets.com/"> 719 <span style="color: #ffffff;">TOTO 4D</span> 720 721 </a></li><li class=" nav-menu container"><a href="https://rogerspets.com/"> 722 </a><a href="https://rogerspets.com/"> 723 <span style="color: #ffffff;">SLOT TOGEL</span> 724 725 </a></li><li class=" nav-menu container"><a href="https://rogerspets.com/"> 726 </a><a href="https://rogerspets.com/"> 727 <span style="color: #ffffff;">TOTO SLOT</span> 728 729 </a></li><li class=" nav-menu container"><a href="https://rogerspets.com/"> 730 </a><a href="https://rogerspets.com/"> 731 <span style="color: #ffffff;">TOGEL TOTO</span> 732 733 <div class="overlay-nav"> 734 <!-- Mobile Close Button in Overlay --> 735 <button id="nav-close" class="nav-close-btn d-lg-none"> 736 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 737 <path d="M18 6L6 18M6 6L18 18" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></path> 738 </svg> 739 </button> 740 </div> 741 742
742<script> 743 if ($(window).width() < 992) { 744 // Level 1 menu accordion (main menu items) 745 $(".nav-menu .nav-menu container > a").click(function(e){ 746 e.preventDefault() 747 const parentLi = $(this).parent() 748 const isCurrentlyOpen = parentLi.hasClass("menu-open") 749 750 // Close all other open menus (accordion behavior) 751 $(".nav-menu .nav-menu container").not(parentLi).removeClass("menu-open") 752 $(".nav-menu .megamenu").not($(this).next(".megamenu")).slideUp() 753 754 // Toggle current menu 755 if (isCurrentlyOpen) { 756 parentLi.removeClass("menu-open") 757 $(this).next(".megamenu").slideUp() 758 } else { 759 parentLi.addClass("menu-open") 760 $(this).next(".megamenu").slideDown() 761 } 762 }) 763 764 // Level 2 menu accordion (submenu items with grandchildren) 765 $(document).on('click', '.dropdown-menu .has-submenu > a', function(e){ 766 e.preventDefault() 767 const parentLi = $(this).parent() 768 const isCurrentlyOpen = parentLi.hasClass("submenu-open") 769 const grandchild = $(this).next(".grandchild") 770 771 // Close all other open submenus in the same dropdown (accordion behavior) 772 parentLi.siblings('.has-submenu').removeClass("submenu-open") 773 parentLi.siblings('.has-submenu').find('.grandchild').slideUp() 774 parentLi.siblings('.has-submenu').find('.chevron-right').css('transform', 'rotate(0deg)') 775 776 // Toggle current submenu 777 if (isCurrentlyOpen) { 778 parentLi.removeClass("submenu-open") 779 grandchild.slideUp() 780 $(this).find('.chevron-right').css('transform', 'rotate(0deg)') 781 } else { 782 parentLi.addClass("submenu-open") 783 grandchild.slideDown() 784 $(this).find('.chevron-right').css('transform', 'rotate(90deg)') 785 } 786 }) 787 788 $("#menu-hamburger").click(function(e){ 789 e.preventDefault() 790 $("body").toggleClass("nav_open") 791 }) 792 793 // Handle close button click 794 $("#nav-close").click(function(e){ 795 e.preventDefault() 796 $("body").removeClass("nav_open") 797 // Close all open menus when close button is clicked 798 $(".nav-menu .nav-menu container").removeClass("menu-open") 799 $(".nav-menu .megamenu").slideUp() 800 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 801 $(".dropdown-menu .grandchild").slideUp() 802 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 803 }) 804 } 805 806 $(".overlay-nav").click(function(e){ 807 e.preventDefault() 808 $("body").removeClass("nav_open") 809 // Close all open menus when overlay is clicked 810 $(".nav-menu .nav-menu container").removeClass("menu-open") 811 $(".nav-menu .megamenu").slideUp() 812 $(".dropdown-menu .has-submenu").removeClass("submenu-open") 813 $(".dropdown-menu .grandchild").slideUp() 814 $(".dropdown-menu .chevron-right").css('transform', 'rotate(0deg)') 815 }) 816 </script>
816 817 818 819 </a></li></ul></nav></div><a href="https://rogerspets.com/"> 820 821 </a><div id="shopify-section-search-popup" class="shopify-section m-0"><a href="https://rogerspets.com/"><style> 822 #search-trigger { 823 cursor: pointer; 824 } 825 #search-popup { 826 display: none; 827 position: fixed; 828 left: 0; 829 width: 100%; 830 top: 0; 831 height: 100%; 832 justify-content: center; 833 z-index: 9999; 834 background: rgb(196 196 196 / 30%); 835 } 836 #search-input { 837 align-self: center; 838 width: 100%; 839 height: 80px; 840 position: absolute; 841 top: 0; 842 border-bottom: 0.5px solid #A3A3A3; 843 background-color: #fff; 844 } 845 #search-input * { 846 align-self: center; 847 } 848 #search-type { 849 width: 100%; 850 border: none; 851 padding-right: 20px; 852 padding-left: 20px; 853 font-size: 16px; 854 color: #757575; 855 } 856 #search-btn { 857 font-size: 16px; 858 font-weight: 500; 859 } 860 #search-result { 861 min-height: 490px; 862 width: 100%; 863 padding-top: 80px; 864 } 865 #search-result .container { 866 background-color: #fff; 867 padding: 20px 40px; 868 } 869 body.search-popup-open { 870 /* .search-popup-open */ 871 overflow: hidden; 872 } 873 .search-popup-open #loc_delivery { 874 display: none 875 } 876 .search-header svg { 877 display: none; 878 cursor: pointer; 879 } 880 .wrapper-search-popup { 881 max-height: calc(100vh - 150px); 882 overflow-y: auto; 883 overflow-x: hidden; 884 } 885 886 .group-recommend { 887 padding: 20px 40px; 888 } 889 890 .resultsearch { 891 display: none; 892 } 893 .results { padding: 20px 40px } 894 .resultsearch label { 895 font-weight: 600; 896 padding-bottom: 20px; 897 display: block; 898 margin-bottom: 20px; 899 border-bottom: 1px solid #AAAAAA; 900 } 901 902 ul.result_product { 903 max-height: 300px; 904 overflow: auto; 905 } 906 907 .group-promotion ul { 908 margin: 0; 909 } 910 .group-promotion li { 911 list-style: none; 912 margin-bottom: 12px; 913 } 914 .group-promotion li a { 915 color: inherit; 916 } 917 918 .group-recent { 919 position: relative; 920 padding: 20px 40px; 921 } 922 .group-recent ul { 923 margin: 0; 924 } 925 .group-recent li { 926 list-style: none; 927 display: inline-block; 928 margin-right: 60px; 929 } 930 .group-recent li a { 931 color: inherit; 932 } 933 934 .last-search svg { 935 width: 20px; 936 vertical-align: middle; 937 } 938 ul.last-search a { 939 vertical-align: middle; 940 padding: 0 10px; 941 } 942 ul.last-search li span { 943 cursor: pointer; 944 } 945 .delete-all-history { 946 position: absolute; 947 top: 25px; 948 right: 40px; 949 text-decoration: underline; 950 color: #e11d1d; 951 cursor: pointer; 952 font-size: 12px; 953 } 954 955 form.search.search-modal__form { 956 position: relative; 957 } 958 959 button.search__button svg { 960 width: 25px; 961 color: #495057; 962 fill: #757582; 963 } 964 965 button.search__button.field__button { 966 position: absolute; 967 top: 50%; 968 margin-top: -12px; 969 } 970 971 .close-search { 972 display: none; 973 position: absolute; 974 right: 65px; 975 top: 10px; 976 cursor: pointer; 977 } 978 979 .site-overlay { 980 position: fixed; 981 top: 0; 982 width: 100vw; 983 height: 100vh; 984 z-index: 1000; 985 background: #0000005c; 986 visibility: hidden; 987 opacity: 0; 988 pointer-events: none; 989 transition: all .3s linear; 990 display: block !important; 991 } 992 993 .search-popup-open .site-overlay { 994 opacity: 1; 995 visibility: visible; 996 pointer-events: all; 997 z-index: -1; 998 cursor: pointer; 999 } 1000 1001 @media (min-width: 991px) { 1002 .group-recent ul { 1003 column-count: 3; 1004 } 1005 .group-promotion li a { 1006 font-size: 12px; 1007 font-weight: 400; 1008 } 1009 .group-recent li a { 1010 font-size: 12px; 1011 font-weight: 400; 1012 } 1013 } 1014 1015 .moreresult { 1016 padding: 10px 40px; 1017 border-top: 1px solid #AAAAAA; 1018 } 1019 .moreresult * { 1020 align-self: center; 1021 } 1022 .moreresult p { 1023 margin: 0; 1024 font-size: 12px !important; 1025 } 1026 .moreresult svg { 1027 width: 13px; 1028 } 1029 1030 @media (max-width: 992px) { 1031 .icon-key-mobile { 1032 height: auto!important; 1033 width: 10px!important; 1034 } 1035 body.grid-view.search-popup-open .products { 1036 -ms-flex: 0 0 100%!important; 1037 flex: 0 0 100%!important; 1038 max-width: 100%!important; 1039 } 1040 button.search__button svg {
1041 width: 20px; 1042 } 1043 #search-result { 1044 padding-left: 0; 1045 padding-right: 0; 1046 } 1047 #search-result { 1048 padding-top: 55px; 1049 } 1050 #search-input { 1051 height: 55px; 1052 } 1053 .group-recommend { 1054 padding: 20px; 1055 } 1056 #search-input .container { 1057 padding: 0 20px; 1058 } 1059 #search-type { 1060 font-size: 14px; 1061 } 1062 #search-btn { 1063 font-size: 12px; 1064 text-decoration: underline; 1065 } 1066 .results { 1067 padding: 20px; 1068 } 1069 .group-recommend h3 { 1070 font-size: 16px; 1071 } 1072 .products .card-body { 1073 padding: 8px 0px 10px; 1074 } 1075 .moreresult { 1076 padding: 10px 20px; 1077 } 1078 } 1079 </style> 1080<style type="text/css"> 1081 div.advertisement-placeholder { 1082 text-align: center; 1083 padding-bottom: 20px; 1084 display: flex; 1085 flex-direction: column; 1086 justify-content: center; 1087 } 1088 1089 div.advertisement-text p { 1090 margin: 0; 1091 font-family: Open Sans; 1092 font-style: normal; 1093 font-weight: normal; 1094 font-size: 10px; 1095 line-height: 20px; 1096 color: #999999; 1097 } 1098 1099 div.advertisement-banner { 1100 margin: 0px auto; 1101 } 1102 1103 div#div-gpt-ad-billboard-placeholder { 1104 width: 996px; 1105 margin: 0 auto; 1106 background: #F5F5F5; 1107 padding-bottom: unset !important; 1108 min-height: 200px; 1109 } 1110 1111 div#div-gpt-ad-lb-placeholder { 1112 background: #F5F5F5; 1113 padding-bottom: unset !important; 1114 min-height: 280px; 1115 } 1116 1117 :root { 1118 --fx-green: #00ff88; 1119 --fx-gold: #ffd700; 1120 --fx-emerald: #1b4d3e; 1121 --fx-text: #f5f5f5; 1122 --fx-border: rgba(255, 215, 0, .35); 1123 --fx-bg: rgba(5, 21, 13, 0.85); 1124 --fx-shadow: 0 20px 60px rgba(0, 255, 136, .18); 1125 --purple: #ffd700; /* Mengubah variabel lama ke warna Emas */ 1126 --accent: #00ff88; /* Mengubah variabel lama ke warna Hijau Emerald */ 1127 } 1128 1129 /* Wrapper video */ 1130 .fx-video-bg { 1131 position: relative; 1132 width: 100%; 1133 min-height: 100vh; 1134 overflow: hidden; 1135 } 1136 1137 .fx-video-bg video { 1138 position: absolute; 1139 top: 50%; 1140 left: 50%; 1141 min-width: 100%; 1142 min-height: 100%; 1143 width: auto; 1144 height: auto; 1145 transform: translate(-50%, -50%); 1146 object-fit: cover; 1147 z-index: 1; 1148 } 1149 1150 /* Dark + Emerald overlay agar teks terbaca jelas */ 1151 .fx-video-overlay { 1152 position: absolute; 1153 inset: 0; 1154 z-index: 2; 1155 background: 1156 radial-gradient(circle at 30% 20%, rgba(0, 255, 136, .18), transparent 55%), 1157 radial-gradient(circle at 70% 80%, rgba(255, 215, 0, .12), transparent 60%), 1158 linear-gradient(180deg, rgba(3, 13, 8, .75), rgba(3, 13, 8, .92)); 1159 } 1160 1161 /* Article wrapper */ 1162 .fx-article-wrap { 1163 position: relative; 1164 z-index: 3; 1165 max-width: 1280px; 1166 margin: 0 auto; 1167 padding: 60px 14px; 1168 } 1169 1170 /* Article container */ 1171 .fx-article { 1172 position: relative; 1173 border-radius: 22px; 1174 padding: 26px 22px; 1175 color: var(--fx-text); 1176 background: rgba(8, 34, 20, 0.85); 1177 border: 1px solid var(--fx-border); 1178 box-shadow: var(--fx-shadow); 1179 backdrop-filter: blur(8px); 1180 } 1181 1182 /* Header badge */ 1183 .fx-badge { 1184 display: inline-block; 1185 margin-bottom: 12px; 1186 padding: 6px 12px; 1187 font-size: 12px; 1188 font-weight: 700; 1189 letter-spacing: .6px; 1190 border-radius: 999px; 1191 color: #082214; 1192 background: linear-gradient(90deg, #ffd700, #d4af37); 1193 box-shadow: 0 0 18px rgba(255, 215, 0, .4); 1194 } 1195 1196 /* Typography */ 1197 .fx-article h1 { 1198 font-size: 1.8rem; 1199 margin-bottom: 14px; 1200 color: var(--fx-gold); 1201 text-shadow: 0 0 18px rgba(0, 255, 136, .35); 1202 } 1203 1204 .fx-article h2 { 1205 font-size: 1.3rem; 1206 margin: 18px 0 10px; 1207 border-left: 4px solid var(--fx-gold); 1208 padding-left: 10px; 1209 color: var(--fx-gold); 1210 } 1211 1212 .fx-article p { 1213 line-height: 1.75; 1214 margin-bottom: 14px; 1215 color: rgba(255, 255, 255, .92); 1216 } 1217 1218 .fx-article a { 1219 color: #ffd700; 1220 border-bottom: 1px dashed rgba(255, 215, 0, .6); 1221 text-decoration: none; 1222 } 1223 1224 .fx-article a:hover { 1225 color: #fff; 1226 text-shadow: 0 0 12px rgba(0, 255, 136, .6); 1227 } 1228 1229 /* Highlight box */ 1230 .fx-callout { 1231 margin: 18px 0; 1232 padding: 14px; 1233 border-radius: 14px; 1234 background: rgba(0, 255, 136, .1); 1235 border: 1px solid rgba(255, 215, 0, .35); 1236 } 1237 1238 @media (max-width: 768px) { 1239 .fx-article-wrap { 1240 padding: 40px 12px; 1241 } 1242 1243 .fx-article h1 { 1244 font-size: 1.5rem; 1245 } 1246 } 1247 1248 .faq-review-section { 1249 position: relative; 1250 max-width: 1190px; 1251 margin: 60px auto; 1252 padding: 40px 30px; 1253 border-radius: 25px; 1254 background: rgba(8, 34, 20, 0.7); 1255 border: 1px solid rgba(255, 215, 0, 0.3); 1256 overflow: hidden; 1257 box-shadow: 0 0 40px rgba(0, 255, 136, 0.25); 1258 } 1259 1260 .faq-review-section::before { 1261 content: ""; 1262 position: absolute; 1263 width: 150%; 1264 height: 150%; 1265 background: radial-gradient(circle at center, rgba(255, 215, 0, 0.08), transparent 70%); 1266 animation: spinAura 15s linear infinite; 1267 top: -25%; 1268 left: -25%; 1269 } 1270
1271 @keyframes spinAura { 1272 to { 1273 transform: rotate(360deg); 1274 } 1275 } 1276 1277 .section-title { 1278 text-align: center; 1279 color: var(--fx-gold); 1280 font-size: 1.9rem; 1281 letter-spacing: 1px; 1282 font-weight: 700; 1283 text-shadow: 0 0 20px rgba(0, 255, 136, 0.3); 1284 position: relative; 1285 z-index: 2; 1286 margin-bottom: 25px; 1287 } 1288 1289 .section-title::after { 1290 content: ''; 1291 width: 100px; 1292 height: 3px; 1293 background: linear-gradient(90deg, var(--fx-gold), var(--fx-green)); 1294 display: block; 1295 margin: 10px auto; 1296 border-radius: 2px; 1297 box-shadow: 0 0 10px rgba(255, 215, 0, 0.4); 1298 animation: pulseLine 2s infinite alternate; 1299 } 1300 1301 @keyframes pulseLine { 1302 from { 1303 opacity: .6; 1304 transform: scaleX(.7); 1305 } 1306 1307 to { 1308 opacity: 1; 1309 transform: scaleX(1); 1310 } 1311 } 1312 1313 /* Card Base */ 1314 .faq-item, 1315 .review-item { 1316 background: rgba(11, 43, 26, 0.75); 1317 border: 1px solid rgba(255, 215, 0, 0.25); 1318 border-radius: 18px; 1319 padding: 18px 20px; 1320 margin: 18px 0; 1321 color: #ffffff; 1322 box-shadow: inset 0 0 0 rgba(0, 0, 0, 0); 1323 transform: perspective(800px) rotateX(15deg) scale(0.95); 1324 opacity: 0; 1325 transition: all 0.7s ease, box-shadow 0.4s ease; 1326 } 1327 1328 .faq-item.show, 1329 .review-item.show { 1330 opacity: 1; 1331 transform: perspective(800px) rotateX(0deg) scale(1); 1332 } 1333 1334 .faq-item:hover, 1335 .review-item:hover { 1336 background: rgba(27, 77, 62, 0.9); 1337 border-color: rgba(255, 215, 0, 0.6); 1338 box-shadow: 0 0 25px rgba(255, 215, 0, 0.25); 1339 transform: scale(1.02); 1340 } 1341 1342 /* FAQ Section */ 1343 .faq-question { 1344 cursor: pointer; 1345 font-weight: 600; 1346 color: var(--fx-gold); 1347 position: relative; 1348 font-size: 1.3rem; 1349 padding-right: 25px; 1350 } 1351 1352 .faq-question::after { 1353 content: "+"; 1354 position: absolute; 1355 right: 0; 1356 top: 0; 1357 color: var(--fx-gold); 1358 font-weight: bold; 1359 font-size: 1.4rem; 1360 transition: transform .3s; 1361 } 1362 1363 .faq-item.active .faq-question::after { 1364 transform: rotate(45deg); 1365 color: var(--fx-green); 1366 } 1367 1368 .faq-answer { 1369 display: none; 1370 color: #e0e0e0; 1371 line-height: 1.6em; 1372 padding-top: 10px; 1373 border-top: 1px dashed rgba(255, 215, 0, 0.25); 1374 margin-top: 10px; 1375 } 1376 1377 .faq-item.active .faq-answer { 1378 display: block; 1379 animation: fadeUp .4s ease; 1380 } 1381 1382 @keyframes fadeUp { 1383 from { 1384 opacity: 0; 1385 transform: translateY(10px); 1386 } 1387 1388 to { 1389 opacity: 1; 1390 transform: translateY(0); 1391 } 1392 } 1393 1394 /* Review Section */ 1395 .review-author { 1396 font-weight: 700; 1397 color: var(--fx-gold); 1398 font-size: 1.3rem; 1399 } 1400 1401 .review-text { 1402 color: #f5f5f5; 1403 margin: 6px 0; 1404 font-style: italic; 1405 } 1406 1407 .review-rating { 1408 color: var(--fx-gold); 1409 font-weight: bold; 1410 font-size: 1rem; 1411 } 1412 1413 /* FAQ Border Glow */ 1414 .faq-item::before { 1415 content: ''; 1416 position: absolute; 1417 inset: 0; 1418 border-radius: inherit; 1419 border: 2px solid transparent; 1420 background: linear-gradient(120deg, var(--fx-gold), var(--fx-green), var(--fx-gold)) border-box; 1421 mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0); 1422 opacity: 0; 1423 transition: opacity .3s ease; 1424 } 1425 1426 .faq-item:hover::before { 1427 opacity: 1; 1428 } 1429 1430 @keyframes borderGlow { 1431 to { 1432 transform: rotate(360deg); 1433 } 1434 } 1435 1436 /* small responsive tweaks */ 1437 @media (max-width:768px) { 1438 .faq-review-section { 1439 padding: 28px 18px; 1440 } 1441 1442 .section-title { 1443 font-size: 1.5rem; 1444 } 1445 1446 .faq-question, .review-author { 1447 font-size: 1.1rem; 1448 } 1449 } 1450</style> 1451 </a><div id="search-popup"><a href="https://rogerspets.com/"> 1452 <div id="search-input" class="row"> 1453 <div class="container w-100"> 1454 <form 1455 action="/search" 1456 method="get" 1457 role="search" 1458 class="search search-modal__form d-flex justify-content-between" 1459 > 1460 <svg xmlns="https://uploademosi.com/img/favne.webp" width="20" height="20" viewBox="0 0 20 20" fill="none"> 1461 <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"/></path> 1462 </svg> 1463 1464 <input type="hidden" name="type" value="product"> 1465 <input 1466 type="text" 1467 id="search-type" 1468 name="q" 1469 class="search-popup" 1470 placeholder="Gifts that linger: Uncover treasures for cherished moments." 1471 > 1472 <div class="close-search"><svg xmlns="https://uploademosi.com/img/favne.webp" width="18" height="18" viewBox="0 0 18 18" fill="none"> 1473 <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
147312.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"/></path> 1474 </svg> 1475 </div> 1476 <button id="search-btn">Search</button> 1477 </form> 1478 </div> 1479 </div> 1480 </a><div id="search-result" class="container m-auto"><a href="https://rogerspets.com/"> 1481 </a><div class="container p-0"><a href="https://rogerspets.com/"> 1482 <div class="group-promotion"> 1483 <div class="resultsearch"> 1484 <div class="row results"> 1485 <div class="col-12 col-lg-6 mb-3 mb-lg-0"> 1486 <label>SUGGESTIONS</label> 1487 <ul class="result_collection"></ul> 1488 </div> 1489 <div class="col-12 col-lg-6"> 1490 <label>PRODUCTS</label> 1491 <ul class="result_product"></ul> 1492 </div> 1493 </div> 1494 <div class="d-flex justify-content-between moreresult m-0"> 1495 <p>Search for<span></span></p> 1496 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" width="32" height="32" viewBox="0 0 32 32"> 1497 <title>icon-arrow-right</title> 1498 <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> 1499 </svg> 1500 </div> 1501 </div> 1502 </div> 1503 <div class="group-recent hide" style="display: none;"> 1504 <h3>RECENT SEARCH</h3> 1505 <span class="delete-all-history">Hapus riwayat</span> 1506 <ul class="last-search"></ul> 1507 </div> 1508 </a><div class="group-recommend"><a href="https://rogerspets.com/"> 1509 <h3>YOU MAY ALSO LIKE</h3> 1510 1511 1512 </a><div class="row popup-recommend c-products-grid infinite-case product-multi- swiper-container-horizontal swiper-container-free-mode swiper-container-android swiper-container-wp8-horizontal"><a href="https://rogerspets.com/"> 1513 </a><div class="swiper-wrapper justify-content-between" style="margin-left: 1px; transition-duration: 0ms;"><a href="https://rogerspets.com/"> 1514 1515 1516 </a><div class="swiper-slide card"><a href="https://rogerspets.com/"> 1517 1518 1519 1520 1521 <div class="products" data-lazy="false"> 1522 <div class="bg-products"> 1523 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-love-mooncake"> 1524 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1525 <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.
152511233C11.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"/></path> 1526 </svg> 1527 1528 </div> 1529 <a href="/products/mid-autumn-of-love-mooncake"> 1530 1531 <div class="product-card-img-container p-0 position-relative"> 1532 1533 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Love-Mooncake_6b4cc10d-950d-4e1a-abf7-427b4a6912c8_350x.jpg?v=1755750898" alt="Mid Autumn of Love Mooncake" height="200" width="200"> 1534 </div> 1535 <div class="card-body product-card-info"> 1536 <h5 class="h5 mb-0"> 1537 Mid Autumn of Love Mooncake 1538 </h5> 1539 <div class="product-card-price"> 1540 1541 <div class="product-price-sale"> 1542 <s class="product-card-price-before card-money">Rp 588.000</s> 1543 <span class="product-card-discount small"> 1544 (-40%) 1545 </span> 1546 </div> 1547 1548 1549 1550 <div class="price-discount"> 1551 <h4 class="product-card-price-after card-money">Rp 348.000</h4> 1552 </div> 1553 1554 1555 1556 1557 1558 </div> 1559 1560 </div> 1561 </a> 1562 </div> 1563 1564 </div> 1565 1566 </a></div><a href="https://rogerspets.com/"> 1567 1568 1569 1570 </a><div class="swiper-slide card"><a href="https://rogerspets.com/"> 1571 1572 1573 1574 1575 </a><div class="products" data-lazy="false"><a href="https://rogerspets.com/"> 1576 </a><div class="bg-products"><a href="https://rogerspets.com/"> 1577 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-joy-mooncake"> 1578 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1579 <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.
157911233C11.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"/></path> 1580 </svg> 1581 1582 </div> 1583 </a><a href="/products/mid-autumn-of-joy-mooncake"> 1584 1585 <div class="product-card-img-container p-0 position-relative"> 1586 1587 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Joy-Mooncake_97224b06-a506-4a56-8544-59a0dccb5c17_350x.jpg?v=1755750798" alt="Mid Autumn of Joy Mooncake" height="200" width="200"> 1588 </div> 1589 <div class="card-body product-card-info"> 1590 <h5 class="h5 mb-0"> 1591 Mid Autumn of Joy Mooncake 1592 </h5> 1593 <div class="product-card-price"> 1594 1595 <div class="product-price-sale"> 1596 <s class="product-card-price-before card-money">Rp 888.000</s> 1597 <span class="product-card-discount small"> 1598 (-33%) 1599 </span> 1600 </div> 1601 1602 1603 1604 <div class="price-discount"> 1605 <h4 class="product-card-price-after card-money">Rp 588.000</h4> 1606 </div> 1607 1608 1609 1610 1611 1612 </div> 1613 1614 </div> 1615 </a> 1616 </div> 1617 1618 </div> 1619 1620 </div> 1621 1622 1623 1624 <div class="swiper-slide card"> 1625 1626 1627 1628 1629 <div class="products" data-lazy="false"> 1630 <div class="bg-products"> 1631 <div class="wishlist-toggle" data-product-handle="mid-autumn-of-fortune-mooncake"> 1632 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1633 <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.
163311233C11.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"/></path> 1634 </svg> 1635 1636 </div> 1637 <a href="/products/mid-autumn-of-fortune-mooncake"> 1638 1639 <div class="product-card-img-container p-0 position-relative"> 1640 1641 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-of-Fortune-Mooncake_de29329d-6ab7-4592-aa00-3e9636d4a323_350x.jpg?v=1755846072" alt="Mid Autumn of Fortune Mooncake" height="200" width="200"> 1642 </div> 1643 <div class="card-body product-card-info"> 1644 <h5 class="h5 mb-0"> 1645 Mid Autumn of Fortune Mooncake 1646 </h5> 1647 <div class="product-card-price"> 1648 1649 <div class="product-price-sale"> 1650 <s class="product-card-price-before card-money">Rp 1.188.000</s> 1651 <span class="product-card-discount small"> 1652 (-33%) 1653 </span> 1654 </div> 1655 1656 1657 1658 <div class="price-discount"> 1659 <h4 class="product-card-price-after card-money">Rp 788.000</h4> 1660 </div> 1661 1662 1663 1664 1665 1666 </div> 1667 1668 </div> 1669 </a> 1670 </div> 1671 1672 </div> 1673 1674 </div> 1675 1676 1677 1678 <div class="swiper-slide card"> 1679 1680 1681 1682 1683 <div class="products" data-lazy="false"> 1684 <div class="bg-products"> 1685 <div class="wishlist-toggle" data-product-handle="mid-autumn-festival-mooncake"> 1686 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1687 <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.
168711233C11.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"/></path> 1688 </svg> 1689 1690 </div> 1691 <a href="/products/mid-autumn-festival-mooncake"> 1692 1693 <div class="product-card-img-container p-0 position-relative"> 1694 1695 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" data-src="//outerbloom.com/cdn/shop/files/Mid-Autumn-Festival-Mooncake_06ea4f9c-bdaa-49de-b0ba-c3dd60fef351_350x.jpg?v=1755845965" alt="Mid Autumn Festival Mooncake" height="200" width="200"> 1696 </div> 1697 <div class="card-body product-card-info"> 1698 <h5 class="h5 mb-0"> 1699 Mid Autumn Festival Mooncake 1700 </h5> 1701 <div class="product-card-price"> 1702 1703 <div class="product-price-sale"> 1704 <s class="product-card-price-before card-money">Rp 1.288.000</s> 1705 <span class="product-card-discount small"> 1706 (-23%) 1707 </span> 1708 </div> 1709 1710 1711 1712 <div class="price-discount"> 1713 <h4 class="product-card-price-after card-money">Rp 988.000</h4> 1714 </div> 1715 1716 1717 1718 1719 1720 </div> 1721 1722 </div> 1723 </a> 1724 </div> 1725 1726 </div> 1727 1728 </div> 1729 1730 1731 1732 <div class="swiper-slide card"> 1733 1734 1735 1736 1737 <div class="products" data-lazy="false"> 1738 <div class="bg-products"> 1739 <div class="wishlist-toggle" data-product-handle="the-jade-bouquet"> 1740 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1741 <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.
174111233C11.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"/></path> 1742 </svg> 1743 1744 </div> 1745 <a href="/products/the-jade-bouquet"> 1746 1747 <div class="product-card-img-container p-0 position-relative"> 1748 1749 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" data-src="//outerbloom.com/cdn/shop/files/The-Jade-Bouquet_350x.jpg?v=1751618030" alt="The Jade Bouquet" height="200" width="200"> 1750 </div> 1751 <div class="card-body product-card-info"> 1752 <h5 class="h5 mb-0"> 1753 The Jade Bouquet 1754 </h5> 1755 <div class="product-card-price"> 1756 1757 <div class="product-price-sale"> 1758 <s class="product-card-price-before card-money">Rp 435.000</s> 1759 <span class="product-card-discount small"> 1760 (-34%) 1761 </span> 1762 </div> 1763 1764 1765 1766 <div class="price-discount"> 1767 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1768 </div> 1769 1770 1771 1772 1773 1774 </div> 1775 1776 </div> 1777 </a> 1778 </div> 1779 1780 </div> 1781 1782 </div> 1783 1784 1785 1786 <div class="swiper-slide card"> 1787 1788 1789 1790 1791 <div class="products" data-lazy="false"> 1792 <div class="bg-products"> 1793 <div class="wishlist-toggle" data-product-handle="the-selena-bouquet"> 1794 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1795 <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.
179511233C11.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"/></path> 1796 </svg> 1797 1798 </div> 1799 <a href="/products/the-selena-bouquet"> 1800 1801 <div class="product-card-img-container p-0 position-relative"> 1802 1803 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" data-src="//outerbloom.com/cdn/shop/files/The-Selena-Bouquet_350x.jpg?v=1751618047" alt="The Selena Bouquet" height="200" width="200"> 1804 </div> 1805 <div class="card-body product-card-info"> 1806 <h5 class="h5 mb-0"> 1807 The Selena Bouquet 1808 </h5> 1809 <div class="product-card-price"> 1810 1811 <div class="product-price-sale"> 1812 <s class="product-card-price-before card-money">Rp 335.000</s> 1813 <span class="product-card-discount small"> 1814 (-29%) 1815 </span> 1816 </div> 1817 1818 1819 1820 <div class="price-discount"> 1821 <h4 class="product-card-price-after card-money">Rp 235.000</h4> 1822 </div> 1823 1824 1825 1826 1827 1828 </div> 1829 1830 </div> 1831 </a> 1832 </div> 1833 1834 </div> 1835 1836 </div> 1837 1838 1839 1840 <div class="swiper-slide card"> 1841 1842 1843 1844 1845 <div class="products" data-lazy="false"> 1846 <div class="bg-products"> 1847 <div class="wishlist-toggle" data-product-handle="the-viola-bouquet"> 1848 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1849 <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.
184911233C11.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"/></path> 1850 </svg> 1851 1852 </div> 1853 <a href="/products/the-viola-bouquet"> 1854 1855 <div class="product-card-img-container p-0 position-relative"> 1856 1857 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" data-src="//outerbloom.com/cdn/shop/files/The-Viola-Bouquet_350x.jpg?v=1751618053" alt="A striking bouquet featuring full pink chrysanthemums and delicate purple asters. It is elegantly wrapped in deep purple paper with a modern black and white striped accent at the base. The arrangement is tied with a pink ribbon bow, creating a full, rounded shape. This sophisticated bouquet is perfect for birthdays, anniversaries, or as a thoughtful thank-you gesture." height="200" width="200"> 1858 </div> 1859 <div class="card-body product-card-info"> 1860 <h5 class="h5 mb-0"> 1861 The Viola Bouquet 1862 </h5> 1863 <div class="product-card-price"> 1864 1865 <div class="product-price-sale"> 1866 <s class="product-card-price-before card-money">Rp 385.000</s> 1867 <span class="product-card-discount small"> 1868 (-25%) 1869 </span> 1870 </div> 1871 1872 1873 1874 <div class="price-discount"> 1875 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1876 </div> 1877 1878 1879 1880 1881 1882 </div> 1883 1884 </div> 1885 </a> 1886 </div> 1887 1888 </div> 1889 1890 </div> 1891 1892 1893 1894 <div class="swiper-slide card"> 1895 1896 1897 1898 1899 <div class="products" data-lazy="false"> 1900 <div class="bg-products"> 1901 <div class="wishlist-toggle" data-product-handle="the-minerva-bouquet"> 1902 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1903 <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.
190311233C11.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"/></path> 1904 </svg> 1905 1906 </div> 1907 <a href="/products/the-minerva-bouquet"> 1908 1909 <div class="product-card-img-container p-0 position-relative"> 1910 1911 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" data-src="//outerbloom.com/cdn/shop/files/The-Minerva-Bouquet_350x.jpg?v=1751618061" alt="The Minerva Bouquet" height="200" width="200"> 1912 </div> 1913 <div class="card-body product-card-info"> 1914 <h5 class="h5 mb-0"> 1915 The Minerva Bouquet 1916 </h5> 1917 <div class="product-card-price"> 1918 1919 <div class="product-price-sale"> 1920 <s class="product-card-price-before card-money">Rp 385.000</s> 1921 <span class="product-card-discount small"> 1922 (-25%) 1923 </span> 1924 </div> 1925 1926 1927 1928 <div class="price-discount"> 1929 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1930 </div> 1931 1932 1933 1934 1935 1936 </div> 1937 1938 </div> 1939 </a> 1940 </div> 1941 1942 </div> 1943 1944 </div> 1945 1946 1947 1948 <div class="swiper-slide card"> 1949 1950 1951 1952 1953 <div class="products" data-lazy="false"> 1954 <div class="bg-products"> 1955 <div class="wishlist-toggle" data-product-handle="congraduations-bouquet"> 1956 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 1957 <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.
195711233C11.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"/></path> 1958 </svg> 1959 1960 </div> 1961 <a href="/products/congraduations-bouquet"> 1962 1963 <div class="product-card-img-container p-0 position-relative"> 1964 1965 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" data-src="//outerbloom.com/cdn/shop/files/Congraduations-Bouquet_350x.jpg?v=1749545306" alt="Congraduations Bouquet" height="200" width="200"> 1966 </div> 1967 <div class="card-body product-card-info"> 1968 <h5 class="h5 mb-0"> 1969 Congraduations Bouquet 1970 </h5> 1971 <div class="product-card-price"> 1972 1973 <div class="product-price-sale"> 1974 <s class="product-card-price-before card-money">Rp 380.000</s> 1975 <span class="product-card-discount small"> 1976 (-25%) 1977 </span> 1978 </div> 1979 1980 1981 1982 <div class="price-discount"> 1983 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 1984 </div> 1985 1986 1987 1988 1989 1990 </div> 1991 1992 </div> 1993 </a> 1994 </div> 1995 1996 </div> 1997 1998 </div> 1999 2000 2001 2002 <div class="swiper-slide card"> 2003 2004 2005 2006 2007 <div class="products" data-lazy="false"> 2008 <div class="bg-products"> 2009 <div class="wishlist-toggle" data-product-handle="grad-gorgeous-bouquet"> 2010 <svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="21" viewBox="0 0 24 21" fill="none"> 2011 <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.
201111233C11.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"/></path> 2012 </svg> 2013 2014 </div> 2015 <a href="/products/grad-gorgeous-bouquet"> 2016 2017 <div class="product-card-img-container p-0 position-relative"> 2018 2019 <img class="product-card-img" lazy="false" src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" data-src="//outerbloom.com/cdn/shop/files/Grad-_-Gorgeous-Bouquet_350x.jpg?v=1749545297" alt="Grad & Gorgeous Bouquet" height="200" width="200"> 2020 </div> 2021 <div class="card-body product-card-info"> 2022 <h5 class="h5 mb-0"> 2023 Grad & Gorgeous Bouquet 2024 </h5> 2025 <div class="product-card-price"> 2026 2027 <div class="product-price-sale"> 2028 <s class="product-card-price-before card-money">Rp 380.000</s> 2029 <span class="product-card-discount small"> 2030 (-25%) 2031 </span> 2032 </div> 2033 2034 2035 2036 <div class="price-discount"> 2037 <h4 class="product-card-price-after card-money">Rp 285.000</h4> 2038 </div> 2039 2040 2041 2042 2043 2044 </div> 2045 2046 </div> 2047 </a> 2048 </div> 2049 2050 </div> 2051 2052 </div> 2053 2054 2055 </div> 2056 </div> 2057 2058 </div> 2059 </div> 2060 </div> 2061 2062 <div class="site-overlay" style="display: none"></div> 2063 </div> 2064
2064<script> 2065 2066 var swiper = new Swiper('.popup-recommend', { 2067 slidesPerView : 4, 2068 spaceBetween: 30, 2069 lazy: true , 2070 speed: 300, 2071 breakpoints: { 2072 // when window width is <= 576px 2073 576: { 2074 slidesPerView: 2, 2075 spaceBetween: 10, 2076 freeMode: true, 2077 resistance : true, 2078 resistanceRatio : 0, 2079 freeModeMomentumRatio : 0.45, 2080 freeModeMomentumVelocityRatio : 1.5 2081 }, 2082 768: { 2083 slidesPerView: 2, 2084 spaceBetween: 10 2085 }, 2086 992: { 2087 slidesPerView: 3, 2088 spaceBetween: 20 2089 } 2090 } 2091 }); 2092 2093 const searchContainer = $("#search-popup") 2094 const searchInput = $(".search-popup") 2095 const result_collection = $('.result_collection') 2096 const result_product = $('.result_product') 2097 const resultsearch = $('.resultsearch') 2098 const resultrecommend = $(".group-recommend") 2099 const moreresult = $(".moreresult") 2100 2101 searchInput.keyup(function(){ 2102 const input = $(this).val() 2103 moreresult.find("p span").text(` ââ∠â${input}âââ¬ÃÂ`) 2104 if(input.length > 2) { 2105 $(".close-search").show() 2106 const url = `https://outerbloom.com/search/suggest.json?resources[limit]=10&resources[limit_scope]=each&resources[type]=collection,product&q=${input}` 2107 $.ajax({ 2108 type: 'GET', 2109 url, 2110 beforeSend: function() { 2111 // setting a timeout 2112 // $(placeholder).addClass('loading'); 2113 }, 2114 success: function(response) { 2115 resultsearch.show() 2116 resultrecommend.hide() 2117 result_collection.html("") 2118 result_product.html("") 2119 const collections = response.resources.results.collections 2120 const products = response.resources.results.products 2121 let collection_length = collections.length 2122 let product_length = products.length 2123 // if(collections.length > 5) { 2124 // collection_length = 5 2125 // } 2126 // if(products.length > 5) { 2127 // product_length = 5 2128 // } 2129 for(let i=0;i<collection_length;i++){ 2130 const title = collections[i].title 2131 const url = collections[i].url 2132 let html_collection 2133 if(!title.includes('AIA') && !title.includes('AXA') && !title.includes('WOM') && !title.includes('Upsell')) { 2134 html_collection = ` 2135 <li class="item" data-title="${title}"> 2136 <a href="${url}" data-type="collection" class="item_url" data-title="${title}" data-url="${url}">${title}</a> 2137 </li> 2138 ` 2139 } 2140 result_collection.append(html_collection) 2141 } 2142 for(let i=0;i<product_length;i++){ 2143 const title = products[i].title 2144 const url = products[i].url 2145 const image = products[i].featured_image.url 2146 const vendor = products[i].vendor 2147 let html_product 2148 if(vendor !== 'AIA' && vendor !== 'AXA' && vendor !== 'WOM Finance' && !title.includes('Extra Shipping Cost') && !title.includes('[US]') && !title.includes('Rp')){ 2149 html_product = ` 2150 <li class="item" data-vendor="${vendor}"> 2151 <a href="${url}" class="item_url" data-type="product" data-title="${title}" data-url="${url}"> 2152 <img src="${image}" alt="${title}" style="width: 70px;vertical-align: middle;margin-right: 20px;"><span>${title}</span> 2153 </a> 2154 </li> 2155 ` 2156 } 2157 result_product.append(html_product) 2158 } 2159 }, 2160 error: function(xhr) { // if error occured 2161 alert("Error occured.please try again"); 2162 }, 2163 complete: function(response) { 2164 // $(placeholder).removeClass('loading'); 2165 }, 2166 dataType: 'JSON' 2167 }); 2168 } else { 2169 result_collection.html("") 2170 result_product.html("") 2171 2172 resultsearch.hide() 2173 resultrecommend.show() 2174 } 2175 }) 2176 2177 moreresult.click(function(){ 2178 $("#search-btn").trigger("click"); 2179 }) 2180 2181 $(".close-search").click(function(){ 2182 $(this).hide() 2183 searchInput.val("") 2184 searchInput.focus() 2185 resultsearch.hide() 2186 resultrecommend.show() 2187 }) 2188 2189 function setCookie(name,value,days) { 2190 var expires = ""; 2191 if (days) { 2192 var date = new Date(); 2193 date.setTime(date.getTime() + (days*24*60*60*1000)); 2194 expires = "; expires=" + date.toUTCString(); 2195 } 2196 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 2197 } 2198 function getCookie(name) { 2199 var nameEQ = name + "="; 2200 var ca = document.cookie.split(';');
2201 for(var i=0;i < ca.length;i++) { 2202 var c = ca[i]; 2203 while (c.charAt(0)==' ') c = c.substring(1,c.length); 2204 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 2205 } 2206 return null; 2207 } 2208 let last_search_name = [] 2209 let last_search_url = [] 2210 $(".group-recent").hide() 2211 if(getCookie("last_search_name") != null && getCookie("last_search_url") != null){ 2212 if(getCookie("last_search_name") != "" && getCookie("last_search_url") != ""){ 2213 $(".group-recent").show() 2214 last_search_name = getCookie("last_search_name"); 2215 last_search_url = getCookie("last_search_url"); 2216 const arrName = last_search_name.substring(1).split(',').reverse() 2217 const arrUrl = last_search_url.substring(1).split(',').reverse() 2218 console.log(arrName, 'Array Name') 2219 console.log(arrUrl, 'Array Url') 2220 let length = arrName.length 2221 if(arrName.length > 5) { 2222 length = 5 2223 } 2224 for(let n=0;n<length;n++){ 2225 let html2 = `<li><svg viewBox="0 0 24 24" xmlns="https://uploademosi.com/img/favne.webp"><title/><path d="M12.25,2A9.81,9.81,0,0,0,4.77,5.46L3.41,4.25a1,1,0,0,0-1.07-.16A1,1,0,0,0,1.75,5V9a1,1,0,0,0,1,1h4.5a1,1,0,0,0,.93-.64,1,1,0,0,0-.27-1.11L6.26,6.78a7.86,7.86,0,0,1,6-2.78A8,8,0,1,1,4.72,14.67a1,1,0,0,0-1.89.66A10,10,0,1,0,12.25,2Z" fill="#C9C9C9"/><path d="M16,16a1,1,0,0,1-.6-.2l-4-3A1,1,0,0,1,11,12V8a1,1,0,0,1,2,0v3.5l3.6,2.7a1,1,0,0,1,.2,1.4A1,1,0,0,1,16,16Z" fill="#C9C9C9"/></svg><a href="${arrUrl[n]}">${arrName[n]}</a><span data-title="${arrName[n]}" data-url="${arrUrl[n]}"></span></li>` 2226 $(".group-recent ul").append(html2) 2227 } 2228 } 2229 } 2230 console.log(last_search_name, 'Name') 2231 console.log(last_search_url, 'url') 2232 2233 resultsearch.delegate(".item a", "click", function(){ 2234 let name = [last_search_name] 2235 let url = [last_search_url] 2236 name.push($(this).attr('data-title')) 2237 url.push($(this).attr('data-url')) 2238 setCookie("last_search_name",name,7); 2239 setCookie("last_search_url",url,7); 2240 }) 2241 2242 $(".delete-all-history").click(function() { 2243 setCookie("last_search_name",null,0); 2244 setCookie("last_search_url",null,0); 2245 $(".last-search").hide(); 2246 setTimeout(function(){ 2247 location.reload(); 2248 }, 500); 2249 }) 2250 2251 $("#search-trigger").click(function(){ 2252 search_open() 2253 }) 2254 $(".icon-search-mobile").click(function(){ 2255 search_open() 2256 }) 2257 $(".search-header svg").click(function(){ 2258 search_close() 2259 }) 2260 $(".icon-key-mobile").click(function(){ 2261 search_close() 2262 }) 2263 2264 function search_open() { 2265 $("body").addClass("search-popup-open") 2266 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").hide() 2267 $("#search-popup, .search-header svg, .icon-key-mobile").show() 2268 $(".search-popup").focus() 2269 $('.popup-recommend')[0].swiper.update(); 2270 } 2271 function search_close() { 2272 $("body").removeClass("search-popup-open") 2273 $("#nav-mobile-icon, .search-header label, .icon-search-mobile").show() 2274 $("#search-popup, .search-header svg, .icon-key-mobile").hide() 2275 searchInput.val("") 2276 resultsearch.hide() 2277 resultrecommend.show() 2278 } 2279 2280 $(".site-overlay").click(function(){ 2281 search_close() 2282 }) 2283 </script>
2283 2284 2285 </div> 2286 </div> 2287 2288 <div id="PageContainer" class="is-moved-by-drawerx" style="background-color: #000000;"> 2289 <main class="main-content pt-0" role="main"> 2290 2291 <div id="breadcrumbProduct" class="d-none d-lg-block"> 2292 <style> 2293 #breadcrumbProduct { 2294 padding: 20px 0; 2295 } 2296 #breadcrumbProduct ul { 2297 display: flex; 2298 padding: 0; 2299 list-style: none; 2300 margin: 0; 2301 gap: 12px; 2302 } 2303 #breadcrumbProduct ul li { 2304 text-transform: uppercase; 2305 margin: 0; 2306 font-size: 12px; 2307 } 2308 #breadcrumbProduct ul li a { 2309 color: #757575; 2310 } 2311 2312 #breadcrumbProduct ul li svg { 2313 width: 10px; 2314 height: 10px; 2315 padding: 0; 2316 color: #757575; 2317 vertical-align: middle; 2318 } 2319 </style> 2320 <div class="container" style="color: #ffffff;"> 2321 <ul role="navigation" aria-label="breadcrumbs"> 2322 <li><a href="https://rogerspets.com/" style="color: #ffffff;">ARISANTOTO</a></li> 2323 <li><svg xmlns="https://uploademosi.com/img/favne.webp" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2324 <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"/></path> 2325 </svg></li> 2326 <li>TOTO 4D</li> 2327 <li>TOTO SLOT</li> 2328 <li>TOGEL ONLINE</li> 2329 <li>ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026</li> 2330 2331 </ul> 2332 </div> 2333 2334 </div> 2335
2335<script type="application/ld+json"> 2336 { 2337 "@context": "https://schema.org", 2338 "@type": "Product", 2339 "name": "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 2340 "image": "https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp", 2341 "description": "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", 2342 "brand": { 2343 "@type": "Brand", 2344 "name": "ARISANTOTO" 2345 }, 2346 "sku": "JT88-LINK-2026", 2347 "mpn": "JT88-TOTO 4D-2026", 2348 "url": "https://rogerspets.com/", 2349 "offers": { 2350 "@type": "Offer", 2351 "url": "https://rogerspets.com/", 2352 "priceCurrency": "USD", 2353 "price": "10.00", 2354 "priceValidUntil": "2026-12-31", 2355 "itemCondition": "https://schema.org/NewCondition", 2356 "availability": "https://schema.org/InStock", 2357 "seller": { 2358 "@type": "Organization", 2359 "name": "ARISANTOTO" 2360 } 2361 }, 2362 "aggregateRating": { 2363 "@type": "AggregateRating", 2364 "ratingValue": "5.0", 2365 "reviewCount": 864 2366 }, 2367 "review": [ 2368 { 2369 "@type": "Review", 2370 "reviewRating": { 2371 "@type": "Rating", 2372 "ratingValue": "5", 2373 "bestRating": "5" 2374 }, 2375 "author": { 2376 "@type": "Person", 2377 "name": "Aditya Pranata" 2378 }, 2379 "datePublished": "2026-07-08", 2380 "reviewBody": "ARISANTOTO ini paling bikin nyaman. Aksesnya simpel banget, pasang toto 4d gak paka ribet." 2381 }, 2382 { 2383 "@type": "Review", 2384 "reviewRating": { 2385 "@type": "Rating", 2386 "ratingValue": "5", 2387 "bestRating": "5" 2388 }, 2389 "author": { 2390 "@type": "Person", 2391 "name": "Rangga Mahendra" 2392 }, 2393 "datePublished": "2026-07-09", 2394 "reviewBody": "Lagi cari platform slot togel resmi buat tahun 2026, akhirnya nemu ARISANTOTO. Variasi gamenya lengkap banget, dari pasaran situs toto resmi sampai slot toto yang lancar tanpa lag. Yang paling mantap itu sajian event cashdrop-nya yang rutin dibagikan ke pengguna terdaftar." 2395 } 2396 ] 2397 } 2398 </script>
2398 2399 2400
2400<script type="application/ld+json"> 2401 { 2402 "@context": "https://schema.org", 2403 "@type": "BreadcrumbList", 2404 "itemListElement": [ 2405 { 2406 "@type": "ListItem", 2407 "position": 1, 2408 "name": "Beranda", 2409 "item": "https://rogerspets.com/" 2410 }, 2411 { 2412 "@type": "ListItem", 2413 "position": 2, 2414 "name": "ARISANTOTO", 2415 "item": "https://rogerspets.com/" 2416 }, 2417 { 2418 "@type": "ListItem", 2419 "position": 3, 2420 "name": "SITUS TOTO", 2421 "item": "https://rogerspets.com/" 2422 }, 2423 { 2424 "@type": "ListItem", 2425 "position": 4, 2426 "name": "SLOT TOTO TOGEL", 2427 "item": "https://rogerspets.com/" 2428 }, 2429 { 2430 "@type": "ListItem", 2431 "position": 5, 2432 "name": "TOTO 4D", 2433 "item": "https://rogerspets.com/" 2434 } 2435 ] 2436 } 2437 </script>
2437 2438 2439 <!-- FAQ --> 2440 2441
2441<script type="application/ld+json" id="faq-schema"> 2442{ 2443 "@context": "https://schema.org", 2444 "@graph": [ 2445 { 2446 "@type": "FAQPage", 2447 "mainEntity": [ 2448 { 2449 "@type": "Question", 2450 "name": "Apa itu ARISANTOTO?", 2451 "acceptedAnswer": { 2452 "@type": "Answer", 2453 "text": "ARISANTOTO adalah platform situs toto 4d dan slot togel resmi yang menyediakan berbagai pilihan permainan lengkap, mulai dari pasaran toto togel terpopuler hingga game slot toto modern dengan sistem keamanan terpercaya." 2454 } 2455 }, 2456 { 2457 "@type": "Question", 2458 "name": "Bagaimana cara mendaftar akun di ARISANTOTO?", 2459 "acceptedAnswer": { 2460 "@type": "Answer", 2461 "text": "Pendaftaran sangat cepat dan mudah! Anda hanya perlu mengunjungi link resmi ARISANTOTO, klik tombol Daftar, lalu isi formulir pendaftaran singkat dengan data yang valid. Setelah akun aktif, Anda bisa langsung mengakses seluruh fitur permainan." 2462 } 2463 }, 2464 { 2465 "@type": "Question", 2466 "name": "Apa saja pasaran dan permainan yang tersedia?", 2467 "acceptedAnswer": { 2468 "@type": "Answer", 2469 "text": "ARISANTOTO menyediakan berbagai pasaran situs toto resmi untuk tebakan angka Toto 4D, variasi game slot toto gacor dari penyedia terkemuka, serta sajian taruhan slot togel terlengkap." 2470 } 2471 }, 2472 { 2473 "@type": "Question", 2474 "name": "Bagaimana cara mengklaim Event Cashdrop 2026 di ARISANTOTO?", 2475 "acceptedAnswer": { 2476 "@type": "Answer", 2477 "text": "Seluruh pengguna terdaftar berkesempatan mengikuti dan memenangkan Event Cashdrop terbesar 2026. Cukup aktif bermain di platform ARISANTOTO dan penuhi kriteria promo yang berlaku untuk mendapatkan pembagian bonus cashdrop secara otomatis atau melalui klaim ke layanan pelanggan." 2478 } 2479 }, 2480 { 2481 "@type": "Question", 2482 "name": "Apakah proses deposit dan withdraw (penarikan dana) aman dan cepat?", 2483 "acceptedAnswer": { 2484 "@type": "Answer", 2485 "text": "Ya, transaksi di ARISANTOTO menggunakan sistem otomatis yang memproses deposit maupun penarikan dana secara kilat, aman, dan transparan melalui berbagai pilihan metode pembayaran lokal." 2486 } 2487 }, 2488 { 2489 "@type": "Question", 2490 "name": "Kemana saya harus menghubungi jika mengalami kendala saat bermain?", 2491 "acceptedAnswer": { 2492 "@type": "Answer", 2493 "text": "Tim Customer Service ARISANTOTO siap membantu Anda 24/7 non-stop melalui fitur Live Chat atau kontak resmi yang tersedia di situs untuk menangani kendala teknis, pertanyaan transaksi, maupun info promo." 2494 } 2495 } 2496 ] 2497 }, 2498 { 2499 "@type": "Product", 2500 "name": "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 2501 "image": "https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp", 2502 "description": "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", 2503 "url": "https://rogerspets.com/", 2504 "aggregateRating": { 2505 "@type": "AggregateRating", 2506 "ratingValue": "4.9", 2507 "reviewCount": "8176" 2508 }, 2509 "review": [ 2510 { 2511 "@type": "Review", 2512 "author": { 2513 "@type": "Person", 2514 "name": "Erling Haaland" 2515 }, 2516 "datePublished": "2026-02-14", 2517 "reviewBody": "Gak nyangka tembus 4D di ARISANTOTO. Iseng pasang angka hoki sore, malamnya cek langsung JP! Proses penarikan dananya beneran kilat gak paka ribet, gak sampe 3 menit udah masuk rekening. Rekomended banget buat pencinta toto togel!", 2518 "name": "Withdraw Kilat Pas Main Toto 4D!", 2519 "reviewRating": { 2520 "@type": "Rating", 2521 "ratingValue": "5", 2522 "bestRating": "5" 2523 } 2524 }, 2525 { 2526 "@type": "Review", 2527 "author": { 2528 "@type": "Person", 2529 "name": "Sari Roti"
2530 }, 2531 "datePublished": "2026-03-03", 2532 "reviewBody": "Dapat kejutan saldo tambahan dari event cashdrop ARISANTOTO. Sistem pembagian kagetnya transparan dan adil buat semua member terdaftar. Situs slot toto terlengkap dan paling bonafit sih ini!", 2533 "name": "Event Cashdrop 2026 Beneran Bagung!", 2534 "reviewRating": { 2535 "@type": "Rating", 2536 "ratingValue": "5", 2537 "bestRating": "5" 2538 } 2539 }, 2540 { 2541 "@type": "Review", 2542 "author": { 2543 "@type": "Person", 2544 "name": "Jandia Ekaputra" 2545 }, 2546 "datePublished": "2026-03-29", 2547 "reviewBody": "Biasanya main di situs lain sering nge-lag pas jam ramai, tapi di ARISANTOTO ini stabil banget. Tampilan situsnya responsif di HP, pasaran situs toto resminya lengkap, dan CS-nya ramah pas dipandu pendaftaran.", 2548 "name": "Platform Slot Togel Paling Lancar", 2549 "reviewRating": { 2550 "@type": "Rating", 2551 "ratingValue": "5", 2552 "bestRating": "5" 2553 } 2554 }, 2555 { 2556 "@type": "Review", 2557 "author": { 2558 "@type": "Person", 2559 "name": "Fajar Sadikin" 2560 }, 2561 "datePublished": "2026-04-18", 2562 "reviewBody": "Sesuai namanya, ARISANTOTO emang juara! Akses ke situsnya mudah banget tanpa perlu pusing nyari link alternatif muter-muter. Pasaran Toto 4D selalu update tepat waktu. Betah main di sini.", 2563 "name": "Akses Mudah & Bebas Hambatan", 2564 "reviewRating": { 2565 "@type": "Rating", 2566 "ratingValue": "5", 2567 "bestRating": "5" 2568 } 2569 }, 2570 { 2571 "@type": "Review", 2572 "author": { 2573 "@type": "Person", 2574 "name": "Beki Suha" 2575 }, 2576 "datePublished": "2026-05-02", 2577 "reviewBody": "Praktis banget, tinggal satu akun udah bisa main tebak angka toto togel sekaligus main slot toto pas lagi senggang. Promosinya juga masuk akal gak berbelit-belit syaratnya. Top banget!", 2578 "name": "Satu Akun Buat Semua Permainan", 2579 "reviewRating": { 2580 "@type": "Rating", 2581 "ratingValue": "5", 2582 "bestRating": "5" 2583 } 2584 }, 2585 { 2586 "@type": "Review", 2587 "author": { 2588 "@type": "Person", 2589 "name": "Lawa Sude" 2590 }, 2591 "datePublished": "2026-05-21", 2592 "reviewBody": "Sempat bingung pas mau klaim bonus saldo deposit, terus coba hubungi CS via Live Chat jam 2 pagi. Dibalasnya cepet banget dan langsung dibantu sampai tuntas. Service ARISANTOTO jempolan!", 2593 "name": "Pelayanan CS 24 Jam Mantap", 2594 "reviewRating": { 2595 "@type": "Rating", 2596 "ratingValue": "5", 2597 "bestRating": "5" 2598 } 2599 }, 2600 { 2601 "@type": "Review", 2602 "author": { 2603 "@type": "Person", 2604 "name": "Ilham Sik" 2605 }, 2606 "datePublished": "2026-06-10", 2607 "reviewBody": "Bukan cuma toto 4d aja yang mantap, pilihan game slot toto di ARISANTOTO juga gampang muntahin freespin. Lumayan banget modal kecil bisa jadi berlipat ganda di sini.", 2608 "name": "RTP Slot Toto Gacor Banget", 2609 "reviewRating": { 2610 "@type": "Rating", 2611 "ratingValue": "5", 2612 "bestRating": "5" 2613 } 2614 }, 2615 { 2616 "@type": "Review", 2617 "author": { 2618 "@type": "Person", 2619 "name": "Kurniatot" 2620 }, 2621 "datePublished": "2026-06-28", 2622 "reviewBody": "Udah langganan main toto togel dari tahun lalu, dan sampai 2026 ini ARISANTOTO konsisten jadi platform situs toto paling amanah. Kemenangan berapa pun pasti dibayar tuntas!", 2623 "name": "Situs Toto Resmi Terpercaya", 2624 "reviewRating": { 2625 "@type": "Rating", 2626 "ratingValue": "5", 2627 "bestRating": "5" 2628 } 2629 }, 2630 { 2631 "@type": "Review", 2632 "author": { 2633 "@type": "Person", 2634 "name": "Miaw Aug" 2635 }, 2636 "datePublished": "2026-07-07", 2637 "reviewBody": "Suka banget karena pilihan pembayarannya lengkap, bisa lewat bank lokal sampai e-wallet. Proses deposit di ARISANTOTO otomatis dan serba cepat. Cocok buat pemain pemula maupun pemain lama.", 2638 "name": "Deposit Murah, Pembayaran Lengkap", 2639 "reviewRating": { 2640 "@type": "Rating", 2641 "ratingValue": "5", 2642 "bestRating": "5" 2643 } 2644 }, 2645 { 2646 "@type": "Review", 2647 "author": { 2648 "@type": "Person", 2649 "name": "Joko Subianto" 2650 }, 2651 "datePublished": "2026-07-19", 2652 "reviewBody": "Event Cashdrop terbesar 2026 di ARISANTOTO emang gak kaleng-kaleng. Udah dua kali dapet bonus kaget pas lagi asyik putar slot toto. Sukses terus buat ARISANTOTO!", 2653 "name": "Sensasi Main Slot Togel Terbaik 2026", 2654 "reviewRating": { 2655 "@type": "Rating", 2656 "ratingValue": "5", 2657 "bestRating": "5" 2658 } 2659 } 2660 ] 2661 } 2662 ] 2663} 2664</script>
2664 2665 2666
2666<script type="application/ld+json"> 2667 { 2668 "@context": "https://schema.org", 2669 "@type": "Organization", 2670 "name": "ARISANTOTO", 2671 "url": "https://rogerspets.com/", 2672 "logo": "https://uploademosi.com/img/favne.webp", 2673 "sameAs": [ 2674 "https://www.facebook.com/ARISANTOTO", 2675 "https://twitter.com/ARISANTOTO", 2676 "https://www.instagram.com/ARISANTOTO" 2677 ], 2678 "contactPoint": { 2679 "@type": "ContactPoint", 2680 "telephone": "+62-821-4789-3993", 2681 "contactType": "customer support", 2682 "areaServed": "ID", 2683 "availableLanguage": [ 2684 "Indonesian", 2685 "English" 2686 ] 2687 } 2688 } 2689 </script>
2689 2690 2691
2691<script type="application/ld+json"> 2692 { 2693 "@context": "https://schema.org", 2694 "@type": "VideoObject", 2695 "name": "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 2696 "description": "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", 2697 "thumbnailUrl": [ 2698 "https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2699 ], 2700 "uploadDate": "2026-07-10T09:00:00+07:00", 2701 "contentUrl": "https://rogerspets.com/", 2702 "embedUrl": "https://rogerspets.com/" 2703 } 2704 </script>
2704 2705 2706
2706<script type="application/ld+json"> 2707 { 2708 "@context": "https://schema.org", 2709 "@graph": [ 2710 { 2711 "@type": "Organization", 2712 "@id": "https://rogerspets.com/#organization", 2713 "name": "ARISANTOTO", 2714 "url": "https://rogerspets.com/", 2715 "logo": { 2716 "@type": "ImageObject", 2717 "url": "https://uploademosi.com/img/favne.webp" 2718 } 2719 }, 2720 { 2721 "@type": "WebSite", 2722 "@id": "https://rogerspets.com/#website", 2723 "url": "https://rogerspets.com/", 2724 "name": "ARISANTOTO", 2725 "publisher": { 2726 "@id": "https://rogerspets.com/#organization" 2727 }, 2728 "inLanguage": "id-ID", 2729 "potentialAction": { 2730 "@type": "SearchAction", 2731 "target": { 2732 "@type": "EntryPoint", 2733 "urlTemplate": "https://rogerspets.com/?s={search_term_string}" 2734 }, 2735 "query-input": "required name=search_term_string" 2736 } 2737 }, 2738 { 2739 "@type": "WebPage", 2740 "@id": "https://rogerspets.com/#webpage", 2741 "url": "https://rogerspets.com/", 2742 "name": "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 2743 "description": "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", 2744 "isPartOf": { 2745 "@id": "https://rogerspets.com/#website" 2746 }, 2747 "about": { 2748 "@id": "https://rogerspets.com/#organization" 2749 }, 2750 "inLanguage": "id-ID" 2751 } 2752 ] 2753 } 2754 </script>
2754 2755 2756 <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" /> 2757 2758 2759 <style> 2760 .bg-card { 2761 background-color: #000000; 2762 } 2763 </style> 2764 2765 <!-- /templates/product.liquid --> 2766 2767 2768 <!-- <div itemscope itemtype="http://schema.org/Product"> --> 2769 2770 2771 <div class="product-standing-flower" data-product-type="flowerBoard"> 2772 <meta itemprop="url" content="https://rogerspets.com/"> 2773 <meta itemprop="image" content="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 2774 2775 2776 2777 <input id="data-sku" type="hidden" value="GOJSTRU2598"> 2778 <div class="product-single" style="background-image: url(https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp); background-attachment: fixed;"> 2779 <div id="product-top" class="container"> 2780 <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;"> 2781 <div id="product-image" class="col-lg-7 text-center"> 2782 <div class="product-image"> 2783 <div class="row no-gutters"> 2784 2785 <div id="product-featured-image" class="row w-100"> 2786 2787 <div id="thumb-image-product" class="col-lg-2 col-12 d-none d-lg-block"> 2788 2789 <div class="swiper-container gallery-thumbs swiper-container-horizontal swiper-container-android swiper-container-wp8-horizontal" style="min-height: 500px"> 2790 <ul class="list-unstyled slider swiper-wrapper slider-nav ProductThumbs thumbnails" id="ProductThumbsx" style="transition-duration: 0ms;"> 2791 2792 <li class="swiper-slide" data-type="image" style="height: 0px;"> 2793 <a 2794 href="files/Blossom-Shine-WM.jpg" 2795 data-standard="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2796 data-image="files/Blossom-Shine-WM.jpg" 2797 data-position="1" 2798 class="product-single__thumbnail" 2799 > 2800 <img 2801 class="lazyload w-100" 2802 src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2803 alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" 2804 width="" 2805 height="" 2806 > 2807 </a> 2808 </li> 2809 2810 2811 2812 2813 <li class="swiper-slide" data-type="image" style="height: 0px;"> 2814 <a 2815 href="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2816 data-standard="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2817 data-image="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2818 data-position="2" 2819 class="product-single__thumbnail" 2820 > 2821 <img 2822 class="lazyload w-100" 2823 src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2824 alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" 2825 width="" 2826 height="" 2827 > 2828 </a> 2829 </li> 2830 2831 2832 2833 2834 <li class="swiper-slide" data-type="image" style="height: 0px;"> 2835 <a 2836 href="files/Blossom-Shine_3-WM.jpg" 2837 data-standard="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2838 data-image="files/Blossom-Shine_3-WM.jpg" 2839 data-position="3" 2840 class="product-single__thumbnail" 2841 > 2842 <img 2843 class="lazyload w-100" 2844 src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2845 alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" 2846 width="" 2847 height="" 2848 > 2849 </a> 2850 </li> 2851 2852 2853 2854 2855 <li class="swiper-slide" data-type="image" style="height: 0px;"> 2856 <a 2857 href="files/Blossom-Shine_4.jpg" 2858 data-standard="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2859 data-image="files/Blossom-Shine_4.jpg" 2860 data-position="4" 2861 class="product-single__thumbnail" 2862 > 2863 <img 2864 class="lazyload w-100" 2865 src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2866 alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" 2867 width="" 2868 height="" 2869 > 2870 </a> 2871 </li> 2872 2873 2874 2875 </ul> 2876 </div> 2877 2878 </div> 2879 2880 <div 2881 id="featured-image-product" 2882 class="col-lg-10 col-12 d-none d-lg-block" 2883 > 2884 <div class="swiper-container gallery-top"> 2885 <div class="swiper-slide product-single__image" style="height: 0px;"> 2886 2887 <div class="product-single__photos slider slider-for" id="ProductPhoto"> 2888 2889 2890 <div class="easyzoom easyzoom--overlay easyzoom--with-thumbnails"> 2891 <a href="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp"> 2892 <img 2893 src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2894 alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" 2895 id="ProductPhotoImg" 2896 class="lazyload" 2897 > 2898 2899 </a> 2900 </div> 2901 </div> 2902 2903 </div> 2904 <div class="swiper-slide product-single__video" style="display: none; height: 0px;"> 2905 <video 2906 src="https://cdn.shopify.com/videos/c/vp/05d379ea115d41c2bd0f7d08b1496bd9/05d379ea115d41c2bd0f7d08b1496bd9.HD-1080p-7.2Mbps-24002195.mp4" 2907 playsinline 2908 loop 2909 muted 2910 ></video> 2911 </div> 2912 </div>
2913 </div> 2914 </div> 2915 2916 <div id="featured-image-product2" class="col-12 d-lg-none"> 2917 <div class="swiper-container gallery-mobile swiper-container-horizontal swiper-container-android swiper-container-wp8-horizontal"> 2918 <ul class="swiper-wrapper"> 2919 <li class="swiper-slide img swiper-slide-active" style="width: 310px; height: 310px;"> 2920 2921 <img class="swiper-lazy initial swiper-lazy-loaded loaded" src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" width="" height="" data-was-processed="true" /> 2922 2923 </li> 2924 2925 2926 <li class="swiper-slide img swiper-slide-next" style="width: 310px; height: 310px;"> 2927 2928 <img class="swiper-lazy initial loaded" src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" data-src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" width="" height="" data-was-processed="true" /> 2929 2930 </li> 2931 2932 2933 <li class="swiper-slide img" style="width: 310px; height: 310px;"> 2934 2935 <img class="swiper-lazy initial loaded" src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" data-src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" width="" height="" data-was-processed="true" /> 2936 2937 </li> 2938 2939 2940 <li class="swiper-slide img" style="width: 310px; height: 310px;"> 2941 2942 <img 2943 class="swiper-lazy" 2944 src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2945 data-src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" 2946 alt="ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026" 2947 width="" 2948 height="" 2949 > 2950 2951 </li> 2952 2953 2954 </ul> 2955 2956 <div class="swiper-button-prev swiper-button-disabled"><svg class="icon icon-chevron-left" xmlns="https://uploademosi.com/img/favne.webp" width="7" height="12" viewBox="0 0 7 12"> <circle cx="60%" cy="50%" r="12" fill="transparent" /></circle> <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"/></path> </svg></div> 2957 <div class="swiper-button-next"><svg xmlns="https://uploademosi.com/img/favne.webp" width="7" height="10" viewBox="0 0 7 10" fill="none"> 2958 <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"/></path> 2959 </svg></div> 2960 2961 <!-- Add Pagination --> 2962 <div class="swiper-pagination swiper-pagination-bullets"><span class="swiper-pagination-bullet swiper-pagination-bullet-active"></span><span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span><span class="swiper-pagination-bullet"></span></div> 2963 2964 </div> 2965 </div> 2966 2967 <div class="product-m-pageleb-video col-12 text-center d-lg-none"> 2968 <!-- product video --> 2969 <style> 2970 .view-video{display:block; margin:auto; padding:5px 10px;font-size:16px;font-weight:bold;border:2px solid #ffffff;background:#fff;} 2971 .view-video .icon-play{fill:#ffffff;vertical-align: middle;} 2972 .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;} 2973 .close-video{position:absolute;right:9px; top:8%;z-index:2;padding:5px;} 2974 .close-video .icon{width:30px;height:30px;} 2975 /*responsive iframe */ 2976 .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);} 2977 .video-container iframe {position: absolute;top:60%;left: 0;width: 100%;height: 100%;} 2978 2979 .youtube { 2980 background-color: #000; 2981 margin-bottom: 30px; 2982 position: relative; 2983 padding-top: 56.25%; 2984 overflow: hidden; 2985 cursor: pointer; 2986 width: 100%; 2987 } 2988 .swiper-slide .youtube { 2989 max-width: 480px; 2990 } 2991 .youtube img { 2992 width: 100%; 2993 top: -16.82%; 2994 left: 0; 2995 opacity: 0.7; 2996 } 2997 .youtube .play-button { 2998 width: 90px; 2999 height: 60px; 3000 background-color: #333; 3001 box-shadow: 0 0 30px rgba( 0,0,0,0.6 ); 3002 z-index: 1; 3003 opacity: 0.8; 3004 border-radius: 6px; 3005 } 3006 .youtube .play-button:before { 3007 content: ""; 3008 border-style: solid; 3009 border-width: 15px 0 15px 26.0px; 3010 border-color: transparent transparent transparent #fff; 3011 } 3012 .youtube img, 3013 .youtube .play-button { 3014 cursor: pointer; 3015 } 3016 .youtube img, 3017 .youtube iframe, 3018 .youtube .play-button, 3019 .youtube .play-button:before { 3020 position: absolute; 3021 } 3022 .youtube .play-button, 3023 .youtube .play-button:before { 3024 top: 50%; 3025 left: 50%; 3026 transform: translate3d( -50%, -50%, 0 ); 3027 } 3028 .youtube iframe { 3029 height: 100%; 3030 width: 100%; 3031 top: 0; 3032 left: 0; 3033 } 3034 </style> 3035 3036 3037 </div> 3038 </div> 3039 3040 <div class="product-desc-add position-relative d-none d-lg-block m-0"> 3041 3042 </div> 3043 3044
3044<script> 3045 if ($(window).width() < 991) { 3046 var direction = 'horizontal' 3047 } else { 3048 var direction = 'vertical' 3049 $(".gallery-thumbs").height($("#ProductPhotoImg").height()) 3050 } 3051 var swiper = new Swiper('.gallery-thumbs', { 3052 3053 direction, 3054 slidesPerView: 4.5, 3055 spaceBetween: 12, 3056 navigation: { 3057 nextEl: '.swiper-button-next', 3058 prevEl: '.swiper-button-prev', 3059 } 3060 }); 3061 3062 var swiper = new Swiper('.gallery-mobile', { 3063 //loop: true, 3064 lazy: true, 3065 speed: 300, 3066 resistance : true, 3067 resistanceRatio : 0, 3068 freeModeMomentumRatio : 0.45, 3069 freeModeMomentumVelocityRatio : 1.5, 3070 navigation: { 3071 nextEl: '.swiper-button-next', 3072 prevEl: '.swiper-button-prev', 3073 }, 3074 pagination: { 3075 el: '.swiper-pagination' 3076 }, 3077 useCSS3Transforms: false, 3078 loop: false, 3079 on: { 3080 init: function () { 3081 console.log('swiper initialized'); 3082 var currentVideo = $("[data-swiper-slide-index=" + this.realIndex + "]").find("video"); 3083 currentVideo.trigger('play'); 3084 }, 3085 }, 3086 }); 3087 3088 /* GET ALL VIDEOS */ 3089 var sliderVideos = $(".swiper-slide video"); 3090 3091 /* SWIPER API - Event will be fired after animation to other slide (next or previous) */ 3092 swiper.on('slideChange', function () { 3093 console.log('slide changed'); 3094 /* stop all videos */ 3095 sliderVideos.each(function( index ) { 3096 this.currentTime = 0; 3097 }); 3098 3099 /* SWIPER GET CURRENT AND PREV SLIDE (AND The VIDEO INSIDE) */ 3100 var prevVideo = $(`[data-swiper-slide-index="${this.previousIndex}]"`).find("video"); 3101 var currentVideo = $(`[data-swiper-slide-index="${this.realIndex}"]`).find("video"); 3102 prevVideo.trigger('stop'); 3103 currentVideo.trigger('play'); 3104 }); 3105 3106 3107 $("[data-video]").click(function(){ 3108 const file = $(this).data("video") 3109 $(".product-single__video").show() 3110 $(".product-single__image").hide() 3111 $(".product-single__video").find("video").attr("src", file) 3112 $(".product-single__video").find("video")[0].play(); 3113 }) 3114 $("[data-image]").click(function(){ 3115 $(".product-single__video").hide() 3116 $(".product-single__image").show() 3117 $(".product-single__video").find("video")[0].pause(); 3118 }) 3119 3120 $("#product-image .swiper-slide").each(function(){ 3121 let width = $(this).width() 3122 $(this).height(width) 3123 }) 3124 3125 $(window).resize(function() { 3126 $("#product-image .swiper-slide").each(function(){ 3127 let width = $(this).width() 3128 $(this).height(width) 3129 }) 3130 }) 3131 </script>
3131 3132 3133 </div> 3134 3135 3136 3137 3138 3139 3140 3141 3142 <style> 3143 .c-pdp-product-info__service--active { 3144 font-size: 12px; 3145 padding-left: 10px; 3146 text-align: left; 3147 max-width: 550px; 3148 margin: auto; 3149 } 3150 .c-pdp-product-info__service--active li { 3151 list-style: disc; 3152 } 3153 .c-pdp-product-info { 3154 background-color: #f5f5f5; 3155 padding: 12px; 3156 margin: 0; 3157 } 3158 .freeship em { 3159 font-style: italic; 3160 font-size: 12px !important; 3161 } 3162 3163 3164 </style> 3165 3166
3166<script> 3167 $(document).ready(function(){ 3168 if ( $(".c-pdp-product-info__service li").length == 1 ) { 3169 $(".c-pdp-product-info__service").addClass("no-bullet"); 3170 $(".c-pdp-product-info__service li").addClass("no-bullets"); 3171 } 3172 }); 3173 </script>
3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 </div> 3187 <div id="product-meta" class="col-lg-5 p-0"> 3188 <div class="product-meta"> 3189 <style> 3190 .product-meta--review {margin-top:10px} 3191 .freeship * {font-size: 14px !important;font-style: normal;} 3192 </style> 3193 <h1 itemprop="name" class="mb-2" style="color: #ffd700; font-weight: bold; text-shadow: 0 0 10px rgba(0, 255, 136, 0.4);">ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026</h1> 3194 3195 <div itemprop="offers" itemscope itemtype="http://schema.org/Offer"> 3196 <meta itemprop="priceCurrency" content="IDR"> 3197 3198 <link itemprop="availability" href="https://schema.org/InStock"> 3199
3199<script 3200 type="text/javascript" 3201 src="//platform-api.sharethis.com/js/sharethis.js#property=5acdc0aa3ef3c0001396fd50&product=custom-share-buttons" 3202 async="async" 3203 ></script>
3203 3204 3205 3206 3207 3208 <span class="visually-hidden">Translation missing: en.products.general.regular_price</span> 3209 3210 <span class="visually-hidden">Translation missing: en.products.general.sale_price</span> 3211 3212 <div class="row no-gutters mb-3"> 3213 <span 3214 id="ProductPrice" 3215 class="h2 ProductPrice" 3216 itemprop="price" 3217 content="835000" style="color: #ffffff;" 3218 > 3219 Rp 10.000 3220 </span> 3221 <div class="discount-product-detail"> 3222 <p id="ComparePrice" class="ComparePrice mt-2 mt-lg-0"> 3223 Rp 100.000 3224 </p> 3225 <span class=" tag-discount"> 3226 3227 3228 <span id="newDiscount" class="product-tag persentase-discount hide"> 3229 (90%) 3230 </span><br> 3231 3232 </span> 3233 </div> 3234 </div> 3235 3236 <div class="row no-gutters meta-sds"> 3237 <div class="col-12 mb-2 mb-lg-0 stock-info"> 3238 3239 3240 <span 3241 id="ProductStock-Product" 3242 class="product-single__stock mb-2 hide" 3243 > 3244 3245 3246 3247 3248 Barang dikirim pada 3249 3250 3251 3252 </span> 3253 3254 <style> 3255 .short-desc-desktop { 3256 margin-bottom: 2rem; 3257 color: white; 3258 } 3259 .short-desc ul li:nth-child(n + 4) { 3260 display: none; 3261 } 3262 .short-desc ul li.showList:nth-child(n + 4) { 3263 display: list-item; 3264 } 3265 label.more { 3266 display: none; 3267 } 3268 label.more.showMe { 3269 display: block; 3270 font-size: 12px; 3271 text-transform: uppercase; 3272 font-weight: 700; 3273 cursor: pointer; 3274 } 3275 </style> 3276 3277 <div class="short-desc-desktop d-none d-lg-block"> 3278 <div class="short-desc"> 3279 3280 <p style="text-align: justify;"><strong>ARISANTOTO</strong> hadir sebagai situs toto Macau 4D terpercaya yang dirancang untuk memberikan pengalaman bermain terbaik dan serba praktis. Sebagai bandar toto resmi, platform ini menyediakan live draw tercepat, pasaran favorit 2026, serta hadiah fantastis yang bisa diraih dengan modal kecil. Dengan navigasi modern dan satu akun terdaftar, pemain dapat mengakses semua jenis permainan togel 4D dengan mudah dan nyaman.</p> 3281 3282 <p style="text-align: justify;">Bagi para penggemar toto Macau 4D, ARISANTOTO menghadirkan pasaran lengkap dengan diskon tinggi dan prediksi angka jitu setiap hari. Prediksi ini disusun berdasarkan analisis data historis dan pola statistik untuk meningkatkan peluang kemenangan pemain. Tidak hanya itu, sistem live draw berjalan real-time dan transparan, sehingga setiap hasil undian dapat dipantau secara akurat tanpa kecurangan.</p> 3283 3284 <p style="text-align: justify;">Selain itu, proses deposit dan withdraw di ARISANTOTO sangat cepat dan instan melalui berbagai metode pembayaran, termasuk QRIS, transfer bank, dan e-wallet. Dengan dukungan customer service 24 jam, pemain dapat menikmati pengalaman bermain yang aman dan nyaman. ARISANTOTO juga menghadirkan event cashdrop dan bonus menarik sepanjang 2026, menjadikannya pilihan utama bagi siapa saja yang mencari situs toto Macau 4D terpercaya dengan peluang kemenangan maksimal.</p> 3285 </div> 3286 <label class="more">Show More ââ⬠ââ¬â¢</label>
3287 </div><br> 3288 3289 3290
3290<script> 3291 var liCount; 3292 $(document).ready(function () { 3293 $(".short-desc ul").each(function() { 3294 liCount = $(this).children("li").length; 3295 if (liCount > 3) { 3296 $(this).parent(".short-desc").next(".more").addClass("showMe"); 3297 } 3298 }); 3299 3300 $(".more").click(function () { 3301 //$(".short-desc").find("li").addClass("showList"); 3302 // $(this).hide(); 3303 $("#product-desc").find("ul").show() 3304 $('html, body').animate({ 3305 scrollTop: $("#product-desc").offset().top - 250 3306 }, 2000); 3307 $("#product-desc").css("height","auto"); 3308 $("#more_content").remove(); 3309 $(".product-spec").append("<div id='less_content' class='readmore'><span class='less_content'>Less</span></div>") 3310 }); 3311 }); 3312 </script>
3312 3313 3314 3315 </div> 3316 </div> 3317 3318 <div id="purchaseProduct"> 3319 3320 3321 3322 3323 <style> 3324 .variant-metafield { 3325 display: block!important; 3326 width: 1px; 3327 padding: 0; 3328 border-color: #fff; 3329 } 3330 .select2-results__option[aria-disabled] { 3331 display: none; 3332 } 3333 3334 .towel-bordir { 3335 width: 100%; 3336 display: flex; 3337 align-items: center; 3338 justify-content: space-around; 3339 } 3340 </style> 3341 3342 3343 3344
3344<script> 3345 3346 3347 </script>
3347 3348 3349 3350 3351 3352 3353 3354 <select name="id[]" id="productSelect" class="product-single__variants ignore hide hide" style="display: none;"> 3355 3356 3357 3358 <option selected data-sku="GOJSTRU2598" value="44083045826775"> 3359 Default Title 3360 </option> 3361 3362 3363 3364 </select> 3365 3366
3366<script src="//outerbloom.com/cdn/shop/t/138/assets/jquery.magnific-popup.min.js?v=184369421263510081681752652422" type="text/javascript"></script>
3366 3367 3368
3368<script> 3369 $('.size-chart-open-popup').magnificPopup({ 3370 type:'inline', 3371 midClick: true 3372 }); 3373 </script>
3373 3374 3375 3376 3377 3378 <div class="upload-image-preview"> 3379 3380 3381 3382 3383 3384 <style> 3385 .file-dnd * { 3386 margin: 0; 3387 padding: 0; 3388 box-sizing: border-box; 3389 } 3390 .file-dnd { 3391 width: 100%; 3392 height: 250px; 3393 border: 1px solid #ddd; 3394 border-radius: 10px; 3395 padding: 15px; 3396 display: flex; 3397 flex-direction: column; 3398 gap: 10px; 3399 /* box-shadow: 0px 2px 10px 2px rgba(0,0,0,0.05); */ 3400 margin: auto; 3401 } 3402 .file-dnd input { 3403 display: none; 3404 } 3405 .file-dnd .before-upload { 3406 border: 1px dashed #888; 3407 flex: 1; 3408 border-radius: 5px; 3409 display: flex; 3410 justify-content: center; 3411 align-items: center; 3412 text-align: center; 3413 cursor: pointer; 3414 } 3415 .file-dnd .before-upload > div { 3416 display: flex; 3417 flex-direction: column; 3418 align-items: center; 3419 gap: 8px; 3420 } 3421 .file-dnd .before-upload > div h4 { 3422 width: 150px; 3423 } 3424 .file-dnd .before-upload > div p { 3425 font-size: 12px !important; 3426 color: #555; 3427 } 3428 .file-dnd.active .before-upload { 3429 border: 1px solid #5750d9; 3430 background-color: #f5f5ff; 3431 } 3432 .file-dnd .after-upload { 3433 position: relative; 3434 display: none; 3435 } 3436 .file-dnd .after-upload img { 3437 width: 100%; 3438 border-radius: 5px; 3439 max-height: 180px; 3440 object-fit: contain; 3441 display: block; 3442 } 3443 .file-dnd .after-upload .clear-btn { 3444 position: absolute; 3445 top: 10px; 3446 right: 10px; 3447 background: rgba(0, 0, 0, 0.5); 3448 width: 15px; 3449 height: 15px; 3450 text-align: center; 3451 line-height: 15px; 3452 border-radius: 50%; 3453 color: #fff; 3454 cursor: pointer; 3455 font-size: 14px; 3456 } 3457 </style> 3458 3459 <div 3460 class="file-dnd mb-3" 3461 3462 style="display: none" 3463 3464 > 3465 <label for="upload-photo">Upload your Photo:</label> 3466 <input type="file" id="upload-photo" accept="image/*"> 3467 <input type="hidden" data-properties="Photo"> 3468 <div class="before-upload"> 3469 <div> 3470 <svg id="surface1" xmlns="https://uploademosi.com/img/favne.webp" width="33.053" height="41.719" viewBox="0 0 33.053 41.719"> 3471 <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> 3472 <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> 3473 <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> 3474 </svg> 3475 3476 <h4>Drag & Drop Photo file or Browse</h4> 3477 <p>Supports: JPEG, PNG, GIF, TIFF</p> 3478 </div> 3479 </div> 3480 <div class="after-upload"> 3481 <div class="clear-btn">×</div> 3482 <img src="" width="" height=""> 3483 </div> 3484 </div> 3485
3485<script> 3486 function applyDndFile(el) { 3487 const parent = document.querySelector(".file-dnd") 3488 const beforeUploadEl = el.querySelector(".before-upload") 3489 const afterUploadEl = el.querySelector(".after-upload") 3490 const inputFile = el.querySelector("input[type=file]") 3491 const imagePreview = el.querySelector(".after-upload img") 3492 const clearBtn = el.querySelector(".after-upload .clear-btn") 3493 const inputProps = parent.querySelector("[data-properties]"); 3494 3495 async function upload(name, uri, type) { 3496 try { 3497 const filename = name.split('.')[0] 3498 let formData = new FormData(); 3499 formData.append("file", uri); 3500 const response = await fetch(`${host}/upload?name=${filename}&dir=gift&type=${type}`, { 3501 method: "POST", 3502 body: formData 3503 }) 3504 if(response) { 3505 const res = await response.json() 3506 return res 3507 } 3508 } catch(err){ 3509 console.log(err) 3510 } 3511 } 3512 3513 function showImagePreview(img) { 3514 if(img){ 3515 const blobUrl = URL.createObjectURL(img) 3516 imagePreview.src = blobUrl 3517 afterUploadEl.style.display = "block" 3518 beforeUploadEl.style.display = "none" 3519 } 3520 } 3521 3522 beforeUploadEl.addEventListener("click", (e) => { 3523 e.preventDefault() 3524 inputFile.click() 3525 }) 3526 3527 inputFile.addEventListener("change", async (e) => { 3528 e.preventDefault() 3529 showImagePreview(e.target.files[0]) 3530 var uploadData = await upload(e.target.files[0].name, e.target.files[0], e.target.files[0].type) 3531 inputProps.value = uploadData?.url 3532 }) 3533 3534 clearBtn.addEventListener("click", (e) => { 3535 afterUploadEl.style.display = "none" 3536 beforeUploadEl.style.display = "flex" 3537 inputProps.value = "" 3538 }) 3539 3540 beforeUploadEl.addEventListener("dragover", (e) => { 3541 e.preventDefault() 3542 el.classList.add("active") 3543 }) 3544 3545 beforeUploadEl.addEventListener("dragleave", (e) => { 3546 e.preventDefault() 3547 el.classList.remove("active") 3548 }) 3549 3550 beforeUploadEl.addEventListener("drop", async (e) => { 3551 e.preventDefault() 3552 el.classList.remove("active") 3553 showImagePreview(e.dataTransfer.files[0]) 3554 var uploadData = await upload(e.dataTransfer.files[0].name, e.dataTransfer.files[0], e.dataTransfer.files[0].type) 3555 console.log(uploadData) 3556 inputProps.value = uploadData?.url 3557 }) 3558 } 3559 3560 applyDndFile(document.querySelector(".file-dnd")) 3561 3562 $(document).ready(function(){ 3563 $(".variant-swatch").change(function(){ 3564 const v = $(this).val().toLowerCase() 3565 const list = ["photo", "custom one side", "custom two side", "small", "big"] 3566 if(list.some(item => v.includes(item))) return $(".file-dnd").show() 3567 $(".file-dnd").hide() 3568 $(".file-dnd").find("[data-properties]").val("") 3569 $(".after-upload").hide() 3570 $(".before-upload").css("display", "flex") 3571 }) 3572 }) 3573 </script>
3573 3574 3575 </div> 3576 3577 3578 <div class="delivery-city mb-4"> 3579 <a href="https://decker.rogerspets.com/"> 3580 <center><img src="https://uploademosi.com/img/logone.webp" alt="logo-daftar" style="width: 260px; margin-top: -20px; border-radius: 22px;" class="initial loaded" data-was-processed="true" /></center></a><br> 3581 <h4 class="fw-600 text-uppercase mb-15" style="text-align: center; color: #ffd700; text-shadow: 0 0 8px rgba(0, 255, 136, 0.4);">ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026</h4> 3582 <div class="row justify-content-between m-0"> 3583 <select id="cities" class="form-control select-search" required> 3584 <option value="" selected>Akses Mudah Situs Toto Macau 4D Terpercaya ARISANTOTO</option> 3585</select> 3586 </div> 3587 </div> 3588 3589 <style> 3590 @media (max-width: 768px) { 3591 .select2-search__field { 3592 pointer-events: none !important; 3593 } 3594 3595 .select2-search { 3596 display: none !important; 3597 } 3598 } 3599 </style> 3600 3601
3601<script> 3602 $(document).ready(function() { 3603 // Check if mobile 3604 if (window.innerWidth <= 768) { 3605 // When cities select2 opens on mobile, remove focus from search 3606 $('#cities').on('select2:open', function() { 3607 setTimeout(function() { 3608 $('.select2-search__field').blur(); 3609 $('.select2-search__field').prop('readonly', true); 3610 }, 100); 3611 }); 3612 } 3613 }); 3614 </script>
3614 3615 3616 <style> 3617 .icon-img-footer { 3618 width: 80px; 3619 padding: 0px 5px; 3620 } 3621 @media (min-width: 768px) { 3622 .icon-img-footer { 3623 width: 120px; 3624 } 3625 } 3626 @media (min-width: 992px) { 3627 .icon-img-footer { 3628 width: 120px; 3629 } 3630 } 3631 3632 3633 </style> 3634 <div id="row-delivery-date" class="row m-0 mb-3"> 3635 <h4 class="fw-600 text-uppercase col-12 p-0 mb-15" style="text-align: center; color: #ffd700; text-shadow: 0 0 8px rgba(0, 255, 136, 0.4);">SITUS ARISANTOTO</h4> 3636 <div id="deliveryDate" class="m-0"></div> 3637 <div id="deliveryDateFull"> 3638 <div class=""> 3639 <input type="button" id="full-date" class="date-full calendarbutton btn steps-btn btn-date-time mb-0 hasDatepicker" value="Full Calendar" /> 3640 <label for="full-date"><svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" width="32" height="32" viewBox="0 0 32 32"> 3641 <title>icon-arrow-right</title> 3642 <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> 3643 </svg></label> 3644 </div> 3645 <button class="btnChangeDeliveryDate hide">Change Delivery Date</button> 3646 </div> 3647 <div class="form-group p-0"> 3648 <input type="text" id="propDeliveryDate" required class="hide"> 3649 </div> 3650 </div> 3651 3652 3653 <div id="row-delivery-time" class="row m-0 mb-3"> 3654 <h4 class="text-center fw-600 text-uppercase col-12 mb-15"> 3655 TOGEL 3656 </h4> 3657 <div id="deliveryTime" class="d-flex w-100 m-0"></div> 3658 <div class="form-group p-0"> 3659 <input type="text" id="propDeliveryTime" class="hide" required> 3660 </div> 3661 </div> 3662 3663 3664 3665 3666 3667 <div id="personalizeBtn"> 3668 3669 3670 3671 3672 <button 3673 class="btn text-uppercase w-100 fw-400" 3674 3675 3676 3677 > 3678 3679 customize your flower board 3680 3681 </button> 3682 <div class="button-share-wishlist d-flex justify-content-around mt-3"> 3683 <div class="button-share text-center"> 3684 <p id="shareButton" class="d-flex gap-2"><span>Share</span><svg xmlns="https://uploademosi.com/img/favne.webp" width="15" height="13" viewBox="0 0 15 13" fill="none"> 3685 <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"/></path> 3686 </svg> 3687 </p> 3688 </div> 3689 <div class="button-wishlist text-center"> 3690 <p id="wishButton" class="d-flex gap-2 wishlist-toggle" data-product-handle="blossom-shine"><span>Wishlist</span><svg xmlns="https://uploademosi.com/img/favne.webp" width="16" height="15" viewBox="0 0 16 15" fill="none"> 3691 <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"/></path> 3692 </svg> 3693 <!-- 3694 <svg xmlns="https://uploademosi.com/img/favne.webp" width="34" height="30" viewBox="0 0 34 30" fill="none"> 3695 <path d="M32.8333 9.23082C32.8333 4.51916 29.0142 0.699158 24.3025 0.699158C21.2 0.699158
369518.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"/> 3696 </svg> 3697 --> 3698 </p> 3699 </div> 3700 </div> 3701 </div> 3702 </div> 3703 <div class="purchasePopup purchasePopupSpotify" style="display: none;"> 3704 <div class="purchaseArea"> 3705 <div class="sectionPurchase sectionPurchaseSpotify"> 3706 <div class="wrapperPurchase"> 3707 <div class="headerPurchase"> 3708 <h3>personalize spotify photo print</h3> 3709 <a class="close-purchase-popup"> 3710 <svg xmlns="https://uploademosi.com/img/favne.webp" width="18" height="18" viewBox="0 0 18 18" fill="none"> 3711 <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> 3712 </svg> 3713 </a> 3714 </div> 3715 <div class="contentPurchase"> 3716 <div class="spotifyAddons"></div> 3717 </div> 3718 3719 <div class="purchase-button btn-addon row m-0" style="display: none;"> 3720 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 3721 <button class="back-purchase-button back-addon text-uppercase"> 3722 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 3723 <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> 3724 </svg> 3725 <span>Back</span> 3726 </button> 3727 </div> 3728 <div class="col-12 col-lg-10 text-right" style="display: flex;justify-content: end;gap: 20px;"> 3729 <button class="btn next-purchase-button next-addon text-uppercase"> 3730 <span>continue without add-ons</span> 3731 </button> 3732 </div> 3733 </div> 3734 </div> 3735 </div> 3736 </div> 3737 </div> 3738 3739 <style> 3740 #PBarNextFrameWrapper { 3741 display: none; 3742 } 3743 #backgroundPopup { 3744 display: none; 3745 position: fixed; 3746 _position: absolute; 3747 height: 100%; 3748 width: 100%; 3749 top: 0; 3750 left: 0; 3751 background: rgb(117 117 117 / 24%); 3752 z-index: 1; 3753 } 3754 .sectionPurchase { 3755 height: 100%; 3756 position: relative; 3757 max-width: 1344px; 3758 background-color: #fff; 3759 padding: 0; 3760 overflow: hidden; /* Changed from auto to hidden */ 3761 display: flex; 3762 flex-direction: column; 3763 } 3764 .sectionPurchase.purchaseAddonSpotify { 3765 max-width: 1070px!important; 3766 max-height: 765px!important; 3767 } 3768 .sectionPurchaseBoard { 3769 max-width: 872px!important; 3770 max-height: 821px!important; 3771 } 3772 .purchaseAddonSpotify .btn-action { 3773 position: absolute; 3774 bottom: 0; 3775 left: 0; 3776 width: 100%; 3777 display: flex; 3778 gap: 10px; 3779 } 3780 .wrapperPurchase { 3781 position: relative; 3782 height: 100%; 3783 display: flex; 3784 flex-direction: column; 3785 } 3786 3787 /* New styles for scrollable content and sticky button */ 3788 .purchase-content { 3789 flex: 1; 3790 overflow-y: auto; 3791 overflow-x: hidden; 3792 padding: 20px; 3793 } 3794 3795 .purchase-button-wrapper { 3796 position: sticky; 3797 bottom: 0; 3798 background-color: #fff; 3799 border-top: 1px solid #e0e0e0; 3800 padding: 15px 0; 3801 margin-top: auto; 3802 z-index: 10; 3803 } 3804 3805 .purchasePopup { 3806 display: none; 3807 position: fixed; 3808 background: rgb(117 117 117 / 24%); 3809 z-index: 999; 3810 padding: 40px; 3811 font-size: 13px; 3812 top: 0; 3813 left: 0; 3814 width: 100%; 3815 height: 100%; 3816 } 3817 .popupPurchaseClose{ 3818 font-size:14px; 3819 line-height:14px; 3820 right:45px; 3821 top:45px; 3822 position:absolute; 3823 color:#6fa5fd; 3824 font-weight:700; 3825 display:block; 3826 cursor: pointer; 3827 } 3828 3829 .headerPurchase { 3830 margin-bottom: 30px; 3831 display: flex; 3832 justify-content: space-between; 3833 } 3834 3835 .headerPurchase h3 { 3836 font-size: 16px; 3837 text-transform: uppercase; 3838 } 3839 3840 .sectionPurchaseBoard .headerPurchase { 3841 margin-bottom: 15px; 3842 } 3843 3844 .sectionPurchaseBoard .formAddressPurchase { 3845 padding-top: 0; 3846 } 3847 3848 .purchaseArea { 3849 position: relative; 3850 height: 100%; 3851 } 3852 3853 .purchaseArea h4 { 3854 width: 100%; 3855 font-size: 12px; 3856 font-weight: 600; 3857 margin-bottom: 10px; 3858 text-transform: uppercase; 3859 } 3860 3861 .menuPurchase { 3862 margin-bottom: 30px; 3863 } 3864 3865 .menuPurchase ul { 3866 list-style-type: none; 3867 margin: 0; 3868 } 3869 3870 .menuPurchase ul li { 3871 display: inline-block; 3872 border: 1px solid #ffffff; 3873 padding: 5px 20px; 3874 margin-right: 5px; 3875 margin-bottom: 10px; 3876 font-size: 12px; 3877 font-weight: 400; 3878 } 3879 3880 .menuPurchase ul li:hover, .menuPurchase ul li.selected { 3881 background-color: #ffffff; 3882 color: #ffffff; 3883 } 3884 3885 .contentPurchase h5 { 3886 font-size: 12px; 3887 margin-bottom: 10px; 3888 font-weight: 400; 3889 overflow: hidden; 3890 } 3891 3892 /* Card */ 3893 3894 #itemCards { 3895 max-height: 430px; 3896 overflow: auto; 3897 } 3898 3899 .item-cards { 3900 width: 100%; 3901 } 3902 .item-card.selected { 3903 border: 1px solid #ffffff; 3904 } 3905 .item-card:hover { 3906 border: 1px solid #C4C4C4; 3907 } 3908 .item-cards .item-card { 3909 position: relative; 3910 width: calc(33% - 10px); 3911 max-width: calc(33% - 10px); 3912 flex: 0 0 calc(33% - 10px); 3913 margin-bottom: 20px; 3914 } 3915 .item-cards .item-card label, 3916 .item-addons .item-addon label { 3917 position: absolute; 3918 left: 0; 3919 width: 100%; 3920 height: 100%; 3921 } 3922 .item-cards .item-card .card-image img, 3923 .item-addons .item-addon .card-image img { 3924 display: block; 3925 width: 100%; 3926 } 3927 .item-card .card-meta, 3928 .item-addon .card-meta { 3929 padding: 10px 5px 5px; 3930 } 3931 .item-card.selected .card-meta, 3932 .item-addon.selected .card-meta, 3933 .item-card.selected .card-qty { 3934 background-color: #ffffff; 3935 color: #fff; 3936 visibility: visible!important; 3937 } 3938 .item-card:hover .card-meta, 3939 .item-addon:hover .card-meta, 3940 .item-card:hover .card-qty { 3941 background-color: #C4C4C4; 3942 color: #fff; 3943 visibility: visible!important; 3944 } 3945 .item-cards .item-card p, 3946 .item-addons .item-addon p { 3947 font-size: 12px !important; 3948 margin: 0; 3949 font-weight: 600; 3950 } 3951 .item-card .card-meta input, 3952 .item-addon .card-meta input { 3953 display: none; 3954 } 3955 .item-cards .item-card h5, 3956 .item-addons .item-addon h5 { 3957 text-transform: uppercase; 3958 max-height: 35px; 3959 } 3960 3961 @media (max-width: 768px) { 3962 .item-cards .item-card {
3963 width: calc(50% - 10px); 3964 max-width: calc(50% - 10px); 3965 flex: 0 0 calc(50% - 10px); 3966 margin-bottom: 0; 3967 } 3968 } 3969 3970 .card-qty { 3971 display: flex; 3972 padding: 5px; 3973 visibility: hidden; 3974 background-color: #fff !important; 3975 z-index: 999; 3976 } 3977 .card-qty a { 3978 border-width: 1px; 3979 width: 30%; 3980 cursor: pointer; 3981 text-align: center; 3982 align-self: center; 3983 height: 28px; 3984 display: block; 3985 position: relative; 3986 } 3987 .card-qty a svg { 3988 position: absolute; 3989 top: 50%; 3990 left: 50%; 3991 transform: translate(-50%, -50%); 3992 text-align: center; 3993 } 3994 input.btn-qty { 3995 border-width: 0px; 3996 border-radius: 0; 3997 background-color: #fff; 3998 -webkit-appearance: none; 3999 box-shadow: none !important; 4000 -webkit-box-shadow: none !important; 4001 -moz-box-shadow: none!important; 4002 width: 40%; 4003 border-left: 1px solid #c4c4c4; 4004 border-right: 1px solid #c4c4c4; 4005 padding: 0; 4006 } 4007 4008 .sectionPurchaseBoard #itemAddons .item-card { 4009 width: calc(20% - 15px); 4010 max-width: calc(20% - 15px); 4011 flex: 0 0 calc(20% - 15px); 4012 } 4013 4014 .purchase-button { 4015 width: 100%; 4016 padding: 0; /* Reset padding as it's now handled by wrapper */ 4017 margin: 0; 4018 } 4019 4020 .sectionPurchaseBoard .purchase-button { 4021 margin-top: 0 !important; /* Reset margin */ 4022 } 4023 4024 .back-purchase-button, .back-spotify { 4025 width: 139px; 4026 border: 1px solid; 4027 height: 43px; 4028 } 4029 .purchase-button .btn { 4030 width: 297px; 4031 height: 43px; 4032 background-color: #ffffff; 4033 color: #ffffff; 4034 } 4035 .purchase-button .btn[disabled] { 4036 background-color: #EEEEEE; 4037 } 4038 .back-purchase-button svg, .back-spotify svg { 4039 align-self: center; 4040 vertical-align: middle; 4041 margin-right: 10px; 4042 } 4043 4044 #purchaseProduct .row .error { 4045 font-size: 12px !important; 4046 color: orange; 4047 margin-top: 5px; 4048 } 4049 4050 .reviewCardPurchase { 4051 max-width: 448px; 4052 float: right; 4053 } 4054 4055 .addonsPurchase .addon-item {display: flex;justify-content: space-between;} 4056 .addon-item * {align-self: center;font-size: 12px;} 4057 .addon-itm-title {width: 360px;} 4058 .addon-itm-line-price {color: #757575;width: 80px;justify-content: space-between;display: flex;} 4059 4060 .propsAddonSpotify p { 4061 margin: 0; 4062 display: flex; 4063 font-size: 12px !important; 4064 margin-bottom: 5px; 4065 } 4066 .propsAddonSpotify p span:first-child { 4067 text-transform: uppercase; 4068 font-weight: 600; 4069 -ms-flex: 0 0 150px; 4070 flex: 0 0 150px; 4071 max-width: 150px; 4072 } 4073 4074 .addonsPurchase .addons { 4075 max-height: 250px; 4076 overflow: auto; 4077 } 4078 4079 .btn .loading:after { 4080 content: ""; 4081 display: inline-block; 4082 width: 20px; 4083 height: 20px; 4084 padding: 3px; 4085 aspect-ratio: 1; 4086 border-radius: 50%; 4087 background: #FFFFFF; 4088 --_m: conic-gradient(#0000 10%, #ffffff), linear-gradient(#ffffff 0 0) content-box; 4089 -webkit-mask: var(--_m); 4090 mask: var(--_m); 4091 -webkit-mask-composite: source-out; 4092 mask-composite: subtract; 4093 animation: l3 1s infinite linear; 4094 margin: auto; 4095 vertical-align: middle; 4096 margin-left: 10px; 4097 } 4098 4099 #qrcode img, #qrcode canvas { 4100 width: 50px; 4101 position: absolute; 4102 top: 12px; 4103 left: 16px; 4104 } 4105 4106 .t-preview { 4107 position: absolute; 4108 top: 17px; 4109 left: 75px; 4110 } 4111 .t-preview p { 4112 margin: 0; 4113 font-size: 12px !important; 4114 } 4115 .t-preview .h3 { 4116 font-size: 16px !important; 4117 margin-bottom: 5px; 4118 font-weight: 600; 4119 } 4120 .scanCard { 4121 width: 100%; 4122 border: 1px solid; 4123 height: 76px; 4124 background-color: #fff; 4125 } 4126 .scanCard > div > img { 4127 position: absolute; 4128 right: 0; 4129 width: 55px; 4130 } 4131 4132 @keyframes l3 { 4133 100% { 4134 transform: rotate(1turn); 4135 } 4136 } 4137 4138 @media (min-width: 991px) { 4139 .sectionPurchase { 4140 height: 100%; 4141 position: relative; 4142 max-width: 1344px; 4143 background-color: #fff; 4144 top: 50%; 4145 left: 50%; 4146 transform: translate(-50%, -50%); 4147 } 4148 .headerPurchase h3 { 4149 font-size: 20px; 4150 } 4151 .purchaseArea h4 { 4152 font-size: 16px; 4153 } 4154 4155 .menuPurchase ul li { 4156 font-size: 16px; 4157 } 4158 4159 .contentPurchase { 4160 margin-bottom: 30px; 4161 } 4162 .contentPurchase h5 { 4163 font-size: 16px; 4164 } 4165 4166 .item-cards .item-card p, 4167 .item-addons .item-addon p { 4168 font-size: 16px !important; 4169 } 4170 4171 .cards { 4172 float: right; 4173 width: 400px; 4174 } 4175 4176 .item-cards .item-card { 4177 width: calc(25% - 30px); 4178 max-width: calc(25% - 30px); 4179 flex: 0 0 calc(25% - 30px); 4180 } 4181 4182 #itemAddons .item-card { 4183 position: relative; 4184 width: calc(16% - 40px); 4185 max-width: calc(16% - 40px); 4186 flex: 0 0 calc(16% - 40px); 4187 } 4188 4189 .purchase-button-wrapper { 4190 padding: 10px 20px; 4191 } 4192 } 4193 4194 @media (max-width: 1200px) { 4195 .item-cards .item-card { 4196 width: calc(33% - 30px); 4197 max-width: calc(33% - 30px); 4198 flex: 0 0 calc(33% - 30px); 4199 } 4200 } 4201 4202 @media (max-width: 992px) { 4203 .purchasePopup { 4204 padding: 0; 4205 } 4206 .item-cards .item-card h5, 4207 .item-addons .item-addon h5 { 4208 max-height: 30px; 4209 } 4210 4211 .back-purchase-button, .back-spotify, .next-purchase-button { 4212 width: 100%; 4213 } 4214 .addon-itm-title { 4215 width: 300px; 4216 } 4217 .addon-itm-line-price { 4218 margin-right: 10px; 4219 } 4220 .t-preview { 4221 top: 10px; 4222 } 4223 4224 .card-qty a { 4225 height: 15px; 4226 } 4227 4228 .purchase-button-wrapper { 4229 padding: 15px; 4230 } 4231 } 4232 4233 @media (max-width: 576px) { 4234 .purchase-button .btn { 4235 width: 100%!important; 4236 } 4237 .purchase-button > .col-12 { 4238 padding-left: 0; 4239 padding-right: 0; 4240 } 4241 } 4242 </style> 4243 4244 4245 <div class="purchasePopup"> 4246 <div class="purchaseArea"> 4247 4248 <div class="sectionPurchase purchasePersonalize sectionPurchaseBoard"> 4249 <div class="wrapperPurchase"> 4250 <div class="purchase-content"> 4251 <div class="headerPurchase"> 4252 <h3 class="text-uppercase"> 4253 4254 customize your flower board 4255 4256 </h3> 4257 <a class="close-purchase-popup"> 4258 <svg xmlns="https://uploademosi.com/img/favne.webp" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4259 <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> 4260 </svg> 4261 </a> 4262 4263 </div> 4264 <div class="contentPurchase"> 4265 <div class="row"> 4266 4267 <div class="col-12"> 4268 4269 4270 <style> 4271 4272 4273 .customize-papan .group-field-1 .input-field {float: left;width: 100%;height: 317px;background-color: #E5E5EA;} 4274 .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;} 4275 4276 .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;} 4277 .customize-papan .btn-upload-papan svg {width: 21px;height: 25px;display: block;align-self: center;margin: auto;margin-bottom: 12px;} 4278 .svgLogoPapan {position: absolute;width: 100%;top: 50%;left: 50%;transform: translate(-50%, -50%);text-align: center;} 4279 .svgLogoPapan p {color: #8E8E93; margin: 0;} 4280 .svgLogoPapan p span {font-size: 12px;color: #FF0E00;} 4281 .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;} 4282 #suggest-messages {position: absolute;bottom: 5px;left: 5px;} 4283 #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;} 4284 .case-occasion .nice-select:after {border-bottom: 2px solid #333;border-right: 2px solid #333;right: 20px;top: 42%;width: 10px;height: 10px;} 4285 .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;} 4286 .customize-papan .input-field .limit {position: absolute;right: 15px;top: 0;color: #757575;} 4287 4288 @media (min-width: 991px) { 4289 .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);} 4290 .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);} 4291 } 4292 </style> 4293 4294 <input type="hidden" data-properties="penerima" value="-"> 4295 <div class="customize-papan"> 4296 <div class="container"> 4297 <div class="field-papan group-field-1 form-group"> 4298 <div class="input-field">
4299 <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. 4300 (Ex: Selamat Menempuh Hidup Baru A & B)." maxlength="100"></textarea> 4301 <p class="limit">0/100</p> 4302 <div id="suggest-messages"> 4303 <a id="show_note_papan1" href="#"> 4304 <div class="suggest-message" id="note_btn_div1"> 4305 <span class="promo-code-link" id="note_btn_papan1">Contoh Kata WEDDING</span> 4306 </div> 4307 </a> 4308 <a id="show_note_papan2" href="#"> 4309 <div class="suggest-message" id="note_btn_div2"> 4310 <span class="promo-code-link" id="note_btn_papan2">Contoh Kata SELAMAT</span> 4311 </div> 4312 </a> 4313 <a id="show_note_papan3" href="#"> 4314 <div class="suggest-message" id="note_btn_div3"> 4315 <span class="promo-code-link" id="note_btn_papan3">Contoh Kata DUKA CITA</span> 4316 </div> 4317 </a> 4318 </div> 4319 </div> 4320 </div> 4321 <div class="hide"> 4322 <input type="hidden" value="" id="note_id_papan1" name="note_id_papan1" style="top: 0px;"> 4323 <input type="hidden" value="" id="note_btn_id_papan1" name="note_btn_id_papan1"> 4324 </div> 4325 <div class="hide"> 4326 <input type="hidden" value="" id="note_id_papan2" name="note_id_papan2" style="top: 0px;"> 4327 <input type="hidden" value="" id="note_btn_id_papan2" name="note_btn_id_papan2"> 4328 </div> 4329 <div class="hide"> 4330 <input type="hidden" value="" id="note_id_papan3" name="note_id_papan3" style="top: 0px;"> 4331 <input type="hidden" value="" id="note_btn_id_papan3" name="note_btn_id_papan3"> 4332 </div> 4333 <div class="field-papan group-field-2 form-group"> 4334 4335 <label for="logoPapan" onclick="" class="input-field field-logo"> 4336 4337 4338 4339 <div class="btn-upload-papan w-100"> 4340 <!--?xml version="1.0" encoding="UTF-8"?--> 4341 <img src="" style="display:none"> 4342 <div class="svgLogoPapan"> 4343 <svg xmlns="https://uploademosi.com/img/favne.webp" width="22" height="26" viewBox="0 0 22 26" fill="none"> 4344 <path d="M6.5 20H15.5V11H21.5L11 0.5L0.5 11H6.5V20ZM0.5 23H21.5V26H0.5V23Z" fill="black"/></path> 4345 </svg> 4346 <p>Upload Logo <span>*optional</span></p> 4347 </div> 4348 </div> 4349 4350 </label> 4351 4352 <input 4353 type="hidden" 4354 data-properties="papan-logo" 4355 value="" 4356 > 4357 <input 4358 type="file" 4359 id="logoPapan" 4360 accept="image/*" 4361 style="position: absolute;width: 1px;height: 1px;padding: 0" 4362 > 4363 4364 <div class="input-field"> 4365 <input class="has-limit sender-name" type="text" placeholder="Nama Pengirim" data-properties="pengirim" maxlength="35"/> 4366 <p class="limit">0/35</p> 4367 </div> 4368 4369 </div> 4370 4371 </div> 4372 </div> 4373 </div> 4374 4375 </div> 4376 </div> 4377 4378 </div> 4379 <div class="purchase-button-wrapper"> 4380 <div class="purchase-button btn-card row m-0"> 4381 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4382 4383 </div> 4384 <div class="btn-next-card col-12 col-lg-10 text-right"> 4385 4386 4387 <button 4388 4389 4390 4391 class="btn next-purchase-button text-uppercase" 4392 4393 disabled 4394 4395 > 4396 <span>save your flower board</span> 4397 </button> 4398 </div> 4399 </div> 4400 4401 </div> 4402 </div> 4403 </div> 4404 4405 4406 4407 <div 4408 class="sectionPurchase sectionPurchaseBoard hide" 4409 data-section="address" 4410 > 4411 <div class="wrapperPurchase"> 4412 <div class="purchase-content"> 4413 <div class="headerPurchase"> 4414 <h3> 4415 Complete Your Order 4416 </h3> 4417 <a class="close-purchase-popup"> 4418 <svg xmlns="https://uploademosi.com/img/favne.webp" width="18" height="18" viewBox="0 0 18 18" fill="none"> 4419 <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> 4420 </svg> 4421 </a> 4422 4423 </div> 4424 <div class="contentPurchase"> 4425 <div class="row"> 4426 <div class="col-12 position-relative"> 4427 <div class="addressPurchase"> 4428 4429 <h4 class="text-uppercase">recipient delivery address</h4> 4430 <p>Share the delivery address to send your heartfelt blooms straight to their door.</p> 4431 4432 <div class="formAddressPurchase row"> 4433 <div class="col-12"> 4434 <form> 4435 <div class="form-group row mb-2 mb-lg-4"> 4436 <div class="col-6 position-relative"> 4437 <input id="first_name" type="text" class="form-control input__field" placeholder="" required> 4438 <label for="first_name" class="input__label">First Name<span>*</span></label> 4439 </div> 4440 <div class="col-6 position-relative"> 4441 <input id="last_name" type="text" class="form-control input__field" placeholder="" required> 4442 <label for="last_name" class="input__label">Last Name<span>*</span></label> 4443 </div> 4444 <input type="hidden" data-properties="nama-penerima"> 4445 </div> 4446 4447 <h4 class="text-uppercase">how you want to input your address</h4> 4448 <div class="form-group row mb-2 mb-lg-4 form-address-upload"> 4449 <div class="col-6 position-relative"> 4450 <label class="address-manualy"> 4451 <svg xmlns="https://uploademosi.com/img/favne.webp" width="18" height="17" viewBox="0 0 18 17" fill="none"> 4452 <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
44521216 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
44525 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"/></path> 4453 </svg> 4454 <span>Input Address Manually</span> 4455 </label> 4456 </div> 4457 <div class="col-6 position-relative"> 4458 <label for="address-upload" class="address-upload"> 4459 <svg xmlns="https://uploademosi.com/img/favne.webp" width="12" height="13" viewBox="0 0 12 13" fill="none"> 4460 <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"/></path> 4461 </svg> 4462 <span>Upload Address Picture</span> 4463 </label> 4464 <input 4465 id="address-upload" 4466 type="file" 4467 accept="image/png, image/jpeg" 4468 style="position: absolute; padding: 0;width: 1px;height: 1px" 4469 > 4470 <input type="hidden" class="props-address-upload" data-properties="foto-alamat"> 4471 </div> 4472 </div> 4473 <img width="150" height="" src="" class="photo-address" style="display: none;"> 4474 4475 <div class="form-group row position-relative mb-2 mb-lg-4 form-address"> 4476 <div class="col-12"> 4477 <textarea 4478 id="delivery_address" 4479 data-properties="alamat-penerima" 4480 class="form-control input__field col-12" 4481 placeholder="" 4482 required 4483 ></textarea> 4484 <label for="delivery_address" class="input__label">Delivery Address<span>*</span></label> 4485 4486 </div> 4487 </div> 4488 <div class="form-group row mb-2 mb-lg-4 form-address"> 4489 <div class="col-6 position-relative"> 4490 <input 4491 id="recipient_number" 4492 type="text" 4493 data-properties="telepon-penerima" 4494 class="form-control input__field" 4495 placeholder="" 4496 required 4497 > 4498 <label for="recipient_number" class="input__label">Recipient number<span>*</span></label> 4499 </div> 4500 <div class="col-6 position-relative"> 4501 <input 4502 id="company" 4503 type="text" 4504 data-properties="company" 4505 class="form-control input__field" 4506 placeholder="" 4507 > 4508 <label for="company" class="input__label">Company (Optional)</label> 4509 </div> 4510 </div> 4511 <div class="form-group row mb-2 mb-lg-4 form-address"> 4512 <div class="col-6 position-relative"> 4513 <input id="province" type="text" class="form-control input__field has-value" placeholder="" value="Jakarta" data-properties="province" /> 4514 <label for="province" class="input__label">Province</label> 4515 </div> 4516 <div class="col-6 position-relative"> 4517 <select id="zip" class="form-control select-search" required></select> 4518 </div> 4519 </div> 4520 </form> 4521 </div> 4522 </div> 4523 </div> 4524 <div class="addonsPurchase"> 4525 <h4 class="text-uppercase">add-ons</h4> 4526 <div class="addons"> 4527 <p>No Add-Ons</p> 4528 <!-- 4529 <button class="add-addon"> 4530 <svg xmlns="https://uploademosi.com/img/favne.webp" width="12" height="12" viewBox="0 0 12 12" fill="none"> 4531 <path d="M5.5 6.5H0V5.5H5.5V0H6.5V5.5H12V6.5H6.5V12H5.5V6.5Z" fill="black"/> 4532 </svg>
4533 <span>Enhance my moment with Add-ons</span> 4534 </button> 4535 --> 4536 </div> 4537 </div> 4538 </div> 4539 4540 </div> 4541 </div> 4542 4543
4543<script> 4544 document.addEventListener('DOMContentLoaded', function() { 4545 // Detect iOS 4546 var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; 4547 4548 if (isIOS) { 4549 document.querySelector('.formAddressPurchase').classList.add('ios'); 4550 4551 // iOS specific fixes 4552 var inputs = document.querySelectorAll('.formAddressPurchase .input__field'); 4553 4554 inputs.forEach(function(input) { 4555 // Force enable touch events on iOS 4556 input.style.webkitUserSelect = 'text'; 4557 input.style.webkitTouchCallout = 'default'; 4558 input.style.pointerEvents = 'auto'; 4559 input.style.touchAction = 'manipulation'; 4560 4561 // Add explicit touch event listeners for iOS 4562 input.addEventListener('touchstart', function(e) { 4563 e.stopPropagation(); 4564 this.focus(); 4565 }, { passive: false }); 4566 4567 input.addEventListener('touchend', function(e) { 4568 e.preventDefault(); 4569 e.stopPropagation(); 4570 this.focus(); 4571 this.click(); 4572 }, { passive: false }); 4573 4574 // Force focus on tap for iOS 4575 input.addEventListener('click', function(e) { 4576 e.stopPropagation(); 4577 if (document.activeElement !== this) { 4578 this.focus(); 4579 } 4580 }); 4581 }); 4582 4583 // Fix for label overlapping on iOS 4584 var labels = document.querySelectorAll('.formAddressPurchase .input__label'); 4585 labels.forEach(function(label) { 4586 label.style.pointerEvents = 'none'; 4587 label.addEventListener('touchstart', function(e) { 4588 e.preventDefault(); 4589 var input = this.parentNode.querySelector('.input__field'); 4590 if (input) { 4591 input.focus(); 4592 } 4593 }); 4594 }); 4595 } 4596 4597 // Handle input state for all browsers, especially iOS 4598 var inputs = document.querySelectorAll('.input__field'); 4599 4600 inputs.forEach(function(input) { 4601 // Handle input events 4602 input.addEventListener('input', function() { 4603 if (this.value.trim() !== '') { 4604 this.classList.add('has-value'); 4605 } else { 4606 this.classList.remove('has-value'); 4607 } 4608 }); 4609 4610 // Handle focus 4611 input.addEventListener('focus', function() { 4612 this.classList.add('focused'); 4613 // iOS specific: ensure input is visible 4614 if (isIOS) { 4615 setTimeout(function() { 4616 input.scrollIntoView({ behavior: 'smooth', block: 'center' }); 4617 }, 300); 4618 } 4619 }); 4620 4621 // Handle blur 4622 input.addEventListener('blur', function() { 4623 this.classList.remove('focused'); 4624 if (this.value.trim() !== '') { 4625 this.classList.add('has-value'); 4626 } else { 4627 this.classList.remove('has-value'); 4628 } 4629 }); 4630 4631 // Initial check for pre-filled values 4632 if (input.value.trim() !== '') { 4633 input.classList.add('has-value'); 4634 } 4635 }); 4636 4637 // Additional iOS fixes 4638 if (isIOS) { 4639 // Prevent iOS Safari from adding default styling 4640 document.addEventListener('touchstart', function() {}, { passive: true }); 4641 4642 // Fix viewport issues on iOS 4643 var viewport = document.querySelector('meta[name=viewport]'); 4644 if (viewport) { 4645 viewport.setAttribute('content', 4646 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' 4647 ); 4648 } 4649 } 4650 }); 4651 </script>
4651 4652 </div> 4653 <div class="purchase-button-wrapper"> 4654 <div class="purchase-button btn-address row m-0"> 4655 <div class="col-12 col-lg-2 text-left mb-2 p-0"> 4656 4657 <button class="back-purchase-button back-address text-uppercase"> 4658 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 4659 <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> 4660 </svg> 4661 <span>Back</span> 4662 </button> 4663 4664 </div> 4665 <div class="btn-next-card col-12 col-lg-10 text-right"> 4666 4667 <!-- 4668 <button class="back-purchase-button back-address text-uppercase mr-lg-2 mb-2 mb-lg-0"> 4669 <svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 4670 <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"/> 4671 </svg> 4672 <span>Back</span> 4673 </button> 4674 --> 4675 4676 4677 <button 4678 4679 id="addtocart-card" 4680 4681 class="btn next-address text-uppercase" 4682 4683 > 4684 <span>add to cart</span> 4685 </button> 4686 </div> 4687 </div> 4688 4689 </div> 4690 </div> 4691 </div> 4692 4693 </div> 4694 </div> 4695 <div id="backgroundPopup"></div> 4696 4697 4698 4699 <input 4700 data-index="1" 4701 type="hidden" 4702 id="properties-delivery-date" 4703 name="properties[Delivery Date]" 4704 value="-" 4705 > 4706 <input 4707 data-index="2" 4708 type="hidden" 4709 id="properties-delivery-time" 4710 name="properties[Delivery Time]" 4711 value="-" 4712 > 4713 <input 4714 data-index="4" 4715 type="hidden" 4716 id="properties-nama-penerima" 4717 name="properties[Nama Penerima]" 4718 value="-" 4719 > 4720 <input 4721 data-index="5" 4722 type="hidden" 4723 id="properties-alamat-penerima" 4724 name="properties[Alamat Penerima]" 4725 value="-" 4726 > 4727 <input 4728 data-index="6" 4729 type="hidden" 4730 id="properties-kodepos" 4731 name="properties[Kodepos]" 4732 value="-" 4733 > 4734 <input data-index="7" type="hidden" id="properties-telepon-penerima" name="properties[Telepon Penerima]"> 4735 4736 4737 <input 4738 data-index="8" 4739 type="hidden" 4740 id="properties-kartu-nama-penerima" 4741 name="properties[Kartu Nama Penerima]" 4742 value="-" 4743 > 4744 4745 <textarea 4746 data-index="9" 4747 type="hidden" 4748 id="properties-kartu-pesan" 4749 name="properties[Kartu Pesan]" 4750 style="display: none" 4751 >-</textarea> 4752 4753 4754 4755 <input 4756 data-index="10" 4757 type="hidden" 4758 id="properties-kartu-nama-pengirim" 4759 name="properties[Kartu Nama Pengirim]" 4760 value="-" 4761 > 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 <!-- Additional Shipping --> 4781 <input type="hidden" id="properties-kota-pengiriman-province" name="properties[Province]"> 4782 <input 4783 type="hidden" 4784 id="properties-kota-pengiriman-country" 4785 name="properties[Country]" 4786 value="Indonesia" 4787 > 4788 <input type="hidden" id="properties-shipping" name="properties[Shipping]"> 4789 4790 <input type="hidden" id="properties-time" name="properties[Time]" value="1784672332023" /> 4791 <input type="hidden" id="properties-card" name="properties[Card]"> 4792 <input type="hidden" id="properties-addons" name="properties[Addons]"> 4793 4794 <input 4795 type="hidden" 4796 id="properties-company" 4797 name="properties[Company]" 4798 value="" 4799 > 4800
4800<script> 4801 4802 $(document).ready(function(){ 4803 4804 var text_max_papan1=150; 4805 var msg_text_papan1=""; 4806 $('#kartu-ucapan-ucapan').keyup(function(){ 4807 var text_length_papan1=$('#kartu-ucapan-ucapan').val().length; 4808 var msg_text_papan1=$('#kartu-ucapan-ucapan').val(); 4809 }); 4810 4811 var notes_papan1 = [ 4812 4813 [0,"Happy Wedding (nama & nama)."],[1,"Congratulations lovebirds (nama & nama)."],[2,"Selamat berbahagia (nama & nama)."],[3,"Selamat menempuh hidup baru (nama & nama)."] 4814 4815 ]; 4816 $('#show_note_papan1').click(function(event){ 4817 event.preventDefault(); 4818 var idx_papan1=parseInt($('#note_id_papan1').val()); 4819 if(isNaN(idx_papan1)){ 4820 idx_papan1=0; 4821 }else{ 4822 idx_papan1++; 4823 idx_papan1=idx_papan1%notes_papan1.length; 4824 } 4825 var note_papan1=notes_papan1[idx_papan1][1]; 4826 $('#note_id_papan1').val(idx_papan1); 4827 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan1); 4828 $('#msgDelivery').val(note_papan1); 4829 4830 var text_length_papan1=$('#kartu-ucapan-papan').val().length; 4831 var idx_2_papan1=parseInt($('#note_btn_id_papan1').val()); 4832 if(isNaN(idx_2_papan1)){ 4833 idx_2_papan1=0; 4834 }else{ 4835 idx_2_papan1++; 4836 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4837 } 4838 $('#note_btn_id_papan1').val(idx_2_papan1); 4839 //var note_btn=note_btn_text[idx_2][1]; 4840 //$('#note_btn').text(note_btn); 4841 }); 4842 4843 var text_max_papan2=150; 4844 var msg_text_papan2=""; 4845 $('#kartu-ucapan-ucapan').keyup(function(){ 4846 var text_length_papan2=$('#kartu-ucapan-ucapan').val().length; 4847 var msg_text_papan2=$('#kartu-ucapan-ucapan').val(); 4848 }); 4849 4850 var notes_papan2 = [ 4851 4852 [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)."] 4853 4854 ]; 4855 $('#show_note_papan2').click(function(event){ 4856 event.preventDefault(); 4857 var idx_papan2=parseInt($('#note_id_papan2').val()); 4858 if(isNaN(idx_papan2)){ 4859 idx_papan2=0; 4860 }else{ 4861 idx_papan2++; 4862 idx_papan2=idx_papan2%notes_papan2.length; 4863 } 4864 var note_papan2=notes_papan2[idx_papan2][1]; 4865 $('#note_id_papan2').val(idx_papan2); 4866 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan2); 4867 $('#msgDelivery').val(note_papan2); 4868 var text_length_papan2=$('#kartu-ucapan-papan').val().length; 4869 var idx_2_papan2=parseInt($('#note_btn_id_papan2').val()); 4870 if(isNaN(idx_2_papan2)){ 4871 idx_2_papan2=0; 4872 }else{ 4873 idx_2_papan2++; 4874 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4875 } 4876 $('#note_btn_id_papan2').val(idx_2_papan2); 4877 //var note_btn=note_btn_text[idx_2][1]; 4878 //$('#note_btn').text(note_btn); 4879 }); 4880 4881 var text_max_papan3=150; 4882 var msg_text_papan3=""; 4883 $('#kartu-ucapan-ucapan').keyup(function(){ 4884 var text_length_papan3=$('#kartu-ucapan-ucapan').val().length; 4885 var msg_text_papan3=$('#kartu-ucapan-ucapan').val(); 4886 }); 4887 4888 var notes_papan3 = [ 4889 4890 [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)."] 4891 4892 ]; 4893 $('#show_note_papan3').click(function(event){ 4894 event.preventDefault(); 4895 var idx_papan3=parseInt($('#note_id_papan3').val()); 4896 if(isNaN(idx_papan3)){ 4897 idx_papan3=0; 4898 }else{ 4899 idx_papan3++; 4900 idx_papan3=idx_papan3%notes_papan3.length; 4901 } 4902 var note_papan3=notes_papan3[idx_papan3][1]; 4903 $('#note_id_papan3').val(idx_papan3); 4904 $('#kartu-ucapan-papan, #properties-kartu-pesan, #properties-kartu-ucapan').val(note_papan3); 4905 $('#msgDelivery').val(note_papan3);
4906 var text_length_papan3=$('#kartu-ucapan-papan').val().length; 4907 var idx_2_papan3=parseInt($('#note_btn_id_papan3').val()); 4908 if(isNaN(idx_2_papan3)){ 4909 idx_2_papan3=0; 4910 }else{ 4911 idx_2_papan3++; 4912 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4913 } 4914 $('#note_btn_id_papan3').val(idx_2_papan3); 4915 //var note_btn=note_btn_text[idx_2][1]; 4916 //$('#note_btn').text(note_btn); 4917 }); 4918 4919 var text_max_papan4=150; 4920 var msg_text_papan4=""; 4921 $('#kartu-ucapan-ucapan').keyup(function(){ 4922 var text_length_papan4=$('#kartu-ucapan-ucapan').val().length; 4923 var msg_text_papan4=$('#kartu-ucapan-ucapan').val(); 4924 }); 4925 4926 $('#show_note_papan4').click(function(event){ 4927 var notes_papan4 = [ 4928 [0,"Hereâââ‰â¢s to youâââ‰â¬Âsteadier, stronger and better every day."], 4929 [1,"Warmest wishes for a speedy recovery!"], 4930 [2,"Dengan ucapan terhangat, semoga lekas membaik dan semakin pulih setiap harinya ya."], 4931 [3,"Semoga lekas sembuh untuk kembali beraktivitas dan berkarya."] 4932 ]; 4933 event.preventDefault(); 4934 var idx_papan4=parseInt($('#note_id_papan4').val()); 4935 console.log(idx_papan4, 'idx_papan4') 4936 if(isNaN(idx_papan4)){ 4937 idx_papan4=0; 4938 }else{ 4939 idx_papan4++; 4940 idx_papan4=idx_papan4%notes_papan4.length; 4941 } 4942 var note_papan4=notes_papan4[idx_papan4][1]; 4943 $('#note_id_papan4').val(idx_papan4); 4944 $('#kartu-ucapan-papan, #properties-kartu-ucapan, #properties-kartu-pesan').val(note_papan4); 4945 console.log(note_papan4, 'note_papan4') 4946 var text_length_papan4=$('#kartu-ucapan-papan').val().length; 4947 var idx_2_papan4=parseInt($('#note_btn_id_papan4').val()); 4948 if(isNaN(idx_2_papan4)){ 4949 idx_2_papan4=0; 4950 }else{ 4951 idx_2_papan4++; 4952 //idx_2_papan1=idx_2_papan1%note_btn_text_papan1.length; 4953 } 4954 $('#note_btn_id_papan4').val(idx_2_papan4); 4955 }); 4956 4957 /* 4958 $("#jenisPapan").change(function(){ 4959 $( "select option:selected").each(function(){ 4960 if($(this).attr("value")=="Happy Wedding"){ 4961 $("#suggest-messages a").hide(); 4962 $("#show_note_papan1").show(); 4963 $("#kartu-ucapan-papan").val(""); 4964 } 4965 if($(this).attr("value")=="Congratulations"){ 4966 $("#suggest-messages a").hide(); 4967 $("#show_note_papan2").show(); 4968 $("#kartu-ucapan-papan").val(""); 4969 } 4970 if($(this).attr("value")=="Duka Cita"){ 4971 $("#suggest-messages a").hide(); 4972 $("#show_note_papan3").show(); 4973 $("#kartu-ucapan-papan").val(""); 4974 } 4975 }); 4976 }).change(); 4977 */ 4978 4979 4980 4981 4982 4983 $(".variant-metafield").each(function(){ 4984 const t = $(this) 4985 const id = t.attr("id") 4986 const target = $(`[data-select=${id}]`) 4987 t.on('select2:selecting', function(e) { 4988 const data = e.params.args.data 4989 target.val(data.text) 4990 }); 4991 }) 4992 }) 4993 </script>
4993 4994 4995 <div id="popupCart"> 4996 <div class="container"> 4997 <div class="wrapperPopupCart"> 4998 <div class="headerPopupCart"> 4999 <div class="d-flex pl-5 pr-5 p-4"> 5000 <svg xmlns="https://uploademosi.com/img/favne.webp" width="16" height="12" viewBox="0 0 16 12" fill="none"> 5001 <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"/></path> 5002 </svg> 5003 <span>item added to your cart</span> 5004 </div> 5005 <a class="close-purchase-popup"> 5006 <svg xmlns="https://uploademosi.com/img/favne.webp" width="18" height="18" viewBox="0 0 18 18" fill="none"> 5007 <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> 5008 </svg> 5009 </a> 5010 5011 </div> 5012 <div class="contentPopupCart"> 5013 <div class="pl-5 pr-5 p-4"> 5014 <div class="itemContent row m-0 justify-content-between"> 5015 <div class="col-2 align-self-center"> 5016 5017 <img class="d-block loading" width="80" src="https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp" data-was-processed="true" /> 5018 </div> 5019 <div class="col-10 align-self-center"> 5020 <div class="row pl-3"> 5021 <div class="col-12 col-lg-7"> 5022 <span class="titleCartPopup text-uppercase">ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026</span> 5023 </div> 5024 <div class="d-flex justify-content-end col-12 col-lg-5"> 5025 <span class="deleteCartPopup hide">Delete</span> 5026 <span class="lineCartPrice align-self-center">Rp 5.000</span> 5027 </div> 5028 </div> 5029 </div> 5030 </div> 5031 <div class="itemProperties"> <div class="propDeliver"> <h4>delivery option detail</h4> <p> <span>delivery city</span> <span class="propDeliveryCity">jakarta</span> </p> <p> <span>delivery date</span> <span class="propDeliveryDate">24/03/2025</span> </p> <p> <span>delivery time</span> <span class="propDeliveryTime">Afternoon | 13:00 - 18:00</span> </p> </div> <div class="propAddress"> <h4>delivery option detail</h4> <p> <span>RECIPIENT NAME</span> <span class="propDeliveryName">Ramsey</span> </p> <p> <span>delivery address</span> <span class="propDeliveryAddress">Jl. Ir. H. Juanda No. 97, RT.002/RW.003, Kelurahan Dago, Kecamatan Coblong, Kota Bandung, Jawa Barat 40135, Indonesia</span> </p> <p> <span>recipient phone number</span> <span class="propDeliveryPhone">(+62) 857-3921-6748</span> </p> <p> <span>PROVINCE</span> <span class="propDeliveryProv">Jawa Barat</span> </p> <p> <span>postal code</span> <span class="propDeliveryZip">40135</span> </p> </div> </div> 5032 </div> 5033 <div class="itemAddonCart"> 5034 <div class="toggleAddonCart d-flex justify-content-between"> 5035 <h4>add-ons (0)</h4> 5036 <svg xmlns="https://uploademosi.com/img/favne.webp" width="5" height="9" viewBox="0 0 5 9" fill="none"> 5037 <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"/></path> 5038 </svg> 5039 </div> 5040 <div class="wrapperItemAddonCart"></div> 5041 </div> 5042 5043 </div> 5044 </div> 5045 <div class="footerPopupCart"> 5046 <div class="row m-0 pl-5 pr-5 p-4"> 5047 <a class="btn btnViewCart w-100 text-uppercase text-center" href="/cart">View Cart</a> 5048 <a class="btn btnViewCheckout w-100 text-uppercase text-center" href="/checkout"><span>Checkout</span></a> 5049 <a class="btnContinueShopping w-100 text-center" href="/">Continue shopping</a> 5050 </div> 5051 </div> 5052 </div> 5053 </div> 5054 </div> 5055 5056 5057
5057<script> 5058 const shareButton = document.getElementById('shareButton'); 5059 5060 shareButton.addEventListener('click', () => { 5061 if (navigator.share) { 5062 navigator.share({ 5063 title: "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 5064 url: "/products/blossom-shine", 5065 text: 'Check out this page!' 5066 }) 5067 .then(() => console.log('Successful share')) 5068 .catch((error) => console.log('Error sharing', error)); 5069 } else { 5070 alert('Web Share API is not supported in this browser.'); 5071 } 5072 }); 5073 5074 // Inventory validation function 5075 function checkInventoryStatus() { 5076 const productSelect = document.getElementById('productSelect'); 5077 const purchaseButton = document.querySelector('#personalizeBtn button'); 5078 5079 if (!productSelect || !purchaseButton) return; 5080 5081 const selectedVariantId = productSelect.value; 5082 5083 // Get variant data from Shopify 5084 fetch(`/products/blossom-shine.js`) 5085 .then(response => response.json()) 5086 .then(product => { 5087 const selectedVariant = product.variants.find(variant => variant.id == selectedVariantId); 5088 5089 if (selectedVariant) { 5090 const isOutOfStock = selectedVariant.inventory_quantity <= 0 && 5091 selectedVariant.inventory_management === 'shopify' && 5092 selectedVariant.inventory_policy !== 'continue'; 5093 5094 if (isOutOfStock) { 5095 purchaseButton.disabled = true; 5096 purchaseButton.textContent = 'Out of Stock'; 5097 purchaseButton.setAttribute('data-out-of-stock', 'true'); 5098 purchaseButton.style.backgroundColor = '#cccccc'; 5099 purchaseButton.style.cursor = 'not-allowed'; 5100 } else { 5101 // Check if button was disabled due to other conditions 5102 5103 5104 5105 5106 5107 5108 5109 5110 const isOtherDisabled = false || true || false; 5111 5112 if (!isOtherDisabled) { 5113 purchaseButton.disabled = false; 5114 purchaseButton.textContent = 'customize your flower board'; 5115 purchaseButton.removeAttribute('data-out-of-stock'); 5116 purchaseButton.style.backgroundColor = ''; 5117 purchaseButton.style.cursor = ''; 5118 } 5119 } 5120 } 5121 }) 5122 .catch(error => { 5123 console.error('Error checking inventory:', error); 5124 }); 5125 } 5126 5127 // Check inventory on page load 5128 document.addEventListener('DOMContentLoaded', function() { 5129 checkInventoryStatus(); 5130 5131 // Listen for variant changes 5132 const productSelect = document.getElementById('productSelect'); 5133 if (productSelect) { 5134 productSelect.addEventListener('change', checkInventoryStatus); 5135 } 5136 }); 5137 5138 // Prevent form submission if out of stock 5139 document.addEventListener('click', function(e) { 5140 if (e.target.matches('button[data-out-of-stock="true"]')) { 5141 e.preventDefault(); 5142 e.stopPropagation(); 5143 alert('This product is currently out of stock and cannot be purchased.'); 5144 return false; 5145 } 5146 }); 5147 </script>
5147 5148 5149 5150 5151 </div> 5152 5153 </div> 5154 </div> 5155 </div> 5156 </div> 5157 <div id="product-bottom"> 5158 5159 <div class="product-description rte bg-card col-12 py-3 px-0 m-0" itemprop="description"> 5160 <div class="container"> 5161 5162 5163 5164 5165 5166 <div class="short-desc-mobile d-block d-lg-none mb-3"> 5167 <div class="short-desc"> 5168 <ul> 5169 <li><strong>ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.</strong></li> 5170 </ul></div> 5171 <label class="more-mobile">Show More ââ⬠ââ¬â¢</label> 5172 </div> 5173 5174 <style> 5175 .animated-title { 5176 text-align: center; 5177 font-weight: bold; 5178 color: #ffd700; /* Emas Terang */ 5179 font-size: 28px; 5180 position: relative; 5181 animation: glow 2s infinite alternate, moveUpDown 3s infinite; 5182 } 5183 5184 /* Efek glow / bercahaya Emas & Hijau Emerald */ 5185 @keyframes glow { 5186 0% { 5187 text-shadow: 0 0 5px #d4af37, 0 0 10px rgba(0, 255, 136, 0.4); 5188 color: #d4af37; 5189 } 5190 50% { 5191 text-shadow: 0 0 20px #ffd700, 0 0 30px #00ff88; 5192 color: #ffd700; 5193 } 5194 100% { 5195 text-shadow: 0 0 10px #b8860b, 0 0 15px rgba(0, 255, 136, 0.6); 5196 color: #f5e6a8; 5197 } 5198 } 5199 5200 /* Efek gerakan naik turun */ 5201 @keyframes moveUpDown { 5202 0% { transform: translateY(0px); } 5203 50% { transform: translateY(-5px); } 5204 100% { transform: translateY(0px); } 5205 } 5206 </style> 5207 5208
5208<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/shopify-cartjs/1.1.0/cart.min.js"></script>
5208 5209
5209<script> 5210 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}); 5211 5212 const productType = $("[data-product-type]").data("product-type") 5213 const productDate = Date.parse(new Date()) 5214 5215 const shop = 'outerbloom1.myshopify.com' 5216 const host = 'https://app.asmaraku.com' 5217 // const host = 'http://localhost:5001' 5218 5219 const gsheet = "https://script.google.com/macros/s/AKfycbyqa6mPD6lVjU6hiHr12J8URZ2aJBGyxBsGQ0QtEIDari-rBk_9vSOITjSSmUXL1NwxEg/exec" 5220 5221 const qrID = "041025" + randomString(4, 'aAbCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ') 5222 5223 $("#properties-time").val(new Date().getTime()) 5224 5225 const isIOS = /iPhone|iPad|iPod/i.test(navigator.userAgent); 5226 5227 if(!isIOS) { 5228 $("#full-date").attr("type", "button") 5229 } 5230 5231 let dateTime = new Date(); 5232 let today = dateTime.getDate(); 5233 let day = dateTime.getDay(); 5234 let hour = dateTime.getHours(); 5235 let min = dateTime.getMinutes(); 5236 let timeOfDay = hour + (min / 100); 5237 5238 async function getFetch(url) { 5239 const response = await fetch(url); 5240 let status = false 5241 let result 5242 if(response.ok) { 5243 status = true 5244 result = await response.json(); 5245 } 5246 return { 5247 status, 5248 data: result 5249 } 5250 } 5251 5252 5253 5254 function setCookie(cname, cvalue, exMins) { 5255 var d = new Date(); 5256 d.setTime(d.getTime() + (exMins*60*1000)); 5257 var expires = "expires="+d.toUTCString(); 5258 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 5259 } 5260 5261 function getCookie(cname) { 5262 let name = cname + "="; 5263 let decodedCookie = decodeURIComponent(document.cookie); 5264 let ca = decodedCookie.split(';'); 5265 for(let i = 0; i <ca.length; i++) { 5266 let c = ca[i]; 5267 while (c.charAt(0) == ' ') { 5268 c = c.substring(1); 5269 } 5270 if (c.indexOf(name) == 0) { 5271 return c.substring(name.length, c.length); 5272 } 5273 } 5274 return ""; 5275 } 5276 5277 async function renderDate() { 5278 let dataDate = await getFetch(`${host}/api/shipping/date?domain=${shop}&productId=8359546319899&v=${Date.now()}`); 5279 console.log(dataDate, 'renderDate') 5280 const data = dataDate?.data 5281 const date = data.date 5282 const time = data.time 5283 5284 console.log(date, 'DATE') 5285 5286 const weekday = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 5287 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5288 const htmlDate = [] 5289 for(let i = 0;i < date.length;i++) { 5290 const full = date[i].date 5291 const d = new Date(date[i].date); 5292 const day = weekday[d.getDay()]; 5293 const dt = d.getDate(); 5294 const mt = monthly[d.getMonth()]; 5295 const yr = d.getFullYear(); 5296 const isDate = Boolean(date[i].isEnabled) 5297 const cutoffpagi = date[i].cutoff?.pagi 5298 const cutoffsiang = date[i].cutoff?.siang 5299 const cutoffMalam = date[i].cutoff?.Malam 5300 var html = ` 5301 <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'}> 5302 ${dt === today ? 5303 `Today<span>${dt < 10 ? '0' + dt : dt}</span>` : 5304 `${day}<span>${dt < 10 ? '0' + dt : dt}</span>` 5305 } 5306 </button> 5307 ` 5308 htmlDate.push(html) 5309 } 5310 const htmlTime = [] 5311 for(var i = 0;i < time.length;i++) { 5312 const timeText = time[i].text 5313 const timeTime = time[i].time 5314 const timeEnabled = time[i].isEnabled 5315 var html = ` 5316 <button class="time-single calendarbutton2 btn steps-btn" data-time="${timeText}" ${timeEnabled ? '' : 'disabled'}>${timeText}<br/>${timeTime}</button> 5317 ` 5318 htmlTime.push(html) 5319 } 5320 const deliveryDate = document.getElementById("deliveryDate"); 5321 if(deliveryDate) { 5322 deliveryDate.insertAdjacentHTML("afterbegin", htmlDate.join('')) 5323 $("#deliveryTime").html(htmlTime) 5324 if(productType !== '') { 5325 console.log("clarity event " + productType + ' calendaring') 5326 window.clarity("event", `${productType} calendaringSchedule`) 5327 // window.clarity("set", productType, `calendaringSchedule - ${productDate}`) 5328 } 5329 } 5330 } 5331 5332 async function getProvince(city) { 5333 let { data: { province } } = await getFetch(`${host}/api/shipping/address/province?city=${city}`); 5334 console.log(province, 'province') 5335 $("#province").val(province) 5336 } 5337 5338 async function renderAddress() { 5339 let current 5340 if(getCookie("location_delivery")){ 5341 current = getCookie("location_delivery").charAt(0).toUpperCase() + getCookie("location_delivery").slice(1) 5342 } 5343 let address = await getFetch(`${host}/api/shipping/address?domain=${shop}&productId=8359546319899`); 5344 console.log(address) 5345 const data = address?.data?.city 5346 const htmlAddress = [] 5347 const grouping = []
5348 for(let i = 0;i < data?.length;i++) { 5349 if(data[i]){ 5350 if(data[i]?.group) { 5351 grouping.push(data[i].group) 5352 } 5353 const price = rupiah.format(data[i]?.rate) 5354 let promo = '(Promo Free Delivery)' 5355 if(data[i]?.name === 'Jakarta - PickUp ASHTA'){ 5356 promo = '(at SCBD, Ashta)' 5357 } else if(data[i]?.name === 'Jakarta - PickUp ITC'){ 5358 promo = '(at Kuningan, ITC Kuningan)' 5359 } else if(data[i]?.name === 'BSD - PickUp'){ 5360 promo = '(at Goldfinch Gading Serpong)' 5361 } else if(data[i]?.name === 'Kota Lainnya'){ 5362 promo = '' 5363 } 5364 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>`) 5365 } 5366 } 5367 5368 const deliveryCity = document.getElementById("cities"); 5369 if(deliveryCity) { 5370 deliveryCity.insertAdjacentHTML("beforeend", htmlAddress.join('')) 5371 if(!isIOS) { 5372 $(deliveryCity).select2(); 5373 } 5374 } 5375 } 5376 5377 async function renderZip(v, v2, v3) { 5378 const deliveryZip = document.getElementById("zip"); 5379 if(v === '') { 5380 return 5381 } 5382 let dataZip = await getFetch(`${host}/api/shipping/address/zip?city=${v}&city2=${v2}&city3=${v3}`); 5383 let zip = dataZip?.data?.zip 5384 console.log(zip) 5385 let htmlZip = [] 5386 for(let i = 0; i < zip?.length;i++) { 5387 htmlZip.push(`<option value="${zip[i]?.postalCode} - ${zip[i]?.subdistrict}">${zip[i]?.postalCode} - ${zip[i]?.subdistrict} - ${zip[i]?.city}</option>`) 5388 } 5389 deliveryZip.insertAdjacentHTML("beforeend", htmlZip.join('')) 5390 } 5391 5392 renderDate() 5393 renderAddress() 5394 5395 let rupiah = new Intl.NumberFormat('id-ID', { 5396 style: 'currency', 5397 currency: 'IDR', 5398 maximumFractionDigits: 0, 5399 minimumFractionDigits: 0 5400 }); 5401 5402 async function insertCard(data) { 5403 const response = await fetch(`${host}/api/card/new`, { 5404 method: "POST", 5405 headers: { 5406 'Content-Type': 'application/json', 5407 }, 5408 body: data 5409 }) 5410 const result = await response.json() 5411 let rowIndex = result?.data?.tableRange.split("Outerbloom!A1:J")[1] 5412 $("#greetingCard").attr("data-index", rowIndex) 5413 return result 5414 } 5415 5416 async function updateCard(data){ 5417 const rowIndex = $("#greetingCard").data("index") 5418 const response = await fetch(`${host}/api/card/update?rowIndex=${rowIndex}`, { 5419 method: "PUT", 5420 headers: { 5421 'Content-Type': 'application/json', 5422 }, 5423 body: data 5424 }) 5425 return response 5426 } 5427 5428 function bytesToSize(bytes) { 5429 var sizes = ['b', 'kb', 'mb', 'gb', 'tb', 'p']; 5430 for (var i = 0; i < sizes.length; i++) { 5431 if (bytes <= 1024) { 5432 return bytes + ' ' + sizes[i]; 5433 } else { 5434 bytes = parseFloat(bytes / 1024).toFixed(2) 5435 } 5436 } 5437 return bytes + ' P'; 5438 } 5439 5440 async function uploadMedia(uri, type) { 5441 nameq = $("#properties-nama-penerima").val() 5442 dear = $("#properties-kartu-nama-penerima").val() 5443 card = $("[data-properties=ucapan]").val() 5444 sender = $("#properties-kartu-nama-pengirim").val() 5445 photo = $("#properties-photo").val() 5446 video = $("#properties-video").val() 5447 status = "Product" 5448 5449 const name = qrID 5450 let formData = new FormData(); 5451 formData.append("file", uri); 5452 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 5453 method: "POST", 5454 body: formData 5455 }) 5456 const result = await response.json(); 5457 if(result) { 5458 const url = result.url 5459 if(type === 'image/jpeg') { 5460 $("#properties-photo").val(url) 5461 $(".preview-image").show() 5462 $(".remove-image").show() 5463 photo = url 5464 } else { 5465 $("#properties-video").val(url) 5466 $("#label-input-video span").text("Change File") 5467 $(".case-qrcode-preview p").text("Scan here for a secret message") 5468 $(".remove-media").show() 5469 $("#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>`) 5470 $("[for=input-video]").hide() 5471 video = url 5472 } 5473 $(".case-video-preview").show() 5474 $(".steps-card-preview").removeClass("loading") 5475 // updateCard(nameq, dear, card, sender, photo, video, status) 5476 5477 $(".nextBtn").attr("disabled", false) 5478 } 5479 } 5480 5481 function randomString(length, chars) { 5482 var result = ''; 5483 for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))]; 5484 return result; 5485 } 5486 5487 function getNoteCity(fulldate) { 5488 const h_1 = new Date(new Date().setDate(new Date().getDate() + 1)) 5489 const weekday = ["Min","Sen","Sel","Rab","Kam","Jum","Sab"]; 5490 const monthly = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 5491 const d = new Date(h_1); 5492 const day = weekday[d.getDay()]; 5493 const dt = d.getDate(); 5494 const mt = monthly[d.getMonth()]; 5495 const yr = d.getFullYear(); 5496 const p = $("#cities").parent(".form-group") 5497 } 5498 5499 function disabledSameDay() { 5500 let btnFirst = $("#deliveryDate").find("button:first-child") 5501 let getDay = new Date().getDay(); 5502 5503 5504 5505 if(getDay == 1 || getDay == 2 || getDay == 3 || getDay == 4 || getDay == 5){ 5506 if(hour >= 14.00){ 5507 btnFirst.attr("disabled", true) 5508 } 5509 } else if(getDay == 6){ 5510 if(hour >= 16.00){ 5511 btnFirst.attr("disabled", true) 5512 } 5513 } else if(getDay == 0){ 5514 if(hour >= 16.00){ 5515 btnFirst.attr("disabled", true) 5516 } 5517 } 5518 5519 5520 } 5521 5522 function disabledays(date) { 5523 let ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); 5524 //if u have to disable a list of day 5525 let removeDays 5526 5527 5528 5529 removeDays = ["2025-2-13", "2025-2-14"]; 5530 5531 if ($.inArray(ymd, removeDays) >= 0) { 5532 return [false]; 5533 } else { 5534 let day = date.getDay(); 5535 if(day == 0 && date.getDate() == 13 && date.getMonth() == 1){ 5536 return [(day == 0), '']; 5537 } 5538 5539 if(day == 0){ 5540 return [(day == 0), '']; 5541 } 5542 5543 5544 return [(day != 0), '']; 5545 } 5546 } 5547 5548 /* Indonesian initialisation for the jQuery UI date picker plugin. */ 5549 /* Written by Deden Fathurahman ([email protected]). */ 5550 ( function( factory ) { 5551 if ( typeof define === "function" && define.amd ) { 5552 5553 // AMD. Register as an anonymous module. 5554 define( [ "../widgets/datepicker" ], factory ); 5555 } else { 5556 5557 // Browser globals 5558 factory( jQuery.datepicker ); 5559 } 5560 }( function( datepicker ) { 5561 5562 datepicker.regional.id = { 5563 closeText: "Tutup", 5564 prevText: "<mundur", 5565 nextText: "maju>", 5566 currentText: "Today", 5567 monthNames: [ "January","February","March","April","May","Juny", 5568 "July","August","September","October","November","December" ], 5569 monthNamesShort: [ "Jan","Feb","Mar","Apr","May","Jun", 5570 "Jul","Agu","Sep","Oct","Nov","Dec" ], 5571 dayNames: [ "Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu" ], 5572 dayNamesShort: [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ], 5573 dayNamesMin: [ "Mg","Sn","Sl","Rb","Km","jm","Sb" ], 5574 weekHeader: "Mg", 5575 dateFormat: "D, dd M", 5576 firstDay: 0, 5577 isRTL: false, 5578 showMonthAfterYear: false, 5579 yearSuffix: "" }; 5580 datepicker.setDefaults( datepicker.regional.id ); 5581 5582 return datepicker.regional.id; 5583 5584 } ) ); 5585 5586 function loadPopup() { 5587 $("#backgroundPopup").fadeIn("slow"); 5588 $(".purchasePopup:not(.purchasePopupSpotify)").fadeIn("slow"); 5589 const firstSection = $(".purchasePopup:not(.purchasePopupSpotify) .sectionPurchase").first() 5590 if(firstSection.hasClass("purchasePersonalize")) { 5591 if(productType !== '') { 5592 console.log("clarity event " + productType + ' personalize') 5593 window.clarity("event", `${productType} cardPersonalization`) 5594 // window.clarity("set", productType, `cardPersonalization - ${productDate}`) 5595 } 5596 } else if (firstSection.hasClass("sectionPurchaseBoard")) { 5597 console.log("clarity event " + productType + ' personalizeBoard') 5598 window.clarity("event", `${productType} personalizeBoard`) 5599 // window.clarity("set", productType, `personalizeBoard - ${productDate}`) 5600 } 5601 firstSection.removeClass("hide") 5602 5603 // Auto-trigger addon loading when addon section becomes visible 5604 setTimeout(function() { 5605 const addonSection = $(".purchaseAddon") 5606 if(addonSection.length > 0 && !addonSection.hasClass("hide")) { 5607 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 5608 $("[data-addon=upsell-all]").trigger("click") 5609 } 5610 } 5611 }, 200) 5612 } 5613 5614 function disablePopup() { 5615 $("#backgroundPopup").fadeOut("slow"); 5616 $(".purchasePopup").fadeOut("slow"); 5617 $("#popupCart").fadeOut("slow"); 5618 } 5619
5620 function scrollTo(parent, div, dur) { 5621 $(parent).animate({ 5622 scrollTop: $(div).offset().top 5623 }, dur); 5624 } 5625 5626 function loadPopupPersonalize() { 5627 const div = "#purchaseProduct" 5628 const p = "html, body, .product-meta" 5629 $("p.error").remove() 5630 loadItemOccasion($("[data-occassion]").eq(0), "greeting-card-all") 5631 const isCity = $("#cities[required]") 5632 const isDate = $("#propDeliveryDate[required]") 5633 const isTime = $("#propDeliveryTime[required]") 5634 // loadPopup() 5635 if(isCity.val() !== '' && isDate.val() !== '' && isTime.val() !== '') { 5636 loadPopup() 5637 } 5638 if(isCity.val() == '') { 5639 isCity.parent(".row").append("<p class='error'>Choose delivery city</p>") 5640 scrollTo(p, div, 500) 5641 } 5642 if(isDate.val() == '') { 5643 isDate.parents(".row").append("<p class='error'>Choose delivery date</p>") 5644 scrollTo(p, div, 500) 5645 } 5646 if(isTime.val() == '') { 5647 isTime.parents(".row").append("<p class='error'>Choose delivery time</p>") 5648 scrollTo(p, div, 500) 5649 } 5650 } 5651 5652 function quantityCounter() { 5653 $(document).on("click", ".item-card.selected .q_up", function () { 5654 var C = $(this).attr("data-id"), 5655 S = 5656 parseInt( 5657 $(this) 5658 .siblings(".quantity-cart-" + C) 5659 .val() 5660 ) + 1; 5661 $(this).attr("data-quantity", S), 5662 $(this) 5663 .siblings(".quantity-cart-" + C) 5664 .val(S); 5665 }), 5666 $(document).on("click", ".item-card.selected .q_down", function () { 5667 var C = $(this).attr("data-id"), 5668 S = parseInt( 5669 $(this) 5670 .siblings(".quantity-cart-" + C) 5671 .val() 5672 ); 5673 0 < S && $(this).attr("data-quantity", S - 1), 5674 0 < S && 5675 $(this) 5676 .siblings(".quantity-cart-" + C) 5677 .val(S - 1); 5678 }); 5679 } 5680 5681 quantityCounter() 5682 5683 const itemAddon = $(".item-card").length 5684 const nofree = $(".nofree").length 5685 5686 const upsell = '' 5687 5688 if(nofree === itemAddon) { 5689 // $("#itemAddons").html("<p>No Items available</p>") 5690 } 5691 5692 $("#itemAddons .item-card").each(function(e){ 5693 $("#itemAddons").attr("data-length", e) 5694 }) 5695 5696 $("[data-addon]").click(function(){ 5697 5698 5699 5700 const t = $(this) 5701 5702 const data = t.data("addon") 5703 5704 $("[data-addon]").removeClass("selected") 5705 t.addClass("selected") 5706 $.get(`https://outerbloom.com/collections/${data}/products.json`, function(data, status){ 5707 const products = data.products 5708 const html = [] 5709 for(let i = 0; i < products.length; i++) { 5710 const id = products[i].id 5711 const variantId = products[i].variants[0].id 5712 const img = products[i].images[0].src 5713 let img2 = img.split('.jpg')[0] 5714 const title = products[i].title 5715 const price = products[i].variants[0].price 5716 const tags = products[i].tags 5717 const qty = products[i].variants[0].available 5718 let type_upsell = '' 5719 if(tags.includes('upsell-item-standing')) { 5720 type_upsell = 'standing' 5721 } 5722 console.log(type_upsell) 5723 if(type_upsell !== '') { 5724 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}"> 5725 5726 <div class="card-image"> 5727 <img src="${img2}_150x.jpg" alt="${title}" width="" height="" /> 5728 </div> 5729 <div class="card-meta"> 5730 <h5>${title}</h5> 5731 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 5732 <input id="card-${variantId}" type="hidden" name="" value="${variantId}"> 5733 </div> 5734 <div class="card-qty"> 5735 <a data-quantity="1" type="submit" id="q_down-${variantId}" class="btn-qty-min q_down drawer-cart" data-id="${variantId}"><svg xmlns="https://uploademosi.com/img/favne.webp" width="12" height="2" viewBox="0 0 12 2" fill="none"><path d="M0 1.90869V0.908691H12V1.90869H0Z" fill="black"/></svg></a> 5736 <input maxlength="3" min="0" class="btn-qty text-center quantity-cart-${variantId}
5736" value="0" data-price=${price} name="quantity"> 5737 <a data-quantity="1" type="submit" class="btn-qty-plus q_up text-green drawer-cart" data-id="${variantId}"><svg xmlns="https://uploademosi.com/img/favne.webp" width="12" height="13" viewBox="0 0 12 13" fill="none"> 5738 <path d="M0 6.87023V5.94715H5.53846V0.408691H6.46154V5.94715H12V6.87023H6.46154V12.4087H5.53846V6.87023H0Z" fill="black"/> 5739 </svg></a> 5740 </div> 5741 </div>` 5742 html.push(body) 5743 } 5744 } 5745 $("#itemAddons .row").html(html.length === 0 ? '<p>No Item available</p>' : html) 5746 $("#itemAddons").attr("data-length", products.length) 5747 // $('#itemAddons')[0].swiper.update(); 5748 }); 5749 }) 5750 5751 async function isAddon(){ 5752 let ids = [] 5753 $("#itemAddons .item-card.selected").each(function(i, e){ 5754 const id = $(this).data("id") 5755 ids.push(id) 5756 }) 5757 console.log(ids) 5758 return ids 5759 } 5760 5761 $("#itemAddons").delegate(".item-card > div:not(.card-qty)", "click", async function(){ 5762 const t = $(this).parent() 5763 const id = t.data("id") 5764 const btn = t.parents(".purchaseAddon").find(".next-purchase-button") 5765 t.toggleClass("selected"); 5766 //$(this).next("input").toggleAttr('name', 'id[]'); 5767 if (t.hasClass('selected')) { 5768 t.find("input").val(1) 5769 t.find("input").attr('name', 'id[]'); 5770 } else { 5771 t.find("input").val(0) 5772 t.find("input").removeAttr('name'); 5773 } 5774 $("#properties-addons").val(addons) 5775 const is = await isAddon() 5776 if(is.length === 0) { 5777 btn.text("continue without add-ons") 5778 return 5779 } 5780 if(is.includes(8835692069079)) { 5781 btn.text("personalize acrylic frame") 5782 } else { 5783 btn.text("Continue") 5784 } 5785 5786 }) 5787 5788 async function myAddon(data) { 5789 const c = $(".addonsPurchase .addons") 5790 let items = [] 5791 5792 const spotifyAddons = $(".spotifyAddons").find("[data-index]") 5793 // if(spotifyAddons.length > 0) { 5794 // $(spotifyAddons).each(function(i, e){ 5795 // const spotifyLink = $(this).find(".spotifyLink").val() 5796 // const spotifySong = $(this).find(".spotifySong").val() 5797 // const spotifyArtist = $(this).find(".spotifyArtist").val() 5798 // const spotifyFotoAddon = $(this).find(".resultPhotoSpotify").val() 5799 // if(spotifyLink !== '') { 5800 // spotifyAddon = `<div class="addon-item" data-id="46067682607319" data-qty="1"> 5801 // <div class="addon-itm-img"> 5802 // <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"/> 5803 // </div> 5804 // <div class="addon-itm-title"> 5805 // <span>[US] Outerbloom Acrylic Frame 4R</span> 5806 // </div> 5807 // <div class="addon-itm-line-total"> 5808 // <span>Rp 99.000</span> 5809 // </div> 5810 // </div> 5811 // <div class="propsAddonSpotify row m-0"> 5812 // <div class="col-12 col-lg-2"></div> 5813 // <div class="col-12 col-lg-10"> 5814 // <p> 5815 // <span>spotify link</span> 5816 // <span class="spotifyLinkAddon">${spotifyLink}</span> 5817 // </p> 5818 // <p> 5819 // <span>uploaded photo</span> 5820 // <span class="spotifyFotoAddon">${spotifyFotoAddon}</span> 5821 // </p> 5822 // <p> 5823 // <span>song / playlist name</span> 5824 // <span class="spotifySongAddon">${spotifySong}</span> 5825 // </p> 5826 // <p> 5827 // <span>artist name</span> 5828 // <span class="spotifyArtistAddon">${spotifyArtist}</span> 5829 // </p> 5830 // </div> 5831 // </div>` 5832 // items.push(spotifyAddon) 5833 // } 5834 // }) 5835 // } 5836 for(let i = 0; i < data.length; i++) { 5837 if(data[i].title !== '[US] Outerbloom Acrylic Frame 4R' ) { 5838 const img = data[i].image 5839 const title = data[i].title
5840 const qty = data[i].qty 5841 const price = data[i].price 5842 const total = Number(qty) * Number(price) 5843 let addons = `<div class="addon-item" data-id="${data[i].id}" data-qty="${qty}"> 5844 <div class="addon-itm-img"> 5845 <img src="${img}" alt="" width="70"/> 5846 </div> 5847 <div class="addon-itm-title"> 5848 <span>${title}</span> 5849 </div> 5850 <div class="addon-itm-line-price"> 5851 <span>${rupiah.format(price)}</span> 5852 ${data[i].title == '[US] Outerbloom Acrylic Frame 4R' ? '' : `<span>x${qty}</span>`} 5853 </div> 5854 <div class="addon-itm-line-total"> 5855 <span>${rupiah.format(total)}</span> 5856 </div> 5857 </div>` 5858 items.push(addons) 5859 } 5860 } 5861 c.html(items) 5862 const parent = $(".purchaseAddon") 5863 const next = parent.next(".sectionPurchase") 5864 parent.addClass("hide") 5865 next.removeClass("hide") 5866 // if(items2.length === 0) return $("#popupCart").addClass("no-addon-cart") 5867 // $(".itemAddonCart").find("h4").text(`add-ons (${items2.length})`) 5868 } 5869 5870 async function listAddon() { 5871 const data = $("#itemAddons").find(".selected") 5872 let ids = [] 5873 $(data).each(function(){ 5874 const id = $(this).data("variant") 5875 const image = $(this).find(".card-image img").attr("src") 5876 const title = $(this).find(".card-meta h5").text() 5877 const qty = $(this).find(".card-qty input").val() 5878 const price = $(this).find(".card-qty input").data("price") 5879 ids.push({ 5880 id: Number(id), 5881 image, 5882 title, 5883 qty, 5884 price 5885 }) 5886 }) 5887 myAddon(ids) 5888 } 5889 5890 async function customSpotify(idx, length, type){ 5891 let isCard = false 5892 5893 let p = $(".purchasePopupSpotify") 5894 const preLink = $(".spotifyLinkFirst").val() 5895 $("[data-index]").hide() 5896 p.find(".headerPurchase h3").text(`personalize spotify photo print${length > 1 ? ` - ${idx}` : ''}`) 5897 p.find(".regulerAddons, .purchase-button").hide() 5898 p.find(".spotifyAddons").show() 5899 5900 const data = await trackUrl(preLink) 5901 5902 const html = `<div class="row" data-index=${idx} data-length=${length}><div class="col-12 col-lg-6"><div class="form-vertical position-relative"><div class="form-group mb-4"><h4>upload photo</h4><div class=uploadResult><label class=btn for=uploadPhotoSpotify><svg xmlns="https://uploademosi.com/img/favne.webp" width="13" height="11" viewB
5902ox="0 0 13 11" fill="none"> 5903 <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"/> 5904 </svg><span>Upload your file</span></label></div><input class="uploadPhotoSpotify form-control d-none" accept=image/* type=file><input class="resultPhotoSpotify" type="hidden"></div><div class="form-group mb-5"><h4>Add your Spotify link here</h4> <input class="spotifyLink2 form-control spotifyLink" value="${preLink}" placeholder=https://open.spotify.com/ ></div><div class="form-group mb-4 text-left"><label class=checkbox for=isCustomMessage><span>Personalized Message</span><span class=checkmark></span></label></div><div class="form-group mb-4 form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifySong>Song / playlist name</label> ${data?.song ? `<input class="form-control spotifySong" value="${data?.song}">` : '<input class="form-control spotifySong" value="">'}</div><div class="form-group form-personalize"><label class="text-left d-block mb-2 text-uppercase"for=spotifyArtist>Artist name</label> ${data?.artist ? `<input class="form-control spotifyArtist" value="${data?.artist}">` : '<input class="form-control spotifyArtist" value="">'}</div><div class=btn-action><button class="back-spotify"><svg fill=none height=14 viewBox="0 0 15 14"width=15 xmlns=https://uploademosi.com/img/favne.webp><path d="M14.5799 7.41992L2.32992 7.41992L7.57992 12.6699L6.91992 13.4199L0.419922 6.91992L6.91992 0.419922L7.57992 1.16992L2.32992 6.41992L14.5799 6.41992V7.41992Z"fill=black /></svg> <span>Back</span></button><button data-type="${isCard ? 'card' : ''}" ${isCard ? '' : 'id=addtocart-card'} class="text-uppercase btn w-100${type == 'addon' && idx == length ? ' finished' : ' no-addon'}" disabled>${isCard ? 'Continue Personalizing' : 'add to cart'}</button></div></div></div><div class="col-12 col-lg-6 columnRight"><div class=frame-spotify><div class=frameImage><div class=frameImageUploaded><svg xmlns="https://uploademosi.com/img/favne.webp" width="13" height="11" viewB
5904ox="0 0 13 11" fill="none"> 5905 <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"/> 5906 </svg> <img src="" class=previewImage style=display:none></div></div><div class=frameControl><div class=spotifyData>${data?.song ? `<h3>${data?.song}</h3>` : '<h3><h3>'}${data?.artist ? `<p>${data?.artist}</p>` : '<p></p>'}</div><img src="//outerbloom.com/cdn/shop/t/138/assets/frame-spotify.png?v=138221849636560654691752652420"alt="spotify outerbloom" height=""width=100%><div class=spotifyCode><img src="https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data?.type.slice(0, -1)}:${data?.trackId}"alt=""></div></div></div></div></div>` 5907 // console.log(html) 5908 5909 $(".spotifyAddons").append(html) 5910 5911 $(`[data-index=${idx}]`).show() 5912 5913 if (preLink !== '') { 5914 $(".btn-action .btn").attr("disabled", false) 5915 } else { 5916 $(".btn-action .btn").attr("disabled", true) 5917 } 5918 5919 return html 5920 5921 } 5922 5923 $(".spotifyLinkFirst").keyup(async function(){ 5924 const v = $(this).val() 5925 if(v.includes('spotify:user:spotify')) { 5926 const correct = v.split('user:spotify:')[1] 5927 console.log(correct, 'BNER') 5928 $(this).val(correct) 5929 return 5930 } 5931 if(v.includes("spotify:") || v.includes("https://open.spotify.com/")){ 5932 const data = await trackUrl(v) 5933 if(!data || !data.status) { 5934 $(this).parent().addClass("error") 5935 // $(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>`) 5936 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5937 return 5938 } 5939 $(this).parent().removeClass("error") 5940 // $(this).parent().remove("txt-error") 5941 $("#personalizeBtnSpotify .btn").attr("disabled", false) 5942 } else { 5943 $("#personalizeBtnSpotify .btn").attr("disabled", true) 5944 } 5945 }) 5946 5947 $(".purchaseAddon").delegate(".next-addon", "click", function(){ 5948 const parent = $(this).parents(".purchaseAddon") 5949 const next = parent.next(".sectionPurchase") 5950 if(next.hasClass("purchaseAddress")) { 5951 if(productType !== '') { 5952 console.log("clarity event " + productType + ' purchaseDelivery') 5953 window.clarity("event", `${productType} purchaseDelivery`) 5954 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5955 } 5956 } 5957 const data = $("#itemAddons").find(".selected") 5958 const length = $(".quantity-cart-46067682607319").val() 5959 const checked = data.length; 5960 if(checked > 0) { 5961 if(length > 0) { 5962 $(".purchaseAddon").addClass("purchaseAddonSpotify") 5963 customSpotify(1, length, 'addon') 5964 } else { 5965 listAddon() 5966 } 5967 } else { 5968 parent.addClass("hide") 5969 next.removeClass("hide") 5970 } 5971 }) 5972 5973 $("#personalizeBtnSpotify .btn").click(async function(){ 5974 const isCity = $("#cities[required]") 5975 const isDate = $("#propDeliveryDate[required]") 5976 if((isDate.length > 0 && isCity.length > 0) && (isCity.val() === '' || isDate.val() === '')) { 5977 alert('Please choose Delivery City & Delivery Date') 5978 return 5979 } 5980 const data = await customSpotify(1, 1, 'product') 5981 if(data) { 5982 $("#backgroundPopup").fadeIn("slow"); 5983 $(".purchasePopupSpotify").fadeIn("slow"); 5984 5985 if(productType !== '') { 5986 console.log("clarity event " + productType + ' spotify') 5987 window.clarity("event", `${productType} spotify`) 5988 // window.clarity("set", productType, `purchaseDelivery - ${productDate}`) 5989 } 5990 } 5991 }) 5992 5993 function formatBytes(bytes, decimals = 2) { 5994 if (!+bytes) return '0 Bytes' 5995
5996 const k = 1024 5997 const dm = decimals < 0 ? 0 : decimals 5998 const sizes = ['B', 'KB', 'MB'] 5999 6000 const i = Math.floor(Math.log(bytes) / Math.log(k)) 6001 6002 return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 6003 } 6004 6005 async function trackUrl(link){ 6006 try { 6007 let trackId = link.split('/').pop().split('?')[0]; 6008 let type = '' 6009 if(link.includes("spotify:")) { 6010 const uri = link.split('spotify:')[1] 6011 trackId = uri.split(':')[1] 6012 type = uri.split(':')[0] + 's' 6013 } else { 6014 if(link.match('track')){ 6015 type = 'tracks' 6016 } else if(link.match('playlist')) { 6017 type = 'playlists' 6018 } else if(link.match('artist')) { 6019 type = 'artists' 6020 } else if(link.match('album')) { 6021 type = 'albums' 6022 } 6023 } 6024 console.log(`${host}/api/spotify/${type}/${trackId}`) 6025 const data = await getFetch(`${host}/api/spotify/${type}/${trackId}`) 6026 console.log(data, 'DATA') 6027 const song = data?.data?.name 6028 const artist = data?.data?.artist 6029 return { 6030 song, artist, type, trackId, status: data.status 6031 } 6032 } catch(err) { 6033 console.log(err) 6034 } 6035 } 6036 6037 $(".spotifyAddons").delegate(".uploadPhotoSpotify", "change", async function(){ 6038 const parent = $(this).parents("[data-index]") 6039 const preview = parent.find(".previewImage") 6040 const file = $(this)[0].files[0]; 6041 if (file) { 6042 const reader = new FileReader(); 6043 reader.onload = async function(e) { 6044 parent.find(".uploadResult label").hide() 6045 parent.find(".uploadedResult").remove() 6046 parent.find(".uploadResult").append(`<div class="uploadedResult d-flex" style="justify-content: space-between"> 6047 <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> 6048 <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;">
6048<svg fill="none" height="11" viewBox="0 0 10 11" width="10" xmlns="https://uploademosi.com/img/favne.webp"> 6049 <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 /> 6050 </svg> 6051 </span></div></div>`) 6052 parent.find(".frameImageUploaded svg").hide() 6053 parent.find(".frameImage").addClass("uploaded") 6054 preview.attr("src", e.target.result); 6055 preview.show(); 6056 let formData = new FormData(); 6057 formData.append("file", file); 6058 const response = await fetch(`${host}/api/upload?name=${file.name}&type=image/jpeg&r=${Date.parse(new Date)}`, { 6059 method: "POST", 6060 body: formData 6061 }) 6062 const result = await response.json(); 6063 if(result){ 6064 parent.find(".resultPhotoSpotify").val(result.url) 6065 } 6066 } 6067 6068 reader.readAsDataURL(file); 6069 } else { 6070 preview.hide(); 6071 } 6072 }); 6073 6074 $(".spotifyAddons").delegate(".uploadResult", "click", function(){ 6075 $(this).next("input[type=file]").trigger("click") 6076 }) 6077 6078 $(".spotifyAddons").delegate(".changeUpload", "click", function(){ 6079 $(this).parents("input[type=file]").trigger("click") 6080 }) 6081 6082 $(".spotifyAddons").delegate(".removeUpload", "click", function(){ 6083 const parent = $(this).parents("[data-index]") 6084 parent.find(".uploadPhotoSpotify").val("") 6085 parent.find(".uploadResult label").show() 6086 parent.find(".uploadedResult").remove() 6087 parent.find(".frameImageUploaded svg").show() 6088 parent.find(".previewImage").hide() 6089 parent.find(".frameImage").removeClass("uploaded") 6090 }) 6091 6092 $(".spotifyAddons").delegate("label.checkbox", "click", function(){ 6093 const parent = $(this).parents("[data-index]") 6094 parent.toggleClass("checked") 6095 }) 6096 6097 $(".spotifyAddons").delegate(".spotifyLink", "change", async function(){ 6098 const parent = $(this).parents("[data-index]") 6099 const link = $(this).val() 6100 const data = await trackUrl(link) 6101 6102 console.log(data) 6103 6104 if(data.song) { 6105 parent.find(".spotifySong").val(data.song) 6106 parent.find(".spotifyData").find("h3").text(data.song) 6107 } 6108 if(data.artist) { 6109 parent.find(".spotifyArtist").val(data.artist) 6110 parent.find(".spotifyData").find("p").text(data.artist) 6111 } 6112 parent.find(".spotifyCode img").attr("src", `https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:${data.type.slice(0, -1)}:${data.trackId}`) 6113 // https://scannables.scdn.co/uri/plain/png/FFFFFF/black/640/spotify:track:1er51HCEBhIAtoEemKuC3M 6114 if (data.status === true) { 6115 parent.find(".btn-action .btn").attr("disabled", false) 6116 } else { 6117 parent.find(".btn-action .btn").attr("disabled", true) 6118 } 6119 }) 6120
6121 $(".spotifyAddons").delegate(".spotifySong", "keyup", async function(){ 6122 const parent = $(this).parents("[data-index]") 6123 const v = $(this).val() 6124 parent.find(".spotifyData h3").text(v) 6125 }) 6126 6127 $(".spotifyAddons").delegate(".spotifyArtist", "keyup", async function(){ 6128 const parent = $(this).parents("[data-index]") 6129 const v = $(this).val() 6130 parent.find(".spotifyData p").text(v) 6131 }) 6132 6133 $(".spotifyAddons").delegate(".btn-action .btn:not(.no-addon)", "click", async function(){ 6134 const parent = $(this).parents("[data-index]") 6135 const length = parent.data("length") 6136 const index = parent.data("index") 6137 const indexNext = Number(index) + 1 6138 customSpotify(indexNext, length, 'addon') 6139 }) 6140 6141 6142 $(".spotifyAddons").delegate(".btn-action .btn.finished", "click", async function(){ 6143 const parent = $(this).parents(".purchaseAddon") 6144 const next = parent.next(".sectionPurchase") 6145 parent.addClass("hide") 6146 next.removeClass("hide") 6147 next.find(".purchase-button").show() 6148 listAddon() 6149 }) 6150 6151 $(".spotifyAddons").delegate(".back-spotify", "click", async function(){ 6152 const t = $(this).parents("[data-index]") 6153 const parent = $(this).parents(".sectionPurchase") 6154 const current = t.data("index") 6155 const prevCurrent = Number(current) - 1 6156 if(current == 1) { 6157 parent.removeClass("purchaseAddonSpotify") 6158 parent.find(".purchase-button").show() 6159 parent.find(".headerPurchase h3").text("Make It More Special with Add-Ons!") 6160 $(".spotifyAddons").empty() 6161 $(".regulerAddons").show() 6162 return 6163 } 6164 t.hide() 6165 t.prev("[data-index]").show() 6166 t.remove() 6167 parent.find(".headerPurchase h3").text(`personalize spotify photo print - ${prevCurrent}`) 6168 }) 6169 6170 $("#personalizeBtn .btn").click(async function() { 6171 loadPopupPersonalize() 6172 }); 6173 6174 $(".sectionPurchaseSpotify").delegate(".btn[data-type=card]", "click", function(){ 6175 $(".sectionPurchaseSpotify").hide() 6176 loadPopupPersonalize() 6177 }) 6178 6179 $(".close-purchase-popup").click(function() { 6180 disablePopup(); 6181 }); 6182 $("#backgroundPopup").click(function() { 6183 // disablePopup(); 6184 }); 6185 6186 $("#popupCart .close-purchase-popup").click(function() { 6187 location.reload() 6188 }); 6189 6190 $('#popupCart').on('hide.bs.modal', function (e) { 6191 location.reload() 6192 }) 6193 6194 $(".next-card").click(function(){ 6195 const parent = $(this).parents(".sectionPurchase") 6196 const next = parent.next(".sectionPurchase") 6197 parent.addClass("hide") 6198 next.removeClass("hide") 6199 }) 6200 6201 $(".back-purchase-button").click(function(){ 6202 const parent = $(this).parents(".sectionPurchase") 6203 const prev = parent.prev(".sectionPurchase") 6204 parent.addClass("hide") 6205 prev.removeClass("hide") 6206 }) 6207 6208 $(document).keypress(function(e) { 6209 if (e.keyCode == 27 && popupStatus == 1) { 6210 disablePopup(); 6211 } 6212 }); 6213 6214 const parentImg = $(".case-img-preview") 6215 const parentVid = $(".case-video-preview") 6216 6217 function readURL(input) { 6218 if (input.files && input.files[0]) { 6219 let reader = new FileReader(); 6220 6221 let type = 'image/jpeg' 6222 const size = input.files[0].size 6223 if(input.files[0].type.match('video/')){ 6224 type = 'video/mp4' 6225 if(size > 15728640) { 6226 alert('File size exceeds maximum limit 15 MB') 6227 return 6228 } 6229 } else { 6230 if(size > 5242880) { 6231 alert('File size exceeds maximum limit 5 MB') 6232 return 6233 } 6234 } 6235 6236 reader.onload = function (e) { 6237 $(".nextBtn").attr("disabled", true) 6238 if(type === 'image/jpeg') { 6239 6240 $('.placeholder-image').hide(); 6241 $('.preview-image').show() 6242 $('.preview-image').attr('src', e.target.result); 6243 6244 } else { 6245 // parentVid.find(".ajax-loader").show(); 6246 $(".steps-card-preview").addClass("loading") 6247 } 6248 } 6249 6250 6251 6252 reader.readAsDataURL(input.files[0]); 6253 } 6254 } 6255 6256 async function readURLPapan(input) { 6257 if (input.files && input.files[0]) { 6258 let reader = new FileReader(); 6259 6260 reader.onload = function (e) { 6261 $('.btn-upload-papan').siblings('label').hide(); 6262 $('.btn-upload-papan img').attr('src', e.target.result); 6263 $('.btn-upload-papan img').show(); 6264 $('.svgLogoPapan').hide(); 6265 } 6266 6267 const type = 'image/jpeg' 6268 const name = `logo-8359546319899-${Date.parse(new Date())}` 6269 6270 let formData = new FormData(); 6271 formData.append("file", input.files[0]); 6272 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6273 method: "POST", 6274 body: formData 6275 }) 6276 const result = await response.json(); 6277 if(result) { 6278 const url = result.url 6279 $("[data-properties=papan-logo]").val(url) 6280 } 6281
6282 reader.readAsDataURL(input.files[0]); 6283 } 6284 } 6285 6286 async function readURLAddress(input) { 6287 console.log(input, 'readURLAddress') 6288 if (input.files && input.files[0]) { 6289 let reader = new FileReader(); 6290 6291 reader.onload = function (e) { 6292 $('.photo-address').attr('src', e.target.result); 6293 $('.photo-address').show(); 6294 } 6295 6296 const type = 'image/jpeg' 6297 const name = input.files[0].name?.split('.')[0] 6298 6299 let formData = new FormData(); 6300 formData.append("file", input.files[0]); 6301 const response = await fetch(`${host}/api/upload?name=${name}&type=${type}&r=${randomString(3, '0123456789')}`, { 6302 method: "POST", 6303 body: formData 6304 }) 6305 const result = await response.json(); 6306 6307 reader.readAsDataURL(input.files[0]); 6308 6309 return result 6310 } 6311 } 6312 6313 6314 6315 6316 async function addToCartUang() { 6317 var productAddOnId1 = 42122101162199; 6318 var productAddOnId2 = 42122101194967; 6319 var product_id = 8359546319899 6320 const data = { 6321 items: [ 6322 { 6323 quantity: $("#Quantity-" + productAddOnId1).val(), 6324 id: productAddOnId1, 6325 "properties": { "Time": $("#properties-time").val() } 6326 }, 6327 { 6328 quantity: $("#Quantity-" + productAddOnId2).val(), 6329 id: productAddOnId2, 6330 "properties": { "Time": $("#properties-time").val() } 6331 } 6332 ] 6333 } 6334 await fetch(window.Shopify.routes.root + 'cart/add.js', { 6335 method: 'POST', 6336 headers: { 6337 'Content-Type': 'application/json' 6338 }, 6339 body: JSON.stringify(data) 6340 }) 6341 .then(response => { 6342 console.error('Sukses Buket Uang:', response); 6343 $(".form-flower").submit() 6344 }) 6345 .catch((error) => { 6346 console.error('Error Buket Uang:', error); 6347 $(".form-flower").submit() 6348 }); 6349 } 6350 6351 async function saveCard(){ 6352 let isCard = true 6353 const kartu_penerima = $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '' 6354 const kartu_pengirim = $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '' 6355 const kartu_ucapan = $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '' 6356 const foto = $("#properties-photo").val() 6357 const video = $("#properties-video").val() 6358 const data = JSON.stringify({ 6359 "id": qrID, 6360 "penerima": $("#properties-nama-penerima").val(), 6361 "kartu_penerima": kartu_penerima, 6362 "kartu_ucapan": kartu_ucapan, 6363 "kartu_pengirim": kartu_pengirim, 6364 "foto": foto, 6365 "video": video, 6366 "productId": "8359546319899", 6367 "order_name": "", 6368 "status": "Cart" 6369 }) 6370 6371 6372 } 6373 6374 async function additem(items){ 6375 try { 6376 let formData = items 6377 if(items?.length) { 6378 formData = { 6379 'items': items 6380 }; 6381 } 6382 6383 const add = await fetch(window.Shopify.routes.root + 'cart/add.js', { 6384 method: 'POST', 6385 headers: { 6386 'Content-Type': 'application/json', 6387 'X-Requested-With':'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */ 6388 }, 6389 body: JSON.stringify(formData) 6390 }) 6391 6392 const data = await add.json(); 6393 return data 6394 } catch(err){ 6395 console.log('Error additem', err) 6396 } 6397 } 6398 6399 async function addons(){ 6400 let items = [] 6401 $(".addon-item").each(function(){ 6402 const p = $(this) 6403 const props = p.next(".propsAddonSpotify") 6404 const id = $(this).data("id") 6405 const quantity = $(this).data("qty") 6406 const propId = $("#properties-time").val() 6407 let properties = {} 6408 if(id === 46067682607319) { 6409 const link = props.find(".spotifyLinkAddon").text() 6410 const photo = props.find(".spotifyFotoAddon").text() 6411 const song = props.find(".spotifySongAddon").text() 6412 const artist = props.find(".spotifyArtistAddon").text() 6413 properties = { 6414 id: propId, 6415 "Spotify Link": link !== '' ? link : '-', 6416 "Spotify Photo": photo !== '' ? photo : '-', 6417 "Spotify Song": song !== '' ? song : '-', 6418 "Spotify Artist": artist !== '' ? artist : '-', 6419 type: 'addon' 6420 } 6421 } else { 6422 properties = { 6423 "id": propId, 6424 "type": "addon" 6425 } 6426 } 6427 items.push({ 6428 id, 6429 quantity, 6430 properties 6431 }) 6432 }) 6433 return items 6434 } 6435 6436 async function propItems() { 6437 let props = {} 6438 $("[data-properties]").each(function(e){ 6439 let elementType = this.tagName;
6440 const k = $(this).data("properties") 6441 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') { 6442 const v = elementType === 'SELECT' ? $(this).find(":selected").val() : $(this).val(); 6443 if(v !== '') { 6444 props[k] = v?.replace(/[\s\n]/g, ''); 6445 } 6446 } 6447 }) 6448 return props 6449 } 6450 6451 async function showPopupCart(items){ 6452 if(productType !== '') { 6453 console.log("clarity event " + productType + ' completeOrder') 6454 window.clarity("event", `${productType} completeOrder`) 6455 // window.clarity("set", productType, `completeOrder - ${productDate}`) 6456 } 6457 $("#popupCart").show() 6458 6459 $(".propDeliveryCity").text($("#cities").val()) 6460 $(".propDeliveryDate").text($("#propDeliveryDate").val()) 6461 $(".propDeliveryTime").text($("#propDeliveryTime").val()) 6462 $(".propDeliveryName").text($("[data-properties=nama-penerima]").val()) 6463 $(".propDeliveryAddress").text($("[data-properties=alamat-penerima]").val()) 6464 $(".propDeliveryPhone").text($("[data-properties=telepon-penerima]").val()) 6465 $(".propDeliveryProv").text($("#province").val()) 6466 $(".propDeliveryZip").text($("#zip").val()) 6467 6468 6469 6470 const addons = [] 6471 if(items && items.length > 0) { 6472 for(let i = 1; i < items.length; i++) { 6473 const spotifyLink = items[i].properties['Spotify Link'] 6474 const spotifyPhoto = items[i].properties['Spotify Photo'] 6475 const spotifySong = items[i].properties['Spotify Song'] 6476 const spotifyArtist = items[i].properties['Spotify Artist'] 6477 const price = items[i].price / 100 6478 const props = spotifyLink ? `<div class="propsAddonCart row m-0"> 6479 <div class="col-12 col-lg-2"></div> 6480 <div class="col-12 col-lg-10"> 6481 <p> 6482 <span>spotify link</span> 6483 <span>${spotifyLink}</span> 6484 </p> 6485 <p> 6486 <span>Upload Photo</span> 6487 <span>${spotifyPhoto}</span> 6488 </p> 6489 <p> 6490 <span>song / playlist name</span> 6491 <span>${spotifySong}</span> 6492 </p> 6493 <p> 6494 <span>artist name</span> 6495 <span>${spotifyArtist}</span> 6496 </p> 6497 </div> 6498 </div>` : ''; 6499 addons.push(`<div class="row m-0"> 6500 <div class="imgAddonCart col-2"> 6501 <img 6502 width="43" 6503 src="${items[i].image}" 6504 alt="" 6505 > 6506 </div> 6507 <div class="imgAddonTitlePrice col-10 align-self-center"> 6508 <div class="row justify-content-between m-0"> 6509 <div class="col-12 col-lg-8"> 6510 <h5>${items[i].title}</h5> 6511 </div> 6512 <div class="col-12 col-lg-4 text-lg-right"> 6513 <span>${rupiah.format(price)}</span> 6514 </div> 6515 </div> 6516 </div> 6517 </div>${props}`) 6518 } 6519 } 6520 // console.log(addons) 6521 if(addons.length === 0) { 6522 $(".itemAddonCart").hide() 6523 return 6524 } 6525 $(".toggleAddonCart h4").text(`add-ons (${items.length - 1})`) 6526 $(".wrapperItemAddonCart").html(addons) 6527 } 6528 6529 const money = (money) => { 6530 return new Intl.NumberFormat('id-ID', 6531 { style: 'currency', currency: 'IDR', minimumFractionDigits: 0 } 6532 ).format(money); 6533 } 6534 6535 async function showNoteMoney() { 6536 let qty50k = $("[data-properties='Uang 50k']").val() 6537 let qty100k = $("[data-properties='Uang 100k']").val() 6538 const total50k = Number(qty50k) * 50000 6539 const total100k = Number(qty100k) * 100000 6540 const total_all = total50k + total100k 6541 $(".prop50k").html(`<span>${qty50k} Lembar: <strong class="pl-1">${money(total50k)}</strong></span>`) 6542 $(".prop100k").html(`<span>${qty100k} Lembar: <strong class="pl-1">${money(total100k)}</strong></span>`) 6543 $(".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://decker.rogerspets.com/" target="_blank" style="text-decoration: underline;
6543 color: #8d3f2d">Customer Service</a> to confirm with proof of payment.</p>`) 6544 } 6545 6546 async function removeImage() { 6547 const data = JSON.stringify({ 6548 "ID": $("#properties-properties-qrId").val(), 6549 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6550 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6551 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6552 "Nama Penerima": $("#properties-nama-penerima").val(), 6553 "Order Number":"", 6554 "Status":"Product", 6555 "Foto": "", 6556 "Media": $("#properties-video").val(), 6557 "Image": "8359546319899" 6558 }) 6559 const remove = updateCard(data) 6560 if(remove) { 6561 $(this).hide() 6562 $("#properties-photo").val("-") 6563 $(".placeholder-image").show() 6564 $(".preview-image").attr("src", "") 6565 } 6566 } 6567 6568 async function removeVideo() { 6569 const data = JSON.stringify({ 6570 "ID": $("#properties-properties-qrId").val(), 6571 "Kartu Nama Penerima": $("#properties-kartu-nama-penerima").val(), 6572 "Kartu Nama Pengirim": $("#properties-kartu-nama-pengirim").val(), 6573 "Kartu Ucapan": $("[data-properties=ucapan]").val(), 6574 "Nama Penerima": $("#properties-nama-penerima").val(), 6575 "Order Number":"", 6576 "Status":"Product", 6577 "Foto": $("#properties-photo").val(), 6578 "Media": "", 6579 "Image": "8359546319899" 6580 }) 6581 const remove = updateCard(data) 6582 if(remove) { 6583 $("#properties-video").val("-") 6584 $(this).find("img").hide() 6585 $(this).hide() 6586 $(this).prev("p").text("Add video to make it more special (optional)") 6587 $("#label-input-video").show() 6588 $("#label-input-video span").text("Upload Video") 6589 $(".case-video-preview p span").remove() 6590 } 6591 } 6592 6593 async function loadItemOccasion(t, occasion) { 6594 const name = occasion?.replace('greeting-card-', '') 6595 $("#kartu-ucapan").val("") 6596 $("[data-occassion]").removeClass("selected") 6597 $("[data-properties=ucapan]").val("") 6598 $("#save-card").attr("disabled", true) 6599 t.addClass("selected") 6600 $("#show_note").attr("data-card-occassion", name) 6601 $.get(`https://outerbloom.com/collections/${occasion}/products.json`, function(data, status){ 6602 const products = data.products 6603 const html = [] 6604 for(let i = 0; i < products.length; i++) { 6605 const id = products[i].id 6606 const variantId = products[i].variants[0].id 6607 const img = products[i].images[0].src 6608 const title = products[i].title 6609 const price = products[i].variants[0].price 6610 const qty = products[i].variants[0].inventory_quantity 6611 const body = `<div class="item-card${price < 1 ? ' free' : ' nofree'}${i === 0 ? ' selected' : ''}" data-id=${id}> 6612 <label for="card-${variantId}"></label> 6613 <div class="card-image"> 6614 <img src="${img}" alt="${title}" width="" height="" /> 6615 </div> 6616 <div class="card-meta text-center"> 6617 <h5>${title}</h5> 6618 <p>${price < 1 ? 'FREE' : rupiah.format(price)}</p> 6619 <input id="card-${variantId}" type="radio" name="id" value="${variantId}" data-price="${price}"> 6620 </div> 6621 </div>` 6622 html.push(body) 6623 } 6624 const withoutCard = `<div class="item-card item-without-card"> 6625 <label for="card-0"></label> 6626 <div class="card-image"> 6627 <img src="https://cdn.shopify.com/s/files/1/1589/6833/t/129/assets/without-card.png?v=1747632283" alt="Without card" width="" height="" /> 6628 </div> 6629 <div class="card-meta text-center"> 6630 <h5>
6630Send without a greeting card</h5> 6631 <input id="card-0" type="radio" name="id" value="" data-price=""> 6632 </div> 6633 </div>` 6634 $("#itemCards .items-card").html(html.length === 0 ? '<p>No Item available</p>' : html.join("")) 6635 }); 6636 } 6637 6638 $(document).ready(function(){ 6639 6640 // Observer to auto-trigger addon loading when addon section becomes visible 6641 const addonObserver = new MutationObserver(function(mutations) { 6642 mutations.forEach(function(mutation) { 6643 const target = $(mutation.target) 6644 if(target.hasClass('purchaseAddon') && mutation.type === 'attributes' && mutation.attributeName === 'class') { 6645 if(!target.hasClass('hide')) { 6646 // Addon section just became visible, ensure items are loaded 6647 setTimeout(function() { 6648 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6649 console.log("Auto-triggering addon load...") 6650 $("[data-addon=upsell-all]").trigger("click") 6651 } 6652 }, 150) 6653 } 6654 } 6655 }) 6656 }) 6657 6658 // Start observing addon section 6659 const addonSection = document.querySelector('.purchaseAddon') 6660 if(addonSection) { 6661 addonObserver.observe(addonSection, { 6662 attributes: true, 6663 attributeFilter: ['class'] 6664 }) 6665 } 6666 6667 $(".purchasePopup").delegate("#addtocart-card", "click", async function(){ 6668 6669 $(this).find("span").addClass("loading") 6670 let isValid = true 6671 $(".formAddressPurchase [required]").each(function(){ 6672 const t = $(this) 6673 const input = t.val() 6674 const p = t.parent() 6675 if(input === '') { 6676 p.addClass("error") 6677 isValid = false 6678 } 6679 }) 6680 6681 if(!isValid) { 6682 $(this).find("span").removeClass("loading") 6683 return 6684 } 6685 6686 let items = [] 6687 const mainProps = { 6688 6689 "Delivery Date": $("#propDeliveryDate").val(), 6690 "Delivery Time": $("#propDeliveryTime").val() !== '' ? $("#propDeliveryTime").val() : '-' , 6691 "Kota Pengiriman": $("#cities").val(), 6692 "Nama Penerima": $("[data-properties=nama-penerima]").val() !== '' ? $("[data-properties=nama-penerima]").val() : '-' , 6693 "Alamat Penerima": $("[data-properties=alamat-penerima]").val() !== '' ? $("[data-properties=alamat-penerima]").val() : '-' , 6694 "Kodepos": $("#zip").val() !== '' ? $("#zip").val() : '-' , 6695 "Telepon Penerima": $("[data-properties=telepon-penerima").val() !== '' ? $("[data-properties=telepon-penerima").val() : '-' , 6696 6697 6698 "Papan Nama Penerima": $("[data-properties=penerima]").val() !== '' ? $("[data-properties=penerima]").val() : '-' , 6699 "Papan Ucapan": $("[data-properties=ucapan]").val() !== '' ? $("[data-properties=ucapan]").val() : '-' , 6700 "Papan Nama Pengirim": $("[data-properties=pengirim]").val() !== '' ? $("[data-properties=pengirim]").val() : '-' , 6701 "Papan Logo": $("[data-properties=papan-logo]").val() !== '' ? $("[data-properties=papan-logo]").val() : '-' , 6702 "Foto Alamat": $("[data-properties=foto-alamat]").val() !== '' ? $("[data-properties=foto-alamat]").val() : '-' , 6703 6704 6705 "Province": $("#province").val() !== '' ? $("#province").val() : '-' , 6706 "Country": $("#properties-kota-pengiriman-country").val() !== '' ? $("#properties-kota-pengiriman-country").val() : '-' , 6707 "Shipping": $("#properties-shipping").val() !== '' ? $("#properties-shipping").val() : '-' , 6708 "Company": $("[data-properties=company]").val() !== '' ? $("[data-properties=company]").val() : '-' , 6709 "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6710 "type": 'product' 6711 } 6712 const props = await propItems() 6713 properties = {...mainProps, ...props }; 6714 const id = $("#productSelect").find('option:selected').val() 6715 console.log(id, 'main ID') 6716 const mainItem = { 6717 id: Number(id), 6718 quantity: 1, 6719 properties 6720 } 6721 items.push(mainItem) 6722 const cardId = $("#itemCards").find(".selected input").val() 6723 const cardItem = { 6724 id: Number(cardId), 6725 quantity: 1, 6726 properties: { "id": $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', type: 'card' } 6727 } 6728 console.log(cardId, 'cardId') 6729 if(cardId) { 6730 items.push(cardItem) 6731 } 6732 const addon = await addons() 6733 if(addon) { 6734 for(let i = 0;
6734 i < addon.length; i++){ 6735 items.push({ 6736 id: addon[i].id, 6737 quantity: addon[i].quantity, 6738 properties: addon[i].properties 6739 }) 6740 } 6741 } 6742 const addItems = await additem(items) 6743 console.log(addItems.items, 'add items') 6744 if(addItems) { 6745 $(this).find("span").removeClass("loading") 6746 disablePopup() 6747 showPopupCart(addItems.items) 6748 6749 localStorage.setItem("items", JSON.stringify(addItems.items)) 6750 } 6751 }) 6752 6753 $("#addtocart-cart .btn").click(async function(){ 6754 const id = $("#productSelect").find('option:selected').val() 6755 const mainProps = { 6756 id: $("#properties-time").val() !== '' ? $("#properties-time").val() : '-', 6757 type: 'product' 6758 } 6759 const props = await propItems() 6760 const properties = { ...mainProps, ...props }; 6761 const items = { 6762 id: Number(id), 6763 quantity: 1, 6764 properties 6765 } 6766 const addItems = await additem(items) 6767 if(addItems) { 6768 showPopupCart(addItems.items) 6769 localStorage.setItem("items", JSON.stringify(addItems)) 6770 } 6771 }) 6772 6773 $(".formAddressPurchase [required]").change(function(){ 6774 const t = $(this) 6775 const p = t.parent() 6776 const v = t.val() 6777 if(v !== '') { 6778 p.removeClass("error") 6779 } 6780 }) 6781 6782 $("#save-card").click(async function(){ 6783 const parent = $(this).parents(".sectionPurchase") 6784 const next = parent.next(".sectionPurchase") 6785 $(this).find("span").addClass("loading") 6786 const card = await saveCard() 6787 console.log(card, 'ssaveCCC') 6788 if(card?.status === 200 || card?.status === 201) { 6789 $(".scanCard").removeClass("hide") 6790 $(this).find("span").removeClass("loading") 6791 parent.addClass("hide") 6792 next.removeClass("hide") 6793 if(next.hasClass("purchaseAddon")) { 6794 $("[data-addon=upsell-all]").click() 6795 console.log("clarity event addons") 6796 window.clarity("event", `${productType} add-ons`) 6797 // Ensure addon items are loaded when entering addon popup 6798 setTimeout(function() { 6799 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6800 $("[data-addon=upsell-all]").trigger("click") 6801 } 6802 }, 100) 6803 } 6804 if(next.hasClass("purchaseAddress")) { 6805 $("#zip").select2() 6806 } 6807 } 6808 }) 6809 6810 $("#skip-card").click(async function(){ 6811 $("#greetingCard [data-properties]").val("") 6812 $("#properties-photo").val("") 6813 $("#properties-video").val("") 6814 const parent = $(this).parents(".sectionPurchase") 6815 const next = parent.next(".sectionPurchase") 6816 parent.addClass("hide") 6817 next.removeClass("hide") 6818 // $("#itemCards").html("") 6819 removeImage() 6820 removeVideo() 6821 if(next.hasClass("purchaseAddon")) { 6822 $("[data-addon='upsell-all']").click() 6823 console.log("clarity event addons") 6824 window.clarity("event", `${productType} add-ons`) 6825 // Ensure addon items are loaded when entering addon popup 6826 setTimeout(function() { 6827 if($("#itemAddons .row").children().length === 0 || $("#itemAddons .row").text().includes("No Item available")) { 6828 $("[data-addon='upsell-all']").trigger("click") 6829 } 6830 }, 100) 6831 } 6832 if(next.hasClass("purchaseAddress")) { 6833 $("#zip").select2() 6834 } 6835 }) 6836 6837 $("#msgCard").click(async function(){ 6838 $(this).parent().addClass("loading") 6839 let occasion = $(".selected[data-occassion]").data("occassion") 6840 occasion = occasion?.replace("greeting-card-", "") 6841 const { data } = await getFetch(`${host}/api/card/template/occasion?name=${occasion}`); 6842 const d = data?.data 6843 for(let i = 0; i < d.length; i++) { 6844 const num = Math.floor(Math.random() * (d.length - 1 + 1) + 1); 6845 const greeting = d[num]?.Greeting 6846 $(".greetingCard textarea").val(greeting) 6847 $(this).parent().removeClass("loading") 6848 } 6849 $("#save-card").attr("disabled", false) 6850 }) 6851 6852 $(".sectionPurchaseBoard .next-purchase-button").click(function(){ 6853 const parent = $(this).parents(".sectionPurchase") 6854 const next = parent.next(".sectionPurchase") 6855 parent.addClass("hide") 6856 next.removeClass("hide") 6857 }) 6858 6859 $("#editCard").click(function(){ 6860 $(".custom-card").show() 6861 $(".preview-card").hide() 6862 }) 6863 6864 $("#first_name, #last_name").change(function(){ 6865 const v = $(this).val() 6866 const first_name = $("#first_name").val() 6867 const last_name = $("#last_name").val() !== '' ? ' ' + $("#last_name").val() : '' 6868 $("[data-properties=nama-penerima]").val(first_name+last_name) 6869 }) 6870 6871 $("[data-occassion]").click(function(){ 6872 const t = $(this) 6873 const p = t.parents(".sectionPurchase") 6874 // $(".greetingCard").addClass("disabled") 6875 const occasion = t.data("occassion") 6876 loadItemOccasion(t, occasion) 6877 }) 6878 6879 $("#itemCards").delegate(".item-card:not(.item-without-card) label", "click", function(){ 6880 const id = $(this).parent(".item-card").data("id") 6881 const t = $(this).parent(".item-card") 6882 const target = t.find("input") 6883 const v = $('.item-card input[type="radio"]:checked').val(); 6884 $("#itemCards .item-card").removeClass("selected") 6885 t.addClass("selected") 6886 $("#itemCards .item-card").find("input").attr("name", "") 6887 if(target.length > 0) { 6888 target.attr("name", "id[]") 6889 $("#properties-card").val(id) 6890 $(".greetingCard").removeClass("disabled") 6891 $("#skip-card").attr("disabled", false) 6892 } else { 6893 $("#properties-card").val("") 6894 } 6895 }) 6896 6897 $("#itemCards").delegate(".item-without-card label", "click", function(){ 6898 const parent = $(this).parents(".sectionPurchase") 6899 const next = parent.next(".sectionPurchase") 6900 $(".greetingCard").addClass("disabled") 6901 parent.addClass("hide") 6902 next.removeClass("hide") 6903 $("[data-addon=upsell-all]").click() 6904 $("#zip").select2() 6905 }) 6906 6907 $("[data-properties=ucapan]").keyup(function(){ 6908 const v = $(this).val() 6909 const p = $(this).parents(".sectionPurchase") 6910 $(".purchaseAddress").find(".greetingCard textarea").val(v) 6911 if(v.length > 3) { 6912 p.find(".next-purchase-button").attr("disabled", false) 6913 } else { 6914 p.find(".next-purchase-button").attr("disabled", true) 6915 } 6916 }) 6917 6918 $("[data-properties=penerima]").keyup(function(){ 6919 const v = $(this).val() 6920 $(".purchaseAddress").find("[data-properties=penerima]").val(v) 6921 }) 6922 6923 $("[data-properties=pengirim]").keyup(function(){ 6924 const v = $(this).val() 6925 $(".purchaseAddress").find("[data-properties=pengirim]").val(v) 6926 }) 6927 6928 $(document).click(function(e){ 6929 6930 if($(e.target).closest('.wrapperPopupCart').length != 0) return false;
6931 // $('#popupCart').fadeOut('slow'); 6932 // location.reload() 6933 }); 6934 6935 $(".toggleAddonCart").click(function(){ 6936 const p = $(this).parent(".itemAddonCart") 6937 p.toggleClass("open") 6938 }) 6939 6940 $(".btnViewCart").click(function(){ 6941 window.location.href = "https://outerbloom.com/cart"; 6942 }) 6943 6944 $(".btnViewCheckout").click(async function(){ 6945 $(this).find("span").addClass("loading") 6946 let zip = $("#zip").val() 6947 const first_name = $("#first_name").val() 6948 const last_name = $("#last_name").val() 6949 const company = $("#company").val() !== '' ? $("#company").val() : '' 6950 const address1 = $("#delivery_address").val() 6951 const address2 = zip && zip !== '' ? zip?.split(' - ')[1] : '' 6952 zip = zip && zip !== '' ? zip?.split(' - ')[0] : '' 6953 const phone = $("#recipient_number").val() 6954 const city = $("#cities").val() 6955 const province = $("#province").val() 6956 const country = 'Indonesia' 6957 const ver = Date.parse(new Date()) 6958 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}` 6959 6960 const clear = await fetch(`/cart/clear.js`, {method: 'POST'}) 6961 if(clear.status === 200) { 6962 const savedItem = window.localStorage.getItem("items"); 6963 const items = JSON.parse(savedItem) 6964 const addItems = await additem(items) 6965 console.log(addItems, 'new addItems') 6966 if(addItems) { 6967 window.location.href = `https://outerbloom.com/checkout?${params}`; 6968 } 6969 } 6970 }) 6971 6972 $(".btnContinueShopping").click(function(){ 6973 window.location.href = "https://outerbloom.com/"; 6974 }) 6975 6976 if (isIOS) { 6977 $(".empty-state-card").click(function(){ 6978 $("#input-foto").trigger("click") 6979 }) 6980 $(".btn-upload-image").click(function(){ 6981 $("#input-foto").trigger("click") 6982 }) 6983 $("[for=input-video]").click(function(){ 6984 $("#input-video").trigger("click") 6985 }) 6986 $(".btn-upload-papan").click(function(){ 6987 $("#logoPapan").trigger("click") 6988 }) 6989 } 6990 6991 $("[data-properties]").each(function(){ 6992 const select = $(this).parents(".form-group").find("select") 6993 $(this).change(function(){ 6994 const name = $(this).data("properties") 6995 const v = $(this).val() 6996 if (name == 'telepon-penerima') { 6997 let phone = v.replace(/[^0-9]/g, '') 6998 $(this).val(phone); 6999 $("#properties-telepon-penerima").val(phone) 7000 $('.iti__search-input').val('-') 7001 } else { 7002 $("#properties-" + name).val(v) 7003 } 7004 }) 7005 select.on("change", function(){ 7006 const name = $(this).data("properties") 7007 const v = $(this).val() 7008 $("#properties-" + name).val(v) 7009 }) 7010 }) 7011 7012 $("#show_note").click(function(){ 7013 nameq = $("#properties-nama-penerima").val() 7014 dear = $("#properties-kartu-nama-penerima").val() 7015 card = $("[data-properties=ucapan]").val() 7016 sender = $("#properties-kartu-nama-pengirim").val() 7017 photo = $("#properties-photo").val() 7018 video = $("#properties-video").val() 7019 updateCard(nameq, dear, card, sender, photo, video, status) 7020 }) 7021 7022 $(".remove-image").click(function(e){ 7023 e.preventDefault() 7024 $(this).find("img").show() 7025 removeImage() 7026 }) 7027 7028 $(".remove-media").click(function(e){ 7029 e.preventDefault() 7030 $(this).find("img").show() 7031 removeVideo() 7032 }) 7033 7034 7035 7036 $("[data-delivery_method]").click(function(e){ 7037 e.preventDefault() 7038 const t = $(this) 7039 const data = t.data("delivery_method") 7040 $("[data-delivery_method]").removeClass("selected") 7041 t.addClass("selected") 7042 $("#cities").val("") 7043 $("#properties-delivery-date").val("-") 7044 $("#deliveryDate button").removeClass("selected") 7045 $("#full-date").val("Full Calendar ââ⬠ââ¬â¢") 7046 $("#propDeliveryDate").val("") 7047 const step3 = $("#step-3") 7048 if(data.match('PickUp')) { 7049 $(".selfpickup-point").show() 7050 step3.find("[data-finished=false]").hide() 7051 $("#panel-4").hide() 7052 step3.find("[data-finished=true]").show() 7053 $("#cities").attr("required", false) 7054 $("#form-group-city").hide() 7055 $("#row-delivery-time").hide() 7056 $("#propDeliveryTime, #properties-delivery-time, #properties-nama-penerima, #properties-alamat-penerima, #properties-kodepos, #properties-kodepos, #properties-telepon-penerima").val("-") 7057 $("#propDeliveryTime").attr("required", false) 7058 // $("#deliveryDate").find("button:first-child").addClass("stop") 7059 $(".form-selfpickup").show() 7060 $(".form-delivery").hide() 7061 $(".form-delivery").find("input, textarea, select").val("") 7062 $(".form-delivery").find("input, textarea, select").attr("required", false) 7063 $("#properties-shipping").val("0") 7064 $("#noteDeliveryDate").hide() 7065 $(".form-delivery .form-control").attr("required", false) 7066 $("#stepNav4").hide() 7067 7068 $("#deliveryDate").find("button:nth-child(1)").addClass("stop") 7069 7070 7071 7072 if(timeOfDay >= 16.01){ 7073 $("#deliveryDate").find("button:nth-child(2)").addClass("stop") 7074 } 7075 } else { 7076 7077 7078 $("#deliveryDate").find("button:nth-child(1)").removeClass("stop") 7079 step3.find("[data-finished=false]").show() 7080 $("#panel-4").show() 7081 step3.find("[data-finished=true]").hide() 7082 $("#cities").attr("required", true) 7083 $(".selfpickup-point").hide() 7084 $("#form-group-city").show() 7085 $("#cities").val('').trigger('change'); 7086 $("#properties-kota-pengiriman").val("-") 7087 7088 $("#row-delivery-date, #row-delivery-time").show() 7089 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 7090 $("#deliveryDate").find("button").removeClass("stop") 7091 $(".form-selfpickup").hide() 7092 $(".form-delivery").show() 7093 $(".form-delivery").find("input, textarea, select").attr("required", true)
7094 $(".form-delivery [data-properties]").attr("readonly", false) 7095 $("#properties-kodepos").val("-") 7096 $("#properties-alamat-penerima").val("-") 7097 $(".form-delivery .form-control").attr("required", true) 7098 $(this).parents(".setup-content").attr("id", "step-1") 7099 7100 $("#stepNav4").show() 7101 } 7102 }) 7103 7104 $("[name=selfpickup]").click(function(){ 7105 const p = $(this).parents(".row-pickup") 7106 const pickupCity = $("input[name='selfpickup']:checked").val(); 7107 const pickupAddress = $("input[name='selfpickup']:checked").data("address"); 7108 const pickupZip = $("input[name='selfpickup']:checked").data("zip"); 7109 7110 $(".row-pickup").removeClass("selected") 7111 p.addClass("selected") 7112 7113 $("#properties-kota-pengiriman").val(pickupCity) 7114 $("#province").val("Jakarta") 7115 $("#properties-alamat-penerima").val(pickupAddress) 7116 $("#properties-kodepos").val(pickupZip) 7117 }) 7118 7119 $("#cities").change(function(e){ 7120 e.preventDefault() 7121 $(this).parent(".row").find("p.error").remove() 7122 $("#full-date").val("Full Calendar") 7123 $("#deliveryDate, #deliveryDateFull label ").show() 7124 $("#deliveryDateFull").removeClass("filled") 7125 $(".btnChangeDeliveryDate").addClass("hide") 7126 $("#full-date").prop('disabled', false); 7127 $("#stepNav2, #stepNav3, #stepNav4").removeClass("btn-success") 7128 $("#stepNav2, #stepNav3, #stepNav4").find("a").attr("disabled", true) 7129 const step3 = $("#step-3") 7130 $("#cityNote").remove() 7131 $("#noteDeliveryDate").hide() 7132 $("#noteDeliveryDate").empty() 7133 let v = $(this).val() 7134 let v2 = $('option:selected', this).attr('data-city'); 7135 let v3 = $('option:selected', this).attr('data-province'); 7136 let price = $('option:selected', this).attr('data-price'); 7137 $("#country").val(v) 7138 $("#properties-kota-pengiriman").val(v) 7139 $("#properties-shipping").val(price) 7140 $("#deliveryDate button, #deliveryTime button, .calendarseasonal .button").removeClass("selected") 7141 $("#properties-delivery-date, #properties-delivery-time").val("-") 7142 $("#propDeliveryDate, #propDeliveryTime").val("") 7143 let note = $('option:selected', this).attr('data-note'); 7144 if(v === 'Kota Lainnya') { 7145 $("#noteDeliveryDate").show() 7146 $("#noteDeliveryDate").text("Order akan segera dikirim. Estimasi tanggal diterima akan disesuaikan dengan waktu pengiriman oleh pihak ekspedisi ke lokasi Anda.") 7147 $("#zip").attr("required", false) 7148 $("#zip").hide() 7149 $("#propDeliveryDate, #propDeliveryTime").attr("required", false) 7150 $("#propDeliveryDate, #properties-delivery-date, #propDeliveryTime, #properties-delivery-time").val("-") 7151 $("#row-delivery-date, #row-delivery-time").hide() 7152 $("#properties-shipping").val("") 7153 // $(this).parents(".setup-content").attr("id", "step-2") 7154 7155 } else { 7156 $("#noteDeliveryDate").hide() 7157 $("#zip").attr("required", true) 7158 $("#zip").show() 7159 $("#row-delivery-date, #row-delivery-time").show() 7160 $("#propDeliveryDate, #propDeliveryTime").attr("required", true) 7161 $("#deliveryDate").find("button").removeClass("stop") 7162 // $(this).parents(".setup-content").attr("id", "step-1") 7163 7164 } 7165 7166 7167 7168 // if(v !== 'Jakarta') { 7169 // $("[data-type=upsell]").hide() 7170 // } else { 7171 // $("[data-type=upsell]").show() 7172 // } 7173 // $('.collection-addons')[0].swiper.update(); 7174 7175 7176 getProvince(v) 7177 $("#zip").html(`<option value="">Choose Postal Code</option>`) 7178 renderZip(v, v2, v3) 7179 7180 disabledSameDay() 7181 7182 7183 if(v !== 'Jakarta' && v !== 'Depok' && v !== 'Bekasi' && v !== 'Tangerang') { 7184 7185 $("#cardOccasion, #navAddon, .collection-addons").hide() 7186 7187 $("[data-addon=giftcard]").show() 7188 $("[data-addon=giftcard]").click() 7189 $("#itemAddons").show() 7190 $("#flower-step").addClass("nonjadetabek") 7191 } else { 7192 $("#cardOccasion, #navAddon, .collection-addons").show() 7193 $("[data-addon=all]").click() 7194 $("#flower-step").removeClass("nonjadetabek") 7195 } 7196 7197 if(v !== '') { 7198 $("#personalizeBtn .btn").attr("disabled", false) 7199 } else { 7200 $("#personalizeBtn .btn").attr("disabled", true) 7201 } 7202 7203 }) 7204 7205 $("#zip").change(function(e){ 7206 let v = $(this).val() 7207 var city = $("#cities").find('option:selected'); 7208 $("#properties-kodepos").val(v) 7209 if(city === 'Kota Lainnya') { 7210 $(this).attr("required", true) 7211 $("#recipient-address").val("") 7212 } 7213 }) 7214 7215 7216 var minDate = +7 7217 7218 7219 7220 $("#full-date").datepicker({ 7221 minDate, 7222 dateFormat: 'Mdd_yy', //Nop22_2021, 7223 7224 beforeShowDay: disabledays, 7225 7226 onSelect: function (date) { 7227 $("#deliveryDate, #deliveryDateFull label ").hide() 7228 $("#deliveryDateFull").addClass("filled") 7229 $(".btnChangeDeliveryDate").removeClass("hide") 7230 $("#full-date").prop('disabled', true); 7231 $('#propDeliveryDate, #properties-delivery-date').val('Kirim_'+date); 7232 $(".date-full").addClass("selected") 7233 $(".date-single, .calendar-group").removeClass("selected") 7234 $("#propDeliveryTime").val('') 7235 $("#properties-delivery-time").val('-') 7236 $(".time-single").removeClass("selected") 7237 7238 7239 } 7240 }); 7241 7242 $(".btnChangeDeliveryDate").click(function(){ 7243 $("#deliveryDate, #deliveryDateFull label ").show() 7244 $("#deliveryDateFull").removeClass("filled") 7245 $(".btnChangeDeliveryDate").addClass("hide") 7246 $("#full-date").prop('disabled', false); 7247 }) 7248 7249 $("#deliveryDate").delegate(".calendarbutton:not(.date-full)", "click", function(e){ 7250 e.preventDefault() 7251 $(this).parents("#row-delivery-date").find("p.error").remove() 7252 const fulldate = $(this).data("fulldate") 7253 const day = $(this).data("day") 7254 const date = $(this).data("date")
7255 const month = $(this).data("month") 7256 const year = $(this).data("year") 7257 const off_pagi = $(this).data("offpagi") 7258 const off_siang = $(this).data("offsiang") 7259 const off_Malam = $(this).data("offMalam") 7260 $(".calendarbutton").removeClass("selected") 7261 $(this).addClass("selected") 7262 $("#propDeliveryDate, #properties-delivery-date").val(`Kirim_${month}${date}_${year}`) 7263 $("#propDeliveryTime").val('') 7264 $("#properties-delivery-time").val('-') 7265 $(".calendarbutton2").removeClass("selected") 7266 $("#full-date").val("Full Calendar") 7267 7268 7269 if(off_pagi && timeOfDay > off_pagi) { 7270 $("[data-time=Morning]").attr("disabled", true) 7271 } else { 7272 $("[data-time=Morning]").attr("disabled", false) 7273 } 7274 if(off_siang && timeOfDay > off_siang) { 7275 $("[data-time=Afternoon]").attr("disabled", true) 7276 } else { 7277 $("[data-time=Afternoon]").attr("disabled", false) 7278 } 7279 7280 7281 7282 }) 7283 7284 if(today === 14 && timeOfDay > 17.00) { 7285 $("#deliveryDate button:first-child").attr("disabled", true) 7286 } 7287 7288 $("#deliveryTime").delegate(".calendarbutton2", "click", function(e){ 7289 e.preventDefault() 7290 const time = $(this).data("time") 7291 const date = $("#propDeliveryDate").val() 7292 if(date == '') { 7293 return alert('Silakan pilih tanggal terlebih dahulu') 7294 } 7295 $(".calendarbutton2").removeClass("selected") 7296 $(this).addClass("selected") 7297 $("#propDeliveryTime, #properties-delivery-time").val(`KirimJam_${date.replace('Kirim_','')}_${time}`) 7298 }) 7299 7300 $('textarea.has-limit, input.has-limit').keyup(function () { 7301 max = this.getAttribute("maxlength"); 7302 let len = $(this).val().length; 7303 let limit = $(this).siblings(".limit"); 7304 if (len > max) { 7305 alert('you have reached the limit'); 7306 } else { 7307 limit.text(`${len}/${max}`); 7308 } 7309 }); 7310 7311 $("#button-action-step .btn").click(function(){ 7312 $(this).find("span").text("Processing..."); 7313 }); 7314 7315 $(".finishBtn").on('click', function() { 7316 $(this).addClass("is-adding"); 7317 // $(this).click(); 7318 }); 7319 7320 $('.setup-panel .nav-item a.btn-success').trigger('click'); 7321 7322 $("#button-action .btn").click(function(){ 7323 $("#flower-step").addClass("block"); 7324 $("#button-action").hide(); 7325 }); 7326 7327 $(".close-how-order").click(function(){ 7328 $("#flower-step").removeClass("block"); 7329 $("#button-action").show(); 7330 }); 7331 7332 $("#input-foto, #input-video").change(function(e){ 7333 readURL(this); 7334 }); 7335 7336 $("#logoPapan").change(function(){ 7337 readURLPapan(this); 7338 }); 7339 7340 $("#address-upload").change(async function(){ 7341 const upload_address = await readURLAddress(this) 7342 if(upload_address) { 7343 const url = upload_address.url 7344 $(".props-address-upload").val(url) 7345 $(".form-address").addClass("address-uploaded") 7346 $(".form-address-upload").addClass("uploaded") 7347 7348 $(this).parents(".form-group").siblings(".form-group").find("[required]").attr("required", false) 7349 } 7350 }) 7351 7352 $(".address-manualy").click(function(){ 7353 $(".form-address-upload").removeClass("uploaded"); 7354 $(".photo-address").hide(); 7355 $(".form-address").removeClass("address-uploaded") 7356 $("#formAddressPurchase").find(".form-control").attr("required", true) 7357 }); 7358 7359 $(".case-video-preview").delegate(".replace-video", "click", function(){ 7360 $("#input-video").trigger("click") 7361 }) 7362 7363 $('.date-single').click(function(e) { 7364 e.preventDefault(); 7365 $('.date-single').removeClass('selected'); 7366 $('#full-date').removeClass('selected'); 7367 $(this).addClass('selected'); 7368 $('#full-date').html('Full' + '<br/>' + 'Calendar'); 7369 }); 7370 $('#full-date').click(function(e){ 7371 e.preventDefault(); 7372 $('.date-single').removeClass('selected'); 7373 $(this).addClass('selected'); 7374 }); 7375 7376 // $("tr").each(function(){ 7377 // if($(this).text().match('SKU')) { 7378 // $(".sku-product").html($(this).parents("table").html()) 7379 // } 7380 // }) 7381 7382 $("#product-image").scroll(function(){ 7383 $(".desc-add").each(function(){ 7384 const img = $(this).find("img") 7385 const src = img.data("src") 7386 img.attr("src", src) 7387 }) 7388 }) 7389 7390 $(".product-fixed").hide() 7391 7392 let target = $("#personalizeBtn") 7393 7394 7395 $(".product-meta").scroll(function() { 7396 if ($(window).scrollTop() >= target.offset().top ) { 7397 $(".product-fixed").addClass("show") 7398 } else { 7399 $(".product-fixed").removeClass("show") 7400 } 7401 }); 7402 7403 $(window).scroll(function() { 7404 if ($(window).scrollTop() >= target.offset().top ) { 7405 $(".product-fixed").addClass("show") 7406 } else { 7407 $(".product-fixed").removeClass("show") 7408 } 7409 }); 7410 }); 7411 </script>
7411 7412 7413
7413<script> 7414 // 7415 </script>
7415 7416 7417
7417<script> 7418 $(document).ready(function(){ 7419 $('table tr td').each(function(){ 7420 var texto = $(this).text(); 7421 var nextto = $(this).next("td"); 7422 var sku = $("#data-sku").val() 7423 if(texto == 'SKU'){ 7424 nextto.text(sku) 7425 } 7426 }); 7427 7428 $(".stamped-summary-actions-newquestion").text("Tulis Pertanyaan"); 7429 $(".stamped-summary-actions-newreview").text("Tulis Review"); 7430 $("#tab-questions").text("Pertanyaan"); 7431 7432 $(".freeship .icon").click(function(){ 7433 $(".fs-content").slideToggle(); 7434 $(this).parents(".freeship").toggleClass("expand"); 7435 }); 7436 7437 var $easyzoom = $('.easyzoom').easyZoom(); 7438 // Setup thumbnails example 7439 var api1 = $easyzoom.filter('.easyzoom--with-thumbnails').data('easyZoom'); 7440 $('.thumbnails').on('click', 'a', function(e) { 7441 var $this = $(this); 7442 e.preventDefault(); 7443 // Use EasyZoom's `swap` method 7444 api1.swap($this.data('standard'), $this.attr('href')); 7445 }); 7446 7447 $('#playerID').click(function(){ 7448 var videoURL = $('#VdoID').attr('src'), 7449 dataplay = $('#VdoID').attr('data-play'); 7450 7451 //for check autoplay 7452 //if not set autoplay=1 7453 if(dataplay == 0 ){ 7454 $('#VdoID').attr('src',videoURL+'?autoplay=1'); 7455 $('#VdoID').attr('data-play',1); 7456 } 7457 else{ 7458 var videoURL = $('#VdoID').attr('src'); 7459 videoURL = videoURL.replace("?autoplay=1", ""); 7460 $('#VdoID').prop('src',''); 7461 $('#VdoID').prop('src',videoURL); 7462 7463 $('#VdoID').attr('data-play',0); 7464 } 7465 7466 }); 7467 7468 $(".product-photo-thumb-video").click(function(e){ 7469 e.preventDefault(); 7470 7471 var newEmbed = $(this).attr('href'); 7472 $("#featured-image-product").addClass("img-video"); 7473 $("#ProductPhotoImg").hide(); 7474 $("#featured-image-product .video").show(); 7475 $("#featured-image-product iframe").attr('src', newEmbed); 7476 $("#VdoID")[0].src += "&autoplay=1"; 7477 }); 7478 $(".product-single__thumbnail").click(function(evt){ 7479 evt.preventDefault(); 7480 $("#featured-image-product").removeClass("img-video"); 7481 $("#ProductPhotoImg").show(); 7482 $("#featured-image-product .video").hide(); 7483 $("#featured-image-product iframe").attr('src', ''); 7484 }); 7485 7486 if($('#product-meta .short-desc > div').length >= 1){ 7487 //console.log('div detected') 7488 var replacer = $('#product-meta .short-desc > div').contents(); 7489 $('#product-meta .short-desc > div').replaceWith(replacer); 7490 7491 var cAssured = $('.c-assured').detach(); 7492 cAssured.insertAfter('.meta-sds .stock-info'); 7493 } 7494 7495 7496 7497 $(".heading-toggle").click(function(){ 7498 $(this).parent().toggleClass("open") 7499 7500 }); 7501 }); 7502 </script>
7502 7503 7504 7505
7505<script type="application/json" id="ProductJson-Product"> 7506 7507 {"id":8359546319899,"title":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."} 7508 </script>
7508 7509 7510
7510<script type="application/json" id="VariantJson-Product"> 7511 [ 7512 7513 { 7514 "incoming": false, 7515 "next_incoming_date": null 7516 } 7517 7518 ] 7519 </script>
7519 7520 7521 7522 7523 7524 </div> 7525 7526 7527
7527<script src="//outerbloom.com/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js" type="text/javascript"></script>
7527 7528 <style> 7529 .stamped-review-header-title, 7530 .stamped-review-header .author, 7531 .stamped-review-content-body, 7532 .stamped-sort-select, 7533 .stamped-review-header .verified-badge[data-type=buyer]:after, 7534 .stamped-review-header-byline, 7535 .stamped-review-reply-body {font-size: 14px!important;font-family: 'Barlow',sans-serif!important;} 7536 .stamped-review {margin-bottom: 0;} 7537 .stamped-review-body {padding-left: 65px;} 7538 .stamped-review:first-child {padding-top: 25px;} 7539 .stamped-review-content {clear: none;} 7540 .stamped-review-reply {margin: 15px 0 0 65px;background: #f2f2f2;border-left: none;} 7541 .stamped-review-reply-body {padding-left: 65px;} 7542 .stamped-review-header .author {text-transform: capitalize;} 7543 .stamped-questions .stamped-review-content {padding-left: 65px;} 7544 7545 .stamped-pagination {margin: 20px 0 0;} 7546 .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;} 7547 .stamped-pagination li a {color: #121212;padding: 13px 18px;vertical-align: middle;display: block;} 7548 .stamped-pagination li.active a {background-color: #ddd;font-weight: 400;} 7549 .stamped-pagination li:hover a {background: #ddd;} 7550 .stamped-pagination .next {border-right: 1px solid #ccc;} 7551 .stamped-pagination li:first-child {border-top-left-radius: 5px;border-bottom-left-radius: 5px;} 7552 .stamped-pagination li:last-child {border-top-right-radius: 5px;border-bottom-right-radius: 5px;} 7553 7554 #stamped-pagination-question span.page {display: inline-block;border: 1px solid #ccc;width: 47px;} 7555 #stamped-pagination-question span {font-size: 14px;} 7556 #stamped-pagination-question .page.active {padding: 12px;font-weight: 400;background: #ddd;} 7557 #stamped-pagination-question a, #stamped-pagination-question .page.active {color: #121212;padding: 13px 18px;vertical-align: middle;display: inline-block;} 7558 .stamped-pagination-deco {color: #121212;padding: 13px 18px;width: 47px;vertical-align: middle;display: inline-block;border: 1px solid #ccc;padding: 12px;} 7559 .stamped-pagination-prev, .stamped-pagination-next {position: inherit;} 7560 .stamped-pagination-prev a, .stamped-pagination-next a {width: auto!important;border: 1px solid #ccc;} 7561 7562 @media (max-width: 480px){ 7563 .stamped-review-reply {margin-left: 0!important;} 7564 select.stamped-sort-select {font-size: 13px!important;} 7565 } 7566 7567 #product-reviews .stamped-summary-ratings, #product-reviews .stamped-summary-actions, .stamped-content { 7568 display: block !important; 7569 } 7570 </style> 7571
7571<script> 7572 var selectCallback = function(variant, selector) { 7573 timber.productPage({ 7574 money_format: "Rp {{amount_no_decimals}}", 7575 variant: variant, 7576 selector: selector 7577 }); 7578 }; 7579 7580 jQuery(function($) { 7581 new Shopify.OptionSelectors('productSelect', { 7582 product: 7583 7584 7585 7586 7587 7588 {"id":8359546319899,"title":"ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026","handle":"blossom-shine","description":"\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda."}, 7589 onVariantSelected: selectCallback, 7590 enableHistoryState: true 7591 }); 7592 7593 // Add label if only one product option and it isn't 'Title'. Could be 'Size'. 7594 7595 7596 // Hide selectors if we only have 1 variant and its title contains 'Default'. 7597 7598 $('.selector-wrapper').hide(); 7599 7600 }); 7601 </script>
7601 7602 7603 7604 7605
7605<script type="application/ld+json"> 7606 { 7607 "@context": "http://schema.org", 7608 "@type": "Product", 7609 "offers": { 7610 "@type": "Offer", 7611 "availability":"https://schema.org/InStock", 7612 "price": 835000, 7613 "priceValidUntil": "05-10-2025", 7614 "priceCurrency": "IDR", 7615 "url": "https://rogerspets.com/" 7616 }, 7617 "brand": { 7618 "@type": "Brand", 7619 "name": "ARISANTOTO" 7620 }, 7621 "sku": "8359546319899", 7622 "gtin13": "Jawa", 7623 "name": "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 7624 "description": "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", 7625 "category": "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", 7626 "url": "https://rogerspets.com/", 7627 "image": { 7628 "@type": "ImageObject", 7629 "url": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7630 "image": "https://outerbloom.com/cdn/shop/files/Blossom-Shine-WM_small.jpg?v=1695788426", 7631 "name": "ARISANTOTO â Situs Toto Macau 4D Terpercaya â Pasaran Favorit 2026", 7632 "width": 1024, 7633 "height": 1024 7634 } 7635 } 7636 </script>
7636 7637 7638 7639 7640 7641 7642
7642<script id="bss-ltap-hide-price" type="text/javascript" > 7643 !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)}))}
7643)),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)}
7643)),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()}
7643if("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)}
7643if(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");
7643c&&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
7643-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");
7643i&&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
7643--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
7643opify.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");
7643e.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=
7643o.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");
7643if(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();
7643let 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()}]); 7644 </script>
7644 7645 7646 </div></div></div></div></main> 7647 7648 <div id="shopify-section-newsletter" class="shopify-section"><br> 7649 <style> 7650 #shopify-section-newsletter { 7651 background: url(https://gambar.spvdiatasceo.com/uploads/MORGAN/ff15027d-db99-4f11-886b-9be8092fa0cd-20260825-075235-cda7b084.webp); 7652 background-attachment: fixed; 7653 margin-bottom: 0; 7654 } 7655 input:-webkit-autofill, 7656 input:-webkit-autofill:hover, 7657 input:-webkit-autofill:active, 7658 input:-webkit-autofill:focus { 7659 -webkit-box-shadow:0 0 0 50px white inset; 7660 -webkit-text-fill-color: #ffffff; 7661 } 7662 .section-newsletter { 7663 max-width: 800px; 7664 margin: auto; 7665 padding: 50px 0; 7666 } 7667 .section-newsletter h2 { 7668 font-weight: 700; 7669 font-size: 24px; 7670 } 7671 .section-newsletter input[type="email"] { 7672 width: 100%; 7673 text-align: center; 7674 border: none; 7675 border-bottom: 1px solid #ffffff; 7676 font-size: 16px; 7677 color: #757575; 7678 background-color: #eeeeee; 7679 } 7680 .section-newsletter .row label { 7681 font-size: 14px; 7682 cursor: pointer; 7683 } 7684 .section-newsletter .radio-inline input { 7685 width: auto; 7686 } 7687 .section-newsletter .btn { 7688 width: 130px; 7689 border: 1px solid #ffffff; 7690 box-shadow: none; 7691 font-size: 16px; 7692 font-weight: 500; 7693 text-transform: uppercase; 7694 } 7695 .section-newsletter form { 7696 margin: 30px 0 60px; 7697 } 7698 .section-newsletter input[type="radio"] { 7699 position: absolute; 7700 width: 1px; 7701 height: 1px; 7702 } 7703 .section-newsletter [type="radio"]:checked + label, .section-newsletter [type="radio"]:not(:checked) + label { 7704 position: relative; 7705 padding-left: 28px; 7706 cursor: pointer; 7707 line-height: 20px; 7708 display: inline-block; 7709 color: #666; 7710 } 7711 .section-newsletter [type="radio"]:checked + label:before, .section-newsletter [type="radio"]:not(:checked) + label:before { 7712 content: ''; 7713 position: absolute; 7714 left: 0; 7715 top: 0; 7716 width: 18px; 7717 height: 18px; 7718 border: 1px solid #ddd; 7719 border-radius: 100%; 7720 background: #fff; 7721 } 7722 .section-newsletter [type="radio"]:checked + label:after, .section-newsletter [type="radio"]:not(:checked) + label:after { 7723 content: ''; 7724 width: 12px; 7725 height: 12px; 7726 background: #ffffff; 7727 position: absolute; 7728 top: 3px; 7729 left: 3px; 7730 border-radius: 100%; 7731 -webkit-transition: all 0.2s ease; 7732 transition: all 0.2s ease; 7733 } 7734 .section-newsletter [type="radio"]:not(:checked) + label:after { 7735 opacity: 0; 7736 -webkit-transform: scale(0); 7737 transform: scale(0); 7738 } 7739 .opt-newsletter {display:none;} 7740 .footer-newsletter p, .footer-newsletter p a { 7741 color: #757575; 7742 } 7743 @media (max-width:991px){ 7744 .section-newsletter h2 { 7745 font-size: 32px; 7746 } 7747 .section-newsletter input { 7748 width: 300px; 7749 font-size: 14px; 7750 } 7751 .section-newsletter { 7752 padding: 50px 20px; 7753 } 7754 } 7755 @media (max-width: 480px){ 7756 .section-newsletter input[type="email"] {font-size: 16px;} 7757 } 7758 </style> 7759 <style> 7760 /* ICON FOOTER */ 7761 .icon-img-footer { 7762 width: 80px; 7763 padding: 0px 5px; 7764 transition: transform 0.3s ease, filter 0.3s ease; 7765 } 7766 @media (min-width: 768px) { 7767 .icon-img-footer { 7768 width: 120px; 7769 } 7770 } 7771 @media (min-width: 992px) { 7772 .icon-img-footer { 7773 width: 120px; 7774 } 7775 } 7776 7777 /* BUTTON LOGIN & DAFTAR (HIJAU TUA & EMAS) */ 7778 .button-login-daftar { 7779 display: grid; 7780 grid-template-columns: repeat(2, 1fr); 7781 font-weight: 700; 7782 gap: 10px; /* Menambahkan jarak antar tombol */ 7783 } 7784 7785 .button-login-daftar a { 7786 text-align: center; 7787 text-decoration: none; 7788 border-radius: 6px; 7789 transition: all 0.3s ease; 7790 } 7791 7792 .login, 7793 .register { 7794 padding: 15px 10px; 7795 font-size: 23px; 7796 } 7797 7798 /* TEMA EMAS (LOGIN) */ 7799 .login, 7800 .login-button { 7801 color: #082214; /* Teks hijau tua pekat agar terbaca jelas di atas warna emas */ 7802 background: linear-gradient(to bottom, #ffd700 0%, #b8860b 100%); 7803 border: 2px solid #ffd700; 7804 box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3); 7805 } 7806 7807 /* TEMA HIJAU TUA (REGISTER) */ 7808 .register, 7809 .register-button { 7810 color: #ffffff; /* Teks putih terang */ 7811 background: linear-gradient(to bottom, #1b4d3e 0%, #082214 100%); 7812 border: 2px solid #d4af37; /* Border emas sebagai penegas */ 7813 box-shadow: 0 4px 15px rgba(11, 43, 26, 0.5); 7814 } 7815 7816 /* HOVER EFFECT */ 7817 .login:hover, .login-button:hover, 7818 .register:hover, .register-button:hover { 7819 transform: translateY(-2px); 7820 filter: brightness(1.15); 7821 } 7822</style> 7823 7824 <!-- wp:html --> 7825
7825<script> 7826 document.addEventListener('DOMContentLoaded', 7827 function(){const faqItems=document.querySelectorAll('.faq-item'); 7828 faqItems.forEach(item=>{const question=item.querySelector('.faq-question'); 7829 question.addEventListener('click', 7830 ()=>{const isActive=item.classList.contains('active'); 7831 faqItems.forEach(otherItem=>{otherItem.classList.remove('active')}); 7832 if(!isActive){item.classList.add('active')}})})}); 7833 </script>
7833 7834 7835 7836 <div class="page__overlay" data-view="offCanvasNavToggle" data-off-canvas="close" bis_skin_checked="1"> 7837 </div> 7838 <section class="fx-video-bg"> 7839 <video autoplay muted loop playsinline> 7840 <source src="https://uploademosi.com/img/favne.webp" type="video/mp4"> 7841 </video> 7842 <div class="fx-video-overlay"></div> 7843 7844 <div class="fx-article-wrap"> 7845 <article class="fx-article"> 7846 <section class="clean-container"> 7847 <div class="clean-wrap"> 7848 <h1 class="clean-title">ARISANTOTO â Situs Toto Macau 4D Terpercaya dengan Live Draw Tercepat & Hadiah Fantastis 2026</h1> 7849 <div class="clean-divider"></div> 7850 <div class="clean-article"> 7851 <p><span style="color: #ff0000;"><strong><a style="color: #ff0000;" href="https://rogerspets.com/">ARISANTOTO</a></strong></span> hadir sebagai situs toto Macau 4D terpercaya yang memadukan hiburan tebak angka presisi dengan dinamika live draw tercepat. Dirancang untuk kenyamanan pengguna, platform ini memberikan standar baru dalam pengalaman bermain yang transparan dan menguntungkan sepanjang tahun 2026.</p> 7852 7853 7854 <h2><strong>Pasaran Toto Macau 4D Terlengkap dengan Diskon Tinggi</strong></h2> 7855 <p>Bagi para pecinta toto Macau, ARISANTOTO menyediakan pasaran 4D dengan diskon taruhan tertinggi dan hadiah pokok fantastis. Setiap hasil undian disajikan secara live dan real-time tanpa jeda, memastikan transparansi dan keadilan bagi setiap pemain. Dengan prediksi angka jitu harian yang disusun berdasarkan analisis data historis, peluang kemenangan Anda semakin terbuka lebar.</p> 7856 7857 <h2><strong>Proses Deposit Instan via QRIS & Prediksi Angka Jitu Setiap Hari</strong></h2> 7858 <p>Salah satu keunggulan utama ARISANTOTO adalah kemudahan transaksi melalui QRIS, transfer bank, dan e-wallet dengan proses deposit instan. Tidak hanya itu, ARISANTOTO juga menyediakan prediksi angka jitu yang diperbarui setiap hari, membantu pemain menyusun strategi taruhan lebih terarah. Dengan live draw Macau yang cepat dan hasil yang akurat, ARISANTOTO menjadi pilihan utama para pemain di tahun 2026.</p> 7859 7860 7861 7862 <section class="neo-block" id="faq"> 7863 <div class="neo-head"><span class="neo-dot"></span><span>Pertanyaan Umum ARISANTOTO</span></div> 7864 7865<div class="neo-faq"> 7866 <details class="neo-item"> 7867 <summary>Mengapa ARISANTOTO menjadi pilihan terbaik untuk toto Macau 4D?</summary> 7868 <div class="neo-ans">ARISANTOTO menjadi pilihan utama karena menyediakan live draw tercepat, pasaran Macau 4D terlengkap dengan diskon tinggi, serta prediksi angka jitu harian yang terbukti akurat. Selain itu, proses deposit via QRIS instan dan hadiah fantastis membuat pengalaman bermain semakin menguntungkan.</div> 7869 </details> 7870 7871 <details class="neo-item"> 7872 <summary>Berapa minimal deposit untuk memulai bermain di ARISANTOTO?</summary> 7873 <div class="neo-ans">Minimal deposit di ARISANTOTO hanya 10.000 rupiah, sangat terjangkau untuk semua kalangan. Dengan modal kecil, Anda sudah bisa menikmati semua pasaran Toto Macau 4D dan berpeluang meraih jackpot besar.</div> 7874 </details> 7875 7876 <details class="neo-item"> 7877 <summary>Apakah live draw Macau di ARISANTOTO benar-benar cepat dan akurat?</summary> 7878 <div class="neo-ans">Ya. ARISANTOTO menggunakan sistem live draw yang terintegrasi langsung dengan server resmi Macau, sehingga hasil undian disajikan secara real-time tanpa delay. Keakuratan data menjadi prioritas utama untuk menjaga kepercayaan pemain.</div> 7879 </details> 7880 7881 <details class="neo-item"> 7882 <summary>Bagaimana cara mendapatkan prediksi angka jitu di ARISANTOTO?</summary> 7883 <div class="neo-ans">Prediksi angka jitu tersedia setiap hari di halaman utama ARISANTOTO. Prediksi ini disusun oleh tim master togel berpengalaman berdasarkan analisis data historis dan pola statistik pasaran Macau, sehingga dapat dijadikan referensi tambahan sebelum memasang taruhan.</div> 7884 </details> 7885 7886 <details class="neo-item"> 7887 <summary>Apakah proses withdraw di ARISANTOTO cepat dan tanpa potongan?</summary> 7888 <div class="neo-ans">Tentu. ARISANTOTO memproses penarikan dana dengan cepat, rata-rata kurang dari 5 menit, tanpa potongan biaya apapun. Semua transaksi diproses secara otomatis dan transparan melalui berbagai metode pembayaran lokal.</div> 7889 </details> 7890 7891 <details class="neo-item"> 7892 <summary>Kemana saya harus menghubungi jika mengalami kendala saat bermain di ARISANTOTO?</summary> 7893 <div class="neo-ans">Tim Customer Service ARISANTOTO siap membantu Anda 24 jam non-stop melalui Live Chat, WhatsApp, atau kontak resmi lainnya. Tim kami profesional dan siap menangani segala kendala teknis, transaksi, maupun pertanyaan seputar promo.</div> 7894 </details> 7895</div> 7896 7897 </section> 7898 7899 <section class="neo-block" id="testimoni" style="margin-top:16px"> 7900 <div class="neo-head"><span class="neo-dot"></span><span>TESTIMONI PENGUNJUNG ARISANTOTO</span></div> 7901 7902<div class="neo-testi-grid" aria-label="Testimoni"> 7903 <article class="neo-testi"> 7904 <div class="neo-top"><div class="neo-title">Live Draw Macau Super Cepat!</div><div class="neo-stars">â â â â â </div></div> 7905 <div class="neo-name">Bambang Setiawan â Jakarta</div> 7906 <div class="neo-text">Saya sudah coba beberapa situs, tapi ARISANTOTO paling cepat live draw-nya. Hasil Macau 4D keluar tanpa jeda, prediksi angkanya juga sering tembus. Deposit via QRIS langsung masuk, gak pake ribet.</div> 7907 <div class="neo-date">Diposting: 14 Februari 2026</div> 7908 </article> 7909 7910 <article class="neo-testi"> 7911 <div class="neo-top"><div class="neo-title">Diskon Taruhan Gede Banget!</div><div class="neo-stars">â â â â â </div></div> 7912 <div class="neo-name">Dewi Lestari â Bandung</div> 7913 <div class="neo-text">Saya suka diskon tinggi yang diberikan ARISANTOTO untuk taruhan 4D. Modal kecil tapi hadiahnya fantastis. Proses withdraw juga cepat, gak sampe 5 menit udah masuk rekening.</div> 7914 <div class="neo-date">Diposting: 3 Maret 2026</div> 7915 </article> 7916 7917 <article class="neo-testi"> 7918 <div class="neo-top"><div class="neo-title">Prediksi Jitu Bikin Sering Menang</div><div class="neo-stars">â â â â â </div></div> 7919 <div class="neo-name">Andi Wijaya â Surabaya</div> 7920 <div class="neo-text">Setiap hari saya cek prediksi di ARISANTOTO. Angka yang diberikan selalu punya dasar analisis yang jelas, bukan asal tebak. Beberapa kali saya menang 4D berkat prediksi di sini. Top!</div> 7921 <div class="neo-date">Diposting: 29 Maret 2026</div> 7922 </article> 7923 7924 <article class="neo-testi"> 7925 <div class="neo-top"><div class="neo-title">Akses Mudah & Bebas Hambatan</div><div class="neo-stars">â â â â â </div></div> 7926 <div class="neo-name">Fajar Nugroho â Yogyakarta</div> 7927 <div class="neo-text">ARISANTOTO aksesnya gampang banget, baik dari HP maupun laptop. Link alternatif selalu tersedia kalau butuh. Pasaran Macau 4D selalu update dan live draw-nya cepat. Gak pernah kecewa!</div> 7928 <div class="neo-date">Diposting: 18 April 2026</div> 7929 </article> 7930 7931 <article class="neo-testi"> 7932 <div class="neo-top"><div class="neo-title">Satu Akun Banyak Keuntungan</div><div class="neo-stars">â â â â â </div></div> 7933 <div class="neo-name">Rina Kartika â Semarang</div> 7934 <div class="neo-text">Dengan satu akun di ARISANTOTO, saya bisa menikmati semua pasaran Macau 4D dan prediksi angka setiap hari. Bonus dan cashback juga rutin cair. Sangat recommended!</div> 7935 <div class="neo-date">Diposting: 2 Mei 2026</div> 7936 </article> 7937 7938 <article class="neo-testi"> 7939 <div class="neo-top"><div class="neo-title">Pelayanan CS 24 Jam Mantap</div><div class="neo-stars">â â â â â </div></div> 7940 <div class="neo-name">Hendra Pratama â Makassar</div> 7941 <div class="neo-text">Saya pernah kendala teknis jam 3 pagi, langsung hubungi live chat dan cepat dibantu. CS ARISANTOTO ramah dan profesional. Gak heran banyak yang betah main di sini.</div> 7942 <div class="neo-date">Diposting: 21 Mei 2026</div> 7943 </article> 7944 7945 <article class="neo-testi"> 7946 <div class="neo-top"><div class="neo-title">Hadiah Fantastis 4D!</div><div class="neo-stars">â â â â â </div></div> 7947 <div class="neo-name">Agus Salim â Medan</div> 7948 <div class="neo-text">Baru pertama kali main di ARISANTOTO, langsung dapet hadiah 4D yang gak main-main. Proses penarikan cepat dan tanpa potongan. Situs toto Macau 4D paling terpercaya!</div> 7949 <div class="neo-date">Diposting: 10 Juni 2026</div> 7950 </article> 7951 7952 <article class="neo-testi"> 7953 <div class="neo-top"><div class="neo-title">Situs Toto Macau Resmi Terpercaya</div><div class="neo-stars">â â â â â </div></div> 7954 <div class="neo-name">Kurniawan â Bali</div> 7955 <div class="neo-text">ARISANTOTO selalu konsisten menjaga kualitas layanan. Live draw transparan, hasil akurat, dan semua kemenangan dibayar penuh. Saya sudah langganan dari awal 2026 dan gak pernah kecewa.</div> 7956 <div class="neo-date">Diposting: 28 Juni 2026</div> 7957 </article> 7958 7959 <article class="neo-testi"> 7960 <div class="neo-top"><div class="neo-title">Deposit Murah via QRIS Instan</div><div class="neo-stars">â â â â â </div></div> 7961 <div class="neo-name">Maya Sari â Malang</div> 7962 <div class="neo-text">Deposit di ARISANTOTO cuma 10rb dan via QRIS langsung masuk. Gak ada potongan aneh. Prediksi angka jitu juga membantu banget buat pemula seperti saya.</div> 7963 <div class="neo-date">Diposting: 7 Juli 2026</div> 7964 </article> 7965 7966 <article class="neo-testi"> 7967 <div class="neo-top"><div class="neo-title">Pasaran Favorit 2026</div><div class="neo-stars">â â â â â </div></div> 7968 <div class="neo-name">Joko Prabowo â Solo</div> 7969 <div class="neo-text">ARISANTOTO emang juara di pasaran Macau 4D. Live draw-nya paling cepat, prediksinya akurat, dan hadiahnya fantastis. Gak heran kalau ini jadi pasaran favorit 2026.</div> 7970 <div class="neo-date">Diposting: 19 Juli 2026</div> 7971 </article> 7972</div> 7973</section> 7974 7975 </div></div></section> 7976
7977<style id="neo-faq-testi-styles"> 7978 :root { 7979 --cyber-bg: #030d08; 7980 --cyber-panel: rgba(8, 34, 20, .94); 7981 --cyber-panel-soft: rgba(11, 43, 26, .9); 7982 --cyber-green: #00ff88; 7983 --cyber-green-dark: #082214; 7984 --cyber-emerald: #1b4d3e; 7985 --cyber-gold: #ffd700; 7986 --cyber-orange: #d4af37; 7987 --cyber-gold-dark: #b8860b; 7988 --cyber-cream: #fff2b2; 7989 --cyber-white: #f8f9ff; 7990 --cyber-muted: rgba(235, 255, 245, .78); 7991 --cyber-line: rgba(255, 215, 64, .25); 7992 --cyber-radius: 20px; 7993 --cyber-shadow: 7994 0 0 0 1px rgba(255, 255, 255, .04), 7995 0 0 18px rgba(0, 255, 136, .16), 7996 0 20px 55px rgba(0, 0, 0, .72); 7997 } 7998 7999 .neo-block { 8000 position: relative; 8001 margin: 18px 10px; 8002 padding: 18px; 8003 border-radius: 24px; 8004 isolation: isolate; 8005 overflow: hidden; 8006 background: 8007 linear-gradient(135deg, rgba(0, 255, 136, .06), transparent 32%), 8008 linear-gradient(315deg, rgba(255, 215, 0, .06), transparent 28%), 8009 rgba(5, 21, 13, .92); 8010 border: 1px solid rgba(255, 215, 64, .14); 8011 box-shadow: 8012 inset 0 0 40px rgba(0, 255, 136, .035), 8013 0 22px 60px rgba(0, 0, 0, .48); 8014 backdrop-filter: blur(14px); 8015 -webkit-backdrop-filter: blur(14px); 8016 } 8017 8018 .neo-block:before { 8019 content: ""; 8020 position: absolute; 8021 inset: 0; 8022 z-index: -2; 8023 pointer-events: none; 8024 opacity: .32; 8025 background-image: 8026 linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), 8027 linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); 8028 background-size: 28px 28px; 8029 mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .9), transparent); 8030 } 8031 8032 .neo-block:after { 8033 content: ""; 8034 position: absolute; 8035 width: 240px; 8036 height: 240px; 8037 right: -110px; 8038 top: -110px; 8039 z-index: -1; 8040 border-radius: 50%; 8041 background: radial-gradient(circle, rgba(0, 255, 136, .26), transparent 68%); 8042 filter: blur(12px); 8043 animation: cyberOrb 6s ease-in-out infinite; 8044 pointer-events: none; 8045 } 8046 8047 @keyframes cyberOrb { 8048 0%, 100% { 8049 transform: translate3d(0, 0, 0) scale(1); 8050 opacity: .7; 8051 } 8052 8053 50% { 8054 transform: translate3d(-22px, 18px, 0) scale(1.12); 8055 opacity: 1; 8056 } 8057 } 8058 8059 .neo-head { 8060 display: flex; 8061 align-items: center; 8062 gap: 12px; 8063 position: relative; 8064 margin: 4px 0 18px; 8065 padding: 13px 16px; 8066 border-radius: 16px; 8067 overflow: hidden; 8068 font-weight: 900; 8069 letter-spacing: 1.2px; 8070 font-size: 14px; 8071 color: var(--cyber-gold); 8072 text-transform: uppercase; 8073 background: 8074 linear-gradient(90deg, rgba(0, 255, 136, .15), rgba(255, 215, 64, .07), transparent), 8075 rgba(8, 34, 20, .88); 8076 border: 1px solid rgba(255, 215, 64, .18); 8077 box-shadow: 8078 inset 0 0 24px rgba(0, 255, 136, .05), 8079 0 10px 30px rgba(0, 0, 0, .35); 8080 text-shadow: 8081 0 0 8px rgba(0, 255, 136, .65), 8082 0 0 18px rgba(255, 215, 64, .32); 8083 } 8084 8085 .neo-head:after { 8086 content: ""; 8087 position: absolute; 8088 left: 0; 8089 right: 0; 8090 bottom: 0; 8091 height: 2px; 8092 background: linear-gradient( 8093 90deg, 8094 transparent, 8095 var(--cyber-green), 8096 var(--cyber-gold), 8097 var(--cyber-green), 8098 transparent 8099 ); 8100 background-size: 200% 100%; 8101 animation: cyberLine 3.6s linear infinite; 8102 } 8103 8104 @keyframes cyberLine { 8105 from { 8106 background-position: 200% 0; 8107 } 8108 8109 to { 8110 background-position: -200% 0; 8111 } 8112 } 8113 8114 .neo-dot { 8115 position: relative; 8116 flex: 0 0 auto; 8117 width: 13px; 8118 height: 13px; 8119 border-radius: 50%; 8120 background: 8121 radial-gradient(circle at 35% 30%, #fff9c4 0 12%, var(--cyber-gold) 26%, var(--cyber-green) 62%, #021a0f 100%); 8122 box-shadow: 8123 0 0 0 5px rgba(0, 255, 136, .12), 8124 0 0 14px rgba(255, 215, 64, .85), 8125 0 0 26px rgba(0, 255, 136, .78); 8126 animation: cyberPulse 1.8s ease-in-out infinite; 8127 } 8128 8129 .neo-dot:after { 8130 content: ""; 8131 position: absolute; 8132 inset: -7px; 8133 border-radius: inherit; 8134 border: 1px solid rgba(255, 215, 64, .42); 8135 animation: cyberRing 1.8s ease-out infinite; 8136 } 8137
8138 @keyframes cyberPulse { 8139 0%, 100% { 8140 transform: scale(1); 8141 filter: brightness(1); 8142 } 8143 8144 50% { 8145 transform: scale(1.15); 8146 filter: brightness(1.35); 8147 } 8148 } 8149 8150 @keyframes cyberRing { 8151 0% { 8152 transform: scale(.6); 8153 opacity: .9; 8154 } 8155 8156 100% { 8157 transform: scale(1.7); 8158 opacity: 0; 8159 } 8160 } 8161 8162 .neo-faq { 8163 display: grid; 8164 gap: 12px; 8165 } 8166 8167 .neo-item { 8168 position: relative; 8169 border-radius: var(--cyber-radius); 8170 border: 1px solid rgba(0, 255, 136, .34); 8171 overflow: hidden; 8172 background: 8173 linear-gradient(145deg, rgba(5, 21, 13, .99), rgba(11, 43, 26, .97)), 8174 var(--cyber-panel); 8175 box-shadow: var(--cyber-shadow); 8176 transition: 8177 transform .25s ease, 8178 border-color .25s ease, 8179 box-shadow .25s ease, 8180 background .25s ease; 8181 } 8182 8183 .neo-item:before { 8184 content: ""; 8185 position: absolute; 8186 inset: 0; 8187 pointer-events: none; 8188 background: 8189 linear-gradient(120deg, transparent 8%, rgba(255, 255, 255, .04) 28%, transparent 48%); 8190 transform: translateX(-120%); 8191 transition: transform .7s ease; 8192 } 8193 8194 .neo-item:hover { 8195 transform: translateY(-3px); 8196 border-color: rgba(255, 215, 64, .62); 8197 box-shadow: 8198 0 0 0 1px rgba(255, 215, 64, .09), 8199 0 0 22px rgba(0, 255, 136, .28), 8200 0 22px 54px rgba(0, 0, 0, .72); 8201 } 8202 8203 .neo-item:hover:before { 8204 transform: translateX(120%); 8205 } 8206 8207 .neo-item summary { 8208 list-style: none; 8209 cursor: pointer; 8210 position: relative; 8211 padding: 17px 66px 17px 18px; 8212 font-weight: 800; 8213 line-height: 1.5; 8214 color: var(--cyber-white); 8215 background: 8216 linear-gradient(90deg, rgba(0, 255, 136, .07), transparent 60%); 8217 text-shadow: 0 0 10px rgba(0, 255, 136, .42); 8218 transition: 8219 color .25s ease, 8220 background .25s ease; 8221 } 8222 8223 .neo-item summary::-webkit-details-marker { 8224 display: none; 8225 } 8226 8227 .neo-item summary::marker { 8228 display: none; 8229 } 8230 8231 .neo-item summary:after { 8232 content: "+"; 8233 position: absolute; 8234 right: 15px; 8235 top: 50%; 8236 width: 38px; 8237 height: 38px; 8238 display: grid; 8239 place-items: center; 8240 border-radius: 13px; 8241 transform: translateY(-50%); 8242 font-size: 22px; 8243 line-height: 1; 8244 font-weight: 500; 8245 color: #fff; 8246 background: 8247 linear-gradient(135deg, rgba(0, 255, 136, .95), rgba(27, 77, 62, .94) 58%, rgba(255, 215, 0, .9)); 8248 border: 1px solid rgba(255, 255, 255, .17); 8249 box-shadow: 8250 inset 0 0 12px rgba(255, 255, 255, .1), 8251 0 0 18px rgba(0, 255, 136, .42), 8252 0 8px 20px rgba(0, 0, 0, .42); 8253 transition: 8254 transform .28s ease, 8255 filter .28s ease, 8256 box-shadow .28s ease; 8257 } 8258 8259 .neo-item summary:hover:after { 8260 filter: brightness(1.18); 8261 box-shadow: 8262 inset 0 0 14px rgba(255, 255, 255, .16), 8263 0 0 25px rgba(255, 215, 64, .34), 8264 0 10px 22px rgba(0, 0, 0, .46); 8265 } 8266 8267 .neo-item[open] { 8268 border-color: rgba(255, 215, 64, .72); 8269 background: 8270 linear-gradient(145deg, rgba(8, 34, 20, .99), rgba(18, 64, 38, .97)); 8271 box-shadow: 8272 0 0 0 1px rgba(255, 215, 64, .08), 8273 0 0 30px rgba(0, 255, 136, .28), 8274 0 24px 65px rgba(0, 0, 0, .76); 8275 } 8276 8277 .neo-item[open] summary { 8278 color: var(--cyber-gold); 8279 background: 8280 linear-gradient(90deg, rgba(0, 255, 136, .16), rgba(255, 215, 64, .05), transparent); 8281 } 8282 8283 .neo-item[open] summary:after { 8284 content: "âÃâ ââ¬â¢"; 8285 transform: translateY(-50%) rotate(180deg); 8286 background: 8287 linear-gradient(135deg, var(--cyber-gold), var(--cyber-orange), var(--cyber-green)); 8288 } 8289 8290 .neo-ans { 8291 position: relative; 8292 padding: 2px 18px 18px; 8293 color: var(--cyber-muted); 8294 line-height: 1.75; 8295 font-size: 14px; 8296 border-top: 1px solid rgba(255, 255, 255, .055); 8297 animation: cyberAnswer .28s ease both; 8298 } 8299 8300 .neo-ans:before { 8301 content: ""; 8302 display: block; 8303 width: 52px; 8304 height: 2px; 8305 margin: 0 0 14px; 8306 background: linear-gradient(90deg, var(--cyber-green), var(--cyber-gold), transparent); 8307 box-shadow: 0 0 10px rgba(0, 255, 136, .42); 8308 } 8309
8310 @keyframes cyberAnswer { 8311 from { 8312 opacity: 0; 8313 transform: translateY(-8px); 8314 } 8315 8316 to { 8317 opacity: 1; 8318 transform: translateY(0); 8319 } 8320 } 8321 8322 .neo-testi-grid { 8323 display: grid; 8324 grid-template-columns: repeat(3, minmax(0, 1fr)); 8325 gap: 16px; 8326 } 8327 8328 .neo-testi { 8329 position: relative; 8330 min-height: 100%; 8331 padding: 18px; 8332 border-radius: 22px; 8333 overflow: hidden; 8334 background: 8335 linear-gradient(145deg, rgba(5, 21, 13, .99), rgba(11, 43, 26, .97) 56%, rgba(27, 77, 62, .95)); 8336 border: 1px solid rgba(255, 215, 64, .17); 8337 box-shadow: 8338 0 0 0 1px rgba(255, 255, 255, .025), 8339 0 0 24px rgba(0, 255, 136, .15), 8340 0 22px 58px rgba(0, 0, 0, .72); 8341 isolation: isolate; 8342 transition: 8343 transform .3s ease, 8344 border-color .3s ease, 8345 box-shadow .3s ease; 8346 } 8347 8348 .neo-testi:before { 8349 content: ""; 8350 position: absolute; 8351 inset: -45%; 8352 z-index: -2; 8353 background: 8354 conic-gradient( 8355 from 90deg, 8356 transparent, 8357 rgba(0, 255, 136, .28), 8358 rgba(255, 215, 64, .24), 8359 rgba(255, 215, 0, .2), 8360 transparent 62% 8361 ); 8362 animation: cyberRotate 7s linear infinite; 8363 } 8364 8365 .neo-testi:after { 8366 content: ""; 8367 position: absolute; 8368 inset: 1px; 8369 z-index: -1; 8370 border-radius: 21px; 8371 background: 8372 radial-gradient(circle at 12% 5%, rgba(0, 255, 136, .14), transparent 36%), 8373 radial-gradient(circle at 90% 0%, rgba(255, 215, 0, .11), transparent 32%), 8374 linear-gradient(145deg, rgba(6, 26, 16, .99), rgba(14, 51, 31, .98)); 8375 } 8376 8377 @keyframes cyberRotate { 8378 to { 8379 transform: rotate(360deg); 8380 } 8381 } 8382 8383 .neo-testi:hover { 8384 transform: translateY(-7px) scale(1.012); 8385 border-color: rgba(255, 215, 64, .5); 8386 box-shadow: 8387 0 0 0 1px rgba(255, 215, 64, .08), 8388 0 0 30px rgba(0, 255, 136, .27), 8389 0 28px 70px rgba(0, 0, 0, .78); 8390 } 8391 8392 .neo-testi>* { 8393 position: relative; 8394 z-index: 1; 8395 } 8396 8397 .neo-top { 8398 display: flex; 8399 align-items: flex-start; 8400 justify-content: space-between; 8401 gap: 12px; 8402 margin-bottom: 10px; 8403 } 8404 8405 .neo-title { 8406 font-weight: 900; 8407 line-height: 1.35; 8408 letter-spacing: .2px; 8409 color: var(--cyber-gold); 8410 text-shadow: 8411 0 0 8px rgba(0, 255, 136, .52), 8412 0 0 14px rgba(255, 215, 64, .26); 8413 } 8414 8415 .neo-stars { 8416 flex: 0 0 auto; 8417 padding: 5px 8px; 8418 border-radius: 999px; 8419 font-size: 11px; 8420 letter-spacing: 1px; 8421 color: var(--cyber-gold); 8422 background: rgba(255, 215, 64, .08); 8423 border: 1px solid rgba(255, 215, 64, .2); 8424 box-shadow: 8425 inset 0 0 12px rgba(255, 215, 64, .04), 8426 0 0 12px rgba(255, 215, 64, .12); 8427 text-shadow: 0 0 9px rgba(255, 215, 64, .52); 8428 } 8429 8430 .neo-name { 8431 display: inline-flex; 8432 align-items: center; 8433 gap: 8px; 8434 margin-bottom: 9px; 8435 font-weight: 800; 8436 color: rgba(255, 255, 255, .96); 8437 } 8438 8439 .neo-name:before { 8440 content: ""; 8441 width: 8px; 8442 height: 8px; 8443 flex: 0 0 auto; 8444 border-radius: 50%; 8445 background: var(--cyber-green); 8446 box-shadow: 8447 0 0 0 4px rgba(0, 255, 136, .1), 8448 0 0 12px rgba(0, 255, 136, .8); 8449 } 8450 8451 .neo-text { 8452 color: rgba(238, 255, 245, .84); 8453 line-height: 1.7; 8454 font-size: 14px; 8455 } 8456 8457 .neo-date { 8458 display: inline-flex; 8459 align-items: center; 8460 gap: 6px; 8461 margin-top: 13px; 8462 padding: 5px 9px; 8463 border-radius: 999px; 8464 font-size: 11px; 8465 font-weight: 700; 8466 color: var(--cyber-gold); 8467 background: rgba(255, 215, 64, .07); 8468 border: 1px solid rgba(255, 215, 64, .14); 8469 opacity: .95; 8470 } 8471 8472 .neo-date:before { 8473 content: ""; 8474 width: 6px; 8475 height: 6px; 8476 border-radius: 50%; 8477 background: var(--cyber-gold); 8478 box-shadow: 0 0 9px rgba(255, 215, 0, .82); 8479 } 8480 8481 @media (max-width: 991px) { 8482 .neo-block { 8483 padding: 15px; 8484 } 8485 8486 .neo-testi-grid { 8487 grid-template-columns: repeat(2, minmax(0, 1fr)); 8488 } 8489 } 8490 8491 @media (max-width: 575px) { 8492 .neo-block { 8493 margin: 14px 6px; 8494 padding: 12px; 8495 border-radius: 19px; 8496 } 8497 8498 .neo-head { 8499 font-size: 12px; 8500 letter-spacing: .8px; 8501 padding: 12px 13px; 8502 } 8503 8504 .neo-testi-grid { 8505 grid-template-columns: 1fr; 8506 gap: 13px; 8507 } 8508 8509 .neo-item {
8510 border-radius: 17px; 8511 } 8512 8513 .neo-item summary { 8514 padding: 15px 58px 15px 15px; 8515 font-size: 14px; 8516 } 8517 8518 .neo-item summary:after { 8519 right: 12px; 8520 width: 34px; 8521 height: 34px; 8522 border-radius: 11px; 8523 } 8524 8525 .neo-ans { 8526 padding: 2px 15px 16px; 8527 font-size: 13px; 8528 } 8529 8530 .neo-testi { 8531 padding: 16px; 8532 border-radius: 19px; 8533 } 8534 8535 .neo-top { 8536 align-items: flex-start; 8537 } 8538 8539 .neo-title { 8540 font-size: 14px; 8541 } 8542 8543 .neo-stars { 8544 font-size: 10px; 8545 padding: 4px 7px; 8546 } 8547 8548 .neo-text { 8549 font-size: 13px; 8550 } 8551 } 8552 8553 @media (prefers-reduced-motion: reduce) { 8554 .neo-block:after, 8555 .neo-dot, 8556 .neo-dot:after, 8557 .neo-head:after, 8558 .neo-testi:before { 8559 animation: none !important; 8560 } 8561 8562 .neo-item, 8563 .neo-testi, 8564 .neo-item summary:after { 8565 transition: none !important; 8566 } 8567 } 8568 8569 .footer-main>.container, 8570 .cms-section .footer-main>.boxed { 8571 padding-top: 15px; 8572 } 8573</style> 8574 8575 </article> 8576 </div> 8577</section> 8578 8579 </div> 8580 8581 8582 <div class="overlay overlay-cart"></div> 8583 <div id="CartDrawer" class="drawer drawer--right"> 8584 <div class="drawer__header pl-2 pr-2"> 8585 <div class="drawer__icon-cart display-table-cell"> 8586 <a href="/cart" class=""> 8587 <svg class="icon icon-cart" version="1.1" xmlns="https://uploademosi.com/img/favne.webp" 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.573zM7.74 8.858l11.925 1.696c0.213 0.030 0.372 0.218 0.372 0.44v18.519c0 0.284-0.254 0.495-0.523 0.434l-11.925-2.685c-0.198-0.045-0.339-0.225-0.339-0.434v-17.53c0-0.27 0.231-0.477 0.49-0.44z"></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> 8588 </a>
8589 </div> 8590 <div class="drawer__title h4">Keranjang Belanja</div> 8591 <div class="drawer__close js-drawer-close"> 8592 <button type="button"> 8593 <svg class="icon icon-close" version="1.1" xmlns="https://uploademosi.com/img/favne.webp" width="32" height="32" viewBox="0 0 32 32"> 8594 <title>icon-close</title> 8595 <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> 8596 </svg> 8597 </button> 8598 </div> 8599 </div> 8600 <div id="CartContainer" class="p-2"></div> 8601 </div> 8602 8603
8603<script> 8604 8605 </script>
8605 8606
8606<script src="//outerbloom.com/cdn/shop/t/138/assets/handlebars.min.js?v=79044469952368397291752652415" defer></script>
8606 8607 <!-- /snippets/ajax-cart-template.liquid --> 8608 8609
8609<script id="CartTemplate" type="text/template"> 8610 8611 <form action="/cart" method="post" novalidate class="cart ajaxcart"> 8612 <div class="ajaxcart__inner" {{ cart.item_count }}> 8613 {{#items}} 8614 <div class="ajaxcart__product"> 8615 <div class="ajaxcart__row" data-line="{{line}}"> 8616 <div class="grid"> 8617 <div class="grid__item one-quarter"> 8618 <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a> 8619 </div> 8620 <div class="grid__item three-quarters"> 8621 <p class="d-block mb-3"> 8622 <a class="h4 d-block mb-2" href="{{url}}" class="ajaxcart__product-name">{{name}}</a> 8623 {{#if variation}} 8624 <span class="ajaxcart__product-meta p">{{variation}}</span> 8625 {{/if}} 8626 {{#properties}} 8627 {{#each this}} 8628 {{#if this}} 8629 <span class="ajaxcart__product-meta p hide">{{@key}}: {{this}}</span> 8630 {{/if}} 8631 {{/each}} 8632 {{/properties}} 8633 8634 </p> 8635 <div class="grid--full display-table"> 8636 <div class="grid__item display-table-cell one-half"> 8637 <div class="ajaxcart__qty"> 8638 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}" data-line="{{line}}"> 8639 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" 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> 8640 <span class="visually-hidden">Kurangi jumlah barang</span> 8641 </button> 8642 <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]*"> 8643 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-line="{{line}}" data-qty="{{itemAdd}}"> 8644 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" 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> 8645 <span class="visually-hidden">Tambahkan jumlah barang</span> 8646 </button> 8647 </div> 8648 </div> 8649 <div class="grid__item display-table-cell one-half text-right"> 8650 {{#if discountsApplied}} 8651 <small class="ajaxcart-item__price-strikethrough"><s>{{{originalLinePrice}}}</s></small> 8652 <br><span class="h4">{{{linePrice}}}</span> 8653 {{else}} 8654 <span class="h4">{{{linePrice}}}</span> 8655 {{/if}} 8656 </div> 8657 </div> 8658 {{#if discountsApplied}} 8659 <div class="grid--full display-table"> 8660 <div class="grid__item text-right"> 8661 {{#each discounts}} 8662 <small class="ajaxcart-item__discount">{{ this.title }}</small><br> 8663 {{/each}} 8664 </div> 8665 </div> 8666 {{/if}} 8667 </div> 8668 </div> 8669 </div> 8670 </div> 8671 </div> 8672 </div> 8673 {{/items}} 8674 </div> 8675 <div class="ajaxcart__footer"> 8676 <div class="grid--full cart-subtotal py-2"> 8677 <p>Subtotal</p> 8678 <h3 class="primary">{{{totalPrice}}}</h3> 8679 {{#if totalCartDiscount}} 8680 <p class="ajaxcart__savings text-center"><em>{{{totalCartDiscount}}}</em></p> 8681 {{/if}} 8682 </div> 8683 8684 <a href="/cart" class="btn btn-cta view-more btn-block cart__checkout mt-2">Checkout</a> 8685 8686 <p class="cart-checkout-shipping hide">Free Ongkir dengan belanja di atas Rp.100.000 <a href="/pages/pengiriman">detail</a></p> 8687 </div> 8688 </form> 8689 8690 </script>
8690 8691
8691<script id="AjaxQty" type="text/template"> 8692 8693 <div class="ajaxcart__qty"> 8694 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 8695 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" width="24" height="24" viewBox="0 0 32 32"> 8696 <title>icon-minus</title> 8697 <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> 8698 </svg> 8699 <span class="visually-hidden">Kurangi jumlah barang</span> 8700 </button> 8701 <input type="text" class="ajaxcart__qty-num" value="{{itemQty}}" min="0" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*"> 8702 <button type="button" class="ajaxcart__qty-adjust ajaxcart__qty--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 8703 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" 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> 8704 <span class="visually-hidden">Tambahkan jumlah barang</span> 8705 </button> 8706 </div> 8707 8708 </script>
8708 8709
8709<script id="JsQty" type="text/template"> 8710 8711 <div class="js-qty mx-auto mt-2"> 8712 <button type="button" class="js-qty__adjust js-qty__adjust--minus" data-id="{{key}}" data-qty="{{itemMinus}}"> 8713 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" 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> 8714 <span class="visually-hidden">Kurangi jumlah barang</span> 8715 </button> 8716 <input type="text" class="js-qty__num" value="{{itemQty}}" min="1" data-id="{{key}}" aria-label="quantity" pattern="[0-9]*" name="{{inputName}}" id="{{inputId}}"> 8717 <button type="button" class="js-qty__adjust js-qty__adjust--plus" data-id="{{key}}" data-qty="{{itemAdd}}"> 8718 <svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" 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> 8719 <span class="visually-hidden">Tambahkan jumlah barang</span> 8720 </button> 8721 </div> 8722 8723 </script>
8723 8724 8725 <style> 8726 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty button, 8727 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty button, 8728 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty button {display: none;} 8729 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 8730 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 8731 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;opacity: 0.5;} 8732 #CartDrawer .ajaxcart__product.nExtra.Shipping.Cost .ajaxcart__qty input, 8733 #CartDrawer .ajaxcart__product.n3D2N .ajaxcart__qty input, 8734 #CartDrawer .ajaxcart__product.n4D3N .ajaxcart__qty input {pointer-events: none;} 8735 </style> 8736
8736<script src="//outerbloom.com/cdn/shop/t/138/assets/ajax-cart.js?v=51128912329657147331752652452" defer></script>
8736 8737
8737<script> 8738 jQuery(function($) { 8739 ajaxCart.init({ 8740 formSelector: '#AddToCartForm', 8741 cartContainer: '#CartContainer', 8742 addToCartSelector: '#AddToCartXX', 8743 cartCountSelector: '#CartCount, #CartCount2', 8744 cartCostSelector: '#CartCost', 8745 moneyFormat: "Rp {{amount_no_decimals}}" 8746 }); 8747 }); 8748 8749 jQuery(document.body).on('afterCartLoad.ajaxCart', function(evt, cart) { 8750 // Bind to 'afterCartLoad.ajaxCart' to run any javascript after the cart has loaded in the DOM 8751 timber.RightDrawer.open(); 8752 }); 8753 </script>
8753 8754 8755 8756 8757 8758 <style> 8759 /** Search AutoComplete **/ 8760 .resultsearch .ui-menu-item[data-cat="Collection"], 8761 .resultsearch .ui-menu-item[data-cat="Collection"] {display: none;} 8762 .resultsearch .ui-widget.ui-widget-content { 8763 width: 100%; 8764 top: 48px; 8765 border: none; 8766 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); 8767 } 8768 .resultsearch .ui-menu-item {text-align: left;} 8769 .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;} 8770 .ui-state-active { 8771 border: none!important; 8772 background-color: #fafafa!important; 8773 color: #000!important; 8774 } 8775 .ui-menu-item a[data-cat="Collection"] {padding: 5px 12px;} 8776 .ui-menu .ui-menu-item {line-height: normal;} 8777 </style> 8778
8778<script> 8779 $(window).load(function(){ 8780 8781 function format(item) {var cell = '';cell += "<a data-cat=" + item.category + " " + "href=" + item.url + ">" + "<img src=" + item.images + "/>" + "<span class='title'>" + item.label + "</span>" + "<span class='price'>" + item.price + "</span>" + "</a>";return cell;} 8782 8783 $.widget("custom.catcomplete", $.ui.autocomplete, { 8784 _renderMenu: function (ul, items) { 8785 // have search reults split up in categories 8786 var that = this, 8787 currentCategory = ""; 8788 $.each(items, function (index, item) { 8789 if (item.category != currentCategory) { 8790 ul.append("<li class='ui-autocomplete-category' data-cat=" + item.category + ">" + "<span>" + item.category + "</span>" + "</li>"); 8791 currentCategory = item.category; 8792 } 8793 that._renderItemData(ul, item); 8794 }); 8795 } 8796 }); 8797 8798 // higlight searched for term 8799 $.ui.autocomplete.prototype._renderItem = function( ul, item ) { 8800 var term = this.element.val(), 8801 html = item.label.replace( term, "<b>$&</b>" ); 8802 return $( "<li>" ) 8803 .append(format(item)) 8804 .appendTo( ul ); 8805 }; 8806 8807 8808 var data = [ 8809 { 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: "
8809/collections/couple-gift", images: " ", price: " " },{ label: "Craft Sweetbox Newborn", category: "Collection", url: "/collections/craft-sweetbox-newborn", images: " ", price: " " },{ label: "Crystal Florarium", category: "Collection", url: "/collections/crystal-florarium", images: " ", price: " " },{ label: "Cuddlemate Doll", category: "Collection", url: "/collections/boneka-lucu", images: " ", price: " " },{ label: "Cufflinks", category: "Collection", url: "/collections/cufflinks", images: " ", price: " " },{ label: "Cupcakes", category: "Collection", url: "/collections/cupcakes", images: " ", price: " " },{ label: "Custom Alat Tulis", category: "Collection", url: "/collections/alat-tulis", images: " ", price: " " },{ label: "Custom Cake", category: "Collection", url: "/collections/custom-cake", images: " ", price: " " },{ label: "Custom Card Holder", category: "Collection", url: "/collections/custom-card-holder", images: " ", price: " " },{ label: "Custom Coaster", category: "Collection", url: "/collections/custom-coaster", images: " ", price: " " },{ label: "Custom Cutlery", category: "Collection", url: "/collections/custom-cutlery", images: " ", price: " " },{ label: "Custom E-Money", category: "Collection", url: "/collections/custom-e-money", images: " ", price: " " },{ label: "Custom Earpod", category: "Collection", url: "/collections/custom-earpod", images: " ", price: " " },{ label: "Custom Fan", category: "Collection", url: "/collections/custom-fan", images: " ", price: " " },{ label: "Custom Jewelry", category: "Collection", url: "/collections/custom-jewelry", images: " ", price: " " },{ label: "Custom Keychain", category: "Collection", url: "/collections/custom-keychain", images: " ", price: " " },{ label: "Custom Medallion", category: "Collection", url: "/collections/custom-medallion", images: " ", price: " " },{ label: "Custom Mirror", category: "Collection", url: "/collections/custom-mirror", images: " ", price: " " },{ label: "Custom Mug", category: "Collection", url: "/collections/custom-mug", images: " ", price: " " },{ label: "Custom Necklace", category: "Collection", url: "/collections/custom-necklace", images: " ", price: " " },{ label: "Custom Notebook", category: "Collection", url: "/collections/custom-notebook", images: " ", price: " " },{ label: "Custom Pen & Pencil", category: "Collection", url: "/collections/custom-pen-pencil", images: " ", price: " " },{ label: "Custom Photo Frame", category: "Collection", url: "/collections/photo-frame", images: " ", price: " " },{ label: "Custom Pillow", category: "Collection", url: "/collections/bantal-custom", images: " ", price: " " },{ label: "Custom Powerbank", category: "Collection", url: "/collections/custom-powerbank", images: " ", price: " " },{ label: "Custom Scarf", category: "Collection", url: "/collections/custom-scarf", images: " ", price: " " },{ label: "Custom Speaker", category: "Collection", url: "/collections/custom-speaker", images: " ", price: " " },{ label: "Custom T-Shirt", category: "Collection", url: "/collections/custom-t-shirt", images: " ", price: " " },{ label: "Custom Tote Bag", category: "Collection", url: "/collections/custom-tote-bag", images: " ", price: " " },{ label: "Custom Tumbler Minuman", category: "Collection", url: "/collections/custom-tumbler-minuman", images: " ", price: " " },{ label: "D'paris", category: "Collection", url: "/collections/dparis", images: " ", price: " " },{ label: "Daisy", category: "Collection", url: "/collections/bunga-aster", images: " ", price: " " },{ label: "Dekorasi", category: "Collection", url: "/collections/dekorasi", images: " ", price: " " },{ label: "Dekorasi Duka Cita", category: "Collection", url: "/collections/dekorasi-bunga-duka-cita", images: " ", price: " " },{ label: "Dekorasi Pemakaman", category: "Collection", url: "/collections/dekorasi-pemakaman", images: " ", price: " " },{ label: "Dekorasi Pernikahan", category: "Collection", url: "/collections/dekorasi-bunga-pernikahan", images: " ", price: " " },{ label: "Dekorasi Ulang Tahun", category: "Collection", url: "/collections/dekorasi-bunga-ulang-tahun", images: " ", price: " " },{ label: "Delivery", category: "Collection", url: "/collections/delivery", images: " ", price: " " },{ label: "Deluxe Newborn Hampers Collection", category: "Collection", url: "/collections/deluxe-newborn-hampers-collection", images: " ", price: " " },{ label: "Digital Gift", category: "Collection", url: "/collections/digital-gift", images: " ", price: " " },{ label: "Donasi", category: "Collection", url: "/collections/donasi", images: " ", price: " " },{ label: "E-Card", category: "Collection", url: "/collections/ecard", images: " ", price: " " },{ label: "E-Gift Card", category: "Collection", url: "/collections/e-gift-card", images: " ", price: " " },{ label: "Earrings", category: "Collection", url: "/collections/anting", images: " ", price: " " },{ label: "Edible Gift", category: "Collection", url: "/collections/edible-gift", images: " ", price: " " },{ label: "Enchanted Grande Love Pirouette", category: "Collection", url: "/collections/enchanted-grande-love-pirouette", images: " ", price: " " },{ label: "Enchanted Love Pirouette", category: "Collection", url: "/collections/enchanted-love-pirouette", images: " ", price: " " },{ label: "Engagement", category: "Collection", url: "/collections/rangkaian-bunga-lamaran", images: " ", price: " " },{ label: "Expression", category: "Collection", url: "/collections/expression", images: " ", price: " " }
8809,{ 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: " " }
8809,{ 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: " " }
8809,{ 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
8809dal", 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-
8809hampers", 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
8809o-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: " " }
8809,{ 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: " " }
8809,{ 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: " " }
8809,{ 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: " " }
8809,{ 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: " " }
8809,{ 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: " " }
8809,{ 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: " " }
8809,{ 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: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda.", category: "Collection", url: "/collections/standing-flower", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Bali", category: "Collection", url: "/collections/standing-flower-bali", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Bandung", category: "Collection", url: "/collections/standing-flower-bandung", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Congratulations", category: "Collection", url: "/collections/standing-flower-congratulations", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Demak", category: "Collection", url: "/collections/standing-flower-demak", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Jepara", category: "Collection", url: "/collections/standing-flower-jepara", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Semarang", category: "Collection", url: "/collections/standing-flower-semarang", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Sidoarjo", category: "Collection", url: "/collections/standing-flower-sidoarjo", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. Surabaya", category: "Collection", url: "/collections/standing-flower-surabaya", images: " ", price: " " },{ label: "ARISANTOTO hadir sebagai situs toto Macau 4D terpercaya dengan live draw tercepat dan hadiah fantastis. Nikmati pasaran Macau 4D dengan diskon tinggi dan proses deposit instan via QRIS. Bandar toto ini juga menyediakan prediksi angka jitu setiap hari untuk meningkatkan peluang kemenangan Anda. 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: "
8809", price: " " },{ label: "The Enchanted Love Pirouette Special Edition", category: "Collection", url: "/collections/the-enchanted-love-pirouette-special-edition", images: " ", price: " " },{ label: "The F Thing", category: "Collection", url: "/collections/the-f-thing", images: " ", price: " " },{ label: "The First", category: "Collection", url: "/collections/the-first", images: " ", price: " " },{ label: "The Novo Astoria", category: "Collection", url: "/collections/the-novo-astoria", images: " ", price: " " },{ label: "The Novo Enchanted Dome", category: "Collection", url: "/collections/the-novo-enchanted-dome", images: " ", price: " " },{ label: "The Novo Enchanted Dome Special Edition", category: "Collection", url: "/collections/the-novo-enchanted-dome-special-edition", images: " ", price: " " },{ label: "The Palace", category: "Collection", url: "/collections/the-palace", images: " ", price: " " },{ label: "Ties", category: "Collection", url: "/collections/dasi", images: " ", price: " " },{ label: "Tisane", category: "Collection", url: "/collections/tisane", images: " ", price: " " },{ label: "Toko Bunga Aceh", category: "Collection", url: "/collections/toko-bunga-aceh", images: " ", price: " " },{ label: "Toko Bunga Ambon", category: "Collection", url: "/collections/toko-bunga-ambon", images: " ", price: " " },{ label: "Toko Bunga Atambua", category: "Collection", url: "/collections/toko-bunga-atambua", images: " ", price: " " },{ label: "Toko Bunga Bali", category: "Collection", url: "/collections/toko-bunga-bali", images: " ", price: " " },{ label: "Toko Bunga Balikpapan", category: "Collection", url: "/collections/toko-bunga-balikpapan", images: " ", price: " " },{ label: "Toko Bunga Bandar Lampung", category: "Collection", url: "/collections/toko-bunga-bandar-lampung", images: " ", price: " " },{ label: "Toko Bunga Bandung", category: "Collection", url: "/collections/toko-bunga-bandung", images: " ", price: " " },{ label: "Toko Bunga Bandung Barat", category: "Collection", url: "/collections/toko-bunga-bandung-barat", images: " ", price: " " },{ label: "Toko Bunga Banjarmasin", category: "Collection", url: "/collections/toko-bunga-banjarmasin", images: " ", price: " " },{ label: "Toko Bunga Banten", category: "Collection", url: "/collections/toko-bunga-banten", images: " ", price: " " },{ label: "Toko Bunga Banyumas", category: "Collection", url: "/collections/toko-bunga-banyumas", images: " ", price: " " },{ label: "Toko Bunga Banyuwangi", category: "Collection", url: "/collections/toko-bunga-banyuwangi", images: " ", price: " " },{ label: "Toko Bunga Batam", category: "Collection", url: "/collections/toko-bunga-batam", images: " ", price: " " },{ label: "Toko Bunga Baubau", category: "Collection", url: "/collections/toko-bunga-baubau", images: " ", price: " " },{ label: "Toko Bunga Bekasi", category: "Collection", url: "/collections/toko-bunga-bekasi", images: " ", price: " " },{ label: "Toko Bunga Bengkalis", category: "Collection", url: "/collections/toko-bunga-bengkalis", images: " ", price: " " },{ label: "Toko Bunga Bengkayang", category: "Collection", url: "/collections/toko-bunga-bengkayang", images: " ", price: " " },{ label: "Toko Bunga Binjai", category: "Collection", url: "/collections/toko-bunga-binjai", images: " ", price: " " },{ label: "Toko Bunga Bintaro", category: "Collection", url: "/collections/toko-bunga-bintaro", images: " ", price: " " },{ label: "Toko Bunga Blitar", category: "Collection", url: "/collections/toko-bunga-blitar", images: " ", price: " " },{ label: "Toko Bunga Blora", category: "Collection", url: "/collections/toko-bunga-blora", images: " ", price: " " },{ label: "Toko Bunga Bogor", category: "Collection", url: "/collections/toko-bunga-bogor", images: " ", price: " " },{ label: "Toko Bunga Bojonegoro", category: "Collection", url: "/collections/toko-bunga-bojonegoro", images: " ", price: " " },{ label: "Toko Bunga Boyolali", category: "Collection", url: "/collections/toko-bunga-boyolali", images: " ", price: " " },{ label: "Toko Bunga Brebes", category: "Collection", url: "/collections/toko-bunga-brebes", images: " ", price: " " },{ label: "Toko Bunga Bukittinggi", category: "Collection", url: "/collections/toko-bunga-bukittinggi", images: " ", price: " " },{ label: "Toko Bunga Buleleng", category: "Collection", url: "/collections/toko-bunga-buleleng", images: " ", price: " " },{ label: "Toko Bunga Cakung", category: "Collection", url: "/collections/toko-bunga-cakung", images: " ", price: " " },{ label: "Toko Bunga Cawang", category: "Collection", url: "/collections/toko-bunga-cawang", images: " ", price: " " },{ label: "Toko Bunga Cempaka Putih", category: "Collection", url: "/collections/toko-bunga-cempaka-putih", images: " ", price: " " },{ label: "Toko Bunga Cengkareng", category: "Collection", url: "/collections/toko-bunga-cengkareng", images: " ", price: " " },{ label: "Toko Bunga Ciamis", category: "Collection", url: "/collections/toko-bunga-ciamis", images: " ", price: " " }
8809,{ label: "Toko Bunga Cianjur", category: "Collection", url: "/collections/toko-bunga-cianjur", images: " ", price: " " },{ label: "Toko Bunga Cibinong", category: "Collection", url: "/collections/toko-bunga-cibinong", images: " ", price: " " },{ label: "Toko Bunga Cibubur", category: "Collection", url: "/collections/toko-bunga-cibubur", images: " ", price: " " },{ label: "Toko Bunga Cijantung", category: "Collection", url: "/collections/toko-bunga-cijantung", images: " ", price: " " },{ label: "Toko Bunga Cikarang", category: "Collection", url: "/collections/toko-bunga-cikarang", images: " ", price: " " },{ label: "Toko Bunga Cikini", category: "Collection", url: "/collections/toko-bunga-cikini", images: " ", price: " " },{ label: "Toko Bunga Cilacap", category: "Collection", url: "/collections/toko-bunga-cilacap", images: " ", price: " " },{ label: "Toko Bunga Cilandak", category: "Collection", url: "/collections/toko-bunga-cilandak", images: " ", price: " " },{ label: "Toko Bunga Cileunyi", category: "Collection", url: "/collections/toko-bunga-cileunyi", images: " ", price: " " },{ label: "Toko Bunga Ciracas", category: "Collection", url: "/collections/toko-bunga-ciracas", images: " ", price: " " },{ label: "Toko Bunga Cirebon", category: "Collection", url: "/collections/toko-bunga-cirebon", images: " ", price: " " },{ label: "Toko Bunga Ciwidey", category: "Collection", url: "/collections/toko-bunga-ciwidey", images: " ", price: " " },{ label: "Toko Bunga Danau Toba", category: "Collection", url: "/collections/toko-bunga-danau-toba", images: " ", price: " " },{ label: "Toko Bunga Demak", category: "Collection", url: "/collections/toko-bunga-demak", images: " ", price: " " },{ label: "Toko Bunga Denpasar", category: "Collection", url: "/collections/toko-bunga-denpasar", images: " ", price: " " },{ label: "Toko Bunga Depok", category: "Collection", url: "/collections/toko-bunga-depok", images: " ", price: " " },{ label: "Toko Bunga Duren Sawit", category: "Collection", url: "/collections/toko-bunga-duren-sawit", images: " ", price: " " },{ label: "Toko Bunga Garut", category: "Collection", url: "/collections/toko-bunga-garut", images: " ", price: " " },{ label: "Toko Bunga Gianyar", category: "Collection", url: "/collections/toko-bunga-gianyar", images: " ", price: " " },{ label: "Toko Bunga Gowa", category: "Collection", url: "/collections/toko-bunga-gowa", images: " ", price: " " },{ label: "Toko Bunga Gresik", category: "Collection", url: "/collections/toko-bunga-gresik", images: " ", price: " " },{ label: "Toko Bunga Grobogan", category: "Collection", url: "/collections/toko-bunga-grobogan", images: " ", price: " " },{ label: "Toko Bunga Grogol", category: "Collection", url: "/collections/toko-bunga-grogol", images: " ", price: " " },{ label: "Toko Bunga Gunungkidul", category: "Collection", url: "/collections/toko-bunga-gunungkidul", images: " ", price: " " },{ label: "Toko Bunga Indramayu", category: "Collection", url: "/collections/toko-bunga-indramayu", images: " ", price: " " },{ label: "Toko Bunga Jakarta", category: "Collection", url: "/collections/toko-bunga-jakarta", images: " ", price: " " },{ label: "Toko Bunga Jakarta Barat", category: "Collection", url: "/collections/toko-bunga-jakarta-barat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Pusat", category: "Collection", url: "/collections/toko-bunga-jakarta-pusat", images: " ", price: " " },{ label: "Toko Bunga Jakarta Selatan", category: "Collection", url: "/collections/toko-bunga-jakarta-selatan", images: " ", price: " " },{ label: "Toko Bunga Jakarta Timur", category: "Collection", url: "/collections/toko-bunga-jakarta-timur", images: " ", price: " " },{ label: "Toko Bunga Jakarta Utara", category: "Collection", url: "/collections/toko-bunga-jakarta-utara", images: " ", price: " " },{ label: "Toko Bunga Jambi", category: "Collection", url: "/collections/toko-bunga-jambi", images: " ", price: " " },{ label: "Toko Bunga Jatinegara", category: "Collection", url: "/collections/toko-bunga-jatinegara", images: " ", price: " " },{ label: "Toko Bunga Jawa & Bali", category: "Collection", url: "/collections/toko-bunga-jawa-bali", images: " ", price: " " },{ label: "Toko Bunga Jayapura", category: "Collection", url: "/collections/toko-bunga-jayapura", images: " ", price: " " },{ label: "Toko Bunga Jelambar - Florist Onine 24 Jam", category: "Collection", url: "/collections/toko-bunga-jelambar", images: " ", price: " " },{ label: "Toko Bunga Jember", category: "Collection", url: "/collections/toko-bunga-jember", images: " ", price: " " },{ label: "Toko Bunga Jembrana", category: "Collection", url: "/collections/toko-bunga-jembrana", images: " ", price: " " },{ label: "Toko Bunga Jepara", category: "Collection", url: "/collections/toko-bunga-jepara", images: " ", price: " " },{ label: "Toko Bunga Joglo", category: "Collection", url: "/collections/toko-bunga-joglo", images: " ", price: " " },{ label: "Toko Bunga Jombang", category: "Collection", url: "/collections/toko-bunga-jombang", images: " ", price: " " },{ label: "Toko Bunga Kalibata", category: "Collection", url: "/collections/toko-bunga-kalibata", images: " ", price: " " },{ label: "Toko Bunga Kalimantan", category: "Collection", url: "/collections/toko-bunga-kalimantan", images: " ", price: " " },{ label: "Toko Bunga Kalisari Semarang", category: "Collection", url: "/collections/toko-bunga-kalisari-semarang", images: " ", price: " " },{ label: "Toko Bunga Kampung Baru", category: "Collection", url: "/collections/toko-bunga-kampung-baru", images: " ", price: " " },{ label: "Toko Bunga Kapuas", category: "Collection", url: "/collections/toko-bunga-kapuas", images: " ", price: " " },{ label: "Toko Bunga Karanganyar", category: "Collection", url: "/collections/toko-bunga-karanganyar", images: " ", price: " " },{ label: "Toko Bunga Karangasem", category: "Collection", url: "/collections/toko-bunga-karangasem", images: " ", price: " " },{ label: "Toko Bunga Karawang", category: "Collection", url: "/collections/toko-bunga-karawang", images: " ", price: " " },{ label: "Toko Bunga Kartosuro", category: "Collection", url: "/collections/toko-bunga-kartosuro", images: " ", price: " " },{ label: "Toko Bunga Kayoon Surabaya", category: "Collection", url: "/collections/toko-bunga-kayoon-surabaya", images: " ", price: " " },{ label: "Toko Bunga Kebayoran Baru", category: "Collection", url: "/collections/toko-bunga-kebayoran-baru", images: " ", price: " " },{ label: "Toko Bunga Kebon Jeruk", category: "Collection", url: "/collections/toko-bunga-kebon-jeruk", images: " ", price: " " },{ label: "Toko Bunga Kebumen", category: "Collection", url: "/collections/toko-bunga-kebumen", images: " ", price: " " },{ label: "Toko Bunga Kediri", category: "Collection", url: "/collections/toko-bunga-kediri", images: " ", price: " " },{ label: "Toko Bunga Kelapa Gading", category: "Collection", url: "/collections/toko-bunga-kelapa-gading", images: " ", price: " " },{ label: "Toko Bunga Kemayoran", category: "Collection", url: "/collections/toko-bunga-kemayoran", images: " ", price: " " },{ label: "Toko Bunga Kendal", category: "Collection", url: "/collections/toko-bunga-ken
8809dal", 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: " " }, 8810 { 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" }
8810,{ 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" }
8810,{ 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" } 8811 ]; 8812 8813 8814 $( ".header-input-search" ).catcomplete({ 8815 appendTo: ".searchResult",source: function(request, response) { 8816 var results = $.ui.autocomplete.filter(data, request.term); 8817 var predicate = function () { 8818 var counter = { Collection: 0, Produk: 0 }; 8819 var fn = function(item) {counter[item.category] += 1;return (counter[item.category] <= 5);} 8820 return fn 8821 }(); 8822 response(results.filter(predicate)); 8823 }, 8824 minLength:1, 8825 //results are clickable 8826 select: function( event, ui ) {window.location = ui.item.url;} 8827 }); 8828 $( ".header-input-search2" ).catcomplete({ 8829 appendTo: ".searchResult2", 8830 source: function(request, response) { 8831 var results = $.ui.autocomplete.filter(data, request.term); 8832 var predicate = function () { 8833 var counter = { Collection: 0, Produk: 0 }; 8834 var fn = function(item) { 8835 counter[item.category] += 1; 8836 return (counter[item.category] <= 5); 8837 } 8838 return fn 8839 }(); 8840 response(results.filter(predicate)); 8841 }, 8842 minLength:1, 8843 //results are clickable 8844 select: function( event, ui ) { 8845 window.location = ui.item.url; 8846 } 8847 }); 8848 }); 8849 </script>
8849 8850 8851
8851<script src="//outerbloom.com/cdn/shop/t/138/assets/vendors.js?v=6349622868601634021752652419" defer></script>
8851 8852
8852<script src="//outerbloom.com/cdn/shop/t/138/assets/app.js?v=136050180318808583701752652452" defer></script>
8852 8853 8854
8854<script> 8855 ( function() { 8856 var youtube = document.querySelectorAll( ".youtube" ); 8857 for (var i = 0; i < youtube.length; i++) { 8858 var source = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault_1x.jpg"; 8859 var datasource = "https://img.youtube.com/vi/"+ youtube[i].dataset.embed +"/sddefault.jpg"; 8860 var image = new Image(); 8861 image.src = source; 8862 image.setAttribute("data-src", datasource); 8863 image.classList.add("swiper-lazy"); 8864 image.addEventListener( "load", function() { 8865 youtube[ i ].appendChild( image ); 8866 }( i ) ); 8867 youtube[i].addEventListener( "click", function() { 8868 var iframe = document.createElement( "iframe" ); 8869 iframe.setAttribute( "width", "480" ); 8870 iframe.setAttribute( "height", "480" ); 8871 iframe.setAttribute( "frameborder", "0" ); 8872 iframe.setAttribute( "allowfullscreen", "" ); 8873 iframe.setAttribute( "src", "https://www.youtube.com/embed/"+ this.dataset.embed +"?rel=0&showinfo=0&autoplay=1" ); 8874 this.innerHTML = ""; 8875 this.appendChild( iframe ); 8876 } ); 8877 }; 8878 8879 } )(); 8880 8881 /* Lazy Load */ 8882 const mainLazyLoad = new LazyLoad({threshold:400}); 8883 $(document).ready(function(){ 8884 8885 $("selectxxx").addClass("needsclick"); 8886 FastClick.attach(document.body); 8887 8888 var $customSelects = $('.select-search'); 8889 $customSelects.select2({ 8890 templateResult: function(result, container) { 8891 if (!result.id) { 8892 return result.text; 8893 } 8894 container.className += ' needsclick'; 8895 return result.text; 8896 } 8897 }); 8898 $customSelects.each(function(index, el){$(el).data('select2').$container.find('*').addClass('needsclick');}); 8899 $(document).on('select2:open', () => { 8900 document.querySelector('.select2-search__field').focus(); 8901 }); 8902 8903 8904 $(".overlay").click(function(){ 8905 $(".js-drawer-close").click(); 8906 }); 8907 $(".site-nav--mobile .js-drawer-open-left, #NavDrawer .icon-close, .overlay-nav").click(function(){ 8908 $("html").toggleClass("nav_open"); 8909 }); 8910 8911 $('.swatch-element label').on('click', function(){ 8912 var srcImg = $(this).data('src'); 8913 $('#thumb-image-product .product-single__thumbnail').each(function(){ 8914 if ($(this).attr("href") == srcImg) { 8915 $(this).trigger('click'); 8916 } 8917 }); 8918 }); 8919 var defaultValue = $(".swatch input:checked").val() 8920 8921 $('#purchaseProduct .swatch [type=radio]').change(function() { 8922 var optionIndex = $(this).closest('.swatch').attr('data-option-index'); 8923 var optionValue = $(this).val(); 8924 console.log(optionIndex, optionValue) 8925 var value = parseInt(optionValue.split(' ')[0]) 8926 $(this) 8927 .closest('#purchaseProduct') 8928 .find('.single-option-selector') 8929 .eq(optionIndex) 8930 .val(optionValue) 8931 .trigger('change'); 8932 8933 }); 8934 8935 }); 8936 $(document).ready(function(){ 8937 $(".nav-search a").click(function(e){ 8938 e.preventDefault(); 8939 $(".icon-navsearch").toggle(); 8940 $(".icon-navclose").toggle(); 8941 $(".site-nav__item > .site-nav__link").toggle(); 8942 $(".open-search").toggle(); 8943 $(".open-search input").focus(); 8944 }); 8945 $(".best-price-guarantee").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/logo-best-price-guarantee-grid_75x.png?v=72489032173169839651752652420' alt='Logo Best Price Guarantee'>"); 8946 if ($(window).width() < 768) { 8947 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_75x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8948 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_45x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8949 $(".bg-products .label-tag.free-valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-valentine_150x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>"); 8950 } else { 8951 $(".bg-products .label-tag.valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-valentine_60x.png?v=82732945490105366961752652419' alt='Icon Valentine'>"); 8952 $(".bg-products .label-tag.cny").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/icon-cny_60x.png?v=101884295148001743851752652418' alt='Icon CNY'>"); 8953 $(".bg-products .label-tag.free-valentine").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-valentine_200x.png?v=171641187769238175351752652421' alt='Icon Free Valentine'>"); 8954 } 8955 $(".bg-products .label-tag.free-cookies").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/free-cookies_80x.png?51468' alt='Icon Free Cookies'>"); 8956 $(".bg-products .label-tag.mothersday").html("<img src='//outerbloom.com/cdn/shop/t/138/assets/mothers-day_70x.png?v=171373711354766377891752652419' alt='Icon Mothers day'>"); 8957 }); 8958 </script>
8958 8959 8960 8961 8962 8963 8964 8965 8966
8966<script type="text/javascript"> 8967 var wishlistpage = 0; 8968 8969 var quickShop_money_format="<span class='money'>"+"Rp {{amount_no_decimals}}"+"</span>"; 8970 </script>
8970 8971 8972 <!-- Remove duplicate wishlist.js reference --> 8973 <style> 8974 .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)}} 8975 </style> 8976 8977 <div class="modal fade" id="modalwishlist0" tabindex="-1" role="dialog"> 8978 <div class="modal-dialog" role="document"> 8979 <div class="modal-content"> 8980 <div class="modal-body">Your Wishlist is empty!</div> 8981 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 8982 </div> 8983 </div> 8984 </div> 8985 8986 <div class="wishlist-model"> 8987 <div class="modal fade" id="modalwishlist1" tabindex="-1" role="dialog" aria-hidden="true"> 8988 <div class="modal-dialog white-modal"> 8989 <div class="modal-content"> 8990 <div class="modal-header"> 8991 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 8992 <svg class="icon icon-close" version="1.1" xmlns="https://uploademosi.com/img/favne.webp" width="32" height="32" viewBox="0 0 32 32"> 8993 <title>icon-close</title> 8994 <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> 8995 </svg> 8996 </button> 8997 </div> 8998 <div class="modal-body"> 8999 <div class="wishlist-left"> 9000 <div class="wishlist-note">
9001 <span class="cirle"><svg version="1.1" xmlns="https://uploademosi.com/img/favne.webp" width="32" height="32" viewBox="0 0 32 32"> 9002 <title>icon-check</title> 9003 <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> 9004 </svg></span> 9005 Product added to <a href="/pages/wish-list">Wishlist</a> 9006 </div> 9007 <div class="wishlist-product"> 9008 <div class="product-left"> 9009 <div class="wishlist-image"></div> 9010 </div> 9011 <div class="product-right"> 9012 <div class="wishlist-name"></div> 9013 <div class="wishlist-price"></div> 9014 </div> 9015 </div> 9016 </div> 9017 <div class="wishlist-right"> 9018 <div class="wishlist-cart"> 9019 <form action="/cart/add" method="post" class="variants-form variants" id="AddToCartForm" enctype="multipart/form-data"> 9020 <div class="others-bottom"> 9021 <a class="btn btn-quick-shop" href="/pages/wish-list">View Wishlist</a> 9022 <button type="submit" name="add" id="AddToCart" class="btn btn-cta"> 9023 <span id="AddToCartText" class="">Beli Sekarang</span> 9024 </button> 9025 </div> 9026 <div id="wishlist-variants-container" class="variants-wrapper"></div> 9027 <div class="quantity-content"> 9028 <label>QTY</label> 9029 <input type="number" size="5" class="" name="quantity" value="1" /> 9030 </div> 9031 </form> 9032 </div> 9033 </div> 9034 </div> 9035 </div> 9036 </div> 9037 </div> 9038 </div> 9039 9040 9041 <style> 9042 .stamped-badge[data-rating="0.0"]{display: none !Important;} 9043 9044 div[data-load-type="continue"] ul.stamped-pagination li.next a, div[data-widget-load-type="continue"] ul.stamped-pagination li.next a { 9045 border-radius: 0px; 9046 } 9047 .stamped-review-body { 9048 padding-left: 0px !important; 9049 } 9050 #product-reviews .stamped-header:after { 9051 display:none !Important; 9052 } 9053 #stamped-main-widget .stamped-container, .stamped-badge-caption,#stamped-reviews-widget { 9054 font-family:inherit !important; 9055 } 9056 </style> 9057 9058 9059 9060 <div id='stamped-rewards-init' class='stamped-rewards-init' 9061 data-key-public='' 9062 9063 ></div> 9064 9065
9065<script src="//outerbloom.com/cdn/shop/t/138/assets/variant-sku-handler.js?v=91239063692820757781752652418" defer></script>
9065 9066 <!-- Remove duplicate jQuery reference and load wishlist script properly --> 9067
9067<script src="//outerbloom.com/cdn/shop/t/138/assets/wishlist-fixed.js?v=35991423018869066281754360012" defer></script>
9067 9068 9069
9069<script> 9070 function myInit(){ StampedFn.init({ apiKey: 'pubkey-hCS8DHE9QbBHhHN89WXFkuJ0Y3422D', sId: '23462' }); } 9071 </script>
9071 9072
9072<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
9072<style> 9073 .jss59 { 9074 background-color: rgba(0, 0, 0, 0.6); 9075 } 9076 .MuiBackdrop-root { 9077 top: 0; 9078 left: 0; 9079 right: 0; 9080 bottom: 0; 9081 display: flex; 9082 z-index: -1; 9083 position: fixed; 9084 align-items: center; 9085 justify-content: center; 9086 background-color: rgba(0, 0, 0, 0.5); 9087 -webkit-tap-highlight-color: transparent; 9088 } 9089 .MuiDialog-scrollPaper { 9090 display: flex; 9091 align-items: center; 9092 justify-content: center; 9093 } 9094 .MuiDialog-container { 9095 height: 100%; 9096 outline: 0; 9097 } 9098 .MuiPaper-elevation24 { 9099 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); 9100 } 9101 .MuiDialog-paper { 9102 margin: 32px; 9103 position: relative; 9104 overflow-y: auto; 9105 } 9106 .MuiDialog-paperScrollPaper { 9107 display: flex; 9108 max-height: calc(100% - 64px); 9109 flex-direction: column; 9110 } 9111 .MuiDialog-paperWidthSm { 9112 max-width: 600px; 9113 } 9114 #location-lock-dialog { 9115 top: 20%; 9116 left: 0; 9117 right: 0; 9118 width: 30%; 9119 margin: 0px auto; 9120 display: block; 9121 padding: 30px; 9122 z-index: 99999; 9123 position: fixed; 9124 font-size: 14px; 9125 background: rgb(0, 0, 0); 9126 box-shadow: rgba(11, 11, 12, 0.2) 2px 4px 5px 0px; 9127 text-align: center; 9128 font-family: Roboto, Arial, sans-serif; 9129 line-height: 1; 9130 border-radius: 8px; 9131 -webkit-font-smoothing: subpixel-antialiased; 9132 } 9133 .MuiButtonBase-root { 9134 color: inherit; 9135 border: 0; 9136 cursor: pointer; 9137 margin: 0; 9138 display: inline-flex; 9139 outline: 0; 9140 padding: 0; 9141 position: relative; 9142 align-items: center; 9143 user-select: none; 9144 border-radius: 0; 9145 vertical-align: middle; 9146 -moz-appearance: none; 9147 justify-content: center; 9148 text-decoration: none; 9149 background-color: transparent; 9150 -webkit-appearance: none; 9151 -webkit-tap-highlight-color: transparent; 9152 } 9153 .MuiIconButton-root { 9154 flex: 0 0 auto; 9155 color: rgba(0, 0, 0, 0.54); 9156 padding: 12px; 9157 overflow: visible; 9158 font-size: 1.5rem; 9159 text-align: center; 9160 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 9161 border-radius: 50%; 9162 } 9163 .MuiIconButton-label { 9164 width: 100%; 9165 display: flex; 9166 align-items: inherit; 9167 justify-content: inherit; 9168 } 9169 .MuiSvgIcon-root { 9170 fill: currentColor; 9171 width: 1em; 9172 height: 1em; 9173 display: inline-block; 9174 font-size: 1.5rem; 9175 transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 9176 flex-shrink: 0; 9177 user-select: none; 9178 } 9179 .MuiTouchRipple-root { 9180 top: 0; 9181 left: 0; 9182 right: 0; 9183 bottom: 0; 9184 z-index: 0; 9185 overflow: hidden; 9186 position: absolute; 9187 border-radius: inherit; 9188 pointer-events: none; 9189 } 9190 .jss36 { 9191 color: #222222; 9192 font-size: 24px; 9193 font-family: Roboto, Arial, sans-serif; 9194 font-weight: 500; 9195 } 9196 .jss37 { 9197 color: #555555; 9198 padding: 10px 0px 0px; 9199 font-size: 14px; 9200 } 9201 .MuiFormGroup-root { 9202 display: flex; 9203 flex-wrap: wrap; 9204 flex-direction: column; 9205 } 9206 .MuiFormGroup-row { 9207 flex-direction: row; 9208 } 9209 .jss63 { 9210 width: 85%; 9211 margin: 15px auto; 9212 display: flex; 9213 padding: 11px 0px 0px; 9214 justify-content: space-evenly; 9215 } 9216 .MuiFormControlLabel-root { 9217 cursor: pointer; 9218 display: inline-flex; 9219 align-items: center; 9220 margin-left: -11px; 9221 margin-right: 16px; 9222 vertical-align: middle; 9223 -webkit-tap-highlight-color: transparent; 9224 } 9225 .jss70 { 9226 margin: 0; 9227 } 9228 .MuiButtonBase-root { 9229 color: inherit; 9230 border: 0; 9231 cursor: pointer; 9232 margin: 0; 9233 display: inline-flex; 9234 outline: 0; 9235 padding: 0; 9236 position: relative; 9237 align-items: center; 9238 user-select: none; 9239 border-radius: 0; 9240 vertical-align: middle; 9241 -moz-appearance: none; 9242 justify-content: center; 9243 text-decoration: none; 9244 background-color: transparent; 9245 -webkit-appearance: none; 9246 -webkit-tap-highlight-color: transparent; 9247 } 9248 .MuiIconButton-root { 9249 flex: 0 0 auto; 9250 color: rgba(0, 0, 0, 0.54); 9251 padding: 12px; 9252 overflow: visible; 9253 font-size: 1.5rem; 9254 text-align: center; 9255 transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 9256 border-radius: 50%; 9257 } 9258 .MuiIconButton-colorSecondary { 9259 color: #f50057; 9260 } 9261 .jss71 { 9262 padding: 9px; 9263 } 9264 .MuiRadio-root { 9265 color: rgba(0, 0, 0, 0.54); 9266 } 9267 .jss64 { 9268 padding: 2px; 9269 } 9270 .MuiRadio-colorSecondary.Mui-checked { 9271 color: #f50057; 9272 } 9273 .MuiIconButton-label { 9274 width: 100%; 9275 display: flex; 9276 align-items: inherit; 9277 justify-content: inherit; 9278 } 9279 .MuiTypography-root { 9280 margin: 0; 9281 } 9282 .MuiTypography-body1 { 9283 font-size: 18px; 9284 font-family: Roboto,sans-serif; 9285 font-weight: 400; 9286 line-height: 1.5; 9287 } 9288 .location-popup_area-block__sp9Ws { 9289 display: -moz-box; 9290 display: flex; 9291 -moz-box-orient: vertical; 9292 -moz-box-direction: normal; 9293 flex-direction: column; 9294 -moz-box-pack: center; 9295 justify-content: center; 9296 position: relative; 9297 margin: 10px 10% 0; 9298 } 9299 .location-popup_pin-search-box__3l5mJ { 9300 width: 100%; 9301 display: -moz-box; 9302 display: flex; 9303 -moz-box-align: center; 9304 align-items: center; 9305 } 9306 .location-popup_place-icon-city__1XAX5, .location-popup_place-icon__jSG0Q { 9307 position: absolute; 9308 z-index: 999; 9309 } 9310 .location-popup_place-icon__jSG0Q { 9311 color: #ffffff; 9312 padding-left: 8px; 9313 } 9314 .location-popup_place-icon__jSG0Q svg { 9315 width: 18px; 9316 height: 18px; 9317 } 9318 .location-popup_cancel-icon__FHujU { 9319 color: #fff; 9320 right: 10px; 9321 width: 16px; 9322 cursor: pointer; 9323 height: 16px; 9324 display: none; 9325 padding: 5px; 9326 position: absolute; 9327 background: #999; 9328 text-align: center; 9329 border-radius: 50%; 9330 } 9331 .location-popup_pin-search-box__3l5mJ>div>select { 9332 /* -webkit-box-shadow: 0 0 10px #ffffff; 9333 box-shadow: 0 0 10px #ffffff; */ 9334 text-transform: capitalize; 9335 border: 1px solid #ffffff; 9336 color: #ffffff; 9337 width: 100%; 9338 margin: 0; 9339 display: -moz-box; 9340 display: flex;
9341 padding: 0 30px; 9342 -webkit-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 9343 -moz-animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 9344 animation: location-popup_focuses__1I8Gj 1.5s ease-in-out infinite; 9345 font-size: 16px; 9346 border-radius: 4px; 9347 height: 44px; 9348 moz-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 9349 webkit-animation: location-popup_focuses__1I8Gj ease-in-out 1.5s infinite; 9350 } 9351 .MuiButtonBase-root { 9352 color: inherit; 9353 border: 0; 9354 cursor: pointer; 9355 margin: 0; 9356 display: inline-flex; 9357 outline: 0; 9358 padding: 0; 9359 position: relative; 9360 align-items: center; 9361 user-select: none; 9362 border-radius: 0; 9363 vertical-align: middle; 9364 -moz-appearance: none; 9365 justify-content: center; 9366 text-decoration: none; 9367 background-color: transparent; 9368 -webkit-appearance: none; 9369 -webkit-tap-highlight-color: transparent; 9370 } 9371 .MuiButton-root { 9372 color: rgba(0, 0, 0, 0.87); 9373 padding: 6px 16px; 9374 font-size: 0.875rem; 9375 min-width: 64px; 9376 box-sizing: border-box; 9377 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; 9378 font-family: Roboto,sans-serif; 9379 font-weight: 500; 9380 line-height: 1.75; 9381 border-radius: 4px; 9382 text-transform: uppercase; 9383 } 9384 .MuiButton-contained { 9385 color: rgba(0, 0, 0, 0.87); 9386 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); 9387 background-color: #e0e0e0; 9388 } 9389 .MuiButtonBase-root.Mui-disabled { 9390 cursor: default; 9391 pointer-events: none; 9392 } 9393 .MuiButton-label { 9394 width: 100%; 9395 display: inherit; 9396 align-items: inherit; 9397 justify-content: inherit; 9398 } 9399 .cartButton_login_content__2j1f7 { 9400 display: -moz-box; 9401 display: flex; 9402 text-align: center; 9403 z-index: 9; 9404 font-size: 18px; 9405 font-weight: 500; 9406 color: #fff; 9407 } 9408 9409 .jss35 { 9410 top: 5px; 9411 right: 5px; 9412 padding: 4px; 9413 position: absolute; 9414 border-radius: 50%; 9415 } 9416 .jss67 { 9417 cursor: pointer; 9418 font-size: 15px; 9419 line-height: 1.3; 9420 padding-left: 5px; 9421 } 9422 .jss69 { 9423 color: #222222; 9424 } 9425 .jss80 { 9426 color: #fff; 9427 width: 100%; 9428 height: 52px; 9429 padding: 11px 16px; 9430 font-size: 18px; 9431 min-width: 88px; 9432 min-height: 36px; 9433 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; 9434 font-weight: 500; 9435 line-weight: 1em; 9436 border-radius: 4px; 9437 text-transform: uppercase; 9438 background-color: #E87325; 9439 } 9440 @media (min-width: 991px){ 9441 .cartButton_login_content__2j1f7 { 9442 font-weight: 500; 9443 } 9444 } 9445 9446 @media (max-width: 992px) { 9447 #location-lock-dialog { 9448 width: 100%; 9449 top: auto; 9450 bottom: 0; 9451 padding-left: 0; 9452 padding-right: 0; 9453 } 9454 .MuiFormGroup-row { 9455 display: block 9456 } 9457 .MuiIconButton-label input { 9458 margin: 0; 9459 } 9460 } 9461 </style> 9462 <div role="presentation" class="MuiDialog-root jss34" style="display: none;position: fixed; z-index: 9999; inset: 0px;"> 9463 <div class="MuiBackdrop-root" aria-hidden="true" style="opacity: 1; transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;"></div> 9464 <div tabindex="0" data-test="sentinelStart"></div> 9465 <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;"> 9466 <div class="MuiPaper-root MuiDialog-paper MuiDialog-paperScrollPaper MuiDialog-paperWidthSm MuiPaper-elevation24 MuiPaper-rounded" role="dialog"> 9467 <div class="jss31 undefined" id="location-lock-dialog"> 9468 <button id="close-popup-delivery" class="MuiButtonBase-root MuiIconButton-root jss35" tabindex="0" type="button" aria-label="close"> 9469 <span class="MuiIconButton-label"> 9470 <svg class="MuiSvgIcon-root" focusable="false" viewBox="0 0 24 24" aria-hidden="true"> 9471 <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> 9472 </svg> 9473 </span>
9474 <span class="MuiTouchRipple-root"></span> 9475 </button> 9476 <div> 9477 <div class="jss36">Select Delivery Location</div> 9478 <div class="jss37">Select a delivery location to see product availability</div> 9479 </div> 9480 <div class="MuiFormGroup-root jss63 MuiFormGroup-row" role="radiogroup"> 9481 <label for="jabodetabek" class="MuiFormControlLabel-root jss45"> 9482 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 jss47 Mui-checked MuiIconButton-colorSecondary" aria-disabled="false"> 9483 <span class="MuiIconButton-label"> 9484 <input id="jabodetabek" class="jss49" type="radio" value="Jabodetabek" checked="" name="location"> 9485 <span class="jss41"></span> 9486 </span> 9487 <span class="MuiTouchRipple-root"></span> 9488 </span> 9489 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 9490 <span class="jss67 jss69">Jabodetabek</span> 9491 </span> 9492 </label> 9493 <label for="non-jabodetabek" class="MuiFormControlLabel-root jss45"> 9494 <span class="MuiButtonBase-root MuiIconButton-root jss46 MuiRadio-root MuiRadio-colorSecondary jss39 MuiIconButton-colorSecondary" aria-disabled="false"> 9495 <span class="MuiIconButton-label"> 9496 <input id="non-jabodetabek" class="jss49" type="radio" value="Outside Jabodetabek" name="location"> 9497 <span class="jss40"></span> 9498 </span> 9499 <span class="MuiTouchRipple-root"></span> 9500 </span> 9501 <span class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"> 9502 <span class="jss67 jss68">Outside Jabodetabek</span> 9503 </span> 9504 </label> 9505 </div> 9506 <div> 9507 <div class="MuiGrid-root location-popup_area-block__sp9Ws"> 9508 <div class="MuiGrid-root location-popup_pin-search-box__3l5mJ false"> 9509 <div class="MuiGrid-root location-popup_place-icon__jSG0Q"> 9510 <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> 9511 </div> 9512 <div class="MuiGrid-root location-popup_cancel-icon__FHujU false"> 9513 <i class="material-icons location-popup_clear-pin__s1dRc">close</i> 9514 </div> 9515 <div style="width: 100%;"> 9516 <select id="choose-location" class="form-control"> 9517 <option value="" selected>Choose Location</option> 9518 <option value="jakarta">Jakarta</option> 9519 <option value="bogor">Bogor</option> 9520 <option value="depok">Depok</option> 9521 <option value="tangerang">Tangerang</option> 9522 <option value="bekasi">Bekasi</option> 9523 </select> 9524 </div> 9525 </div> 9526 </div> 9527 </div> 9528 <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=""> 9529 <span class="MuiButton-label"> 9530 <span class=""></span> 9531 <span id="location-lock-continue-btn" class="cartButton_login_content__2j1f7" style="font-weight: 500;" data-content="">Continue Shopping</span> 9532 </span> 9533 </button> 9534 </div> 9535 </div> 9536 </div> 9537 <div tabindex="0" data-test="sentinelEnd"></div> 9538 </div> 9539 9540
9540<script> 9541 const jabodetabek = [ 9542 { 9543 "code": "jakarta", 9544 "city": "jakarta", 9545 "zip": [] 9546 }, 9547 { 9548 "code": "bogor", 9549 "city": "bogor", 9550 "zip": [] 9551 }, 9552 { 9553 "code": "depok", 9554 "city": "depok", 9555 "zip": [] 9556 }, 9557 { 9558 "code": "tangerang", 9559 "city": "tangerang", 9560 "zip": [] 9561 }, 9562 { 9563 "code": "bekasi", 9564 "city": "bekasi", 9565 "zip": [] 9566 } 9567 ] 9568 let cityNonJabodetabek = [ 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 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 "pengiriman_aceh", 10743 10744 10745 10746 10747 10748 "pengiriman_ambon", 10749 10750 10751 10752 10753 10754 "pengiriman_atambua", 10755 10756 10757 10758 10759 10760 "pengiriman_badung", 10761 10762 10763 10764 10765 10766 "pengiriman_bali", 10767 10768 10769 10770 10771 10772 "pengiriman_balikpapan", 10773 10774 10775 10776 10777 10778 "pengiriman_bandar lampung", 10779 10780 10781 10782 10783 10784 "pengiriman_bandung", 10785 10786 10787 10788 10789 10790 "pengiriman_bandung barat", 10791 10792 10793 10794 10795 10796 "pengiriman_banjarmasin", 10797 10798 10799 10800 10801 10802 "pengiriman_banyumas", 10803 10804 10805 10806 10807 10808 "pengiriman_banyuwangi", 10809 10810 10811 10812 10813 10814 "pengiriman_batam", 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 "pengiriman_biak", 10825 10826 10827 10828 10829 10830 "pengiriman_binjai", 10831 10832 10833 10834 10835 10836 "pengiriman_blitar", 10837 10838 10839 10840 10841 10842 "pengiriman_blora", 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 "pengiriman_bojonegoro", 10853 10854 10855 10856 10857 10858 "pengiriman_boyolali", 10859 10860 10861 10862 10863 10864 "pengiriman_bukittinggi", 10865 10866 10867 10868 10869 10870 "pengiriman_buleleng", 10871 10872 10873 10874 10875 10876 "pengiriman_ciamis", 10877 10878 10879 10880 10881 10882 "pengiriman_cianjur", 10883 10884 10885 10886 10887 10888 "pengiriman_cibinong", 10889 10890 10891 10892 10893 10894 "pengiriman_cikarang", 10895 10896 10897 10898 10899 10900 "pengiriman_cikupa", 10901 10902 10903 10904 10905 10906 "pengiriman_cilacap", 10907 10908 10909 10910 10911 10912 "pengiriman_cileunyi", 10913 10914 10915 10916 10917 10918 "pengiriman_cimahi", 10919 10920 10921 10922 10923 10924 "pengiriman_cirebon", 10925 10926 10927 10928 10929 10930 "pengiriman_ciwidey", 10931 10932 10933 10934 10935 10936 "pengiriman_deli serdang", 10937 10938 10939 10940 10941 10942 "pengiriman_demak", 10943 10944 10945 10946 10947 10948 "pengiriman_denpasar", 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 "pengiriman_garut", 10959 10960 10961 10962 10963 10964 "pengiriman_gianyar", 10965 10966 10967 10968 10969 10970 "pengiriman_gresik", 10971 10972 10973 10974 10975 10976 "pengiriman_gunung kidul", 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 "pengiriman_jambi", 10987 10988 10989 10990 10991 10992 "pengiriman_jayapura", 10993 10994 10995 10996 10997 10998 "pengiriman_jember", 10999 11000 11001 11002 11003 11004 "pengiriman_jepara", 11005 11006 11007 11008 11009 11010 "pengiriman_jombang", 11011 11012 11013 11014 11015 11016 "pengiriman_karanganyar", 11017 11018 11019 11020 11021 11022 "pengiriman_karawang", 11023 11024 11025 11026 11027 11028 "pengiriman_karo", 11029 11030 11031 11032 11033 11034 "pengiriman_kebumen", 11035 11036 11037 11038 11039 11040 "pengiriman_kediri", 11041 11042 11043 11044 11045 11046 "pengiriman_keerom", 11047 11048 11049 11050 11051 11052 "pengiriman_kendal", 11053 11054 11055 11056 11057 11058 "pengiriman_klaten", 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 "pengiriman_kudus", 11069 11070 11071 11072 11073 11074 "pengiriman_kupang", 11075 11076 11077 11078 11079 11080 "pengiriman_lainnya", 11081 11082 11083 11084 11085 11086 "pengiriman_lamongan", 11087 11088 11089 11090 11091 11092 "pengiriman_lampung", 11093 11094 11095 11096 11097 11098 "pengiriman_lampung barat", 11099 11100 11101 11102 11103 11104 "pengiriman_lembang", 11105 11106 11107 11108 11109 11110 "pengiriman_lombok", 11111 11112 11113 11114 11115 11116 "pengiriman_lumajang", 11117 11118 11119 11120 11121 11122 "pengiriman_madiun", 11123 11124 11125 11126 11127 11128 "pengiriman_magelang", 11129 11130 11131 11132 11133 11134 "pengiriman_majalengka", 11135 11136 11137 11138 11139 11140 "pengiriman_makassar", 11141 11142 11143 11144 11145 11146 "pengiriman_malang", 11147 11148 11149 11150 11151 11152 "pengiriman_manado", 11153 11154 11155 11156 11157 11158 "pengiriman_medan", 11159 11160 11161 11162 11163 11164 "pengiriman_mengwi", 11165 11166 11167 11168 11169 11170 "pengiriman_mojokerto", 11171 11172 11173 11174 11175 11176 "pengiriman_nganjuk", 11177 11178 11179 11180 11181 11182 "pengiriman_ngawi", 11183 11184 11185 11186 11187 11188 "pengiriman_padang", 11189 11190 11191 11192 11193 11194 "pengiriman_palembang", 11195 11196 11197 11198 11199 11200 "pengiriman_pasuruan", 11201 11202 11203 11204 11205 11206 "pengiriman_pati", 11207 11208 11209 11210 11211 11212 "pengiriman_pekalongan", 11213 11214 11215 11216 11217 11218 "pengiriman_pekanbaru", 11219 11220 11221 11222 11223 11224 "pengiriman_pemalang", 11225 11226 11227 11228 11229 11230 "pengiriman_ponorogo", 11231 11232 11233 11234 11235 11236 "pengiriman_pontianak", 11237 11238 11239 11240 11241 11242 "pengiriman_probolinggo", 11243 11244 11245 11246 11247 11248 "pengiriman_purbalingga", 11249 11250 11251 11252 11253 11254 "pengiriman_purwakarta", 11255 11256 11257 11258 11259 11260 "pengiriman_purwokerto", 11261 11262 11263 11264 11265 11266 "pengiriman_rembang", 11267 11268 11269 11270 11271 11272 "pengiriman_riau", 11273 11274 11275 11276 11277 11278 "pengiriman_salatiga", 11279 11280 11281 11282 11283 11284 "pengiriman_samarinda", 11285 11286 11287 11288 11289 11290 "pengiriman_semarang", 11291 11292 11293 11294 11295 11296 "pengiriman_sentani", 11297 11298 11299 11300 11301 11302 "pengiriman_serang", 11303 11304 11305 11306 11307 11308 "pengiriman_sidoarjo", 11309 11310 11311 11312 11313 11314 "pengiriman_singkawang", 11315 11316 11317 11318 11319 11320 "pengiriman_sragen", 11321 11322 11323 11324 11325 11326 "pengiriman_subang", 11327 11328 11329 11330 11331 11332 "pengiriman_sukabumi", 11333 11334 11335 11336 11337 11338 "pengiriman_sumbawa", 11339 11340 11341 11342 11343 11344 "pengiriman_surabaya", 11345 11346 11347 11348 11349 11350 "pengiriman_surakarta solo", 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 "pengiriman_tasikmalaya", 11361 11362 11363 11364 11365 11366 "pengiriman_tegal", 11367 11368 11369 11370 11371 11372 "pengiriman_timika", 11373 11374 11375 11376 11377 11378 "pengiriman_wamena", 11379 11380 11381 11382 11383 11384 "pengiriman_wiyung", 11385 11386 11387 11388 11389 11390 "pengiriman_wonokromo", 11391 11392 11393 11394 11395 11396 "pengiriman_yogyakarta", 11397 11398 11399 11400 11401 11402 11403 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 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838
11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 ] 12007 console.log(cityNonJabodetabek) 12008 let non_jabodetabek = [] 12009 for(var i=0;i<cityNonJabodetabek.length;i++) { 12010 const obj = { 12011 "code": cityNonJabodetabek[i].toLowerCase().replace('pengiriman_', '').replace(' ','-'), 12012 "city": cityNonJabodetabek[i].replace('pengiriman_', '').replace(' ','-'), 12013 "zip": [] 12014 } 12015 non_jabodetabek.push(obj) 12016 } 12017 let current_location = getCookie("location_delivery") 12018 $("[name=location]").change(function(){ 12019 let v = $(this).val() 12020 let option = [] 12021 if(v == 'Jabodetabek') { 12022 for(var i=0;i<jabodetabek.length;i++) { 12023 const jabodetabekHtml = `<option value=${jabodetabek[i].city}>${jabodetabek[i].city}</option>` 12024 option.push(jabodetabekHtml) 12025 } 12026 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 12027 } else { 12028 for(var i=0;i<non_jabodetabek.length;i++) { 12029 const nonjabodetabekHtml = `<option value=${non_jabodetabek[i].city}>${non_jabodetabek[i].city}</option>` 12030 option.push(nonjabodetabekHtml) 12031 } 12032 $("#choose-location").html(`<option value="">Choose Location</option>${option}`) 12033 } 12034 }) 12035 12036 $("#location-lock-submit").click(function(e){ 12037 let select = $("#choose-location") 12038 let value = select.val().toLowerCase() 12039 console.log(value) 12040 if(select.val() == "") { 12041 return alert("Choose Your Location") 12042 e.preventDefault() 12043 } 12044 setCookie("location_delivery",value,1000000); 12045 12046 location.reload(); 12047 12048 }) 12049 12050 $("#close-popup-delivery").click(function(){ 12051 $(".MuiDialog-root").hide() 12052 if(!current_location){ 12053 setCookie("location_delivery","jakarta",1000000); 12054 $("#loc_delivery_city, #loc_delivery_city_mobile").text("Jakarta") 12055 } 12056 }) 12057 $("#loc_delivery, #loc_delivery_mobile").click(function(){ 12058 $(".MuiDialog-root").show() 12059 }) 12060 12061 12062 if(!current_location){ 12063 12064 } else { 12065 $("#loc_delivery_city, #loc_delivery_city_mobile").text(current_location) 12066 console.log(current_location) 12067 $("#choose-location").each(function(){ 12068 if(current_location == 'jakarta' || current_location == 'depok' || current_location == 'bogor' || current_location == 'tangerang' || current_location == 'bekasi'){ 12069 $("#jabodetabek").trigger("click") 12070 } else { 12071 $("#non-jabodetabek").trigger("click") 12072 } 12073 $("#choose-location").find("option[value="+current_location+"]").attr("selected", "selected") 12074 }) 12075 } 12076 12077 // 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'){ 12078 // $("#timeMalam").attr("disabled", false) 12079 // } else { 12080 // $("#timeMalam").attr("disabled", true) 12081 // } 12082 12083 if(current_location && current_location != 'jakarta') { 12084 $("#self-pickup").attr("disabled", true) 12085 } 12086 12087 function setCookie(name,value,days) { 12088 var expires = ""; 12089 if (days) { 12090 var date = new Date(); 12091 date.setTime(date.getTime() + (days*24*60*60*1000)); 12092 expires = "; expires=" + date.toUTCString(); 12093 } 12094 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 12095 } 12096 function getCookie(name) { 12097 var nameEQ = name + "="; 12098 var ca = document.cookie.split(';');
12099 for(var i=0;i < ca.length;i++) { 12100 var c = ca[i]; 12101 while (c.charAt(0)==' ') c = c.substring(1,c.length); 12102 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 12103 } 12104 return null; 12105 } 12106 </script>
12106 12107 <!-- One Tap --> 12108
12108<script> 12109 console.log("Outerbloom..."); 12110 </script>
12110 12111 <div id="shopify-block-ANVEzSUcxTUxZOGpwZ__9703700522657871012" class="shopify-block shopify-app-block"> 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 <link rel="stylesheet" href="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.css" /> 12159
12159<script src="https://cdn1.bitbybit.studio/bitbybit/static/bitChat_widget/widget.js" defer></script>
12159 12160
12160<script> 12161 const widgetConfig = { 12162 id: "clz7897za002cz7otleaz0d3d", 12163 showQuickResponse: false, 12164 quickResponsesData: [], 12165 themeColor: "#ffffff", 12166 widgetText: "", 12167 radiusType: "circle", 12168 widgetIconType: "whatsapp", 12169 position: "right", 12170 storeLogo: "", 12171 storeName: "Outerbloom", 12172 storeDescription: "", 12173 size: "small", 12174 showCard: false, 12175 widgetColorType: "solid", 12176 widgetColor1: "#008069", 12177 widgetColor2: "#008069", 12178 social: { 12179 socialOrders: ["instagram","tiktok","facebook","x","youtube","linkedin","email"], 12180 values: { 12181 instagram: { 12182 enabled: false, 12183 value: "", 12184 }, 12185 facebook: { 12186 enabled: false, 12187 value: "", 12188 }, 12189 email: { 12190 enabled: false, 12191 value: "", 12192 }, 12193 x: { 12194 enabled: false, 12195 value: "", 12196 }, 12197 tiktok: { 12198 enabled: false, 12199 value: "", 12200 }, 12201 linkedin: { 12202 enabled: false, 12203 value: "", 12204 }, 12205 youtube: { 12206 enabled: false, 12207 value: "", 12208 }, 12209 }, 12210 }, 12211 }; 12212 12213 function initializeWidget() { 12214 if (typeof BBBWidget !== 'undefined') { 12215 BBBWidget.init(widgetConfig); 12216 } else { 12217 setTimeout(initializeWidget, 100); 12218 } 12219 } 12220 12221 initializeWidget();</script>
12221 12222 12223 12224 </div><div id="shopify-block-ATzRpVTBPU3k1R2pnW__286197278318599166" class="shopify-block shopify-app-block"> 12225 12226 12227 <div style="position: fixed; bottom: 0; right: 0"></div> 12228 12229
12229<script> 12230 console.info("bitlogin extension version: v2.5.7"); 12231 12232 const googleScript = document.createElement("script"); 12233 googleScript.setAttribute("src", "https://accounts.google.com/gsi/client"); 12234 document.head.append(googleScript); 12235 12236 const bitLoginBaseUrl = "https://api.bitbybit.studio"; 12237 const apiUrl = `${bitLoginBaseUrl}/bitlogin/api`; 12238 12239 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"}}; 12240 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
12240n1.oa2-cs.v1.1cb5f9085a202341f60daf5a7be16c570ccc0b4bd5908b3afd080f34e9b8935d","appleTeamId":null,"applePrivateKey":null,"usePersonalOauth":false,"position":null}]; 12241 const redirectUrl = appearance.redirectLink; 12242 12243 let locationCacheSet = false; 12244 let errorLocation = false; 12245 let oneTapSet = false; 12246 12247 let bitloginCache = { 12248 appearance: appearance, 12249 config: config 12250 }; 12251 12252 let isInitializing = false; 12253 const queue = []; 12254 12255 // Add CSS for the popup 12256 const popupStyles = document.createElement('style'); 12257 popupStyles.textContent = ` 12258 /* Styles for login popup */ 12259 .bitlogin-popup-overlay { 12260 position: fixed; 12261 top: 0; 12262 left: 0; 12263 width: 100%; 12264 height: 100%; 12265 background: rgba(0, 0, 0, 0.45); 12266 backdrop-filter: blur(4px); 12267 display: flex; 12268 align-items: center; 12269 justify-content: center; 12270 opacity: 0; 12271 transition: opacity 0.3s ease-in-out; 12272 z-index: 999999; 12273 } 12274 12275 .bitlogin-popup-overlay.visible { 12276 opacity: 1; 12277 } 12278 12279 .bitlogin-popup { 12280 background: #FFFFFF; 12281 box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); 12282 border-radius: 16px; 12283 width: 100%; 12284 max-width: 560px; 12285 display: flex; 12286 overflow: hidden; 12287 position: relative; 12288 opacity: 0; 12289 transform: translateY(20px) scale(0.98); 12290 transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); 12291 } 12292 12293 .bitlogin-popup.visible { 12294 opacity: 1; 12295 transform: translateY(0) scale(1); 12296 } 12297 12298 .bitlogin-popup-with-image { 12299 max-width: 640px; 12300 } 12301 12302 .bitlogin-popup-right-image { 12303 flex-direction: row-reverse; 12304 } 12305 12306 .bitlogin-popup-image { 12307 object-fit: cover; 12308 width: 50%; 12309 height: auto; 12310 } 12311 12312 .bitlogin-popup-content { 12313 padding: 32px; 12314 position: relative; 12315 width: 50%; 12316 } 12317 12318 .bitlogin-popup-close { 12319 position: absolute; 12320 top: 16px; 12321 right: 16px; 12322 background: white; 12323 border: none; 12324 width: 30px; 12325 height: 30px; 12326 display: flex; 12327 align-items: center; 12328 justify-content: center; 12329 cursor: pointer; 12330 transition: background-color 0.2s; 12331 color: inherit; 12332 padding: 0; 12333 } 12334 12335 .bitlogin-popup-close:hover { 12336 background-color: #e5e5e5; 12337 } 12338 12339 .bitlogin-popup-buttons { 12340 display: flex; 12341 flex-direction: column; 12342 gap: 12px; 12343 margin-top: 24px; 12344 } 12345 12346 /* Button styles within popup - override width for popup buttons */ 12347 .bitlogin-popup-buttons #google-login, 12348 .bitlogin-popup-buttons #facebook-login, 12349 .bitlogin-popup-buttons #apple-login, 12350 .bitlogin-popup-buttons #whatsapp-login, 12351 .bitlogin-popup-buttons #microsoft-login, 12352 .bitlogin-popup-buttons #twitter-login, 12353 .bitlogin-popup-buttons #amazon-login, 12354 .bitlogin-popup-buttons #instagram-login, 12355 .bitlogin-popup-buttons #magic-link-login, 12356 .bitlogin-popup-buttons #mobile-app-login { 12357 width: 100% !important; 12358 font-family: inherit !important; 12359 } 12360 12361 .bitlogin-popup-footer { 12362 margin-top: 32px; 12363 text-align: center; 12364 font-size: 14px; 12365 opacity: 0.6; 12366 } 12367 12368 /* Modern Typography */ 12369 .bitlogin-popup h2 { 12370 margin-top: 12px; 12371 font-size: 21px !important; 12372 line-height: 1.2 !important; 12373 font-weight: 700 !important; 12374 letter-spacing: -0.02em !important; 12375 margin-bottom: 16px !important; 12376 } 12377 12378 .bitlogin-popup-header { 12379 position: relative; 12380 margin-bottom: 24px; 12381 } 12382 12383 /* Modern gradient accent */ 12384 .bitlogin-popup-content > div { 12385 font-size: 16px !important; 12386 line-height: 1.2 !important; 12387 opacity: 0.85 !important; 12388 } 12389 12390 /* Enhanced button interactions */ 12391 .bitlogin-popup-buttons button { 12392 position: relative; 12393 overflow: hidden; 12394 } 12395 12396 @keyframes ripple { 12397 0% { 12398 transform: scale(0, 0); 12399 opacity: 0.5; 12400 } 12401 100% { 12402 transform: scale(100, 100); 12403 opacity: 0; 12404 } 12405 } 12406 12407 /* Responsive adjustments */ 12408 @media (max-width: 640px) { 12409 .bitlogin-popup { 12410 max-width: 90%; 12411 width: 90%; 12412 margin: 0 16px; 12413 } 12414 12415 .bitlogin-popup-with-image { 12416 flex-direction: column !important; 12417 } 12418 12419 .bitlogin-popup-image { 12420 width: 100%; 12421 height: 180px; 12422 } 12423 12424 .bitlogin-popup-content { 12425 padding: 24px; 12426 } 12427 12428 .bitlogin-popup h2 { 12429 font-size: 24px !important; 12430 } 12431 } 12432 `; 12433
12434 document.head.appendChild(popupStyles); 12435 12436 // Add fonts link for different font options 12437 const fontsLink = document.createElement('link'); 12438 fontsLink.rel = 'stylesheet'; 12439 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'; 12440 document.head.appendChild(fontsLink); 12441 12442 (async () => { 12443 try { 12444 let host = window.location.host; 12445 if (host === "admin.shopify.com") { 12446 host = `${window.location.pathname.split("/")[2]}.myshopify.com`; 12447 } 12448 12449 const urlSearchParams = new URLSearchParams(window.location.search); 12450 const checkoutUrl = urlSearchParams.get("checkout_url"); 12451 12452 async function init({ inputRef, index }) { 12453 if (isInitializing) { 12454 queue.push(() => init({ inputRef, index })); 12455 return; 12456 } 12457 12458 isInitializing = true; 12459 12460 try { 12461 let bitLoginSectionRoot = document.querySelector( 12462 `.bitlogin-root[data-index="${index}"]` 12463 ); 12464 12465 const formRef = inputRef?.closest( 12466 "form:not([action='/account/recover'])" 12467 ); 12468 12469 if (formRef && !bitLoginSectionRoot) { 12470 await getLocation(); 12471 12472 bitLoginSectionRoot = document.createElement(`div`); 12473 12474 bitLoginSectionRoot.setAttribute("class", "bitlogin-root"); 12475 bitLoginSectionRoot.setAttribute("data-index", `${index}`); 12476 12477 updateAppearance({ 12478 formRef, 12479 rootRef: bitLoginSectionRoot, 12480 host, 12481 }); 12482 } 12483 } catch (err) { 12484 console.error(`error while initiating bitlogin extensions`, err); 12485 } finally { 12486 // Release the lock 12487 isInitializing = false; 12488 12489 // Check if there are pending items in the queue 12490 if (queue.length > 0) { 12491 // Process the next function in the queue 12492 const nextFunction = queue.shift(); 12493 nextFunction(); 12494 } 12495 } 12496 } 12497 12498 function initAll() { 12499 return new Promise((resolve, reject) => { 12500 setTimeout(async () => { 12501 const inputRefs = document.querySelectorAll( 12502 'input[name="customer[email]"]' 12503 ); 12504 12505 for (let i = 0; i < inputRefs.length; i++) { 12506 const currentInputRef = inputRefs[i]; 12507 const isVisible = isElementVisible(currentInputRef); 12508 12509 if (isVisible) { 12510 await init({ inputRef: currentInputRef, index: i }); 12511 } 12512 } 12513 12514 resolve("ok"); 12515 }, 100); 12516 }); 12517 } 12518 12519 const observer = new MutationObserver((mutationsList) => { 12520 for (let mutation of mutationsList) { 12521 initAll(); 12522 } 12523 }); 12524 12525 observer.observe(document.body, { 12526 childList: true, 12527 subtree: true, 12528 attributes: true, 12529 }); 12530 12531 initAll(); 12532 12533 if (appearance.googleOneTap) { 12534 setupOneTap({ host, checkoutUrl }); 12535 } 12536 12537 // Initialize popup 12538 await initPopup(host); 12539 } catch (error) { 12540 console.error("Error initializing BitLogin:", error); 12541 } 12542 })(); 12543 12544 async function initPopup(host) { 12545 // Check if user is already logged in using Liquid checks properly 12546 const isLoggedIn = false || 12547 document.querySelector('.customer-logout-link') || 12548 document.querySelector('.account-link') || 12549 window.location.pathname.includes('/account'); 12550 12551 if (isLoggedIn) { 12552 return; // User is logged in, don't show popup 12553 } 12554 12555 try { 12556 // Fetch the popup configuration 12557 const popupConfig = await fetch(`${apiUrl}/appearance/popup/domain/${host}`) 12558 .then(res => res.json()) 12559 .catch(err => { 12560 console.error('Error fetching popup configuration:', err); 12561 return null; 12562 }); 12563 12564 if (!popupConfig || !popupConfig.enabled) { 12565 return;
12565 // Don't show popup if disabled or config not found 12566 } 12567 12568 // Create popup after 10 seconds 12569 setTimeout(() => { 12570 // Check if user is still on the page and still not logged in 12571 if (document.visibilityState === 'visible') { 12572 // Additional check in case user logged in during the 10 second wait 12573 const currentlyLoggedIn = false || 12574 document.querySelector('.customer-logout-link') || 12575 document.querySelector('.account-link'); 12576 12577 if (!currentlyLoggedIn) { 12578 createLoginPopup(popupConfig, host); 12579 } 12580 } 12581 }, 10000); 12582 } catch (error) { 12583 console.error('Error initializing popup:', error); 12584 } 12585 } 12586 12587 function createLoginPopup(popupConfig, host) { 12588 // Font mapping 12589 const fontFamilyMap = { 12590 system_fonts: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif', 12591 montserrat: 'Montserrat, sans-serif', 12592 roboto: 'Roboto, sans-serif', 12593 open_sans: 'Open Sans, sans-serif', 12594 noto_sans: 'Noto Sans, sans-serif', 12595 lato: 'Lato, sans-serif', 12596 poppins: 'Poppins, sans-serif', 12597 quicksand: 'Quicksand, sans-serif', 12598 raleway: 'Raleway, sans-serif', 12599 pt_sans: 'PT Sans, sans-serif', 12600 oswald: 'Oswald, sans-serif', 12601 }; 12602 12603 // Create overlay 12604 const overlay = document.createElement('div'); 12605 overlay.className = 'bitlogin-popup-overlay'; 12606 12607 // Create popup container with appropriate styling 12608 const popup = document.createElement('div'); 12609 popup.className = 'bitlogin-popup'; 12610 12611 if (popupConfig.layout === 'default') { 12612 popup.style.maxWidth = '400px'; 12613 } 12614 12615 // Function to close the popup 12616 const closePopup = () => { 12617 overlay.classList.remove('visible'); 12618 popup.classList.remove('visible'); 12619 setTimeout(() => { 12620 if (document.body.contains(overlay)) { 12621 document.body.removeChild(overlay); 12622 } 12623 }, 300); 12624 }; 12625 12626 // Add click handler to the overlay to close when clicking outside 12627 overlay.addEventListener('click', (event) => { 12628 // Close only if clicking directly on the overlay, not its children 12629 if (event.target === overlay) { 12630 closePopup(); 12631 } 12632 }); 12633 12634 // Add escape key handler to close popup 12635 document.addEventListener('keydown', (event) => { 12636 if (event.key === 'Escape' && document.body.contains(overlay)) { 12637 closePopup(); 12638 } 12639 }); 12640 12641 // Create layout with image if specified 12642 let contentWrapper; 12643 if (popupConfig.layout !== 'default' && popupConfig.popupImage) { 12644 popup.classList.add('bitlogin-popup-with-image'); 12645 12646 if (popupConfig.layout === 'right') { 12647 popup.classList.add('bitlogin-popup-right-image'); 12648 } 12649 12650 // Add image 12651 const image = document.createElement('img'); 12652 image.className = 'bitlogin-popup-image'; 12653 image.src = popupConfig.popupImage; 12654 image.alt = 'Login'; 12655 image.loading = 'lazy'; 12656 popup.appendChild(image); 12657 12658 // Create content container 12659 contentWrapper = document.createElement('div'); 12660 contentWrapper.className = 'bitlogin-popup-content'; 12661 12662 if (popupConfig.layout === 'right') { 12663 const closeButton = document.createElement('button'); 12664 closeButton.className = 'bitlogin-popup-close'; 12665 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 12666 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 12667 </svg>`; 12668 closeButton.setAttribute('aria-label', 'Close'); 12669 closeButton.onclick = closePopup; 12670 12671 popup.appendChild(closeButton); 12672 } 12673 } else { 12674 contentWrapper = document.createElement('div'); 12675 contentWrapper.className = 'bitlogin-popup-content'; 12676 contentWrapper.style.width = '100%'; 12677 } 12678 12679 // Set background style 12680 if (popupConfig.backgroundTheme === 'gradient') { 12681 contentWrapper.style.background = `linear-gradient(135deg, ${popupConfig.backgroundPopupColor}, ${popupConfig.gradientColor})`; 12682 } else { 12683 contentWrapper.style.backgroundColor = popupConfig.backgroundPopupColor; 12684 } 12685 12686 // Apply font family 12687 contentWrapper.style.setProperty('font-family', fontFamilyMap[popupConfig.font] || fontFamilyMap.system_fonts, 'important'); 12688 12689 if (popupConfig.layout !== 'right') { 12690 const closeButton = document.createElement('button'); 12691 closeButton.className = 'bitlogin-popup-close'; 12692 closeButton.innerHTML = `<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 12693 <path d="M13 1L1 13M1 1L13 13" stroke="${popupConfig.fontColor}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> 12694 </svg>`; 12695 closeButton.setAttribute('aria-label', 'Close'); 12696 closeButton.onclick = closePopup; 12697 12698 contentWrapper.appendChild(closeButton); 12699 } 12700 12701 // Add heading with subtle animation effect 12702 const header = document.createElement('div'); 12703 header.className = 'bitlogin-popup-header'; 12704 12705 const heading = document.createElement('h2'); 12706 heading.textContent = popupConfig.headingText || 'Sign in for exclusive benef
12706its'; 12707 heading.style.color = popupConfig.fontColor; 12708 header.appendChild(heading); 12709 12710 // Add body text with improved formatting 12711 const bodyText = document.createElement('div'); 12712 bodyText.innerHTML = popupConfig.bodyText || 'Join our community to access exclusive offers and a personalized shopping experience.'; 12713 bodyText.style.color = popupConfig.fontColor; 12714 header.appendChild(bodyText); 12715 12716 contentWrapper.appendChild(header); 12717 12718 // Create buttons container with modern styling 12719 const buttonsContainer = document.createElement('div'); 12720 buttonsContainer.className = 'bitlogin-popup-buttons'; 12721 12722 // Add social buttons 12723 const providerLabels = { 12724 'GOOGLE': 'Continue with Google', 12725 'FACEBOOK': 'Continue with Facebook', 12726 'APPLE': 'Continue with Apple', 12727 'WHATSAPP': 'Continue with WhatsApp', 12728 'MAGIC_LINK': 'Continue with Email', 12729 }; 12730 12731 // Add first login provider button 12732 if (popupConfig.loginProvider1 !== 'NONE') { 12733 const buttonConfig = { 12734 theme: popupConfig.colorScheme || 'match', 12735 customColor: popupConfig.textColor, 12736 format: 'contentFlex', 12737 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider1.toLowerCase()], 12738 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 12739 style: popupConfig.style || 'rounded', 12740 size: popupConfig.size || 'medium', 12741 colorScheme: popupConfig.colorScheme || 'match', 12742 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 12743 textColor: popupConfig.textColor || '#FFFFFF', 12744 outlineColor: popupConfig.outlineColor || '#3B82F6', 12745 host: host 12746 }; 12747 12748 const button1 = createSocialLoginButton(popupConfig.loginProvider1, buttonConfig); 12749 12750 // Handle click event - this overrides the default click handler in createSocialLoginButton 12751 button1.onclick = () => { 12752 onClickSocialLogin({ provider: popupConfig.loginProvider1.toLowerCase(), host }); 12753 closePopup(); 12754 }; 12755 12756 buttonsContainer.appendChild(button1); 12757 } 12758 12759 // Add second login provider button if enabled 12760 if (popupConfig.loginProvider2 !== 'NONE') { 12761 const buttonConfig = { 12762 theme: popupConfig.colorScheme || 'match', 12763 customColor: popupConfig.textColor, 12764 format: 'contentFlex', 12765 buttonText: bitloginCache.appearance.buttonList[popupConfig.loginProvider2.toLowerCase()], 12766 hasShadow: popupConfig.hasShadow !== undefined ? popupConfig.hasShadow : true, 12767 style: popupConfig.style || 'rounded', 12768 size: popupConfig.size || 'medium', 12769 colorScheme: popupConfig.colorScheme || 'match', 12770 backgroundColor: popupConfig.backgroundColor || '#3B82F6', 12771 textColor: popupConfig.textColor || '#FFFFFF', 12772 outlineColor: popupConfig.outlineColor || '#3B82F6', 12773 host: host 12774 }; 12775 12776 const button2 = createSocialLoginButton(popupConfig.loginProvider2, buttonConfig); 12777 12778 // Handle click event - this overrides the default click handler in createSocialLoginButton 12779 button2.onclick = () => { 12780 onClickSocialLogin({ provider: popupConfig.loginProvider2.toLowerCase(), host }); 12781 closePopup(); 12782 }; 12783 12784 buttonsContainer.appendChild(button2); 12785 } 12786 12787 contentWrapper.appendChild(buttonsContainer); 12788 12789 // Append content to popup 12790 popup.appendChild(contentWrapper); 12791 12792 // Append popup to overlay 12793 overlay.appendChild(popup); 12794 12795 // Append overlay to body 12796 document.body.appendChild(overlay); 12797 12798 // Trigger animation with slight delay for better perceived performance 12799 setTimeout(() => { 12800 overlay.classList.add('visible'); 12801 setTimeout(() => { 12802 popup.classList.add('visible'); 12803 }, 50); 12804 }, 10); 12805 } 12806 12807 window.addEventListener("load", () => { 12808 window.addEventListener("message", (event) => { 12809 const receivedData = event.data; 12810 12811 if (receivedData.type === "authorize") { 12812 post( 12813 JSON.parse( 12814 JSON.stringify({ 12815 "customer[email]": receivedData.email, 12816 "customer[password]": receivedData.password, 12817 form_type: "customer_login", 12818 utf8: "âà âââ¬Å", 12819 return_url: redirectUrl, 12820 }) 12821 ) 12822 ); 12823 } else if (receivedData.type === "rejected") { 12824 if (receivedData.reason === "customer_account_disabled") { 12825 showAlert( 12826 "Your account needs to be activated. We've sent you an activation link - please check your email to complete this step." 12827 ); 12828 } else if (receivedData.reason === "customer_entry_created_email_not_set") { 12829 showAlert( 12830 "A new account was created but requires an email address. Please update your account with a valid email address to continue." 12831 ); 12832 } else if (receivedData.reason === "customer_exist_email_not_set") { 12833 showAlert( 12834 "Your existing account is missing an email address. Please contact support to update your account with a valid email address." 12835 ); 12836 } 12837 } 12838 12839 if (receivedData.type === "customer_authenticated") { 12840 // Dispatch a custom event that merchants can listen for to implement their custom logic 12841 const customerAuthEvent = new CustomEvent('bitlogin:customer_authenticated', { 12842 detail: { 12843 provider: receivedData.provider, 12844 customer: receivedData.customer, 12845 shopifyCustomerCreated: receivedData.shopifyCustomerCreated 12846 } 12847 }); 12848 12849 // Dispatch the event on the window object so merchants can listen for it 12850 window.dispatchEvent(customerAuthEvent); 12851 12852 } 12853 }); 12854 }); 12855 12856 // Reusable functions for social login buttons 12857 function createSocialLoginButton(provider, config = {}) { 12858 const { 12859 theme = 'match', 12860 customColor = null, 12861 format = 'contentFlex', 12862 buttonText = null, 12863 hasShadow = true, 12864 style = 'rounded', 12865 size = 'medium', 12866 colorScheme = 'match', 12867 backgroundColor = '#3B82F6', 12868 textColor = '#FFFFFF', 12869 outlineColor = '#3B82F6', 12870 rootRef = null, 12871 host = null 12872 } = config; 12873 12874 // Create button element with appropriate ID and attributes 12875 const button = document.createElement('button'); 12876 button.id = `${provider.toLowerCase()}-login`; 12877 button.type = 'button'; 12878 12879 // Set the inner SVG based on provider 12880 switch (provider.toUpperCase()) {
12881 case 'GOOGLE': 12882 button.innerHTML = googleLoginIcon(theme, customColor); 12883 break; 12884 case 'FACEBOOK': 12885 button.innerHTML = facebookLoginIcon(theme, customColor); 12886 break; 12887 case 'APPLE': 12888 button.innerHTML = appleLoginIcon(theme, customColor); 12889 break; 12890 case 'WHATSAPP': 12891 button.innerHTML = whatsappLoginIcon(theme, customColor); 12892 break; 12893 case 'MICROSOFT': 12894 button.innerHTML = microsoftLoginIcon(theme, customColor); 12895 break; 12896 case 'TWITTER': 12897 button.innerHTML = twitterLoginIcon(theme, customColor); 12898 break; 12899 case 'AMAZON': 12900 button.innerHTML = amazonLoginIcon(theme, customColor); 12901 break; 12902 case 'INSTAGRAM': 12903 button.innerHTML = instagramLoginIcon(theme, customColor); 12904 break; 12905 case 'MAGIC_LINK': 12906 button.innerHTML = magicLinkLoginIcon(theme, customColor); 12907 break; 12908 case 'MOBILE_APP': 12909 button.innerHTML = mobileAppLoginIcon(theme, customColor); 12910 break; 12911 case 'LINKEDIN': 12912 button.innerHTML = linkedinLoginIcon(theme, customColor); 12913 break; 12914 } 12915 12916 // Add text if format isn't icon-only and buttonText is provided 12917 if (format !== "wrapperFlexContainerOnlyLogo" && buttonText) { 12918 button.innerHTML += `<p>${buttonText}</p>`; 12919 } 12920 12921 // Apply styling 12922 // Shadow 12923 if (hasShadow) { 12924 const shadowProperties = `0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)`; 12925 button.style["box-shadow"] = shadowProperties; 12926 } 12927 12928 // Border radius 12929 const radiusProperties = 12930 style === "rounded" 12931 ? "8px" 12932 : style === "square" 12933 ? "0px" 12934 : style === "fullRounded" 12935 ? format === "wrapperFlexContainerOnlyLogo" 12936 ? "50%" 12937 : "50px" 12938 : undefined; 12939 button.style["border-radius"] = radiusProperties; 12940 12941 // Size 12942 const sizeProperties = 12943 size === "medium" 12944 ? "12px" 12945 : size === "small" 12946 ? "8px" 12947 : size === "large" 12948 ? "16px" 12949 : "8px"; 12950 12951 button.style["padding-block"] = sizeProperties; 12952 12953 // Format styling 12954 if (format) { 12955 if ( 12956 format === "contentFlexReverse" || 12957 format === "contentFlexCenterReverse" 12958 ) { 12959 const flexDir = `row-reverse`; 12960 button.style["flex-direction"] = flexDir; 12961 } 12962 12963 if ( 12964 format === "contentFlexCenter" || 12965 format === "contentFlexCenterReverse" 12966 ) { 12967 const justifyContent = `center`; 12968 button.style["justify-content"] = justifyContent; 12969 } else if ( 12970 format === "contentFlex" || 12971 format === "contentFlexReverse" 12972 ) { 12973 const buttonTextElement = button.querySelector("p"); 12974 if (buttonTextElement) { 12975 buttonTextElement.style["flex-grow"] = 1; 12976 buttonTextElement.style["text-align"] = "center"; 12977 } 12978 } 12979 12980 if (format === "wrapperFlexContainerOnlyLogo" && rootRef) { 12981 rootRef.style["flex-direction"] = "row"; 12982 rootRef.style["gap"] = "8px"; 12983 rootRef.style["display"] = "flex"; 12984 rootRef.style["flex-wrap"] = "wrap"; 12985 12986 const sizeMapping = { 12987 small: "52px", 12988 medium: "62px", 12989 large: "72px", 12990 }; 12991 const buttonSize = sizeMapping[size] || "52px"; 12992 12993 button.style["margin"] = 0; 12994 button.style["width"] = buttonSize; 12995 button.style["height"] = buttonSize; 12996 button.style["display"] = "flex"; 12997 button.style["align-items"] = "center"; 12998 button.style["justify-content"] = "center"; 12999 13000 const svgElement = button.querySelector("svg"); 13001 if (svgElement) { 13002 svgElement.style["flex"] = "none"; 13003 } 13004 } 13005 } 13006 13007 // Color scheme styling 13008 if (colorScheme === "black") { 13009 button.classList.add("scheme-black"); 13010 } else if (colorScheme === "white") { 13011 button.classList.add("scheme-white"); 13012 } else if (colorScheme === "custom") { 13013 button.style["background-color"] = backgroundColor; 13014 button.style["color"] = textColor; 13015 button.style["border-color"] = outlineColor; 13016 13017 const darkenColor = (color, percentage) => { 13018 const value = parseInt(color.slice(1), 16); 13019 const r = Math.max(0, ((value >> 16) & 0xff) - (0xff * percentage)); 13020 const g = Math.max(0, ((value >> 8) & 0xff) - (0xff * percentage)); 13021 const b = Math.max(0, (value & 0xff) - (0xff * percentage)); 13022 return `rgb(${Math.round(r)}, ${Math.round(g)}, ${Math.round(b)})`; 13023 }; 13024 13025 button.addEventListener("mouseover", () => {
13026 button.style["background-color"] = darkenColor(backgroundColor, 0.2); 13027 }); 13028 button.addEventListener("mouseout", () => { 13029 button.style["background-color"] = backgroundColor; 13030 }); 13031 } else if (colorScheme === "match") { 13032 button.classList.add("scheme-match"); 13033 } else if (colorScheme === "matchOutline") { 13034 button.classList.add("scheme-match-outline"); 13035 } 13036 13037 // Add click event listener if host is provided 13038 if (host) { 13039 button.addEventListener("click", () => 13040 onClickSocialLogin({ provider: provider.toLowerCase(), host }) 13041 ); 13042 } 13043 13044 return button; 13045 } 13046 13047 function setupSocialLoginButtons(config, rootRef, data, host) { 13048 // Clear any existing content 13049 rootRef.innerHTML = ''; 13050 13051 const sortedEnabledProviders = config 13052 .filter(c => c.enabledWeb) 13053 .sort((a, b) => a.position - b.position); 13054 13055 sortedEnabledProviders.forEach(provider => { 13056 const key = provider.provider; 13057 const lowerKey = key.toLowerCase(); 13058 13059 const buttonText = data.format !== "wrapperFlexContainerOnlyLogo" 13060 ? (lowerKey === 'twitter' 13061 ? data.buttonList.twitter.replace('Twitter', 'X') 13062 : data.buttonList[lowerKey]) 13063 : null; 13064 13065 const button = createSocialLoginButton(key, { 13066 theme: data.colorScheme || 'match', 13067 customColor: data.textColor, 13068 format: data.format, 13069 buttonText: buttonText, 13070 hasShadow: data.hasShadow !== undefined ? data.hasShadow : true, 13071 style: data.style, 13072 size: data.size, 13073 colorScheme: data.colorScheme, 13074 backgroundColor: data.backgroundColor, 13075 textColor: data.textColor, 13076 outlineColor: data.outlineColor, 13077 rootRef: rootRef, 13078 host: host 13079 }); 13080 13081 rootRef.appendChild(button); 13082 }); 13083 13084 return rootRef; 13085 } 13086 13087 function updateAppearance({ formRef, rootRef, host }) { 13088 if (!formRef) return; 13089 13090 const data = bitloginCache.appearance || { 13091 style: "square", 13092 hasShadow: false, 13093 colorScheme: "match", 13094 backgroundColor: "#FFFFFF", 13095 outlineColor: "#000000", 13096 textColor: "#000000", 13097 position: "bottom", 13098 hideDivider: "false", 13099 dividerText: "OR", 13100 size: "small", 13101 format: "contentFlex", 13102 language: "en", 13103 buttonText: "Continue with", 13104 redirectLink: "/account", 13105 googleOneTap: true, 13106 googleOneTapBanner: true, 13107 customerTag: "bitLogin", 13108 redirectOneTapDesktop: null, 13109 redirectOneTapMobile: null, 13110 buttonList: { 13111 google: "Continue with Google", 13112 facebook: "Continue with Facebook", 13113 apple: "Continue with Apple", 13114 whatsapp: "Continue with WhatsApp", 13115 microsoft: "Continue with Microsoft", 13116 twitter: "Continue with X", 13117 amazon: "Continue with Amazon", 13118 instagram: "Continue with Instagram", 13119 magic_link: "Continue with Magic Link", 13120 mobile_app: "Continue with Mobile App", 13121 linkedin: "Continue with LinkedIn", 13122 }, 13123 }; 13124 13125 // Use the new setupSocialLoginButtons function to create and configure all buttons 13126 setupSocialLoginButtons(bitloginCache.config, rootRef, data, host); 13127 13128 let divider; 13129 13130 if (!data.hideDivider) { 13131 divider = document.createElement("div"); 13132 const dividerStyle = "text-align:center;margin-block:16px"; 13133 divider.setAttribute("style", dividerStyle); 13134 divider.innerHTML = data.dividerText; 13135 } 13136 13137 if (data.position === "bottom") { 13138 if (divider) { 13139 formRef.appendChild(divider); 13140 } 13141 formRef.appendChild(rootRef); 13142 } else if (data.position === "top") { 13143 if (divider) { 13144 formRef.prepend(divider); 13145 } 13146 formRef.prepend(rootRef); 13147 } 13148 } 13149 13150 13151 async function onClickSocialLogin({ provider, host }) { 13152 const rand = Math.random().toString(); 13153 13154 const locationQueryString = bitloginCache.location 13155 ? `&${objectToQueryString(bitloginCache.location)}` 13156 : ""; 13157 13158 const width = 800; 13159 const height = 600; 13160 const left = (window.screen.width / 2) - (width / 2); 13161 const top = (window.screen.height / 2) - (height / 2) - 50; 13162 13163 if(provider === 'whatsapp') { 13164 window.open( 13165 `/apps/bitlogin/whatsapp${locationQueryString ? `?${locationQueryString}` : ''}`, 13166 "mywindow", 13167 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 13168 ); 13169 } else { 13170 window.open( 13171 `${apiUrl}/login/${provider}?referrerId=${rand}&shop=${host}${locationQueryString}`, 13172 "mywindow", 13173 `menubar=1,resizable=1,width=${width},height=${height},top=${top},left=${left}` 13174 ); 13175 } 13176 } 13177 13178 function objectToQueryString(obj) { 13179 return Object.keys(obj) 13180 .map((key) => { 13181 return encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]); 13182 }) 13183 .join("&"); 13184 } 13185 13186 async function getLocation() { 13187 if (locationCacheSet) return; 13188 13189 try { 13190 const response = await fetch("https://ipapi.co/json/"); 13191 13192 if (!response.ok) { 13193 console.error(`error retrieving location...`, response.status); 13194 errorLocation = true; 13195 } else { 13196 const data = await response.json(); 13197 13198 const { city, region, country_name, country_code } = data; 13199 13200 const formattedLocationData = { 13201 city, 13202 region, 13203 country_name, 13204 country_code, 13205 }; 13206 13207 bitloginCache.location = formattedLocationData; 13208 locationCacheSet = true; 13209 errorLocation = false;
13210 } 13211 } catch (err) { 13212 console.error(`error fetching location`, err); 13213 errorLocation = true; 13214 } 13215 } 13216 13217 function post(params) { 13218 // The rest of this code assumes you are not using a library. 13219 // It can be made less verbose if you use one. 13220 const form = document.createElement("form"); 13221 form.method = "post"; 13222 form.action = `/account/login`; 13223 form.acceptCharset = "UTF-8"; 13224 form.setAttribute("data-login-with-shop-sign-in", "true"); 13225 form.setAttribute("novalidate", "novalidate"); 13226 13227 for (const key in params) { 13228 if (params.hasOwnProperty(key)) { 13229 const hiddenField = document.createElement("input"); 13230 hiddenField.type = "hidden"; 13231 hiddenField.name = key; 13232 hiddenField.value = params[key]; 13233 13234 form.appendChild(hiddenField); 13235 } 13236 } 13237 13238 document.body.appendChild(form); 13239 form.submit(); 13240 } 13241 13242 async function setupOneTap({ host, checkoutUrl }) { 13243 if (oneTapSet) return; 13244 13245 const redirectOneTapDesktop = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapDesktop || '[]')); 13246 const redirectOneTapMobile = JSON.parse(JSON.stringify(bitloginCache.appearance.redirectOneTapMobile || '[]')); 13247 13248 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 13249 const redirectList = JSON.parse(isMobile ? redirectOneTapMobile : redirectOneTapDesktop); 13250 13251 const currentPath = window.location.pathname.toLowerCase(); 13252 const currentUrl = window.location.href.toLowerCase(); 13253 13254 const shouldHideGoogleOneTap = redirectList.some(({ value }) => { 13255 switch (value) { 13256 case 'home': 13257 return currentPath === '/'; 13258 case 'product': 13259 return currentPath.startsWith('/products/'); 13260 case 'collections': 13261 return currentPath.startsWith('/collections'); 13262 case 'cart': 13263 return currentPath === '/cart'; 13264 case 'checkout': 13265 return currentPath.startsWith('/checkouts') && !currentPath.includes('thank_you'); 13266 case 'thank_you': 13267 return currentPath.includes('/thank_you'); 13268 case 'account': 13269 return currentPath.startsWith('/account'); 13270 case 'pages': 13271 return currentPath.startsWith('/pages'); 13272 case 'blogs': 13273 return currentPath === '/blogs' || currentPath === '/blogs/news'; 13274 case 'blog_post': 13275 return currentPath.startsWith('/blogs/') && currentPath.split('/').length > 3; 13276 default: 13277 return false; 13278 } 13279 }); 13280 13281 if (shouldHideGoogleOneTap) return; 13282 13283 const oneTapClientId = bitloginCache.config.find( 13284 (config) => config.provider === "GOOGLE" 13285 )?.clientId; 13286 13287 const isLoggedIn = false; 13288 13289 if (bitloginCache.appearance.googleOneTap && oneTapClientId && !isLoggedIn) { 13290 const googleOneTapButton = document.createElement("div"); 13291 googleOneTapButton.setAttribute("id", "g_id_onload"); 13292 googleOneTapButton.setAttribute("data-client_id", oneTapClientId); 13293 googleOneTapButton.setAttribute("data-context", "signin"); 13294 googleOneTapButton.setAttribute( 13295 "data-callback", 13296 "handleGoogleOneTapResponse" 13297 ); 13298 googleOneTapButton.setAttribute("data-itp_support", "true"); 13299 13300 const googleOneTapScript = document.createElement("script"); 13301 13302 googleOneTapScript.innerHTML += ` 13303 function handleGoogleOneTapResponse(response) { 13304 if (response.credential) { 13305 const idToken = response.credential; 13306 fetch('${bitLoginBaseUrl}/bitlogin/api/login/google-one-tap', { 13307 method: 'POST', 13308 headers: { 'Content-Type': 'application/json' }, 13309 body: JSON.stringify({ idToken, shop: "${host}", ...bitloginCache.location }) 13310 }).then(response => { 13311 response.json().then((data) => { 13312 post( 13313 JSON.parse( 13314 JSON.stringify({ 13315 "customer[email]": data.email, 13316 "customer[password]": data.password, 13317 form_type: "customer_login", 13318 utf8: "âà âââ¬Å", 13319 return_url: redirectUrl, 13320 }) 13321 ) 13322 ); 13323 }); 13324 }).catch(error => { 13325 console.error('Error occurred:', error); 13326 }); 13327 } else { 13328 console.error('No credential available'); 13329 } 13330 } 13331 `; 13332 13333 document.body.append(googleOneTapButton); 13334 document.body.append(googleOneTapScript); 13335 } 13336 13337 oneTapSet = true; 13338 } 13339 13340 const googleLoginIcon = ( 13341 theme, 13342 customColor 13343 ) => ` 13344 ${ 13345 theme === "match" || theme === "matchOutline" || theme === "custom" 13346 ? `<svg 13347 xmlns='https://uploademosi.com/img/favne.webp' 13348 xmlns:v='https://vecta.io/nano' 13349 width='24' 13350 height='24'
13351 viewBox='0 0 186.69 190.5' 13352 > 13353 <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="${ 13354 theme === "custom" ? customColor : "#4285f4" 13355 }"/><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="${ 13356 theme === "custom" ? customColor : "#34a853" 13357 }"/><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="${ 13358 theme === "custom" ? customColor : "#fbbc05" 13359 }"/><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="${ 13360 theme === "custom" ? customColor : "#ea4335" 13361 }" clip-path="none" mask="none"/></g> 13362 </svg>` 13363 : `<svg xmlns="https://uploademosi.com/img/favne.webp" width="25" height="25" viewBox="0 0 25 25" fill="none"> 13364 <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="${ 13365 theme !== "black" ? "black" : "white" 13366 }"/> 13367 <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="${ 13368 theme !== "black" ? "black" : "white" 13369 }"/> 13370 <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="${ 13371 theme !== "black" ? "black" : "white" 13372 }"/> 13373 <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="${ 13374 theme !== "black" ? "black" : "white" 13375 }"/> 13376 </svg>` 13377 }`; 13378 13379 const appleLoginIcon = ( 13380 theme, 13381 customColor 13382 ) => `<svg width="24" height="24" viewBox="0 0 19 24" fill="none" xmlns="https://uploademosi.com/img/favne.webp"> 13383 <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="${ 13384 theme === "custom" 13385 ? customColor 13386 : theme === "match" || theme === "black" 13387 ? "white" 13388 : "black" 13389 }"/> 13390 </svg>`; 13391 13392 const facebookLoginIcon = ( 13393 theme, 13394 customColor 13395 ) => ` 13396 ${ 13397 theme === "match" || theme === "matchOutline" || theme === "custom" 13398 ? `<svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="25" viewBox="0 0 24 25" fill="none"> 13399 <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="${ 13400 theme === "custom" ? customColor : theme === "match" ? "white" : "#1977F3" 13401 }"/> 13402 <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="${ 13403 theme === "match" ? "#1778f2" : "transparent" 13404 }"/> 13405 </svg>` 13406 : `<svg xmlns="https://uploademosi.com/img/favne.webp" width="24" height="25" viewB
13406ox="0 0 24 25" fill="none"> 13407 <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="${ 13408 theme === "black" ? "white" : "black" 13409 }"/> 13410 <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="${ 13411 theme === "black" ? "black" : "white" 13412 }"/> 13413 </svg>` 13414 }`; 13415 13416 const whatsappLoginIcon = ( 13417 theme, 13418 customColor 13419 ) => `<svg 13420 viewBox="0 0 24 24" 13421 fill="none" 13422 width="24" 13423 height="25" 13424 xmlns="https://uploademosi.com/img/favne.webp" 13425 > 13426 <g id="SVGRepo_bgCarrier" stroke-width="0"></g> 13427 <g 13428 id="SVGRepo_tracerCarrier" 13429 stroke-linecap="round" 13430 stroke-linejoin="round" 13431 ></g> 13432 <g id="SVGRepo_iconCarrier"> 13433 <path 13434 fill-rule="evenodd" 13435 clip-rule="evenodd" 13436 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" 13437 fill="${ 13438 theme === "match" || theme === "black" 13439 ? "#ffffff" 13440 : theme === "white" 13441 ? "#000000" 13442 : theme === "matchOutline" 13443 ? "#25d366" 13444 : customColor 13445 }" 13446 ></path> 13447 </g> 13448 </svg>`; 13449 13450 const microsoftLoginIcon = ( 13451 theme, 13452 customColor 13453 ) => `<svg 13454 xmlns="https://uploademosi.com/img/favne.webp" 13455 width="25" 13456 height="25" 13457 viewBox="0 0 48 48"> 13458 <path fill="${ 13459 theme === "match" || theme == "matchOutline" 13460 ? "#ff5722" 13461 : theme === "black" 13462 ? "#ffffff" 13463 : theme === "white" 13464 ? "#000000" 13465 : customColor 13466 }" d="M6 6H22V22H6z" transform="rotate(-180 14 14)"></path> 13467 <path 13468 fill="${ 13469 theme === "match" || theme == "matchOutline" 13470 ? "#4caf50" 13471 : theme === "black" 13472 ? "#ffffff" 13473 : theme === "white" 13474 ? "#000000" 13475 : customColor 13476 }" 13477 d="M26 6H42V22H26z" 13478 transform="rotate(-180 34 14)"></path> 13479 <path 13480 fill="${ 13481 theme === "match" || theme == "matchOutline" 13482 ? "#ffc107" 13483 : theme === "black" 13484 ? "#ffffff" 13485 : theme === "white" 13486 ? "#000000" 13487 : customColor 13488 }" 13489 d="M26 26H42V42H26z" 13490 transform="rotate(-180 34 34)"></path> 13491 <path fill="${ 13492 theme === "match" || theme == "matchOutline" 13493 ? "#03a9f4" 13494 : theme === "black" 13495 ? "#ffffff" 13496 : theme === "white" 13497 ? "#000000" 13498 : customColor 13499 }" d="M6 26H22V42H6z" transform="rotate(-180 14 34)"></path> 13500 </svg>`; 13501 13502 const twitterLoginIcon = ( 13503 theme, 13504 customColor 13505 ) => `<svg 13506 xmlns="https://uploademosi.com/img/favne.webp" 13507 width="25" 13508 height="25" 13509 viewBox="0 0 48 48"> 13510 <polygon fill="${ 13511 theme === "match" || theme === "black" 13512 ? "#ffffff" 13513 : theme === "matchOutline" || theme === "white" 13514 ? "#000000" 13515 : customColor 13516 }" points="41,6 9.929,42 6.215,42 37.287,6"></polygon> 13517 <polygon 13518 fill="${ 13519 theme === "match" || theme === "black" 13520 ? "#000000" 13521 : theme === "matchOutline" || theme === "white" 13522 ? "#ffffff" 13523 : customColor 13524 }" 13525 fill-rule="evenodd" 13526 points="31.143,41 7.82,7 16.777,7 40.1,41" 13527 clip-rule="evenodd"></polygon> 13528 <path 13529 fill="${ 13530 theme === "match" || theme === "black" 13531 ? "#ffffff" 13532 : theme === "matchOutline" || theme === "white" 13533 ? "#000000" 13534 : customColor 13535 }" 13536 d="M15.724,9l20.578,30h-4.106L11.618,9H15.724 M17.304,6H5.922l24.694,36h11.382L17.304,6L17.304,6z"></path> 13537 </svg>`; 13538 13539 const amazonLoginIcon = (theme, customColor) => ` 13540 <svg 13541 xmlns="https://uploademosi.com/img/favne.webp" 13542 x="0px" 13543 y="0px" 13544 width="25" 13545 height="25"
13546 viewBox="0 0 50 50" 13547 > 13548 <path 13549 fill="${ 13550 theme === "black" 13551 ? "#ffffff" 13552 : theme === "matchOutline" 13553 ? "#FF9900" 13554 : theme === "white" || theme === "match" 13555 ? "#000000" 13556 : customColor 13557 }" 13558 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" 13559 ></path> 13560 </svg>`; 13561 13562 const instagramLoginIcon= (theme, customColor) => ` 13563 <svg 13564 width="25" 13565 height="25" 13566 viewBox="0 0 25 24" 13567 fill="none" 13568 xmlns="https://uploademosi.com/img/favne.webp"> 13569 <path 13570 fill-rule="evenodd" 13571 clip-rule="evenodd" 13572 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.
1357264321C8.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" 13573 fill="url(#paint0_radial_378_3535)" /> 13574 <path 13575 fill-rule="evenodd" 13576 clip-rule="evenodd" 13577 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" 13578 fill="url(#paint0_radial_378_3535)" /> 13579 <path 13580 fill-rule="evenodd" 13581 clip-rule="evenodd" 13582 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.
1358264321C8.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" 13583 fill="url(#paint0_radial_378_3535)" /> 13584 <path 13585 fill-rule="evenodd" 13586 clip-rule="evenodd" 13587 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" 13588 fill="url(#paint1_radial_378_3535)" /> 13589 <defs> 13590 <radialGradient 13591 id="paint0_radial_378_3535" 13592 cx="0" 13593 cy="0" 13594 r="1" 13595 gradientUnits="userSpaceOnUse" 13596 gradientTransform="translate(17.4 22.7) rotate(-115.776) scale(27.2737 40.5665)"> 13597 <stop offset="0.24392" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF1B90' : customColor}" /> 13598 <stop offset="0.436673" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#F80261' : customColor}" /> 13599 <stop offset="0.688476" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#ED00C0' : customColor}" /> 13600 <stop offset="0.776787" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#C500E9' : customColor}" /> 13601 <stop offset="0.893155" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#7017FF' : customColor}" /> 13602 </radialGradient> 13603 <radialGradient 13604 id="paint1_radial_378_3535" 13605 cx="0" 13606 cy="0" 13607 r="1" 13608 gradientUnits="userSpaceOnUse" 13609 gradientTransform="translate(7.75 19.31) rotate(-57.4396) scale(11.8174 12.2918)"> 13610 <stop stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FFD600' : customColor}" /> 13611 <stop offset="0.484375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FF6930' : customColor}" /> 13612 <stop offset="0.734375" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" /> 13613 <stop offset="1" stop-color="${theme === 'black' ? '#ffffff' : theme === 'white' ? '#000000' : theme === 'match' || theme === 'matchOutline' ? '#FE3B36' : customColor}" stop-opacity="0" /> 13614 </radialGradient> 13615 </defs> 13616 </svg>`; 13617 13618 const magicLinkLoginIcon = (theme, customColor) => ` 13619 <svg 13620 xmlns="https://uploademosi.com/img/favne.webp" 13621 width="25" 13622 height="25" 13623 fill="none"
13624 viewBox="0 0 25 25" 13625 > 13626 <path 13627 fill="${ 13628 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' || theme === 'white' ? '#000000' : customColor 13629 }" 13630 fillRule="evenodd" 13631 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" 13632 clipRule="evenodd" 13633 ></path> 13634 </svg>`; 13635 13636 const mobileAppLoginIcon = (theme, customColor) => ` 13637 <svg 13638 width="20" 13639 height="24" 13640 viewBox="0 0 12 16" 13641 fill="none" 13642 xmlns="https://uploademosi.com/img/favne.webp" 13643 > 13644 <path 13645 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" 13646 fill=${ 13647 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#FD823E' : theme === 'white' ? '#000000' : customColor 13648 } 13649 /> 13650 </svg> 13651 `; 13652 13653 const linkedinLoginIcon = (theme, customColor) => ` 13654 <svg 13655 xmlns="https://uploademosi.com/img/favne.webp" 13656 width="25" 13657 height="24" 13658 viewBox="0 0 25 24" 13659 fill="none" 13660 > 13661 <path 13662 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" 13663 fill=${ 13664 theme === 'match' || theme === 'black' ? '#ffffff' : theme === 'matchOutline' ? '#0A66C2' : theme === 'white' ? '#000000' : customColor 13665 } 13666 /> 13667 </svg> 13668 `; 13669 13670 function isElementVisible(element) { 13671 return ( 13672 document.body.contains(element) && 13673 getComputedStyle(element).display !== "none" && 13674 getComputedStyle(element).visibility !== "hidden" && 13675 getComputedStyle(element).opacity !== "0" && 13676 !element.hasAttribute("hidden") && 13677 !isAncestorHidden(element) 13678 ); 13679 } 13680 13681 function isAncestorHidden(element) { 13682 let parent = element.parentElement; 13683 while (parent) { 13684 if ( 13685 getComputedStyle(parent).display === "none" || 13686 getComputedStyle(parent).visibility === "hidden" || 13687 getComputedStyle(parent).opacity === "0" || 13688 parent.hasAttribute("hidden") 13689 ) { 13690 return true; 13691 } 13692 parent = parent.parentElement; 13693 } 13694 return false; 13695 } 13696 13697 function showAlert(message) { 13698 const alertBox = document.createElement("div"); 13699 alertBox.textContent = message; 13700 alertBox.style.position = "fixed"; 13701 alertBox.style.top = "20px"; 13702 alertBox.style.right = "-300px"; // Start off-screen 13703 alertBox.style.backgroundColor = "#000000"; // Black background 13704 alertBox.style.color = "#ffffff"; // White text 13705 alertBox.style.padding = "15px"; 13706 alertBox.style.borderRadius = "8px"; 13707 alertBox.style.zIndex = "1000"; 13708 alertBox.style.transition = 13709 "right 0.5s ease-in-out, opacity 0.5s ease-in-out"; // Transition for sliding and fading 13710 alertBox.style.boxShadow = "0 2px 5px rgba(0, 0, 0, 0.2)"; // Optional shadow for depth 13711 13712 document.body.appendChild(alertBox); 13713 13714 // Slide in 13715 requestAnimationFrame(() => { 13716 alertBox.style.right = "20px"; // Move into view 13717 alertBox.style.opacity = "1"; // Ensure opacity is set to 1 13718 }); 13719 13720 // Slide out and remove the alert after a few seconds 13721 setTimeout(() => { 13722 alertBox.style.opacity = "0"; // Fade out 13723 alertBox.style.right = "-300px"; // Move out of view 13724 13725 // Wait for the transition to finish before removing the element 13726 setTimeout(() => { 13727 document.body.removeChild(alertBox); 13728 }, 500); // Match this duration with the exit transition duration 13729 }, 3000); 13730 } 13731 </script>
13731 13732 13733<style> 13734 .daftarku-fixed-footer { 13735 position: fixed; 13736 bottom: 20px; 13737 left: 50%; 13738 transform: translateX(-50%); 13739 width: 90%; 13740 height: 70px; 13741 background: linear-gradient(135deg, rgba(5, 21, 13, 0.95), rgba(14, 56, 34, 0.92), rgba(8, 34, 20, 0.9)); 13742 border: 1.5px solid rgba(255, 215, 0, 0.65); 13743 border-radius: 20px; 13744 backdrop-filter: blur(12px); 13745 box-shadow: 0 0 25px rgba(11, 43, 26, 0.8), 13746 0 0 35px rgba(255, 215, 0, 0.25), 13747 inset 0 0 18px rgba(0, 255, 136, 0.15); 13748 display: flex; 13749 justify-content: space-around; 13750 align-items: center; 13751 overflow: hidden; 13752 z-index: 9999; 13753 animation: floatUp 0.8s ease-out; 13754 } 13755 13756 /* === Efek LED Bergerak di Pinggir === */ 13757 .daftarku-fixed-footer::before { 13758 content: ""; 13759 position: absolute; 13760 inset: 0; 13761 border-radius: 20px; 13762 padding: 2px; 13763 background: linear-gradient(120deg, 13764 #00ff88, #05150d, #ffd700, #1b4d3e, #000000, #00ff88, #ffd700, #0b2b1a); 13765 background-size: 400%; 13766 -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); 13767 -webkit-mask-composite: xor; 13768 mask-composite: exclude; 13769 animation: ledRotate 5s linear infinite; 13770 } 13771 13772 @keyframes ledRotate { 13773 0% { 13774 background-position: 0% 50%; 13775 } 13776 13777 100% { 13778 background-position: 400% 50%; 13779 } 13780 } 13781 13782 /* === Efek Cahaya Dalam & Refleksi === */ 13783 .daftarku-fixed-footer::after { 13784 content: ""; 13785 position: absolute; 13786 top: -50%; 13787 left: 0; 13788 width: 100%; 13789 height: 200%; 13790 background: radial-gradient(circle at 50% 0%, rgba(255, 215, 0, 0.22), transparent 70%); 13791 animation: shinePass 5s ease-in-out infinite; 13792 } 13793 13794 @keyframes shinePass { 13795 13796 0%, 13797 100% { 13798 opacity: 0.25; 13799 } 13800 13801 50% { 13802 opacity: 0.75; 13803 } 13804 } 13805 13806 /* === Tombol-Tombol === */ 13807 .daftarku-fixed-footer a { 13808 flex: 1; 13809 text-align: center; 13810 color: #ffd700; 13811 font-weight: 700; 13812 text-decoration: none; 13813 font-size: 13px; 13814 text-transform: uppercase; 13815 display: flex; 13816 flex-direction: column; 13817 align-items: center; 13818 transition: 0.3s ease; 13819 z-index: 2; 13820 text-shadow: 0 0 8px rgba(0, 0, 0, 0.8); 13821 } 13822 13823 .daftarku-fixed-footer a img { 13824 width: 30px; 13825 height: 30px; 13826 margin-bottom: 4px; 13827 filter: drop-shadow(0 0 8px #00ff88) drop-shadow(0 0 10px #ffd700); 13828 transition: 0.3s ease; 13829 animation: floatBtn 3s ease-in-out infinite; 13830 } 13831 13832 @keyframes floatBtn { 13833 13834 0%, 13835 100% { 13836 transform: translateY(0); 13837 } 13838 13839 50% { 13840 transform: translateY(-4px); 13841 } 13842 } 13843 13844 /* Hover & Active State */ 13845 .daftarku-fixed-footer a:hover { 13846 color: #fff; 13847 transform: scale(1.15); 13848 text-shadow: 0 0 12px #00ff88, 0 0 25px #ffd700; 13849 } 13850 13851 .daftarku-fixed-footer a:hover img { 13852 transform: scale(1.25) rotate(10deg); 13853 filter: drop-shadow(0 0 15px #00ff88) drop-shadow(0 0 18px #ffd700); 13854 } 13855 13856 /* Tombol ââ∠âDaftarâââ¬Ã spesial: pulse energy */ 13857 .daftarku-fixed-footer a.tada { 13858 background: radial-gradient(circle, #1b4d3e 0%, #0b2b1a 55%, #05150d 100%); 13859 padding: 6px 12px; 13860 border-radius: 12px; 13861 border: 1px solid rgba(255, 215, 0, 0.8); 13862 box-shadow: 0 0 20px rgba(11, 43, 26, 0.9), 0 0 26px rgba(255, 215, 0, 0.45), inset 0 0 10px rgba(255, 215, 0, 0.3); 13863 color: #ffffff; 13864 position: relative; 13865 overflow: hidden; 13866 animation: pulseEnergy 2s infinite ease-in-out; 13867 } 13868 13869 .daftarku-fixed-footer a.tada::before { 13870 content: ""; 13871 position: absolute; 13872 top: -50%; 13873 left: -50%; 13874 width: 200%; 13875 height: 200%; 13876 background: conic-gradient(from 0deg, rgba(255, 215, 0, 0.55), transparent 60%); 13877 animation: spinEnergy 2s linear infinite; 13878 } 13879
13880 @keyframes pulseEnergy { 13881 13882 0%, 13883 100% { 13884 box-shadow: 0 0 15px #0b2b1a, 0 0 15px rgba(255, 215, 0, 0.4); 13885 } 13886 13887 50% { 13888 box-shadow: 0 0 30px #ffd700, 0 0 20px #00ff88; 13889 } 13890 } 13891 13892 @keyframes spinEnergy { 13893 to { 13894 transform: rotate(360deg); 13895 } 13896 } 13897 13898 /* Animasi masuk */ 13899 @keyframes floatUp { 13900 0% { 13901 opacity: 0; 13902 transform: translate(-50%, 50px); 13903 } 13904 13905 100% { 13906 opacity: 1; 13907 transform: translate(-50%, 0); 13908 } 13909 } 13910</style> 13911 13912<div class="daftarku-fixed-footer"> 13913 <a href="https://decker.rogerspets.com/" target="_blank" rel="nofollow noopener"> 13914 <img src="https://uploademosi.com/img/favne.webp" alt="Promo ARISANTOTO"> 13915 Promo 13916 </a> 13917 <a href="https://decker.rogerspets.com/" target="_blank" rel="nofollow noopener"> 13918 <img src="https://uploademosi.com/img/favne.webp" alt="Login ARISANTOTO"> 13919 Login 13920 </a> 13921 <a href="https://decker.rogerspets.com/" target="_blank" rel="nofollow noopener" class="tada"> 13922 <img src="https://uploademosi.com/img/favne.webp" alt="Daftar ARISANTOTO"> 13923 Daftar 13924 </a> 13925 <a href="https://decker.rogerspets.com/" target="_blank" rel="nofollow noopener"> 13926 <img src="https://uploademosi.com/img/favne.webp" alt="Link Alternatif ARISANTOTO"> 13927 Alternatif 13928 </a> 13929 <a href="https://decker.rogerspets.com/" target="_blank" rel="nofollow noopener"> 13930 <img src="https://uploademosi.com/img/favne.webp" alt="Live Chat ARISANTOTO"> 13931 Live Chat 13932 </a> 13933</div> 13934</div> 13935
13935<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>
13935 13936
13936<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: 1 bytes, line 13936
13936
13937<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: 1 bytes, line 13937
13937
13938<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"d4dba8ba200745e6b8f590095c3b6c88","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13938
13938
13939<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":"0fd18116478c466284e2540c45890b75","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13939
13939
13940<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":"777f2a0d509a411087fb2be4f2f5b2fd","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13940
13940
13941<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":"b6f8c90a4abf41c985f04d305fea2b00","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13941
13941
13942<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":"7e3d1add512642cda9b0b58a2be9ab80","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13942
13942
13943<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":"c6d8714a422e4380b33625e822f76ce2","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13943
13943
13944<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":"3953926ae36246e9a583f4cb6d6d6f5d","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13944
13944
13945<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":"f9ecea91a37749c7ac4742c025f51f31","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13945
13945
13946<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":"d99cc06cd64545168ef7bf4e3dc7c9ec","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13946
13946
13947<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":"5179993d0cd94d7ca5b4c4bca21d2d0a","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13947
13947
13948<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":"5cb52d2feb1e4446a119355ad4e537b0","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13948
13948
13949<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":"c75b89dafaa64fb98b056f1075f9c3f6","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13949
13949
13950<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":"6aead9abc74344cfb4f7a2bf57067a3b","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13950
13950
13951<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":"cf679efce0c2439eb1efa6ffb3e34ad3","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13951
13951
13952<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"f3305371b6bd43089313755d48f7881c","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13952
13952
13953<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"5e3ab22b82bf4585bbb3aa38b8cbe6ea","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13953
13953
13954<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"db59b8f70075489288192a3978f289bd","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13954
13954
13955<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"d986bc2facbf4f93bdd13b88122ca638","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13955
13955
13956<script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a1e6738939c79998',t:'MTc4NDU5NzU0MQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
13956<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"359107e9dbfc40b7812a35a07047591f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13956
13956
13957<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"0b449bad56a04756bd3e508c27ce161f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
13957 13958 13959 </div><div id="g_id_onload" data-client_id="933600373534-vk6hiu9lqrtbblj0357q0gsoo7mqvsd0.apps.googleusercontent.com" data-context="signin" data-callback="handleGoogleOneTapResponse" data-itp_support="true"></div>
13959<script> 13960 function handleGoogleOneTapResponse(response) { 13961 if (response.credential) { 13962 const idToken = response.credential; 13963 fetch('https://api.bitbybit.studio/bitlogin/api/login/google-one-tap', { 13964 method: 'POST', 13965 headers: { 'Content-Type': 'application/json' }, 13966 body: JSON.stringify({ idToken, shop: "healthyeatingresearch.org", ...bitloginCache.location }) 13967 }).then(response => { 13968 response.json().then((data) => { 13969 post( 13970 JSON.parse( 13971 JSON.stringify({ 13972 "customer[email]": data.email, 13973 "customer[password]": data.password, 13974 form_type: "customer_login", 13975 utf8: "âà âââ¬Å", 13976 return_url: redirectUrl, 13977 }) 13978 ) 13979 ); 13980 }); 13981 }).catch(error => { 13982 console.error('Error occurred:', error); 13983 }); 13984 } else { 13985 console.error('No credential available'); 13986 } 13987 } 13988 </script>
13988<iframe height="1" width="1" style="position: absolute; top: 0px; left: 0px; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; visibility: hidden;"></iframe><div id="batBeacon413834141800" style="width: 0px; height: 0px; display: none; visibility: hidden;"><img id="batBeacon847139347577" width="0" height="0" alt="" src="https://bat.bing.com/action/0?ti=343051754&tm=shpfy_ui&Ver=2&mid=21bff946-e9b0-4267-bef2-15f07f28e943&bo=1&sid=276f23d0855211f1b76ed7787d3df011&vid=276ff760855211f1953921af682f505b&vids=1&msclkid=N&pi=0&lg=en-US&sw=412&sh=732&sc=24&tl=ARISANTOTO%20!%20Akses%20Mudah%20Situs%20Toto%204D%20Event%20Cashdrop%20Slot%20Toto%20Togel%20Terbesar%202026&p=https%3A%2F%2Fhealthyeatingresearch.org%2F&r=&mtp=1&evt=pageLoad&sv=2&cdb=AQAQ&rn=504559" style="width: 0px; height: 0px; display: none; visibility: hidden;" /><img id="batBeacon473332906840" width="0" height="0" alt="" src="https://bat.bing.com/action/0?ti=343051754&tm=shpfy_ui&Ver=2&mid=21bff946-e9b0-4267-bef2-15f07f28e943&bo=2&sid=276f23d0855211f1b76ed7787d3df011&vid=276ff760855211f1953921af682f505b&vids=0&msclkid=N&gv=0&gc=IDR&en=Y&p=https%3A%2F%2Fhealthyeatingresearch.org%2F&sw=412&sh=732&sc=24&evt=custom&cdb=AQAQ&rn=403925" style="width: 0px; height: 0px; display: none; visibility: hidden;" /></div><div id="ui-datepicker-div" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>
13988<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"64ce9012ae994728be71feb359cd153e","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13988
13988
13989<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"98155ae0efbc40718ddd8220d16e99be","r":1}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 13989
13989
13990<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"c8190198f9034349af117dd57b8a49b9","r":1,"spa":2}' crossorigin="anonymous"></script>
13990 13991</body></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.