1<!doctype html> 2<html class="no-js" lang="en"> 3 <head> 4 5 <meta charset="utf-8"> 6 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 7 <meta name="viewport" content="width=device-width,initial-scale=1"> 8 <meta name="theme-color" content=""> 9 <link rel="canonical" href="https://www.benangjarum.com/blogs/press"> 10 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//www.benangjarum.com/cdn/shop/files/BJ_LOGOGRAM-01.png?crop=center&height=32&v=1717396196&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 11 Press 12 – Benang Jarum</title> 13 14 15 16 17 18 19<meta property="og:site_name" content="Benang Jarum"> 20<meta property="og:url" content="https://www.benangjarum.com/blogs/press"> 21<meta property="og:title" content="Press"> 22<meta property="og:type" content="website"> 23<meta property="og:description" content="A premium Indonesian women's fashion brand offering ready-to-wear collections for both casual and formal occasions. Featuring elegant, stylish, and sophisticated designs."><meta property="og:image" content="http://www.benangjarum.com/cdn/shop/files/BENANG_JARUM_-_LOGO.png?v=1717123159"> 24 <meta property="og:image:secure_url" content="https://www.benangjarum.com/cdn/shop/files/BENANG_JARUM_-_LOGO.png?v=1717123159"> 25 <meta property="og:image:width" content="3544"> 26 <meta property="og:image:height" content="3544"><meta name="twitter:card" content="summary_large_image"> 27<meta name="twitter:title" content="Press"> 28<meta name="twitter:description" content="A premium Indonesian women's fashion brand offering ready-to-wear collections for both casual and formal occasions. Featuring elegant, stylish, and sophisticated designs."> 29 30 31<meta name="google-site-verification" content="69tpo94NapxTEUjmKjkl_KI4ywZn46DRN-cbQDfjwFI"> 32 33
33<script src="//www.benangjarum.com/cdn/shop/t/18/assets/global.js?v=156193342220794915281753973593" defer="defer"></script>
33 34
34<script src="//www.benangjarum.com/cdn/shop/t/18/assets/custom.js?v=146803835423820903971786681208" defer="defer"></script>
34 35
35<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
35<meta name="google-site-verification" content="x-FKkHmFv8qmlH_raRZAhEfsyYrqvtq9R80UnhVUqw0"> 36<meta name="facebook-domain-verification" content="ydapglvf5w41hbrnkqxai461mcz6nk"> 37<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/69907349746/digital_wallets/dialog"> 38<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" type="application/atom+xml" title="Feed" href="/blogs/press.atom" /> 39<link rel="next" href="/blogs/press?page=2"> 40<link rel="alternate" hreflang="x-default" href="https://www.benangjarum.com/blogs/press"> 41<link rel="alternate" hreflang="en" href="https://www.benangjarum.com/blogs/press"> 42<link rel="alternate" hreflang="id" href="https://www.benangjarum.com/id/blogs/press">
43<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=71139570"></script>
vendor: 1 bytes, line 43
43
44<script id="shopify-features" type="application/json">{"accessToken":"c87876d05b79575afb64c41b9e29dc9b","betas":["rich-media-storefront-analytics"],"domain":"www.benangjarum.com","predictiveSearch":true,"shopId":69907349746,"locale":"en"}</script>
vendor: 1 bytes, line 44
44
45<script>var Shopify = Shopify || {}; 46Shopify.shop = "c03efc-25.myshopify.com"; 47Shopify.locale = "en"; 48Shopify.currency = {"active":"IDR","rate":"1.0"}; 49Shopify.country = "US"; 50Shopify.theme = {"name":"BJID - Online Theme","id":179690078579,"schema_name":"Dawn","schema_version":"7.0.1","theme_store_id":null,"role":"main"}; 51Shopify.theme.handle = "null"; 52Shopify.theme.style = {"id":null,"handle":null}; 53Shopify.cdnHost = "www.benangjarum.com/cdn"; 54Shopify.routes = Shopify.routes || {}; 55Shopify.routes.root = "/"; 56Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 57Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 58Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 59Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 59
59
60<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 60
60
61<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>
vendor: 1 bytes, line 61
61
62<script> 63 window.Shopify = window.Shopify || {}; 64 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 65 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 66 window.Shopify.SignInWithShop.eligible = true; 67</script>
vendor: 1 bytes, line 67
67
68<script id="shop-js-analytics" type="application/json">{"pageType":"blog"}</script>
vendor: 1 bytes, line 68
68
69<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 69
69
70<script type="module"> 71 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 72 73 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 74 75</script>
vendor: 1 bytes, line 75
75
76<script> 77 window.Shopify = window.Shopify || {}; 78 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 79 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 80</script>
vendor: 1 bytes, line 80
80
81<script>(function() { 82 var isLoaded = false; 83 function asyncLoad() { 84 if (isLoaded) return; 85 isLoaded = true; 86 var urls = ["https:\/\/cdn.nfcube.com\/instafeed-b1c04542f0a021f6ecb4a5a8cf2483bb.js?shop=c03efc-25.myshopify.com","\/\/cdn.shopify.com\/proxy\/20da68efd3fe46ae914d30f963a7d0c09ea45b0bab599fdda1abf491d54d1c1c\/aiodstag.cirkleinc.com\/?shop=c03efc-25.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/storage.googleapis.com\/mobile-embed-scripts-prod\/loader\/index.js?appId=fjdZ61kRle\u0026environment=production\u0026shop=c03efc-25.myshopify.com","https:\/\/storage.googleapis.com\/mobile-embed-scripts-prod\/webbridge-sdk\/webbridge.umd.js?shop=c03efc-25.myshopify.com"]; 87 for (var i = 0; i < urls.length; i++) { 88 var s = document.createElement('script'); 89 s.type = 'text/javascript'; 90 s.async = true; 91 s.src = urls[i]; 92 var x = document.getElementsByTagName('script')[0]; 93 x.parentNode.insertBefore(s, x); 94 } 95 }; 96 if(window.attachEvent) { 97 window.attachEvent('onload', asyncLoad); 98 } else { 99 window.addEventListener('load', asyncLoad, false); 100 } 101})();</script>
vendor: 1 bytes, line 101
101
102<script id="__st">var __st={"a":69907349746,"offset":25200,"reqid":"35d897ec-793a-4622-acc5-8e46e2957cd6-1790872031","pageurl":"www.benangjarum.com\/blogs\/press","s":"blogs-123539161459","u":"352abd358889","p":"blog","rtyp":"blog","rid":123539161459};</script>
vendor: 1 bytes, line 102
102
103<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 103
103
104<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.3.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'])})(!0,!0)}();</script>
vendor: 1 bytes, line 104
104
105<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.benangjarum.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 105
105
106<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.benangjarum.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
106<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 106
106
107<script> 108 window.Shopify = window.Shopify || {}; 109 window.Shopify.MCP = window.Shopify.MCP || {}; 110 window.Shopify.MCP.enabled = true; 111 window.Shopify.MCP.shop = "c03efc-25.myshopify.com"; 112 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.benangjarum.com\/api\/mcp"; 113 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 114</script>
vendor: 1 bytes, line 114
114
115<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.benangjarum.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 116</script>
vendor: 1 bytes, line 116
116
117<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://www.benangjarum.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 118</script>
vendor: 1 bytes, line 118
118
119<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 120 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); 121</script>
vendor: 1 bytes, line 121
121
122<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})}})); 123</script>
vendor: 1 bytes, line 123
123
124<script id='scb4127' type='text/javascript' async='' src='https://www.benangjarum.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
124<link rel="stylesheet" media="screen" href="//www.benangjarum.com/cdn/shop/t/18/compiled_assets/styles.css?v=7716006018455555831785293820">
125<script id="sections-script" data-sections="header,footer" defer="defer" src="//www.benangjarum.com/cdn/shop/t/18/compiled_assets/scripts.js?v=119610541806559081621757415141"></script>
vendor: 1 bytes, line 125
125
126<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
126 127 128 129 130 <style data-shopify> 131 @font-face { 132 font-family: 'Urbanist'; 133 font-style: normal; 134 font-weight: 100 900; 135 font-display: swap; 136 src: url('//www.benangjarum.com/cdn/shop/files/Urbanist.woff2?v=12946273189153770367') format('woff2'); 137 } 138 139 140 141 :root { 142 143 144 /* Urbanist */ 145 --font-body-family: "Urbanist", sans-serif; 146 --font-body-style: normal; 147 --font-body-weight: 400; 148 --font-body-weight-bold: 700; 149 150 --font-heading-family: "Urbanist", sans-serif; 151 --font-heading-style: normal; 152 --font-heading-weight: 500; 153 /* */ 154 155 --font-body-scale: 1.0; 156 --font-heading-scale: 1.0; 157 158 --color-base-text: 18, 18, 18; 159 --color-shadow: 18, 18, 18; 160 --color-base-background-1: 255, 255, 255; 161 --color-base-background-2: 227, 227, 227; 162 --color-base-solid-button-labels: 255, 255, 255; 163 --color-base-outline-button-labels: 18, 18, 18; 164 --color-base-accent-1: 66, 66, 66; 165 --color-base-accent-2: 51, 79, 180; 166 --payment-terms-background-color: #ffffff; 167 168 --gradient-base-background-1: #ffffff; 169 --gradient-base-background-2: #e3e3e3; 170 --gradient-base-accent-1: #424242; 171 --gradient-base-accent-2: #334fb4; 172 173 --media-padding: px; 174 --media-border-opacity: 0.05; 175 --media-border-width: 1px; 176 --media-radius: 0px; 177 --media-shadow-opacity: 0.0; 178 --media-shadow-horizontal-offset: 0px; 179 --media-shadow-vertical-offset: 4px; 180 --media-shadow-blur-radius: 5px; 181 --media-shadow-visible: 0; 182 183 --page-width: 140rem; 184 --page-width-margin: 0rem; 185 186 --product-card-image-padding: 0.0rem; 187 --product-card-corner-radius: 0.0rem; 188 --product-card-text-alignment: left; 189 --product-card-border-width: 0.0rem; 190 --product-card-border-opacity: 0.1; 191 --product-card-shadow-opacity: 0.0; 192 --product-card-shadow-visible: 0; 193 --product-card-shadow-horizontal-offset: 0.0rem; 194 --product-card-shadow-vertical-offset: 0.4rem; 195 --product-card-shadow-blur-radius: 0.5rem; 196 197 --collection-card-image-padding: 0.0rem; 198 --collection-card-corner-radius: 0.0rem; 199 --collection-card-text-alignment: left; 200 --collection-card-border-width: 0.0rem; 201 --collection-card-border-opacity: 0.1; 202 --collection-card-shadow-opacity: 0.0; 203 --collection-card-shadow-visible: 0; 204 --collection-card-shadow-horizontal-offset: 0.0rem; 205 --collection-card-shadow-vertical-offset: 0.4rem; 206 --collection-card-shadow-blur-radius: 0.5rem; 207 208 --blog-card-image-padding: 0.0rem; 209 --blog-card-corner-radius: 0.0rem; 210 --blog-card-text-alignment: left; 211 --blog-card-border-width: 0.0rem; 212 --blog-card-border-opacity: 0.1; 213 --blog-card-shadow-opacity: 0.0; 214 --blog-card-shadow-visible: 0; 215 --blog-card-shadow-horizontal-offset: 0.0rem; 216 --blog-card-shadow-vertical-offset: 0.4rem; 217 --blog-card-shadow-blur-radius: 0.5rem; 218 219 --badge-corner-radius: 4.0rem; 220 221 --popup-border-width: 1px; 222 --popup-border-opacity: 0.1; 223 --popup-corner-radius: 0px; 224 --popup-shadow-opacity: 0.0; 225 --popup-shadow-horizontal-offset: 0px; 226 --popup-shadow-vertical-offset: 4px; 227 --popup-shadow-blur-radius: 5px; 228 229 --drawer-border-width: 1px; 230 --drawer-border-opacity: 0.1; 231 --drawer-shadow-opacity: 0.0; 232 --drawer-shadow-horizontal-offset: 0px; 233 --drawer-shadow-vertical-offset: 4px; 234 --drawer-shadow-blur-radius: 5px; 235 236 --spacing-sections-desktop: 0px; 237 --spacing-sections-mobile: 0px; 238 239 --grid-desktop-vertical-spacing: 8px; 240 --grid-desktop-horizontal-spacing: 8px; 241 --grid-mobile-vertical-spacing: 4px; 242 --grid-mobile-horizontal-spacing: 4px; 243 244 --text-boxes-border-opacity: 0.1; 245 --text-boxes-border-width: 0px; 246 --text-boxes-radius: 0px; 247 --text-boxes-shadow-opacity: 0.0; 248 --text-boxes-shadow-visible: 0; 249 --text-boxes-shadow-horizontal-offset: 0px; 250 --text-boxes-shadow-vertical-offset: 4px; 251 --text-boxes-shadow-blur-radius: 5px; 252 253 --buttons-radius: 40px; 254 --buttons-radius-outset: 41px; 255 --buttons-border-width: 1px; 256 --buttons-border-opacity: 1.0; 257 --buttons-shadow-opacity: 0.0; 258 --buttons-shadow-visible: 0; 259 --buttons-shadow-horizontal-offset: 0px; 260 --buttons-shadow-vertical-offset: 0px; 261 --buttons-shadow-blur-radius: 0px; 262 --buttons-border-offset: 0.3px; 263 264 --inputs-radius: 6px; 265 --inputs-border-width: 1px; 266 --inputs-border-opacity: 0.55; 267 --inputs-shadow-opacity: 0.0; 268 --inputs-shadow-horizontal-offset: 0px; 269 --inputs-margin-offset: 0px; 270 --inputs-shadow-vertical-offset: 0px; 271 --inputs-shadow-blur-radius: 0px; 272 --inputs-radius-outset: 7px; 273 274 --variant-pills-radius: 40px; 275 --variant-pills-border-width: 1px; 276 --variant-pills-border-opacity: 0.55; 277 --variant-pills-shadow-opacity: 0.0; 278 --variant-pills-shadow-horizontal-offset: 0px; 279 --variant-pills-shadow-vertical-offset: 0px; 280 --variant-pills-shadow-blur-radius: 0px; 281 } 282 283 *, 284 *::before, 285 *::after { 286 box-sizing: inherit; 287 } 288 289 html { 290 box-sizing: border-box; 291 font-size: calc(var(--font-body-scale) * 62.5%); 292 height: 100%; 293 } 294 295 body { 296 display: grid; 297 grid-template-rows: auto auto 1fr auto; 298 grid-template-columns: 100%; 299 min-height: 100%; 300 margin: 0; 301 font-size: 1.5rem; 302 letter-spacing: 0.06rem; 303 line-height: calc(1 + 0.8 / var(--font-body-scale)); 304 font-family: var(--font-body-family); 305 font-style: var(--font-body-style); 306 font-weight: var(--font-body-weight); 307 } 308 309 @media screen and (min-width: 750px) { 310 body { 311 font-size: 1.6rem; 312 } 313 } 314 </style> 315 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/base.css?v=35964441643859272291761022385" rel="stylesheet" type="text/css" media="all" /> 316 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/custom.css?v=101423389459171736771770289774" rel="stylesheet" type="text/css" media="all" /> 317<link 318 rel="stylesheet" 319 href="//www.benangjarum.com/cdn/shop/t/18/assets/component-predictive-search.css?v=83512081251802922551753973577" 320 media="print" 321 onload="this.media='all'" 322 >
322<script> 323 // Shopify design mode 324 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 325 if (Shopify.designMode) { 326 document.documentElement.classList.add('shopify-design-mode'); 327 } 328 329 // Clarity 330 331 332 // Facebook Meta 333 !(function(f, b, e, v, n, t, s) { 334 if (f.fbq) return; 335 n = f.fbq = function() { 336 n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) 337 }; 338 if (!f._fbq) f._fbq = n; 339 n.push = n; 340 n.loaded = !0; 341 n.version = "2.0"; 342 n.queue = []; 343 t = b.createElement(e); 344 t.async = !0; 345 t.src = v; 346 s = b.getElementsByTagName(e)[0]; 347 s.parentNode.insertBefore(t, s) 348 })(window, document, "script", "https://connect.facebook.net/en_US/fbevents.js"); 349 fbq("init", "1673430350061016"); 350 fbq("track", "PageView"); 351 352 // Google Tag Manager 353 (function(w, d, s, l, i) { 354 w[l] = w[l] || []; 355 w[l].push({ 356 "gtm.start": new Date().getTime(), 357 event: "gtm.js" 358 }); 359 var f = d.getElementsByTagName(s)[0], 360 j = d.createElement(s), 361 dl = l != "dataLayer" ? "&l=" + l : ""; 362 j.async = !0; 363 j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl; 364 f.parentNode.insertBefore(j, f) 365 })(window, document, "script", "dataLayer", "GTM-KWBFVDDT") 366</script>
366 367
367<script> 368 function onSwymLoadCallback(swat) { 369 let event = 'sw:addedtocart'; 370 371 let listener = function(e) { 372 //var data = e.detail.d.productData; 373 374 fetch(location.origin).then(response => response.text()) 375 .then((responseText) => { 376 const new_html = new DOMParser() 377 .parseFromString(responseText, 'text/html') 378 .querySelector('cart-drawer').innerHTML; 379 380 const cartDrawer = document.querySelector('cart-drawer'); 381 if (cartDrawer && cartDrawer.classList.contains('is-empty')) cartDrawer.classList.remove('is-empty'); 382 cartDrawer.innerHTML = new_html; 383 document.querySelector('#CartDrawer-Overlay').addEventListener('click', cartDrawer.close.bind(cartDrawer)); 384 cartDrawer.open(); 385 }) 386 387 }; 388 389 swat.evtLayer.addEventListener(event, listener); 390 } 391 392 if (!window.SwymCallbacks) { 393 window.SwymCallbacks = []; 394 } 395 396 window.SwymCallbacks.push(onSwymLoadCallback); 397</script>
397 398 399 <style id="fast-simon-serp-css"> 400 .fs_product_text_badge_flag.sold-out { 401 position: absolute; 402 z-index: 1; 403 background: gray; 404 height: 100%; 405 opacity: .66; 406 color: #fff; 407 text-transform: uppercase; 408 font-size: 1.2rem; 409 letter-spacing: 1.6px; 410 display: flex; 411 justify-content: center; 412 align-items: center; 413 width: 100%; 414 text-decoration: none; 415 } 416 417 #fs-serp-page { 418 --fs-border-color: #cccccc; 419 420 .filters-grid-wrapper { 421 display: block; 422 width: 100%; 423 padding: 0 !important; 424 } 425 426 > div { 427 width: 100%; 428 } 429 430 .custom-svg-in-wishlist-icon-wrapper path { 431 fill: #990000; 432 } 433 434 /* Filter header */ 435 .fs-filters-header, .fs-filters-header-mobile { 436 padding-block: 4rem 0; 437 display: flex; 438 align-items: center; 439 width: 100%; 440 justify-content: space-between; 441 442 > span { 443 font-size: 16px; 444 text-transform: uppercase; 445 line-height: 20px; 446 font-weight: 500; 447 } 448 449 > button { 450 width: 2rem; 451 height: 4rem; 452 background: none; 453 border: 0; 454 cursor: pointer; 455 } 456 } 457 458 /* Filter modal */ 459 .filters-grid-wrapper > div:first-child { 460 display: block; 461 position: fixed; 462 top: 0; 463 left: -40rem; 464 background-color: white; 465 padding: 0 4rem; 466 z-index: 9999; 467 width: calc(40rem - 2 * 4rem); 468 overflow-Y: auto; 469 scrollbar-width: thin; 470 height: 100%; 471 472 &.fs-filters-opened { 473 transition: all .3s ease-in-out; 474 } 475 } 476 477 .filters-container { 478 margin-top: 0 !important; 479 position: static; 480 } 481 482 .fs-filters-removable-tags { 483 min-height: 4rem; 484 485 &::before { 486 content: unset; 487 } 488 } 489 490 .category-container { 491 border-width: 0px 0px 1px 0; 492 border-color: var(--fs-border-color); 493 margin-bottom: 1rem; 494 495 .category-title-wrapper { 496 padding-inline: 0 !important; 497 } 498 499 .category-title-wrapper, .category-items:not(.collapsed) { 500 padding-bottom: 1rem; 501 } 502 503 .category-title-wrapper:hover { 504 background-color: unset; 505 } 506 507 .category-title-wrapper span { 508 font-size: 1.3rem; 509 font-weight: 500; 510 text-transform: uppercase; 511 letter-spacing: 1px; 512 color: rgba(var(--color-foreground),.75); 513 } 514 515 .category-items { 516 padding-inline: 0 !important; 517 } 518 .category-items:not(.collapsed) { 519 max-height: 150px; 520 } 521 522 .category-items > span { 523 padding-block: .5rem; 524 } 525 526 .checkbox { 527 margin: 0; 528 } 529 530 .filters-option-text { 531 letter-spacing: .75px; 532 font-size: 1.3rem; 533 color: rgba(var(--color-foreground),.75) !important; 534 } 535 } 536 537 /* Sort */ 538 .select-wrapper { 539 height: unset; 540 541 &::before { 542 content: unset; 543 } 544 545 .select { 546 width: 100% !important; 547 min-width: unset !important; 548 border-width: 0px 0px 1px 0; 549 display: block; 550 } 551 552 .select:has(.custom-options.open) { 553 /* border-width: 0; */ 554 } 555 556 .select__trigger { 557 padding: 0 0 1rem; 558 height: 40px; 559 width: calc(100%); 560 } 561 562 .select__trigger > span:first-child { 563 font-size: 1.3rem; 564 font-weight: 500; 565 text-transform: uppercase; 566 letter-spacing: 1px; 567 color: rgba(var(--color-foreground),.75); 568 } 569 570 .custom-options { 571 width: calc(100% - 2*1.6rem); 572 border-width: 0; 573 transition: all .2s all ease-in-out; 574 padding: 0 1.6rem 1rem; 575 opacity: 1; 576 position: static; 577 margin-block: 0; 578 max-height: 260px; 579 overflow: auto; 580 } 581 582 .custom-options:not(.open) { 583 max-height: 0; 584 padding-bottom: 0; 585 } 586 587 .custom-option { 588 padding: 0; 589 letter-spacing: .75px; 590 font-size: 1.3rem; 591 color: rgba(var(--color-foreground), .75) !important; 592 } 593 } 594 595 #products-grid { 596 grid-template-columns: repeat(4, calc(25% - 1rem * 3 / 4)); 597 margin: 0; 598 gap: 1rem; 599 } 600 601 .fs-bg { 602 position: fixed; 603 background: #00000033; 604 top: 0; 605 left: 0; 606 z-index: 999; 607 width: 100%; 608 height: 100%; 609 transition: opacity .2s ease-in-out; 610 } 611 612 613 .reset-container { 614 position: sticky; 615 display: flex; 616 width: 100%; 617 justify-content: center; 618 padding-block: 3rem; 619 bottom: 0; 620 background: #fff; 621 622 &:empty { 623 display: none; 624 } 625 626 .clear-all-button { 627 position: relative; 628 width: 100%; 629 height: 40px; 630 border: 1px solid #4d4d4d !important; 631 justify-content: center; 632 color: #4d4d4d; 633 } 634 635 .clear-all-button::after { 636 text-decoration: unset; 637 } 638 } 639 640 641 .filter-button { 642 background: none; 643 font-family: inherit; 644 text-transform: uppercase; 645 border: none; 646 font-weight: 500; 647 cursor: pointer; 648 font-size: 12px; 649 letter-spacing: .6px; 650 display: flex; 651 align-items: center; 652 gap: 5px; 653 color: #121212; 654 } 655 656 .grid-wrapper { 657 display: flex; 658 flex-direction: row; 659 height: fit-content; 660 gap: 1rem; 661 position: relative; 662 } 663 664 .svg-wrapper { 665 cursor: pointer; 666 position: relative; 667 } 668 669 .svg-wrapper::after { 670 content: ""; 671 display: inline-block; 672 position: absolute; 673 bottom: 5px; 674 left: 0; 675 width: 24px; 676 height: 1px; 677 background: black; 678 opacity: 0; 679 transition: opacity .1s ease-in-out; 680 } 681 682 .svg-wrapper:has(svg[selected])::after { 683 opacity: 1 684 } 685 686 /* 687 .top-center-container:has(.grid-wrapper svg[grid-column='2'][selected]) ~ #products-grid { 688 grid-template-columns: repeat(2, calc(50% - 1rem * 1 / 2)) 689 } 690 .top-center-container:has(.grid-wrapper svg[grid-column='4'][selected]) ~ #products-grid { 691 grid-template-columns: repeat(4, calc(25% - 1rem * 3 / 4)) 692 } 693 .top-center-container:has(.grid-wrapper svg[grid-column='6'][selected]) ~ #products-grid { 694 grid-template-columns: repeat(6, calc((100% / 6) - 1rem * 5 / 6)) 695 } 696 */ 697 698 &.grid-2 #products-grid { 699 grid-template-columns: repeat(2, calc(50% - 1rem * 1 / 2)); 700 } 701 &.grid-4 #products-grid { 702 grid-template-columns: repeat(4, calc(25% - 1rem * 3 / 4)); 703 } 704 &.grid-6 #products-grid { 705 grid-template-columns: repeat(6, calc((100% / 6) - 1rem * 5 / 6)); 706 } 707 708 /* mobile variants, same idea */ 709 @media screen and (max-width: 821px) { 710 &.grid-2 #products-grid { grid-template-columns: repeat(1, 100%); } 711 &.grid-4 #products-grid { grid-template-columns: repeat(2, calc(50% - 1rem * 1 / 2)); } 712 &.grid-6 #products-grid { grid-template-columns: repeat(3, calc((100% - 2rem) / 3)); } 713 714 &.grid-6 .fs-heart-icon-wrapper { 715 padding: 0; 716 top: 4px; 717 right: 4px; 718 } 719 720 &.grid-6 .fs-heart-icon-wrapper svg { 721 transform: scale(0.75); 722 } 723 } 724 725 .grid-wrapper .svg-wrapper, 726 .grid-wrapper .svg-wrapper svg, 727 .grid-wrapper .svg-wrapper svg * { 728 pointer-events: auto; 729 -webkit-tap-highlight-color: transparent; 730 touch-action: manipulation; 731 cursor: pointer; 732 } 733 734 .fs-promo-badge { 735 position: absolute; 736 top: 0; 737 pointer-events: none; 738 } 739 740 .fs-promo-badge:has(.mss-promo-badge) { 741 padding: 1rem; 742 left: 0; 743 } 744 745 .mss-promo-badge { 746 background: #990000; 747 padding: 6px; 748 color: #FFF; 749 border-radius: 3px; 750 font-size: 8px; 751 } 752 753 &.grid-6 .fs-promo-badge:has(.mss-promo-badge) { 754 padding: unset; 755 padding-left: 4px; 756 } 757 758 &.grid-6 .mss-promo-badge { 759 font-size: 6px; 760 } 761 762 span.buttons-wrapper { 763 display: none; 764 } 765 766 .info-container { 767 background: var(--gradient-background); 768 z-index: 10; 769 grid-template-areas: "title title title title" "compare compare compare compare" "colorSwatches colorSwatches colorSwatches colorSwatches" "price price price price" "discount discount discount discount" !important; 770 } 771 772 .fs-price-discount { 773 grid-area: discount; 774 } 775 776 .size-overlay-container, .promo-overlay-container { 777 display: flex; 778 flex-direction: row; 779 justify-content: space-evenly; 780 width: 100%; 781 position: absolute; 782 bottom: -32px; 783 background: #ffffffe5; 784 z-index: 5; 785 transition: bottom .3s ease-in-out; 786 padding-block: 5px; 787 } 788 789 .size-text { 790 font-size: 12px; 791 } 792 793 .size-text[unavailable] { 794 color:rgba(0, 0, 0, 0.49) 795 } 796 797 .promo-overlay-container { 798 bottom: 0; 799 background: #660000; 800 font-size: 12px; 801 color: #FFFFFF; 802 text-align: center; 803 white-space: pre-line; 804 } 805 806 .product-video { 807 width: 100%; 808 height: 100%; 809 aspect-ratio: var(--image-aspect-ratio); 810 object-fit: var(--image-object-fit); 811 } 812 813 @media screen and (max-width: 821px) { 814 #products-grid { 815 grid-template-columns: repeat(2, calc(50% - 1rem * 1 / 2)); 816 } 817 818 /* 819 .top-center-container:has(.grid-wrapper svg[grid-column='2'][selected]) ~ #products-grid { 820 grid-template-columns: repeat(1, 100%); 821 } 822 .top-center-container:has(.grid-wrapper svg[grid-column='4'][selected]) ~ #products-grid { 823 grid-template-columns: repeat(2, calc(50% - 1rem * 1 / 2)); 824 } 825 .top-center-container:has(.grid-wrapper svg[grid-column='6'][selected]) ~ #products-grid { 826 grid-template-columns: repeat(3, calc((100% - 2rem) / 3)); 827 } 828 */ 829 830 .select-wrapper { 831 display: none; 832 } 833 834 .filters-container .select-wrapper { 835 display: flex; 836 } 837 838 span.buttons-wrapper { 839 display: flex; 840 } 841 842 .filters-modal { 843 scrollbar-gutter: stable; 844 } 845 846 .buttons-wrapper-mobile { 847 flex-direction: row; 848 } 849 850 .fs-top-right-buttons-wrapper { 851 flex-direction: row-reverse; 852 } 853 854 .filters-button-wrapper { 855 border: unset; 856 font-weight: 500; 857 justify-content: flex-end; 858 text-transform: uppercase; 859 color: #121212; 860 } 861 862 .buttons-wrapper > span:first-child { 863 width: fit-content; 864 865 &::before { 866 all: unset; 867 } 868 } 869 870 .filter-mobile-title { 871 font-weight: 500; 872 text-transform: uppercase; 873 display: block; 874 } 875 876 &.grid-2 .fs-promo-badge:has(.mss-promo-badge) { 877 padding: unset; 878 padding-top: 17px; 879 padding-left: 10px; 880 } 881 882 &.grid-4 .fs-promo-badge:has(.mss-promo-badge) { 883 padding: unset; 884 padding-top: 6px; 885 padding-left: 10px; 886 } 887 888 &.grid-6 .fs-promo-badge:has(.mss-promo-badge) { 889 padding: unset; 890 padding-top: 1px; 891 padding-left: 3px; 892 } 893 894 &.grid-2 .mss-promo-badge { 895 font-size: 10px 896 } 897 &.grid-6 .mss-promo-badge { 898 font-size: 7px 899 } 900 901 .promo-overlay-container { 902 font-size: 8px; 903 } 904 } 905 906 #fs_filter_pricediscount .category-items > span:has([aria-label="0"]) { 907 display: none !important; 908 } 909 } 910 911 #fs-recommendation-widget-main { 912 .product-video { 913 width: 100%; 914 height: 100%; 915 aspect-ratio: var(--image-aspect-ratio); 916 object-fit: var(--image-object-fit); 917 } 918 919 .fs-promo-badge { 920 position: absolute; 921 top: 0; 922 pointer-events: none; 923 } 924 925 .fs-promo-badge:has(.mss-promo-badge) { 926 padding: 1rem; 927 left: 0; 928 } 929 930 .mss-promo-badge { 931 background: #990000; 932 padding: 6px; 933 color: #FFF; 934 border-radius: 3px; 935 font-size: 8px; 936 } 937 938 &.grid-6 .fs-promo-badge:has(.mss-promo-badge) { 939 padding: unset; 940 padding-left: 4px; 941 } 942 943 &.grid-6 .mss-promo-badge { 944 font-size: 6px; 945 } 946 } 947</style> 948
949<script> 950 var __fast_options = { with_product_attributes: true , fs_avoid_inject_on_interaction:true}; 951 const plusSign=`<svg id="plusSign" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><image xlink:href="https://cdn.shopify.com/s/files/1/0569/9567/6324/files/add_FILL0_wght400_GRAD0_opsz48_1_8568036f-f0df-43f8-aefc-94b2cdba7f25.svg?v=1663308088" width="20" height="20" /></svg>`; 952 const minusSign=`<svg id="minusSign" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><image xlink:href="https://cdn.shopify.com/s/files/1/0569/9567/6324/files/remove_FILL0_wght400_GRAD0_opsz48_1_29f7eeda-bb2a-4865-b51a-5a9bf9f2e555.svg?v=1663308088" width="20" height="20" /></svg>`; 953 const selectArrow=`<svg id="selectSign" xmlns="http://www.w3.org/2000/svg" width="14" height="14"><image xlink:href="https://www.buttonscarves.com/cdn/shop/t/130/assets/MobileChevronMajor.svg?v=37654210249710488991685500633" width="14" height="14" /></svg>`; 954 const windowMedia = window.matchMedia("(max-width: 821px)") 955 const NewBadges = { 956 957 set: (product, productElement) => { 958 var $badgewapper = `<div class="fs-badges-wrapper"></div>`; 959 960 if (productElement.querySelectorAll(`.fs-badges-wrapper`).length === 0) { 961 productElement.querySelector(".image-wrapper").insertAdjacentHTML('afterBegin', $badgewapper); 962 } 963 const tags = product.tags; 964 965 if(NewBadges.isOnSale(product)) { 966 NewBadges.addLabel(productElement,`<span class="fs_product_text_badge_flag sale">Sale</span>`); 967 } 968 969 if(NewBadges.isSoldOut(product)) { 970 //NewBadges.addLabel(productElement,`<span class="fs_product_text_badge_flag sold-out">SOLD OUT</span>`); 971 NewBadges.addLabel(productElement,`<a href="${product.productURL}" class="fs_product_text_badge_flag sold-out">SOLD OUT</a>`); 972 973 } 974 }, 975 976 addLabel: (productElement, promolabel ) => { 977 const label = productElement.querySelector(`.fs_product_text_badge_flag`); 978 if (label) { 979 label.remove(); 980 } 981 productElement.querySelector(".fs-badges-wrapper").insertAdjacentHTML('afterBegin', promolabel); 982 }, 983 984 isSoldOut: (product) => { 985 return (product && product.isSoldOut) 986 }, 987 988 isOnSale: (product) => { 989 const originalPrice = parseFloat(product.price); 990 const price = parseFloat(product.comparePrice); 991 return price && originalPrice && originalPrice > 0 && price > 0 && price > originalPrice; 992 } 993 994 }; 995 const promoDate = new Date('2026-09-09T00:00:00'); 996 const now = Date.now(); 997 const promoDatePassed = promoDate.getTime() - now; 998 const endPromoDate = new Date('2026-09-12T00:00:00'); 999 const endPromoDatePassed = endPromoDate.getTime() - now; 1000 const imageContainerSelector = '.image-container span span'; 1001 const upsellImageContainerSelector = '.image-wrapper span span'; 1002 1003 function getProductElements(element) { 1004 return [...element.querySelectorAll(`.fs-results-product-card`)]; 1005 } 1006 1007 function getProductElementsWidget(element) { 1008 return [...element.querySelectorAll('.fs-recommendation-product-container')]; 1009 } 1010 1011 function getAttributeValue(att, name) { 1012 if (typeof (att) !== "undefined" && att !== null) { 1013 for (let key in att) { 1014 if (att[key][0] === name) { 1015 return att[key][1][0]; 1016 } 1017 } 1018 } 1019 return ""; 1020 } 1021 1022 function formatPrice(price) { 1023 var fromFlag=0; 1024 if(price.includes("From")) 1025 { 1026 fromFlag=1; 1027 } 1028 // Convert price to number and handle cases where it's already a number 1029 const numericPrice = typeof price === 'string' ? parseFloat(price.replace("$","").replace("From ","")) : price; 1030 1031 // Check if the price is a valid number 1032 if (isNaN(numericPrice)) { 1033 return "Invalid price"; 1034 } 1035 1036 // Convert price to string and split into integer and decimal parts 1037 const parts = numericPrice.toFixed(2).toString().split("."); 1038 let formattedPrice = ""; 1039 if(fromFlag==1) 1040 { 1041 formattedPrice="From "; 1042 } 1043 1044 // Format integer part 1045 const integerPart = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); 1046 formattedPrice += "Rp " + integerPart; 1047 1048 // Add decimal part 1049 formattedPrice += "." + parts[1]; 1050 1051 return formattedPrice; 1052 } 1053 1054 function formatFilterPrice(price) { 1055 if (price == null) return price; 1056 if (price.includes("Rp")) return price; 1057 // Convert price to number and handle cases where it's already a number 1058 const numericPrice = parseFloat(price.replace("$","").replace("Price: ", "")); 1059
1060 // Convert price to string and split into integer and decimal parts 1061 const parts = numericPrice.toFixed(2).toString().split("."); 1062 let formattedPrice = ""; 1063 1064 // Format integer part 1065 const integerPart = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); 1066 formattedPrice += "Rp " + integerPart; 1067 1068 // Add decimal part 1069 formattedPrice += "." + parts[1]; 1070 1071 return formattedPrice; 1072 } 1073 1074 function observeSortTitle(target) { 1075 const TITLE = "Sort By"; 1076 1077 target.textContent = TITLE; // init 1078 1079 function callback (mutationList, observer) { 1080 for (const mutation of mutationList) { 1081 if (mutation.target.textContent != TITLE) mutation.target.textContent = TITLE; 1082 } 1083 }; 1084 1085 const observer = new MutationObserver(callback); 1086 const config = { characterData: false, attributes: false, childList: true, subtree: false }; 1087 1088 observer.observe(target, config); 1089 } 1090 1091 function toggleSidebar(parant) { 1092 const filterModal = parant.querySelector('.filters-grid-wrapper > div:first-child'); 1093 if(filterModal.style.display == "block"){ 1094 filterModal.style.left = -filterModal.offsetWidth + "px"; 1095 setTimeout(() => { 1096 filterModal.style.display = "none" 1097 }, 300) 1098 } else { 1099 filterModal.style.display = "block"; 1100 setTimeout(() => { 1101 filterModal.style.left = 0 + "px" 1102 }, 200) 1103 } 1104
1105 const bg = parant.querySelector('.fs-bg'); 1106 if(bg.style.display == "block") { 1107 bg.style.opacity = 0; 1108 setTimeout(() => { 1109 bg.style.display = "none" 1110 }, 200) 1111 } else { 1112 bg.style.display = "block"; 1113 setTimeout(() => { 1114 bg.style.opacity = 1 1115 }, 200) 1116 } 1117 1118 } 1119 1120 if(!windowMedia.matches){ 1121 function changeFilterSortToSidebar(parant) { 1122 const filterGridWrapper = parant.querySelector('.filters-grid-wrapper'); 1123 const filterModal = parant.querySelector('.filters-grid-wrapper > div:first-child'); 1124 const filterContainer = filterModal.querySelector('.filters-container'); 1125 const productGrid = parant.querySelector('#products-grid'); 1126 const header = parant.querySelector('.fs-filters-header'); 1127 1128 // 1129 filterModal.classList.add('fs-filters-opened'); 1130 1131 1132 // Add modal header 1133 if (!header) { 1134 const headerTitle = document.createElement("span"); 1135 headerTitle.textContent = "Filter and Sort"; 1136 1137 const headerClose = document.createElement("button"); 1138 headerClose.textContent = "X"; 1139 headerClose.addEventListener("click", function() { 1140 toggleSidebar(parant); 1141 }); 1142 1143 const header = document.createElement("div"); 1144 header.classList.add("fs-filters-header"); 1145 1146 header.appendChild(headerTitle); 1147 header.appendChild(headerClose); 1148 1149 filterModal.insertBefore(header, filterContainer); 1150 filterModal.style.display = 'none'; 1151 } 1152 1153 // Layouting sort
1154 const sortContainer = parant.querySelector('.fs-select-wrapper'); 1155 if (sortContainer != null && filterContainer.querySelector('.fs-select-wrapper') == null) filterContainer.appendChild(sortContainer); 1156 1157 // Add Sidebar shadow background 1158 if (filterGridWrapper.querySelector('.fs-bg') == null) { 1159 const bg = document.createElement("div"); 1160 bg.classList.add('fs-bg'); 1161 bg.style.display = 'none'; 1162 bg.addEventListener("click", function() { 1163 toggleSidebar(parant); 1164 }); 1165 filterGridWrapper.appendChild(bg); 1166 } 1167 } 1168 1169 // Show size on hover collection function 1170 function showSize(sizesOverlay, sizes, fsImageWrapper) { 1171 if(sizes.length > 1) { 1172 if (!sizesOverlay) { 1173 const sizesOverlay = document.createElement('div'); 1174 sizesOverlay.classList.add('size-overlay-container'); 1175 1176 sizes.forEach(size => { 1177 const sizeContent = document.createElement('span') 1178 sizeContent.classList.add('size-text'); 1179 if(!size.attributes.Sellable) { 1180 sizeContent.setAttribute('unavailable', ''); 1181 } 1182 sizeContent.textContent = size.attributes.Size; 1183 sizesOverlay.appendChild(sizeContent); 1184 }) 1185 fsImageWrapper.appendChild(sizesOverlay); 1186 setTimeout(() => { 1187 sizesOverlay.style.bottom = 0 + "px"; 1188 }, 300); 1189 } else { 1190 setTimeout(() => { 1191 sizesOverlay.style.bottom = 0 + "px"; 1192 }, 1); 1193 } 1194 } else return 1195 } 1196 1197 // Hide size on hover 1198 function hideSize(sizesOverlay) { 1199 if(!sizesOverlay) return; 1200 sizesOverlay.style.bottom = -sizesOverlay.offsetHeight + "px"; 1201 } 1202 } 1203 1204 function showPromoOverlay(promoOverlay, fsImageWrapper) { 1205 if(!promoOverlay) { 1206 const promoOverlay = document.createElement("div"); 1207 promoOverlay.classList.add('promo-overlay-container'); 1208 const promoSpan = document.createElement("span"); 1209 1210 promoOverlay.appendChild(promoSpan); 1211 fsImageWrapper.appendChild(promoOverlay) 1212 } else return 1213 } 1214 1215 function retractPromoOverlay(promoOverlay) { 1216 if(!promoOverlay) return; 1217 promoOverlay.style.bottom = 0 + "px"; 1218 } 1219 1220 function overrideCategoryEvent(parant) { 1221 // Override sort click event
1222 const sortSelect = parant.querySelector('.fs-select-wrapper'); 1223 if (sortSelect && sortSelect?.dataset.clickEvent != "true") { 1224 sortSelect.addEventListener('click', function() { 1225 this.dataset.sortOpen = this.classList.contains('fs-sort-options-open').toString(); 1226 }); 1227 sortSelect.dataset.clickEvent = "true"; 1228 } 1229 1230 const categorySelects = parant.querySelectorAll('.fs-category-title'); 1231 if (categorySelects) { 1232 categorySelects.forEach(select => { 1233 select.addEventListener('click', function(event) { 1234 const sortSelect = parant.querySelector('.fs-select-wrapper'); 1235 if (sortSelect.dataset.sortOpen == "true" && !sortSelect.classList.contains('fs-sort-options-open')) { 1236 sortSelect.click(); 1237 } 1238 }) 1239 }) 1240 } 1241 } 1242 1243 // Add grid layout switch 1244 function addGridLayoutSwitch(parant) { 1245 const gridSpan = parant.querySelector('.grid-wrapper'); 1246 const container = !windowMedia.matches ? parant.querySelector('.top-center-container') : parant.querySelector('.f
1246s-top-right-buttons-wrapper'); 1247 if(!gridSpan && container) { 1248 const gridSpan = document.createElement('span'); 1249 const gridOptions = ['<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#121212" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-icon lucide-square"><rect width="18" height="18" x="3" y="3" rx="2"/></svg>', '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#121212" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-columns2-icon lucide-columns-2" selected><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M12 3v18"/></svg>', '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#121212" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grid2x2-icon lucide-grid-2x2"><path d="M12 3v18"/><path d="M3 12h18"/><rect x="3" y="3" width="18" height="18" rx="2"/></svg>'] 1250 gridSpan.classList.add('grid-wrapper'); 1251 for(let i=0; i < gridOptions.length; i++){ 1252 const gridOption = '<div class="svg-wrapper">' + gridOptions[i] + '</div>' 1253 gridSpan.insertAdjacentHTML(i > 0 ? 'beforeend' : 'afterbegin', gridOption); 1254 } 1255 container.appendChild(gridSpan); 1256 const gridOptionsElements = parant.querySelectorAll('.svg-wrapper svg'); 1257 setGridSelect(gridOptionsElements); 1258 } 1259 } 1260 1261 // Add grid column attribute 1262 function selectGrid(parant) { 1263 const gridOptions = parant.querySelectorAll('.svg-wrapper svg'); 1264 for (let i = 0; i < gridOptions.length; i++) { 1265 gridOptions[i].setAttribute('grid-column', (i+1) * 2); 1266 } 1267 } 1268 1269 // Clear selected grid 1270 function clearSelected(gridOptions) { 1271 gridOptions.forEach((grid) => { 1272 grid.removeAttribute('selected') 1273 }) 1274 } 1275 1276 function setGridClass(root, cols) { 1277 root.classList.remove('grid-2','grid-4','grid-6'); 1278 root.classList.add(`grid-${cols}`); 1279 // nudge Safari/iOS to repaint immediately 1280 // eslint-disable-next-line no-unused-expressions 1281 document.body.offsetHeight; 1282 } 1283 1284 // Set grid select 1285 function setGridSelect(gridOptions) { 1286 const wrapper = gridOptions[0]?.closest('.grid-wrapper'); 1287 const pageRoot = gridOptions[0]?.closest('#fs-serp-page'); 1288 if (!wrapper || !pageRoot) return; 1289 1290 // remove older listeners if re-rendered 1291 if (wrapper.dataset.gridBound === 'true') return; 1292 wrapper.dataset.gridBound = 'true'; 1293 1294 const handler = (e) => { 1295 const svg = e.target.closest('.svg-wrapper svg'); 1296 if (!svg) return; 1297 1298 const cols = svg.getAttribute('grid-column'); // "2", "4", or "6" 1299 if (!cols) return; 1300 1301 clearSelected([...wrapper.querySelectorAll('.svg-wrapper svg')]); 1302 svg.setAttribute('selected', ''); // just for your underline effect 1303 setGridClass(pageRoot, cols); // the real layout switch 1304 // alert('set grid'); // if you still want the alert 1305 }; 1306 1307 // Support both touch and click on iOS 1308 wrapper.addEventListener('touchend', handler, { passive: true }); 1309 wrapper.addEventListener('click', handler, { passive: true }); 1310 } 1311 1312 1313 if(!windowMedia.matches){ 1314 // Add filter button 1315 function addFilterButton(parant) { 1316 const filterBtn = parant.querySelector(".filter-button"); 1317 const container = parant.querySelector('.top-center-container'); 1318 if(!filterBtn && container) { 1319 const filterBtn = document.createElement("button"); 1320 filterBtn.classList.add("filter-button") 1321 filterBtn.innerHTML = ` 1322 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#121212" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings2-icon lucide-settings-2"><path d="M14 17H5"/><path d="M19 7h-9"/><circle cx="17" cy="17" r="3"/><circle cx="7" cy="7" r="3"/></svg> 1323 Filter and Sort`; 1324 filterBtn.addEventListener("click", function() { 1325 toggleSidebar(parant); 1326 }) 1327 container.insertAdjacentElement('afterbegin', filterBtn); 1328 1329 } 1330 } 1331 1332 1333 } 1334 1335 function filterDropdownToggle(listContainer, arrowCon, collapsed) { 1336 if(listContainer.classList.contains(collapsed)) { 1337 arrowCon.querySelector("#plusSign").style.display="block"; 1338 arrowCon.querySelector("#minusSign").style.display="none"; 1339 } else { 1340 arrowCon.querySelector("#plusSign").style.display="none"; 1341 arrowCon.querySelector("#minusSign").style.display="block"; 1342 } 1343 } 1344 1345 function showResetFilter(parant) { 1346 if(parant.querySelector('.removable-tags-wrapper')){ 1347 const tagsWrapper = parant.querySelector('.removable-tags-wrapper')
1348 const filterModal = parant.querySelector('.filters-grid-wrapper > div:first-child'); 1349 const filterContainer = parant.querySelector('.filters-container') 1350 1351 if(tagsWrapper.children.length >= 2) { 1352 const resetBtn = parant.querySelector('.clear-all-button'); 1353 if(!parant.querySelector('.reset-container')){ 1354 const resetContainer = document.createElement("div"); 1355 resetContainer.classList.add("reset-container"); 1356 if(!windowMedia.matches){ 1357 filterModal.appendChild(resetContainer) 1358 } else { 1359 filterContainer.appendChild(resetContainer); 1360 } 1361 } 1362 if(parant.querySelector('.reset-container').children.length == 0 && resetBtn) { 1363 parant.querySelector('.reset-container').appendChild(resetBtn); 1364 } 1365 } 1366 } 1367 } 1368 1369 if(windowMedia.matches){ 1370 1371 function moveSortButton(parant){ 1372 if(parant.querySelector('.filters-container')){ 1373 const filterContainer = parant.querySelector('.filters-container'); 1374 const sortButton = parant.querySelector(".select-wrapper"); 1375 if(!filterContainer.querySelector('.select-wrapper')){ 1376 const resetContainer = parant.querySelector('.reset-container'); 1377 if(resetContainer){ 1378 filterContainer.insertBefore(sortButton, resetContainer) 1379 } else { 1380 filterContainer.appendChild(sortButton); 1381 } 1382 } 1383 } 1384 1385 if(parant.querySelector('.filters-modal-wrapper')) { 1386 const filterModalWrapper = parant.querySelector('.filters-modal-wrapper'); 1387 filterModalWrapper.addEventListener("click", (e) => { 1388 const sortButton = parant.querySelector(".select-wrapper"); 1389 if(e.target == e.currentTarget){
1390 parant.querySelector('.fs-top-right-buttons-wrapper').appendChild(sortButton); 1391 } 1392 }) 1393 } 1394 } 1395 1396 1397 function changeMobileFilter(parant) { 1398 if(parant.querySelector('.filters-button-wrapper')){ 1399 const filterButton = parant.querySelector('.filters-button-wrapper') 1400 filterButton.innerHTML = ` 1401 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#121212" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings2-icon lucide-settings-2"><path d="M14 17H5"/><path d="M19 7h-9"/><circle cx="17" cy="17" r="3"/><circle cx="7" cy="7" r="3"/></svg> 1402 Filter and Sort`; 1403 filterButton.addEventListener("click", () => { 1404 moveSortButton(parant); 1405 addHeaderMobileFilter(parant); 1406 }) 1407 } 1408 } 1409 1410 1411 function destroyMobileFilterModal(parant) { 1412 const modalWrapper = parant.querySelector('.filters-modal-wrapper'); 1413 modalWrapper.click(); 1414 } 1415 1416 1417 function addHeaderMobileFilter(parant) {
1418 const header = parant.querySelector('.fs-filters-header-mobile') 1419 1420 if(!header){ 1421 const headerTitle = document.createElement("span"); 1422 headerTitle.textContent = "Filter and Sort"; 1423 headerTitle.classList.add('filter-mobile-title'); 1424 1425 const closeButton = document.createElement("button"); 1426 closeButton.textContent = "X"; 1427 closeButton.addEventListener('click', () => destroyMobileFilterModal(parant)) 1428 1429 const header = document.createElement("div"); 1430 header.classList.add("fs-filters-header-mobile"); 1431 header.appendChild(headerTitle); 1432 header.appendChild(closeButton); 1433 1434 const filterModal = parant.querySelector('.filters-modal'); 1435 if(!filterModal.querySelector('.filter-mobile-title')){ 1436 filterModal.insertAdjacentElement('afterbegin', header); 1437 } 1438 } 1439 } 1440 } 1441 1442 // Promo Buy 1 Get 1 1443 function promoB1G1(element) { 1444 const wrapper = element.querySelector(".image-wrapper"); 1445 1446 const div = document.createElement("div"); 1447 div.classList.add("fs-promo-badge"); 1448 1449 const promoSpan = document.createElement("span"); 1450 promoSpan.textContent = "BUY 1 GET 1"; 1451 promoSpan.classList.add("mss-promo-badge"); 1452 1453 div.appendChild(promoSpan); 1454 wrapper.appendChild(div); 1455 1456 1457 } 1458 1459 1460 1461 1462 1463 function formatNumbersInString(str) { 1464 return str.replace(/\d+/g, (num) => { 1465 return Number(num).toLocaleString() + ".00"; 1466 }); 1467 } 1468 1469 1470 function ensureProductVideo(imageContainer, productElement, hasMp4) { 1471 const containerSpan = productElement.querySelector(imageContainer); 1472 if (!containerSpan) return; 1473 let video = containerSpan.querySelector('video'); 1474 1475 if (!video) { 1476 video = document.createElement('video'); 1477 video.src = hasMp4[0]; 1478 video.autoplay = false; 1479 video.muted = true; 1480 video.controls = false; 1481 video.loop = true; 1482 video.playsInline = true; 1483 video.preload = 'none'; 1484 video.classList.add('product-video'); 1485 1486 containerSpan.appendChild(video); 1487 } 1488 1489 const img = containerSpan.querySelector('img'); 1490 if (img) img.style.display = 'none'; 1491 video.style.display = 'block'; 1492 video.play().catch(() => {}); 1493 } 1494 1495 function hideProductVideo(imageContainer, productElement) { 1496 const containerSpan = productElement.querySelector(imageContainer); 1497 if (!containerSpan) return; 1498 const video = containerSpan.querySelector('video'); 1499 const img = containerSpan.querySelector('img'); 1500 1501 if (video) { 1502 video.pause(); 1503 video.currentTime = 0; 1504 video.style.display = 'none'; 1505 } 1506 if (img) img.style.display = 'block'; 1507 } 1508 1509 function hooks() { 1510 window.SerpOptions.registerHook('serp-product-grid', ({products, element}) => { 1511 const parant=element.closest("#fs-serp-page") 1512 1513 //change currency 1514 var currencyList = document.querySelectorAll('#currencies option'); 1515 // Add event listener to the ul element 1516 currencyList.forEach(currency => { 1517 currency.addEventListener('click', function(event) { 1518 1519 window.location.reload(); 1520 1521 }); 1522 }); 1523 1524 if(parant) 1525 { 1526 //select Arrow 1527 if(parant.querySelector(".select-arrow") && !parant.querySelector(".select-arrow").classList.contains("cstm-sign")) 1528 { 1529 parant.querySelector(".select-arrow").classList.add("cstm-sign"); 1530 parant.querySelector(".select-arrow").insertAdjacentHTML('afterbegin', plusSign); 1531 parant.querySelector(".select-arrow").insertAdjacentHTML('afterbegin', minusSign); 1532 parant.querySelector(".select-arrow #minusSign").style.display="none"; 1533 var observer = new MutationObserver(function(mutationsList, observer) { 1534 mutationsList.forEach(function(mutation) { 1535 if (mutation.attributeName === 'class') { 1536 if(parant.querySelector(".select-arrow .arrow").classList.contains("rotate")) 1537 { 1538 parant.querySelector(".select-arrow #plusSign").style.display="none"; 1539 parant.querySelector(".select-arrow #minusSign").style.display="block"; 1540 } 1541 else 1542 { 1543 parant.querySelector(".select-arrow #plusSign").style.display="block"; 1544 parant.querySelector(".select-arrow #minusSign").style.display="none"; 1545 } 1546 } 1547 }); 1548 }); 1549 // Options for the observer (which mutations to observe) 1550 var config = { attributes: true, attributeFilter: ['class'] }; 1551 // Start observing the target node for configured mutations 1552 observer.observe(parant.querySelector(".select-arrow .arrow") , config); 1553 } 1554 1555 // Observe sort heading title 1556 const sortTitle = parant.querySelector('.select__trigger > .selected-option');; 1557 if (sortTitle) observeSortTitle(sortTitle); 1558 1559 addGridLayoutSwitch(parant); 1560 selectGrid(parant); 1561 if(!windowMedia.matches){ 1562 changeFilterSortToSidebar(parant); 1563 addFilterButton(parant); 1564 } else { 1565 changeMobileFilter(parant); 1566 } 1567 1568 // Override select category dependency to sort expand/collapse 1569 // overrideCategoryEvent(parant); 1570 1571 } 1572 1573 1574 1575 // Hide currency if not changed yet 1576 // if (document.querySelector(".pick_currency .mlcurrent") == undefined) element.querySelectorAll(".price").forEach(el => { el.style.display = "none"; }); 1577 // var waitCsSwitcher = setInterval(function() 1578 // { 1579 // if(document.querySelector(".pick_currency .mlcurrent")) 1580 // { 1581 // element.querySelectorAll(".price").forEach(el => { el.style.display = null; }); 1582 // clearInterval(waitCsSwitcher); 1583 // } 1584 // }, 1000); 1585 1586 for (const productElement of getProductElements(element)) 1587 { 1588 /* get product data */ 1589 const productID = productElement.dataset.productId; 1590 const data = products[productID]; 1591 if(data) 1592 { 1593 const tags = data.attributes; 1594 //remove swatches to beauty products 1595 if(data.attributes) 1596 { 1597 const vendorArr=data.attributes.find(att=>att[0]=="Vendor"); 1598 if(vendorArr && vendorArr.length>1 && vendorArr[1].includes("Buttonscarves Beauty") && productElement.querySelector(".color-swatches-wrapper")) 1599 { 1600 productElement.querySelector(".color-swatches-wrapper").style.display="none"; 1601 } 1602 } 1603 //add variants ID to elements to intagrate wity "try on" app 1604 productElement.querySelectorAll(".color-swatch-container").forEach((swatch)=>{ 1605 if(!swatch.getAttribute("swatch-id")) 1606 { 1607 var colorName=swatch.querySelector(".color-swatch-color-name").innerHTML; 1608 var colorid=data.variants.find(variant=>variant.attributes["Variant.color"]==colorName); 1609 if(colorid) 1610 { 1611 swatch.setAttribute("swatch-id",colorid.id); 1612 swatch.setAttribute("swatch-barcode",colorid.attributes["Barcode"]); 1613 } 1614 } 1615 }); 1616 if(productElement.querySelectorAll(".color-swatch-container").length==0 && data.variants && data.variants[0]) 1617 { 1618 productElement.setAttribute("first-var-id",data.variants[0].id);
1619 productElement.setAttribute("first-var-barcode",data.variants[0].attributes["Barcode"]); 1620 } 1621 1622 // Set video on hover if media consist of video (mp4) 1623 const dataMedias = data.attributes.find((att) => att[0] == 'Product media'); 1624 if (dataMedias != null) { 1625 const hasMp4 = dataMedias[1].filter((media) => media.match(/mp4/i)); 1626 if (hasMp4.length > 0 && !productElement.dataset.videoHoverBound) { 1627 productElement.dataset.videoHoverBound = 'true'; 1628 productElement.addEventListener('mouseenter', () => { 1629 ensureProductVideo(imageContainerSelector, productElement, hasMp4); 1630 }); 1631 1632 productElement.addEventListener('mouseleave', () => { 1633 hideProductVideo(imageContainerSelector, productElement); 1634 }); 1635 } 1636 } 1637 1638 // Buy 1 Get 1 Promo Badge 1639 const badgeElement = productElement.querySelector(".image-wrapper .fs-promo-badge"); 1640 const tagList = tags.find(x => x.at() == "Tag")?.[1]; 1641 const isTagValid = tagList?.some(x => x == "B1G1 Sept"); 1642 1643 1644 if (!badgeElement && isTagValid && promoDatePassed <= 0 && endPromoDatePassed > 0) { 1645 promoB1G1(productElement); 1646 } 1647 1648 1649 1650 1651 1652 1653 //badges 1654 NewBadges.set(data, productElement); 1655 1656 1657 const sizes = data.variants; 1658 1659 productElement.addEventListener("mouseenter", () => { 1660 const sizesOverlay = productElement.querySelector('.size-overlay-container'); 1661 const fsImageWrapper = productElement.querySelector('.f
1661s-serp-image-wrapper'); 1662 showSize(sizesOverlay, sizes, fsImageWrapper); 1663 if (promoDatePassed <= 0 && endPromoDatePassed > 0) { 1664 hideSize(promoOverlay); 1665 } 1666 }) 1667 1668 productElement.addEventListener("mouseleave", () => { 1669 const sizesOverlay = productElement.querySelector('.size-overlay-container'); 1670 hideSize(sizesOverlay); 1671 if (promoDatePassed <= 0 && endPromoDatePassed > 0) { 1672 retractPromoOverlay(promoOverlay); 1673 } 1674 }) 1675 } 1676 1677 // Metafields Discount 1678 if (typeof (data) !== "undefined" && data !== null) { 1679 const tags = data.attributes; 1680 let value = getAttributeValue(data.attributes, "Price.discount"); 1681 let discountInfo = getAttributeValue(data.attributes, "Price.additional info"); 1682 const container = productElement.querySelector(".info-container"); 1683 1684 if (value != "" && parseInt(value) > 0 && container.querySelector(".fs-price-discount") == undefined) { 1685 //convert price 1686 _value = `(${discountInfo}) Rp ${value.replace(/\B(?=(\d{3})+(?!\d))/g,",")}.00`; 1687 1688 const div = document.createElement("span"); 1689 div.classList.add("fs-price-discount"); 1690 div.classList.add("money"); 1691 div.innerHTML = _value; 1692 // div.dataset.currencyIdr="Rp 1,475,000.00"; 1693 // div.dataset.currency="IDR"; 1694 1695 container.insertBefore(div, container.querySelector(".color-swatches-wrapper")); 1696 } 1697 } 1698 1699 //format prices for IND 1700 // if(document.querySelector(".pick_currency .mlcurrent") && document.querySelector(".pick_currency .mlcurrent").innerHTML=="IDR") { 1701 // if(productElement.querySelector(".price") && !productElement.querySelector(".price").classList.contains("csm-formated-price")) 1702 // { 1703 // productElement.querySelector(".price").classList.add("csm-formated-price"); 1704 // productElement.querySelector(".price").innerHTML= formatPrice(removeClutterOnPrice(productElement.querySelector(".price").innerHTML)); 1705 // } 1706 if(productElement.querySelector(".compare") && !productElement.querySelector(".compare").classList.contains("csm-formated-price")) 1707 { 1708 productElement.querySelector(".compare").classList.add("csm-formated-price"); 1709 productElement.querySelector(".compare").innerHTML=formatPrice(productElement.querySelector(".compare").innerHTML); 1710 } 1711 if(productElement.querySelector(".fs-price-discount") && !productElement.querySelector(".fs-price-discount").classList.contains("csm-formated-price")) 1712 { 1713 productElement.querySelector(".fs-price-discount").classList.add("csm-formated-price"); 1714 // productElement.querySelector(".fs-price-discount").innerHTML= "(Now) " + formatPrice(productElement.querySelector(".fs-price-discount").innerHTML); 1715 } 1716 1717 { 1718 const rn = element.getRootNode(); 1719 let s = rn.querySelector && rn.querySelector('#price-wrapper-1-style'); 1720 if (!s) { 1721 s = document.createElement('style'); 1722 s.id = 'price-wrapper-1-style'; 1723 s.textContent = '.price-wrapper-1{display:contents!important}'; 1724 (rn.appendChild ? rn.appendChild(s) : document.head.appendChild(s)); 1725 } 1726 1727 const info = productElement.querySelector('.info-container'); 1728 if (info) { 1729 const t = info.querySelector('a.title-container'); 1730 const p = info.querySelector('.price-container, .price'); 1731 if (t && p) { 1732 let w = info.querySelector('.price-wrapper-1'); 1733 if (!w) { 1734 w = document.createElement('div'); 1735 w.className = 'price-wrapper-1'; 1736 t.insertAdjacentElement('afterend', w); 1737 } else if (w.previousElementSibling !== t) { 1738 t.insertAdjacentElement('afterend', w); 1739 }
1740 const d = info.querySelector('.fs-price-discount'); 1741 if (d && d.parentElement !== w) w.appendChild(d); 1742 if (p.parentElement !== w) w.appendChild(p); 1743 } 1744 } 1745 } 1746 1747 const mainEl2 = document.querySelector('#fast-simon-serp-app'); 1748 const priceTexts = mainEl2.shadowRoot.querySelectorAll('#fs-filter-collapsed-content-Price .filters-option-text'); 1749 priceTexts?.forEach((text) => { 1750 const arr = text.innerHTML.split(" - "); 1751 const _text = formatFilterPrice(arr[0]) + " - " + formatFilterPrice(arr[1]); 1752 text.innerHTML = _text; 1753 }) 1754 // } 1755 } 1756 });//end grid hook 1757 1758 window.SerpOptions.registerHook('serp-filters', ({facets, element}) => { 1759 const parant = element.closest("#fs-serp-page") 1760 //add plus\minus signs to filter title 1761 element.querySelectorAll(".fs-category-title-arrow").forEach((arrowCon)=> 1762 { 1763 const listContainer = arrowCon.parentNode.parentNode.nextElementSibling; 1764 if(!arrowCon.classList.contains("cstm-signs")) 1765 { 1766 arrowCon.classList.add("cstm-signs"); 1767 arrowCon.insertAdjacentHTML('afterbegin', minusSign); 1768 arrowCon.insertAdjacentHTML('afterbegin', plusSign); 1769 filterDropdownToggle(listContainer, arrowCon, "collapsed") 1770 var observer = new MutationObserver(function(mutationsList, observer) { 1771 mutationsList.forEach(function(mutation) { 1772 if (mutation.attributeName === 'class') { 1773 filterDropdownToggle(listContainer, arrowCon, "collapsed") 1774 } 1775 }); 1776 }); 1777 // Options for the observer (which mutations to observe) 1778 var config = { attributes: true, attributeFilter: ['class'] }; 1779 // Start observing the target node for configured mutations 1780 observer.observe(arrowCon.querySelector(".arrow") , config); 1781 } 1782 }); 1783 1784 // Show reset filter button 1785 showResetFilter(parant) 1786 1787 if(windowMedia.matches){ 1788 1789 1790 } 1791 1792 //lock filters when one is selected 1793 element.querySelectorAll(".category-items").forEach((categoryItems)=> 1794 { 1795 //for regular filters 1796 // if(categoryItems.querySelector(".fs-selected-checkbox")) 1797 // { 1798 // categoryItems.querySelectorAll(".fs-checkbox:not(.fs-selected-checkbox)").forEach((option)=>{ 1799 // option.parentNode.style.pointerEvents= "none"; 1800 // option.style.opacity="0.65"; 1801 // }); 1802 // } 1803 // else 1804 // { 1805 // categoryItems.querySelectorAll(".fs-checkbox").forEach((option)=>{ 1806 // option.parentNode.style.pointerEvents= "unset"; 1807 // option.style.opacity="1"; 1808 // }); 1809 // } 1810 //for swatches 1811 if(categoryItems.querySelector(".color-swatch.selected")) 1812 { 1813 categoryItems.querySelectorAll(".color-swatch:not(.selected)").forEach((option)=>{ 1814 option.parentNode.style.pointerEvents= "none"; 1815 option.style.opacity="0.65"; 1816 }); 1817 } 1818 else 1819 { 1820 categoryItems.querySelectorAll(".color-swatch").forEach((option)=>{ 1821 option.parentNode.style.pointerEvents= "unset"; 1822 option.style.opacity="1"; 1823 }); 1824 } 1825 1826 categoryItems.querySelectorAll(".color-swatch.selected").forEach((option)=>{ 1827 option.parentNode.style.pointerEvents= "unset"; 1828 option.style.opacity="1"; 1829 }); 1830 categoryItems.querySelectorAll(".fs-checkbox.fs-selected-checkbox").forEach((option)=>{ 1831 option.parentNode.style.pointerEvents= "unset"; 1832 option.style.opacity="1"; 1833 }); 1834 }); 1835 1836 // price mobile 1837 //format prices for IND 1838 if(document.querySelector(".currency .cs-placeholder.flag-IDR")) { 1839 const mainEl2 = document.querySelector('#fast-simon-serp-app'); 1840 const priceTexts = mainEl2.shadowRoot.querySelectorAll('#fs-filter-collapsed-content-Price .filters-option-text'); 1841 priceTexts?.forEach((text) => { 1842 const arr = text.innerHTML.split(" - "); 1843 const _text = formatFilterPrice(arr[0]) + " - " + formatFilterPrice(arr[1]); 1844 text.innerHTML = _text; 1845 }) 1846 } 1847 1848 1849 1850 if (element.querySelector('#fs_filter_pricediscount .fs-serp-filter-text')) { 1851 element.querySelectorAll('#fs_filter_pricediscount .fs-serp-filter-text').forEach((filterPriceElement) => { 1852 1853 if (filterPriceElement.textContent.indexOf('Rp') == -1) { 1854 filterPriceElement.textContent = 'Rp ' + filterPriceElement.textContent; 1855 }; 1856 if (filterPriceElement.textContent.indexOf(',') == -1 && filterPriceElement.textContent != 'Rp 0') { 1857 filterPriceElement.textContent = formatNumbersInString(filterPriceElement.textContent); 1858 } 1859 }); 1860 } 1861 1862 });//end filters hook 1863 1864 1865 1866 // Register hook for modifying prices in removable-tags elements 1867 window.SerpOptions.registerHook('serp-removable-tags', ({tags, element}) => { 1868 const tagsElements=element.querySelectorAll(".removable-tag-text");
1869 tagsElements.forEach((tag)=>{ 1870 if(tag.textContent.indexOf("SG")==-1 && !isNaN(tag.textContent) && tag.textContent.length > 2) 1871 { 1872 tag.textContent = tag.textContent.replaceAll(/\$/g, 'Rp'); 1873 if(tag.textContent.indexOf("Rp")==-1) 1874 { 1875 1876 tag.textContent = 'Rp '+tag.textContent; 1877 1878 } 1879 if(tag.textContent.indexOf(",")==-1) 1880 { 1881 tag.textContent = formatNumbersInString(tag.textContent); 1882 } 1883 } 1884 }); 1885 }); 1886 } 1887 1888 function hooksAutocomplete() { 1889 FastAutocomplete.registerHook('render-autocomplete-product-item', ({product, index, element}) => { 1890 let productHandle = ''; 1891 if (product && product.handle) { 1892 productHandle = product.handle; 1893 } else if (product && product.u) { 1894 const match = product.u.match(/\/products\/([^/?#]+)/); 1895 if (match) productHandle = match[1]; 1896 } else { 1897 const href = element.getAttribute('href'); 1898 if (href) { 1899 const match = href.match(/\/products\/([^/?#]+)/); 1900 if (match) productHandle = match[1]; 1901 } 1902 } 1903 1904 if (productHandle) { 1905 element.setAttribute('data-product-handle', productHandle);
1906 const priceWrapper = element.querySelector('.fs-product-price-wrapper'); 1907 if (priceWrapper) priceWrapper.setAttribute('data-product-handle', productHandle); 1908 } 1909 1910 setTimeout(() => { if (window.Abra && window.Abra.render) window.Abra.render(); }, 100); 1911 }); 1912 } 1913 1914 function hooksWidget() { 1915 window.FastRecommendationWidget.registerHook('upsell-cross-sell-products', ({products, element}) => { 1916 1917 const wrapPrices = (root) => { 1918 root.querySelectorAll('.product-container.fs-recommendation-product-container').forEach((card, idx) => { 1919 const info = card.querySelector('.info-container'); 1920 if (!info) return; 1921 const titleLink = info.querySelector('a.fs-recommendation-product-title, a.title-container'); 1922 const price = info.querySelector('.fs-recommendation-price-container.price'); 1923 if (!titleLink || !price) return; 1924 1925 const productId = card.getAttribute('data-id'); 1926 const productData = products[productId]; 1927 1928 let productHandle = ''; 1929 if (productData) { 1930 productHandle = productData.handle || productData.productURL?.split('/products/')[1]?.split('?')[0] || ''; 1931 } 1932 1933 if (!productHandle) { 1934 const imageLink = card.querySelector('.image-wrapper a, .upsell-cross-sell-image-container'); 1935 const clickHandler = imageLink?.__vue__?.$listeners?.click || imageLink?.oncl
1935ick; 1936 if (clickHandler) { 1937 const handlerStr = clickHandler.toString(); 1938 const match = handlerStr.match(/\/products\/([^'"\s/?#]+)/); 1939 if (match) productHandle = match[1]; 1940 } 1941 } 1942 1943 info.style.cssText = 'display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important'; 1944 1945 let wrap = info.querySelector('.price-wrapper-1'); 1946 if (!wrap) { 1947 wrap = document.createElement('div'); 1948 wrap.className = 'price-wrapper-1'; 1949 titleLink.insertAdjacentElement('afterend', wrap); 1950 } else if (wrap.previousElementSibling !== titleLink) { 1951 titleLink.insertAdjacentElement('afterend', wrap); 1952 } 1953 1954 wrap.style.cssText = 'display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;text-align:center!important;gap:6px!important;margin:0!important;padding:0!important'; 1955 1956 if (productHandle) { 1957 wrap.setAttribute('data-product-handle', productHandle); 1958 card.setAttribute('data-product-handle', productHandle); 1959 } 1960
1961 const discount = info.querySelector('.fs-price-discount.money'); 1962 if (discount && discount.parentNode !== wrap) wrap.appendChild(discount); 1963 if (discount) discount.style.cssText = 'color:#990000!important;width:100%!important;text-align:center!important;display:block!important;margin:0!important;padding:0!important;order:-1!important'; 1964 1965 if (price.parentNode !== wrap) wrap.appendChild(price); 1966 price.style.cssText = 'width:100%!important;text-align:center!important;display:block!important;margin:0!important;padding:0!important'; 1967 1968 if (discount && discount.nextSibling !== price) wrap.insertBefore(discount, price); 1969 1970 const priceSpan = price.querySelector('.fs-recommendation-product-price'); 1971 if (priceSpan) priceSpan.style.cssText = 'text-align:center!important;display:inline-block!important;width:auto!important;margin:0!important;padding:0!important'; 1972 }); 1973 }; 1974 1975 const applyAndRender = () => { 1976 wrapPrices(element); 1977 setTimeout(() => { if (window.Abra && window.Abra.render) window.Abra.render(); }, 100); 1978 }; 1979 1980 applyAndRender(); 1981 setTimeout(() => applyAndRender(), 50); 1982 setTimeout(() => applyAndRender(), 200); 1983 setTimeout(() => applyAndRender(), 600); 1984 setTimeout(() => applyAndRender(), 1500); 1985 setTimeout(() => applyAndRender(), 3000); 1986 1987 const observer = new MutationObserver(() => { 1988 const cards = element.querySelectorAll('.product-container.fs-recommendation-product-container'); 1989 const hasUnwrapped = Array.from(cards).some(card => { 1990 const info = card.querySelector('.info-container'); 1991 return info && !info.querySelector('.price-wrapper-1'); 1992 }); 1993 if (hasUnwrapped) applyAndRender(); 1994 }); 1995 1996 observer.observe(element, { childList: true, subtree: true }); 1997 1998 // Loop product elements 1999 for (const productElement of getProductElementsWidget(element)) { 2000 2001 // Get product data 2002 const data = products[productElement.dataset.id]; 2003 2004 // Get metafield (price.discount) 2005 let value; 2006 if (typeof (data) !== "undefined" && data !== null) { 2007 value = getAttributeValue(data.attributes, "Price.discount"); 2008 2009 // Set video on hover if media consist of video (mp4) 2010 const dataMedias = data.attributes.find((att) => att[0] == 'Product media'); 2011 if (dataMedias != null) { 2012 const hasMp4 = dataMedias[1].filter((media) => media.match(/mp4/i)); 2013 if (hasMp4.length > 0 && !productElement.dataset.videoHoverBound) { 2014 productElement.dataset.videoHoverBound = 'true'; 2015 productElement.addEventListener('mouseenter', () => { 2016 ensureProductVideo(upsellImageContainerSelector, productElement, hasMp4); 2017 }); 2018 2019 productElement.addEventListener('mouseleave', () => { 2020 hideProductVideo(upsellImageContainerSelector, productElement); 2021 }); 2022 } 2023 } 2024 } 2025 2026 // Check if metafield is not empty or compare at price > 0 2027 const container = productElement.querySelector(".info-container"); 2028 if (value != "" && parseInt(value) > 0 && !container.querySelector(".fs-price-discount")) { 2029 2030 //Format price 2031 let _value = `(Now) Rp ${value.replace(/\B(?=(\d{3})+(?!\d))/g,",")}.00`; 2032 2033 // Create span element 2034 const span = document.createElement("span"); 2035 span.classList.add("fs-price-discount"); 2036 span.classList.add("money"); 2037 span.innerHTML = _value; 2038 2039 // Inject span element 2040 container.insertBefore(span, container.querySelector(".fs-recommendation-price-container")); 2041 } 2042 2043 // Buy 1 Get 1 Promo Badge 2044 const tags = data.attributes; 2045 const badgeElement = productElement.querySelector(".image-wrapper .fs-promo-badge"); 2046 const tagList = tags.find(x => x.at() == "Tag")?.[1]; 2047 const isTagValid = tagList?.some(x => x == "B1G1 Sept"); 2048 2049 2050 2051 if (!badgeElement && isTagValid && promoDatePassed <= 0 && endPromoDatePassed > 0) { 2052 promoB1G1(productElement); 2053 } 2054 2055 if(badgeElement) { 2056 badgeElement.style.position = 'absolute'; 2057 badgeElement.style.top = '0'; 2058 badgeElement.style.pointerEvents = 'none'; 2059 2060 }; 2061 } 2062 2063 }); 2064 } 2065 2066 // execution here 2067 if (window.SerpOptions) { 2068 hooks(); 2069 } else { 2070 window.addEventListener('fast-serp-ready', function () { 2071 hooks(); 2072 }); 2073 } 2074 2075 const applyAutocompleteHandles = () => { 2076 let hasChanges = false;
2077 document.querySelectorAll('.fast-ac-item[data-id]').forEach(card => { 2078 if (card.hasAttribute('data-product-handle')) return; 2079 2080 let productHandle = ''; 2081 const href = card.getAttribute('href'); 2082 if (href) { 2083 const match = href.match(/\/products\/([^/?#]+)/); 2084 if (match) productHandle = match[1]; 2085 } 2086 2087 if (productHandle) { 2088 card.setAttribute('data-product-handle', productHandle); 2089 const priceWrapper = card.querySelector('.fs-product-price-wrapper'); 2090 if (priceWrapper) priceWrapper.setAttribute('data-product-handle', productHandle); 2091 hasChanges = true; 2092 } 2093 }); 2094 2095 if (hasChanges) { 2096 setTimeout(() => { if (window.Abra && window.Abra.render) window.Abra.render(); }, 100); 2097 } 2098 }; 2099 2100 setInterval(applyAutocompleteHandles, 500); 2101 2102 const observeAutocomplete = () => { 2103 const observer = new MutationObserver(() => applyAutocompleteHandles()); 2104 const target = document.body; 2105 if (target) observer.observe(target, { childList: true, subtree: true }); 2106 }; 2107 2108 if (window.FastAutocomplete) { 2109 hooksAutocomplete(); 2110 observeAutocomplete(); 2111 } else { 2112 window.addEventListener('fast-autocomplete-ready', function () { 2113 hooksAutocomplete(); 2114 observeAutocomplete(); 2115 }); 2116 observeAutocomplete(); 2117 } 2118 2119 // upsell crossell widget 2120 if (window.FastRecommendationWidget) { 2121 hooksWidget(); 2122 } else { 2123 window.addEventListener('fast-upsell-cross-sell-ready', function () { 2124 hooksWidget(); 2125 }); 2126 } 2127 2128 (() => { try { 2129 const getRoot = () => { const h = document.querySelector('#fast-simon-serp-app'); return h && h.shadowRoot ? h.shadowRoot : document; }; 2130 const ensureStyle = (r) => { let s = r.getElementById('price-wrapper-1-style'); if (!s) { s = document.createElement('style'); s.id = 'price-wrapper-1-style'; s.textContent = `.price-wrapper-1{display:contents!important}`; r.appendChild(s); } }; 2131 const wrap = (infoSel, titleSel, priceSel, r) => { 2132 r.querySelectorAll(infoSel).forEach(info => { 2133 const title = info.querySelector(titleSel); 2134 const price = info.querySelector(priceSel); 2135 if (!title || !price) return; 2136 let w = info.querySelector('.price-wrapper-1'); 2137 if (!w) { w = document.createElement('div'); w.className = 'price-wrapper-1'; title.insertAdjacentElement('afterend', w); } 2138 else if (w.previousElementSibling !== title) { title.insertAdjacentElement('afterend', w); }
2139 const discount = info.querySelector('.fs-price-discount'); 2140 if (discount && discount.parentElement !== w) w.appendChild(discount); 2141 if (price.parentElement !== w) w.appendChild(price); 2142 }); 2143 }; 2144 const apply = () => { const r = getRoot(); ensureStyle(r); wrap('.fs-results-product-card .info-container', 'a.title-container', '.price, .price-container', r); wrap('.fs-recommendation-product-container .info-container', 'a.title-container', '.fs-recommendation-price-container', r); }; 2145 const waitFor = (sel, tries = 80) => { const r = getRoot(); if (r.querySelector(sel)) { setTimeout(apply, 0); return; } if (tries > 0) setTimeout(() => waitFor(sel, tries - 1), 1000); }; 2146 apply(); 2147 waitFor('#products-grid'); 2148 waitFor('.upsell-cross-sell-product-grid'); 2149 const r = getRoot(); 2150 ['#products-grid', '.upsell-cross-sell-product-grid', '.carousel-container'].forEach(sel => { 2151 const t = r.querySelector(sel); 2152 if (t) new MutationObserver(() => setTimeout(apply, 0)).observe(t, { childList: true, subtree: true }); 2153 }); 2154 } catch (e) {} })(); 2155</script>
2155 2156
2156<script async src="//asset.fwcdn3.com/js/fwn.js" type="text/javascript"></script>
vendor: 1 bytes, line 2156
2156
2157<script> 2158 if (window._fwn?.shopping) { 2159 // if window._fwn?.shopping is loaded before this script tag, use it directly 2160 } else { 2161 document.addEventListener('fw:ready', () => { 2162 async function fetchProductsFromServer(productIds) { 2163 const url = new URL('https://bj-product-list-by-ids.modinity.workers.dev'); 2164 url.searchParams.append('ids', productIds.join(',')); 2165 2166 const response = await fetch(url.toString()); 2167 const result = await response.json(); 2168 2169 const resultMap = result.products.nodes.map((product) => { 2170 const variants = product.variants.nodes.map((variant) => { 2171 const sellableOnlineQuantity = parseInt(variant.sellableOnlineQuantity); 2172 return { 2173 variant_id: variant.id.replace('gid://shopify/ProductVariant/', ''), 2174 price: variant.price.replace('.00', ''), 2175 isAvailable: sellableOnlineQuantity < 1 ? false : true 2176 }; 2177 }); 2178 2179 return { 2180 id: product.id.replace('gid://shopify/Product/', ''), 2181 name: product.title, 2182 price: product.priceRangeV2.minVariantPrice.amount.toString(), 2183 discount_price: product.discountPrice?.value?.toString(), 2184 variants: variants, // calon di delete 2185 }; 2186 }); 2187 2188 if (!response.ok) { 2189 console.error('Fetch error:', response.statusText); 2190 throw new Error('Failed to fetch products'); 2191 } 2192 2193 return resultMap; 2194 } 2195 2196 function updateProducts(products, remoteProducts) { 2197 return products.map((product) => { 2198 const remoteProduct = remoteProducts.find((remoteProduct) => remoteProduct.id == product?.product_ext_id); 2199 if (remoteProduct && remoteProduct?.discount_price != null && remoteProduct?.discount_price != "0") { 2200 return window._fwn.shopping.productFactory((builder) => { 2201 builder.extId(product.product_ext_id); 2202 product.product_units.forEach((variant) => { 2203 const remoteVariant = remoteProduct.variants.find((remoteVariant) => remoteVariant.variant_id == variant.unit_ext_id); 2204 if (remoteVariant) { 2205 builder.variant((variantBuilder) => { 2206 variantBuilder 2207 .extId(variant.unit_ext_id) 2208 .price(remoteProduct.discount_price) 2209 .originalPrice(remoteProduct.price) 2210 .isAvailable(remoteVariant.isAvailable); 2211 }); 2212 } 2213 }); 2214 }); 2215 } else if (remoteProduct && remoteProduct?.discount_price == null) { 2216 return window._fwn.shopping.productFactory((builder) => { 2217 builder.extId(product.product_ext_id); 2218 product.product_units.forEach((variant) => { 2219 const remoteVariant = remoteProduct.variants.find((remoteVariant) => remoteVariant.variant_id == variant.unit_ext_id); 2220 if (remoteVariant) { 2221 builder.variant((variantBuilder) => { 2222 variantBuilder 2223 .extId(variant.unit_ext_id) 2224 .price(remoteVariant.price) 2225 .isAvailable(remoteVariant.isAvailable); 2226 }); 2227 } 2228 }); 2229 }); 2230 } 2231 return null; 2232 }); 2233 } 2234 2235 // Register callback to update product info when products are loaded in the player 2236 window._fwn.shopping.onProductsLoaded(async ({ products }) => { 2237 const productIds = products.map((product) => product.product_ext_id); 2238 const remoteProducts = await fetchProductsFromServer(productIds); 2239 const updatedProducts = updateProducts(products, remoteProducts); 2240 const filterUpdatedProducts = updatedProducts.filter((product) => product != null); 2241 return filterUpdatedProducts; 2242 }); 2243 }); 2244 } 2245</script>
2245 2246 2247
2247<script src="https://cdn.tapcart.com/webbridge-sdk/webbridge.umd.js" defer></script>
2247 2248
2248<script> 2249 var ignore_csapp_cart_reload = true; 2250 </script>
2250 2251 <!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/brandAgents_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea --> 2252 2253 2254
2255<script type="text/javascript"> 2256 (function(d){ 2257 var s = d.createElement('script'); 2258 s.async = true; 2259 s.src = "https://adsagentclientafd-b7hqhjdrf3fpeqh2.b01.azurefd.net/frontendInjection.js"; 2260 var firstScript = d.getElementsByTagName('script')[0]; 2261 firstScript.parentNode.insertBefore(s, firstScript); 2262 })(document); 2263</script>
2263 2264 2265 2266 2267<!-- END app block --><!-- BEGIN app block: shopify://apps/product-filters-search/blocks/autocomplete/95672d06-1c4e-4e1b-9368-e84ce1ad6886 -->
2267<script> 2268 var fast_dawn_theme_action = "/search"; 2269 var __isp_new_jquery = "true" === "true"; 2270</script>
2270 2271 2272 2273 2274 2275 2276 2277
2277<script>var _isp_injected_already = true</script>
2277 2278 <!-- BEGIN app snippet: fast-simon-autocomplete-init -->
2278<script id="autocomplete-initilizer" 2279 src="https://static-autocomplete.fastsimon.com/fast-simon-autocomplete-init.umd.js?mode=shopify&UUID=beb78c0d-e2d8-4f3a-b5e3-0a0ddc2c11e0&store=69907349746" 2280 async> 2281</script>
2281 2282<!-- END app snippet --> 2283�<!-- END app block --><!-- BEGIN app block: shopify://apps/simple-affiliate/blocks/sa-tracker/da6b7ee2-2e27-43e4-9184-0df8dc5be07a --> 2284
2285<script id="saets">(()=>{function _(){return new Promise((t,o)=>{window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],async r=>{r?o(r):window.Shopify.customerPrivacy.userCanBeTracked()?t():document.addEventListener("trackingConsentAccepted",()=>t())})})}var U=4320*60;var s="Affiliate code",E="sacode",a="sa_signup";var i="saetc";var A="sa_email";var c=3600*24*7;function e(t){return new URLSearchParams(window.location?.search).get(t)}function p(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}var n=e(E);if(n){let t={[s]:n};fetch(window.Shopify.routes.root+"cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:t})}).then()}_().then(()=>{n&&(document.cookie=`${i}=${n}_${new Date().getTime()};Path=/;Max-Age=${c}`)});var S=e(A);S&&p(()=>{let t=document.querySelector('form[action="/account/login"] input[type=email]');t&&(t.value=S)});var T=e(a);T!==null&&(document.documentElement.dataset.sasignup="true");})(); 2286</script>
vendor: 1 bytes, line 2286
2286
2287<script> 2288 (() => { 2289 const script = document.createElement("script"); 2290 script.src = "https:\/\/cdn.shopify.com\/extensions\/01a0f442-dfc1-7da3-bf58-470d25d0f370\/SA-901606-ghrun-36780372091-1\/assets\/notification-VY6HYNJC.js"; 2291 document.head.appendChild(script); 2292 })(); 2293</script>
2293 2294 2295<!-- END app block --><!-- BEGIN app block: shopify://apps/firework-shoppable-video-ugc/blocks/firework-header/347a2e4c-f5cb-410d-8354-490d1e80558c --> 2296
2297<script async type="module" src='//asset.fwcdn3.com/js/module/integrations/shopify.js'></script>
2297 2298 2299
2299<script 2300 async 2301 type="module" 2302 src='//asset.fwcdn3.com/js/module/fwn.js?business_id=gXkZWo' 2303 2304 ></script>
2304 2305 2306 2307 2308 2309 2310<!-- END app block --><!-- BEGIN app block: shopify://apps/tapcart-mobile-app/blocks/cart_sync/604cad6b-3841-4da3-b864-b96622b4adb8 --> 2311 2312 2313<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
2314<script type="text/javascript"> 2315 (function (c, l, a, r, i, t, y) { 2316 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 2317 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 2318 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 2319 2320 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 2321 if (error) { 2322 console.error("Error loading Shopify features:", error); 2323 return; 2324 } 2325 2326 c[a]('consentv2', { 2327 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 2328 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 2329 source: 101, 2330 }); 2331 }); 2332 2333 l.addEventListener("visitorConsentCollected", function (e) { 2334 c[a]('consentv2', { 2335 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 2336 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 2337 source: 101, 2338 }); 2339 }); 2340 })(window, document, "clarity", "script", "tm9eixn5pa"); 2341</script>
2341 2342 2343 2344 2345<!-- END app block -->
2345<script src="https://cdn.shopify.com/extensions/01a0f2db-0836-7636-86a1-66d0eb10c673/2026-09-30-15-05-45-UTC--15387e4/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
2345 2346<link href="https://cdn.shopify.com/extensions/01a014b1-6566-7c61-aedf-79a2912282a5/watchlist-145/assets/app-embed-block.css" rel="stylesheet" type="text/css" media="all"> 2347<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2348<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: 69907349746,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "blog"};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>
vendor: 1 bytes, line 2348
2348
2349<script> 2350 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2351</script>
vendor: 1 bytes, line 2351
2351
2352<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-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+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
2352).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 69907349746,storefrontBaseUrl: "https://www.benangjarum.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.benangjarum.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2687893875","configuration":"{\"sh_shop\":\"c03efc-25.myshopify.com\",\"sh_shop_id\":\"69907349746\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"913af02b02ba3bd1e6022c45db467386","type":"APP","apiClientId":2395080,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
2352,"dataSharingState":"unrestricted"},{"id":"1679229299","configuration":"{\"projectId\":\"tm9eixn5pa\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1501888883","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-14HHYZZTBR\\\",\\\"GT-TNSNXQBQ\\\"],\\\"target_country\\\":\\\"ID\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-14HHYZZTBR\\\",\\\"MC-TP2PT8NTN6\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-14HHYZZTBR\\\",\\\"MC-TP2PT8NTN6\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-14HHYZZTBR\\\",\\\"MC-TP2PT8NTN6\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-14HHYZZTBR\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1145602419","configuration":"{\"accountID\":\"beb78c0d-e2d8-4f3a-b5e3-0a0ddc2c11e0\",\"customCartAddEventNames\":\",\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8a1c0ad0b207d676b4a622ea95a64a58","type":"APP","apiClientId":159457,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1061880179","configuration":"{\"swymApiEndpoint\":\"https:\/\/swymstore-v3premium-01.swymrelay.com\",\"swymTier\":\"v3premium-01\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5b6f6917e306bc7f24523662663331c0","type":"APP","apiClientId":1350849,"privacyPurposes":["ANALYTICS","MARKETING","PREFERENCES"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"1053688179","configuration":"{\"accountID\":\"1848772\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c67c427e35bed2216d156eaeeacde779","type":"APP","apiClientId":4870017,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"252018930","configuration":"{\"pixel_id\":\"1673430350061016\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Benang Jarum","paymentSettings":{"currencyCode":"IDR"},"myshopifyDomain":"c03efc-25.myshopify.com","countryCode":"ID","storefrontUrl":"https:\/\/www.benangjarum.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.benangjarum.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"179690078579","themePublished":"true","eventMetadataId":"dd37af62-4c0b-4d70-899d-aa7ffef40778","pageType":"blog","resourceId":"123539161459","shopId":"69907349746","storefrontBaseUrl":"https:\/\/www.benangjarum.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2352<script> 2353 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2354 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2355 window.ShopifyAnalytics.meta.currency = 'IDR'; 2356 var meta = {"page":{"pageType":"blog","resourceType":"blog","resourceId":123539161459,"requestId":"35d897ec-793a-4622-acc5-8e46e2957cd6-1790872031"}}; 2357 for (var attr in meta) { 2358 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2359 } 2360</script>
vendor: 1 bytes, line 2360
2360
2361<script class="analytics"> 2362 (function () { 2363 var customDocumentWrite = function(content) { 2364 var jquery = null; 2365 2366 if (window.jQuery) { 2367 jquery = window.jQuery; 2368 } else if (window.Checkout && window.Checkout.$) { 2369 jquery = window.Checkout.$; 2370 } 2371 2372 if (jquery) { 2373 jquery('body').append(content); 2374 } 2375 }; 2376 2377 var hasLoggedConversion = function(token) { 2378 if (token) { 2379 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2380 } 2381 return false; 2382 } 2383 2384 var setCookieIfConversion = function(token) { 2385 if (token) { 2386 var twoMonthsFromNow = new Date(Date.now()); 2387 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2388 2389 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2390 } 2391 } 2392 2393 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2394 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2395 if (trekkie.integrations) { 2396 return; 2397 } 2398 trekkie.methods = [ 2399 'identify', 2400 'page', 2401 'ready', 2402 'track', 2403 'trackForm', 2404 'trackLink' 2405 ]; 2406 trekkie.factory = function(method) { 2407 return function() { 2408 var args = Array.prototype.slice.call(arguments); 2409 args.unshift(method); 2410 trekkie.push(args); 2411 if (method == 'track' || method == 'page') { 2412 var pageUrl; 2413 try { 2414 pageUrl = window.location.href; 2415 } catch (e) {} 2416 var pageReferrer; 2417 try { 2418 pageReferrer = document.referrer; 2419 } catch (e) {} 2420 try { 2421 if (window.__TREKKIE_SHIM_QUEUE == null) { 2422 window.__TREKKIE_SHIM_QUEUE = []; 2423 } 2424 window.__TREKKIE_SHIM_QUEUE.push({ 2425 from: 'trekkie-stub', 2426 method: method, 2427 args: args.slice(1), 2428 pageContext: { 2429 url: pageUrl, 2430 referrer: pageReferrer 2431 } 2432 }); 2433 } catch (e) { 2434 // no-op 2435 } 2436 } 2437 return trekkie; 2438 }; 2439 }; 2440 for (var i = 0; i < trekkie.methods.length; i++) { 2441 var key = trekkie.methods[i]; 2442 trekkie[key] = trekkie.factory(key); 2443 } 2444 trekkie.load = function(config) { 2445 trekkie.config = config || {}; 2446 trekkie.config.initialDocumentCookie = document.cookie; 2447 var first = document.getElementsByTagName('script')[0]; 2448var script = document.createElement('script'); 2449script.type = 'text/javascript'; 2450script.onerror = function(e) { 2451 var scriptFallback = document.createElement('script'); 2452 scriptFallback.type = 'text/javascript'; 2453 scriptFallback.onerror = function(error) { 2454 var Monorail = { 2455 produce: function produce(monorailDomain, schemaId, payload) { 2456 var currentMs = new Date().getTime(); 2457 var event = { 2458 schema_id: schemaId, 2459 payload: payload, 2460 metadata: { 2461 event_created_at_ms: currentMs, 2462 event_sent_at_ms: currentMs 2463 } 2464 }; 2465 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2466 }, 2467 sendRequest: function sendRequest(endpointUrl, payload) { 2468 // Try the sendBeacon API 2469 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2470 var blobData = new window.Blob([payload], { 2471 type: 'text/plain' 2472 }); 2473 2474 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2475 return true; 2476 } // sendBeacon was not successful 2477 2478 } // XHR beacon 2479 2480 var xhr = new XMLHttpRequest(); 2481 2482 try { 2483 xhr.open('POST', endpointUrl); 2484 xhr.setRequestHeader('Content-Type', 'text/plain'); 2485 xhr.send(payload); 2486 } catch (e) { 2487 console.log(e); 2488 } 2489 2490 return false; 2491 }, 2492 isIos12: function isIos12() { 2493 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2494 } 2495 }; 2496 Monorail.produce('monorail-edge.shopifysvc.com', 2497 'trekkie_storefront_load_errors/1.1', 2498 {shop_id: 69907349746, 2499 theme_id: 179690078579, 2500 app_name: "storefront", 2501 context_url: window.location.href, 2502 source_url: "//www.benangjarum.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2503 2504 }; 2505 scriptFallback.async = true; 2506 scriptFallback.src = '//www.benangjarum.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2507 first.parentNode.insertBefore(scriptFallback, first); 2508}; 2509script.async = true; 2510script.src = '//www.benangjarum.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2511first.parentNode.insertBefore(script, first); 2512 2513 }; 2514 trekkie.load( 2515 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":69907349746,"isMerchantRequest":null,"themeId":179690078579,"themeCityHash":"3431520837850433438","contentLanguage":"en","currency":"IDR","eventMetadataId":"dd37af62-4c0b-4d70-899d-aa7ffef40778"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2516 ); 2517 2518 var loaded = false;
2519 trekkie.ready(function() { 2520 if (loaded) return; 2521 loaded = true; 2522 2523 window.ShopifyAnalytics.lib = window.trekkie; 2524 2525 var originalDocumentWrite = document.write; 2526 document.write = customDocumentWrite; 2527 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2528 document.write = originalDocumentWrite; 2529 2530 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2531 var token = match? match[1]: undefined; 2532 if (!hasLoggedConversion(token)) { 2533 setCookieIfConversion(token); 2534 2535 } 2536 }); 2537 2538 window.ShopifyAnalytics.lib.page(null,{"pageType":"blog","resourceType":"blog","resourceId":123539161459,"requestId":"35d897ec-793a-4622-acc5-8e46e2957cd6-1790872031","shopifyEmitted":true}); 2539 2540 var eventsListenerScript = document.createElement('script'); 2541 eventsListenerScript.async = true; 2542 eventsListenerScript.src = "//www.benangjarum.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2543 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2544})();</script>
vendor: 1 bytes, line 2544
2544
2545<script 2546 defer 2547 src="https://www.benangjarum.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 2548 data-application="storefront-renderer" 2549 data-shop-id="69907349746" 2550 data-render-region="gcp-us-central1" 2551 data-page-type="blog" 2552 data-theme-instance-id="179690078579" 2553 data-theme-name="Dawn" 2554 data-theme-version="7.0.1" 2555 data-monorail-region="shop_domain" 2556 data-resource-timing-sampling-rate="10" 2557 data-shs="true" 2558 data-shs-beacon="true" 2559 data-shs-export-with-fetch="true" 2560 data-shs-logs-sample-rate="1" 2561 data-shs-beacon-endpoint="https://www.benangjarum.com/api/collect" 2562></script>
2562 2563<meta name="shopify-y" content="151b71b2-be85-4e51-b7da-0c1c72656138" data-expiration="1822429631000"><meta name="shopify-s" content="e6e47680-fffe-4790-a974-b21c2fb2b515" data-expiration="1790873831000"><meta name="new-cookie-storage-activated" content="t"> 2564</head> 2565 2566 <body class="gradient"> 2567 2568 2569<div class="splash"> 2570 <img src="//www.benangjarum.com/cdn/shop/t/18/assets/loader_400x300.gif?v=128214497440960192491758167730" width="400" height="300" loading="eager"> 2571</div> 2572 2573 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 2574 Skip to content 2575 </a> 2576 2577 2578 2579
2580<script src="//www.benangjarum.com/cdn/shop/t/18/assets/cart.js?v=21794778278783385971770289665" defer="defer"></script>
2580 2581 2582<style> 2583 .drawer { 2584 visibility: hidden; 2585 } 2586</style> 2587 2588<cart-drawer class="drawer is-empty"> 2589 <div id="CartDrawer" class="cart-drawer"> 2590 <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div> 2591 <div 2592 class="drawer__inner" 2593 role="dialog" 2594 aria-modal="true" 2595 aria-label="Cart" 2596 tabindex="-1" 2597 > 2598 <div class="drawer__header"> 2599 <h2 class="drawer__heading">Cart</h2> 2600 <button 2601 class="drawer__close" 2602 type="button" 2603 onclick="this.closest('cart-drawer').close()" 2604 aria-label="Close" 2605 > 2606 2607<img 2608 src="//www.benangjarum.com/cdn/shop/t/18/assets/CancelMajor.svg?v=60041219913543363481753973551" 2609 width="20" 2610 height="20" 2611 style="filter: brightness(0.3);" 2612> 2613 2614 </button> 2615 </div> 2616 2617<div class="drawer__inner-empty"> 2618 <div class="cart-drawer__warnings "> 2619 <div class="cart-drawer__empty-content"> 2620 <p class="cart__empty-text">Your cart is currently empty.</p> 2621 2622 </div> 2623 </div></div> 2624 2625 <cart-drawer-items 2626 2627 class=" is-empty" 2628 2629 > 2630 <form 2631 action="/cart" 2632 id="CartDrawer-Form" 2633 class="cart__contents cart-drawer__form" 2634 method="post" 2635 > 2636 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p> 2637 <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status"> 2638 Loading... 2639 </p> 2640 </div> 2641 <div id="CartDrawer-CartErrors" role="alert"></div> 2642 </form> 2643 2644 </cart-drawer-items> 2645 <div class="drawer__footer"> 2646 2647<style> 2648 .ns__product-list { 2649 display: flex; 2650 gap: 8px; 2651 overflow-x: auto; 2652 padding-bottom: 10px; 2653 scrollbar-width: none; 2654 } 2655 .ns__product-card { 2656 width: 90%; 2657 display: flex; 2658 gap: 8px; 2659 flex-shrink: 0; 2660 border: 1.5px solid #ccc; 2661 border-radius: 4px; 2662 padding: 8px; 2663 flex-wrap: wrap; 2664 } 2665 .ns__product-image { 2666 width: 48px; 2667 } 2668 .ns__product-image img { 2669 width: 100%; 2670 height: auto; 2671 vertical-align: middle; 2672 } 2673 .ns__product-content { 2674 display: flex; 2675 flex-direction: column; 2676 width: calc(100% - 48px - 8px); 2677 } 2678 .ns__product-card form { 2679 width: 100%; 2680 } 2681 .ns__product-card button { 2682 width: 100%; 2683 cursor: pointer; 2684 font-size: 12px; 2685 min-height: 40px; 2686 } 2687 </style> 2688 2689 2690 2691 <!-- Start blocks --> 2692 <!-- Subtotals --> 2693 2694 <div class="cart-drawer__footer" > 2695 <div class="totals" role="status"> 2696 <h2 class="totals__subtotal">Subtotal</h2> 2697 <p class="totals__subtotal-value csapps-cart-original-total"> 2698 <span class=money>Rp 0</span> 2699 </p> 2700 </div> 2701 2702 <div></div> 2703 2704 <small class="tax-note caption-large rte">Tax included. <a href="/policies/shipping-policy">Shipping</a> calculated at checkout. 2705</small> 2706 2707 2708 </div> 2709 2710 2711 2712 2713 2714 <!-- CTAs --> 2715 2716 <!-- 2717 <div class="cart__ctas" > 2718 2719 <button 2720 type="button" 2721 class="cart__checkout-button button uppercase" 2722 onclick="arrow_clicked_wrapper('cart')" 2723 2724 disabled 2725 2726 > 2727 Check out 2728 </button> 2729 2730 </div> 2731 --> 2732 2733 <div class="cart__ctas" style="margin-top: 10px"> 2734 <noscript> 2735 <button type="submit" class="cart__update-button button button--secondary" form="CartDrawer-Form"> 2736 Update 2737 </button> 2738 </noscript> 2739 2740 <button 2741 type="submit" 2742 id="CartDrawer-Checkout" 2743 class="cart__checkout-button button uppercase" 2744 name="checkout" 2745 form="CartDrawer-Form" 2746 2747 disabled 2748 2749 2750 > 2751 Check out 2752 </button> 2753 </div> 2754 </div> 2755 </div> 2756 </div> 2757</cart-drawer> 2758
2759<script> 2760 document.addEventListener('DOMContentLoaded', function () { 2761 function isIE() { 2762 const ua = window.navigator.userAgent; 2763 const msie = ua.indexOf('MSIE '); 2764 const trident = ua.indexOf('Trident/'); 2765 2766 return msie > 0 || trident > 0; 2767 } 2768 2769 if (!isIE()) return; 2770 const cartSubmitInput = document.createElement('input'); 2771 cartSubmitInput.setAttribute('name', 'checkout'); 2772 cartSubmitInput.setAttribute('type', 'hidden'); 2773 document.querySelector('#cart').appendChild(cartSubmitInput); 2774 document.querySelector('#checkout').addEventListener('click', function (event) { 2775 document.querySelector('#cart').submit(); 2776 }); 2777 }); 2778</script>
2778 2779 2780 2781<div id="shopify-section-header" class="shopify-section section-header"> 2782<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-menu.css?v=1377882605498385961753973572" media="print" onload="this.media='all'"> 2783<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-search.css?v=96455689198851321781753973581" media="print" onload="this.media='all'"> 2784<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-menu-drawer.css?v=128412777076528941971753973574" media="print" onload="this.media='all'"> 2785<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-notification.css?v=183358051719344305851753973559" media="print" onload="this.media='all'"> 2786<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-items.css?v=75495332402118636551753973559" media="print" onload="this.media='all'"> 2787<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-header-custom.css?v=156708554445873170951779603029" media="print" onload="this.media='all'"><link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-price.css?v=95920080398180839201753973578" media="print" onload="this.media='all'"> 2788 <link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-loading-overlay.css?v=34495889921453040741753973574" media="print" onload="this.media='all'"><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-drawer.css?v=75095319197558621753973557" rel="stylesheet" type="text/css" media="all" /> 2789 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart.css?v=91431483652509823061753973560" rel="stylesheet" type="text/css" media="all" /> 2790 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-totals.css?v=27010040447872204751753973583" rel="stylesheet" type="text/css" media="all" /> 2791 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-price.css?v=95920080398180839201753973578" rel="stylesheet" type="text/css" media="all" /> 2792 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-discounts.css?v=16005090338251771961753973570" rel="stylesheet" type="text/css" media="all" /> 2793 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-loading-overlay.css?v=34495889921453040741753973574" rel="stylesheet" type="text/css" media="all" /> 2794<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-menu.css?v=1377882605498385961753973572" rel="stylesheet" type="text/css" media="all" /></noscript> 2795<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-search.css?v=96455689198851321781753973581" rel="stylesheet" type="text/css" media="all" /></noscript> 2796<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-menu-drawer.css?v=128412777076528941971753973574" rel="stylesheet" type="text/css" media="all" /></noscript> 2797<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-notification.css?v=183358051719344305851753973559" rel="stylesheet" type="text/css" media="all" /></noscript> 2798<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-items.css?v=75495332402118636551753973559" rel="stylesheet" type="text/css" media="all" /></noscript> 2799 2800<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-header-custom.css?v=156708554445873170951779603029" rel="stylesheet" type="text/css" media="all" /></noscript><style data-shopify>.header { 2801 padding-top: 11px; 2802 padding-bottom: 11px; 2803 } 2804 2805 .section-header { 2806 margin-bottom: 0px; 2807 } 2808 2809 @media screen and (min-width: 750px) { 2810 .section-header { 2811 margin-bottom: 0px; 2812 } 2813 } 2814 2815 .announcement-bar { 2816 z-index: 3; 2817 border: none; 2818 background-color: #A4A4A4; 2819 flex-shrink: 0; 2820 width: 100%; 2821 scroll-snap-align: start; 2822 } 2823 2824 .brand-link.active { 2825 background-color: #A4A4A4; 2826 color: ; 2827 border-radius: 8px 8px 0 0; 2828 } 2829 2830 @media only screen and (max-width: 989px) { 2831 .brand-link { 2832 color: #fff; 2833 background-color: #A4A4A4; 2834 align-content: center; 2835 justify-content: center; 2836 align-items: center; 2837 flex: 1 0 0; 2838 font-size: 10px; 2839 padding: 17.5px 12px; 2840 text-align: center; 2841 font-weight: 600; 2842 margin: 0; 2843 } 2844 }</style>
2844<script src="//www.benangjarum.com/cdn/shop/t/18/assets/details-disclosure.js?v=154688851184604223101753973588" defer="defer"></script>
vendor: 1 bytes, line 2844
2844
2845<script src="//www.benangjarum.com/cdn/shop/t/18/assets/details-modal.js?v=4511761896672669691753973588" defer="defer"></script>
vendor: 1 bytes, line 2845
2845
2846<script src="//www.benangjarum.com/cdn/shop/t/18/assets/cart-notification.js?v=160453272920806432391753973552" defer="defer"></script>
2846<script src="//www.benangjarum.com/cdn/shop/t/18/assets/cart-drawer.js?v=44260131999403604181753973551" defer="defer"></script>
2846<script src="https://cdn.tapcart.com/webbridge-sdk/webbridge.umd.js" defer="defer"></script>
2846 2847 2848<svg xmlns="http://www.w3.org/2000/svg" class="hidden"> 2849 <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> 2850 <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/> 2851 </symbol> 2852 2853 <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 2854 <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor"> 2855 </symbol> 2856</svg> 2857 2858<div class="announcement-bar-wrapper"><div 2859 style="order: 0;" 2860 class="announcement-bar" 2861 role="region" 2862 2863 ><a 2864 href="https://account.benangjarum.com/authentication/login?_s=4aa15a29-6f82-41fb-a02d-e619cabde8d6&_y=b6e33cb9-38e6-4840-bea8-d75533a7c6da&analytics_trace_id=40498548-d716-4cb8-a4aa-dae328eb1293&client_id=a64f9e7e-d43c-41c9-bafb-bd0acf66cd8c&locale=en-ID&redirect_uri=%2Fauthentication%2Foauth%2Fauthorize%3F_s%3D4aa15a29-6f82-41fb-a02d-e619cabde8d6%26_y%3Db6e33cb9-38e6-4840-bea8-d75533a7c6da%26analytics_trace_id%3D40498548-d716-4cb8-a4aa-dae328eb1293%26buyer_flags%3DeyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMDNlZmMtMjUubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzg5NDkwODU3LCJuYmYiOjE3ODg4ODYwNTd9.zdjcIyMRCKka7YtqBJYfWLbNK9xMnO29uA1bbBISToY%26client_id%3Da64f9e7e-d43c-41c9-bafb-bd0acf66cd8c%26locale%3Den-ID%26nonce%3Dff7acf29-157f-4b8f-9b2e-da99580b0493%26redirect_uri%3Dhttps%253A%252F%252Faccount.benangjarum.com%252Fcallback%26region_country%3DID%26response_type%3Dcode%26scope%3Dopenid%2Bemail%2Bcustomer-account-api%253Afull%26state%3DhWNGbJyJerQVLErQxhrhgCif®ion_country=ID" 2865 class="announcement-bar__link link link--text focus-inset animate-arrow" 2866 ><p class="announcement-bar__message center h5"> 2867 GET 10% OFF ON YOUR FIRST PURCHASE. SIGN UP NOW! T&Cs APPLY. 2868 </p></a></div></div> 2869 2870<sticky-header id="header" class="header-wrapper color-background-1 gradient"> 2871 <header class="header header--middle-center header--mobile-center header--has-menu"><header-drawer> 2872 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 2873 <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu"> 2874 <span> 2875 <svg class="icon icon-hamburger" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M0 80C0 71.16 7.164 64 16 64H432C440.8 64 448 71.16 448 80C448 88.84 440.8 96 432 96H16C7.164 96 0 88.84 0 80zM0 240C0 231.2 7.164 224 16 224H432C440.8 224 448 231.2 448 240C448 248.8 440.8 256 432 256H16C7.164 256 0 248.8 0 240zM432 416H16C7.164 416 0 408.8 0 400C0 391.2 7.164 384 16 384H432C440.8 384 448 391.2 448 400C448 408.8 440.8 416 432 416z"/></svg> 2876 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"> 2877 <path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"></path> 2878</svg> 2879 2880 </span> 2881 </summary> 2882 <div id="menu-drawer" class="gradient menu-drawer motion-reduce" > 2883 <div class="menu-drawer__inner-container"> 2884 <div class="menu-drawer__navigation-container"> 2885 <div class="menu-drawer__action"> 2886 <div class="drawer-left"> 2887 <button type="button" class="menu-drawer__close-button"> 2888 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"></path></svg> 2889 <span class="icon__fallback-text">Close menu</span> 2890 </button> 2891 </div> 2892 <div class="drawer-right"> 2893 <style> 2894 /* SmartCS Currency Switcher */ 2895 .new-cs { 2896 margin-top: 3px; 2897 } 2898 2899 @media screen and (max-width: 989px) { 2900 .header__icons .new-cs { 2901 display: none; 2902 } 2903 } 2904</style> 2905 2906<div class="new-cs"></div> 2907 2908 <div class="currency"></div> 2909 2910 <a href="/account" class="menu-drawer__account large-up-hide"> 2911 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16z"></path></svg>
2912 <span class="icon__fallback-text">Log in</span> 2913 </a> 2914 2915 </div> 2916 </div> 2917 <nav class="menu-drawer__navigation"> 2918 <form action="/pages/search-results" method="get" role="search" class="search search-modal__form large-up-hide"> 2919 <div class="field"> 2920 <input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search" role="combobox" aria-expanded="false" aria-owns="predictive-search-results-list" aria-controls="predictive-search-results-list" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false"> 2921 <label class="field__label" for="Search-In-Modal">Search</label> 2922 <input type="hidden" name="options[prefix]" value="last"> 2923 <button class="search__button field__button" aria-label="Search"> 2924 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation"> 2925 <use href="#icon-search"> 2926 </use></svg> 2927 </button> 2928 </div> 2929 </form> 2930 2931 <ul class="menu-drawer__menu has-submenu list-menu large-up-hide" role="list"><li><a href="/collections/new-arrivals" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2932 New Arrivals 2933 </a></li><li><button-collapsible> 2934 <a href="#" class="menu-drawer__menu-item list-menu__item link link--text focus-inset collapsible">Categories<span><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path></svg></span> 2935 </a> 2936 <ul class="menu-drawer__menu list-menu collapsible-content" role="list" tabindex="-1"><li><a href="/collections/tops" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2937 Tops 2938 </a></li><li><a href="/collections/bottoms" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2939 Bottoms 2940 </a></li><li><a href="/collections/sets" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2941 Sets 2942 </a></li><li><a href="/collections/outerwear" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2943 Outerwear 2944 </a></li><li><a href="/collections/dresses" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2945 Dresses 2946 </a></li><li><a href="/collections/scarves" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2947 Scarves 2948 </a></li></ul> 2949 </button-collapsible></li><li><button-collapsible> 2950 <a href="#" class="menu-drawer__menu-item list-menu__item link link--text focus-inset collapsible">Special Collection<span><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path></svg></span> 2951 </a> 2952 <ul class="menu-drawer__menu list-menu collapsible-content" role="list" tabindex="-1"><li><a href="/collections/denim-tales" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2953 Denim Tales 2954 </a></li><li><a href="/collections/secret-of-the-sea" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2955 Secret of The Sea 2956 </a></li><li><a href="/pages/benang-jarum-hujan-bulan-juni" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2957 Hujan Bulan Juni 2958 </a></li><li><a href="/pages/metanoia" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2959 Metanoia 2960 </a></li><li><a href="/pages/the-monogram" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2961 The Monogram 2962 </a></li><li><a href="/pages/benang-jarum-the-regal" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2963 The Regal 2964 </a></li><li><a href="/pages/benang-jarum-blooming-eid" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2965 Blooming Eid 2966 </a></li><li><a href="/pages/benang-jarum-marchesa" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2967 Marchesa 2968 </a></li><li><a href="/pages/benang-jarum-chainerie" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2969 Chainerie 2970 </a></li><li><a href="/pages/benang-jarum-selena" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2971 Selena Collection 2972 </a></li><li><a href="/pages/benang-jarum-nauticagram" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2973 Nauticagram 2974 </a></li><li><a href="/pages/benang-jarum-viola" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2975 Viola 2976 </a></li></ul> 2977 </button-collapsible></li><li><a href="/pages/benang-jarum-black-label" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2978 The Black Label 2979 </a></li><li><a href="/collections/timeless-collection" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2980 Timeless Collection 2981 </a></li><li><a href="/pages/store-locator" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2982 Store Locator 2983 </a></li><li><a href="/pages/live-shopping" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2984 Live Shopping 2985 </a></li><li><a href="/collections/sale" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2986 Sale
2987 </a></li><li><a href="/blogs/press" class="menu-drawer__menu-item list-menu__item link link--text focus-inset menu-drawer__menu-item--active" aria-current="page"> 2988 Press 2989 </a></li><hr style="margin: 1rem 5rem!important;"> 2990 <a href="#swym-wishlist" class="menu-drawer__menu-item list-menu__item link link--text focus-inset swym-wishlist"> 2991 YOUR WISHLISTS 2992 </a> 2993 2994 <div class="menu-drawer__menu-item list-menu__item link link--text focus-inset brand-link currency"></div> 2995 </ul> 2996 2997 2998 <ul class="menu-drawer__menu has-submenu list-menu medium-hide small-hide" role="list"><li class="menu-drawer__menu-item menu-link" > 2999 <div class="parent-link" data-link="new-arrivals" > 3000 <a href="/collections/new-arrivals" data-link="new-arrivals" style="text-decoration: unset; color: #121212bf; width: 100%;">New Arrivals</a> 3001 3002 </div> 3003 </li><li class="menu-drawer__menu-item menu-link" > 3004 <div class="parent-link" data-link="categories" > 3005 <a href="#" data-link="categories" style="text-decoration: unset; color: #121212bf; ">Categories</a> 3006 3007 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right"><path d="m9 18 6-6-6-6"/></svg> 3008 3009 </div> 3010 </li><li class="menu-drawer__menu-item menu-link" > 3011 <div class="parent-link" data-link="special-collection" > 3012 <a href="#" data-link="special-collection" style="text-decoration: unset; color: #121212bf; ">Special Collection</a> 3013 3014 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right-icon lucide-chevron-right"><path d="m9 18 6-6-6-6"/></svg> 3015 3016 </div> 3017 </li><li class="menu-drawer__menu-item menu-link" > 3018 <div class="parent-link" data-link="the-black-label" > 3019 <a href="/pages/benang-jarum-black-label" data-link="the-black-label" style="text-decoration: unset; color: #121212bf; width: 100%;">The Black Label</a> 3020 3021 </div> 3022 </li><li class="menu-drawer__menu-item menu-link" > 3023 <div class="parent-link" data-link="timeless-collection" > 3024 <a href="/collections/timeless-collection" data-link="timeless-collection" style="text-decoration: unset; color: #121212bf; width: 100%;">Timeless Collection</a> 3025 3026 </div> 3027 </li><li class="menu-drawer__menu-item menu-link" > 3028 <div class="parent-link" data-link="store-locator" > 3029 <a href="/pages/store-locator" data-link="store-locator" style="text-decoration: unset; color: #121212bf; width: 100%;">Store Locator</a> 3030 3031 </div> 3032 </li><li class="menu-drawer__menu-item menu-link" > 3033 <div class="parent-link" data-link="live-shopping" > 3034 <a href="/pages/live-shopping" data-link="live-shopping" style="text-decoration: unset; color: #121212bf; width: 100%;">Live Shopping</a> 3035 3036 </div> 3037 </li><li class="menu-drawer__menu-item menu-link" > 3038 <div class="parent-link" data-link="sale" > 3039 <a href="/collections/sale" data-link="sale" style="text-decoration: unset; color: #121212bf; width: 100%;">Sale</a> 3040 3041 </div> 3042 </li><li class="menu-drawer__menu-item menu-link" > 3043 <div class="parent-link" data-link="press" > 3044 <a href="/blogs/press" data-link="press" style="text-decoration: unset; color: #121212bf; width: 100%;">Press</a> 3045 3046 </div> 3047 </li><hr style="margin: 1rem 5rem!important;"> 3048 <a href="#swym-wishlist" class="menu-drawer__menu-item list-menu__item link link--text focus-inset swym-wishlist"> 3049 YOUR WISHLISTS 3050 </a> 3051 3052 <div class="menu-drawer__menu-item list-menu__item link link--text focus-inset brand-link currency"></div> 3053 </ul> 3054 <ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> 3055 <a href="https://www.instagram.com/benangjarum/" class="list-social__link link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 18 18">
3056 <path fill="currentColor" d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z"/> 3057 <path fill="currentColor" d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z"> 3058</svg> 3059<span class="visually-hidden">Instagram</span> 3060 </a> 3061 </li><li class="list-social__item"> 3062 <a href="https://www.tiktok.com/@benangjarum" class="list-social__link link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" width="16" height="18" fill="none" xmlns="http://www.w3.org/2000/svg"> 3063 <path d="M8.02 0H11s-.17 3.82 4.13 4.1v2.95s-2.3.14-4.13-1.26l.03 6.1a5.52 5.52 0 11-5.51-5.52h.77V9.4a2.5 2.5 0 101.76 2.4L8.02 0z" fill="currentColor"> 3064</svg> 3065<span class="visually-hidden">TikTok</span> 3066 </a> 3067 </li><li class="list-social__item"> 3068 <a href="https://www.youtube.com/channel/UCu7NTrnsb3Yyb4By5M1G_KQ" class="list-social__link link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-youtube" viewBox="0 0 100 70"> 3069 <path d="M98 11c2 7.7 2 24 2 24s0 16.3-2 24a12.5 12.5 0 01-9 9c-7.7 2-39 2-39 2s-31.3 0-39-2a12.5 12.5 0 01-9-9c-2-7.7-2-24-2-24s0-16.3 2-24c1.2-4.4 4.6-7.8 9-9 7.7-2 39-2 39-2s31.3 0 39 2c4.4 1.2 7.8 4.6 9 9zM40 50l26-15-26-15v30z" fill="currentColor"> 3070</svg> 3071<span class="visually-hidden">YouTube</span> 3072 </a> 3073 </li></ul> 3074 </nav> 3075 </div> 3076 </div> 3077 </div> 3078 <div class="child-menu__drawer medium-hide small-hide hidden"> 3079 3080 3081 3082 3083 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="tops"> 3084 <a href="/collections/tops" data-link="categories" data-sub-link="tops" style="text-decoration: unset; color: #121212bf"> 3085 <div class="child-link" data-link="categories" data-sub-link="tops"> 3086 <span>Tops</span> 3087 3088 </div> 3089 </a> 3090 </li> 3091 3092 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="bottoms"> 3093 <a href="/collections/bottoms" data-link="categories" data-sub-link="bottoms" style="text-decoration: unset; color: #121212bf"> 3094 <div class="child-link" data-link="categories" data-sub-link="bottoms"> 3095 <span>Bottoms</span> 3096 3097 </div> 3098 </a> 3099 </li> 3100 3101 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="sets"> 3102 <a href="/collections/sets" data-link="categories" data-sub-link="sets" style="text-decoration: unset; color: #121212bf"> 3103 <div class="child-link" data-link="categories" data-sub-link="sets">
3104 <span>Sets</span> 3105 3106 </div> 3107 </a> 3108 </li> 3109 3110 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="outerwear"> 3111 <a href="/collections/outerwear" data-link="categories" data-sub-link="outerwear" style="text-decoration: unset; color: #121212bf"> 3112 <div class="child-link" data-link="categories" data-sub-link="outerwear"> 3113 <span>Outerwear</span> 3114 3115 </div> 3116 </a> 3117 </li> 3118 3119 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="dresses"> 3120 <a href="/collections/dresses" data-link="categories" data-sub-link="dresses" style="text-decoration: unset; color: #121212bf"> 3121 <div class="child-link" data-link="categories" data-sub-link="dresses"> 3122 <span>Dresses</span> 3123 3124 </div> 3125 </a> 3126 </li> 3127 3128 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="scarves"> 3129 <a href="/collections/scarves" data-link="categories" data-sub-link="scarves" style="text-decoration: unset; color: #121212bf"> 3130 <div class="child-link" data-link="categories" data-sub-link="scarves"> 3131 <span>Scarves</span> 3132 3133 </div> 3134 </a> 3135 </li> 3136 3137 3138 3139 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="denim-tales"> 3140 <a href="/collections/denim-tales" data-link="special-collection" data-sub-link="denim-tales" style="text-decoration: unset; color: #121212bf"> 3141 <div class="child-link" data-link="special-collection" data-sub-link="denim-tales"> 3142 <span>Denim Tales</span> 3143 3144 </div> 3145 </a> 3146 </li> 3147 3148 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="secret-of-the-sea"> 3149 <a href="/collections/secret-of-the-sea" data-link="special-collection" data-sub-link="secret-of-the-sea" style="text-decoration: unset; color: #121212bf"> 3150 <div class="child-link" data-link="special-collection" data-sub-link="secret-of-the-sea"> 3151 <span>Secret of The Sea</span> 3152 3153 </div> 3154 </a> 3155 </li> 3156 3157 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="hujan-bulan-juni"> 3158 <a href="/pages/benang-jarum-hujan-bulan-juni" data-link="special-collection" data-sub-link="hujan-bulan-juni" style="text-decoration: unset; color: #121212bf"> 3159 <div class="child-link" data-link="special-collection" data-sub-link="hujan-bulan-juni"> 3160 <span>Hujan Bulan Juni</span> 3161 3162 </div> 3163 </a> 3164 </li> 3165 3166 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="metanoia"> 3167 <a href="/pages/metanoia" data-link="special-collection" data-sub-link="metanoia" style="text-decoration: unset; color: #121212bf"> 3168 <div class="child-link" data-link="special-collection" data-sub-link="metanoia"> 3169 <span>Metanoia</span> 3170 3171 </div> 3172 </a> 3173 </li> 3174 3175 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="the-monogram"> 3176 <a href="/pages/the-monogram" data-link="special-collection" data-sub-link="the-monogram" style="text-decoration: unset; color: #121212bf"> 3177 <div class="child-link" data-link="special-collection" data-sub-link="the-monogram">
3178 <span>The Monogram</span> 3179 3180 </div> 3181 </a> 3182 </li> 3183 3184 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="the-regal"> 3185 <a href="/pages/benang-jarum-the-regal" data-link="special-collection" data-sub-link="the-regal" style="text-decoration: unset; color: #121212bf"> 3186 <div class="child-link" data-link="special-collection" data-sub-link="the-regal"> 3187 <span>The Regal</span> 3188 3189 </div> 3190 </a> 3191 </li> 3192 3193 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="blooming-eid"> 3194 <a href="/pages/benang-jarum-blooming-eid" data-link="special-collection" data-sub-link="blooming-eid" style="text-decoration: unset; color: #121212bf"> 3195 <div class="child-link" data-link="special-collection" data-sub-link="blooming-eid"> 3196 <span>Blooming Eid</span> 3197 3198 </div> 3199 </a> 3200 </li> 3201 3202 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="marchesa"> 3203 <a href="/pages/benang-jarum-marchesa" data-link="special-collection" data-sub-link="marchesa" style="text-decoration: unset; color: #121212bf"> 3204 <div class="child-link" data-link="special-collection" data-sub-link="marchesa"> 3205 <span>Marchesa</span> 3206 3207 </div> 3208 </a> 3209 </li> 3210 3211 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="chainerie"> 3212 <a href="/pages/benang-jarum-chainerie" data-link="special-collection" data-sub-link="chainerie" style="text-decoration: unset; color: #121212bf"> 3213 <div class="child-link" data-link="special-collection" data-sub-link="chainerie"> 3214 <span>Chainerie</span> 3215 3216 </div> 3217 </a> 3218 </li> 3219 3220 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="selena-collection"> 3221 <a href="/pages/benang-jarum-selena" data-link="special-collection" data-sub-link="selena-collection" style="text-decoration: unset; color: #121212bf"> 3222 <div class="child-link" data-link="special-collection" data-sub-link="selena-collection"> 3223 <span>Selena Collection</span> 3224 3225 </div> 3226 </a> 3227 </li> 3228 3229 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="nauticagram"> 3230 <a href="/pages/benang-jarum-nauticagram" data-link="special-collection" data-sub-link="nauticagram" style="text-decoration: unset; color: #121212bf"> 3231 <div class="child-link" data-link="special-collection" data-sub-link="nauticagram"> 3232 <span>Nauticagram</span> 3233 3234 </div> 3235 </a> 3236 </li> 3237 3238 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="viola"> 3239 <a href="/pages/benang-jarum-viola" data-link="special-collection" data-sub-link="viola" style="text-decoration: unset; color: #121212bf"> 3240 <div class="child-link" data-link="special-collection" data-sub-link="viola"> 3241 <span>Viola</span> 3242 3243 </div> 3244 </a> 3245 </li> 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 </div> 3261 3262 </details> 3263 </header-drawer><nav class="header__inline-menu hidden"> 3264 <ul class="list-menu list-menu--inline" role="list"><li><a href="/collections/new-arrivals" class="header__menu-item list-menu__item link link--text focus-inset"> 3265
3266 <span>New Arrivals</span> 3267 </a></li><li><header-menu> 3268 <details id="Details-HeaderMenu-2"> 3269 <summary class="header__menu-item list-menu__item link focus-inset"> 3270 3271 <a href="#" class="header__menu-item list-menu__item link link--text focus-inset">Categories</a> 3272 </summary> 3273 <ul id="HeaderMenu-MenuList-2" class="header__submenu list-menu list-menu--disclosure gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><a href="/collections/tops" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3274 Tops 3275 </a></li><li><a href="/collections/bottoms" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3276 Bottoms 3277 </a></li><li><a href="/collections/sets" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3278 Sets 3279 </a></li><li><a href="/collections/outerwear" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3280 Outerwear 3281 </a></li><li><a href="/collections/dresses" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3282 Dresses 3283 </a></li><li><a href="/collections/scarves" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3284 Scarves 3285 </a></li></ul> 3286 </details> 3287 </header-menu></li><li><header-menu> 3288 <details id="Details-HeaderMenu-3"> 3289 <summary class="header__menu-item list-menu__item link focus-inset"> 3290 3291 <a href="#" class="header__menu-item list-menu__item link link--text focus-inset">Special Collection</a> 3292 </summary> 3293 <ul id="HeaderMenu-MenuList-3" class="header__submenu list-menu list-menu--disclosure gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><a href="/collections/denim-tales" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3294 Denim Tales 3295 </a></li><li><a href="/collections/secret-of-the-sea" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3296 Secret of The Sea 3297 </a></li><li><a href="/pages/benang-jarum-hujan-bulan-juni" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3298 Hujan Bulan Juni 3299 </a></li><li><a href="/pages/metanoia" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3300 Metanoia 3301 </a></li><li><a href="/pages/the-monogram" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3302 The Monogram 3303 </a></li><li><a href="/pages/benang-jarum-the-regal" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3304 The Regal 3305 </a></li><li><a href="/pages/benang-jarum-blooming-eid" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3306 Blooming Eid 3307 </a></li><li><a href="/pages/benang-jarum-marchesa" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3308 Marchesa 3309 </a></li><li><a href="/pages/benang-jarum-chainerie" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3310 Chainerie 3311 </a></li><li><a href="/pages/benang-jarum-selena" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3312 Selena Collection 3313 </a></li><li><a href="/pages/benang-jarum-nauticagram" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3314 Nauticagram 3315 </a></li><li><a href="/pages/benang-jarum-viola" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3316 Viola 3317 </a></li></ul> 3318 </details> 3319 </header-menu></li><li><a href="/pages/benang-jarum-black-label" class="header__menu-item list-menu__item link link--text focus-inset"> 3320
3321 <span>The Black Label</span> 3322 </a></li><li><a href="/collections/timeless-collection" class="header__menu-item list-menu__item link link--text focus-inset"> 3323 3324 <span>Timeless Collection</span> 3325 </a></li><li><a href="/pages/store-locator" class="header__menu-item list-menu__item link link--text focus-inset"> 3326 3327 <span>Store Locator</span> 3328 </a></li><li><a href="/pages/live-shopping" class="header__menu-item list-menu__item link link--text focus-inset"> 3329 3330 <span>Live Shopping</span> 3331 </a></li><li><a href="/collections/sale" class="header__menu-item list-menu__item link link--text focus-inset"> 3332 3333 <span>Sale</span> 3334 </a></li><li><a href="/blogs/press" class="header__menu-item list-menu__item link link--text focus-inset" aria-current="page"> 3335 3336 <span>Press</span> 3337 </a></li></ul> 3338 </nav><a href="/" class="header__heading-link link link--text focus-inset"><img src="//www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204" alt="Benang Jarum" srcset="//www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=50 50w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=100 100w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=150 150w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=200 200w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=250 250w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=300 300w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=400 400w, //www.benangjarum.com/cdn/shop/files/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204&width=500 500w" width="90" height="20.923994038748138" class="header__heading-logo"> 3339</a> 3340 <div class="announcement-bar-wrapper"><div 3341 style="order: 0;" 3342 class="announcement-bar" 3343 role="region" 3344 3345 ><a 3346 href="https://account.benangjarum.com/authentication/login?_s=4aa15a29-6f82-41fb-a02d-e619cabde8d6&_y=b6e33cb9-38e6-4840-bea8-d75533a7c6da&analytics_trace_id=40498548-d716-4cb8-a4aa-dae328eb1293&client_id=a64f9e7e-d43c-41c9-bafb-bd0acf66cd8c&locale=en-ID&redirect_uri=%2Fauthentication%2Foauth%2Fauthorize%3F_s%3D4aa15a29-6f82-41fb-a02d-e619cabde8d6%26_y%3Db6e33cb9-38e6-4840-bea8-d75533a7c6da%26analytics_trace_id%3D40498548-d716-4cb8-a4aa-dae328eb1293%26buyer_flags%3DeyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMDNlZmMtMjUubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzg5NDkwODU3LCJuYmYiOjE3ODg4ODYwNTd9.zdjcIyMRCKka7YtqBJYfWLbNK9xMnO29uA1bbBISToY%26client_id%3Da64f9e7e-d43c-41c9-bafb-bd0acf66cd8c%26locale%3Den-ID%26nonce%3Dff7acf29-157f-4b8f-9b2e-da99580b0493%26redirect_uri%3Dhttps%253A%252F%252Faccount.benangjarum.com%252Fcallback%26region_country%3DID%26response_type%3Dcode%26scope%3Dopenid%2Bemail%2Bcustomer-account-api%253Afull%26state%3DhWNGbJyJerQVLErQxhrhgCif®ion_country=ID" 3347 class="announcement-bar__link link link--text focus-inset animate-arrow" 3348 ><p class="announcement-bar__message center h5"> 3349 GET 10% OFF ON YOUR FIRST PURCHASE. SIGN UP NOW! T&Cs APPLY. 3350 </p></a></div></div> 3351 3352<div class="header__icons"> 3353 <style> 3354 /* SmartCS Currency Switcher */ 3355 .new-cs { 3356 margin-top: 3px; 3357 } 3358 3359 @media screen and (max-width: 989px) { 3360 .header__icons .new-cs { 3361 display: none; 3362 } 3363 } 3364</style> 3365 3366<div class="new-cs"></div> 3367 3368 3369 <details-modal class="header__search"> 3370 <details> 3371 <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search">
3372 <span> 3373 3374 3375 3376 3377 <svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3378 <path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5Zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14Z" fill="#424242"/> 3379 </svg> 3380 3381 3382 3383 <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false" role="presentation"> 3384 <use href="#icon-close"> 3385 </svg> 3386 </span> 3387 </summary> 3388 <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search"> 3389 <div class="modal-overlay"></div> 3390 <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."> 3391 <form action="/pages/search-results" method="get" role="search" class="search search-modal__form"> 3392 <div class="field"> 3393 <input class="search__input field__input" 3394 id="Search-In-Modal" 3395 type="search" 3396 name="q" 3397 value="" 3398 placeholder="Search"role="combobox" 3399 aria-expanded="false" 3400 aria-owns="predictive-search-results-list" 3401 aria-controls="predictive-search-results-list" 3402 aria-haspopup="listbox" 3403 aria-autocomplete="list" 3404 autocorrect="off" 3405 autocomplete="off" 3406 autocapitalize="off" 3407 spellcheck="false"> 3408 <label class="field__label" for="Search-In-Modal">Search</label> 3409 <input type="hidden" name="options[prefix]" value="last"> 3410 <button class="search__button field__button" aria-label="Search"> 3411 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation"> 3412 <use href="#icon-search"> 3413 </svg> 3414 </button> 3415 </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search> 3416 <div class="predictive-search__loading-state"> 3417 <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 3418 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 3419 </svg> 3420 </div> 3421 </div> 3422 3423 <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close"> 3424 <svg class="icon icon-close" aria-hidden="true" focusable="false" role="presentation"> 3425 <use href="#icon-close"> 3426 </svg> 3427 </button> 3428 </div> 3429 </div> 3430 </details> 3431 </details-modal> 3432 3433 <a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"> 3434 3435 3436 3437 3438 <svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"> 3439 <path d="m18 6h-2c0-2.21-1.79-4-4-4s-4 1.79-4 4h-2c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2zm-6-2c1.1 0 2 .9 2 2h-4c0-1.1.9-2 2-2zm6 16h-12v-12h2v2c0 .55.45 1 1 1s1-.45 1-1v-2h4v2c0 .55.45 1 1 1s1-.45 1-1v-2h2z" fill="#424242"/> 3440 </svg> 3441 3442 3443 3444 <span class="visually-hidden">Cart</span></a> 3445 3446 <a href="#swym-wishlist" class="header__icon header__icon--wishlists swym-wishlist"> 3447 3448 3449 3450 <svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"> 3451 <path d="m14.2599 6.58654.0014-.0014c.6792-.69218 1.6044-1.08515 2.5721-1.09274.4792-.00376.9545.08722
34511.3986.26775.4442.18053.8487.4471 1.1903.78452.6899.68146 1.0819 1.61017 1.0894 2.58186.0076.97137-.3696 1.90577-1.0483 2.59787-.0003.0003-.0005.0005-.0008.0008l-6.9756 6.9998-6.98884-7.0122c-1.37207-1.4214-1.35642-3.71016.05408-5.12633.68452-.68676 1.61274-1.07243 2.58041-1.07243.96771 0 1.89595.38569 2.58045 1.07249l.0003.00031c.1993.19919.4518.44354.7571.73271l.0002.0002.8447.798.1716.16221.1717-.16221.8446-.798.0002-.00018c.3048-.28856.5571-.53302.7564-.73303zm-9.50608-1.61126v-.04521l-.42702.42823c-.99935 1.00217-1.56556 2.35834-1.57663 3.77558-.01108 1.41722.53388 2.78212 1.51744 3.79992h-.00002l.00272.0027 7.31409 7.3385c.2393.24.564.375.9026.375.3387 0 .6634-.135.9027-.375l7.312-7.3375.0014-.0013c1.0013-1.0202 1.5576-2.3975 1.5467-3.82895-.0109-1.43146-.588-2.80011-1.6048-3.80482-1.0169-1.00475-2.39-1.56321-3.8175-1.55227-1.4271.01093-2.7913.59012-3.7926 1.60989-.1483.14872-.3309.32677-.5482.53436-.2183-.20778-.4008-.38559-.5478-.53368l-.0003-.0003c-.4997-.50148-1.093-.89932-1.746-1.17077-.65306-.27145-1.35303-.41117-2.05995-.41117-.70691 0-1.40688.13972-2.05992.41117-.4757.19774-.9197.46255-1.31891.78562z" fill="#424242" stroke="#424242" stroke-width=".5"/> 3452 </svg> 3453 3454 3455 </a> 3456 3457 3458 <a href="/account" class="header__icon account small-hide medium-hide"> 3459 3460 3461 3462 3463 <svg 3464 fill="none" 3465 height="24" 3466 viewBox="0 0 24 24" 3467 width="24" 3468 xmlns="http://www.w3.org/2000/svg" 3469 xmlns:xlink="http://www.w3.org/1999/xlink" 3470 > 3471 <mask id="a" fill="#fff"><path d="m21 21.95c0-2.5195-1.0009-4.9359-2.7825-6.7175s-4.1979-2.7825-6.7175-2.7825c-2.51956 0-4.93592 1.0009-6.71751 2.7825-1.7816 1.7816-2.78249 4.198-2.78249 6.7175h9.5z" fill="#fff"/></mask><g stroke="#424242"><circle cx="11.5" cy="6.75" r="3.75" stroke-width="2"/><path d="m21 21.95c0-2.5195-1.0009-4.9359-2.7825-6.7175s-4.1979-2.7825-6.7175-2.7825c-2.51956 0-4.93592 1.0009-6.71751 2.7825-1.7816 1.7816-2.78249 4.198-2.78249 6.7175h9.5z" mask="url(#a)" stroke-width="4"/></g> 3472 </svg> 3473 3474 3475 3476 <span class="icon__fallback-text">Log in</span> 3477 </a> 3478 3479 </div> 3480 </header> 3481</sticky-header> 3482
3483<script src="//www.benangjarum.com/cdn/shop/t/18/assets/announcement-bar.js?v=31539634796150701661753973547" defer="defer"></script>
3483 3484
3485<script type="application/ld+json"> 3486 { 3487 "@context": "http://schema.org", 3488 "@type": "Organization", 3489 "name": "Benang Jarum", 3490 3491 "logo": "https:\/\/www.benangjarum.com\/cdn\/shop\/files\/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204\u0026width=671", 3492 3493 "sameAs": [ 3494 "", 3495 "", 3496 "", 3497 "https:\/\/www.instagram.com\/benangjarum\/", 3498 "https:\/\/www.tiktok.com\/@benangjarum", 3499 "", 3500 "", 3501 "https:\/\/www.youtube.com\/channel\/UCu7NTrnsb3Yyb4By5M1G_KQ", 3502 "" 3503 ], 3504 "url": "https:\/\/www.benangjarum.com" 3505 } 3506</script>
3506<script> 3507 (() => { 3508 const menuDrawer = document.querySelector('#menu-drawer'); 3509 const childLinkDrawer = document.querySelector('.child-menu__drawer'); 3510 const parentMenu = document.querySelector('.menu-drawer__menu.has-submenu.medium-hide'); 3511 let menuState = ''; 3512 let activeLinks = []; 3513 3514 // Event delegation â one listener on the parent <ul> 3515 parentMenu.addEventListener('click', (e) => { 3516 const parentLink = e.target.closest('.parent-link'); 3517 const menuLink = e.target.closest('.menu-link'); 3518 3519 if (parentLink) { 3520 const hasChildren = parentLink.querySelector('svg'); 3521 3522 // No child submenus â close drawer and let <a> navigate 3523 if (!hasChildren) { 3524 closeMenu(); 3525 return; 3526 } 3527 3528 // Has children â prevent navigation and show submenu 3529 e.preventDefault(); 3530 3531 const handle = parentLink.dataset.link; 3532 3533 // Toggle: if clicking the same menu, close it 3534 if (menuState === handle) { 3535 closeMenu(); 3536 return; 3537 } 3538 3539 // Hide previously active links 3540 activeLinks.forEach(link => link.classList.add('hidden')); 3541 3542 // Show only matching child links 3543 menuState = handle; 3544 activeLinks = [...childLinkDrawer.querySelectorAll(`[data-link="${handle}"]`)]; 3545 activeLinks.forEach(link => link.classList.remove('hidden')); 3546 3547 childLinkDrawer.classList.remove('hidden'); 3548 setTimeout(() => { 3549 childLinkDrawer.style.left = menuDrawer.offsetWidth + 'px'; 3550 }, 200); 3551 3552 } else if (menuLink) { 3553 // Clicked a link without children â allow navigation, just close drawer 3554 closeMenu(); 3555 } 3556 }); 3557 3558 function closeMenu() { 3559 menuState = ''; 3560 activeLinks.forEach(link => link.classList.add('hidden')); 3561 activeLinks = []; 3562 childLinkDrawer.style.left = '0px'; 3563 setTimeout(() => { 3564 childLinkDrawer.classList.add('hidden'); 3565 }, 200); 3566 } 3567 })(); 3568</script>
3568 3569 3570 3571<style> #shopify-section-header sticky-header .announcement-bar-wrapper {display: none !important;} </style></div> 3572 <div id="shopify-section-popup-banner" class="shopify-section"> 3573 3574 3575 3576 3577 3578 3579 3580</div> 3581 <div id="shopify-section-popup-banner-two-images" class="shopify-section"> 3582 3583 3584 3585<style> 3586 aside#popup-banner { 3587 position: fixed; 3588 z-index: 9999; 3589 inset: 0; 3590 display: flex; 3591 align-items: center; 3592 justify-content: center; 3593 background: rgba(0,0,0,.6); 3594 transform: translateZ(0); 3595 transition: all 0.5s cubic-bezier(.645,.045,.355,1); 3596 opacity: 0; visibility: hidden; 3597 } 3598 aside#popup-banner[aria-hidden="false"] { opacity: 1; visibility: visible; } 3599 3600 .popup-banner__wrapper { position: relative; } 3601 3602 3603 .popup-banner__content { 3604 display: flex; 3605 } 3606 3607 .popup-banner__item { 3608 display: block; 3609 margin: 0; /* remove default margin */ 3610 padding: 0; /* ensure no padding */ 3611 } 3612 3613 .popup-banner__item img { 3614 width: 100%; 3615 height: auto; 3616 max-height: 560px; 3617 object-fit: cover; 3618 display: block; /* kill inline spacing */ 3619 } 3620 3621 @media screen and (max-width: 749px) { 3622 .popup-banner__content { 3623 flex-direction: column; 3624 } 3625 .popup-banner__wrapper { max-width: 30rem; } 3626 .popup-banner__item { 3627 margin: 0; /* no vertical margin */ 3628 } 3629 .popup-banner__item img { 3630 max-height: 480px; 3631 } 3632 .popup-banner--desktop { display: none !important; } 3633 .popup-banner__close svg { width: 20px; height: 20px; } 3634 } 3635 @media screen and (min-width: 750px) { 3636 .popup-banner--mobile { display: none !important; } 3637 } 3638 3639 .popup-banner__close { 3640 position: absolute; right: 0; top: 0; 3641 background: transparent; padding: 16px; border: 0; cursor: pointer; z-index: 2; 3642 } 3643 .popup-banner__close svg path { fill: #fff; } 3644</style> 3645 3646 3647</div> 3648 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 3649 <div id="shopify-section-template--28376276402547__custom_07_youtube_Xe4QjM" class="shopify-section"><style data-shopify>.custom-07 { 3650 position: relative; 3651 } 3652 .youtube-video { 3653 width: 100vw; 3654 vertical-align: middle; 3655 } 3656 3657 .youtube-video[data-device="desktop"] { 3658 height: calc(100vw * (9 / 25)); 3659 } 3660 3661 .youtube-video[data-device="mobile"] { 3662 height: calc(100vw * (9 / 9)); 3663 position: relative; 3664 z-index: 99999 3665 } 3666 3667 .custom-07 > a { 3668 display: block!important; top: 0; bottom: 0; left: 0; right: 0; position: absolute; 3669 } 3670 3671 @media screen and (max-width: 749px) { 3672 .youtube-video[data-device="desktop"] { 3673 display: none!important; 3674 } 3675 3676 .custom-07 > a { 3677 z-index: 99999; 3678 } 3679 } 3680 3681 @media screen and (min-width: 750px) { 3682 .youtube-video[data-device="mobile"] { 3683 display: none!important; 3684 } 3685 }</style> 3686 3687<div class="custom-07"> 3688 <iframe 3689 class="youtube-video" 3690 data-device="desktop" 3691 width="560" 3692 height="315" 3693 src="https://www.youtube.com/embed/o3O1fYjwbbQ?rel=0&autoplay=1&loop=1&playlist=o3O1fYjwbbQ&mute=1" 3694 title="YouTube video player" 3695 frameborder="0" 3696 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 3697 allowfullscreen 3698 ></iframe> 3699 3700 <iframe 3701 class="youtube-video" 3702 data-device="mobile" 3703 width="560" 3704 height="315" 3705 src="https://www.youtube.com/embed/o3O1fYjwbbQ?rel=0&autoplay=1&loop=1&playlist=o3O1fYjwbbQ&mute=1" 3706 title="YouTube video player" 3707 frameborder="0" 3708 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 3709 allowfullscreen 3710 ></iframe> 3711 3712</div> 3713 3714 3715</div><section id="shopify-section-template--28376276402547__rich_text_XNMLGK" class="shopify-section section"><link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" media="print" onload="this.media='all'"> 3716<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/section-rich-text.css?v=117039654364600720161753973630" media="print" onload="this.media='all'"> 3717 3718<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" rel="stylesheet" type="text/css" media="all" /></noscript> 3719<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/section-rich-text.css?v=117039654364600720161753973630" rel="stylesheet" type="text/css" media="all" /></noscript><style data-shopify>.section-template--28376276402547__rich_text_XNMLGK-padding { 3720 padding-top: 30px; 3721 padding-bottom: 39px; 3722 } 3723 3724 @media screen and (min-width: 750px) { 3725 .section-template--28376276402547__rich_text_XNMLGK-padding { 3726 padding-top: 40px; 3727 padding-bottom: 52px; 3728 } 3729 } 3730 3731 @media screen and (max-width: 749px) { 3732 .section-template--28376276402547__rich_text_XNMLGK-background { 3733 background-size: cover !important; 3734 } 3735 } 3736 3737 3738 .section-template--28376276402547__rich_text_XNMLGK-background { 3739 background: url(Liquid error (sections/rich-text line 28): invali
3739d url input); 3740 background-position: center; 3741 background-size: 100%; 3742 }.section-template--28376276402547__rich_text_XNMLGK-body-text-color { 3743 color:#000000; 3744 }</style><div class="isolate"> 3745 <div class="rich-text content-container color-background-1 gradient rich-text--full-width content-container--full-width section-template--28376276402547__rich_text_XNMLGK-padding"> 3746 <div class="rich-text__wrapper rich-text__wrapper--center page-width"> 3747 <div class="rich-text__blocks center"><h2 class="rich-text__heading rte h2" > 3748 <span><strong>PRESS</strong></span> 3749 </h2><div class="rich-text__text rte section-template--28376276402547__rich_text_XNMLGK-body-text-color body" > 3750 <p>Explore a selection of articles, media coverage, and editorial features highlighting Benang Jarumâs collections, collaborations, and brand journey.</p> 3751 </div></div> 3752 </div> 3753 </div> 3754</div> 3755 3756 3757</section><section id="shopify-section-template--28376276402547__blog_2026_HkaPq3" class="shopify-section blog-2026 td-section"><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-article-card.css?v=54970547219320703711753973555" rel="stylesheet" type="text/css" media="all" /> 3758<link href="//www.benangjarum.com/cdn/shop/t/18/assets/section-main-blog.css?v=41454950895101118471753973628" rel="stylesheet" type="text/css" media="all" /> 3759 3760 3761<style data-shopify>.section-template--28376276402547__blog_2026_HkaPq3-padding { 3762 padding-top: 0px; 3763 padding-bottom: 0px; 3764 } 3765 3766 @media screen and (min-width: 750px) { 3767 .section-template--28376276402547__blog_2026_HkaPq3-padding { 3768 padding-top: 0px; 3769 padding-bottom: 0px; 3770 } 3771 }</style> 3772 3773 3774 3775<div class="main-blog page-width section-template--28376276402547__blog_2026_HkaPq3-padding"> 3776 <div class="blog-article-container"> 3777 <div class="blog-article-filter"> 3778 <a href="/blogs/press" class="press-filter active">All Press</a><a 3779 href="/blogs/press/tagged/2026" 3780 class="press-filter " 3781 > 3782 Press 2026 3783 </a></div> 3784 3785 <div class="blog-article-mobile-filter"><div 3786 class="press-filter-toggle" 3787 data-state="closed" 3788 role="button" 3789 aria-expanded="false" 3790 aria-controls="press-filter-list-mobile" 3791 > 3792 <span class="press-filter-toggle__label">All Press</span> 3793 <svg 3794 xmlns="http://www.w3.org/2000/svg" 3795 width="20" 3796 height="20"
3797 viewBox="0 0 24 24" 3798 fill="none" 3799 stroke="currentColor" 3800 stroke-width="2" 3801 stroke-linecap="round" 3802 stroke-linejoin="round" 3803 class="press-filter-toggle__icon press-filter-toggle__icon--down" 3804 aria-hidden="true" 3805 > 3806 <path d="m6 9 6 6 6-6"/> 3807 </svg> 3808 <svg 3809 xmlns="http://www.w3.org/2000/svg" 3810 width="20" 3811 height="20" 3812 viewBox="0 0 24 24" 3813 fill="none" 3814 stroke="currentColor" 3815 stroke-width="2" 3816 stroke-linecap="round" 3817 stroke-linejoin="round" 3818 class="press-filter-toggle__icon press-filter-toggle__icon--up" 3819 aria-hidden="true" 3820 > 3821 <path d="m18 15-6-6-6 6"/> 3822 </svg> 3823 </div> 3824 3825 <ul class="press-filter-list" id="press-filter-list-mobile"> 3826 <li class="press-filter-item selected"> 3827 <a href="/blogs/press" class="press-filter active">All Press</a> 3828 </li><li class="press-filter-item"> 3829 <a 3830 href="/blogs/press/tagged/2026" 3831 class="press-filter" 3832 >Press 2026</a> 3833 </li></ul> 3834 </div> 3835 3836 <div class="blog-article-wrapper"> 3837 3838 <div class="blog-card-wrapper"> 3839 3840 <div class="blog-card-image"> 3841 <img 3842 srcset="//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?v=1790132402&width=165 165w,//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?v=1790132402&width=360 360w,//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?v=1790132402&width=533 533w,//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?v=1790132402&width=720 720w,//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?v=1790132402 900w 3843 " 3844 src="//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?height=533&v=1790132402" 3845 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3846 alt="Benang Jarum Unveils Its First Abaya Collection with a Fashion Show in Dharmawangsa" 3847 class="motion-reduce" 3848 3849 loading="lazy" 3850 3851 width="900" 3852 height="900" 3853 > 3854 </div> 3855 3856 <div class="blog-card-content"> 3857 <div class="blog-card-text"> 3858 <div class="blog-card-date_post"> 3859 <p>ModesTalk | 3860 3861 3862 21/09/2026 3863 </p> 3864 </div> 3865 <div class="blog-card-title"><h3>Benang Jarum Unveils Its First Abaya Collection with a Fashion Show in Dharmawangsa</h3></div> 3866 <div class="blog-card-paragraph"><p>2026 is shaping up to be the year of the abaya. No longer seen solely as a garment reserved for religious occasions, the abaya has become part of the modern hijaberâs everyday wardrobe, from mall outings to everyday moments, including school drop-offs. Benang Jarum introduced its Black Label Monogram Abaya...</p></div> 3867 </div> 3868 <div class="blog-card-readmore"> 3869 <a href="https://modestalk.com/article/read/benang-jarum-unveils-its-first-abaya-collection-with-a-fashion-show-in-dharmawangsa-6ab0b0470e0e7" target="_blank">Read Full Article</a> 3870 </div> 3871 </div> 3872</div> 3873 3874 3875 <div class="blog-card-wrapper"> 3876 3877 <div class="blog-card-image"> 3878 <img 3879 srcset="//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?v=1790132231&width=165 165w,//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?v=1790132231&width=360 360w,//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?v=1790132231&width=533 533w,//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?v=1790132231&width=720 720w,//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?v=1790132231 900w 3880 " 3881 src="//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?height=533&v=1790132231" 3882 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3883 alt="Monogram Abaya, Wajah Baru Modestwear dari Benang Jarum Black Label" 3884 class="motion-reduce" 3885 3886 loading="lazy" 3887 3888 width="900" 3889 height="900" 3890 > 3891 </div> 3892 3893 <div class="blog-card-content"> 3894 <div class="blog-card-text"> 3895 <div class="blog-card-date_post"> 3896 <p>HighEnd Magazine | 3897 3898 3899 21/09/2026 3900 </p> 3901 </div> 3902 <div class="blog-card-title"><h3>Monogram Abaya, Wajah Baru Modestwear dari Benang Jarum Black Label</h3></div> 3903 <div class="blog-card-paragraph"><p>Benang Jarum Black Label menghadirkan Monogram Abaya Collection sebagai langkah baru dalam memperluas eksplorasi modestwear. Koleksi ini menempatkan abaya sebagai busana yang fleksibel, tidak hanya untuk perjalanan ibadah seperti umrah, tetapi juga untuk berbagai momen lain, mulai dari acara keluarga hingga kesempatan formal. Melalui Monogram Abaya Collection, Benang Jarum Black...</p></div> 3904 </div> 3905 <div class="blog-card-readmore"> 3906 <a href="https://highend-magazine.okezone.com/read/monogram-abaya-wajah-baru-modestwear-dari-benang-jarum-black-label-y44wY7" target="_blank">Read Full Article</a> 3907 </div> 3908 </div> 3909</div> 3910 3911 3912 <div class="blog-card-wrapper"> 3913 3914 <div class="blog-card-image"> 3915 <img 3916 srcset="//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?v=1789976433&width=165 165w,//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?v=1789976433&width=360 360w,//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?v=1789976433&width=533 533w,//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?v=1789976433&width=720 720w,//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?v=1789976433 900w 3917 " 3918 src="//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?height=533&v=1789976433" 3919 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3920 alt="Tren Abaya Versatile Benang Jarum Black Label untuk Berbagai Acara" 3921 class="motion-reduce" 3922 3923 loading="lazy" 3924 3925 width="900" 3926 height="900" 3927 > 3928 </div> 3929 3930 <div class="blog-card-content"> 3931 <div class="blog-card-text"> 3932 <div class="blog-card-date_post"> 3933 <p>Media Indonesia | 3934 3935 3936 12/09/2026 3937 </p> 3938 </div> 3939 <div class="blog-card-title"><h3>Tren Abaya Versatile Benang Jarum Black Label untuk Berbagai Acara</h3></div> 3940 <div class="blog-card-paragraph"><p>Abaya kini telah bertransformasi dari sekadar busana ibadah menjadi salah satu siluet paling krusial dalam industri modestwear global. Mengikuti perkembangan gaya yang dinamis, abaya modern kini hadir sebagai pilihan busana yang trendi dan elegan untuk berbagai kegiatan sosial. Menjawab kebutuhan pasar akan busana yang multifungsi, jenama lokal Benang Jarum Black...</p></div> 3941 </div> 3942 <div class="blog-card-readmore"> 3943 <a href="https://mediaindonesia.com/fashion/932672/tren-abaya-versatile-benang-jarum-black-label-untuk-berbagai-acara" target="_blank">Read Full Article</a> 3944 </div> 3945 </div> 3946</div> 3947 3948 3949 <div class="blog-card-wrapper"> 3950 3951 <div class="blog-card-image"> 3952 <img 3953 srcset="//www.benangjarum.com/cdn/shop/articles/BJ_10.png?v=1789976129&width=165 165w,//www.benangjarum.com/cdn/shop/articles/BJ_10.png?v=1789976129&width=360 360w,//www.benangjarum.com/cdn/shop/articles/BJ_10.png?v=1789976129&width=533 533w,//www.benangjarum.com/cdn/shop/articles/BJ_10.png?v=1789976129&width=720 720w,//www.benangjarum.com/cdn/shop/articles/BJ_10.png?v=1789976129 900w 3954 " 3955 src="//www.benangjarum.com/cdn/shop/articles/BJ_10.png?height=533&v=1789976129" 3956 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3957 alt="Benang Jarum Pertama Kalinya Rilis Abaya, Hadir dengan Motif Monogram" 3958 class="motion-reduce" 3959 3960 loading="lazy" 3961 3962 width="900" 3963 height="900" 3964 > 3965 </div> 3966 3967 <div class="blog-card-content"> 3968 <div class="blog-card-text"> 3969 <div class="blog-card-date_post"> 3970 <p>Wolipop Detik | 3971 3972 3973 14/09/2026 3974 </p> 3975 </div> 3976 <div class="blog-card-title"><h3>Benang Jarum Pertama Kalinya Rilis Abaya, Hadir dengan Motif Monogram</h3></div> 3977 <div class="blog-card-paragraph"><p>Brand ready-to-wear Benang Jarum lewat lini Benang Jarum Black Label meluncurkan rangkaian busana abaya perdana. Koleksi abaya ini telah dipersiapkan hampir satu tahun. Koleksi tebaru Benang Jarum ini dirilis untuk merespons antusiasme dan pergeseran gaya wanita Indonesia yang kini semakin menggemari siluet abaya versatile mulai dari kebutuhan ibadah umrah, perayaan...</p></div> 3978 </div> 3979 <div class="blog-card-readmore">
3980 <a href="https://www.google.com/url?q=https://wolipop.detik.com/hijab-update/d-8662562/benang-jarum-pertamakalinya-rilis-abaya-hadir-dengan-motif-monogram&sa=D&source=editors&ust=1789979313696499&usg=AOvVaw1Zb-x3jsISkC7F3r64k5Ae" target="_blank">Read Full Article</a> 3981 </div> 3982 </div> 3983</div> 3984 3985 3986 <div class="blog-card-wrapper"> 3987 3988 <div class="blog-card-image"> 3989 <img 3990 srcset="//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?v=1789975588&width=165 165w,//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?v=1789975588&width=360 360w,//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?v=1789975588&width=533 533w,//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?v=1789975588&width=720 720w,//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?v=1789975588 900w 3991 " 3992 src="//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?height=533&v=1789975588" 3993 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3994 alt="Benang Jarum Black Label Memperluas Eksplorasi Modest Wear melalui Monogram Abaya Collection" 3995 class="motion-reduce" 3996 3997 loading="lazy" 3998 3999 width="900" 4000 height="900" 4001 > 4002 </div> 4003 4004 <div class="blog-card-content"> 4005 <div class="blog-card-text"> 4006 <div class="blog-card-date_post"> 4007 <p>The Luxury Report | 4008 4009 4010 18/09/2026 4011 </p> 4012 </div> 4013 <div class="blog-card-title"><h3>Benang Jarum Black Label Memperluas Eksplorasi Modest Wear melalui Monogram Abaya Collection</h3></div> 4014 <div class="blog-card-paragraph"><p>Perkembangan modest wear membuat abaya tidak lagi terbatas sebagai busana untuk perjalanan ibadah. Siluetnya yang tertutup dan elegan kini juga menjadi pilihan untuk menghadiri acara keluarga, perayaan hari besar, hingga agenda formal. Menjawab perubahan tersebut, Benang Jarum Black Label menghadirkan Monogram Abaya Collection, rangkaian terbaru yang memperluas eksplorasi brand dalam...</p></div> 4015 </div> 4016 <div class="blog-card-readmore"> 4017 <a href="https://theluxuryreports.id/benang-jarum-black-label-memperluas-eksplorasi-modest-wear-melalui-monogram-abaya-collection/" target="_blank">Read Full Article</a> 4018 </div> 4019 </div> 4020</div> 4021 4022 4023 </div> 4024 </div> 4025 4026<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-pagination.css?v=136206814810731739951753973576" media="print" onload="this.media='all'"> 4027<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-pagination.css?v=136206814810731739951753973576" rel="stylesheet" type="text/css" media="all" /></noscript><div class="pagination-wrapper"> 4028 <nav class="pagination" role="navigation" aria-label="Pagination"> 4029 <ul class="pagination__list list-unstyled" role="list"><li><a role="link" aria-disabled="true" class="pagination__item pagination__item--current light" aria-current="page" aria-label="Page 1">1</a></li><li><a href="/blogs/press?page=2" class="pagination__item link" aria-label="Page 2">2</a></li><li><a href="/blogs/press?page=3" class="pagination__item link" aria-label="Page 3">3</a></li><li><span class="pagination__item">…</span></li><li><a href="/blogs/press?page=13" class="pagination__item link" aria-label="Page 13">13</a></li><li> 4030 <a id="more" href="/blogs/press?page=2" class="pagination__item pagination__item--prev pagination__item-arrow link motion-reduce" aria-label="Next page" ><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret" viewBox="0 0 10 6"> 4031 <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"> 4032</svg> 4033</a> 4034 </li></ul> 4035 </nav> 4036 </div></div>
4036<script> 4037 (function () { 4038 var toggle = document.querySelector('.press-filter-toggle'); 4039 var list = document.getElementById('press-filter-list-mobile'); 4040 if (!toggle || !list) return; 4041 4042 toggle.addEventListener('click', function () { 4043 var isOpen = toggle.getAttribute('data-state') === 'open'; 4044 toggle.setAttribute('data-state', isOpen ? 'closed' : 'open'); 4045 toggle.setAttribute('aria-expanded', String(!isOpen)); 4046 list.classList.toggle('is-open', !isOpen); 4047 }); 4048 4049 // Close when clicking outside 4050 document.addEventListener('click', function (e) { 4051 if (!toggle.contains(e.target) && !list.contains(e.target)) { 4052 toggle.setAttribute('data-state', 'closed'); 4053 toggle.setAttribute('aria-expanded', 'false'); 4054 list.classList.remove('is-open'); 4055 } 4056 }); 4057 })(); 4058</script>
4058 4059 4060 4061</section> 4062 </main> 4063 4064 <div id="shopify-section-footer" class="shopify-section"> 4065<link href="//www.benangjarum.com/cdn/shop/t/18/assets/section-footer.css?v=62244166641745238671753973626" rel="stylesheet" type="text/css" media="all" /> 4066<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-newsletter.css?v=103472482056003053551753973576" media="print" onload="this.media='all'"> 4067<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-menu.css?v=1377882605498385961753973572" media="print" onload="this.media='all'"> 4068<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-payment.css?v=11545576558969830041753973572" media="print" onload="this.media='all'"> 4069<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-social.css?v=19393504955226793751753973573" media="print" onload="this.media='all'"> 4070<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" media="print" onload="this.media='all'"> 4071<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/disclosure.css?v=646595190999601341753973589" media="print" onload="this.media='all'"> 4072 4073<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-newsletter.css?v=103472482056003053551753973576" rel="stylesheet" type="text/css" media="all" /></noscript> 4074<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-menu.css?v=1377882605498385961753973572" rel="stylesheet" type="text/css" media="all" /></noscript> 4075<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-payment.css?v=11545576558969830041753973572" rel="stylesheet" type="text/css" media="all" /></noscript> 4076<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-social.css?v=19393504955226793751753973573" rel="stylesheet" type="text/css" media="all" /></noscript> 4077<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" rel="stylesheet" type="text/css" media="all" /></noscript> 4078<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/disclosure.css?v=646595190999601341753973589" rel="stylesheet" type="text/css" media="all" /></noscript><style data-shopify>.list-payment__item .icon { 4079 width: 40px; 4080 height: 40px; 4081 } 4082 4083 .footer { 4084 border: none; 4085 margin-top: 0px; 4086 } 4087 4088 .footer .list-menu__item { 4089 text-transform: unset!important; 4090 } 4091 4092 .footer .footer-block__heading { 4093 font-size: 12.75px; 4094 letter-spacing: 3.5px; 4095 font-weight: 400; 4096 } 4097 4098 .footer__content-bottom { 4099 border: none; 4100 } 4101 4102 .footer__kontak-layanan-konsumen { 4103 text-align: center; 4104 color: #808080; 4105 font-size: 10px; margin-top: 16px; 4106 } 4107 4108 4109 .section-footer-padding { 4110 padding-top: 27px; 4111 padding-bottom: 27px; 4112 } 4113 4114 #whatsapp_floating { 4115 position: fixed; 4116 bottom: 2vh; 4117 right: 1vw; 4118 z-index: 999; 4119 } 4120 4121 #whatsapp_floating img, #whatsapp_floating svg { 4122 width: 40px; 4123 height: 40px; 4124 } 4125 4126 4127 4128 @media screen and (min-width: 990px) { 4129 .footer { 4130 margin-top: 0px; 4131 } 4132 4133 .section-footer-padding { 4134 padding-top: 36px; 4135 padding-bottom: 36px; 4136 } 4137 } 4138 4139 @media only screen and (max-width: 989px) { 4140 #whatsapp_floating { 4141 bottom: 10vh; 4142 right: 2vw; 4143 } 4144 .footer-block__heading { 4145 display: none; 4146 } 4147 .footer-block__heading--list { 4148 display: block; 4149 text-align: center; 4150 color: #000; 4151 padding: 15px 0; 4152 width: 100%; 4153 text-transform: uppercase; 4154 font-size: 11px; 4155 border: none; 4156 border-bottom: 1px solid rgba(0,0,0,0.12); 4157 background-color: transparent; 4158 letter-spacing: 4px; 4159 font-family: Avenir Next Rounded, sans-serif !important; 4160 font-weight: 100; 4161 } 4162 4163 .footer-block:last-child .footer-block__heading--list { 4164 border-bottom: none!important; 4165 } 4166 4167 .footer-block .footer-block__details-content { 4168 display: none; 4169 } 4170 4171 .list-menu__item { 4172 justify-content: center; 4173 text-transform: capitalize; 4174 } 4175 4176 .footer-block__details-content { 4177 margin-bottom: 0; 4178 } 4179 4180 .footer-block__contactus .footer-block__heading { 4181 display: block; 4182 text-align: center; 4183 color: #000; 4184 width: 100%; 4185 text-transform: uppercase; 4186 font-size: 11px; 4187 background-color: transparent; 4188 letter-spacing: 4px; 4189 font-family: Avenir Next Rounded, sans-serif !important; 4190 font-weight: 100; 4191 } 4192
4193 /* Uses flexbox to perfectly center the inline-flex link wrappers */ 4194 .footer-block__contactus .whatsapp_text_link, 4195 .footer-block__contactus .email_address_link { 4196 display: flex; 4197 justify-content: center; 4198 width: 100%; 4199 } 4200 4201 .contact-link-style{ 4202 font-size: 12px; 4203 } 4204 } 4205 4206 @media screen and (max-width: 767px) { 4207 #whatsapp_floating { 4208 bottom: 2vh; 4209 right: 2vw; 4210 } 4211 #whatsapp_floating img, #whatsapp_floating svg { 4212 width: 40px; 4213 height: 40px; 4214 } 4215 } 4216 4217 @media only screen and (min-width: 990px) { 4218 .footer-block__heading { 4219 display: block; 4220 } 4221 .footer-block__heading--list { 4222 display: none; 4223 } 4224 .footer__content-top { 4225 margin: 0 40px; 4226 } 4227 .footer-block__details-content { 4228 display: block!important; 4229 } 4230 } 4231 4232 /* This applies the flexbox layout to both links */ 4233 .whatsapp_text_link a, 4234 .email_address_link a { 4235 display: inline-flex; 4236 align-items: center; 4237 gap: 8px; 4238 text-decoration: none; 4239 color: inherit; /* Keeps the text color consistent with your footer */ 4240 } 4241 4242 /* Aligns the icon and text */ 4243 .contact-link-style { 4244 display: inline-flex !important; 4245 align-items: center; 4246 gap: 10px; 4247 } 4248 4249 /* Matches your theme's exact underline offset and thickness on hover */ 4250 .contact-link-style:hover { 4251 text-decoration: underline; 4252 text-underline-offset: 0.3rem; 4253 } 4254 4255 .contact-svg-wrapper { 4256 display: inline-flex; 4257 width: 1.2em; 4258 height: 1.2em; 4259 flex-shrink: 0; 4260 } 4261 4262 .contact-svg-wrapper svg { 4263 width: 100%; 4264 height: 100%; 4265 fill: currentColor; 4266 }</style><footer class="footer color-background-1 gradient section-footer-padding"><div class="footer__content-top"><div class="footer__blocks-wrapper grid grid--1-col grid--2-col grid--4-col-tablet page-width "><button-collapsible 4267 class="footer-block grid__item footer-block--menu" 4268 4269 ><h2 class="footer-block__heading">Customer Information</h2> 4270 <button class="footer-block__heading--list collapsible">Customer Information<span> 4271 <svg 4272 aria-hidden="true" 4273 focusable="false" 4274 role="presentation" 4275 class="icon icon-chevron-down"
4276 viewBox="0 0 28 16" 4277 > 4278 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4279 </svg> 4280 </span> 4281 </button><ul class="footer-block__details-content collapsible-content list-unstyled"><li> 4282 <a 4283 href="https://account.benangjarum.com/pages/7b88a965-455a-444c-bc15-f5c7ef9f95ef?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMDNlZmMtMjUubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkxNDc2ODMxLCJuYmYiOjE3OTA4NzIwMzF9.wANl8zFdvfIYltvql5z5uMLYpLXStujRkjXVny30XvM®ion_country=US" 4284 class="link link--text list-menu__item list-menu__item--link" 4285 > 4286 Wishlist 4287 </a> 4288 </li><li> 4289 <a 4290 href="/pages/how-to-buy" 4291 class="link link--text list-menu__item list-menu__item--link" 4292 > 4293 How to Buy 4294 </a> 4295 </li><li> 4296 <a 4297 href="/pages/payment-information" 4298 class="link link--text list-menu__item list-menu__item--link" 4299 > 4300 Payment Information 4301 </a> 4302 </li><li> 4303 <a 4304 href="/pages/shipping-information" 4305 class="link link--text list-menu__item list-menu__item--link" 4306 > 4307 Shipping Information 4308 </a> 4309 </li><li> 4310 <a 4311 href="/pages/returns-exchanges" 4312 class="link link--text list-menu__item list-menu__item--link" 4313 > 4314 Returns & Exchanges 4315 </a> 4316 </li><li> 4317 <a 4318 href="/pages/contact-us" 4319 class="link link--text list-menu__item list-menu__item--link" 4320 > 4321 Contact Us 4322 </a> 4323 </li><li> 4324 <a 4325 href="/pages/faq" 4326 class="link link--text list-menu__item list-menu__item--link" 4327 > 4328 FAQ 4329 </a> 4330 </li></ul></button-collapsible><button-collapsible 4331 class="footer-block grid__item footer-block--menu" 4332 4333 ><h2 class="footer-block__heading">Information</h2> 4334 <button class="footer-block__heading--list collapsible">Information<span> 4335 <svg 4336 aria-hidden="true" 4337 focusable="false" 4338 role="presentation" 4339 class="icon icon-chevron-down"
4340 viewBox="0 0 28 16" 4341 > 4342 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4343 </svg> 4344 </span> 4345 </button><ul class="footer-block__details-content collapsible-content list-unstyled"><li> 4346 <a 4347 href="/pages/our-story" 4348 class="link link--text list-menu__item list-menu__item--link" 4349 > 4350 Our Story 4351 </a> 4352 </li><li> 4353 <a 4354 href="/pages/privacy-policy" 4355 class="link link--text list-menu__item list-menu__item--link" 4356 > 4357 Privacy Policy 4358 </a> 4359 </li><li> 4360 <a 4361 href="/blogs/lifestyle" 4362 class="link link--text list-menu__item list-menu__item--link" 4363 > 4364 Lifestyle Blog 4365 </a> 4366 </li><li> 4367 <a 4368 href="https://www.benangjarum.com/blogs/news-and-events" 4369 class="link link--text list-menu__item list-menu__item--link" 4370 > 4371 Events & Highlights 4372 </a> 4373 </li><li> 4374 <a 4375 href="/pages/affiliate-program" 4376 class="link link--text list-menu__item list-menu__item--link" 4377 > 4378 Affiliate Program 4379 </a> 4380 </li></ul></button-collapsible><button-collapsible 4381 class="footer-block grid__item" 4382 4383 ><h2 class="footer-block__heading">Download App</h2> 4384 <button class="footer-block__heading--list collapsible">Download App<span> 4385 <svg 4386 aria-hidden="true" 4387 focusable="false" 4388 role="presentation" 4389 class="icon icon-chevron-down"
4390 viewBox="0 0 28 16" 4391 > 4392 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4393 </svg> 4394 </span> 4395 </button><style> 4396 .footer-block__download-app > div { 4397 display: flex; 4398 justify-content: center; 4399 gap: 8px; 4400 } 4401 4402 .footer-block__download-app svg { 4403 vertical-align: middle; 4404 } 4405 4406 @media screen and (min-width: 990px) { 4407 .footer-block__download-app > div { 4408 flex-direction: column; 4409 } 4410 4411 .footer-block__download-app svg { 4412 width: 160px; 4413 height: auto; 4414 } 4415 } 4416 4417 @media screen and (min-width: 750px) and (max-width: 989px) { 4418 .footer-block__download-app > div { 4419 flex-direction: row; 4420 padding-block: 16px; 4421 align-items: center; 4422 } 4423 4424 .footer-block__download-app svg { 4425 height: 60px; 4426 width: auto; 4427 } 4428 } 4429 4430 @media screen and (max-width: 749px) { 4431 .footer-block__download-app > div { 4432 padding-block: 8px; 4433 flex-direction: column; 4434 align-items: center; 4435 } 4436 4437 .footer-block__download-app svg { 4438 height: auto; 4439 width: 148px; 4440 } 4441 } 4442 </style> 4443 <div class="footer-block__download-app footer-block__details-content collapsible-content"> 4444 <div> 4445 <a href="https://apps.apple.com/app/benang-jarum/id6550890077"> 4446 4447 <svg width="239" height="81" viewBox="0 0 239 81" fill="none" xmlns="http://www.w3.org/2000/svg"> 4448 <path d="M219.898 0.433853H19.0372C18.3051 0.433853 17.5817 0.433853 16.8515 0.437847C16.2402 0.44184 15.6338 0.45344 15.0167 0.463204C13.6759 0.478981 12.3384 0.59693 11.0156 0.816026C9.69468 1.03989 8.41514 1.46194 7.22025 2.06791C6.02683 2.679 4.93636 3.47304 3.98841 4.42124C3.03548 5.36678 2.24114 6.45968 1.63594 7.65794C1.02906 8.85382 0.608254 10.1353 0.388045 11.4582C0.165742 12.7793 0.0461189 14.1157 0.0302489 15.4554C0.0117202 16.0675 0.00976352 16.6817 0 17.294V63.4444C0.00976352 64.0643 0.0117202 64.6649 0.0302489 65.2851C0.0461238 66.6246 0.165747 67.961 0.388045 69.2821C0.607646 70.6057 1.02848 71.8879 1.63594 73.0843C2.24087 74.2786 3.03532 75.3671 3.98841 76.3074C4.93276 77.2598 6.02394 78.0544 7.22025 78.6608C8.41513 79.2684 9.69454 79.693 11.0156 79.9203C12.3386 80.1376 13.676 80.2556 15.0167 80.2733C15.6338 80.2869 16.2402 80.2947 16.8515 80.2947C17.5817 80.2987 18.3051 80.2987 19.0372 80.2987H219.898C220.616 80.2987 221.345 80.2987 222.063 80.2947C222.671 80.2947 223.295 80.2869 223.903 80.2733C225.241 80.2566 226.576 80.1386 227.897 79.9203C229.222 79.6914 230.506 79.2669 231.707 78.6608C232.902 78.0541 233.992 77.2595 234.936 76.3074C235.886 75.3634 236.682 74.2758 237.295 73.0843C237.898 71.8871 238.315 70.6049 238.531 69.2821C238.754 67.9608 238.877 66.6248 238.901 65.2851C238.909 64.6649 238.909 64.0643 238.909 63.4444C238.925 62.719 238.925 61.9976 238.925 61.2605V19.4739C238.925 18.7427 238.925 18.0174 238.909 17.294C238.909 16.6817 238.909 16.0675 238.901 15.4553C238.877 14.1155 238.754 12.7794 238.531 11.4581C238.314 10.136 237.897 8.8546 237.295 7.65786C236.062 5.25608 234.108 3.30105 231.707 2.06773C230.506 1.46325 229.222 1.04131 227.897 0.815847C226.577 0.595785 225.242 0.477794 223.903 0.462924C223.295 0.453181 222.671 0.44148 222.063 0.437587C221.345 0.433594 220.616 0.433853 219.898 0.433853Z" fill="#A6A6A6"/> 4449 <path d="M16.8603 78.5465C16.252 78.5465 15.6583 78.5387 15.0548 78.5251C13.8045 78.5088 12.557 78.4 11.3228 78.1995C10.1719 78.0013 9.05703 77.6326 8.0149 77.1055C6.98233 76.5829 6.04054 75.8975 5.22561 75.0758C4.39888 74.2637 3.7106 73.3218 3.18803 72.2875C2.6597 71.2464 2.29406 70.1305 2.10386 68.9787C1.89845 67.741 1.78732 66.4895 1.77142 65.235C1.75876 64.8139 1.74219 63.4119
44491.74219 63.4119V17.2889C1.74219 17.2889 1.75984 15.9084 1.77152 15.5028C1.78674 14.2503 1.89723 13.0008 2.10202 11.765C2.29258 10.61 2.65849 9.4909 3.18711 8.44643C3.70776 7.4128 4.39222 6.47023 5.21397 5.65525C6.03479 4.83253 6.97959 4.14366 8.01392 3.61377C9.05366 3.08842 10.1664 2.72232 11.315 2.52773C12.5533 2.3252 13.805 2.21571 15.0597 2.20016L16.8613 2.17578H222.052L223.875 2.20114C225.118 2.21591 226.359 2.32443 227.586 2.52577C228.746 2.72281 229.87 3.09146 230.922 3.61962C232.994 4.6875 234.68 6.377 235.744 8.4513C236.264 9.48856 236.624 10.5985 236.812 11.7436C237.02 12.9895 237.136 14.2488 237.159 15.5116C237.165 16.077 237.165 16.6844 237.165 17.2889C237.181 18.0376 237.181 18.7503 237.181 19.4688V61.2554C237.181 61.9807 237.181 62.6885 237.165 63.4021C237.165 64.0514 237.165 64.6462 237.157 65.2584C237.134 66.4986 237.02 67.7355 236.816 68.9591C236.63 70.1193 236.266 71.2439 235.738 72.2935C235.212 73.3166 234.527 74.2503 233.71 75.0602C232.895 75.8864 231.951 76.5757 230.916 77.1017C229.867 77.6328 228.745 78.0029 227.586 78.1995C226.352 78.4011 225.104 78.5099 223.854 78.5251C223.269 78.5387 222.656 78.5465 222.062 78.5465L219.897 78.5505L16.8603 78.5465Z" fill="black"/> 4450 <path d="M49.4432 41.0011C49.4647 39.3346 49.9073 37.7007 50.73 36.2512C51.5526 34.8017 52.7286 33.5839 54.1484 32.7111C53.2464 31.4229 52.0565 30.3628 50.6732 29.615C49.2899 28.8672 47.7513 28.4522 46.1795 28.403C42.8267 28.0511 39.5763 30.4093 37.8677 30.4093C36.1261 30.4093 33.4956 28.4379 30.6629 28.4962C28.8306 28.5554 27.045 29.0882 25.4798 30.0427C23.9147 30.9972 22.6236 32.3409 21.7321 33.9427C17.8706 40.6283 20.751 50.4537 24.4499 55.8578C26.3006 58.504 28.4635 61.4599 31.2936 61.3551C34.0631 61.2402 35.0974 59.5891 38.4404 59.5891C41.7523 59.5891 42.7227 61.3551 45.6103 61.2884C48.582 61.2402 50.4544 58.6305 52.2401 55.9592C53.5698 54.0737 54.593 51.9897 55.2718 49.7846C53.5453 49.0544 52.072 47.8321 51.0355 46.2702C49.999 44.7082 49.4452 42.8757 49.4432 41.0011Z" fill="white"/> 4451 <path d="M43.99 24.8483C45.6103 22.9032 46.4086 20.4031 46.2153 17.8789C43.7398 18.1389 41.4531 19.322 39.8109 21.1925C39.008 22.1063 38.393 23.1694 38.0012 24.321C37.6094 25.4726 37.4484 26.6901 37.5274 27.9039C38.7655 27.9167 39.9905 27.6483 41.1099 27.119C42.2294 26.5898 43.2141 25.8134 43.99 24.8483Z" fill="white"/> 4452 <path d="M84.4539 54.6315H75.0031L72.7335 61.3331H68.7305L77.6822 36.5391H81.8411L90.7928 61.3331H86.7216L84.4539 54.6315ZM75.9819 51.5391H83.4732L79.7803 40.663H79.6769L75.9819 51.5391Z" fill="white"/>
4453 <path d="M110.13 52.31C110.13 57.9274 107.123 61.5366 102.586 61.5366C101.436 61.5967 100.293 61.3319 99.2873 60.7726C98.2814 60.2133 97.4534 59.382 96.898 58.3739H96.8121V67.3275H93.1016V43.2706H96.6932V46.2772H96.7615C97.3424 45.274 98.1844 44.447 99.198 43.8843C100.212 43.3215 101.359 43.0441 102.517 43.0815C107.105 43.0815 110.13 46.7081 110.13 52.31ZM106.316 52.31C106.316 48.6502 104.424 46.2441 101.539 46.2441C98.7035 46.2441 96.7965 48.7009 96.7965 52.31C96.7965 55.9523 98.7035 58.3915 101.539 58.3915C104.424 58.3915 106.316 56.003 106.316 52.31Z" fill="white"/> 4454 <path d="M130.02 52.31C130.02 57.9274 127.013 61.5365 122.476 61.5365C121.327 61.5967 120.184 61.3319 119.178 60.7726C118.172 60.2132 117.344 59.382 116.789 58.3739H116.703V67.3275H112.992V43.2706H116.584V46.2772H116.652C117.233 45.274 118.075 44.447 119.089 43.8843C120.102 43.3215 121.249 43.0441 122.408 43.0815C126.996 43.0815 130.02 46.7081 130.02 52.31ZM126.206 52.31C126.206 48.6502 124.315 46.2441 121.429 46.2441C118.594 46.2441 116.687 48.7008 116.687 52.31C116.687 55.9523 118.594 58.3915 121.429 58.3915C124.315 58.3915 126.206 56.0029 126.206 52.31Z" fill="white"/> 4455 <path d="M143.173 54.432C143.448 56.8908 145.837 58.5051 149.101 58.5051C152.228 58.5051 154.478 56.8907 154.478 54.6737C154.478 52.7492 153.121 51.5969 149.908 50.8072L146.695 50.0331C142.142 48.9334 140.028 46.8042 140.028 43.3491C140.028 39.0712 143.756 36.1328 149.05 36.1328C154.289 36.1328 157.881 39.0712 158.002 43.3491H154.256C154.032 40.8748 151.987 39.3812 148.997 39.3812C146.008 39.3812 143.963 40.8924 143.963 43.0918C143.963 44.8446 145.269 45.8761 148.465 46.6657L151.197 47.3364C156.284 48.5395 158.398 50.583 158.398 54.2096C158.398 58.8482 154.703 61.7534 148.826 61.7534C143.327 61.7534 139.615 58.9164 139.375 54.4318L143.173 54.432Z" fill="white"/> 4456 <path d="M166.403 38.9844V43.2623H169.841V46.2007H166.403V56.1662C166.403 57.7144 167.092 58.4358 168.603 58.4358C169.011 58.4287 169.418 58.4 169.823 58.35V61.2708C169.144 61.3977 168.453 61.4552 167.762 61.4424C164.103 61.4424 162.675 60.0678 162.675 56.562V46.2007H160.047V43.2623H162.675V38.9844H166.403Z" fill="white"/> 4457 <path d="M171.836 52.3085C171.836 46.6209 175.186 43.0469 180.409 43.0469C185.651 43.0469 188.985 46.6208 188.985 52.3085C188.985 58.0118 185.668 61.5702 180.409 61.5702C175.153 61.5702 171.836 58.0118 171.836 52.3085ZM185.204 52.3085C185.204 48.4069 183.416 46.1042 180.409 46.1042C177.403 46.1042 175.617 48.4245 175.617 52.3085C175.617 56.2257 177.403 58.5109 180.409 58.5109C183.416 58.5109 185.204 56.2257 185.204 52.3085Z" fill="white"/> 4458 <path d="M192.035 43.2704H195.574V46.3472H195.66C195.899 45.3863 196.462 44.537 197.254 43.9423C198.046 43.3475 199.018 43.0435 200.008 43.0813C200.436 43.0798 200.862 43.1262 201.279 43.2197V46.6904C200.74 46.5254 200.176 46.4497 199.612 46.4662C199.073 46.4443 198.536 46.5394 198.037 46.7448C197.538 46.9502 197.09 47.2611 196.722 47.6563C196.355 48.0514 196.077 48.5213 195.909 49.0338C195.74 49.5462 195.685 50.0891 195.746 50.6251V61.3472H192.035L192.035 43.2704Z" fill="white"/> 4459 <path d="M218.392 56.0366C217.893 59.3181 214.697 61.5702 210.609 61.5702C205.35 61.5702 202.086 58.0469 202.086 52.3943C202.086 46.7242 205.367 43.0469 210.453 43.0469C215.454 43.0469 218.599 46.4825 218.599 51.9634V53.2347H205.832V53.4589C205.773 54.1242 205.856 54.7944 206.076 55.425C206.296 56.0556 206.648 56.6322 207.107 57.1165C207.567 57.6008 208.125 57.9816 208.744 58.2338C209.362 58.486 210.027 58.6037 210.694 58.5792C211.571 58.6613 212.451 58.4582 213.203 58.0001C213.956 57.542 214.54 56.8534 214.869 56.0366L218.392 56.0366ZM205.849 50.6414H214.887C214.92 50.0433 214.829 49.4447 214.62 48.8832C214.411 48.3217 214.088 47.8095 213.672 47.3787C213.256 46.9479 212.755 46.6078 212.201 46.3798C211.647 46.1517 211.052 46.0406 210.453 46.0535C209.848 46.0499 209.249 46.166 208.69 46.3951C208.131 46.6242 207.623 46.9617 207.195 47.3883C206.767 47.8148 206.428 48.3219 206.197 48.8803C205.966 49.4386 205.848 50.0372 205.849 50.6414Z" fill="white"/> 4460 <path d="M75.5142 17.8651C76.2921 17.8093 77.0727 17.9268 77.7997 18.2092C78.5267 18.4916 79.182 18.9318 79.7183 19.4981C80.2545 20.0644 80.6584 20.7426 80.9008 21.4839C81.1432 22.2252 81.2181 23.011 81.12 23.7847C81.12 27.5908 79.0629 29.7786 75.5142 29.7786H71.2109V17.8651H75.5142ZM73.0613 28.0938H75.3075C75.8634 28.127 76.4197 28.0359 76.9359 27.827C77.4521 27.6181 77.9152 27.2967 78.2916 26.8863C78.6679 26.4759 78.948 25.9867 79.1115 25.4544C79.2749 24.922 79.3176 24.3599 79.2364 23.8
446009C79.3117 23.2603 79.2647 22.7017 79.0987 22.1733C78.9328 21.6448 78.652 21.1596 78.2765 20.7525C77.901 20.3453 77.4401 20.0262 76.9268 19.8181C76.4135 19.61 75.8606 19.518 75.3075 19.5487H73.0613V28.0938Z" fill="white"/> 4461 <path d="M83.2037 25.282C83.1471 24.6912 83.2147 24.0951 83.4021 23.5319C83.5894 22.9687 83.8924 22.4509 84.2917 22.0117C84.6909 21.5725 85.1775 21.2215 85.7203 20.9814C86.263 20.7412 86.85 20.6172 87.4436 20.6172C88.0371 20.6172 88.6241 20.7412 89.1669 20.9814C89.7097 21.2215 90.1963 21.5725 90.5955 22.0117C90.9947 22.4509 91.2977 22.9687 91.4851 23.5319C91.6724 24.0951 91.74 24.6912 91.6835 25.282C91.7411 25.8735 91.6743 26.4704 91.4874 27.0345C91.3006 27.5986 90.9977 28.1174 90.5984 28.5575C90.1991 28.9976 89.7121 29.3492 89.1688 29.5899C88.6255 29.8306 88.0378 29.9549 87.4436 29.9549C86.8493 29.9549 86.2616 29.8306 85.7183 29.5899C85.175 29.3492 84.688 28.9976 84.2887 28.5575C83.8894 28.1174 83.5866 27.5986 83.3997 27.0345C83.2128 26.4704 83.1461 25.8735 83.2037 25.282ZM89.8584 25.282C89.8584 23.3332 88.9829 22.1935 87.4465 22.1935C85.9042 22.1935 85.0366 23.3332 85.0366 25.2821C85.0366 27.2465 85.9042 28.3774 87.4465 28.3774C88.983 28.3774 89.8584 27.2387 89.8584 25.282Z" fill="white"/> 4462 <path d="M102.964 29.7797H101.123L99.2648 23.1581H99.1244L97.274 29.7797H95.4509L92.9727 20.7891H94.7724L96.3829 27.6494H96.5155L98.364 20.7891H100.066L101.915 27.6494H102.055L103.658 20.7891H105.432L102.964 29.7797Z" fill="white"/> 4463 <path d="M107.512 20.7918H109.22V22.22H109.352C109.577 21.707 109.957 21.277 110.438 20.9899C110.919 20.7028 111.477 20.5728 112.035 20.6182C112.473 20.5853 112.912 20.6513 113.321 20.8112C113.729 20.9711 114.096 21.2209 114.395 21.5421C114.694 21.8632 114.917 22.2475 115.047 22.6664C115.177 23.0853 115.211 23.5282 115.147 23.9622V29.7823H113.373V24.4077C113.373 22.9629 112.745 22.2444 111.433 22.2444C111.136 22.2306 110.839 22.2811 110.564 22.3926C110.288 22.5041 110.04 22.6738 109.836 22.8902C109.632 23.1066 109.477 23.3646 109.382 23.6463C109.287 23.9281 109.255 24.2271 109.286 24.5228V29.7824H107.512L107.512 20.7918Z" fill="white"/> 4464 <path d="M117.977 17.2773H119.751V29.7777H117.977V17.2773Z" fill="white"/> 4465 <path d="M122.219 25.2822C122.163 24.6913 122.23 24.0952 122.418 23.532C122.605 22.9688 122.908 22.4509 123.307 22.0117C123.707 21.5725 124.193 21.2215 124.736 20.9814C125.279 20.7412 125.866 20.6172 126.46 20.6172C127.053 20.6172 127.64 20.7412 128.183 20.9814C128.726 21.2215 129.213 21.5725 129.612 22.0117C130.011 22.4509 130.314 22.9688 130.501 23.532C130.689 24.0952 130.757 24.6913 130.7 25.2822C130.758 25.8737 130.691 26.4706 130.504 27.0347C130.317 27.5988 130.014 28.1176 129.615 28.5576C129.215 28.9977 128.728 29.3494 128.185 29.59C127.642 29.8307 127.054 29.955 126.46 29.955C125.865 29.955 125.278 29.8307 124.734 29.59C124.191 29.3494 123.704 28.9977 123.305 28.5576C122.905 28.1176 122.602 27.5988 122.415 27.0347C122.229 26.4706 122.162 25.8737 122.219 25.2822ZM128.874 25.2822C128.874 23.3334 127.999 22.1937 126.462 22.1937C124.92 22.1937 124.052 23.3334 124.052 25.2822C124.052 27.2467 124.92 28.3776 126.462 28.3776C127.999 28.3776 128.874 27.2389 128.874 25.2822Z" fill="white"/> 4466 <path d="M132.562 27.2388C132.562 25.6204 133.768 24.6874 135.906 24.5548L138.342 24.4145V23.6384C138.342 22.6889 137.714 22.1527 136.501 22.1527C135.511 22.1527 134.824 22.5163 134.627 23.152H132.91C133.091 21.6077 134.544 20.6172 136.583 20.6172C138.837 20.6172 140.108 21.7393 140.108 23.6384V29.7814H138.4V28.5179H138.26C137.975 28.9711 137.575 29.3406 137.1 29.5886C136.626 29.8366 136.094 29.9542 135.559 29.9295C135.182 29.9687 134.8 29.9285 134.44 29.8113C134.079 29.6941 133.746 29.5026 133.464 29.249C133.182 28.9955 132.956 28.6857 132.8 28.3394C132.645 27.9932 132.564 27.6182 132.562 27.2388ZM138.342 26.4705V25.7189L136.146 25.8593C134.908 25.9421 134.347 26.3633 134.347 27.1559C134.347 27.9651 135.049 28.436 136.014 28.436C136.297 28.4646 136.582 28.436 136.854 28.352C137.125 28.2679 137.377 28.1301 137.594 27.9468C137.812 27.7634 137.99 27.5382 138.118 27.2846C138.247 27.031 138.323 26.7541 138.342 26.4705Z" fill="white"/> 4467 <path d="M142.445 25.2785C142.445 22.4376 143.906 20.6379 146.177 20.6379C146.739 20.612 147.297 20.7466 147.785 21.0259C148.273 21.3052 148.672 21.7177 148.934 22.2152H149.067V17.2773H150.841V29.7777H149.141V28.3572H149.001C148.718 28.8514 148.305 29.2587 147.808 29.5352C147.31 29.8117 146.746 29.9468 146.177 29.9258C143.89 29.9259 142.445 28.1262 142.445 25.2785ZM144.278 25.2785C144.278 27.1854 145.177 28.3329 146.68 28.3329C148.176 28.3329 149.1 27.1689 149.1 25.2863C149.1 23.4125 148.166 22.2319 146.68 22.2319C145.187 22.2319 144.278 23.3871 144.278 25.2785Z" fill="white"/> 4468 <path d="M158.184 25.282C158.128 24.6912 158.195 24.0951 158.383 23.5319C158.57 22.9687 158.873 22.4509 159.272 22.0117C159.671 21.5725 160.158 21.2215 160.701 20.9814C161.244 20.7412 161.83 20.61
446872 162.424 20.6172C163.018 20.6172 163.605 20.7412 164.147 20.9814C164.69 21.2215 165.177 21.5725 165.576 22.0117C165.975 22.4509 166.278 22.9687 166.466 23.5319C166.653 24.0951 166.72 24.6912 166.664 25.282C166.722 25.8735 166.655 26.4704 166.468 27.0345C166.281 27.5986 165.978 28.1174 165.579 28.5575C165.18 28.9976 164.693 29.3492 164.149 29.5899C163.606 29.8306 163.018 29.9549 162.424 29.9549C161.83 29.9549 161.242 29.8306 160.699 29.5899C160.155 29.3492 159.668 28.9976 159.269 28.5575C158.87 28.1174 158.567 27.5986 158.38 27.0345C158.193 26.4704 158.127 25.8735 158.184 25.282ZM164.839 25.282C164.839 23.3332 163.963 22.1935 162.427 22.1935C160.885 22.1935 160.017 23.3332 160.017 25.2821C160.017 27.2465 160.885 28.3774 162.427 28.3774C163.963 28.3774 164.839 27.2387 164.839 25.282Z" fill="white"/> 4469 <path d="M169.043 20.7918H170.751V22.22H170.884C171.109 21.707 171.488 21.277 171.969 20.9899C172.45 20.7028 173.008 20.5728 173.567 20.6182C174.004 20.5853 174.443 20.6513 174.852 20.8112C175.26 20.9711 175.628 21.2209 175.926 21.5421C176.225 21.8632 176.448 22.2475 176.578 22.6664C176.708 23.0853 176.743 23.5282 176.679 23.9622V29.7823H174.904V24.4077C174.904 22.9629 174.276 22.2444 172.964 22.2444C172.667 22.2306 172.371 22.2811 172.095 22.3926C171.819 22.5041 171.571 22.6738 171.367 22.8902C171.163 23.1066 171.008 23.3646 170.914 23.6463C170.819 23.9281 170.786 24.2271 170.817 24.5228V29.7824H169.043V20.7918Z" fill="white"/> 4470 <path d="M186.704 18.5469V20.8262H188.651V22.3208H186.704V26.9438C186.704 27.8856 187.092 28.2979 187.975 28.2979C188.201 28.2972 188.427 28.2835 188.651 28.257V29.735C188.333 29.792 188.01 29.8223 187.686 29.8256C185.713 29.8256 184.927 29.1315 184.927 27.3981V22.3207H183.5V20.8261H184.927V18.5469H186.704Z" fill="white"/> 4471 <path d="M191.074 17.2773H192.833V22.2319H192.973C193.209 21.7141 193.599 21.2816 194.09 20.9934C194.58 20.7052 195.148 20.5753 195.715 20.6213C196.15 20.5976 196.585 20.6703 196.989 20.8341C197.393 20.9979 197.755 21.2488 198.051 21.5689C198.347 21.8891 198.568 22.2705 198.7 22.6861C198.831 23.1017 198.869 23.5411 198.811 23.973V29.7777H197.035V24.4108C197.035 22.9747 196.366 22.2474 195.112 22.2474C194.807 22.2224 194.501 22.2643 194.214 22.3703C193.927 22.4762 193.666 22.6436 193.45 22.8607C193.235 23.0778 193.069 23.3394 192.965 23.6272C192.861 23.915 192.822 24.222 192.849 24.5268V29.7776H191.074L191.074 17.2773Z" fill="white"/> 4472 <path d="M209.154 27.354C208.913 28.1757 208.39 28.8864 207.678 29.3619C206.966 29.8374 206.109 30.0474 205.258 29.955C204.666 29.9707 204.077 29.8572 203.533 29.6226C202.989 29.3879 202.502 29.0376 202.107 28.5961C201.712 28.1546 201.418 27.6324 201.245 27.0657C201.071 26.499 201.024 25.9014 201.105 25.3145C201.026 24.7257 201.074 24.1268 201.247 23.5585C201.42 22.9901 201.713 22.4654 202.106 22.02C202.499 21.5746 202.983 21.2189 203.525 20.9769C204.068 20.7349 204.656 20.6123 205.25 20.6173C207.752 20.6173 209.261 22.3264 209.261 25.1497V25.7688H202.912V25.8682C202.884 26.1982 202.926 26.5303 203.034 26.8432C203.142 27.1562 203.314 27.4431 203.54 27.6856C203.765 27.9281 204.039 28.1209 204.343 28.2514C204.647 28.382 204.976 28.4475 205.307 28.4439C205.731 28.4948 206.161 28.4184 206.542 28.2243C206.923 28.0302 207.237 27.7273 207.446 27.3539L209.154 27.354ZM202.912 24.4565H207.453C207.476 24.1548 207.435 23.8517 207.333 23.5668C207.231 23.2818 207.071 23.0213 206.863 22.8019C206.654 22.5826 206.402 22.4093 206.123 22.2931C205.843 22.177 205.543 22.1205 205.24 22.1275C204.933 22.1236 204.629 22.1812 204.345 22.2969C204.06 22.4126 203.802 22.5841 203.585 22.8011C203.368 23.0182 203.197 23.2765 203.081 23.5608C202.966 23.8451 202.908 24.1497 202.912 24.4565Z" fill="white"/> 4473 </svg> 4474 4475 4476 4477 </a> 4478 <a href="https://play.google.com/store/apps/details?id=co.app.id_fjdZ61kRle"> 4479 4480 <svg width="241" height="72" viewBox="0 0 241 72" fill="none" xmlns="http://www.w3.org/2000/svg"> 4481 <path d="M231.361 0.445312H9.13889C4.22969 0.445312 0.25 4.425 0.25 9.3342V62.6675C0.25 67.5767 4.22969 71.5564 9.13889 71.5564H231.361C236.27 71.5564 240.25 67.5767 240.25 62.6675V9.3342C240.25 4.425 236.27 0.445312 231.361 0.445312Z" fill="black"/> 4482 <path d="M231.361 1.86754C233.341 1.86754 235.241 2.6542 236.641 4.05447C238.041 5.45474 238.828 7.35392 238.828 9.3342V62.6675C238.828 64.6478 238.041 66.547 236.641 67.9473C235.241 69.3475 233.341 70.1342 231.361 70.1342H9.13889C7.15861 70.1342 5.25943 69.3475 3.85916 67.9473C2.45889 66.547 1.67222 64.6478 1.67222 62.6675V9.3342C1.67222 7.35392 2.45889 5.45474 3.85916 4.05447C5.25943 2.6542 7.15861 1.86754 9.13889 1.86754H231.361ZM231.361 0.445312H9.13889C6.78141 0.445313 4.52049 1.38182 2.8535 3.04881C1.18651 4.7158
44820.25 6.97672 0.25 9.3342V62.6675C0.25 65.025 1.18651 67.2859 2.8535 68.9529C4.52049 70.6199 6.78141 71.5564 9.13889 71.5564H231.361C233.719 71.5564 235.98 70.6199 237.647 68.9529C239.314 67.2859 240.25 65.025 240.25 62.6675V9.3342C240.25 6.97672 239.314 4.7158 237.647 3.04881C235.98 1.38182 233.719 0.445313 231.361 0.445312Z" fill="#A6A6A6"/> 4483 <path d="M84.5549 18.6493C84.5841 19.3012 84.481 19.9523 84.2518 20.5634C84.0227 21.1745 83.6722 21.7328 83.2215 22.2048C82.7165 22.7262 82.107 23.1351 81.433 23.4047C80.7591 23.6743 80.0357 23.7985 79.3104 23.7693C78.5809 23.7855 77.8558 23.6519 77.1801 23.3767C76.5043 23.1015 75.8921 22.6905 75.3815 22.1693C74.3456 21.1096 73.7656 19.6867 73.7656 18.2048C73.7656 16.723 74.3456 15.3 75.3815 14.2404C76.1735 13.4665 77.1766 12.9439 78.2647 12.7383C79.3527 12.5327 80.4773 12.6533 81.4971 13.0848C82.1382 13.3483 82.71 13.7559 83.1682 14.2759L82.226 15.2181C81.8729 14.7929 81.4256 14.4557 80.9195 14.2335C80.4134 14.0113 79.8625 13.9102 79.3104 13.9381C78.6136 13.943 77.9285 14.1184 77.3151 14.4491C76.7017 14.7798 76.1787 15.2557 75.7917 15.8353C75.4047 16.4148 75.1655 17.0803 75.0951 17.7736C75.0247 18.4669 75.1252 19.1669 75.3877 19.8124C75.6503 20.4579 76.067 21.0293 76.6014 21.4765C77.1358 21.9238 77.7716 22.2334 78.4532 22.3782C79.1349 22.523 79.8416 22.4987 80.5117 22.3073C81.1818 22.1159 81.7948 21.7634 82.2971 21.2804C82.8401 20.685 83.155 19.9167 83.186 19.1115H79.3104V17.8315H84.4838C84.5242 18.1024 84.548 18.3755 84.5549 18.6493Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4484 <path d="M92.6906 14.2062H87.8906V17.584H92.2639V18.864H87.8906V22.2417H92.6906V23.5573H86.5039V12.8906H92.6906V14.2062Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4485 <path d="M98.5235 23.5573H97.1546V14.2062H94.168V12.8906H101.581V14.2062H98.5235V23.5573Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4486 <path d="M106.816 23.5573V12.8906H108.185V23.5573H106.816Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4487 <path d="M114.258 23.5573H112.889V14.2062H109.902V12.8906H117.227V14.2062H114.258V23.5573Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4488 <path d="M131.109 22.173C130.596 22.6869 129.986 23.0946 129.315 23.3727C128.644 23.6509 127.925 23.794 127.198 23.794C126.472 23.794 125.753 23.6509 125.082 23.3727C124.41 23.0946 123.801 22.6869 123.287 22.173C122.282 21.1047 121.723 19.6932 121.723 18.2264C121.723 16.7596 122.282 15.3481 123.287 14.2797C123.79 13.7514 124.397 13.3344 125.071 13.0557C125.745 12.777 126.47 12.6429 127.198 12.6619C127.926 12.6504 128.649 12.788 129.321 13.0662C129.994 13.3445 130.602 13.7574 131.109 14.2797C131.621 14.7997 132.022 15.4168 132.291 16.0947C132.56 16.7726 132.69 17.4974 132.674 18.2264C132.697 18.9563 132.57 19.6832 132.301 20.3621C132.032 21.041 131.627 21.6574 131.109 22.173ZM124.301 21.2842C124.679 21.6679 125.13 21.9727 125.628 22.1807C126.125 22.3887 126.659 22.4958 127.198 22.4958C127.738 22.4958 128.271 22.3887 128.769 22.1807C129.266 21.9727 129.717 21.6679 130.096 21.2842C130.863 20.4506 131.289 19.3592 131.289 18.2264C131.289 17.0936 130.863 16.0022 130.096 15.1686C129.717 14.7848 129.266 14.4801 128.769 14.2721C128.271 14.0641 127.738 13.957 127.198 13.957C126.659 13.957 126.125 14.0641 125.628 14.2721C125.13 14.4801 124.679 14.7848 124.301 15.1686C123.533 16.0022 123.108 17.0936 123.108 18.2264C123.108 19.3592 123.533 20.4506 124.301 21.2842Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4489 <path d="M134.617 23.5573V12.8906H136.271L141.462 21.1928V19.1306V12.8906H142.831V23.5573H141.408L135.986 14.864V16.9084V23.5573H134.617Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4490 <path d="M121.385 39.1144C119.887 39.118 118.424 39.5656 117.18 40.4007C115.937 41.2358 114.969 42.4208 114.399 43.806C113.829 45.1912 113.683 46.7143 113.978 48.1827C114.274 49.6511 114.999 50.9988 116.06 52.0555C117.122 53.1121 118.473 53.8302 119.943 54.119C121.412 54.4078 122.935 54.2542 124.317 53.6778C125.7 53.1013 126.88 52.1279 127.71 50.8805C128.539 49.6331 128.98 48.1679 128.976 46.67C128.991 45.6708 128.804 44.6789 128.427 43.7533C128.05 42.8277 127.491 41.9874 126.783 41.2825C126.074 40.5775 125.232 40.0222 124.304 39.6498C123.377 39.2773 122.384 39.0953 121.385 39.1144ZM121.385 51.2567C120.467 51.3209 119.551 51.1074 118.756 50.644C117.96 50.1806 117.323 49.4888 116.926 48.6583C116.53 47.8279 116.392 46.8973 116.531 45.9876C116.67 45.0779 117.08 44.231 117.707 43.5572C118.333 42.8833 119.149 42.4136 120.046 42.2092C120.943 42.0047 121.881 42.0749 122.738 42.4106C123.595 42.7463 124.331 43.3321 124.851 44.0917C125.37 44.8513 125.649 45.7497 125.652 46.67C125.68 47.2531 125.592 47.8361 125.392 48.3845C125.191 48.933 124.883 49.4357 124.486 49.8632C124.088 50.2907 123.609 50.6342 123.076 50.8735C122.544 51.1129 121.969 51.2431 121.385 51.2567ZM104.816 39.1144C103.318 39.118 101.855 39.5656 100.612 40.4007C99.3681 41.2358 98.4001 42.4208 97.8302 43.806C97.2602 45.1912 97.1138 46.7143 97.4095 48.1827C97.7052 49.6511 98.4296 50.9988 99.4913 52.0555C100.553 53.1121 101.904 53.8302 103.374 54.119C104.844 54.4078 106.366 54.2542 107.748 53.6778C109.131 53.1013 110.311 52.1279 111.141 50.8805C111.97 49.6331 112.411 48.1679 112.407 46.67C112.422 45.6708 112.235 44.6789 111.858 43.7533C111.481 42.8277 110.922 41.9874 110.214 41.2825C109.506 40.5775 108.663 40.0222 107.735 39.6498C106.808 39.2773 105.815 39.0953 104.816 39.1144ZM104.816 51.2567C103.898 51.3209 102.982 51.1074 102.187 50.644C101.391 50.1806 100.754 49.4888 100.357 48.6583C99.9607 47.8279 99.823 46.8973 99.9621 45.9876C100.101 45.0779 100.511 44.231 101.138 43.5572C101.765 42.8833 102.58 42.4136 103.477 42.2092C104.374 42.0047 105.312 42.0749 106.169 42.4106C107.026 42.7463 107.762 43.3321 108.282 44.0917C108.801 44.8513 109.08 45.7497 109.083 46.67C109.111 47.2531 109.023 47.8361 108.823 48.3845C108.622 48.933 108.314 49.4357 107.917 49.8632C107.519 50.2907 107.04 50.6342 106.507 50.8735C105.975 51.1129 105.4 51.2431 104.816 51.2567ZM85.1183 41.4433V44.6433H92.7983C92.6778 46.1505 92.0513 47.5728 91.0205 48.6789C90.2501 49.4638 89.3235 50.0782 88.3007 50.4825C87.2778 50.8867 86.1815 51.0717 85.0827 51.0256C82.8195 51.0256 80.649 50.1265 79.0487 48.5262C77.4484 46.9259 76.5494 44.7554 76.5494 42.4922C76.5494 40.229 77.4484 38.0586 79.0487 36.4582C80.649 34.8579 82.8195 33.9589 85.0827 33.9589C87.2524 33.9266 89.3474 34.7506 90.9138 36.2522L93.1716 33.9944C92.112 32.9465 90.8539 32.1205 89.4711 31.5649C88.0882 31.0093 86.6084 30.7353 85.1183 30.7589C83.5378 30.6974 81.9612 30.9556 80.4829 31.5179C79.0046 32.0803 77.6551 32.9354 76.5152 34.0318C75.3752 35.1282 74.4684 36.4435 73.8489 37.8988C73.2295 39.3541 72.9102 40.9195 72.9102 42.5011C72.9102 44.0828 73.2295 45.6481 73.8489 47.1034C74.4684 48.5587 75.3752 49.874 76.5152 50.9704C77.6551 52.0669 79.0046 52.9219 80.4829 53.4843C81.9612 54.0467 83.5378 54.3048 85.1183 54.2433C86.639 54.3041 88.1554 54.0424 89.5679 53.4756C90.9803 52.9088 92.2569 52.0496 93.3138 50.9544C95.1807 48.9036 96.1754 46.2063 96.0871 43.4344C96.0935 42.7673 96.04 42.1009 95.9271 41.4433H85.1183ZM165.669 43.9322C165.206 42.5682 164.339 41.3772 163.183 40.5168C162.028 39.6565 160.638 39.1675 159.198 39.1144C158.226 39.1125 157.263 39.3101 156.37 39.695C155.477 40.0798 154.673 40.6437 154.006 41.3518C153.34 42.06 152.825 42.8973 152.495 43.812C152.165 44.7267 152.026 45.6995 152.087 46.67C152.072 48.2928 152.582 49.8771 153.542 51.186C154.501 52.495 155.858 53.4584 157.41 53.9325C158.962 54.4065 160.626 54.3657 162.153 53.8161C163.68 53.2666 164.989 52.2378 165.883 50.8833L163.305 49.1056C162.921 49.7461 162.376 50.275 161.724 50.6398
4490C161.072 51.0047 160.336 51.1928 159.589 51.1856C158.819 51.2174 158.057 51.0154 157.403 50.6061C156.749 50.1968 156.235 49.5993 155.927 48.8922L166.043 44.7144L165.669 43.9322ZM155.358 46.4567C155.322 45.9045 155.397 45.3506 155.577 44.8275C155.758 44.3045 156.041 43.8227 156.411 43.4105C156.78 42.9983 157.227 42.6638 157.727 42.4268C158.228 42.1897 158.77 42.0548 159.323 42.03C159.896 41.995 160.466 42.1299 160.962 42.4177C161.459 42.7055 161.859 43.1334 162.114 43.6478L155.358 46.4567ZM147.145 53.7811H150.469V31.5589H147.145V53.7811ZM141.705 40.8033H141.58C141.084 40.2378 140.471 39.7861 139.784 39.4793C139.096 39.1724 138.351 39.0177 137.598 39.0256C135.655 39.1198 133.823 39.9579 132.482 41.3661C131.14 42.7744 130.392 44.6449 130.392 46.59C130.392 48.5351 131.14 50.4056 132.482 51.8139C133.823 53.2221 135.655 54.0602 137.598 54.1544C138.352 54.1696 139.1 54.0181 139.788 53.7107C140.476 53.4034 141.089 52.9479 141.58 52.3767H141.705V53.4611C141.705 56.3589 140.158 57.9056 137.669 57.9056C136.838 57.8873 136.031 57.6224 135.35 57.1444C134.67 56.6664 134.146 55.997 133.847 55.2211L130.967 56.4122C131.5 57.7496 132.425 58.8938 133.622 59.6937C134.819 60.4936 136.23 60.9116 137.669 60.8922C141.563 60.8922 144.78 58.5989 144.78 53.0167V39.5589H141.705V40.8033ZM137.883 51.2567C136.718 51.1841 135.625 50.6701 134.825 49.8196C134.026 48.9691 133.581 47.8459 133.581 46.6789C133.581 45.5118 134.026 44.3887 134.825 43.5382C135.625 42.6876 136.718 42.1737 137.883 42.1011C138.452 42.1257 139.011 42.2645 139.525 42.5094C140.04 42.7542 140.5 43.1 140.878 43.5263C141.256 43.9526 141.545 44.4506 141.726 44.9906C141.908 45.5307 141.979 46.1018 141.936 46.67C141.985 47.2401 141.917 47.8142 141.737 48.3574C141.558 48.9006 141.27 49.4018 140.891 49.8305C140.512 50.2593 140.05 50.6067 139.533 50.8518C139.016 51.097 138.454 51.2347 137.883 51.2567ZM181.243 31.5589H173.278V53.7811H176.603V45.3544H181.243C182.19 45.4225 183.142 45.2947 184.037 44.9789C184.933 44.663 185.754 44.1661 186.45 43.5189C187.145 42.8717 187.7 42.0882 188.079 41.2173C188.458 40.3463 188.654 39.4066 188.654 38.4567C188.654 37.5068 188.458 36.567 188.079 35.6961C187.7 34.8251 187.145 34.0416 186.45 33.3945C185.754 32.7473 184.933 32.2503 184.037 31.9345C183.142 31.6187 182.19 31.4908 181.243 31.5589ZM181.243 42.2256H176.603V34.6522H181.314C181.813 34.6522 182.308 34.7506 182.77 34.9418C183.231 35.133 183.651 35.4132 184.004 35.7665C184.357 36.1198 184.637 36.5392 184.829 37.0008C185.02 37.4623 185.118 37.9571 185.118 38.4567C185.118 38.9563 185.02 39.451 184.829 39.9126C184.637 40.3741 184.357 40.7935 184.004 41.1468C183.651 41.5001 183.231 41.7803 182.77 41.9715C182.308 42.1627 181.813 42.2611 181.314 42.2611L181.243 42.2256ZM201.758 39.0433C200.548 38.9687 199.342 39.2505 198.289 39.854C197.237 40.4575 196.385 41.3562 195.838 42.4389L198.772 43.6656C199.068 43.1312 199.513 42.694 200.052 42.4069C200.592 42.1199 201.203 41.9951 201.812 42.0478C202.234 41.9985 202.661 42.0337 203.069 42.1515C203.478 42.2692 203.858 42.4671 204.189 42.7335C204.52 42.9999 204.795 43.3296 204.997 43.7033C205.199 44.077 205.325 44.4872 205.367 44.91V45.1233C204.298 44.5614 203.108 44.2685 201.9 44.27C198.736 44.27 195.5 46.0478 195.5 49.2833C195.532 49.9711 195.701 50.6455 195.998 51.2665C196.295 51.8876 196.714 52.4426 197.23 52.8986C197.745 53.3547 198.347 53.7024 199 53.9212C199.653 54.14 200.343 54.2253 201.029 54.1722C201.864 54.2184 202.695 54.0418 203.439 53.6607C204.182 53.2796 204.811 52.7076 205.26 52.0033H205.367V53.7811H208.567V45.23C208.567 41.3367 205.616 39.0789 201.829 39.0789L201.758 39.0433ZM201.349 51.2211C200.265 51.2211 198.754 50.67 198.754 49.3367C198.754 47.5589 200.638 46.9544 202.309 46.9544C203.365 46.9284 204.409 47.1863 205.332 47.7011C205.22 48.6666 204.762 49.5588 204.043 50.2126C203.324 50.8664 202.392 51.2373 201.42 51.2567L201.349 51.2211ZM220.229 39.5589L216.425 49.1944H216.318L212.372 39.5589H208.816L214.736 53.0345L211.358 60.5189H214.825L223.927 39.5589H220.229ZM190.363 53.7811H193.669V31.5589H190.363V53.7811Z" fill="white"/> 4491 <path d="M37.0857 34.9688L18.1523 55.0576C18.3592 55.8175 18.7379 56.5196 19.2593 57.1097C19.7806 57.6999 20.4307 58.1623 21.1592 58.4613C21.8877 58.7603 22.6752 58.8878 23.4608 58.834C24.2464 58.7801 25.0092 58.5465 25.6901 58.151L47.0235 45.8488L37.0857 34.9688Z" fill="#EA4335"/>
4492 <path d="M56.2313 31.5521L47.0225 26.2188L36.6758 35.4454L47.058 45.8454L56.2136 40.5121C57.0274 40.0762 57.7078 39.4277 58.1821 38.6356C58.6564 37.8435 58.9069 36.9375 58.9069 36.0143C58.9069 35.0911 58.6564 34.1851 58.1821 33.393C57.7078 32.601 57.0274 31.9524 56.2136 31.5165L56.2313 31.5521Z" fill="#FBBC04"/> 4493 <path d="M18.1536 16.9453C18.0596 17.3652 18.0178 17.7951 18.0292 18.2253V53.7809C18.0323 54.2252 18.092 54.6672 18.2069 55.0964L37.7625 35.5409L18.1536 16.9453Z" fill="#4285F4"/> 4494 <path d="M37.2265 36.0028L47.0221 26.2073L25.6888 13.8695C24.8873 13.3931 23.9723 13.1413 23.0399 13.1406C21.9152 13.1438 20.8226 13.516 19.9298 14.2001C19.0371 14.8841 18.3934 15.8422 18.0977 16.9273L37.2265 36.0028Z" fill="#34A853"/> 4495 </svg> 4496 4497 4498 </a> 4499 </div> 4500 </div></button-collapsible><button-collapsible 4501 class="footer-block grid__item" 4502 4503 ><h2 class="footer-block__heading">Sign up and save</h2> 4504 <button class="footer-block__heading--list collapsible">Sign up and save<span> 4505 <svg 4506 aria-hidden="true" 4507 focusable="false" 4508 role="presentation" 4509 class="icon icon-chevron-down"
4510 viewBox="0 0 28 16" 4511 > 4512 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4513 </svg> 4514 </span> 4515 </button><div class="footer-block__details-content collapsible-content footer-block__newsletter"><p>Subscribe to get special offers, free giveaways, and once-in-a-lifetime deals.</p> 4516<form method="post" action="/contact#ContactFooter" id="ContactFooter" accept-charset="UTF-8" class="footer__newsletter newsletter-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><input type="hidden" name="contact[tags]" value="newsletter"> 4517 <div class="newsletter-form__field-wrapper"><div class="field"> 4518 <input 4519 id="NewsletterForm--9fa9f968-43a8-4d37-b605-2047d55bb23e" 4520 type="email" 4521 name="contact[email]" 4522 class="field__input" 4523 value="" 4524 aria-required="true" 4525 autocorrect="off" 4526 autocapitalize="off" 4527 autocomplete="email" 4528 4529 placeholder="Email" 4530 required 4531 > 4532 <label class="field__label" for="NewsletterForm--9fa9f968-43a8-4d37-b605-2047d55bb23e"> 4533 Email 4534 </label> 4535 4536 <button 4537 type="submit" 4538 class="newsletter-form__button field__button" 4539 name="commit" 4540 id="Subscribe" 4541 aria-label="Subscribe" 4542 > 4543 <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow" xmlns="http://www.w3.org/2000/svg"> 4544 <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"> 4545</svg> 4546 4547 </button> 4548 </div></div></form></div> 4549 <div class="footer-block--newsletter" style="flex-wrap: wrap;"></div> 4550 <div class="footer-block__contactus" style="margin-top: 2rem;"><h2 class="footer-block__heading" style="margin-top: 3rem; margin-bottom: 1.5rem;"> 4551 Contact Us 4552 </h2><div class="whatsapp_text_link"> 4553 <a href="https://wa.me/6285211554926" target="_blank" rel="noopener noreferrer" class="link link--text contact-link-style"> 4554 <span class="contact-svg-wrapper"> 4555 <svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 4556<mask id="mask0_1877_556" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16"> 4557<rect width="16" height="16" fill="#C4C4C4"/> 4558</mask> 4559<g mask="url(#mask0_1877_556)"> 4560<path fill-rule="evenodd" clip-rule="evenodd" d="M13.4953 13.4953C12.7693 14.22 11.7733 14.6667 10.6667 14.6667C8.08733 14.6667 5.75867 13.6233 4.06733 11.9333C2.37733 10.242 1.334 7.91267 1.33333 5.33333C1.334 4.22667 1.78 3.23133 2.50533 2.50533C3.13 1.88067 3.956 1.46533 4.88 1.36067L5.89333 4.098L4.352 5.63867C4.33467 5.656 4.32867 5.678 4.314 5.69667C4.28467 5.73267 4.25933 5.76867 4.23867 5.81C4.21867 5.848 4.204 5.88533 4.19267 5.926C4.18067 5.96667 4.17267 6.006 4.16867 6.04867C4.16467 6.09467 4.166 6.138 4.17133 6.184C4.174 6.208 4.16733 6.23067 4.17267 6.254V6.254C4.78667 9.032 6.968 11.214 9.746 11.828C9.77 11.8333 9.79267 11.8267 9.816 11.8293C9.862 11.8347 9.906 11.836 9.952 11.8313C9.99467 11.828 10.034 11.8193 10.074 11.808C10.1147 11.796 10.1527 11.7813 10.1907 11.762C10.2313 11.7407 10.268 11.716 10.3033 11.6873C10.322 11.672 10.3447 11.6653 10.3613 11.648L11.9027 10.1067L14.6393 11.1207C14.5353 12.0447 14.1193 12.8707 13.4953 13.4953M15.9673 10.502C15.958 10.4673 15.956 10.4307 15.9413 10.398C15.9247 10.3593 15.8953 10.328 15.8707 10.2927C15.846 10.258 15.8273 10.2193 15.7967 10.19C15.7713 10.1653 15.7373 10.1507 15.7073 10.13C15.6653 10.1007 15.626 10.0687 15.578 10.0493C15.5727 10.048 15.57 10.0433 15.5647 10.0413L11.9647 8.708C11.934 8.69667 11.9027 8.70067 11.8713 8.69333C11.82 8.68267 11.7707 8.66867 11.718 8.67C11.6753 8.67067 11.6353 8.68467 11.594 8.694C11.5513 8.70333 11.5093 8.70667 11.4693 8.724C11.422 8.74467 11.3827 8.77867 11.3413 8.80933C11.3153 8.82867 11.2853 8.83867 11.262 8.862L9.698 10.426C7.706 9.86133 6.13933 8.29467 5.57467 6.302L7.138 4.73867C7.162 4.71533 7.17133 4.68533 7.19067 4.65933C7.222 4.618 7.256 4.57867 7.276 4.53067C7.29333 4.49133 7.29733 4.44933 7.306 4.40733C7.31533 4.36533 7.32933 4.32533 7.33067 4.282C7.332 4.23 7.31733 4.18067 7.30667 4.12933C7.3 4.098 7.30333 4.06667 7.292 4.036L5.95867 0.435333C5.95667 0.430667 5.95267 0.427333 5.95067 0.422667C5.932 0.37466
45607 5.9 0.335333 5.87067 0.293333C5.85 0.263333 5.83533 0.229333 5.81067 0.204C5.78133 0.173333 5.74333 0.154667 5.70867 0.130667C5.67333 0.106 5.64133 0.076 5.602 0.0586667C5.57 0.0446667 5.53333 0.0426667 5.49933 0.034C5.44933 0.0206667 5.40067 0.00466667 5.348 0.00333333C5.34267 0.00333333 5.33867 0 5.33333 0C2.38733 0.000666667 0.000666667 2.38733 0 5.33333C0.000666667 11.2247 4.77533 16 10.6667 16C13.6127 16 16 13.6127 16 10.6667C16 10.662 15.9973 10.6573 15.9973 10.6527C15.996 10.6 15.98 10.552 15.9673 10.502" fill="#444444"/> 4561</g> 4562</svg> 4563 </span> 4564 +6285211554926 4565 </a> 4566 </div><div class="email_address_link"> 4567 <a href="mailto:[email protected]" class="link link--text contact-link-style"> 4568 <span class="contact-svg-wrapper"> 4569 <svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 4570<mask id="mask0_1877_559" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16"> 4571<rect width="16" height="16" fill="#C4C4C4"/> 4572</mask> 4573<g mask="url(#mask0_1877_559)"> 4574<path fill-rule="evenodd" clip-rule="evenodd" d="M14.6667 3.48616L8 9.12683L1.33333 3.48616V3.3335C1.33333 2.96616 1.632 2.66683 2 2.66683H2.66667H4H8H14C14.368 2.66683 14.6667 2.96616 14.6667 3.3335V3.48616ZM14.6667 5.3335V10.6668V12.6668C14.6667 13.0348 14.368 13.3335 14 13.3335H8H4H2.66667H2C1.632 13.3335 1.33333 13.0348 1.33333 12.6668V5.23283L7.56933 10.5095C7.818 10.7202 8.18133 10.7202 8.43067 10.5095L14.6667 5.23283V5.3335ZM14 1.3335H2C0.896 1.3335 0 2.2295 0 3.3335V12.6668C0 13.7715 0.896 14.6668 2 14.6668H14C15.104 14.6668 16 13.7715 16 12.6668V10.0002V6.00016V3.3335C16 2.2295 15.104 1.3335 14 1.3335Z" fill="#444444"/> 4575</g> 4576</svg> 4577 </span> 4578 [email protected] 4579 </a> 4580 </div></div></button-collapsible><button-collapsible 4581 class="footer-block grid__item footer-block--whatsapp" 4582 4583 ><div id="whatsapp_floating"> 4584 <a href="https://wa.me/6285211554926"> 4585 4586 <svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"> 4587 <circle cx="26" cy="26" r="26" fill="url(#paint0_linear)"/> 4588 <path d="M23.6934 9.09271C17.5075 10.0294 12.4656 14.0203 10.2266 19.7543C8.5187 24.1281 8.74751 29.129 10.8394 33.3643L11.3297 34.3498L10.1449 38.6584C9.4993 41.0286 8.97631 42.9833 9.00083 42.9996C9.01717 43.0159 11.0192 42.5109 13.4544 41.8756L17.8834 40.7191L18.7822 41.1426C23.4564 43.3254 28.8333 43.301 33.4339 41.0693C35.5831 40.0268 37.5197 38.5037 39.0968 36.6222C41.8588 33.3317 43.2807 28.9091 42.9538 24.6493C42.4881 18.5814 38.9252 13.3036 33.5156 10.6728C31.9794 9.92348 30.6964 9.5081 28.8987 9.16602C27.9263 8.98683 24.7148 8.93796 23.6934 9.09271ZM28.5064 11.976C29.8302 12.204 31.105 12.6357 32.4125 13.2954C33.8752 14.0366 34.864 14.7534 36.008 15.8936C38.6311 18.5081 40.0039 21.6683 40.151 25.3824C40.2654 28.4692 39.391 31.3932 37.5606 33.9996C36.7761 35.1236 35.1173 36.7362 33.9651 37.4937C31.5545 39.0982 29.2827 39.8231 26.4472 39.8964C23.5545 39.9779 21.4217 39.4322 18.6351 37.8765L18.3001 37.6892L15.7179 38.3652C14.3042 38.7399 13.103 39.0331 13.0621 39.0168C13.0213 39.0005 13.2991 37.8684 13.675 36.5C14.0427 35.1317 14.3532 33.967 14.3532 33.9018C14.3532 33.8367 14.2143 33.5679 14.0345 33.291C11.8119 29.7806 11.297 25.2276 12.678 21.2692C14.0672 17.3108 17.0989 14.1914 21.0539 12.6683C22.1735 12.2366 23.3093 11.9841 24.9763 11.7886C25.5892 11.7153 27.5994 11.8212 28.5064 11.976Z" fill="white"/> 4589 <path d="M19.2766 18.1087C18.6801 18.2716 17.773 19.3549 17.3481 20.4137C17.1765 20.8454 17.1602 21.0327 17.1602 22.0427C17.1602 23.1585 17.1683 23.1992 17.4543 23.9893C18.296 26.2373 20.8455 29.3649 23.3706 31.2545C24.7189 32.2644 25.9119 32.859 27.9548 33.5432C29.7444 34.1377 30.9211 34.1214 32.2286 33.478C33.1683 33.0137 33.8466 32.3377 34.059 31.6536C34.2633 31.0101 34.3287 30.0327 34.1816 29.8536C33.9528 29.5766 30.4717 27.9477 30.1121 27.9477C29.8343 27.9477 29.8507 27.9314 29.0335 28.9576C28.2735 29.9024 28.0284 30.1468 27.8078 30.1468C27.4809 30.1468 26.0509 29.4463 25.1928 28.8843C24.7597 28.5911 24.0978 28.0698 23.7301 27.7278C22.6515 26.7178 21.4421 25.0644 21.4421 24.6001C21.4421 24.4617 21.6055 24.2092 21.9405 23.8264C22.4635 23.2318 22.8312 22.6128 22.8312 22.3277C22.8312 22.1648 21.6709 19.2734 21.3604 18.6626C21.2786 18.5078 21.1479 18.3205 21.0662 18.2472C20.8701 18.0761 19.726 17.9865 19.2766 18.1087Z" fill="white"/> 4590 <defs> 4591 <linearGradient id="paint0_linear" x1="0" y1="0" x2="58.1623" y2="8.17908" gradientUnits="userSpaceOnUse"> 4592 <stop/> 4593 <stop offset="1" stop-color="#6A6A6A"/> 4594 </linearGradient> 4595 </defs> 4596 </svg> 4597 </a> 4598 </div></button-collapsible></div> 4599 </div>
4599<div class="footer__content-bottom"> 4600 <div class="footer__content-bottom-wrapper page-width"> 4601 <div class="footer__column footer__localization isolate"></div> 4602 <div class="footer__column footer__column--info"><div class="footer__payment"> 4603 <span class="visually-hidden">Payment methods</span> 4604 <ul class="list list-payment" role="list"> 4605 4606 4607 <li class="list-payment__item"> 4608 <img 4609 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_visa.svg?v=48704807902482403331753973608" 4610 alt="Payment Method" 4611 class="icon icon--full-color" 4612 width="40" 4613 height="40" 4614 loading="lazy" 4615 > 4616 </li> 4617 <li class="list-payment__item"> 4618 <img 4619 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_mastercard.svg?v=74825951008698206891753973606" 4620 alt="Payment Method" 4621 class="icon icon--full-color" 4622 width="40" 4623 height="40" 4624 loading="lazy" 4625 > 4626 </li> 4627 <li class="list-payment__item"> 4628 <img 4629 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_jcb.svg?v=19725980676137774121753973605" 4630 alt="Payment Method" 4631 class="icon icon--full-color" 4632 width="40" 4633 height="40" 4634 loading="lazy" 4635 > 4636 </li> 4637 <li class="list-payment__item"> 4638 <img 4639 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_amex.svg?v=109445626553889571091753973603" 4640 alt="Payment Method" 4641 class="icon icon--full-color" 4642 width="40" 4643 height="40" 4644 loading="lazy" 4645 > 4646 </li> 4647 <li class="list-payment__item"> 4648 <img 4649 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_bca.svg?v=146326644077036944051753973603" 4650 alt="Payment Method" 4651 class="icon icon--full-color" 4652 width="40" 4653 height="40" 4654 loading="lazy" 4655 > 4656 </li> 4657 <li class="list-payment__item"> 4658 <img 4659 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_permata.svg?v=110007577897461607801753973607" 4660 alt="Payment Method" 4661 class="icon icon--full-color" 4662 width="40" 4663 height="40" 4664 loading="lazy" 4665 > 4666 </li> 4667 <li class="list-payment__item"> 4668 <img 4669 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_mandiri.svg?v=30685883055462611191753973606" 4670 alt="Payment Method" 4671 class="icon icon--full-color" 4672 width="40" 4673 height="40" 4674 loading="lazy" 4675 > 4676 </li> 4677 <li class="list-payment__item"> 4678 <img 4679 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_bni.svg?v=4219509990834105191753973604" 4680 alt="Payment Method" 4681 class="icon icon--full-color" 4682 width="40" 4683 height="40" 4684 loading="lazy" 4685 > 4686 </li> 4687 <li class="list-payment__item"> 4688 <img 4689 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_bri.svg?v=114626044769529992991753973604" 4690 alt="Payment Method" 4691 class="icon icon--full-color" 4692 width="40" 4693 height="40" 4694 loading="lazy" 4695 > 4696 </li> 4697 <li class="list-payment__item"> 4698 <img 4699 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_gopay.svg?v=17530023878900665771753973605" 4700 alt="Payment Method" 4701 class="icon icon--full-color" 4702 width="40" 4703 height="40" 4704 loading="lazy" 4705 > 4706 </li> 4707 <li class="list-payment__item"> 4708 <img 4709 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_qris.svg?v=49480128923155342681753973607" 4710 alt="Payment Method" 4711 class="icon icon--full-color" 4712 width="40" 4713 height="40" 4714 loading="lazy" 4715 > 4716 </li> 4717 <li class="list-payment__item"> 4718 <img 4719 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_shopeepay.svg?v=115801894657382970751753973607" 4720 alt="Payment Method" 4721 class="icon icon--full-color" 4722 width="40" 4723 height="40" 4724 loading="lazy" 4725 > 4726 </li> 4727 <li class="list-payment__item"> 4728 <img 4729 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_shopee_paylater.svg?v=16716937038537299881753973608" 4730 alt="Payment Method" 4731 class="icon icon--full-color" 4732 width="40" 4733 height="40" 4734 loading="lazy" 4735 > 4736 </li></ul> 4737 </div> 4738 <div class="footer__kontak-layanan-konsumen"> 4739 <p><strong>Layanan Pengaduan Konsumen </strong><br/>Direktorat Jenderal Perlindungan Konsumen dan Tertib Niaga<br/>Kementerian Perdagangan RI<br/>Nomor Whatsapp Ditjen PKTN 0853-1111-1010</p> 4740 </div> 4741 4742
4743 <div class="footer__copyright caption"> 4744 <p class="footer__small-text"> 4745 © 2026 Benang Jarum. 4746 4747 Part of <a href="https://modinity.com">Modinity Group</a>. 4748 4749 </p> 4750 </div> 4751 </div> 4752 </div> 4753 </div> 4754</footer> 4755 4756 4757 4758 4759</div> 4760 4761 4762 <ul hidden> 4763 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 4764 <li id="a11y-new-window-message">Opens in a new window.</li> 4765 </ul> 4766 4767
4767<script> 4768 window.shopUrl = 'https://www.benangjarum.com'; 4769 window.routes = { 4770 cart_add_url: '/cart/add', 4771 cart_change_url: '/cart/change', 4772 cart_update_url: '/cart/update', 4773 cart_url: '/cart', 4774 predictive_search_url: '/search/suggest', 4775 }; 4776 4777 window.cartStrings = { 4778 error: `There was an error while updating your cart. Please try again.`, 4779 quantityError: `You can only add [quantity] of this item to your cart.`, 4780 }; 4781 4782 window.variantStrings = { 4783 addToCart: `Add to cart`, 4784 soldOut: `Sold out`, 4785 unavailable: `Unavailable`, 4786 }; 4787 4788 window.accessibilityStrings = { 4789 imageAvailable: `Image [index] is now available in gallery view`, 4790 shareSuccess: `Link copied to clipboard`, 4791 pauseSlideshow: `Pause slideshow`, 4792 playSlideshow: `Play slideshow`, 4793 }; 4794 </script>
4794<script src="//www.benangjarum.com/cdn/shop/t/18/assets/predictive-search.js?v=31278710863581584031753973610" defer="defer"></script>
4794 4795 4796 4797<div class="smile-shopify-init" 4798 data-channel-key="channel_69O932Hy62NoxHuQxnQuT7qZ" 4799 4800></div> 4801 4802
4802<script src="//www.benangjarum.com/cdn/shop/t/18/assets/app-additional-script.js?v=20567533246920781951753973548" defer="defer"></script>
4802 4803 <!-- Facebook --> 4804<noscript 4805 ><img 4806 height="1" 4807 width="1" 4808 style="display:none" 4809 src="https://www.facebook.com/tr?id=1673430350061016&ev=PageView&noscript=1" 4810></noscript> 4811 4812<!-- Google Tag Manager (noscript) -->
vendor: 75 bytes, lines 4812-4815
4812 4813<noscript 4814 ><iframe 4815 src="https://www.googletagmanager.com/ns.html?id=
4815GTM-KWBFVDDT
vendor: 99 bytes, lines 4815-4820
4815" 4816 height="0" 4817 width="0" 4818 style="display:none;visibility:hidden" 4819 ></iframe 4820></noscript>
4821<!-- End Google Tag Manager (noscript) --> 4822 4823 <!-- Stamped --> 4824
4824<script> 4825 function myInit() { 4826 StampedFn.init({ apiKey: '53e83d4d-c1bc-441a-a986-025b6953b378', sId: '333617' }); 4827 } 4828 </script>
4828 4829
4829<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
4829 4830
4830<script> 4831 window.__SWYM_SFL_ENABLE_DEV = { 4832 "SFLFeatureEnabled": true, 4833 "CartPageURL": "/cart", 4834 "CartPageContainerSelector": "main#MainContent", 4835 "CartProductTileSelector": "li.main-cart-item", 4836 "AddToSFLBtnSelector": ".main-cart-item__buttons", 4837 "AddToSFLButton": true, 4838 "EnableSFLViewOnCart": true, 4839 "EnableSFLViewOnWishlistUI": true, 4840 "SFLAffectReminderPopup": true, 4841 "SFLLayoutType": "Carousel", 4842 "PopUpSettings": { 4843 "ButtonText": "SAVE FOR LATER", 4844 "ButtonColor": "#1F2021", 4845 "Title": "Do you want to save this product for later?", 4846 "ShowAskMeAgainAfterCount": 2, 4847 "MultipleProductsTitle": "Save all products for later to your Wishlist?", 4848 "PreviewDuration": 300000, 4849 "SecondaryButtonText": "No, thanks!", 4850 "PopUpEnabled": false, 4851 "ButtonTextColor": "#FFFFFF", 4852 "AskMeAgainOption": false, 4853 "AskMeAgainLabel": "Don't ask me again" 4854 }, 4855 "CartDrawer": { 4856 "Enabled": true, 4857 "ProductTileSelector": ".cart-drawer__item", 4858 "ContainerSelector": ".cart-drawer__content", 4859 "AddToSFLBtnSelector": "[data-cart-item-delete]", 4860 "CartDrawerButtonSelector": ".site-header__cart.ajax-cart__toggle", 4861 "renderSFLButtonsOnFetchCart": true 4862 } 4863 } 4864 </script>
4864 4865
4865<script> 4866(function() { 4867 function sflInit(swat) { 4868 swat.SaveForLater.init( 4869 sfl => { 4870 swat.sfl = sfl; 4871 swat.sflLid = sfl.listid; 4872 swat.SaveForLater.fetch(swat.sflLid, function(response){ 4873 swat.sfl.listcontents = response.items; 4874 }, err => console.error(err)) 4875 }, 4876 err => console.error(err) 4877 ) 4878 } 4879 if (!window.SwymCallbacks) window.SwymCallbacks = []; 4880 window.SwymCallbacks.push(sflInit); 4881 class SwymSflLineButton extends HTMLElement { 4882 constructor() { 4883 super(); 4884 this.button = this.querySelector('button'); 4885 if(this.button) this.button.addEventListener('click', this._addToSFL.bind(this)); 4886 } 4887 _addToSFL(evt){ 4888 const product = [{ 4889 'du': this.button.dataset.productUrl, 4890 'empi': this.button.dataset.productId, 4891 'epi': this.button.dataset.variantId, 4892 'qty': this.button.dataset.quantity 4893 }] 4894 const cartRemoveButton = this.button.closest('.cart-item').querySelector('cart-remove-button'); // Please modify these selectors according to your store 4895 _swat.SaveForLater.add(_swat.sflLid, product, res => console.log(res), err => console.error(err)); 4896 cartRemoveButton.dispatchEvent(new CustomEvent('click')); 4897 } 4898 } 4899 customElements.define('swym-sfl-line-button', SwymSflLineButton); 4900})(); 4901</script>
4901 4902 4903<!--
4903<script> 4904 window.__SWYM_SFL_ENABLE_DEV = { 4905 "SFLFeatureEnabled": true, 4906 "CartPageURL": "/cart", 4907 "CartPageContainerSelector": ".cart_items-wrapper", 4908 "CartProductTileSelector": "tr.cart-item", 4909 "AddToSFLBtnSelector": "td.cart-item__details", 4910 "AddToSFLButton": true, 4911 "EnableSFLViewOnCart": true, 4912 "EnableSFLViewOnWishlistUI": true, 4913 "SFLAffectReminderPopup": true, 4914 "SFLLayoutType": "Carousel", 4915 } 4916 </script>
4916 --> 4917 4918
4918<script async src="//asset.fwcdn3.com/js/storyblock.js"></script>
4918 4919 4920 4921 <div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block"> 4922 4923 4924<div class="smile-shopify-init" 4925 data-channel-key="channel_69O932Hy62NoxHuQxnQuT7qZ" 4926 4927></div> 4928 4929 4930</div><div id="shopify-block-Ac01WZnY0T3BzWTdSV__17317732794400948738" class="shopify-block shopify-app-block"> 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948<div id="popup-boost-root"></div> 4949
4950<script> 4951 window.PopupBoostConfig = { 4952 shop: "c03efc-25.myshopify.com", 4953 pageType: "blog", 4954 pageUrl: window.location.pathname, 4955 product: null, 4956 collection: null, 4957 customer: null, 4958 locale: "en", 4959 primaryLocale: "en", 4960 currency: "IDR", 4961 moneyFormat: "\u003cspan class=money\u003eRp {{amount_no_decimals_with_comma_separator}}\u003c\/span\u003e", 4962 debugMode: false, 4963 enabled: true, 4964 impressionsCapped: false, 4965 asset3dUrl: "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-3d.js", 4966 hasCampaign: true, 4967 campaign: {"id":464,"slug":"my-spin-wheel-xA1yXN","name":"My spin wheel","status":"live","campaign_type":"wheel","display_settings":{"pages":[],"device":"all","show_on":"all","trigger":"time_delay","audience":"all","triggers":[{"type":"time_delay","delay_seconds":1,"scroll_percentage":50}],"frequency":"once","delay_seconds":1,"trigger_logic":"any","lose_retry_unit":"minutes","lose_retry_value":30,"no_win_retry_unit":"hours","scroll_percentage":50,"no_win_retry_value":24},"popup_settings":{"title":"UNLOCK YOUR EXCLUSIVE TREAT!","layout":"text-right","cta_text":"Spin Now","position":"center","subtitle":"Spin the wheel to claim your reward","game_only":false,"title_color":"#000000","color_source":"custom","decline_text":"No, I don't feel lucky","display_mode":"popup","mobile_layout":"single","overlay_color":"#000000","content_gap_px":26,"cta_text_color":"#ffffff","drawer_size_px":480,"modal_width_px":890,"subtitle_color":"#000000","border_lighting":"sparkle","decline_enabled":false,"drawer_position":"right","modal_height_px":430,"overlay_opacity":0.5,"background_color":"#ffffff","close_icon_color":"#666666","corner_radius_tl":16,"presentation_mode":"modal","close_button_color":"rgba(0, 0, 0, 0.05)","form_width_percent":46,"close_button_enabled":true,"cta_background_color":"#424242","drawer_wheel_display":"full","mobile_content_gap_px":42,"border_lighting_variant":"classic-vegas"},"form_settings":{"gdpr_text":"I agree to receive marketing emails","terms_text":"By spinning, you agree to receive promotional updates and exclusive offers.","collect_name":false,"gdpr_enabled":false,"collect_email":true,"collect_phone":false,"email_required":true,"success_message":"Thanks for signing up!","phone_default_country":"ID","success_message_enabled":true,"success_message_bg_color":"#424242","success_message_text_color":"#ffffff"},"reminder_settings":{"text":"You won {prize}! Use code {code}","enabled":false,"cta_text":"Apply Now","position":"bottom","text_color":"#ffffff","top_offset":10,"cta_enabled":false,"dismissible":true,"button_color":"#f2f2f2","color_source":"custom","show_countdown":true,"background_color":"#757575","vertical_padding":4,"button_text_color":"#000000","floating_badge_text":"USE COUPON CODE","floating_badge_title":"Coupon code","floating_badge_enabled":true,"floating_badge_cta_text":"Apply Now","floating_badge_position":"bottom-left","floating_badge_cta_enabled":false,"floating_badge_description":"You got {discount}"},"schedule_settings":{"enabled":true,"end_date":"2026-09-25","end_time":null,"timezone":"Asia\/Jakarta","start_date":null,"start_time":null},"targeting_settings":{"type":"whole_store","pages":["home"]},"behavior_settings":{"auto_apply_discount":true,"copy_code_on_win":true,"after_signup_action":"win_screen","redirect_url":null,"redirect_delay":3,"show_social_proof":false,"show_countdown":true},"advanced_settings":{"ga_enabled":false,"ga_measurement_id":null,"fb_pixel_enabled":false,"fb_pixel_id":null,"tiktok_pixel_enabled":false,"tiktok_pixel_id":null,"block_disposable_emails":true,"cart_targeting":"all","cart_min_value":null,"cart_max_value":null,"cart_item_targeting":"all","cart_min_items":null,"cart_max_items":null,"referral_enabled":false,"referral_spins_per_referral":1,"referral_max_grants":3,"referral_require_distinct_ip":true},"font_settings":{"primary_font":"poppins","secondary_font":"poppins"},"custom_css":".pb-title {\n font-size: 20px !important;\n margin: 0 auto 15px !important;\n letter-spacing: 1px !important;\n}\n.pb-subtitle {\n font-size: 14px !important;\n text-align: center;\n letter-spacing: 1px !important;\n}\n.pb-button {\n font-size: 12px !important;\n}\n.pb-input,\n.pb-phone-input {\n border: 1px solid #000 !important;\n}\n.pb-input::placeholder,\n.pb-input,\n.pb-phone-input,\n.pb-phone-input::placeholder,\n.pb-phone-dial {\n font-size: 10px !important;\n}\n.pb-gift-badge {\ndisplay: none !important;\n}\n:is(#popup-boost-root,.pbe) .pb-wheel svg * {\nfont-style: normal;\ntext-shadow: 0 0;\n}","teaser_settings":{"icon":"wheel","text":"SPIN FOR PERKS! â¨","style":"tab","enabled":true,"position":"middle-left","show_tab":true,"text_color":"#ffffff","button_size":76,"show_button":false,"border_style":"solid","border_width":1,"tab_position":"middle-right","border_radius":48,"delay_seconds":2,"icon_animation":"pulse","show_half_wheel":false,"background_color":"#424242","button_hide_text":false,"shadow_intensity":15,"wheel_icon_colors":["#d6e4f0","#f8f5f2","#d9ccc1","#d6e4f0","#f8f5f2","#d9ccc1","#d6e4f0","#f8f5f2","#d9ccc1"]},"wheel_settings":{"wheel_size":"medium","border_color":"#e5e7eb","border_width":2,"pointer_color":"#424242","pointer_style":"eye","primary_color":"#ffffff","spin_duration":5,"wheel_size_px":350,"border_enabled":true,"center_logo_url":"https:\/\/d371pedh4mi9u6.cloudfront.net\/media\/6a794a6f7ca0f_1786333807.png","background_color":"#ffffff","center_icon_style":"spinner","mobile_wheel_size_px":300,"border_lights_enabled":false,"slice_divider_enabled":false},"win_settings":{"title":"Reward Unlocked!","message":"You won {prize}! Claim it before it's gone.","cta_text":"Shop Now","logo_fit":"contain","logo_url":"https:\/\/d371pedh4mi9u6.cloudfront.net\/media\/6a79518cf02a3_1786335628.png","cta_enabled":false,"title_color":"#000000","coupon_label":"Your coupon code:","no_win_title":"So Close! ð«","coupon_prefix":"BJWIN","message_color":"#4b5563","show_confetti":true,"cta_text_color":"#ffffff","no_win_message":"Thanks for Joining the Fun! ð","code_generation":"prefix","gift_badge_size":20,"no_win_subtitle":"No prize this time, but you can still treat yourself to our best-selling pieces!","background_color":"#ffffff","code_expiry_hours":24,"no_win_close_text":"Continue Shopping","coupon_code_length":6,"cta_background_color":"#424242","combines_with_order_discounts":false,"combines_with_product_discounts":true,"combines_with_shipping_discounts":true},"slices":[{"id":16069,"label":"MONOGRAM LAUNDRY BAG","prize_type":"free_gift","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#a3a3a3","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#ffffff","label_font_size":13,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":0,"is_enabled":true,"coupon_code":null,"coupon_prefix":"PB_","gift_product_id":null,"gift_product_title":"Monogram Laundry Bag","gift_product_handle":"monogram-laundry-bag","gift_product_image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0699\/0734\/9746\/files\/MonogramLaundryBag1.jpg?v=1777015235","gift_variant_id":"gid:\/\/shopify\/ProductVariant\/62686326096243","gift_variant_title":"Free Size","gift_variant_mode":null,"gift_surprise":true,"min_purchase_type":"amount","min_purchase_value":"2000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-w
4967heel"}],"min_purchase_amount_message":"Minimum purchase of required","min_purchase_quantity_message":null},{"id":15915,"label":"15% OFF","prize_type":"discount_percent","prize_value":"15.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#f4f1ef","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#a3a3a3","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":1,"is_enabled":true,"coupon_code":null,"coupon_prefix":"BJWIN15%-","gift_product_id":null,"gift_product_title":null,"gift_product_handle":null,"gift_product_image":null,"gift_variant_id":null,"gift_variant_title":null,"gift_variant_mode":null,"gift_surprise":false,"min_purchase_type":"amount","min_purchase_value":"2000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-wheel"}],"min_purchase_amount_message":null,"min_purchase_quantity_message":null},{"id":16014,"label":"STRIPES LAUNDRY BAG","prize_type":"free_gift","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#a3a3a3","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#ffffff","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":2,"is_enabled":true,"coupon_code":null,"coupon_prefix":null,"gift_product_id":null,"gift_product_title":"Stripes Laundry Bag","gift_product_handle":"stripes-laundry-bag","gift_product_image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0699\/0734\/9746\/files\/SripesLaundryBag1.jpg?v=1777015211","gift_variant_id":"gid:\/\/shopify\/ProductVariant\/62686326325619","gift_variant_title":"Free Size","gift_variant_mode":null,"gift_surprise":true,"min_purchase_type":"amount","min_purchase_value":"2000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-wheel"}],"min_purchase_amount_message":"Minimum purchase of required","min_purchase_quantity_message":null},{"id":15914,"label":"15% OFF APPAREL","prize_type":"discount_percent","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#f4f1ef","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#929292","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":3,"is_enabled":true,"coupon_code":null,"coupon_prefix":"BJWIN15%APPAREL","gift_product_id":null,"gift_product_title":null,"gift_product_handle":null,"gift_product_image":null,"gift_variant_id":null,"gift_variant_title":null,"gift_variant_mode":null,"gift_surprise":false,"min_purchase_type":"quantity","min_purchase_value":"2.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567036787","image":null,"title":"Spin Wheel - 15% Apparel","handle":"spin-wheel-15-apparel"}],"min_purchase_amount_message":null,"min_purchase_quantity_message":null},{"id":16013,"label":"MONOGRAM NECK SCARF - BLACK","prize_type":"free_gift","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#a3a3a3","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#ffffff","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":4,"is_enabled":true,"coupon_code":null,"coupon_prefix":null,"gift_product_id":null,"gift_product_title":"Signature Monogram Neck Scarf - Black","gift_product_handle":"signature-monogram-neck-scarf-black","gift_product_image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0699\/0734\/9746\/files\/SignatureMonogramNeckscarf-Black5.jpg?v=1770209032","gift_variant_id":"gid:\/\/shopify\/ProductVariant\/62503906476403","gift_variant_title":"Free Size","gift_variant_mode":null,"gift_surprise":true,"min_purchase_type":"amount","min_purchase_value":"2000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-w
4967heel"}],"min_purchase_amount_message":"Minimum purchase of required","min_purchase_quantity_message":null},{"id":16017,"label":"17% OFF","prize_type":"discount_percent","prize_value":"17.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#f4f1ef","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#929292","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":5,"is_enabled":true,"coupon_code":null,"coupon_prefix":"BJWIN17%-","gift_product_id":null,"gift_product_title":null,"gift_product_handle":null,"gift_product_image":null,"gift_variant_id":null,"gift_variant_title":null,"gift_variant_mode":null,"gift_surprise":false,"min_purchase_type":"amount","min_purchase_value":"2500000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-wheel"}],"min_purchase_amount_message":null,"min_purchase_quantity_message":null},{"id":16018,"label":"MONOGRAM NECK SCARF - CREAM","prize_type":"free_gift","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#a3a3a3","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#ffffff","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":6,"is_enabled":true,"coupon_code":null,"coupon_prefix":null,"gift_product_id":null,"gift_product_title":"Signature Monogram Neck Scarf - Cream","gift_product_handle":"signature-monogram-neck-scarf-cream","gift_product_image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0699\/0734\/9746\/files\/SignatureMonogramNeckscarf-Gold3.jpg?v=1770208718","gift_variant_id":"gid:\/\/shopify\/ProductVariant\/62503906509171","gift_variant_title":"Free Size","gift_variant_mode":null,"gift_surprise":true,"min_purchase_type":"amount","min_purchase_value":"2000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-wheel"}],"min_purchase_amount_message":"Minimum purchase of required","min_purchase_quantity_message":null},{"id":16015,"label":"10% OFF","prize_type":"discount_percent","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#f4f1ef","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#929292","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":7,"is_enabled":true,"coupon_code":null,"coupon_prefix":"BJWIN10%-","gift_product_id":null,"gift_product_title":null,"gift_product_handle":null,"gift_product_image":null,"gift_variant_id":null,"gift_variant_title":null,"gift_variant_mode":null,"gift_surprise":false,"min_purchase_type":"amount","min_purchase_value":"1000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-w
4967heel"}],"min_purchase_amount_message":null,"min_purchase_quantity_message":null},{"id":16016,"label":"MONOGRAM NECK SCARF - DENIM","prize_type":"free_gift","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#a3a3a3","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#ffffff","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":8,"is_enabled":true,"coupon_code":null,"coupon_prefix":null,"gift_product_id":null,"gift_product_title":"Signature Monogram Neck Scarf - Denim","gift_product_handle":"signature-monogram-neck-scarf-denim","gift_product_image":"https:\/\/cdn.shopify.com\/s\/files\/1\/0699\/0734\/9746\/files\/SignatureMonogramNeckscarf-Blue5.jpg?v=1770208599","gift_variant_id":"gid:\/\/shopify\/ProductVariant\/62503906541939","gift_variant_title":"Free Size","gift_variant_mode":null,"gift_surprise":true,"min_purchase_type":"amount","min_purchase_value":"2000000.00","min_purchase_scope":"specific_collections","min_purchase_product_ids":null,"min_purchase_collection_ids":[{"id":"gid:\/\/shopify\/Collection\/703567364467","image":null,"title":"Spin Wheel - excl. Sale Items","handle":"spin-wheel"}],"min_purchase_amount_message":"Minimum purchase of required","min_purchase_quantity_message":null},{"id":17611,"label":"10% OFF SCARF","prize_type":"discount_percent","prize_value":"10.00","product_discount_type":"percent","probability":10,"visual_weight":1,"background_color":"#f4f1ef","background_color_secondary":null,"gift_slice_pattern":false,"custom_win":false,"custom_win_button_text":null,"custom_win_button_url":null,"custom_win_js":null,"custom_win_message":null,"custom_win_button_bg_color":null,"custom_win_button_text_color":null,"text_color":"#929292","label_font_size":null,"label_font_size_mobile":null,"icon":null,"icon_image_url":null,"image_url":null,"image_mode":"off","image_fit":"cover","image_position":"center","sort_order":9,"is_enabled":true,"coupon_code":null,"coupon_prefix":"BJWIN10%SCARF-","gift_product_id":null,"gift_product_title":null,"gift_product_handle":null,"gift_product_image":null,"gift_variant_id":null,"gift_variant_title":null,"gift_variant_mode":null,"gift_surprise":false,"min_purchase_type":"none","min_purchase_value":null,"min_purchase_scope":"whole_store","min_purchase_product_ids":null,"min_purchase_collection_ids":null,"min_purchase_amount_message":null,"min_purchase_quantity_message":null}]}, 4968 embedCampaigns: [] 4969 }; 4970 4971 4972 4973 // Storefront preview of a DRAFT campaign. 4974 // 4975 // THE SPLIT. Liquid cannot verify an HMAC, and cannot even see the query string 4976 // (request.path excludes it), so responsibility divides cleanly: 4977 // ⢠HERE (client): decide only whether this URL CLAIMS to be a preview â a 4978 // presence-and-shape check on the `pb_preview` parameter. Permissive. 4979 // ⢠BACKEND: decide whether the claim is TRUE. WidgetController verifies the 4980 // signature, the shop binding, the campaign binding and the expiry before it 4981 // will serve a draft. 4982 // The worst a forged or expired token achieves is loading the widget bundle on 4983 // the forger's OWN page view, after which the API serves them nothing. It cannot 4984 // reveal a draft â that requires a signature only APP_KEY can produce. 4985 // 4986 // COST ON THE NORMAL PATH (every real shopper): when the page URL has no 4987 // `pb_preview`, this is one `String.indexOf` over location.search and nothing 4988 // else â no asset, no request, no DOM write, no metafield read. The Liquid gate 4989 // below is untouched, so the bytes a shopper downloads are byte-identical to 4990 // before this feature. Storefront Lighthouse / Web Vitals impact: nil. 4991 // 4992 // The token is passed to the widget rather than re-read from the URL by it, so 4993 // there is exactly one place that decides what "is a preview" means. 4994 (function () { 4995 try { 4996 var search = window.location.search || ''; 4997 if (search.indexOf('pb_preview=') === -1) return; 4998 4999 var token = new URLSearchParams(search).get('pb_preview'); 5000 if (!token) return; 5001 5002 window.PopupBoostConfig.previewToken = token; 5003 window.PopupBoostConfig.previewMode = true; 5004 5005 // Asset URLs are CDN-hashed, so they must come from Liquid's asset_url 5006 // filter â they cannot be constructed client-side. 5007 var assets = { 5008 'popup-boost.js': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost.js", 5009 'popup-boost.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost.css", 5010 'popup-boost-quiz.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-quiz.css", 5011 'popup-boost-slot_machine.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-slot_machine.css", 5012 'popup-boost-scratch_card.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-scratch_card.css", 5013 'popup-boost-dice_roll.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-dice_roll.css", 5014 'popup-boost-mystery_box.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-mystery_box.css", 5015 'popup-boost-magic_wand.css': "https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost-magic_wand.css" 5016 }; 5017 5018 // A preview must render even though the metafield is empty (draft) â and the 5019 // Liquid gate below already decided not to emit the bundle. Inject it here.
5020 // Guarded so we never double-load when the campaign is live and the Liquid 5021 // gate DID emit the tags. 5022 if (!true && !false) { 5023 // Per-type CSS is normally chosen from the metafield's campaign_type, but a 5024 // draft has no metafield entry and the type is not known until the API 5025 // answers â so a preview loads ALL type files. Order mirrors the Liquid gate 5026 // below exactly (quiz BEFORE core, the rest after), keeping the cascade 5027 // identical to a live render. Costs a handful of small extra stylesheets on 5028 // the merchant's own preview page view only; a shopper never reaches this. 5029 ['popup-boost-quiz.css', 5030 'popup-boost.css', 5031 'popup-boost-slot_machine.css', 5032 'popup-boost-scratch_card.css', 5033 'popup-boost-dice_roll.css', 5034 'popup-boost-mystery_box.css', 5035 'popup-boost-magic_wand.css'].forEach(function (name) { 5036 var css = document.createElement('link'); 5037 css.rel = 'stylesheet'; 5038 css.href = assets[name]; 5039 document.head.appendChild(css); 5040 }); 5041 5042 var js = document.createElement('script'); 5043 js.src = assets['popup-boost.js']; 5044 js.defer = true; 5045 document.head.appendChild(js); 5046 } 5047 } catch (e) { 5048 // A preview must never break a real storefront. 5049 } 5050 })(); 5051</script>
5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 <link href="//cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost.css" rel="stylesheet" type="text/css" media="all" /> 5070 5071 5072 5073 5074 5075
5075<script src="https://cdn.shopify.com/extensions/01a0f7e6-2482-729e-82ed-004dd0fabe34/popupboost-376/assets/popup-boost.js" defer></script>
5075 5076 5077 5078 5079</div><div id="shopify-block-AUGZ4bm1wOXlRNVFzT__16187601983559181590" class="shopify-block shopify-app-block"> 5080 5081<!-- BEGIN app snippet: swymVersion -->
5081<script>var __SWYM__VERSION__ = '6.0.0';</script>
5081 5082<!-- END app snippet --> 5083
5084<script id="sbisa-embed-init" defer async> 5085 (function () { 5086 console.log('Swym SBiSA App Embed Block Init'); 5087 window.swymWatchlistEmbedBlockLoaded = true; 5088 var fullAssetUrl = "https://cdn.shopify.com/extensions/01a014b1-6566-7c61-aedf-79a2912282a5/watchlist-145/assets/apps.bundle.js"; 5089 var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1); 5090 var swymJsPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5091 var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1); 5092 window.SwymCurrentJSPath = baseJsPath; 5093 window.SwymAssetBaseUrl = assetBaseUrl; 5094 5095 window.SwymCurrentStorePath = "//swymstore-v3premium-01.swymrelay.com"; 5096 5097 function injectSwymShopifyScript() { 5098 var element = ""; 5099 var scriptSrc = ""; 5100 5101 5102 element = "swym-ext-shopify-script"; 5103 window.SwymShopifyCdnInUse = true; 5104 scriptSrc = "https://cdn.shopify.com/extensions/01a014b1-6566-7c61-aedf-79a2912282a5/watchlist-145/assets/swym-ext-shopify.js"; 5105 5106 5107 if (document.getElementById(element)) { 5108 return; 5109 } 5110 5111 var s = document.createElement("script"); 5112 s.id = element; 5113 s.type = "text/javascript"; 5114 s.async = true; 5115 s.defer = true; 5116 s.src = scriptSrc; 5117 5118 s.onerror = function() { 5119 console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default"); 5120 // Fallback logic here 5121 element = `swym-ext-shopify-script-${__SWYM__VERSION__}`; 5122 var fallbackJsPathVal = "\/\/premcdn.swymrelay.com\/code\/swym-shopify.js"; 5123 var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify"); 5124 scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__; 5125 5126 var fallbackScript = document.createElement("script"); 5127 fallbackScript.id = element; 5128 fallbackScript.type = "text/javascript"; 5129 fallbackScript.async = true; 5130 fallbackScript.defer = true; 5131 fallbackScript.src = scriptSrc; 5132 var y = document.getElementsByTagName("script")[0]; 5133 y.parentNode.insertBefore(fallbackScript, y); 5134 }; 5135 5136 var x = document.getElementsByTagName("script")[0]; 5137 x.parentNode.insertBefore(s, x); 5138 } 5139 5140 const swymAppMetafields = { 5141 pid: 'L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=', 5142 tier: 'v3premium-01', 5143 js_path: '//premcdn.swymrelay.com/code/swym-shopify.js', 5144 relay_path: 'https://swymstore-v3premium-01.swymrelay.com', 5145 isEnabled: '', 5146 }; 5147 5148 function loadSwymShopifyScriptWithWishlistCheck() { 5149 // Check if Wishlist is installed - bypass script injection as a temporary workaround solution to prevent duplicate scripts 5150 // Can be replaced with better logic once Wishlist also uses App Embed Block for script injection 5151 fetch('https://swymstore-v3premium-01.swymrelay.com' + '/script-tag-check?pid=' + 'L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=') 5152 .then((response) => response.json()) 5153 .then((data) => { 5154 if (!data?.["has-swym-script-tag"]) { 5155 injectSwymShopifyScript(); 5156 } 5157 }) 5158 .catch((error) => { 5159 // Handle any errors that occur 5160 console.error('Swym Error: ' + error); 5161 //Inject script to make sure script is injected nonetheless 5162 injectSwymShopifyScript(); 5163 }); 5164 } 5165 5166 5167 var consentAPICallbackInvoked = false; 5168 5169 function loadScriptIfNoCustomerPrivacyAPI() { 5170 if(!window.Shopify?.customerPrivacy) { 5171 loadSwymShopifyScriptWithWishlistCheck(); 5172 return true; 5173 } 5174 return false; 5175 } 5176 5177 function checkConsentAndLoad() { 5178 var requiresConsentCheck = window.Shopify?.customerPrivacy?.shouldShowBanner?.(); 5179 if(!requiresConsentCheck) { 5180 loadSwymShopifyScriptWithWishlistCheck(); 5181 return; 5182 } 5183 var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 5184 if (shouldLoadSwymScript) { 5185 loadSwymShopifyScriptWithWishlistCheck(); 5186 } else { 5187 console.warn("No customer consent to load Swym SBiSA"); 5188 } 5189 } 5190 function initialiseConsentCheck() { 5191 document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); }); 5192 window.Shopify?.loadFeatures?.( 5193 [{name: 'consent-tracking-api', version: '0.1'}], 5194 error => { 5195 consentAPICallbackInvoked = true; 5196 if (error) { 5197 if(loadScriptIfNoCustomerPrivacyAPI()) { 5198 return; 5199 } 5200 } 5201 checkConsentAndLoad(); 5202 } 5203 ); 5204 } 5205 function consentCheckFallback(retryCount) { 5206 if(!consentAPICallbackInvoked) { 5207 if (window.Shopify?.customerPrivacy) { 5208 checkConsentAndLoad(); 5209 } else if (retryCount >= 1) { 5210 console.warn("Shopify privacy API unavailable, loading Swym script"); 5211 loadSwymShopifyScriptWithWishlistCheck(); 5212 } else { 5213 setTimeout(() => consentCheckFallback(retryCount + 1), 1000); 5214 } 5215 } 5216 } 5217 if (document.readyState === "loading") { 5218 document.addEventListener("DOMContentLoaded", initialiseConsentCheck); 5219 window.addEventListener("load", () => consentCheckFallback(0)); 5220 } else { 5221 initialiseConsentCheck(); 5222 } 5223 5224 })(); 5225</script>
5225 5226 5227 5228 5229 5230 5231<!-- BEGIN app snippet: swymSnippet -->
5231<script defer> 5232 (function () { 5233 const currentSwymJSPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5234 const currentSwymStorePath = 'https://swymstore-v3premium-01.swymrelay.com'; 5235 const dnsPrefetchLink = `<link rel="dns-prefetch" href="https://${currentSwymStorePath}" crossorigin>`; 5236 const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`; 5237 const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`; 5238 const swymSnippet = document.getElementById('sbisa-embed-init'); 5239 swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink); 5240 swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2); 5241 swymSnippet.insertAdjacentHTML('afterend', preConnectLink); 5242 })() 5243</script>
vendor: 1 bytes, line 5243
5243
5244<script id="swym-snippet" type="text"> 5245 window.swymLandingURL = document.URL; 5246 window.swymCart = {"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}; 5247 window.swymPageLoad = function() { 5248 window.SwymProductVariants = window.SwymProductVariants || {}; 5249 window.SwymHasCartItems = 0 > 0; 5250 window.SwymPageData = {}, window.SwymProductInfo = {}; 5251 var unknown = {et: 0}; 5252 window.SwymPageData = unknown; 5253 5254 window.SwymPageData.uri = window.swymLandingURL; 5255 }; 5256 if(window.selectCallback){ 5257 (function(){ 5258 // Variant select override 5259 var originalSelectCallback = window.selectCallback; 5260 window.selectCallback = function(variant){ 5261 originalSelectCallback.apply(this, arguments); 5262 try{ 5263 if(window.triggerSwymVariantEvent){ 5264 window.triggerSwymVariantEvent(variant.id); 5265 } 5266 }catch(err){ 5267 console.warn("Swym selectCallback", err); 5268 } 5269 };})();} 5270 window.swymCustomerId =null; 5271 window.swymCustomerExtraCheck = 5272 null; 5273 var swappName = ("Wishlist" || "Watchlist"); 5274 var swymJSObject = { 5275 pid: "L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=", 5276 interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName 5277 }; 5278 window.swymJSShopifyLoad = function(){ 5279 if(window.swymPageLoad) swymPageLoad(); 5280 if(!window._swat) { 5281 (function (s, w, r, e, l, a, y) { 5282 r['SwymRetailerConfig'] = s; 5283 r[s] = r[s] || function (k, v) { 5284 r[s][k] = v; 5285 }; 5286 })('_swrc', '', window); 5287 _swrc('RetailerId', swymJSObject.pid); 5288 _swrc('Callback', function(){initSwymShopify();}); 5289 }else if(window._swat.postLoader){ 5290 _swrc = window._swat.postLoader; 5291 _swrc('RetailerId', swymJSObject.pid); 5292 _swrc('Callback', function(){initSwymShopify();}); 5293 }else{ 5294 initSwymShopify();} 5295 } 5296 if(!window._SwymPreventAutoLoad) { 5297 swymJSShopifyLoad(); 5298 } 5299 window.swymGetCartCookies = function(){ 5300 var RequiredCookies = ["cart", "swym-session-id", "swym-swymRegid", "swym-email"]; 5301 var reqdCookies = {}; 5302 RequiredCookies.forEach(function(k){ 5303 reqdCookies[k] = _swat.storage.getRaw(k);}); 5304 var cart_token = window.swymCart.token; 5305 var data = { 5306 action:'cart', 5307 token:cart_token, 5308 cookies:reqdCookies 5309 }; 5310 return data; 5311 } 5312 window.swymGetCustomerData = function(){ 5313 5314 return {status: 1}; 5315 5316 } 5317</script>
5317 5318 5319<style id="safari-flasher-pre"></style>
5320<script> 5321 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { 5322 document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin #swym-notepad, #swym-hosted-plugin #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin #swym-notepad, #swym-plugin #swym-overlay, #swym-plugin #swym-notification,' + '#swym-hosted-plugin #swym-notepad, #swym-hosted-plugin #swym-overlay, #swym-hosted-plugin #swym-notification' + '{-webkit-transition: none; transition: none;}' + ''; 5323 window.SwymCallbacks = window.SwymCallbacks || []; 5324 window.SwymCallbacks.push(function(tracker) { 5325 tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() { 5326 // flash-preventer 5327 var x = function() { 5328 SwymUtils.onDOMReady(function() { 5329 var d = document.createElement("div"); 5330 d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready #swym-notepad, #swym-plugin.swym-ready #swym-overlay, #swym-plugin.swym-ready #swym-notification," + "#swym-hosted-plugin.swym-ready #swym-notepad, #swym-hosted-plugin.swym-ready #swym-overlay, #swym-hosted-plugin.swym-ready #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>"; 5331 document.head.appendChild(d); 5332 });}; 5333 setTimeout(x, 10); 5334 });});} 5335 window.SwymOverrideMoneyFormat = "\u003cspan class=money\u003eRp {{amount_no_decimals_with_comma_separator}}\u003c\/span\u003e"; // Get the money format for the store from shopify 5336</script>
5336 5337<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; /* Hide when not loaded */ } </style><!-- END app snippet --> 5338 5339 5340
5341<script id="swymSnippetCheckAndActivate"> 5342 document.addEventListener('DOMContentLoaded', function () { 5343 var element = document.querySelector('script#swym-snippet:not([type="text"])'); 5344 5345 if (!element) { 5346 //To handle cases where Wishlist is "disabled on live theme" 5347 window.swymSnippetNotLoadedFromThemeFiles = true; 5348 5349 var script = document.querySelector('script#swym-snippet[type="text"]'); 5350 5351 //Activating #swym-snippet 5352 script.type = 'text/javascript'; 5353 new Function(script.textContent)(); 5354 } 5355 }); 5356</script>
5356 5357 5358 5359 5360</div><div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block"> 5361 5362 5363<!-- BEGIN app snippet: swymVersion -->
5363<script>var __SWYM__VERSION__ = '7.0.8';</script>
5363<!-- END app snippet --> 5364<!-- BEGIN app snippet: swymCustomCss --> 5365 5366 5367 5368 5369<style id="swym-custom-css"> 5370 5371</style> 5372 5373<!-- END app snippet --> 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385
5386<script> 5387 (function () { 5388 // Get CompanyLocation Metadata for B2B customer scenerios (SFS) 5389 5390 5391 // Put metafields in window variable 5392 const commonCustomizationSettings = '{"global-settings":{"icon":"heart","primaryColor":"#000","secondaryColor":"#fff","storefrontLayoutType":"as-section","buttonType":{"displayIcon":true,"displayText":true,"style":"solid"},"collectionsButtonPosition":{"position":"top-right","verticalOffset":0,"horizontalOffset":0},"pdpButtonPosition":{"position":"default","verticalOffset":0,"horizontalOffset":0},"enableStorefrontLayoutNotification":true,"storefrontLayoutDrawerWidth":400}}'; 5393 try { 5394 const parsedSettings = JSON.parse(commonCustomizationSettings); 5395 if (parsedSettings) { 5396 window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings']; 5397 } else { 5398 window.SwymWishlistCommonCustomizationSettings = {}; 5399 } 5400 } catch (e) { 5401 window.SwymWishlistCommonCustomizationSettings = {}; 5402 } 5403 5404 let enabledCommonFeatures = '{"add-to-wishlist-collections-button":false,"add-to-wishlist-pdp-button":false,"auto-add-to-wishlist-from-pdp":{"pdpViewCount":"3","notificationTimeoutDuration":"5","selectedPosition":"TopLeft","enabled":false},"sfl-popup-v2":false,"control-centre":false,"multiple-wishlist":false,"social-count":{"enabledOnCollections":false}}'; 5405 try { 5406 enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {}; 5407 } catch (e) { 5408 enabledCommonFeatures = {}; 5409 } 5410 // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code. 5411 window.SwymEnabledCommonFeatures = enabledCommonFeatures; 5412 5413 // Ghost-Intent Configuration 5414 // Defaults to disabled (false). Only enabled when metafields explicitly set to "true". 5415 try { 5416 let ghostIntentConfig = { 5417 isExplicitConsentNeeded: false, 5418 isExplicitConsentNeededEvenForLocalStorage: false, 5419 askForPermissionOnFirstClick: true 5420 }; 5421 5422 5423 5424 window.SwymGhostIntentConfig = ghostIntentConfig; 5425 } catch(e) { 5426 window.SwymGhostIntentConfig = { 5427 isExplicitConsentNeeded: false, 5428 isExplicitConsentNeededEvenForLocalStorage: false, 5429 askForPermissionOnFirstClick: true 5430 }; 5431 } 5432 5433 // Education Layer Configuration 5434 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 5435 5436 5437 window.SwymEducationLayerEnabled = enabledCommonFeatures?.["education-layer"] ?? true; 5438 5439 // Login Nudge Configuration 5440 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 5441 5442 5443 window.SwymLoginNudgeEnabled = enabledCommonFeatures?.["login-nudge"] ?? true; 5444 5445 // Initialize or ensure SwymViewProducts exists 5446 if (!window.SwymViewProducts) { 5447 window.SwymViewProducts = {}; 5448 } 5449 5450 })(); 5451</script>
5451 5452 5453<!-- BEGIN app snippet: swymLoadConsentManager -->
5454<script> 5455 (function () { 5456 if (document.querySelector("script[data-swym-consent-manager]")) return; 5457 var swymConsentManagerScript = document.createElement("script"); 5458 swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0f142-9ec3-73a2-babd-8904a7e44cee\/swym-relay-840\/assets\/swym-consent-manager.js"; 5459 swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves 5460 swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true"); 5461 document.head.appendChild(swymConsentManagerScript); 5462 })(); 5463</script>
5463 5464<!-- END app snippet --> 5465
5466<script 5467 5468 id="wishlist-embed-init" 5469 defer 5470 async 5471> 5472 (function () { 5473 window.swymWishlistEmbedLoaded = true; 5474 var fullAssetUrl = "https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/apps.bundle.js"; 5475 var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1); 5476 var swymJsPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5477 var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1); 5478 window.SwymCurrentJSPath = baseJsPath; 5479 window.SwymAssetBaseUrl = assetBaseUrl; 5480 5481 window.SwymCurrentStorePath = "//swymstore-v3premium-01.swymrelay.com"; 5482 5483 function loadSwymShopifyScript() { 5484 var element = ""; 5485 var scriptSrc = ""; 5486 5487 5488 element = "swym-ext-shopify-script"; 5489 window.SwymShopifyCdnInUse = true; 5490 scriptSrc = "https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/swym-ext-shopify.js"; 5491 5492 5493 if (document.getElementById(element)) { 5494 return; 5495 } 5496 5497 var s = document.createElement("script"); 5498 s.id = element; 5499 s.type = "text/javascript"; 5500 s.async = true; 5501 s.defer = true; 5502 s.src = scriptSrc; 5503 5504 s.onerror = function() { 5505 console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default"); 5506 // Fallback logic here 5507 element = `swym-ext-shopify-script-${__SWYM__VERSION__}`; 5508 var fallbackJsPathVal = "\/\/premcdn.swymrelay.com\/code\/swym-shopify.js"; 5509 var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify"); 5510 scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__; 5511 5512 var fallbackScript = document.createElement("script"); 5513 fallbackScript.id = element; 5514 fallbackScript.type = "text/javascript"; 5515 fallbackScript.async = true; 5516 fallbackScript.defer = true; 5517 fallbackScript.src = scriptSrc; 5518 var y = document.getElementsByTagName("script")[0]; 5519 y.parentNode.insertBefore(fallbackScript, y); 5520 }; 5521 5522 var x = document.getElementsByTagName("script")[0]; 5523 x.parentNode.insertBefore(s, x); 5524 } 5525 5526 var consentAPICallbackInvoked = false; 5527 function checkConsentAndLoad() { 5528 // Allow app to load in design mode (theme editor) regardless of consent 5529 if (window.Shopify?.designMode) { 5530 loadSwymShopifyScript(); 5531 return; 5532 } 5533 5534 // Ghost-Intent: If merchant enabled explicit consent, block SDK until 5535 // consent is given through our Ghost-Intent flow (sync nudge accept). 5536 // This works on any store regardless of region (EU or non-EU). 5537 var ghostConfig = window.SwymGhostIntentConfig || {}; 5538 if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) { 5539 try { 5540 var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || ''); 5541 if (localStorage.getItem(consentKey) === 'true') { 5542 // Consent was given through our flow â load SDK 5543 loadSwymShopifyScript(); 5544 return; 5545 } 5546 } catch(e) {} 5547 5548 // Check if Shopify native cookie consent was given via the cookie banner. 5549 // If user accepted cookies through Shopify's banner, load SDK normally 5550 // (Ghost-Intent is only needed when NO consent mechanism has been used). 5551 var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 5552 if (shopifyConsentGiven) { 5553 loadSwymShopifyScript(); 5554 return; 5555 } 5556 5557 console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given"); 5558 return; 5559 } 5560 5561 var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.(); 5562 if(!isCookieBannerVisible) { 5563 loadSwymShopifyScript(); 5564 return; 5565 } 5566 var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 5567 if (shouldLoadSwymScript) { 5568 loadSwymShopifyScript(); 5569 } else { 5570 console.warn("No customer consent to load Swym Wishlist Plus"); 5571 } 5572 } 5573 function initialiseConsentCheck() { 5574 document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); }); 5575 window.Shopify?.loadFeatures?.( 5576 [{name: 'consent-tracking-api', version: '0.1'}], 5577 error => { 5578 consentAPICallbackInvoked = true; 5579 if (error) { 5580 if(!window.Shopify?.customerPrivacy) { 5581 loadSwymShopifyScript(); 5582 return; 5583 } 5584 } 5585 checkConsentAndLoad(); 5586 } 5587 ); 5588 } 5589 function consentCheckFallback(retryCount) { 5590 if(!consentAPICallbackInvoked) { 5591 if (window.Shopify?.customerPrivacy) { 5592 checkConsentAndLoad(); 5593 } else if (retryCount >= 1) { 5594 console.warn("Shopify.loadFeatures unsuccessful on site, refer - https://shopify.dev/docs/api/customer-privacy#loading-the-customer-privacy-api. Proceeding with normal Swym Wishlist Plus load"); 5595 // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected 5596 checkConsentAndLoad(); 5597 } else { 5598 setTimeout(() => consentCheckFallback(retryCount + 1), 1000); 5599 } 5600 } 5601 } 5602 if (document.readyState === "loading") { 5603 document.addEventListener("DOMContentLoaded", initialiseConsentCheck); 5604 window.addEventListener("load", () => consentCheckFallback(0)); 5605 } else { 5606 initialiseConsentCheck(); 5607 } 5608 5609 })(); 5610</script>
5610 5611 5612<!-- BEGIN app snippet: swymSnippet -->
5612<script defer> 5613 (function () { 5614 const currentSwymJSPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5615 const currentSwymStorePath = 'https://swymstore-v3premium-01.swymrelay.com'; 5616 const dnsPrefetchLink = `<link rel="dns-prefetch" href="${currentSwymStorePath}" crossorigin>`; 5617 const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`; 5618 const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`; 5619 const swymSnippet = document.getElementById('wishlist-embed-init'); 5620 if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);} 5621 if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);} 5622 if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);} 5623 })() 5624</script>
vendor: 1 bytes, line 5624
5624
5625<script id="swym-snippet" type="text"> 5626 window.swymLandingURL = document.URL; 5627 window.swymCart = {"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}; 5628 window.swymPageLoad = function() { 5629 window.SwymProductVariants = window.SwymProductVariants || {}; 5630 window.SwymHasCartItems = 0 > 0; 5631 window.SwymPageData = {}, window.SwymProductInfo = {}; 5632 var unknown = {et: 0}; 5633 window.SwymPageData = unknown; 5634 5635 window.SwymPageData.uri = window.swymLandingURL; 5636 }; 5637 if(window.selectCallback){ 5638 (function(){ 5639 var originalSelectCallback = window.selectCallback; 5640 window.selectCallback = function(variant){ 5641 originalSelectCallback.apply(this, arguments); 5642 try{ 5643 if(window.triggerSwymVariantEvent){ 5644 window.triggerSwymVariantEvent(variant.id); 5645 } 5646 }catch(err){ 5647 console.warn("Swym selectCallback", err); 5648 } 5649 };})();} 5650 window.swymCustomerId =null; 5651 window.swymCustomerExtraCheck = 5652 null; 5653 var swappName = ("Wishlist" || "Wishlist"); 5654 var swymJSObject = { 5655 pid: "L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=", 5656 interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName 5657 }; 5658 window.swymJSShopifyLoad = function(){ 5659 if(window.swymPageLoad) swymPageLoad(); 5660 if(!window._swat) { 5661 (function (s, w, r, e, l, a, y) { 5662 r['SwymRetailerConfig'] = s; 5663 r[s] = r[s] || function (k, v) { 5664 r[s][k] = v; 5665 }; 5666 })('_swrc', '', window); 5667 _swrc('RetailerId', swymJSObject.pid); 5668 _swrc('Callback', function(){initSwymShopify();}); 5669 }else if(window._swat.postLoader){ 5670 _swrc = window._swat.postLoader; 5671 _swrc('RetailerId', swymJSObject.pid); 5672 _swrc('Callback', function(){initSwymShopify();}); 5673 }else{ 5674 initSwymShopify();} 5675 } 5676 if(!window._SwymPreventAutoLoad) { 5677 swymJSShopifyLoad(); 5678 } 5679</script>
5679 5680 5681<style id="safari-flasher-pre"></style>
5682<script> 5683 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { 5684 document.getElementById("safari-flasher-pre").innerHTML = '' + '#swym-plugin,#swym-hosted-plugin{display: none;}' + '.swym-button.swym-add-to-wishlist{display: none;}' + '.swym-button.swym-add-to-watchlist{display: none;}' + '#swym-plugin #swym-notepad, #swym-hosted-plugin #swym-notepad{opacity: 0; visibility: hidden;}' + '#swym-plugin #swym-notepad, #swym-plugin #swym-overlay, #swym-plugin #swym-notification,' + '#swym-hosted-plugin #swym-notepad, #swym-hosted-plugin #swym-overlay, #swym-hosted-plugin #swym-notification' + '{-webkit-transition: none; transition: none;}' + ''; 5685 window.SwymCallbacks = window.SwymCallbacks || []; 5686 window.SwymCallbacks.push(function(tracker) { 5687 tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() { 5688 var x = function() { 5689 SwymUtils.onDOMReady(function() { 5690 var d = document.createElement("div"); 5691 d.innerHTML = "<style id='safari-flasher-post'>" + "#swym-plugin:not(.swym-ready),#swym-hosted-plugin:not(.swym-ready){display: none;}" + ".swym-button.swym-add-to-wishlist:not(.swym-loaded){display: none;}" + ".swym-button.swym-add-to-watchlist:not(.swym-loaded){display: none;}" + "#swym-plugin.swym-ready #swym-notepad, #swym-plugin.swym-ready #swym-overlay, #swym-plugin.swym-ready #swym-notification," + "#swym-hosted-plugin.swym-ready #swym-notepad, #swym-hosted-plugin.swym-ready #swym-overlay, #swym-hosted-plugin.swym-ready #swym-notification" + "{-webkit-transition: opacity 0.3s, visibility 0.3ms, -webkit-transform 0.3ms !important;-moz-transition: opacity 0.3s, visibility 0.3ms, -moz-transform 0.3ms !important;-ms-transition: opacity 0.3s, visibility 0.3ms, -ms-transform 0.3ms !important;-o-transition: opacity 0.3s, visibility 0.3ms, -o-transform 0.3ms !important;transition: opacity 0.3s, visibility 0.3ms, transform 0.3ms !important;}" + "</style>"; 5692 document.head.appendChild(d); 5693 });}; 5694 setTimeout(x, 10); 5695 });});} 5696 window.SwymOverrideMoneyFormat = "\u003cspan class=money\u003eRp {{amount_no_decimals_with_comma_separator}}\u003c\/span\u003e"; 5697</script>
5697 5698<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet --> 5699
5700<script 5701 5702 id="swymSnippetCheckAndActivate" 5703> 5704 (function () { 5705 var duplicateProneIds = ['safari-flasher-pre', 'swym-product-view-defaults', 'swym-wrap-login-handler']; 5706 5707 function removeDuplicateIdNodes(id) { 5708 var nodes = document.querySelectorAll('#' + id); 5709 nodes.forEach(function (node, index) { 5710 if (index > 0) { 5711 node.remove(); 5712 } 5713 }); 5714 } 5715 5716 function cleanupDuplicateSnippetNodes(activeScript) { 5717 if (!activeScript) { 5718 return; 5719 } 5720 var allSwymSnippets = document.querySelectorAll('script#swym-snippet'); 5721 allSwymSnippets.forEach(function (scriptNode) { 5722 if (scriptNode !== activeScript) { 5723 scriptNode.remove(); 5724 } 5725 }); 5726 } 5727 5728 function cleanupDuplicateActivationGuards() { 5729 var guardScripts = document.querySelectorAll('script#swymSnippetCheckAndActivate'); 5730 guardScripts.forEach(function (scriptNode, index) { 5731 if (index > 0) { 5732 scriptNode.removeAttribute('id'); 5733 } 5734 }); 5735 } 5736 5737 function postDomLoad() { 5738 var activeScript = document.querySelector('script#swym-snippet:not([type="text"])'); 5739 if (!activeScript) { 5740 var inactiveScript = document.querySelector('script#swym-snippet[type="text"]'); 5741 if (inactiveScript) { 5742 inactiveScript.type = 'text/javascript'; 5743 new Function(inactiveScript.textContent)(); 5744 activeScript = inactiveScript; 5745 } 5746 } 5747 5748 cleanupDuplicateSnippetNodes(activeScript); 5749 cleanupDuplicateActivationGuards(); 5750 duplicateProneIds.forEach(removeDuplicateIdNodes); 5751 } 5752 5753 if (document.readyState === 'loading') { 5754 document.addEventListener('DOMContentLoaded', postDomLoad); 5755 } else { 5756 postDomLoad(); 5757 } 5758 })(); 5759</script>
5759 5760 5761 5762
5763<script> 5764 (function () { 5765 const themeSchemaName = window.Shopify.theme.schema_name; 5766 5767 if (!window.SwymCallbacks) { 5768 window.SwymCallbacks = []; 5769 } 5770 window.SwymCallbacks.push(swat => { 5771 if (!swat) { 5772 return; 5773 } 5774 5775 // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent 5776 if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) { 5777 window.SwymLocalWishlist.syncToCloud(swat); 5778 } 5779 5780 if (window._SwymSDKOnlyMode) { 5781 return; 5782 } 5783 5784 // ENABLE COMMON FEATURES 5785 let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures; 5786 Object.keys(swymEnabledCommonFeatures).forEach(key => { 5787 if (!swymEnabledCommonFeatures[key]) return; 5788 5789 switch (key) { 5790 case 'add-to-wishlist-collections-button': 5791 // Check if app block is already handling the collections button 5792 if (window.SwymCollectionsConfig) { 5793 return; 5794 } 5795 5796 // Check if v2 default collections is handling it 5797 if (window.SwymAdvancedCollectionsWishlistConfig) { 5798 return; 5799 } 5800 5801 // Fallback to old v1 behavior if v2 config is not present 5802 swat?.collectionsApi?.setDefaultCustomizationOptions(); 5803 swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName); 5804 5805 break; 5806 case 'add-to-wishlist-pdp-button': 5807 // Check if app block is already handling the PDP button 5808 if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') { 5809 return; 5810 } 5811 5812 if (!(window.SwymPageData && window.SwymPageData.et === 1)) { 5813 // Not initiating pdp button as it is not a product page 5814 return; 5815 } 5816 5817 // Inject addtowishlist.css into the document's <head> 5818 var head = document.head; 5819 var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/addtowishlistbutton.css"; 5820 var pdpButtonStylesheetTag = document.createElement('link'); 5821 pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`; 5822 pdpButtonStylesheetTag.rel = 'stylesheet'; 5823 pdpButtonStylesheetTag.href = pdpButtonStylesheet; 5824 5825 if (!document.getElementById('swym-pdp-button-stylesheet')) { 5826 head.appendChild(pdpButtonStylesheetTag); 5827 } 5828 5829 var x = document.getElementsByTagName('script')[0]; 5830 function createAndInsertScript(id, src, onLoadCallback) { 5831 var scriptTag = document.createElement('script'); 5832 scriptTag.id = id; 5833 scriptTag.type = 'text/javascript'; 5834 scriptTag.src = src; 5835 scriptTag.onload = onLoadCallback; 5836 x.parentNode.insertBefore(scriptTag, x); 5837 } 5838 5839 var pdpButtonScript = "https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/addtowishlistbutton.js"; 5840 createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () { 5841 const pdpBtnApi = window.WishlistPlusPDPButtonAPI; 5842 if (pdpBtnApi) { 5843 pdpBtnApi.setDefaultCustomizationOptions(swat); 5844 pdpBtnApi.initializePDPButton(swat, true); 5845 } 5846 }); 5847 break; 5848 default: 5849 return; 5850 } 5851 }); 5852 }); 5853 })(); // IIFE to prevent polluting global scope 5854</script>
5854 5855 5856 5857
5858<script> 5859 (function () { 5860 // Get the settings from Shopify's Liquid variables and create the styles 5861 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 5862 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 5863 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 5864 const isControlCentreEnabledFromBlockSettings = true; 5865 5866 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 5867 // Don't enable control centre if this is disabled and block settings are not enabled 5868 return; 5869 } 5870 5871 let borderRadius = 25; 5872 let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400; 5873 5874 // Check if block settings exist, use them, otherwise fall back to common settings 5875 let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 5876 "#424242" : 5877 window.SwymWishlistCommonCustomizationSettings.primaryColor; 5878 5879 let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 5880 "#ffffff" : 5881 window.SwymWishlistCommonCustomizationSettings.secondaryColor; 5882 5883 let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 5884 "#f5f5f5" : null; 5885 let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 5886 "#333333" : null; 5887 5888 // Only use color adjustment functions if we're using common settings 5889 if (!secondaryBgColor || !secondaryTextColor) { 5890 function adjustOpacity(color, opacity) { 5891 if (color[0] === '#') { 5892 color = color.slice(1); 5893 } 5894 5895 if (color.length === 3) { 5896 color = color.split('').map(char => char + char).join(''); 5897 } 5898 5899 const r = parseInt(color.slice(0, 2), 16); 5900 const g = parseInt(color.slice(2, 4), 16); 5901 const b = parseInt(color.slice(4, 6), 16); 5902 5903 return `rgba(${r}, ${g}, ${b}, ${opacity})`; 5904 } 5905 5906 function hexToRgb(color) { 5907 if (color[0] === '#') { 5908 color = color.slice(1); 5909 } 5910 if (color.length === 3) { 5911 color = color.split('').map(c => c + c).join(''); 5912 } 5913 5914 return { 5915 r: parseInt(color.slice(0, 2), 16), 5916 g: parseInt(color.slice(2, 4), 16), 5917 b: parseInt(color.slice(4, 6), 16) 5918 }; 5919 } 5920 5921 function getLuminance({ r, g, b }) { 5922 return 0.299 * r + 0.587 * g + 0.114 * b; 5923 } 5924 5925 function generateSecondaryColors(primaryBgColor, primaryTextColor) { 5926 const secondaryBgOpacity = 0.2; 5927 const secondaryTextOpacity = 0.8; 5928 5929 const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity); 5930 5931 const bgRgb = hexToRgb(primaryBgColor); 5932 const bgLuminance = getLuminance(bgRgb); 5933 5934 // Determine whether to use dark or light text for contrast 5935 const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity); 5936 const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity); 5937 5938 const secondaryTextColor = bgLuminance > 186 ? darkText : lightText; 5939 5940 return { 5941 secondaryBgColor, 5942 secondaryTextColor 5943 }; 5944 } 5945 5946 const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor); 5947 secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor; 5948 secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor; 5949 } 5950 5951 // Create the CSS rule 5952 let styles = ` 5953 .swym-storefront-layout-root-component { 5954 --swym-storefront-layout-ui-border-radius: ${borderRadius}px; 5955 --swym-storefront-layout-button-border-radius: ${borderRadius}px; 5956 --swym-storefront-layout-side-drawer-width: ${drawerWidth}px; 5957 --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor}; 5958 --swym-storefront-layout-button-color-text-primary: ${primaryTextColor}; 5959 --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor}; 5960 --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor}; 5961 } 5962 `; 5963 5964 // Create a <style> element and append the styles 5965 let styleSheet = document.createElement("style"); 5966 styleSheet.type = "text/css"; 5967 styleSheet.innerText = styles; 5968 document.head.appendChild(styleSheet); 5969 5970 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 5971 window.SwymStorefrontLayoutContext = {}; 5972 } 5973 if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){ 5974 window.SwymStorefrontLayoutExtensions = {}; 5975 } 5976 5977 // Expose block settings toggle state so ThemeCSSMapping can respect it. 5978 // When true, theme editor color pickers take priority over inherited theme CSS variables. 5979 SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings; 5980 5981 if (isControlCentreEnabledFromBlockSettings) { 5982 // If block settings are enabled, use them 5983 SwymStorefrontLayoutContext.Settings = { 5984 EnableStorefrontLayoutOnLauncher: true, 5985 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 5986 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 5987 StorefrontLayoutDrawerPosition: "left", 5988 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 5989 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 5990 EnableStorefrontLayoutVariantSelector: true, 5991 StorefrontLayoutNotificationPosition: "left", 5992 StorefrontLayoutActionPopupPosition: "left", 5993 StorefrontLayoutNotificationDuration: 5000 5994 }; 5995 } else { 5996 // If only metafield is enabled but no block settings, use common settings 5997 SwymStorefrontLayoutContext.Settings = { 5998 EnableStorefrontLayoutOnLauncher: true, 5999 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 6000 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 6001 StorefrontLayoutDrawerPosition: "left", 6002 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 6003 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 6004 EnableStorefrontLayoutVariantSelector: true, 6005 StorefrontLayoutNotificationPosition: "left", 6006 StorefrontLayoutActionPopupPosition: "left", 6007 StorefrontLayoutNotificationDuration: 5000 6008 }; 6009 } 6010 const storefrontLayoutCallback = (swat) =>{ 6011 SwymStorefrontLayoutContext.swat = swat; 6012 let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid']; 6013 let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled']; 6014 SwymStorefrontLayoutContext.Settings = { 6015 ...SwymStorefrontLayoutContext?.Settings, 6016 EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false, 6017 EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield), 6018 } 6019 6020 if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){ 6021 if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){ 6022 var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 6023 detail: { settings: SwymStorefrontLayoutContext?.Settings } 6024 }); 6025 document.dispatchEvent(event); 6026 }else{ 6027 swat.utils.warn(`LayoutInitialized event is not defined.`); 6028 } 6029 }else{ 6030 swat.utils.warn(`Storefront Layout is disabled.`); 6031 document.getElementById("swym-storefront-layout-container")?.remove(); 6032 document.getElementById("swym-storefront-extention-render-container")?.remove(); 6033 } 6034 } 6035 6036 if (!window.SwymCallbacks) { 6037 window.SwymCallbacks = []; 6038 } 6039 window.SwymCallbacks.push(storefrontLayoutCallback); 6040 6041 SwymStorefrontLayoutContext.SwymCustomerData = { 6042 6043 name: null, 6044 email: null 6045 6046 };
6047 SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email; 6048 })(); 6049</script>
6049 6050 6051 6052 6053 6054 6055 <div id="swym-storefront-extention-render-container"> 6056 <!-- BEGIN app snippet: swymStorefrontLayout -->
6056<script> 6057 (function () { 6058 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 6059 const isControlCentreEnabledFromBlockSettings = true; 6060 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 6061 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 6062 6063 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 6064 return; 6065 } 6066 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 6067 window.SwymStorefrontLayoutContext = {}; 6068 } 6069 6070 // Initialize strings with empty values first to prevent string changes after loadStrings() 6071 SwymStorefrontLayoutContext.Strings = { 6072 title: "", 6073 addToCart: "", 6074 addedToCart: "", 6075 addAllToCartCta: "", 6076 addAllToCartSuccessText: "", 6077 addAllToCartEmptyText: "", 6078 addAllToCartErrorText: "", 6079 soldOut: "", 6080 addingToCart: "", 6081 viewCartCta: "", 6082 moveToCartCta: "", 6083 movingToCartCta: "", 6084 removeSflItemCta: "", 6085 6086 loginHeading: "", 6087 loginText: "", 6088 loginButtonText: "", 6089 loggedUserWelcomeMessage: "", 6090 VariantSelectorBtnText: "", 6091 wishlistTitle: "", 6092 wishlistInfo: "", 6093 emptyWishlistTitle: "", 6094 emptyWishlistDescription: "", 6095 6096 collectionTitle: "", 6097 emptyCarouselCollectionText: "", 6098 emptyCollectionText: "", 6099 emptyCollectionDescription: "", 6100 6101 addToCollectionTitle: "", 6102 removeItemCta: "", 6103 addToCollectionCta: "", 6104 createCollectionCta: "", 6105 saveNewCollectionCta: "", 6106 renameCollectionCta: "", 6107 deleteCollectionCta: "", 6108 shareCollectionCta: "", 6109 saveCollectionCta: "", 6110 editCollectionCta: "", 6111 shareCollectionTitle: "", 6112 shareCollectionMessage: "", 6113 sharedCollectionMessage: "", 6114 updateCollectionTitle: "", 6115 6116 errorMessageListNameRequired: "", 6117 errorMessageListNameRequire3Char: "", 6118 errorMessageListNameAlreadyExist: "", 6119 6120 notificationMessageItemSaved: "", 6121 notificationMessageItemRemoved: "", 6122 notificationMessageAddedToCart: "", 6123 notificationMessageAddedToCollection: "", 6124 notificationMessageCollectionSaved: "", 6125 notificationMessageCollectionDeleted: "", 6126 notificationMessageCollectionUpdated: "", 6127 notificationMessageCollectionUnavailable: "", 6128 notificationMessageSFLItemSaved: "", 6129 notificationMessageSFLItemRemoved: "", 6130 notificationMessageMovedToCart: "", 6131 6132 notificationActionAddToCollection: "", 6133 notificationActionView: "", 6134 notificationActionViewCollection: "", 6135 notificationActionGoToCart: "", 6136 6137 item: "", 6138 items: "", 6139 6140 tabWishlist: "", 6141 tabSavedForLater: "", 6142 tabSavedForYou: "", 6143 6144 savedForLaterTitle: "", 6145 emptySavedForLaterTitle: "", 6146 emptySavedForLaterDescription: "", 6147 6148 awNudgeMessage: "", 6149 awNudgeMessageSub: "", 6150 awNudgeLoginCTA: "", 6151 awNudgeDismiss: "", 6152 6153 emptySingleLoggedInTitle: "", 6154 emptySingleLoggedInDescription: "", 6155 emptySingleLoggedInBullet1: "", 6156 emptySingleLoggedInBullet2: "", 6157 emptySingleLoggedInBullet3: "", 6158 emptySingleLoggedInCTA: "", 6159 6160 emptyMultiLoggedInTitle: "", 6161 emptyMultiLoggedInDescription: "", 6162 emptyMultiLoggedInCreateTitle: "", 6163 emptyMultiLoggedInCreateDescription: "", 6164 emptyMultiLoggedInBrowseLabel: "", 6165 emptyMultiLoggedInCTA: "", 6166 emptyMultiLoggedInTag1: "", 6167 emptyMultiLoggedInTag2: "", 6168 emptyMultiLoggedInTag3: "", 6169 emptyMultiLoggedInTag4: "", 6170 emptyMultiLoggedInTag5: "", 6171 6172 emptyGuestTitle: "", 6173 emptyGuestDescription: "", 6174 emptyGuestSingleNotice: "", 6175 emptyGuestMultiNotice: "", 6176 emptyGuestLoginCTA: "", 6177 emptyGuestBrowseCTA: "", 6178 emptyGuestSignupText: "", 6179 emptyGuestSignupCTA: "", 6180 6181 emptySflTitle: "", 6182 emptySflDescription: "", 6183 emptySflStep1Title: "", 6184 emptySflStep1Description: "", 6185 emptySflStep2Title: "", 6186 emptySflStep2Description: "", 6187 emptySflLoggedInNotice: "", 6188 emptySflGuestNotice: "", 6189 emptySflGoToCartCTA: "", 6190 emptySflLoginCTA: "", 6191 emptySflSignupText: "", 6192 emptySflSignupCTA: "" 6193 }; 6194 6195 SwymStorefrontLayoutContext.stringsLoaded = false;
6196 SwymStorefrontLayoutContext.StorefrontLayoutUrls = SwymStorefrontLayoutContext.StorefrontLayoutUrls || {}; 6197 SwymStorefrontLayoutContext.StorefrontLayoutUrls.Login = "\/customer_authentication\/login?return_to=%2Fblogs%2Fpress\u0026locale=en\u0026ui_hint=full\u0026region_country=US"; 6198 6199 /** 6200 * Function to override Swym's default UI behavior. 6201 **/ 6202 const overrideSwymDefaultUI = (swat) => { 6203 try{ 6204 swat.ui.open = function(){ 6205 window.location.hash = SwymStorefrontLayoutContext?.StorefrontLayoutUrls?.List; 6206 } 6207 6208 if (swat.ui?.uiRef?.settings?.UI) { 6209 swat.ui.uiRef.settings.UI.NotificationDisabled = true; 6210 } 6211 }catch(e){ 6212 swat.utils?.warn('Error overriding Swym default UI:', e); 6213 } 6214 } 6215 6216 /** 6217 * Callback function to override Swym's default UI behavior based on Storefront Layout settings. 6218 * 6219 * - Overrides `swat.ui.open` to redirect to a custom Storefront Layout URL if enabled. 6220 * - Overrides Swym's default notifications to log notifications instead of displaying them. 6221 * - Ensures the callback is pushed to `window.SwymCallbacks` for execution when Swym is initialized. 6222 * 6223 * @param {Object} swat - Swym's UI object used for overriding UI behaviors. 6224 */ 6225 const swymStorefrontLayoutCallback = (swat) =>{ 6226 SwymStorefrontLayoutContext.swat = swat; 6227 6228 overrideSwymDefaultUI(swat); 6229 6230 6231 let triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat; 6232 if (typeof triggerHeartbeat !== "function") return; 6233 6234 let wishlistNewUiHeartbeatData = ''; 6235 try { 6236 wishlistNewUiHeartbeatData = JSON.parse(wishlistNewUiHeartbeatData) || {}; 6237 } catch (e) { 6238 wishlistNewUiHeartbeatData = {}; 6239 } 6240 6241 let themeId = window.Shopify.theme.id; 6242 let isDesignMode = !!window.swymDesignMode; 6243 let lastHeartbeat = isDesignMode ? wishlistNewUiHeartbeatData?.editor : wishlistNewUiHeartbeatData?.[themeId]; 6244 let themeContext = isDesignMode ? 'editor' : themeId; 6245 let extensionData = { 6246 extensionName: "wishlist-new-ui", 6247 extensionType: "app-embed", 6248 metadata: {}, 6249 themeId: themeContext, 6250 extensionSource: "default" 6251 }; 6252 /** Stop heartbeat 6253 triggerHeartbeat(extensionData, lastHeartbeat); 6254 */ 6255 } 6256 6257 if (!window.SwymCallbacks) { 6258 window.SwymCallbacks = []; 6259 } 6260 window.SwymCallbacks.push(swymStorefrontLayoutCallback); 6261 })(); 6262</script>
6262 6263<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/storefront-layout.css">
6264<script src="https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/async-wishlist-apis.js" defer="defer"></script>
vendor: 1 bytes, line 6264
6264
6265<script src="https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/storefront-layout.js" defer="defer"></script>
vendor: 1 bytes, line 6265
6265
6266<script src="https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/storefront-layout-components.js" defer="defer"></script>
6266 6267 6268<swym-storefront-layout class="swym-storefront-layout-root-component"></swym-storefront-layout> 6269<!-- END app snippet --> 6270 </div> 6271 <!-- BEGIN app snippet: swymEducationTooltip --> 6272 6273 6274 6275 6276 <div id="swym-education-tooltip" aria-hidden="true" 6277 data-toast-desktop-message="Interesting? Click '{{wishlistIcon}}' to save it to your {{wishlistName}}." 6278 data-toast-mobile-message="Interesting? Tap '{{wishlistIcon}}' to add to your {{wishlistName}}." 6279 data-toast-cta="Wishlist Now" 6280 data-tooltip-desktop-message="Interesting? Click '{{wishlistIcon}}' to save it to your {{wishlistName}}." 6281 data-tooltip-mobile-message="Interesting? Tap '{{wishlistIcon}}' to add to your {{wishlistName}}." 6282 data-button-transition-text-1="Price drops? Know first." 6283 data-button-transition-text-2="Almost gone. Just saying." 6284 data-button-transition-text-3="Yours when ready."> 6285 </div> 6286 6287 <div id="swym-education-tooltip-bubble" class="swym-education-tooltip swym-education-tooltip-above" aria-hidden="true" role="tooltip"> 6288 <div class="swym-education-tooltip-content"> 6289 <span class="swym-education-tooltip-message"></span> 6290 <button class="swym-education-tooltip-close" data-swym-education-tooltip-close aria-label="Close consent dialog"> 6291 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 6292 <path d="M18 6L6 18M6 6l12 12"></path> 6293 </svg> 6294 </button> 6295 </div> 6296 <div class="swym-education-tooltip-arrow"></div> 6297 </div> 6298 6299 <style> 6300 /* Education tooltip â positioned fixed, managed by JS */ 6301 .swym-education-tooltip { 6302 position: fixed; 6303 z-index: 500; 6304 visibility: hidden; 6305 opacity: 0; 6306 transition: opacity 0.2s ease, visibility 0.2s ease; 6307 pointer-events: none; 6308 } 6309 .swym-education-tooltip.swym-education-tooltip-visible { 6310 visibility: visible; 6311 opacity: 1; 6312 pointer-events: auto; 6313 } 6314 .swym-education-tooltip-content { 6315 background: var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 6316 color: var(--swym-storefront-layout-notification-neutral-text-color, #383d41); 6317 border: 1px solid var(--swym-storefront-layout-notification-neutral-border-color, #d6d8db); 6318 padding: 10px 14px; 6319 border-radius: var(--swym-storefront-layout-ui-border-radius, 10px); 6320 font-size: 13px; 6321 line-height: 1.4; 6322 display: flex; 6323 align-items: center; 6324 gap: 8px; 6325 max-width: 320px; 6326 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 6327 } 6328 .swym-education-tooltip-message { 6329 flex: 1; 6330 } 6331 .swym-education-tooltip-close { 6332 background: none; 6333 border: none; 6334 color: inherit; 6335 cursor: pointer; 6336 padding: 2px; 6337 line-height: 1; 6338 flex-shrink: 0; 6339 opacity: 0.7; 6340 } 6341 .swym-education-tooltip-close:hover { 6342 opacity: 1; 6343 } 6344 6345 /* Button text fade transition for education nudge */ 6346 .swym-btn-text-fade-out { 6347 opacity: 0; 6348 transition: opacity 0.2s ease; 6349 } 6350 .swym-btn-text-fade-in { 6351 opacity: 1; 6352 transition: opacity 0.3s ease; 6353 } 6354 6355 /* Arrow â points down when tooltip is above, up when below */ 6356 .swym-education-tooltip-arrow { 6357 width: 0; 6358 height: 0; 6359 position: absolute; 6360 left: 50%; 6361 transform: translateX(-50%); 6362 } 6363 .swym-education-tooltip-above .swym-education-tooltip-arrow { 6364 bottom: -6px; 6365 border-left: 6px solid transparent; 6366 border-right: 6px solid transparent; 6367 border-top: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 6368 } 6369 .swym-education-tooltip-below .swym-education-tooltip-arrow { 6370 top: -6px; 6371 border-left: 6px solid transparent; 6372 border-right: 6px solid transparent; 6373 border-bottom: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 6374 } 6375 6376 /* Hidden data element */ 6377 #swym-education-tooltip { 6378 display: none; 6379 } 6380 6381 @media (max-width: 480px) { 6382 .swym-education-tooltip-content { 6383 max-width: 90vw; 6384 font-size: 12px; 6385 } 6386 } 6387 </style> 6388 6389
6389<script src="https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/swym-education-tooltip.js" defer="defer"></script>
6389 6390
6390<script src="https://cdn.shopify.com/extensions/01a0f142-9ec3-73a2-babd-8904a7e44cee/swym-relay-840/assets/swym-education.js" defer="defer"></script>
6390 6391 6392<!-- END app snippet --> 6393 6394 6395</div><div id="shopify-block-AWEt3R1NOaHZlQitDV__16357531335331704164" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: vite-tag --> 6396 6397 6398
6398<script src="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/wheelify-Dq3uE_w9.js" type="module" crossorigin="anonymous"></script>
6398 6399 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/apiUrls-FAzkiIkJ.js" crossorigin="anonymous"> 6400 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/intlTelInput-BRkmBag1.js" crossorigin="anonymous"> 6401 <link href="//cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/intlTelInput-DpQjg_hF.css" rel="stylesheet" type="text/css" media="all" /> 6402 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/app-Dir_jGf6.js" crossorigin="anonymous"> 6403 <link href="//cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/style-DcAsqIVb.css" rel="stylesheet" type="text/css" media="all" /> 6404 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/index-CHLfsXUt.js" crossorigin="anonymous"> 6405 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/wheelify-Fetch-DuZ4wXa1.js" crossorigin="anonymous"> 6406 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/preload-helper-Dp1pzeXC.js" crossorigin="anonymous"> 6407 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/queryKeys-Cw6XM3Ee.js" crossorigin="anonymous"> 6408 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/useQuery-BNL0W_wH.js" crossorigin="anonymous"> 6409 <link href="//cdn.shopify.com/extensions/01a0f2e2-6d57-7c98-b621-7863f62cec36/spin-wheel-1-185/assets/style-DcAsqIVb.css" rel="stylesheet" type="text/css" media="all" /> 6410 6411<!-- END app snippet --> 6412<div id="wheelify"></div> 6413 6414 6415</div>
6415<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6415 6416</body> 6417</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.