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="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","\/\/cdn.shopify.com\/proxy\/1cffab77632945befad22e3fe8d7f8c54d2c19da9954715e2840b8a6454098eb\/sa-prod.saincserv.com\/i\/notification-GLYWGG6T.js?shop=c03efc-25.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA"]; 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":"8b243259-de37-4a59-9a3c-35c16c1a2da3-1790255098","pageurl":"www.benangjarum.com\/blogs\/press","s":"blogs-123539161459","u":"f484ed9528b6","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/tapcart-mobile-app/blocks/cart_sync/604cad6b-3841-4da3-b864-b96622b4adb8 --> 2252 2253 2254<!-- END app block --><!-- BEGIN app block: shopify://apps/product-filters-search/blocks/autocomplete/95672d06-1c4e-4e1b-9368-e84ce1ad6886 -->
2254<script> 2255 var fast_dawn_theme_action = "/search"; 2256 var __isp_new_jquery = "true" === "true"; 2257</script>
2257 2258 2259 2260 2261 2262 2263 2264
2264<script>var _isp_injected_already = true</script>
2264 2265 <!-- BEGIN app snippet: fast-simon-autocomplete-init -->
2265<script id="autocomplete-initilizer" 2266 src="https://static-autocomplete.fastsimon.com/fast-simon-autocomplete-init.umd.js?mode=shopify&UUID=beb78c0d-e2d8-4f3a-b5e3-0a0ddc2c11e0&store=69907349746" 2267 async> 2268</script>
2268 2269<!-- END app snippet --> 2270�<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
2271<script type="text/javascript"> 2272 (function (c, l, a, r, i, t, y) { 2273 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 2274 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 2275 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 2276 2277 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 2278 if (error) { 2279 console.error("Error loading Shopify features:", error); 2280 return; 2281 } 2282 2283 c[a]('consentv2', { 2284 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 2285 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 2286 source: 101, 2287 }); 2288 }); 2289 2290 l.addEventListener("visitorConsentCollected", function (e) { 2291 c[a]('consentv2', { 2292 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 2293 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 2294 source: 101, 2295 }); 2296 }); 2297 })(window, document, "clarity", "script", "tm9eixn5pa"); 2298</script>
2298 2299 2300 2301 2302<!-- END app block --><!-- BEGIN app block: shopify://apps/firework-shoppable-video-ugc/blocks/firework-header/347a2e4c-f5cb-410d-8354-490d1e80558c --> 2303
2304<script async type="module" src='//asset.fwcdn3.com/js/module/integrations/shopify.js'></script>
2304 2305 2306
2306<script 2307 async 2308 type="module" 2309 src='//asset.fwcdn3.com/js/module/fwn.js?business_id=gXkZWo' 2310 2311 ></script>
2311 2312 2313 2314 2315 2316 2317<!-- END app block --><!-- BEGIN app block: shopify://apps/simple-affiliate/blocks/sa-tracker/da6b7ee2-2e27-43e4-9184-0df8dc5be07a --> 2318
2319<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 O=e(a);O!==null&&(document.documentElement.dataset.sasignup="true");})(); 2320</script>
2320 2321 2322<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/brandAgents_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea --> 2323 2324 2325
2326<script type="text/javascript"> 2327 (function(d){ 2328 var s = d.createElement('script'); 2329 s.async = true; 2330 s.src = "https://adsagentclientafd-b7hqhjdrf3fpeqh2.b01.azurefd.net/frontendInjection.js"; 2331 var firstScript = d.getElementsByTagName('script')[0]; 2332 firstScript.parentNode.insertBefore(s, firstScript); 2333 })(document); 2334</script>
2334 2335 2336 2337 2338<!-- END app block --><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">
2339<script src="https://cdn.shopify.com/extensions/01a0c84d-09f9-74b4-a007-90becfd116ee/2026-09-22-08-46-47-UTC--1331660/assets/smile-loader.js" type="text/javascript" defer="defer"></script>
2339 2340<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2341<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 2341
2341
2342<script> 2343 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2344</script>
vendor: 1 bytes, line 2344
2344
2345<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}
2345).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: ["16072cab","8450a54b"],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"]}
2345,"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","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"179690078579","themePublished":"true","eventMetadataId":"81add512-e1f6-4685-9ed6-bc1d869dd663","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":"[\"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2345<script> 2346 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2347 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2348 window.ShopifyAnalytics.meta.currency = 'IDR'; 2349 var meta = {"page":{"pageType":"blog","resourceType":"blog","resourceId":123539161459,"requestId":"8b243259-de37-4a59-9a3c-35c16c1a2da3-1790255098"}}; 2350 for (var attr in meta) { 2351 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2352 } 2353</script>
vendor: 1 bytes, line 2353
2353
2354<script class="analytics"> 2355 (function () { 2356 var customDocumentWrite = function(content) { 2357 var jquery = null; 2358 2359 if (window.jQuery) { 2360 jquery = window.jQuery; 2361 } else if (window.Checkout && window.Checkout.$) { 2362 jquery = window.Checkout.$; 2363 } 2364 2365 if (jquery) { 2366 jquery('body').append(content); 2367 } 2368 }; 2369 2370 var hasLoggedConversion = function(token) { 2371 if (token) { 2372 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2373 } 2374 return false; 2375 } 2376 2377 var setCookieIfConversion = function(token) { 2378 if (token) { 2379 var twoMonthsFromNow = new Date(Date.now()); 2380 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2381 2382 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2383 } 2384 } 2385 2386 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2387 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2388 if (trekkie.integrations) { 2389 return; 2390 } 2391 trekkie.methods = [ 2392 'identify', 2393 'page', 2394 'ready', 2395 'track', 2396 'trackForm', 2397 'trackLink' 2398 ]; 2399 trekkie.factory = function(method) { 2400 return function() { 2401 var args = Array.prototype.slice.call(arguments); 2402 args.unshift(method); 2403 trekkie.push(args); 2404 if (method == 'track' || method == 'page') { 2405 try { 2406 if (window.__TREKKIE_SHIM_QUEUE == null) { 2407 window.__TREKKIE_SHIM_QUEUE = []; 2408 } 2409 window.__TREKKIE_SHIM_QUEUE.push({ 2410 from: 'trekkie-stub', 2411 method: method, 2412 args: args.slice(1) 2413 }); 2414 } catch (e) { 2415 // no-op 2416 } 2417 } 2418 return trekkie; 2419 }; 2420 }; 2421 for (var i = 0; i < trekkie.methods.length; i++) { 2422 var key = trekkie.methods[i]; 2423 trekkie[key] = trekkie.factory(key); 2424 } 2425 trekkie.load = function(config) { 2426 trekkie.config = config || {}; 2427 trekkie.config.initialDocumentCookie = document.cookie; 2428 var first = document.getElementsByTagName('script')[0]; 2429var script = document.createElement('script'); 2430script.type = 'text/javascript'; 2431script.onerror = function(e) { 2432 var scriptFallback = document.createElement('script'); 2433 scriptFallback.type = 'text/javascript'; 2434 scriptFallback.onerror = function(error) { 2435 var Monorail = { 2436 produce: function produce(monorailDomain, schemaId, payload) { 2437 var currentMs = new Date().getTime(); 2438 var event = { 2439 schema_id: schemaId, 2440 payload: payload, 2441 metadata: { 2442 event_created_at_ms: currentMs, 2443 event_sent_at_ms: currentMs 2444 } 2445 }; 2446 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2447 }, 2448 sendRequest: function sendRequest(endpointUrl, payload) { 2449 // Try the sendBeacon API 2450 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2451 var blobData = new window.Blob([payload], { 2452 type: 'text/plain' 2453 }); 2454 2455 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2456 return true; 2457 } // sendBeacon was not successful 2458 2459 } // XHR beacon 2460 2461 var xhr = new XMLHttpRequest(); 2462 2463 try { 2464 xhr.open('POST', endpointUrl); 2465 xhr.setRequestHeader('Content-Type', 'text/plain'); 2466 xhr.send(payload); 2467 } catch (e) { 2468 console.log(e); 2469 } 2470 2471 return false; 2472 }, 2473 isIos12: function isIos12() { 2474 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2475 } 2476 }; 2477 Monorail.produce('monorail-edge.shopifysvc.com', 2478 'trekkie_storefront_load_errors/1.1', 2479 {shop_id: 69907349746, 2480 theme_id: 179690078579, 2481 app_name: "storefront", 2482 context_url: window.location.href, 2483 source_url: "//www.benangjarum.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 2484 2485 }; 2486 scriptFallback.async = true; 2487 scriptFallback.src = '//www.benangjarum.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 2488 first.parentNode.insertBefore(scriptFallback, first); 2489}; 2490script.async = true; 2491script.src = '//www.benangjarum.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 2492first.parentNode.insertBefore(script, first); 2493 2494 }; 2495 trekkie.load( 2496 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":69907349746,"isMerchantRequest":null,"themeId":179690078579,"themeCityHash":"10236685737718829446","contentLanguage":"en","currency":"IDR","eventMetadataId":"81add512-e1f6-4685-9ed6-bc1d869dd663"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2497 ); 2498 2499 var loaded = false;
2500 trekkie.ready(function() { 2501 if (loaded) return; 2502 loaded = true; 2503 2504 window.ShopifyAnalytics.lib = window.trekkie; 2505 2506 var originalDocumentWrite = document.write; 2507 document.write = customDocumentWrite; 2508 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2509 document.write = originalDocumentWrite; 2510 2511 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2512 var token = match? match[1]: undefined; 2513 if (!hasLoggedConversion(token)) { 2514 setCookieIfConversion(token); 2515 2516 } 2517 }); 2518 2519 window.ShopifyAnalytics.lib.page(null,{"pageType":"blog","resourceType":"blog","resourceId":123539161459,"requestId":"8b243259-de37-4a59-9a3c-35c16c1a2da3-1790255098","shopifyEmitted":true}); 2520 2521 var eventsListenerScript = document.createElement('script'); 2522 eventsListenerScript.async = true; 2523 eventsListenerScript.src = "//www.benangjarum.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2524 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2525})();</script>
vendor: 1 bytes, line 2525
2525
2526<script 2527 defer 2528 src="https://www.benangjarum.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 2529 data-application="storefront-renderer" 2530 data-shop-id="69907349746" 2531 data-render-region="gcp-us-central1" 2532 data-page-type="blog" 2533 data-theme-instance-id="179690078579" 2534 data-theme-name="Dawn" 2535 data-theme-version="7.0.1" 2536 data-monorail-region="shop_domain" 2537 data-resource-timing-sampling-rate="10" 2538 data-shs="true" 2539 data-shs-beacon="true" 2540 data-shs-export-with-fetch="true" 2541 data-shs-logs-sample-rate="1" 2542 data-shs-beacon-endpoint="https://www.benangjarum.com/api/collect" 2543></script>
2543 2544<meta name="shopify-y" content="83a2c310-c6a5-45a4-adf5-59d27c2afbe6" data-expiration="1821812698000"><meta name="shopify-s" content="1e58e9de-bda7-4e65-975c-767e3508a485" data-expiration="1790256898000"><meta name="new-cookie-storage-activated" content="t"> 2545</head> 2546 2547 <body class="gradient"> 2548 2549 2550<div class="splash"> 2551 <img src="//www.benangjarum.com/cdn/shop/t/18/assets/loader_400x300.gif?v=128214497440960192491758167730" width="400" height="300" loading="eager"> 2552</div> 2553 2554 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 2555 Skip to content 2556 </a> 2557 2558 2559 2560
2561<script src="//www.benangjarum.com/cdn/shop/t/18/assets/cart.js?v=21794778278783385971770289665" defer="defer"></script>
2561 2562 2563<style> 2564 .drawer { 2565 visibility: hidden; 2566 } 2567</style> 2568 2569<cart-drawer class="drawer is-empty"> 2570 <div id="CartDrawer" class="cart-drawer"> 2571 <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div> 2572 <div 2573 class="drawer__inner" 2574 role="dialog" 2575 aria-modal="true" 2576 aria-label="Cart" 2577 tabindex="-1" 2578 > 2579 <div class="drawer__header"> 2580 <h2 class="drawer__heading">Cart</h2> 2581 <button 2582 class="drawer__close" 2583 type="button" 2584 onclick="this.closest('cart-drawer').close()" 2585 aria-label="Close" 2586 > 2587 2588<img 2589 src="//www.benangjarum.com/cdn/shop/t/18/assets/CancelMajor.svg?v=60041219913543363481753973551" 2590 width="20" 2591 height="20" 2592 style="filter: brightness(0.3);" 2593> 2594 2595 </button> 2596 </div> 2597 2598<div class="drawer__inner-empty"> 2599 <div class="cart-drawer__warnings "> 2600 <div class="cart-drawer__empty-content"> 2601 <p class="cart__empty-text">Your cart is currently empty.</p> 2602 2603 </div> 2604 </div></div> 2605 2606 <cart-drawer-items 2607 2608 class=" is-empty" 2609 2610 > 2611 <form 2612 action="/cart" 2613 id="CartDrawer-Form" 2614 class="cart__contents cart-drawer__form" 2615 method="post" 2616 > 2617 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p> 2618 <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status"> 2619 Loading... 2620 </p> 2621 </div> 2622 <div id="CartDrawer-CartErrors" role="alert"></div> 2623 </form> 2624 2625 </cart-drawer-items> 2626 <div class="drawer__footer"> 2627 2628<style> 2629 .ns__product-list { 2630 display: flex; 2631 gap: 8px; 2632 overflow-x: auto; 2633 padding-bottom: 10px; 2634 scrollbar-width: none; 2635 } 2636 .ns__product-card { 2637 width: 90%; 2638 display: flex; 2639 gap: 8px; 2640 flex-shrink: 0; 2641 border: 1.5px solid #ccc; 2642 border-radius: 4px; 2643 padding: 8px; 2644 flex-wrap: wrap; 2645 } 2646 .ns__product-image { 2647 width: 48px; 2648 } 2649 .ns__product-image img { 2650 width: 100%; 2651 height: auto; 2652 vertical-align: middle; 2653 } 2654 .ns__product-content { 2655 display: flex; 2656 flex-direction: column; 2657 width: calc(100% - 48px - 8px); 2658 } 2659 .ns__product-card form { 2660 width: 100%; 2661 } 2662 .ns__product-card button { 2663 width: 100%; 2664 cursor: pointer; 2665 font-size: 12px; 2666 min-height: 40px; 2667 } 2668 </style> 2669 2670 2671 2672 <!-- Start blocks --> 2673 <!-- Subtotals --> 2674 2675 <div class="cart-drawer__footer" > 2676 <div class="totals" role="status"> 2677 <h2 class="totals__subtotal">Subtotal</h2> 2678 <p class="totals__subtotal-value csapps-cart-original-total"> 2679 <span class=money>Rp 0</span> 2680 </p> 2681 </div> 2682 2683 <div></div> 2684 2685 <small class="tax-note caption-large rte">Tax included. <a href="/policies/shipping-policy">Shipping</a> calculated at checkout. 2686</small> 2687 2688 2689 </div> 2690 2691 2692 2693 2694 2695 <!-- CTAs --> 2696 2697 <!-- 2698 <div class="cart__ctas" > 2699 2700 <button 2701 type="button" 2702 class="cart__checkout-button button uppercase" 2703 onclick="arrow_clicked_wrapper('cart')" 2704 2705 disabled 2706 2707 > 2708 Check out 2709 </button> 2710 2711 </div> 2712 --> 2713 2714 <div class="cart__ctas" style="margin-top: 10px"> 2715 <noscript> 2716 <button type="submit" class="cart__update-button button button--secondary" form="CartDrawer-Form"> 2717 Update 2718 </button> 2719 </noscript> 2720 2721 <button 2722 type="submit" 2723 id="CartDrawer-Checkout" 2724 class="cart__checkout-button button uppercase" 2725 name="checkout" 2726 form="CartDrawer-Form" 2727 2728 disabled 2729 2730 2731 > 2732 Check out 2733 </button> 2734 </div> 2735 </div> 2736 </div> 2737 </div> 2738</cart-drawer> 2739
2740<script> 2741 document.addEventListener('DOMContentLoaded', function () { 2742 function isIE() { 2743 const ua = window.navigator.userAgent; 2744 const msie = ua.indexOf('MSIE '); 2745 const trident = ua.indexOf('Trident/'); 2746 2747 return msie > 0 || trident > 0; 2748 } 2749 2750 if (!isIE()) return; 2751 const cartSubmitInput = document.createElement('input'); 2752 cartSubmitInput.setAttribute('name', 'checkout'); 2753 cartSubmitInput.setAttribute('type', 'hidden'); 2754 document.querySelector('#cart').appendChild(cartSubmitInput); 2755 document.querySelector('#checkout').addEventListener('click', function (event) { 2756 document.querySelector('#cart').submit(); 2757 }); 2758 }); 2759</script>
2759 2760 2761 2762<div id="shopify-section-header" class="shopify-section section-header"> 2763<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-menu.css?v=1377882605498385961753973572" media="print" onload="this.media='all'"> 2764<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-search.css?v=96455689198851321781753973581" media="print" onload="this.media='all'"> 2765<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-menu-drawer.css?v=128412777076528941971753973574" media="print" onload="this.media='all'"> 2766<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-notification.css?v=183358051719344305851753973559" media="print" onload="this.media='all'"> 2767<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart-items.css?v=75495332402118636551753973559" media="print" onload="this.media='all'"> 2768<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'"> 2769 <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" /> 2770 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-cart.css?v=91431483652509823061753973560" rel="stylesheet" type="text/css" media="all" /> 2771 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-totals.css?v=27010040447872204751753973583" rel="stylesheet" type="text/css" media="all" /> 2772 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-price.css?v=95920080398180839201753973578" rel="stylesheet" type="text/css" media="all" /> 2773 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-discounts.css?v=16005090338251771961753973570" rel="stylesheet" type="text/css" media="all" /> 2774 <link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-loading-overlay.css?v=34495889921453040741753973574" rel="stylesheet" type="text/css" media="all" /> 2775<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> 2776<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-search.css?v=96455689198851321781753973581" rel="stylesheet" type="text/css" media="all" /></noscript> 2777<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> 2778<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> 2779<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> 2780 2781<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 { 2782 padding-top: 11px; 2783 padding-bottom: 11px; 2784 } 2785 2786 .section-header { 2787 margin-bottom: 0px; 2788 } 2789 2790 @media screen and (min-width: 750px) { 2791 .section-header { 2792 margin-bottom: 0px; 2793 } 2794 } 2795 2796 .announcement-bar { 2797 z-index: 3; 2798 border: none; 2799 background-color: #A4A4A4; 2800 flex-shrink: 0; 2801 width: 100%; 2802 scroll-snap-align: start; 2803 } 2804 2805 .brand-link.active { 2806 background-color: #A4A4A4; 2807 color: ; 2808 border-radius: 8px 8px 0 0; 2809 } 2810 2811 @media only screen and (max-width: 989px) { 2812 .brand-link { 2813 color: #fff; 2814 background-color: #A4A4A4; 2815 align-content: center; 2816 justify-content: center; 2817 align-items: center; 2818 flex: 1 0 0; 2819 font-size: 10px; 2820 padding: 17.5px 12px; 2821 text-align: center; 2822 font-weight: 600; 2823 margin: 0; 2824 } 2825 }</style>
2825<script src="//www.benangjarum.com/cdn/shop/t/18/assets/details-disclosure.js?v=154688851184604223101753973588" defer="defer"></script>
vendor: 1 bytes, line 2825
2825
2826<script src="//www.benangjarum.com/cdn/shop/t/18/assets/details-modal.js?v=4511761896672669691753973588" defer="defer"></script>
vendor: 1 bytes, line 2826
2826
2827<script src="//www.benangjarum.com/cdn/shop/t/18/assets/cart-notification.js?v=160453272920806432391753973552" defer="defer"></script>
2827<script src="//www.benangjarum.com/cdn/shop/t/18/assets/cart-drawer.js?v=44260131999403604181753973551" defer="defer"></script>
2827<script src="https://cdn.tapcart.com/webbridge-sdk/webbridge.umd.js" defer="defer"></script>
2827 2828 2829<svg xmlns="http://www.w3.org/2000/svg" class="hidden"> 2830 <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> 2831 <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"/> 2832 </symbol> 2833 2834 <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 2835 <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"> 2836 </symbol> 2837</svg> 2838 2839<div class="announcement-bar-wrapper"><div 2840 style="order: 0;" 2841 class="announcement-bar" 2842 role="region" 2843 2844 ><a 2845 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" 2846 class="announcement-bar__link link link--text focus-inset animate-arrow" 2847 ><p class="announcement-bar__message center h5"> 2848 GET 10% OFF ON YOUR FIRST PURCHASE. SIGN UP NOW! T&Cs APPLY. 2849 </p></a></div></div> 2850 2851<sticky-header id="header" class="header-wrapper color-background-1 gradient"> 2852 <header class="header header--middle-center header--mobile-center header--has-menu"><header-drawer> 2853 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 2854 <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu"> 2855 <span> 2856 <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> 2857 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"> 2858 <path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"></path> 2859</svg> 2860 2861 </span> 2862 </summary> 2863 <div id="menu-drawer" class="gradient menu-drawer motion-reduce" > 2864 <div class="menu-drawer__inner-container"> 2865 <div class="menu-drawer__navigation-container"> 2866 <div class="menu-drawer__action"> 2867 <div class="drawer-left"> 2868 <button type="button" class="menu-drawer__close-button"> 2869 <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> 2870 <span class="icon__fallback-text">Close menu</span> 2871 </button> 2872 </div> 2873 <div class="drawer-right"> 2874 <style> 2875 /* SmartCS Currency Switcher */ 2876 .new-cs { 2877 margin-top: 3px; 2878 } 2879 2880 @media screen and (max-width: 989px) { 2881 .header__icons .new-cs { 2882 display: none; 2883 } 2884 } 2885</style> 2886 2887<div class="new-cs"></div> 2888 2889 <div class="currency"></div> 2890 2891 <a href="/account" class="menu-drawer__account large-up-hide"> 2892 <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>
2893 <span class="icon__fallback-text">Log in</span> 2894 </a> 2895 2896 </div> 2897 </div> 2898 <nav class="menu-drawer__navigation"> 2899 <form action="/pages/search-results" method="get" role="search" class="search search-modal__form large-up-hide"> 2900 <div class="field"> 2901 <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"> 2902 <label class="field__label" for="Search-In-Modal">Search</label> 2903 <input type="hidden" name="options[prefix]" value="last"> 2904 <button class="search__button field__button" aria-label="Search"> 2905 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation"> 2906 <use href="#icon-search"> 2907 </use></svg> 2908 </button> 2909 </div> 2910 </form> 2911 2912 <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"> 2913 New Arrivals 2914 </a></li><li><button-collapsible> 2915 <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> 2916 </a> 2917 <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"> 2918 Tops 2919 </a></li><li><a href="/collections/bottoms" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2920 Bottoms 2921 </a></li><li><a href="/collections/sets" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2922 Sets 2923 </a></li><li><a href="/collections/outerwear" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2924 Outerwear 2925 </a></li><li><a href="/collections/dresses" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2926 Dresses 2927 </a></li><li><a href="/collections/scarves" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2928 Scarves 2929 </a></li></ul> 2930 </button-collapsible></li><li><button-collapsible> 2931 <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> 2932 </a> 2933 <ul class="menu-drawer__menu list-menu collapsible-content" role="list" tabindex="-1"><li><a href="/collections/secret-of-the-sea" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2934 Secret of The Sea 2935 </a></li><li><a href="/pages/benang-jarum-hujan-bulan-juni" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2936 Hujan Bulan Juni 2937 </a></li><li><a href="/pages/metanoia" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2938 Metanoia 2939 </a></li><li><a href="/pages/the-monogram" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2940 The Monogram 2941 </a></li><li><a href="/pages/benang-jarum-the-regal" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2942 The Regal 2943 </a></li><li><a href="/pages/benang-jarum-blooming-eid" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2944 Blooming Eid 2945 </a></li><li><a href="/pages/benang-jarum-marchesa" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2946 Marchesa 2947 </a></li><li><a href="/pages/benang-jarum-chainerie" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2948 Chainerie 2949 </a></li><li><a href="/pages/benang-jarum-selena" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2950 Selena Collection 2951 </a></li><li><a href="/pages/benang-jarum-nauticagram" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2952 Nauticagram 2953 </a></li><li><a href="/pages/benang-jarum-viola" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2954 Viola 2955 </a></li></ul> 2956 </button-collapsible></li><li><a href="/pages/benang-jarum-black-label" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2957 The Black Label 2958 </a></li><li><a href="/collections/timeless-collection" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2959 Timeless Collection 2960 </a></li><li><a href="/pages/store-locator" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2961 Store Locator 2962 </a></li><li><a href="/pages/live-shopping" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2963 Live Shopping 2964 </a></li><li><a href="/collections/sale" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2965 Sale
2966 </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"> 2967 Press 2968 </a></li><hr style="margin: 1rem 5rem!important;"> 2969 <a href="#swym-wishlist" class="menu-drawer__menu-item list-menu__item link link--text focus-inset swym-wishlist"> 2970 YOUR WISHLISTS 2971 </a> 2972 2973 <div class="menu-drawer__menu-item list-menu__item link link--text focus-inset brand-link currency"></div> 2974 </ul> 2975 2976 2977 <ul class="menu-drawer__menu has-submenu list-menu medium-hide small-hide" role="list"><li class="menu-drawer__menu-item menu-link" > 2978 <div class="parent-link" data-link="new-arrivals" > 2979 <a href="/collections/new-arrivals" data-link="new-arrivals" style="text-decoration: unset; color: #121212bf; width: 100%;">New Arrivals</a> 2980 2981 </div> 2982 </li><li class="menu-drawer__menu-item menu-link" > 2983 <div class="parent-link" data-link="categories" > 2984 <a href="#" data-link="categories" style="text-decoration: unset; color: #121212bf; ">Categories</a> 2985 2986 <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> 2987 2988 </div> 2989 </li><li class="menu-drawer__menu-item menu-link" > 2990 <div class="parent-link" data-link="special-collection" > 2991 <a href="#" data-link="special-collection" style="text-decoration: unset; color: #121212bf; ">Special Collection</a> 2992 2993 <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> 2994 2995 </div> 2996 </li><li class="menu-drawer__menu-item menu-link" > 2997 <div class="parent-link" data-link="the-black-label" > 2998 <a href="/pages/benang-jarum-black-label" data-link="the-black-label" style="text-decoration: unset; color: #121212bf; width: 100%;">The Black Label</a> 2999 3000 </div> 3001 </li><li class="menu-drawer__menu-item menu-link" > 3002 <div class="parent-link" data-link="timeless-collection" > 3003 <a href="/collections/timeless-collection" data-link="timeless-collection" style="text-decoration: unset; color: #121212bf; width: 100%;">Timeless Collection</a> 3004 3005 </div> 3006 </li><li class="menu-drawer__menu-item menu-link" > 3007 <div class="parent-link" data-link="store-locator" > 3008 <a href="/pages/store-locator" data-link="store-locator" style="text-decoration: unset; color: #121212bf; width: 100%;">Store Locator</a> 3009 3010 </div> 3011 </li><li class="menu-drawer__menu-item menu-link" > 3012 <div class="parent-link" data-link="live-shopping" > 3013 <a href="/pages/live-shopping" data-link="live-shopping" style="text-decoration: unset; color: #121212bf; width: 100%;">Live Shopping</a> 3014 3015 </div> 3016 </li><li class="menu-drawer__menu-item menu-link" > 3017 <div class="parent-link" data-link="sale" > 3018 <a href="/collections/sale" data-link="sale" style="text-decoration: unset; color: #121212bf; width: 100%;">Sale</a> 3019 3020 </div> 3021 </li><li class="menu-drawer__menu-item menu-link" > 3022 <div class="parent-link" data-link="press" > 3023 <a href="/blogs/press" data-link="press" style="text-decoration: unset; color: #121212bf; width: 100%;">Press</a> 3024 3025 </div> 3026 </li><hr style="margin: 1rem 5rem!important;"> 3027 <a href="#swym-wishlist" class="menu-drawer__menu-item list-menu__item link link--text focus-inset swym-wishlist"> 3028 YOUR WISHLISTS 3029 </a> 3030 3031 <div class="menu-drawer__menu-item list-menu__item link link--text focus-inset brand-link currency"></div> 3032 </ul> 3033 <ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> 3034 <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">
3035 <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"/> 3036 <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"> 3037</svg> 3038<span class="visually-hidden">Instagram</span> 3039 </a> 3040 </li><li class="list-social__item"> 3041 <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"> 3042 <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"> 3043</svg> 3044<span class="visually-hidden">TikTok</span> 3045 </a> 3046 </li><li class="list-social__item"> 3047 <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"> 3048 <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"> 3049</svg> 3050<span class="visually-hidden">YouTube</span> 3051 </a> 3052 </li></ul> 3053 </nav> 3054 </div> 3055 </div> 3056 </div> 3057 <div class="child-menu__drawer medium-hide small-hide hidden"> 3058 3059 3060 3061 3062 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="tops"> 3063 <a href="/collections/tops" data-link="categories" data-sub-link="tops" style="text-decoration: unset; color: #121212bf"> 3064 <div class="child-link" data-link="categories" data-sub-link="tops"> 3065 <span>Tops</span> 3066 3067 </div> 3068 </a> 3069 </li> 3070 3071 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="bottoms"> 3072 <a href="/collections/bottoms" data-link="categories" data-sub-link="bottoms" style="text-decoration: unset; color: #121212bf"> 3073 <div class="child-link" data-link="categories" data-sub-link="bottoms"> 3074 <span>Bottoms</span> 3075 3076 </div> 3077 </a> 3078 </li> 3079 3080 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="sets"> 3081 <a href="/collections/sets" data-link="categories" data-sub-link="sets" style="text-decoration: unset; color: #121212bf"> 3082 <div class="child-link" data-link="categories" data-sub-link="sets">
3083 <span>Sets</span> 3084 3085 </div> 3086 </a> 3087 </li> 3088 3089 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="outerwear"> 3090 <a href="/collections/outerwear" data-link="categories" data-sub-link="outerwear" style="text-decoration: unset; color: #121212bf"> 3091 <div class="child-link" data-link="categories" data-sub-link="outerwear"> 3092 <span>Outerwear</span> 3093 3094 </div> 3095 </a> 3096 </li> 3097 3098 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="dresses"> 3099 <a href="/collections/dresses" data-link="categories" data-sub-link="dresses" style="text-decoration: unset; color: #121212bf"> 3100 <div class="child-link" data-link="categories" data-sub-link="dresses"> 3101 <span>Dresses</span> 3102 3103 </div> 3104 </a> 3105 </li> 3106 3107 <li class="menu-drawer__menu-item menu-link hidden" data-link="categories" data-sub-link="scarves"> 3108 <a href="/collections/scarves" data-link="categories" data-sub-link="scarves" style="text-decoration: unset; color: #121212bf"> 3109 <div class="child-link" data-link="categories" data-sub-link="scarves"> 3110 <span>Scarves</span> 3111 3112 </div> 3113 </a> 3114 </li> 3115 3116 3117 3118 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="secret-of-the-sea"> 3119 <a href="/collections/secret-of-the-sea" data-link="special-collection" data-sub-link="secret-of-the-sea" style="text-decoration: unset; color: #121212bf"> 3120 <div class="child-link" data-link="special-collection" data-sub-link="secret-of-the-sea"> 3121 <span>Secret of The Sea</span> 3122 3123 </div> 3124 </a> 3125 </li> 3126 3127 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="hujan-bulan-juni"> 3128 <a href="/pages/benang-jarum-hujan-bulan-juni" data-link="special-collection" data-sub-link="hujan-bulan-juni" style="text-decoration: unset; color: #121212bf"> 3129 <div class="child-link" data-link="special-collection" data-sub-link="hujan-bulan-juni"> 3130 <span>Hujan Bulan Juni</span> 3131 3132 </div> 3133 </a> 3134 </li> 3135 3136 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="metanoia"> 3137 <a href="/pages/metanoia" data-link="special-collection" data-sub-link="metanoia" style="text-decoration: unset; color: #121212bf"> 3138 <div class="child-link" data-link="special-collection" data-sub-link="metanoia"> 3139 <span>Metanoia</span> 3140 3141 </div> 3142 </a> 3143 </li> 3144 3145 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="the-monogram"> 3146 <a href="/pages/the-monogram" data-link="special-collection" data-sub-link="the-monogram" style="text-decoration: unset; color: #121212bf"> 3147 <div class="child-link" data-link="special-collection" data-sub-link="the-monogram"> 3148 <span>The Monogram</span> 3149 3150 </div> 3151 </a> 3152 </li> 3153 3154 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="the-regal"> 3155 <a href="/pages/benang-jarum-the-regal" data-link="special-collection" data-sub-link="the-regal" style="text-decoration: unset; color: #121212bf"> 3156 <div class="child-link" data-link="special-collection" data-sub-link="the-regal">
3157 <span>The Regal</span> 3158 3159 </div> 3160 </a> 3161 </li> 3162 3163 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="blooming-eid"> 3164 <a href="/pages/benang-jarum-blooming-eid" data-link="special-collection" data-sub-link="blooming-eid" style="text-decoration: unset; color: #121212bf"> 3165 <div class="child-link" data-link="special-collection" data-sub-link="blooming-eid"> 3166 <span>Blooming Eid</span> 3167 3168 </div> 3169 </a> 3170 </li> 3171 3172 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="marchesa"> 3173 <a href="/pages/benang-jarum-marchesa" data-link="special-collection" data-sub-link="marchesa" style="text-decoration: unset; color: #121212bf"> 3174 <div class="child-link" data-link="special-collection" data-sub-link="marchesa"> 3175 <span>Marchesa</span> 3176 3177 </div> 3178 </a> 3179 </li> 3180 3181 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="chainerie"> 3182 <a href="/pages/benang-jarum-chainerie" data-link="special-collection" data-sub-link="chainerie" style="text-decoration: unset; color: #121212bf"> 3183 <div class="child-link" data-link="special-collection" data-sub-link="chainerie"> 3184 <span>Chainerie</span> 3185 3186 </div> 3187 </a> 3188 </li> 3189 3190 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="selena-collection"> 3191 <a href="/pages/benang-jarum-selena" data-link="special-collection" data-sub-link="selena-collection" style="text-decoration: unset; color: #121212bf"> 3192 <div class="child-link" data-link="special-collection" data-sub-link="selena-collection"> 3193 <span>Selena Collection</span> 3194 3195 </div> 3196 </a> 3197 </li> 3198 3199 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="nauticagram"> 3200 <a href="/pages/benang-jarum-nauticagram" data-link="special-collection" data-sub-link="nauticagram" style="text-decoration: unset; color: #121212bf"> 3201 <div class="child-link" data-link="special-collection" data-sub-link="nauticagram"> 3202 <span>Nauticagram</span> 3203 3204 </div> 3205 </a> 3206 </li> 3207 3208 <li class="menu-drawer__menu-item menu-link hidden" data-link="special-collection" data-sub-link="viola"> 3209 <a href="/pages/benang-jarum-viola" data-link="special-collection" data-sub-link="viola" style="text-decoration: unset; color: #121212bf"> 3210 <div class="child-link" data-link="special-collection" data-sub-link="viola"> 3211 <span>Viola</span> 3212 3213 </div> 3214 </a> 3215 </li> 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 </div> 3231 3232 </details> 3233 </header-drawer><nav class="header__inline-menu hidden"> 3234 <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"> 3235 3236 <span>New Arrivals</span> 3237 </a></li><li><header-menu> 3238 <details id="Details-HeaderMenu-2"> 3239 <summary class="header__menu-item list-menu__item link focus-inset"> 3240 3241 <a href="#" class="header__menu-item list-menu__item link link--text focus-inset">Categories</a> 3242 </summary> 3243 <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"> 3244 Tops 3245 </a></li><li><a href="/collections/bottoms" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3246 Bottoms 3247 </a></li><li><a href="/collections/sets" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3248 Sets 3249 </a></li><li><a href="/collections/outerwear" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3250 Outerwear 3251 </a></li><li><a href="/collections/dresses" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3252 Dresses 3253 </a></li><li><a href="/collections/scarves" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3254 Scarves 3255 </a></li></ul> 3256 </details> 3257 </header-menu></li><li><header-menu> 3258 <details id="Details-HeaderMenu-3"> 3259 <summary class="header__menu-item list-menu__item link focus-inset"> 3260 3261 <a href="#" class="header__menu-item list-menu__item link link--text focus-inset">Special Collection</a> 3262 </summary> 3263 <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/secret-of-the-sea" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3264 Secret of The Sea 3265 </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"> 3266 Hujan Bulan Juni 3267 </a></li><li><a href="/pages/metanoia" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3268 Metanoia 3269 </a></li><li><a href="/pages/the-monogram" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3270 The Monogram 3271 </a></li><li><a href="/pages/benang-jarum-the-regal" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3272 The Regal 3273 </a></li><li><a href="/pages/benang-jarum-blooming-eid" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3274 Blooming Eid 3275 </a></li><li><a href="/pages/benang-jarum-marchesa" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3276 Marchesa 3277 </a></li><li><a href="/pages/benang-jarum-chainerie" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3278 Chainerie 3279 </a></li><li><a href="/pages/benang-jarum-selena" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3280 Selena Collection 3281 </a></li><li><a href="/pages/benang-jarum-nauticagram" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3282 Nauticagram 3283 </a></li><li><a href="/pages/benang-jarum-viola" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 3284 Viola 3285 </a></li></ul> 3286 </details> 3287 </header-menu></li><li><a href="/pages/benang-jarum-black-label" class="header__menu-item list-menu__item link link--text focus-inset"> 3288
3289 <span>The Black Label</span> 3290 </a></li><li><a href="/collections/timeless-collection" class="header__menu-item list-menu__item link link--text focus-inset"> 3291 3292 <span>Timeless Collection</span> 3293 </a></li><li><a href="/pages/store-locator" class="header__menu-item list-menu__item link link--text focus-inset"> 3294 3295 <span>Store Locator</span> 3296 </a></li><li><a href="/pages/live-shopping" class="header__menu-item list-menu__item link link--text focus-inset"> 3297 3298 <span>Live Shopping</span> 3299 </a></li><li><a href="/collections/sale" class="header__menu-item list-menu__item link link--text focus-inset"> 3300 3301 <span>Sale</span> 3302 </a></li><li><a href="/blogs/press" class="header__menu-item list-menu__item link link--text focus-inset" aria-current="page"> 3303 3304 <span>Press</span> 3305 </a></li></ul> 3306 </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"> 3307</a> 3308 <div class="announcement-bar-wrapper"><div 3309 style="order: 0;" 3310 class="announcement-bar" 3311 role="region" 3312 3313 ><a 3314 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" 3315 class="announcement-bar__link link link--text focus-inset animate-arrow" 3316 ><p class="announcement-bar__message center h5"> 3317 GET 10% OFF ON YOUR FIRST PURCHASE. SIGN UP NOW! T&Cs APPLY. 3318 </p></a></div></div> 3319 3320<div class="header__icons"> 3321 <style> 3322 /* SmartCS Currency Switcher */ 3323 .new-cs { 3324 margin-top: 3px; 3325 } 3326 3327 @media screen and (max-width: 989px) { 3328 .header__icons .new-cs { 3329 display: none; 3330 } 3331 } 3332</style> 3333 3334<div class="new-cs"></div> 3335 3336 3337 <details-modal class="header__search"> 3338 <details> 3339 <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search">
3340 <span> 3341 3342 3343 3344 3345 <svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"> 3346 <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"/> 3347 </svg> 3348 3349 3350 3351 <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false" role="presentation"> 3352 <use href="#icon-close"> 3353 </svg> 3354 </span> 3355 </summary> 3356 <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search"> 3357 <div class="modal-overlay"></div> 3358 <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."> 3359 <form action="/pages/search-results" method="get" role="search" class="search search-modal__form"> 3360 <div class="field"> 3361 <input class="search__input field__input" 3362 id="Search-In-Modal" 3363 type="search" 3364 name="q" 3365 value="" 3366 placeholder="Search"role="combobox" 3367 aria-expanded="false" 3368 aria-owns="predictive-search-results-list" 3369 aria-controls="predictive-search-results-list" 3370 aria-haspopup="listbox" 3371 aria-autocomplete="list" 3372 autocorrect="off" 3373 autocomplete="off" 3374 autocapitalize="off" 3375 spellcheck="false"> 3376 <label class="field__label" for="Search-In-Modal">Search</label> 3377 <input type="hidden" name="options[prefix]" value="last"> 3378 <button class="search__button field__button" aria-label="Search"> 3379 <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation"> 3380 <use href="#icon-search"> 3381 </svg> 3382 </button> 3383 </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search> 3384 <div class="predictive-search__loading-state"> 3385 <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> 3386 <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30"></circle> 3387 </svg> 3388 </div> 3389 </div> 3390 3391 <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"> 3392 <svg class="icon icon-close" aria-hidden="true" focusable="false" role="presentation"> 3393 <use href="#icon-close"> 3394 </svg> 3395 </button> 3396 </div> 3397 </div> 3398 </details> 3399 </details-modal> 3400 3401 <a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"> 3402 3403 3404 3405 3406 <svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"> 3407 <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"/> 3408 </svg> 3409 3410 3411 3412 <span class="visually-hidden">Cart</span></a> 3413 3414 <a href="#swym-wishlist" class="header__icon header__icon--wishlists swym-wishlist"> 3415 3416 3417 3418 <svg fill="none" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"> 3419 <path d="m14.2599 6.58654.0014-.0014c.6792-.69218 1.6044-1.08515 2.5721-1.09274.4792-.00376.9545.08722
34191.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"/> 3420 </svg> 3421 3422 3423 </a> 3424 3425 3426 <a href="/account" class="header__icon account small-hide medium-hide"> 3427 3428 3429 3430 3431 <svg 3432 fill="none" 3433 height="24" 3434 viewBox="0 0 24 24" 3435 width="24" 3436 xmlns="http://www.w3.org/2000/svg" 3437 xmlns:xlink="http://www.w3.org/1999/xlink" 3438 > 3439 <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> 3440 </svg> 3441 3442 3443 3444 <span class="icon__fallback-text">Log in</span> 3445 </a> 3446 3447 </div> 3448 </header> 3449</sticky-header> 3450
3451<script src="//www.benangjarum.com/cdn/shop/t/18/assets/announcement-bar.js?v=31539634796150701661753973547" defer="defer"></script>
3451 3452
3453<script type="application/ld+json"> 3454 { 3455 "@context": "http://schema.org", 3456 "@type": "Organization", 3457 "name": "Benang Jarum", 3458 3459 "logo": "https:\/\/www.benangjarum.com\/cdn\/shop\/files\/bj_text-03_1_a394ec5d-4c73-48d4-a67c-a2383d61c6e2.png?v=1716196204\u0026width=671", 3460 3461 "sameAs": [ 3462 "", 3463 "", 3464 "", 3465 "https:\/\/www.instagram.com\/benangjarum\/", 3466 "https:\/\/www.tiktok.com\/@benangjarum", 3467 "", 3468 "", 3469 "https:\/\/www.youtube.com\/channel\/UCu7NTrnsb3Yyb4By5M1G_KQ", 3470 "" 3471 ], 3472 "url": "https:\/\/www.benangjarum.com" 3473 } 3474</script>
3474<script> 3475 (() => { 3476 const menuDrawer = document.querySelector('#menu-drawer'); 3477 const childLinkDrawer = document.querySelector('.child-menu__drawer'); 3478 const parentMenu = document.querySelector('.menu-drawer__menu.has-submenu.medium-hide'); 3479 let menuState = ''; 3480 let activeLinks = []; 3481 3482 // Event delegation â one listener on the parent <ul> 3483 parentMenu.addEventListener('click', (e) => { 3484 const parentLink = e.target.closest('.parent-link'); 3485 const menuLink = e.target.closest('.menu-link'); 3486 3487 if (parentLink) { 3488 const hasChildren = parentLink.querySelector('svg'); 3489 3490 // No child submenus â close drawer and let <a> navigate 3491 if (!hasChildren) { 3492 closeMenu(); 3493 return; 3494 } 3495 3496 // Has children â prevent navigation and show submenu 3497 e.preventDefault(); 3498 3499 const handle = parentLink.dataset.link; 3500 3501 // Toggle: if clicking the same menu, close it 3502 if (menuState === handle) { 3503 closeMenu(); 3504 return; 3505 } 3506 3507 // Hide previously active links 3508 activeLinks.forEach(link => link.classList.add('hidden')); 3509 3510 // Show only matching child links 3511 menuState = handle; 3512 activeLinks = [...childLinkDrawer.querySelectorAll(`[data-link="${handle}"]`)]; 3513 activeLinks.forEach(link => link.classList.remove('hidden')); 3514 3515 childLinkDrawer.classList.remove('hidden'); 3516 setTimeout(() => { 3517 childLinkDrawer.style.left = menuDrawer.offsetWidth + 'px'; 3518 }, 200); 3519 3520 } else if (menuLink) { 3521 // Clicked a link without children â allow navigation, just close drawer 3522 closeMenu(); 3523 } 3524 }); 3525 3526 function closeMenu() { 3527 menuState = ''; 3528 activeLinks.forEach(link => link.classList.add('hidden')); 3529 activeLinks = []; 3530 childLinkDrawer.style.left = '0px'; 3531 setTimeout(() => { 3532 childLinkDrawer.classList.add('hidden'); 3533 }, 200); 3534 } 3535 })(); 3536</script>
3536 3537 3538 3539<style> #shopify-section-header sticky-header .announcement-bar-wrapper {display: none !important;} </style></div> 3540 <div id="shopify-section-popup-banner" class="shopify-section"> 3541 3542 3543 3544 3545 3546 3547 3548</div> 3549 <div id="shopify-section-popup-banner-two-images" class="shopify-section"> 3550 3551 3552 3553<style> 3554 aside#popup-banner { 3555 position: fixed; 3556 z-index: 9999; 3557 inset: 0; 3558 display: flex; 3559 align-items: center; 3560 justify-content: center; 3561 background: rgba(0,0,0,.6); 3562 transform: translateZ(0); 3563 transition: all 0.5s cubic-bezier(.645,.045,.355,1); 3564 opacity: 0; visibility: hidden; 3565 } 3566 aside#popup-banner[aria-hidden="false"] { opacity: 1; visibility: visible; } 3567 3568 .popup-banner__wrapper { position: relative; } 3569 3570 3571 .popup-banner__content { 3572 display: flex; 3573 } 3574 3575 .popup-banner__item { 3576 display: block; 3577 margin: 0; /* remove default margin */ 3578 padding: 0; /* ensure no padding */ 3579 } 3580 3581 .popup-banner__item img { 3582 width: 100%; 3583 height: auto; 3584 max-height: 560px; 3585 object-fit: cover; 3586 display: block; /* kill inline spacing */ 3587 } 3588 3589 @media screen and (max-width: 749px) { 3590 .popup-banner__content { 3591 flex-direction: column; 3592 } 3593 .popup-banner__wrapper { max-width: 30rem; } 3594 .popup-banner__item { 3595 margin: 0; /* no vertical margin */ 3596 } 3597 .popup-banner__item img { 3598 max-height: 480px; 3599 } 3600 .popup-banner--desktop { display: none !important; } 3601 .popup-banner__close svg { width: 20px; height: 20px; } 3602 } 3603 @media screen and (min-width: 750px) { 3604 .popup-banner--mobile { display: none !important; } 3605 } 3606 3607 .popup-banner__close { 3608 position: absolute; right: 0; top: 0; 3609 background: transparent; padding: 16px; border: 0; cursor: pointer; z-index: 2; 3610 } 3611 .popup-banner__close svg path { fill: #fff; } 3612</style> 3613 3614 3615</div> 3616 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 3617 <div id="shopify-section-template--28376276402547__custom_07_youtube_Xe4QjM" class="shopify-section"><style data-shopify>.custom-07 { 3618 position: relative; 3619 } 3620 .youtube-video { 3621 width: 100vw; 3622 vertical-align: middle; 3623 } 3624 3625 .youtube-video[data-device="desktop"] { 3626 height: calc(100vw * (9 / 25)); 3627 } 3628 3629 .youtube-video[data-device="mobile"] { 3630 height: calc(100vw * (9 / 9)); 3631 position: relative; 3632 z-index: 99999 3633 } 3634 3635 .custom-07 > a { 3636 display: block!important; top: 0; bottom: 0; left: 0; right: 0; position: absolute; 3637 } 3638 3639 @media screen and (max-width: 749px) { 3640 .youtube-video[data-device="desktop"] { 3641 display: none!important; 3642 } 3643 3644 .custom-07 > a { 3645 z-index: 99999; 3646 } 3647 } 3648 3649 @media screen and (min-width: 750px) { 3650 .youtube-video[data-device="mobile"] { 3651 display: none!important; 3652 } 3653 }</style> 3654 3655<div class="custom-07"> 3656 <iframe 3657 class="youtube-video" 3658 data-device="desktop" 3659 width="560" 3660 height="315" 3661 src="https://www.youtube.com/embed/o3O1fYjwbbQ?rel=0&autoplay=1&loop=1&playlist=o3O1fYjwbbQ&mute=1" 3662 title="YouTube video player" 3663 frameborder="0" 3664 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 3665 allowfullscreen 3666 ></iframe> 3667 3668 <iframe 3669 class="youtube-video" 3670 data-device="mobile" 3671 width="560" 3672 height="315" 3673 src="https://www.youtube.com/embed/o3O1fYjwbbQ?rel=0&autoplay=1&loop=1&playlist=o3O1fYjwbbQ&mute=1" 3674 title="YouTube video player" 3675 frameborder="0" 3676 allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 3677 allowfullscreen 3678 ></iframe> 3679 3680</div> 3681 3682 3683</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'"> 3684<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/section-rich-text.css?v=117039654364600720161753973630" media="print" onload="this.media='all'"> 3685 3686<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" rel="stylesheet" type="text/css" media="all" /></noscript> 3687<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 { 3688 padding-top: 30px; 3689 padding-bottom: 39px; 3690 } 3691 3692 @media screen and (min-width: 750px) { 3693 .section-template--28376276402547__rich_text_XNMLGK-padding { 3694 padding-top: 40px; 3695 padding-bottom: 52px; 3696 } 3697 } 3698 3699 @media screen and (max-width: 749px) { 3700 .section-template--28376276402547__rich_text_XNMLGK-background { 3701 background-size: cover !important; 3702 } 3703 } 3704 3705 3706 .section-template--28376276402547__rich_text_XNMLGK-background { 3707 background: url(Liquid error (sections/rich-text line 28): invali
3707d url input); 3708 background-position: center; 3709 background-size: 100%; 3710 }.section-template--28376276402547__rich_text_XNMLGK-body-text-color { 3711 color:#000000; 3712 }</style><div class="isolate"> 3713 <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"> 3714 <div class="rich-text__wrapper rich-text__wrapper--center page-width"> 3715 <div class="rich-text__blocks center"><h2 class="rich-text__heading rte h2" > 3716 <span><strong>PRESS</strong></span> 3717 </h2><div class="rich-text__text rte section-template--28376276402547__rich_text_XNMLGK-body-text-color body" > 3718 <p>Explore a selection of articles, media coverage, and editorial features highlighting Benang Jarumâs collections, collaborations, and brand journey.</p> 3719 </div></div> 3720 </div> 3721 </div> 3722</div> 3723 3724 3725</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" /> 3726<link href="//www.benangjarum.com/cdn/shop/t/18/assets/section-main-blog.css?v=41454950895101118471753973628" rel="stylesheet" type="text/css" media="all" /> 3727 3728 3729<style data-shopify>.section-template--28376276402547__blog_2026_HkaPq3-padding { 3730 padding-top: 0px; 3731 padding-bottom: 0px; 3732 } 3733 3734 @media screen and (min-width: 750px) { 3735 .section-template--28376276402547__blog_2026_HkaPq3-padding { 3736 padding-top: 0px; 3737 padding-bottom: 0px; 3738 } 3739 }</style> 3740 3741 3742 3743<div class="main-blog page-width section-template--28376276402547__blog_2026_HkaPq3-padding"> 3744 <div class="blog-article-container"> 3745 <div class="blog-article-filter"> 3746 <a href="/blogs/press" class="press-filter active">All Press</a><a 3747 href="/blogs/press/tagged/2026" 3748 class="press-filter " 3749 > 3750 Press 2026 3751 </a></div> 3752 3753 <div class="blog-article-mobile-filter"><div 3754 class="press-filter-toggle" 3755 data-state="closed" 3756 role="button" 3757 aria-expanded="false" 3758 aria-controls="press-filter-list-mobile" 3759 > 3760 <span class="press-filter-toggle__label">All Press</span> 3761 <svg 3762 xmlns="http://www.w3.org/2000/svg" 3763 width="20" 3764 height="20"
3765 viewBox="0 0 24 24" 3766 fill="none" 3767 stroke="currentColor" 3768 stroke-width="2" 3769 stroke-linecap="round" 3770 stroke-linejoin="round" 3771 class="press-filter-toggle__icon press-filter-toggle__icon--down" 3772 aria-hidden="true" 3773 > 3774 <path d="m6 9 6 6 6-6"/> 3775 </svg> 3776 <svg 3777 xmlns="http://www.w3.org/2000/svg" 3778 width="20" 3779 height="20" 3780 viewBox="0 0 24 24" 3781 fill="none" 3782 stroke="currentColor" 3783 stroke-width="2" 3784 stroke-linecap="round" 3785 stroke-linejoin="round" 3786 class="press-filter-toggle__icon press-filter-toggle__icon--up" 3787 aria-hidden="true" 3788 > 3789 <path d="m18 15-6-6-6 6"/> 3790 </svg> 3791 </div> 3792 3793 <ul class="press-filter-list" id="press-filter-list-mobile"> 3794 <li class="press-filter-item selected"> 3795 <a href="/blogs/press" class="press-filter active">All Press</a> 3796 </li><li class="press-filter-item"> 3797 <a 3798 href="/blogs/press/tagged/2026" 3799 class="press-filter" 3800 >Press 2026</a> 3801 </li></ul> 3802 </div> 3803 3804 <div class="blog-article-wrapper"> 3805 3806 <div class="blog-card-wrapper"> 3807 3808 <div class="blog-card-image"> 3809 <img 3810 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 3811 " 3812 src="//www.benangjarum.com/cdn/shop/articles/BJ_5_f775ee4c-679f-4db2-9058-fc8d6a95f88a.png?height=533&v=1790132402" 3813 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3814 alt="Benang Jarum Unveils Its First Abaya Collection with a Fashion Show in Dharmawangsa" 3815 class="motion-reduce" 3816 3817 loading="lazy" 3818 3819 width="900" 3820 height="900" 3821 > 3822 </div> 3823 3824 <div class="blog-card-content"> 3825 <div class="blog-card-text"> 3826 <div class="blog-card-date_post"> 3827 <p>ModesTalk | 3828 3829 3830 21/09/2026 3831 </p> 3832 </div> 3833 <div class="blog-card-title"><h3>Benang Jarum Unveils Its First Abaya Collection with a Fashion Show in Dharmawangsa</h3></div> 3834 <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> 3835 </div> 3836 <div class="blog-card-readmore"> 3837 <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> 3838 </div> 3839 </div> 3840</div> 3841 3842 3843 <div class="blog-card-wrapper"> 3844 3845 <div class="blog-card-image"> 3846 <img 3847 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 3848 " 3849 src="//www.benangjarum.com/cdn/shop/articles/BJ_4_023068da-d7a7-443c-afb6-04e5f9f8ecef.png?height=533&v=1790132231" 3850 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3851 alt="Monogram Abaya, Wajah Baru Modestwear dari Benang Jarum Black Label" 3852 class="motion-reduce" 3853 3854 loading="lazy" 3855 3856 width="900" 3857 height="900" 3858 > 3859 </div> 3860 3861 <div class="blog-card-content"> 3862 <div class="blog-card-text"> 3863 <div class="blog-card-date_post"> 3864 <p>HighEnd Magazine | 3865 3866 3867 21/09/2026 3868 </p> 3869 </div> 3870 <div class="blog-card-title"><h3>Monogram Abaya, Wajah Baru Modestwear dari Benang Jarum Black Label</h3></div> 3871 <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> 3872 </div> 3873 <div class="blog-card-readmore"> 3874 <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> 3875 </div> 3876 </div> 3877</div> 3878 3879 3880 <div class="blog-card-wrapper"> 3881 3882 <div class="blog-card-image"> 3883 <img 3884 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 3885 " 3886 src="//www.benangjarum.com/cdn/shop/articles/BJ_3_ea394477-7dc7-425a-846b-689133015022.png?height=533&v=1789976433" 3887 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3888 alt="Tren Abaya Versatile Benang Jarum Black Label untuk Berbagai Acara" 3889 class="motion-reduce" 3890 3891 loading="lazy" 3892 3893 width="900" 3894 height="900" 3895 > 3896 </div> 3897 3898 <div class="blog-card-content"> 3899 <div class="blog-card-text"> 3900 <div class="blog-card-date_post"> 3901 <p>Media Indonesia | 3902 3903 3904 12/09/2026 3905 </p> 3906 </div> 3907 <div class="blog-card-title"><h3>Tren Abaya Versatile Benang Jarum Black Label untuk Berbagai Acara</h3></div> 3908 <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> 3909 </div> 3910 <div class="blog-card-readmore"> 3911 <a href="https://mediaindonesia.com/fashion/932672/tren-abaya-versatile-benang-jarum-black-label-untuk-berbagai-acara" target="_blank">Read Full Article</a> 3912 </div> 3913 </div> 3914</div> 3915 3916 3917 <div class="blog-card-wrapper"> 3918 3919 <div class="blog-card-image"> 3920 <img 3921 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 3922 " 3923 src="//www.benangjarum.com/cdn/shop/articles/BJ_10.png?height=533&v=1789976129" 3924 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3925 alt="Benang Jarum Pertama Kalinya Rilis Abaya, Hadir dengan Motif Monogram" 3926 class="motion-reduce" 3927 3928 loading="lazy" 3929 3930 width="900" 3931 height="900" 3932 > 3933 </div> 3934 3935 <div class="blog-card-content"> 3936 <div class="blog-card-text"> 3937 <div class="blog-card-date_post"> 3938 <p>Wolipop Detik | 3939 3940 3941 14/09/2026 3942 </p> 3943 </div> 3944 <div class="blog-card-title"><h3>Benang Jarum Pertama Kalinya Rilis Abaya, Hadir dengan Motif Monogram</h3></div> 3945 <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> 3946 </div> 3947 <div class="blog-card-readmore">
3948 <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> 3949 </div> 3950 </div> 3951</div> 3952 3953 3954 <div class="blog-card-wrapper"> 3955 3956 <div class="blog-card-image"> 3957 <img 3958 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 3959 " 3960 src="//www.benangjarum.com/cdn/shop/articles/BJ_4_6a580eda-c5f9-4cce-b961-9a849a64b3cb.png?height=533&v=1789975588" 3961 sizes="(min-width: 1400px) 650px, (min-width: 750px) calc((100vw - 130px) / 2), calc((100vw - 50px) / 2)" 3962 alt="Benang Jarum Black Label Memperluas Eksplorasi Modest Wear melalui Monogram Abaya Collection" 3963 class="motion-reduce" 3964 3965 loading="lazy" 3966 3967 width="900" 3968 height="900" 3969 > 3970 </div> 3971 3972 <div class="blog-card-content"> 3973 <div class="blog-card-text"> 3974 <div class="blog-card-date_post"> 3975 <p>The Luxury Report | 3976 3977 3978 18/09/2026 3979 </p> 3980 </div> 3981 <div class="blog-card-title"><h3>Benang Jarum Black Label Memperluas Eksplorasi Modest Wear melalui Monogram Abaya Collection</h3></div> 3982 <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> 3983 </div> 3984 <div class="blog-card-readmore"> 3985 <a href="https://theluxuryreports.id/benang-jarum-black-label-memperluas-eksplorasi-modest-wear-melalui-monogram-abaya-collection/" target="_blank">Read Full Article</a> 3986 </div> 3987 </div> 3988</div> 3989 3990 3991 </div> 3992 </div> 3993 3994<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-pagination.css?v=136206814810731739951753973576" media="print" onload="this.media='all'"> 3995<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"> 3996 <nav class="pagination" role="navigation" aria-label="Pagination"> 3997 <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> 3998 <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"> 3999 <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"> 4000</svg> 4001</a> 4002 </li></ul> 4003 </nav> 4004 </div></div>
4004<script> 4005 (function () { 4006 var toggle = document.querySelector('.press-filter-toggle'); 4007 var list = document.getElementById('press-filter-list-mobile'); 4008 if (!toggle || !list) return; 4009 4010 toggle.addEventListener('click', function () { 4011 var isOpen = toggle.getAttribute('data-state') === 'open'; 4012 toggle.setAttribute('data-state', isOpen ? 'closed' : 'open'); 4013 toggle.setAttribute('aria-expanded', String(!isOpen)); 4014 list.classList.toggle('is-open', !isOpen); 4015 }); 4016 4017 // Close when clicking outside 4018 document.addEventListener('click', function (e) { 4019 if (!toggle.contains(e.target) && !list.contains(e.target)) { 4020 toggle.setAttribute('data-state', 'closed'); 4021 toggle.setAttribute('aria-expanded', 'false'); 4022 list.classList.remove('is-open'); 4023 } 4024 }); 4025 })(); 4026</script>
4026 4027 4028 4029</section> 4030 </main> 4031 4032 <div id="shopify-section-footer" class="shopify-section"> 4033<link href="//www.benangjarum.com/cdn/shop/t/18/assets/section-footer.css?v=62244166641745238671753973626" rel="stylesheet" type="text/css" media="all" /> 4034<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-newsletter.css?v=103472482056003053551753973576" media="print" onload="this.media='all'"> 4035<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-menu.css?v=1377882605498385961753973572" media="print" onload="this.media='all'"> 4036<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-payment.css?v=11545576558969830041753973572" media="print" onload="this.media='all'"> 4037<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-list-social.css?v=19393504955226793751753973573" media="print" onload="this.media='all'"> 4038<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" media="print" onload="this.media='all'"> 4039<link rel="stylesheet" href="//www.benangjarum.com/cdn/shop/t/18/assets/disclosure.css?v=646595190999601341753973589" media="print" onload="this.media='all'"> 4040 4041<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-newsletter.css?v=103472482056003053551753973576" rel="stylesheet" type="text/css" media="all" /></noscript> 4042<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> 4043<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> 4044<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> 4045<noscript><link href="//www.benangjarum.com/cdn/shop/t/18/assets/component-rte.css?v=2938264606108824861753973581" rel="stylesheet" type="text/css" media="all" /></noscript> 4046<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 { 4047 width: 40px; 4048 height: 40px; 4049 } 4050 4051 .footer { 4052 border: none; 4053 margin-top: 0px; 4054 } 4055 4056 .footer .list-menu__item { 4057 text-transform: unset!important; 4058 } 4059 4060 .footer .footer-block__heading { 4061 font-size: 12.75px; 4062 letter-spacing: 3.5px; 4063 font-weight: 400; 4064 } 4065 4066 .footer__content-bottom { 4067 border: none; 4068 } 4069 4070 .footer__kontak-layanan-konsumen { 4071 text-align: center; 4072 color: #808080; 4073 font-size: 10px; margin-top: 16px; 4074 } 4075 4076 4077 .section-footer-padding { 4078 padding-top: 27px; 4079 padding-bottom: 27px; 4080 } 4081 4082 #whatsapp_floating { 4083 position: fixed; 4084 bottom: 2vh; 4085 right: 1vw; 4086 z-index: 999; 4087 } 4088 4089 #whatsapp_floating img, #whatsapp_floating svg { 4090 width: 40px; 4091 height: 40px; 4092 } 4093 4094 4095 4096 @media screen and (min-width: 990px) { 4097 .footer { 4098 margin-top: 0px; 4099 } 4100 4101 .section-footer-padding { 4102 padding-top: 36px; 4103 padding-bottom: 36px; 4104 } 4105 } 4106 4107 @media only screen and (max-width: 989px) { 4108 #whatsapp_floating { 4109 bottom: 10vh; 4110 right: 2vw; 4111 } 4112 .footer-block__heading { 4113 display: none; 4114 } 4115 .footer-block__heading--list { 4116 display: block; 4117 text-align: center; 4118 color: #000; 4119 padding: 15px 0; 4120 width: 100%; 4121 text-transform: uppercase; 4122 font-size: 11px; 4123 border: none; 4124 border-bottom: 1px solid rgba(0,0,0,0.12); 4125 background-color: transparent; 4126 letter-spacing: 4px; 4127 font-family: Avenir Next Rounded, sans-serif !important; 4128 font-weight: 100; 4129 } 4130 4131 .footer-block:last-child .footer-block__heading--list { 4132 border-bottom: none!important; 4133 } 4134 4135 .footer-block .footer-block__details-content { 4136 display: none; 4137 } 4138 4139 .list-menu__item { 4140 justify-content: center; 4141 text-transform: capitalize; 4142 } 4143 4144 .footer-block__details-content { 4145 margin-bottom: 0; 4146 } 4147 4148 .footer-block__contactus .footer-block__heading { 4149 display: block; 4150 text-align: center; 4151 color: #000; 4152 width: 100%; 4153 text-transform: uppercase; 4154 font-size: 11px; 4155 background-color: transparent; 4156 letter-spacing: 4px; 4157 font-family: Avenir Next Rounded, sans-serif !important; 4158 font-weight: 100; 4159 } 4160
4161 /* Uses flexbox to perfectly center the inline-flex link wrappers */ 4162 .footer-block__contactus .whatsapp_text_link, 4163 .footer-block__contactus .email_address_link { 4164 display: flex; 4165 justify-content: center; 4166 width: 100%; 4167 } 4168 4169 .contact-link-style{ 4170 font-size: 12px; 4171 } 4172 } 4173 4174 @media screen and (max-width: 767px) { 4175 #whatsapp_floating { 4176 bottom: 2vh; 4177 right: 2vw; 4178 } 4179 #whatsapp_floating img, #whatsapp_floating svg { 4180 width: 40px; 4181 height: 40px; 4182 } 4183 } 4184 4185 @media only screen and (min-width: 990px) { 4186 .footer-block__heading { 4187 display: block; 4188 } 4189 .footer-block__heading--list { 4190 display: none; 4191 } 4192 .footer__content-top { 4193 margin: 0 40px; 4194 } 4195 .footer-block__details-content { 4196 display: block!important; 4197 } 4198 } 4199 4200 /* This applies the flexbox layout to both links */ 4201 .whatsapp_text_link a, 4202 .email_address_link a { 4203 display: inline-flex; 4204 align-items: center; 4205 gap: 8px; 4206 text-decoration: none; 4207 color: inherit; /* Keeps the text color consistent with your footer */ 4208 } 4209 4210 /* Aligns the icon and text */ 4211 .contact-link-style { 4212 display: inline-flex !important; 4213 align-items: center; 4214 gap: 10px; 4215 } 4216 4217 /* Matches your theme's exact underline offset and thickness on hover */ 4218 .contact-link-style:hover { 4219 text-decoration: underline; 4220 text-underline-offset: 0.3rem; 4221 } 4222 4223 .contact-svg-wrapper { 4224 display: inline-flex; 4225 width: 1.2em; 4226 height: 1.2em; 4227 flex-shrink: 0; 4228 } 4229 4230 .contact-svg-wrapper svg { 4231 width: 100%; 4232 height: 100%; 4233 fill: currentColor; 4234 }</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 4235 class="footer-block grid__item footer-block--menu" 4236 4237 ><h2 class="footer-block__heading">Customer Information</h2> 4238 <button class="footer-block__heading--list collapsible">Customer Information<span> 4239 <svg 4240 aria-hidden="true" 4241 focusable="false" 4242 role="presentation" 4243 class="icon icon-chevron-down"
4244 viewBox="0 0 28 16" 4245 > 4246 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4247 </svg> 4248 </span> 4249 </button><ul class="footer-block__details-content collapsible-content list-unstyled"><li> 4250 <a 4251 href="https://account.benangjarum.com/pages/7b88a965-455a-444c-bc15-f5c7ef9f95ef?locale=en&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJjMDNlZmMtMjUubXlzaG9waWZ5LmNvbSIsImZsYWdzIjpbXSwiZXhwIjoxNzkwODU5ODk4LCJuYmYiOjE3OTAyNTUwOTh9.r1XwUxfJseykpkBeamJqGjr7Y8MQJCBBA_EBYH6x_kM®ion_country=US" 4252 class="link link--text list-menu__item list-menu__item--link" 4253 > 4254 Wishlist 4255 </a> 4256 </li><li> 4257 <a 4258 href="/pages/how-to-buy" 4259 class="link link--text list-menu__item list-menu__item--link" 4260 > 4261 How to Buy 4262 </a> 4263 </li><li> 4264 <a 4265 href="/pages/payment-information" 4266 class="link link--text list-menu__item list-menu__item--link" 4267 > 4268 Payment Information 4269 </a> 4270 </li><li> 4271 <a 4272 href="/pages/shipping-information" 4273 class="link link--text list-menu__item list-menu__item--link" 4274 > 4275 Shipping Information 4276 </a> 4277 </li><li> 4278 <a 4279 href="/pages/returns-exchanges" 4280 class="link link--text list-menu__item list-menu__item--link" 4281 > 4282 Returns & Exchanges 4283 </a> 4284 </li><li> 4285 <a 4286 href="/pages/contact-us" 4287 class="link link--text list-menu__item list-menu__item--link" 4288 > 4289 Contact Us 4290 </a> 4291 </li><li> 4292 <a 4293 href="/pages/faq" 4294 class="link link--text list-menu__item list-menu__item--link" 4295 > 4296 FAQ 4297 </a> 4298 </li></ul></button-collapsible><button-collapsible 4299 class="footer-block grid__item footer-block--menu" 4300 4301 ><h2 class="footer-block__heading">Information</h2> 4302 <button class="footer-block__heading--list collapsible">Information<span> 4303 <svg 4304 aria-hidden="true" 4305 focusable="false" 4306 role="presentation" 4307 class="icon icon-chevron-down"
4308 viewBox="0 0 28 16" 4309 > 4310 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4311 </svg> 4312 </span> 4313 </button><ul class="footer-block__details-content collapsible-content list-unstyled"><li> 4314 <a 4315 href="/pages/our-story" 4316 class="link link--text list-menu__item list-menu__item--link" 4317 > 4318 Our Story 4319 </a> 4320 </li><li> 4321 <a 4322 href="/pages/privacy-policy" 4323 class="link link--text list-menu__item list-menu__item--link" 4324 > 4325 Privacy Policy 4326 </a> 4327 </li><li> 4328 <a 4329 href="/blogs/lifestyle" 4330 class="link link--text list-menu__item list-menu__item--link" 4331 > 4332 Lifestyle Blog 4333 </a> 4334 </li><li> 4335 <a 4336 href="https://www.benangjarum.com/blogs/news-and-events" 4337 class="link link--text list-menu__item list-menu__item--link" 4338 > 4339 Events & Highlights 4340 </a> 4341 </li><li> 4342 <a 4343 href="/pages/affiliate-program" 4344 class="link link--text list-menu__item list-menu__item--link" 4345 > 4346 Affiliate Program 4347 </a> 4348 </li></ul></button-collapsible><button-collapsible 4349 class="footer-block grid__item" 4350 4351 ><h2 class="footer-block__heading">Download App</h2> 4352 <button class="footer-block__heading--list collapsible">Download App<span> 4353 <svg 4354 aria-hidden="true" 4355 focusable="false" 4356 role="presentation" 4357 class="icon icon-chevron-down"
4358 viewBox="0 0 28 16" 4359 > 4360 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4361 </svg> 4362 </span> 4363 </button><style> 4364 .footer-block__download-app > div { 4365 display: flex; 4366 justify-content: center; 4367 gap: 8px; 4368 } 4369 4370 .footer-block__download-app svg { 4371 vertical-align: middle; 4372 } 4373 4374 @media screen and (min-width: 990px) { 4375 .footer-block__download-app > div { 4376 flex-direction: column; 4377 } 4378 4379 .footer-block__download-app svg { 4380 width: 160px; 4381 height: auto; 4382 } 4383 } 4384 4385 @media screen and (min-width: 750px) and (max-width: 989px) { 4386 .footer-block__download-app > div { 4387 flex-direction: row; 4388 padding-block: 16px; 4389 align-items: center; 4390 } 4391 4392 .footer-block__download-app svg { 4393 height: 60px; 4394 width: auto; 4395 } 4396 } 4397 4398 @media screen and (max-width: 749px) { 4399 .footer-block__download-app > div { 4400 padding-block: 8px; 4401 flex-direction: column; 4402 align-items: center; 4403 } 4404 4405 .footer-block__download-app svg { 4406 height: auto; 4407 width: 148px; 4408 } 4409 } 4410 </style> 4411 <div class="footer-block__download-app footer-block__details-content collapsible-content"> 4412 <div> 4413 <a href="https://apps.apple.com/app/benang-jarum/id6550890077"> 4414 4415 <svg width="239" height="81" viewBox="0 0 239 81" fill="none" xmlns="http://www.w3.org/2000/svg"> 4416 <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"/> 4417 <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
44171.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"/> 4418 <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"/> 4419 <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"/> 4420 <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"/>
4421 <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"/> 4422 <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"/> 4423 <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"/> 4424 <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"/> 4425 <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"/> 4426 <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"/> 4427 <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"/> 4428 <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
442809C79.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"/> 4429 <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"/> 4430 <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"/> 4431 <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"/> 4432 <path d="M117.977 17.2773H119.751V29.7777H117.977V17.2773Z" fill="white"/> 4433 <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"/> 4434 <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"/> 4435 <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"/> 4436 <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
443672 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"/> 4437 <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"/> 4438 <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"/> 4439 <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"/> 4440 <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"/> 4441 </svg> 4442 4443 4444 4445 </a> 4446 <a href="https://play.google.com/store/apps/details?id=co.app.id_fjdZ61kRle"> 4447 4448 <svg width="241" height="72" viewBox="0 0 241 72" fill="none" xmlns="http://www.w3.org/2000/svg"> 4449 <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"/> 4450 <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
44500.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"/> 4451 <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"/> 4452 <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"/> 4453 <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"/> 4454 <path d="M106.816 23.5573V12.8906H108.185V23.5573H106.816Z" fill="white" stroke="white" stroke-width="0.355556" stroke-miterlimit="10"/> 4455 <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"/> 4456 <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"/> 4457 <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"/> 4458 <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
4458C161.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"/> 4459 <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"/>
4460 <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"/> 4461 <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"/> 4462 <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"/> 4463 </svg> 4464 4465 4466 </a> 4467 </div> 4468 </div></button-collapsible><button-collapsible 4469 class="footer-block grid__item" 4470 4471 ><h2 class="footer-block__heading">Sign up and save</h2> 4472 <button class="footer-block__heading--list collapsible">Sign up and save<span> 4473 <svg 4474 aria-hidden="true" 4475 focusable="false" 4476 role="presentation" 4477 class="icon icon-chevron-down"
4478 viewBox="0 0 28 16" 4479 > 4480 <path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"></path> 4481 </svg> 4482 </span> 4483 </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> 4484<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"> 4485 <div class="newsletter-form__field-wrapper"><div class="field"> 4486 <input 4487 id="NewsletterForm--9fa9f968-43a8-4d37-b605-2047d55bb23e" 4488 type="email" 4489 name="contact[email]" 4490 class="field__input" 4491 value="" 4492 aria-required="true" 4493 autocorrect="off" 4494 autocapitalize="off" 4495 autocomplete="email" 4496 4497 placeholder="Email" 4498 required 4499 > 4500 <label class="field__label" for="NewsletterForm--9fa9f968-43a8-4d37-b605-2047d55bb23e"> 4501 Email 4502 </label> 4503 4504 <button 4505 type="submit" 4506 class="newsletter-form__button field__button" 4507 name="commit" 4508 id="Subscribe" 4509 aria-label="Subscribe" 4510 > 4511 <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"> 4512 <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"> 4513</svg> 4514 4515 </button> 4516 </div></div></form></div> 4517 <div class="footer-block--newsletter" style="flex-wrap: wrap;"></div> 4518 <div class="footer-block__contactus" style="margin-top: 2rem;"><h2 class="footer-block__heading" style="margin-top: 3rem; margin-bottom: 1.5rem;"> 4519 Contact Us 4520 </h2><div class="whatsapp_text_link"> 4521 <a href="https://wa.me/6285211554926" target="_blank" rel="noopener noreferrer" class="link link--text contact-link-style"> 4522 <span class="contact-svg-wrapper"> 4523 <svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 4524<mask id="mask0_1877_556" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16"> 4525<rect width="16" height="16" fill="#C4C4C4"/> 4526</mask> 4527<g mask="url(#mask0_1877_556)"> 4528<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
45287 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"/> 4529</g> 4530</svg> 4531 </span> 4532 +6285211554926 4533 </a> 4534 </div><div class="email_address_link"> 4535 <a href="mailto:[email protected]" class="link link--text contact-link-style"> 4536 <span class="contact-svg-wrapper"> 4537 <svg viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 4538<mask id="mask0_1877_559" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="16" height="16"> 4539<rect width="16" height="16" fill="#C4C4C4"/> 4540</mask> 4541<g mask="url(#mask0_1877_559)"> 4542<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"/> 4543</g> 4544</svg> 4545 </span> 4546 [email protected] 4547 </a> 4548 </div></div></button-collapsible><button-collapsible 4549 class="footer-block grid__item footer-block--whatsapp" 4550 4551 ><div id="whatsapp_floating"> 4552 <a href="https://wa.me/6285211554926"> 4553 4554 <svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"> 4555 <circle cx="26" cy="26" r="26" fill="url(#paint0_linear)"/> 4556 <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"/> 4557 <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"/> 4558 <defs> 4559 <linearGradient id="paint0_linear" x1="0" y1="0" x2="58.1623" y2="8.17908" gradientUnits="userSpaceOnUse"> 4560 <stop/> 4561 <stop offset="1" stop-color="#6A6A6A"/> 4562 </linearGradient> 4563 </defs> 4564 </svg> 4565 </a> 4566 </div></button-collapsible></div> 4567 </div>
4567<div class="footer__content-bottom"> 4568 <div class="footer__content-bottom-wrapper page-width"> 4569 <div class="footer__column footer__localization isolate"></div> 4570 <div class="footer__column footer__column--info"><div class="footer__payment"> 4571 <span class="visually-hidden">Payment methods</span> 4572 <ul class="list list-payment" role="list"> 4573 4574 4575 <li class="list-payment__item"> 4576 <img 4577 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_visa.svg?v=48704807902482403331753973608" 4578 alt="Payment Method" 4579 class="icon icon--full-color" 4580 width="40" 4581 height="40" 4582 loading="lazy" 4583 > 4584 </li> 4585 <li class="list-payment__item"> 4586 <img 4587 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_mastercard.svg?v=74825951008698206891753973606" 4588 alt="Payment Method" 4589 class="icon icon--full-color" 4590 width="40" 4591 height="40" 4592 loading="lazy" 4593 > 4594 </li> 4595 <li class="list-payment__item"> 4596 <img 4597 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_jcb.svg?v=19725980676137774121753973605" 4598 alt="Payment Method" 4599 class="icon icon--full-color" 4600 width="40" 4601 height="40" 4602 loading="lazy" 4603 > 4604 </li> 4605 <li class="list-payment__item"> 4606 <img 4607 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_amex.svg?v=109445626553889571091753973603" 4608 alt="Payment Method" 4609 class="icon icon--full-color" 4610 width="40" 4611 height="40" 4612 loading="lazy" 4613 > 4614 </li> 4615 <li class="list-payment__item"> 4616 <img 4617 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_bca.svg?v=146326644077036944051753973603" 4618 alt="Payment Method" 4619 class="icon icon--full-color" 4620 width="40" 4621 height="40" 4622 loading="lazy" 4623 > 4624 </li> 4625 <li class="list-payment__item"> 4626 <img 4627 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_permata.svg?v=110007577897461607801753973607" 4628 alt="Payment Method" 4629 class="icon icon--full-color" 4630 width="40" 4631 height="40" 4632 loading="lazy" 4633 > 4634 </li> 4635 <li class="list-payment__item"> 4636 <img 4637 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_mandiri.svg?v=30685883055462611191753973606" 4638 alt="Payment Method" 4639 class="icon icon--full-color" 4640 width="40" 4641 height="40" 4642 loading="lazy" 4643 > 4644 </li> 4645 <li class="list-payment__item"> 4646 <img 4647 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_bni.svg?v=4219509990834105191753973604" 4648 alt="Payment Method" 4649 class="icon icon--full-color" 4650 width="40" 4651 height="40" 4652 loading="lazy" 4653 > 4654 </li> 4655 <li class="list-payment__item"> 4656 <img 4657 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_bri.svg?v=114626044769529992991753973604" 4658 alt="Payment Method" 4659 class="icon icon--full-color" 4660 width="40" 4661 height="40" 4662 loading="lazy" 4663 > 4664 </li> 4665 <li class="list-payment__item"> 4666 <img 4667 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_gopay.svg?v=17530023878900665771753973605" 4668 alt="Payment Method" 4669 class="icon icon--full-color" 4670 width="40" 4671 height="40" 4672 loading="lazy" 4673 > 4674 </li> 4675 <li class="list-payment__item"> 4676 <img 4677 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_qris.svg?v=49480128923155342681753973607" 4678 alt="Payment Method" 4679 class="icon icon--full-color" 4680 width="40" 4681 height="40" 4682 loading="lazy" 4683 > 4684 </li> 4685 <li class="list-payment__item"> 4686 <img 4687 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_shopeepay.svg?v=115801894657382970751753973607" 4688 alt="Payment Method" 4689 class="icon icon--full-color" 4690 width="40" 4691 height="40" 4692 loading="lazy" 4693 > 4694 </li> 4695 <li class="list-payment__item"> 4696 <img 4697 src="//www.benangjarum.com/cdn/shop/t/18/assets/payment_shopee_paylater.svg?v=16716937038537299881753973608" 4698 alt="Payment Method" 4699 class="icon icon--full-color" 4700 width="40" 4701 height="40" 4702 loading="lazy" 4703 > 4704 </li></ul> 4705 </div> 4706 <div class="footer__kontak-layanan-konsumen"> 4707 <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> 4708 </div> 4709 4710
4711 <div class="footer__copyright caption"> 4712 <p class="footer__small-text"> 4713 © 2026 Benang Jarum. 4714 4715 Part of <a href="https://modinity.com">Modinity Group</a>. 4716 4717 </p> 4718 </div> 4719 </div> 4720 </div> 4721 </div> 4722</footer> 4723 4724 4725 4726 4727</div> 4728 4729 4730 <ul hidden> 4731 <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> 4732 <li id="a11y-new-window-message">Opens in a new window.</li> 4733 </ul> 4734 4735
4735<script> 4736 window.shopUrl = 'https://www.benangjarum.com'; 4737 window.routes = { 4738 cart_add_url: '/cart/add', 4739 cart_change_url: '/cart/change', 4740 cart_update_url: '/cart/update', 4741 cart_url: '/cart', 4742 predictive_search_url: '/search/suggest', 4743 }; 4744 4745 window.cartStrings = { 4746 error: `There was an error while updating your cart. Please try again.`, 4747 quantityError: `You can only add [quantity] of this item to your cart.`, 4748 }; 4749 4750 window.variantStrings = { 4751 addToCart: `Add to cart`, 4752 soldOut: `Sold out`, 4753 unavailable: `Unavailable`, 4754 }; 4755 4756 window.accessibilityStrings = { 4757 imageAvailable: `Image [index] is now available in gallery view`, 4758 shareSuccess: `Link copied to clipboard`, 4759 pauseSlideshow: `Pause slideshow`, 4760 playSlideshow: `Play slideshow`, 4761 }; 4762 </script>
4762<script src="//www.benangjarum.com/cdn/shop/t/18/assets/predictive-search.js?v=31278710863581584031753973610" defer="defer"></script>
4762 4763 4764 4765<div class="smile-shopify-init" 4766 data-channel-key="channel_69O932Hy62NoxHuQxnQuT7qZ" 4767 4768></div> 4769 4770
4770<script src="//www.benangjarum.com/cdn/shop/t/18/assets/app-additional-script.js?v=20567533246920781951753973548" defer="defer"></script>
4770 4771 <!-- Facebook --> 4772<noscript 4773 ><img 4774 height="1" 4775 width="1" 4776 style="display:none" 4777 src="https://www.facebook.com/tr?id=1673430350061016&ev=PageView&noscript=1" 4778></noscript> 4779 4780<!-- Google Tag Manager (noscript) -->
vendor: 75 bytes, lines 4780-4783
4780 4781<noscript 4782 ><iframe 4783 src="https://www.googletagmanager.com/ns.html?id=
4783GTM-KWBFVDDT
vendor: 99 bytes, lines 4783-4788
4783" 4784 height="0" 4785 width="0" 4786 style="display:none;visibility:hidden" 4787 ></iframe 4788></noscript>
4789<!-- End Google Tag Manager (noscript) --> 4790 4791 <!-- Stamped --> 4792
4792<script> 4793 function myInit() { 4794 StampedFn.init({ apiKey: '53e83d4d-c1bc-441a-a986-025b6953b378', sId: '333617' }); 4795 } 4796 </script>
4796 4797
4797<script async onload="myInit()" type="text/javascript" src="https://cdn1.stamped.io/files/widget.min.js"></script>
4797 4798
4798<script> 4799 window.__SWYM_SFL_ENABLE_DEV = { 4800 "SFLFeatureEnabled": true, 4801 "CartPageURL": "/cart", 4802 "CartPageContainerSelector": "main#MainContent", 4803 "CartProductTileSelector": "li.main-cart-item", 4804 "AddToSFLBtnSelector": ".main-cart-item__buttons", 4805 "AddToSFLButton": true, 4806 "EnableSFLViewOnCart": true, 4807 "EnableSFLViewOnWishlistUI": true, 4808 "SFLAffectReminderPopup": true, 4809 "SFLLayoutType": "Carousel", 4810 "PopUpSettings": { 4811 "ButtonText": "SAVE FOR LATER", 4812 "ButtonColor": "#1F2021", 4813 "Title": "Do you want to save this product for later?", 4814 "ShowAskMeAgainAfterCount": 2, 4815 "MultipleProductsTitle": "Save all products for later to your Wishlist?", 4816 "PreviewDuration": 300000, 4817 "SecondaryButtonText": "No, thanks!", 4818 "PopUpEnabled": false, 4819 "ButtonTextColor": "#FFFFFF", 4820 "AskMeAgainOption": false, 4821 "AskMeAgainLabel": "Don't ask me again" 4822 }, 4823 "CartDrawer": { 4824 "Enabled": true, 4825 "ProductTileSelector": ".cart-drawer__item", 4826 "ContainerSelector": ".cart-drawer__content", 4827 "AddToSFLBtnSelector": "[data-cart-item-delete]", 4828 "CartDrawerButtonSelector": ".site-header__cart.ajax-cart__toggle", 4829 "renderSFLButtonsOnFetchCart": true 4830 } 4831 } 4832 </script>
4832 4833
4833<script> 4834(function() { 4835 function sflInit(swat) { 4836 swat.SaveForLater.init( 4837 sfl => { 4838 swat.sfl = sfl; 4839 swat.sflLid = sfl.listid; 4840 swat.SaveForLater.fetch(swat.sflLid, function(response){ 4841 swat.sfl.listcontents = response.items; 4842 }, err => console.error(err)) 4843 }, 4844 err => console.error(err) 4845 ) 4846 } 4847 if (!window.SwymCallbacks) window.SwymCallbacks = []; 4848 window.SwymCallbacks.push(sflInit); 4849 class SwymSflLineButton extends HTMLElement { 4850 constructor() { 4851 super(); 4852 this.button = this.querySelector('button'); 4853 if(this.button) this.button.addEventListener('click', this._addToSFL.bind(this)); 4854 } 4855 _addToSFL(evt){ 4856 const product = [{ 4857 'du': this.button.dataset.productUrl, 4858 'empi': this.button.dataset.productId, 4859 'epi': this.button.dataset.variantId, 4860 'qty': this.button.dataset.quantity 4861 }] 4862 const cartRemoveButton = this.button.closest('.cart-item').querySelector('cart-remove-button'); // Please modify these selectors according to your store 4863 _swat.SaveForLater.add(_swat.sflLid, product, res => console.log(res), err => console.error(err)); 4864 cartRemoveButton.dispatchEvent(new CustomEvent('click')); 4865 } 4866 } 4867 customElements.define('swym-sfl-line-button', SwymSflLineButton); 4868})(); 4869</script>
4869 4870 4871<!--
4871<script> 4872 window.__SWYM_SFL_ENABLE_DEV = { 4873 "SFLFeatureEnabled": true, 4874 "CartPageURL": "/cart", 4875 "CartPageContainerSelector": ".cart_items-wrapper", 4876 "CartProductTileSelector": "tr.cart-item", 4877 "AddToSFLBtnSelector": "td.cart-item__details", 4878 "AddToSFLButton": true, 4879 "EnableSFLViewOnCart": true, 4880 "EnableSFLViewOnWishlistUI": true, 4881 "SFLAffectReminderPopup": true, 4882 "SFLLayoutType": "Carousel", 4883 } 4884 </script>
4884 --> 4885 4886
4886<script async src="//asset.fwcdn3.com/js/storyblock.js"></script>
4886 4887 4888 4889 <div id="shopify-block-ASXJCWWEvMUE5L1VWd__5946647744298494267" class="shopify-block shopify-app-block"> 4890 4891 4892<!-- BEGIN app snippet: swymVersion -->
4892<script>var __SWYM__VERSION__ = '7.0.7';</script>
4892<!-- END app snippet --> 4893<!-- BEGIN app snippet: swymCustomCss --> 4894 4895 4896 4897 4898<style id="swym-custom-css"> 4899 4900</style> 4901 4902<!-- END app snippet --> 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914
4915<script> 4916 (function () { 4917 // Get CompanyLocation Metadata for B2B customer scenerios (SFS) 4918 4919 4920 // Put metafields in window variable 4921 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}}'; 4922 try { 4923 const parsedSettings = JSON.parse(commonCustomizationSettings); 4924 if (parsedSettings) { 4925 window.SwymWishlistCommonCustomizationSettings = parsedSettings[window.Shopify.theme.schema_name] || parsedSettings['global-settings']; 4926 } else { 4927 window.SwymWishlistCommonCustomizationSettings = {}; 4928 } 4929 } catch (e) { 4930 window.SwymWishlistCommonCustomizationSettings = {}; 4931 } 4932 4933 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}}'; 4934 try { 4935 enabledCommonFeatures = JSON.parse(enabledCommonFeatures) || {}; 4936 } catch (e) { 4937 enabledCommonFeatures = {}; 4938 } 4939 // Storing COMMON FEATURES data in the window object for potential use in the storefront JS code. 4940 window.SwymEnabledCommonFeatures = enabledCommonFeatures; 4941 4942 // Ghost-Intent Configuration 4943 // Defaults to disabled (false). Only enabled when metafields explicitly set to "true". 4944 try { 4945 let ghostIntentConfig = { 4946 isExplicitConsentNeeded: false, 4947 isExplicitConsentNeededEvenForLocalStorage: false, 4948 askForPermissionOnFirstClick: true 4949 }; 4950 4951 4952 4953 window.SwymGhostIntentConfig = ghostIntentConfig; 4954 } catch(e) { 4955 window.SwymGhostIntentConfig = { 4956 isExplicitConsentNeeded: false, 4957 isExplicitConsentNeededEvenForLocalStorage: false, 4958 askForPermissionOnFirstClick: true 4959 }; 4960 } 4961 4962 // Education Layer Configuration 4963 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 4964 4965 4966 window.SwymEducationLayerEnabled = enabledCommonFeatures?.["education-layer"] ?? true; 4967 4968 // Login Nudge Configuration 4969 // Reads from common enabled-features metafield first. Falls back to old standalone metafield for backward compatibility. 4970 4971 4972 window.SwymLoginNudgeEnabled = enabledCommonFeatures?.["login-nudge"] ?? true; 4973 4974 // Initialize or ensure SwymViewProducts exists 4975 if (!window.SwymViewProducts) { 4976 window.SwymViewProducts = {}; 4977 } 4978 4979 })(); 4980</script>
4980 4981 4982<!-- BEGIN app snippet: swymLoadConsentManager -->
4983<script> 4984 (function () { 4985 if (document.querySelector("script[data-swym-consent-manager]")) return; 4986 var swymConsentManagerScript = document.createElement("script"); 4987 swymConsentManagerScript.src = "https:\/\/cdn.shopify.com\/extensions\/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8\/swym-relay-839\/assets\/swym-consent-manager.js"; 4988 swymConsentManagerScript.async = false; // run in insertion order once fetched, instead of whenever fetch resolves 4989 swymConsentManagerScript.setAttribute("data-swym-consent-manager", "true"); 4990 document.head.appendChild(swymConsentManagerScript); 4991 })(); 4992</script>
4992 4993<!-- END app snippet --> 4994
4995<script 4996 4997 id="wishlist-embed-init" 4998 defer 4999 async 5000> 5001 (function () { 5002 window.swymWishlistEmbedLoaded = true; 5003 var fullAssetUrl = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/apps.bundle.js"; 5004 var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1); 5005 var swymJsPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5006 var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1); 5007 window.SwymCurrentJSPath = baseJsPath; 5008 window.SwymAssetBaseUrl = assetBaseUrl; 5009 5010 window.SwymCurrentStorePath = "//swymstore-v3premium-01.swymrelay.com"; 5011 5012 function loadSwymShopifyScript() { 5013 var element = ""; 5014 var scriptSrc = ""; 5015 5016 5017 element = "swym-ext-shopify-script"; 5018 window.SwymShopifyCdnInUse = true; 5019 scriptSrc = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-ext-shopify.js"; 5020 5021 5022 if (document.getElementById(element)) { 5023 return; 5024 } 5025 5026 var s = document.createElement("script"); 5027 s.id = element; 5028 s.type = "text/javascript"; 5029 s.async = true; 5030 s.defer = true; 5031 s.src = scriptSrc; 5032 5033 s.onerror = function() { 5034 console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default"); 5035 // Fallback logic here 5036 element = `swym-ext-shopify-script-${__SWYM__VERSION__}`; 5037 var fallbackJsPathVal = "\/\/premcdn.swymrelay.com\/code\/swym-shopify.js"; 5038 var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify"); 5039 scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__; 5040 5041 var fallbackScript = document.createElement("script"); 5042 fallbackScript.id = element; 5043 fallbackScript.type = "text/javascript"; 5044 fallbackScript.async = true; 5045 fallbackScript.defer = true; 5046 fallbackScript.src = scriptSrc; 5047 var y = document.getElementsByTagName("script")[0]; 5048 y.parentNode.insertBefore(fallbackScript, y); 5049 }; 5050 5051 var x = document.getElementsByTagName("script")[0]; 5052 x.parentNode.insertBefore(s, x); 5053 } 5054 5055 var consentAPICallbackInvoked = false; 5056 function checkConsentAndLoad() { 5057 // Allow app to load in design mode (theme editor) regardless of consent 5058 if (window.Shopify?.designMode) { 5059 loadSwymShopifyScript(); 5060 return; 5061 } 5062 5063 // Ghost-Intent: If merchant enabled explicit consent, block SDK until 5064 // consent is given through our Ghost-Intent flow (sync nudge accept). 5065 // This works on any store regardless of region (EU or non-EU). 5066 var ghostConfig = window.SwymGhostIntentConfig || {}; 5067 if (ghostConfig.isExplicitConsentNeeded || ghostConfig.isExplicitConsentNeededEvenForLocalStorage) { 5068 try { 5069 var consentKey = 'swym-ghost-consent-' + (window.Shopify && window.Shopify.shop || ''); 5070 if (localStorage.getItem(consentKey) === 'true') { 5071 // Consent was given through our flow â load SDK 5072 loadSwymShopifyScript(); 5073 return; 5074 } 5075 } catch(e) {} 5076 5077 // Check if Shopify native cookie consent was given via the cookie banner. 5078 // If user accepted cookies through Shopify's banner, load SDK normally 5079 // (Ghost-Intent is only needed when NO consent mechanism has been used). 5080 var shopifyConsentGiven = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 5081 if (shopifyConsentGiven) { 5082 loadSwymShopifyScript(); 5083 return; 5084 } 5085 5086 console.warn("[Swym Ghost-Intent] SDK blocked until explicit consent is given"); 5087 return; 5088 } 5089 5090 var isCookieBannerVisible = window.Shopify?.customerPrivacy?.shouldShowBanner?.(); 5091 if(!isCookieBannerVisible) { 5092 loadSwymShopifyScript(); 5093 return; 5094 } 5095 var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 5096 if (shouldLoadSwymScript) { 5097 loadSwymShopifyScript(); 5098 } else { 5099 console.warn("No customer consent to load Swym Wishlist Plus"); 5100 } 5101 } 5102 function initialiseConsentCheck() { 5103 document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); }); 5104 window.Shopify?.loadFeatures?.( 5105 [{name: 'consent-tracking-api', version: '0.1'}], 5106 error => { 5107 consentAPICallbackInvoked = true; 5108 if (error) { 5109 if(!window.Shopify?.customerPrivacy) { 5110 loadSwymShopifyScript(); 5111 return; 5112 } 5113 } 5114 checkConsentAndLoad(); 5115 } 5116 ); 5117 } 5118 function consentCheckFallback(retryCount) { 5119 if(!consentAPICallbackInvoked) { 5120 if (window.Shopify?.customerPrivacy) { 5121 checkConsentAndLoad(); 5122 } else if (retryCount >= 1) { 5123 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"); 5124 // Ghost-Intent: route through checkConsentAndLoad so SDK block is respected 5125 checkConsentAndLoad(); 5126 } else { 5127 setTimeout(() => consentCheckFallback(retryCount + 1), 1000); 5128 } 5129 } 5130 } 5131 if (document.readyState === "loading") { 5132 document.addEventListener("DOMContentLoaded", initialiseConsentCheck); 5133 window.addEventListener("load", () => consentCheckFallback(0)); 5134 } else { 5135 initialiseConsentCheck(); 5136 } 5137 5138 })(); 5139</script>
5139 5140 5141<!-- BEGIN app snippet: swymSnippet -->
5141<script defer> 5142 (function () { 5143 const currentSwymJSPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5144 const currentSwymStorePath = 'https://swymstore-v3premium-01.swymrelay.com'; 5145 const dnsPrefetchLink = `<link rel="dns-prefetch" href="${currentSwymStorePath}" crossorigin>`; 5146 const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`; 5147 const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`; 5148 const swymSnippet = document.getElementById('wishlist-embed-init'); 5149 if(dnsPrefetchLink) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink);} 5150 if(dnsPrefetchLink2) {swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2);} 5151 if(preConnectLink) {swymSnippet.insertAdjacentHTML('afterend', preConnectLink);} 5152 })() 5153</script>
vendor: 1 bytes, line 5153
5153
5154<script id="swym-snippet" type="text"> 5155 window.swymLandingURL = document.URL; 5156 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}; 5157 window.swymPageLoad = function() { 5158 window.SwymProductVariants = window.SwymProductVariants || {}; 5159 window.SwymHasCartItems = 0 > 0; 5160 window.SwymPageData = {}, window.SwymProductInfo = {}; 5161 var unknown = {et: 0}; 5162 window.SwymPageData = unknown; 5163 5164 window.SwymPageData.uri = window.swymLandingURL; 5165 }; 5166 if(window.selectCallback){ 5167 (function(){ 5168 var originalSelectCallback = window.selectCallback; 5169 window.selectCallback = function(variant){ 5170 originalSelectCallback.apply(this, arguments); 5171 try{ 5172 if(window.triggerSwymVariantEvent){ 5173 window.triggerSwymVariantEvent(variant.id); 5174 } 5175 }catch(err){ 5176 console.warn("Swym selectCallback", err); 5177 } 5178 };})();} 5179 window.swymCustomerId =null; 5180 window.swymCustomerExtraCheck = 5181 null; 5182 var swappName = ("Wishlist" || "Wishlist"); 5183 var swymJSObject = { 5184 pid: "L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=", 5185 interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName 5186 }; 5187 window.swymJSShopifyLoad = function(){ 5188 if(window.swymPageLoad) swymPageLoad(); 5189 if(!window._swat) { 5190 (function (s, w, r, e, l, a, y) { 5191 r['SwymRetailerConfig'] = s; 5192 r[s] = r[s] || function (k, v) { 5193 r[s][k] = v; 5194 }; 5195 })('_swrc', '', window); 5196 _swrc('RetailerId', swymJSObject.pid); 5197 _swrc('Callback', function(){initSwymShopify();}); 5198 }else if(window._swat.postLoader){ 5199 _swrc = window._swat.postLoader; 5200 _swrc('RetailerId', swymJSObject.pid); 5201 _swrc('Callback', function(){initSwymShopify();}); 5202 }else{ 5203 initSwymShopify();} 5204 } 5205 if(!window._SwymPreventAutoLoad) { 5206 swymJSShopifyLoad(); 5207 } 5208</script>
5208 5209 5210<style id="safari-flasher-pre"></style>
5211<script> 5212 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { 5213 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;}' + ''; 5214 window.SwymCallbacks = window.SwymCallbacks || []; 5215 window.SwymCallbacks.push(function(tracker) { 5216 tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() { 5217 var x = function() { 5218 SwymUtils.onDOMReady(function() { 5219 var d = document.createElement("div"); 5220 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>"; 5221 document.head.appendChild(d); 5222 });}; 5223 setTimeout(x, 10); 5224 });});} 5225 window.SwymOverrideMoneyFormat = "\u003cspan class=money\u003eRp {{amount_no_decimals_with_comma_separator}}\u003c\/span\u003e"; 5226</script>
5226 5227<style id="swym-product-view-defaults"> .swym-button.swym-add-to-wishlist-view-product:not(.swym-loaded) { display: none; } </style><!-- END app snippet --> 5228
5229<script 5230 5231 id="swymSnippetCheckAndActivate" 5232> 5233 (function () { 5234 var duplicateProneIds = ['safari-flasher-pre', 'swym-product-view-defaults', 'swym-wrap-login-handler']; 5235 5236 function removeDuplicateIdNodes(id) { 5237 var nodes = document.querySelectorAll('#' + id); 5238 nodes.forEach(function (node, index) { 5239 if (index > 0) { 5240 node.remove(); 5241 } 5242 }); 5243 } 5244 5245 function cleanupDuplicateSnippetNodes(activeScript) { 5246 if (!activeScript) { 5247 return; 5248 } 5249 var allSwymSnippets = document.querySelectorAll('script#swym-snippet'); 5250 allSwymSnippets.forEach(function (scriptNode) { 5251 if (scriptNode !== activeScript) { 5252 scriptNode.remove(); 5253 } 5254 }); 5255 } 5256 5257 function cleanupDuplicateActivationGuards() { 5258 var guardScripts = document.querySelectorAll('script#swymSnippetCheckAndActivate'); 5259 guardScripts.forEach(function (scriptNode, index) { 5260 if (index > 0) { 5261 scriptNode.removeAttribute('id'); 5262 } 5263 }); 5264 } 5265 5266 function postDomLoad() { 5267 var activeScript = document.querySelector('script#swym-snippet:not([type="text"])'); 5268 if (!activeScript) { 5269 var inactiveScript = document.querySelector('script#swym-snippet[type="text"]'); 5270 if (inactiveScript) { 5271 inactiveScript.type = 'text/javascript'; 5272 new Function(inactiveScript.textContent)(); 5273 activeScript = inactiveScript; 5274 } 5275 } 5276 5277 cleanupDuplicateSnippetNodes(activeScript); 5278 cleanupDuplicateActivationGuards(); 5279 duplicateProneIds.forEach(removeDuplicateIdNodes); 5280 } 5281 5282 if (document.readyState === 'loading') { 5283 document.addEventListener('DOMContentLoaded', postDomLoad); 5284 } else { 5285 postDomLoad(); 5286 } 5287 })(); 5288</script>
5288 5289 5290 5291
5292<script> 5293 (function () { 5294 const themeSchemaName = window.Shopify.theme.schema_name; 5295 5296 if (!window.SwymCallbacks) { 5297 window.SwymCallbacks = []; 5298 } 5299 window.SwymCallbacks.push(swat => { 5300 if (!swat) { 5301 return; 5302 } 5303 5304 // Ghost-Intent: Sync local wishlist items to cloud when SDK loads after consent 5305 if (window.SwymLocalWishlist && window.SwymLocalWishlist.getSyncableItems().length > 0) { 5306 window.SwymLocalWishlist.syncToCloud(swat); 5307 } 5308 5309 if (window._SwymSDKOnlyMode) { 5310 return; 5311 } 5312 5313 // ENABLE COMMON FEATURES 5314 let swymEnabledCommonFeatures = window.SwymEnabledCommonFeatures; 5315 Object.keys(swymEnabledCommonFeatures).forEach(key => { 5316 if (!swymEnabledCommonFeatures[key]) return; 5317 5318 switch (key) { 5319 case 'add-to-wishlist-collections-button': 5320 // Check if app block is already handling the collections button 5321 if (window.SwymCollectionsConfig) { 5322 return; 5323 } 5324 5325 // Check if v2 default collections is handling it 5326 if (window.SwymAdvancedCollectionsWishlistConfig) { 5327 return; 5328 } 5329 5330 // Fallback to old v1 behavior if v2 config is not present 5331 swat?.collectionsApi?.setDefaultCustomizationOptions(); 5332 swat?.collectionsApi?.initializeCollections(swat, false, themeSchemaName); 5333 5334 break; 5335 case 'add-to-wishlist-pdp-button': 5336 // Check if app block is already handling the PDP button 5337 if (window.swymATWButtonConfig?.shopifyExtensionType === 'appblock') { 5338 return; 5339 } 5340 5341 if (!(window.SwymPageData && window.SwymPageData.et === 1)) { 5342 // Not initiating pdp button as it is not a product page 5343 return; 5344 } 5345 5346 // Inject addtowishlist.css into the document's <head> 5347 var head = document.head; 5348 var pdpButtonStylesheet = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.css"; 5349 var pdpButtonStylesheetTag = document.createElement('link'); 5350 pdpButtonStylesheetTag.id = `swym-pdp-button-stylesheet`; 5351 pdpButtonStylesheetTag.rel = 'stylesheet'; 5352 pdpButtonStylesheetTag.href = pdpButtonStylesheet; 5353 5354 if (!document.getElementById('swym-pdp-button-stylesheet')) { 5355 head.appendChild(pdpButtonStylesheetTag); 5356 } 5357 5358 var x = document.getElementsByTagName('script')[0]; 5359 function createAndInsertScript(id, src, onLoadCallback) { 5360 var scriptTag = document.createElement('script'); 5361 scriptTag.id = id; 5362 scriptTag.type = 'text/javascript'; 5363 scriptTag.src = src; 5364 scriptTag.onload = onLoadCallback; 5365 x.parentNode.insertBefore(scriptTag, x); 5366 } 5367 5368 var pdpButtonScript = "https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/addtowishlistbutton.js"; 5369 createAndInsertScript(`swym-pdp-button-script`, pdpButtonScript, function () { 5370 const pdpBtnApi = window.WishlistPlusPDPButtonAPI; 5371 if (pdpBtnApi) { 5372 pdpBtnApi.setDefaultCustomizationOptions(swat); 5373 pdpBtnApi.initializePDPButton(swat, true); 5374 } 5375 }); 5376 break; 5377 default: 5378 return; 5379 } 5380 }); 5381 }); 5382 })(); // IIFE to prevent polluting global scope 5383</script>
5383 5384 5385 5386
5387<script> 5388 (function () { 5389 // Get the settings from Shopify's Liquid variables and create the styles 5390 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 5391 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 5392 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 5393 const isControlCentreEnabledFromBlockSettings = true; 5394 5395 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 5396 // Don't enable control centre if this is disabled and block settings are not enabled 5397 return; 5398 } 5399 5400 let borderRadius = 25; 5401 let drawerWidth = window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutDrawerWidth || 400; 5402 5403 // Check if block settings exist, use them, otherwise fall back to common settings 5404 let primaryBgColor = isControlCentreEnabledFromBlockSettings ? 5405 "#424242" : 5406 window.SwymWishlistCommonCustomizationSettings.primaryColor; 5407 5408 let primaryTextColor = isControlCentreEnabledFromBlockSettings ? 5409 "#ffffff" : 5410 window.SwymWishlistCommonCustomizationSettings.secondaryColor; 5411 5412 let secondaryBgColor = isControlCentreEnabledFromBlockSettings ? 5413 "#f5f5f5" : null; 5414 let secondaryTextColor = isControlCentreEnabledFromBlockSettings ? 5415 "#333333" : null; 5416 5417 // Only use color adjustment functions if we're using common settings 5418 if (!secondaryBgColor || !secondaryTextColor) { 5419 function adjustOpacity(color, opacity) { 5420 if (color[0] === '#') { 5421 color = color.slice(1); 5422 } 5423 5424 if (color.length === 3) { 5425 color = color.split('').map(char => char + char).join(''); 5426 } 5427 5428 const r = parseInt(color.slice(0, 2), 16); 5429 const g = parseInt(color.slice(2, 4), 16); 5430 const b = parseInt(color.slice(4, 6), 16); 5431 5432 return `rgba(${r}, ${g}, ${b}, ${opacity})`; 5433 } 5434 5435 function hexToRgb(color) { 5436 if (color[0] === '#') { 5437 color = color.slice(1); 5438 } 5439 if (color.length === 3) { 5440 color = color.split('').map(c => c + c).join(''); 5441 } 5442 5443 return { 5444 r: parseInt(color.slice(0, 2), 16), 5445 g: parseInt(color.slice(2, 4), 16), 5446 b: parseInt(color.slice(4, 6), 16) 5447 }; 5448 } 5449 5450 function getLuminance({ r, g, b }) { 5451 return 0.299 * r + 0.587 * g + 0.114 * b; 5452 } 5453 5454 function generateSecondaryColors(primaryBgColor, primaryTextColor) { 5455 const secondaryBgOpacity = 0.2; 5456 const secondaryTextOpacity = 0.8; 5457 5458 const secondaryBgColor = adjustOpacity(primaryBgColor, secondaryBgOpacity); 5459 5460 const bgRgb = hexToRgb(primaryBgColor); 5461 const bgLuminance = getLuminance(bgRgb); 5462 5463 // Determine whether to use dark or light text for contrast 5464 const lightText = adjustOpacity(primaryTextColor, secondaryTextOpacity); 5465 const darkText = adjustOpacity(primaryBgColor, secondaryTextOpacity); 5466 5467 const secondaryTextColor = bgLuminance > 186 ? darkText : lightText; 5468 5469 return { 5470 secondaryBgColor, 5471 secondaryTextColor 5472 }; 5473 } 5474 5475 const generatedColors = generateSecondaryColors(primaryBgColor, primaryTextColor); 5476 secondaryBgColor = secondaryBgColor || generatedColors.secondaryBgColor; 5477 secondaryTextColor = secondaryTextColor || generatedColors.secondaryTextColor; 5478 } 5479 5480 // Create the CSS rule 5481 let styles = ` 5482 .swym-storefront-layout-root-component { 5483 --swym-storefront-layout-ui-border-radius: ${borderRadius}px; 5484 --swym-storefront-layout-button-border-radius: ${borderRadius}px; 5485 --swym-storefront-layout-side-drawer-width: ${drawerWidth}px; 5486 --swym-storefront-layout-button-color-bg-primary: ${primaryBgColor}; 5487 --swym-storefront-layout-button-color-text-primary: ${primaryTextColor}; 5488 --swym-storefront-layout-button-color-bg-secondary: ${secondaryBgColor}; 5489 --swym-storefront-layout-button-color-text-secondary: ${secondaryTextColor}; 5490 } 5491 `; 5492 5493 // Create a <style> element and append the styles 5494 let styleSheet = document.createElement("style"); 5495 styleSheet.type = "text/css"; 5496 styleSheet.innerText = styles; 5497 document.head.appendChild(styleSheet); 5498 5499 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 5500 window.SwymStorefrontLayoutContext = {}; 5501 } 5502 if (typeof window.SwymStorefrontLayoutExtensions === 'undefined'){ 5503 window.SwymStorefrontLayoutExtensions = {}; 5504 } 5505 5506 // Expose block settings toggle state so ThemeCSSMapping can respect it. 5507 // When true, theme editor color pickers take priority over inherited theme CSS variables. 5508 SwymStorefrontLayoutContext.BlockSettingsEnabled = isControlCentreEnabledFromBlockSettings; 5509 5510 if (isControlCentreEnabledFromBlockSettings) { 5511 // If block settings are enabled, use them 5512 SwymStorefrontLayoutContext.Settings = { 5513 EnableStorefrontLayoutOnLauncher: true, 5514 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 5515 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 5516 StorefrontLayoutDrawerPosition: "left", 5517 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 5518 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 5519 EnableStorefrontLayoutVariantSelector: true, 5520 StorefrontLayoutNotificationPosition: "left", 5521 StorefrontLayoutActionPopupPosition: "left", 5522 StorefrontLayoutNotificationDuration: 5000 5523 }; 5524 } else { 5525 // If only metafield is enabled but no block settings, use common settings 5526 SwymStorefrontLayoutContext.Settings = { 5527 EnableStorefrontLayoutOnLauncher: true, 5528 EnableStorefrontLayoutNotification: window?.SwymWishlistCommonCustomizationSettings?.enableStorefrontLayoutNotification ?? true, 5529 StorefrontLayoutType: window?.SwymWishlistCommonCustomizationSettings?.storefrontLayoutType || "as-drawer", 5530 StorefrontLayoutDrawerPosition: "left", 5531 StorefrontLayoutAsSectionContainerId: "swym-wishlist-render-container", 5532 StorefrontLayoutAsSectionPageURL: "/pages/swym-wishlist", 5533 EnableStorefrontLayoutVariantSelector: true, 5534 StorefrontLayoutNotificationPosition: "left", 5535 StorefrontLayoutActionPopupPosition: "left", 5536 StorefrontLayoutNotificationDuration: 5000 5537 }; 5538 } 5539 const storefrontLayoutCallback = (swat) =>{ 5540 SwymStorefrontLayoutContext.swat = swat; 5541 let isStoreOnPaidPlan = swat.getApp('Wishlist')?.['is-paid']; 5542 let isWishlistEnabled = swat.getApp('Wishlist')?.['enabled']; 5543 SwymStorefrontLayoutContext.Settings = { 5544 ...SwymStorefrontLayoutContext?.Settings, 5545 EnableStorefrontLayoutCollection: window?.SwymEnabledCommonFeatures?.["multiple-wishlist"] ?? false, 5546 EnableStorefrontLayout: isWishlistEnabled && (isControlCentreEnabledFromBlockSettings || isControlCentreEnabledFromMetafield), 5547 } 5548 5549 if(SwymStorefrontLayoutContext?.Settings?.EnableStorefrontLayout){ 5550 if(SwymStorefrontLayoutContext?.CustomEvents?.LayoutInitialized){ 5551 var event = new CustomEvent(SwymStorefrontLayoutContext.CustomEvents.LayoutInitialized, { 5552 detail: { settings: SwymStorefrontLayoutContext?.Settings } 5553 }); 5554 document.dispatchEvent(event); 5555 }else{ 5556 swat.utils.warn(`LayoutInitialized event is not defined.`); 5557 } 5558 }else{ 5559 swat.utils.warn(`Storefront Layout is disabled.`); 5560 document.getElementById("swym-storefront-layout-container")?.remove(); 5561 document.getElementById("swym-storefront-extention-render-container")?.remove(); 5562 } 5563 } 5564 5565 if (!window.SwymCallbacks) { 5566 window.SwymCallbacks = []; 5567 } 5568 window.SwymCallbacks.push(storefrontLayoutCallback); 5569 5570 SwymStorefrontLayoutContext.SwymCustomerData = { 5571 5572 name: null, 5573 email: null 5574 5575 };
5576 SwymStorefrontLayoutContext.isShopperLoggedIn = !!SwymStorefrontLayoutContext?.SwymCustomerData?.email; 5577 })(); 5578</script>
5578 5579 5580 5581 5582 5583 5584 <div id="swym-storefront-extention-render-container"> 5585 <!-- BEGIN app snippet: swymStorefrontLayout -->
5585<script> 5586 (function () { 5587 const isControlCentreEnabledFromMetafield = window?.SwymEnabledCommonFeatures?.["control-centre"]; 5588 const isControlCentreEnabledFromBlockSettings = true; 5589 const isCommonCustomizationEnabledFromMetafield = window?.SwymWishlistCommonCustomizationSettings && 5590 Object.keys(window.SwymWishlistCommonCustomizationSettings).length > 0; 5591 5592 if (!(isControlCentreEnabledFromMetafield && isCommonCustomizationEnabledFromMetafield) && !isControlCentreEnabledFromBlockSettings) { 5593 return; 5594 } 5595 if (typeof window.SwymStorefrontLayoutContext === 'undefined') { 5596 window.SwymStorefrontLayoutContext = {}; 5597 } 5598 5599 // Initialize strings with empty values first to prevent string changes after loadStrings() 5600 SwymStorefrontLayoutContext.Strings = { 5601 title: "", 5602 addToCart: "", 5603 addedToCart: "", 5604 addAllToCartCta: "", 5605 addAllToCartSuccessText: "", 5606 addAllToCartEmptyText: "", 5607 addAllToCartErrorText: "", 5608 soldOut: "", 5609 addingToCart: "", 5610 viewCartCta: "", 5611 moveToCartCta: "", 5612 movingToCartCta: "", 5613 removeSflItemCta: "", 5614 5615 loginHeading: "", 5616 loginText: "", 5617 loginButtonText: "", 5618 loggedUserWelcomeMessage: "", 5619 VariantSelectorBtnText: "", 5620 wishlistTitle: "", 5621 wishlistInfo: "", 5622 emptyWishlistTitle: "", 5623 emptyWishlistDescription: "", 5624 5625 collectionTitle: "", 5626 emptyCarouselCollectionText: "", 5627 emptyCollectionText: "", 5628 emptyCollectionDescription: "", 5629 5630 addToCollectionTitle: "", 5631 removeItemCta: "", 5632 addToCollectionCta: "", 5633 createCollectionCta: "", 5634 saveNewCollectionCta: "", 5635 renameCollectionCta: "", 5636 deleteCollectionCta: "", 5637 shareCollectionCta: "", 5638 saveCollectionCta: "", 5639 editCollectionCta: "", 5640 shareCollectionTitle: "", 5641 shareCollectionMessage: "", 5642 sharedCollectionMessage: "", 5643 updateCollectionTitle: "", 5644 5645 errorMessageListNameRequired: "", 5646 errorMessageListNameRequire3Char: "", 5647 errorMessageListNameAlreadyExist: "", 5648 5649 notificationMessageItemSaved: "", 5650 notificationMessageItemRemoved: "", 5651 notificationMessageAddedToCart: "", 5652 notificationMessageAddedToCollection: "", 5653 notificationMessageCollectionSaved: "", 5654 notificationMessageCollectionDeleted: "", 5655 notificationMessageCollectionUpdated: "", 5656 notificationMessageCollectionUnavailable: "", 5657 notificationMessageSFLItemSaved: "", 5658 notificationMessageSFLItemRemoved: "", 5659 notificationMessageMovedToCart: "", 5660 5661 notificationActionAddToCollection: "", 5662 notificationActionView: "", 5663 notificationActionViewCollection: "", 5664 notificationActionGoToCart: "", 5665 5666 item: "", 5667 items: "", 5668 5669 tabWishlist: "", 5670 tabSavedForLater: "", 5671 tabSavedForYou: "", 5672 5673 savedForLaterTitle: "", 5674 emptySavedForLaterTitle: "", 5675 emptySavedForLaterDescription: "", 5676 5677 awNudgeMessage: "", 5678 awNudgeMessageSub: "", 5679 awNudgeLoginCTA: "", 5680 awNudgeDismiss: "", 5681 5682 emptySingleLoggedInTitle: "", 5683 emptySingleLoggedInDescription: "", 5684 emptySingleLoggedInBullet1: "", 5685 emptySingleLoggedInBullet2: "", 5686 emptySingleLoggedInBullet3: "", 5687 emptySingleLoggedInCTA: "", 5688 5689 emptyMultiLoggedInTitle: "", 5690 emptyMultiLoggedInDescription: "", 5691 emptyMultiLoggedInCreateTitle: "", 5692 emptyMultiLoggedInCreateDescription: "", 5693 emptyMultiLoggedInBrowseLabel: "", 5694 emptyMultiLoggedInCTA: "", 5695 emptyMultiLoggedInTag1: "", 5696 emptyMultiLoggedInTag2: "", 5697 emptyMultiLoggedInTag3: "", 5698 emptyMultiLoggedInTag4: "", 5699 emptyMultiLoggedInTag5: "", 5700 5701 emptyGuestTitle: "", 5702 emptyGuestDescription: "", 5703 emptyGuestSingleNotice: "", 5704 emptyGuestMultiNotice: "", 5705 emptyGuestLoginCTA: "", 5706 emptyGuestBrowseCTA: "", 5707 emptyGuestSignupText: "", 5708 emptyGuestSignupCTA: "", 5709 5710 emptySflTitle: "", 5711 emptySflDescription: "", 5712 emptySflStep1Title: "", 5713 emptySflStep1Description: "", 5714 emptySflStep2Title: "", 5715 emptySflStep2Description: "", 5716 emptySflLoggedInNotice: "", 5717 emptySflGuestNotice: "", 5718 emptySflGoToCartCTA: "", 5719 emptySflLoginCTA: "", 5720 emptySflSignupText: "", 5721 emptySflSignupCTA: "" 5722 }; 5723 5724 SwymStorefrontLayoutContext.stringsLoaded = false;
5725 SwymStorefrontLayoutContext.StorefrontLayoutUrls = SwymStorefrontLayoutContext.StorefrontLayoutUrls || {}; 5726 SwymStorefrontLayoutContext.StorefrontLayoutUrls.Login = "\/customer_authentication\/login?return_to=%2Fblogs%2Fpress\u0026locale=en\u0026ui_hint=full\u0026region_country=US"; 5727 5728 /** 5729 * Function to override Swym's default UI behavior. 5730 **/ 5731 const overrideSwymDefaultUI = (swat) => { 5732 try{ 5733 swat.ui.open = function(){ 5734 window.location.hash = SwymStorefrontLayoutContext?.StorefrontLayoutUrls?.List; 5735 } 5736 5737 if (swat.ui?.uiRef?.settings?.UI) { 5738 swat.ui.uiRef.settings.UI.NotificationDisabled = true; 5739 } 5740 }catch(e){ 5741 swat.utils?.warn('Error overriding Swym default UI:', e); 5742 } 5743 } 5744 5745 /** 5746 * Callback function to override Swym's default UI behavior based on Storefront Layout settings. 5747 * 5748 * - Overrides `swat.ui.open` to redirect to a custom Storefront Layout URL if enabled. 5749 * - Overrides Swym's default notifications to log notifications instead of displaying them. 5750 * - Ensures the callback is pushed to `window.SwymCallbacks` for execution when Swym is initialized. 5751 * 5752 * @param {Object} swat - Swym's UI object used for overriding UI behaviors. 5753 */ 5754 const swymStorefrontLayoutCallback = (swat) =>{ 5755 SwymStorefrontLayoutContext.swat = swat; 5756 5757 overrideSwymDefaultUI(swat); 5758 5759 5760 let triggerHeartbeat = swat?.ExtensionHealth?.triggerExtensionHeartbeat; 5761 if (typeof triggerHeartbeat !== "function") return; 5762 5763 let wishlistNewUiHeartbeatData = ''; 5764 try { 5765 wishlistNewUiHeartbeatData = JSON.parse(wishlistNewUiHeartbeatData) || {}; 5766 } catch (e) { 5767 wishlistNewUiHeartbeatData = {}; 5768 } 5769 5770 let themeId = window.Shopify.theme.id; 5771 let isDesignMode = !!window.swymDesignMode; 5772 let lastHeartbeat = isDesignMode ? wishlistNewUiHeartbeatData?.editor : wishlistNewUiHeartbeatData?.[themeId]; 5773 let themeContext = isDesignMode ? 'editor' : themeId; 5774 let extensionData = { 5775 extensionName: "wishlist-new-ui", 5776 extensionType: "app-embed", 5777 metadata: {}, 5778 themeId: themeContext, 5779 extensionSource: "default" 5780 }; 5781 /** Stop heartbeat 5782 triggerHeartbeat(extensionData, lastHeartbeat); 5783 */ 5784 } 5785 5786 if (!window.SwymCallbacks) { 5787 window.SwymCallbacks = []; 5788 } 5789 window.SwymCallbacks.push(swymStorefrontLayoutCallback); 5790 })(); 5791</script>
5791 5792<link rel="stylesheet" href="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.css">
5793<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/async-wishlist-apis.js" defer="defer"></script>
vendor: 1 bytes, line 5793
5793
5794<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout.js" defer="defer"></script>
vendor: 1 bytes, line 5794
5794
5795<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/storefront-layout-components.js" defer="defer"></script>
5795 5796 5797<swym-storefront-layout class="swym-storefront-layout-root-component"></swym-storefront-layout> 5798<!-- END app snippet --> 5799 </div> 5800 <!-- BEGIN app snippet: swymEducationTooltip --> 5801 5802 5803 5804 5805 <div id="swym-education-tooltip" aria-hidden="true" 5806 data-toast-desktop-message="Interesting? Click '{{wishlistIcon}}' to save it to your {{wishlistName}}." 5807 data-toast-mobile-message="Interesting? Tap '{{wishlistIcon}}' to add to your {{wishlistName}}." 5808 data-toast-cta="Wishlist Now" 5809 data-tooltip-desktop-message="Interesting? Click '{{wishlistIcon}}' to save it to your {{wishlistName}}." 5810 data-tooltip-mobile-message="Interesting? Tap '{{wishlistIcon}}' to add to your {{wishlistName}}." 5811 data-button-transition-text-1="Price drops? Know first." 5812 data-button-transition-text-2="Almost gone. Just saying." 5813 data-button-transition-text-3="Yours when ready."> 5814 </div> 5815 5816 <div id="swym-education-tooltip-bubble" class="swym-education-tooltip swym-education-tooltip-above" aria-hidden="true" role="tooltip"> 5817 <div class="swym-education-tooltip-content"> 5818 <span class="swym-education-tooltip-message"></span> 5819 <button class="swym-education-tooltip-close" data-swym-education-tooltip-close aria-label="Close consent dialog"> 5820 <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 5821 <path d="M18 6L6 18M6 6l12 12"></path> 5822 </svg> 5823 </button> 5824 </div> 5825 <div class="swym-education-tooltip-arrow"></div> 5826 </div> 5827 5828 <style> 5829 /* Education tooltip â positioned fixed, managed by JS */ 5830 .swym-education-tooltip { 5831 position: fixed; 5832 z-index: 500; 5833 visibility: hidden; 5834 opacity: 0; 5835 transition: opacity 0.2s ease, visibility 0.2s ease; 5836 pointer-events: none; 5837 } 5838 .swym-education-tooltip.swym-education-tooltip-visible { 5839 visibility: visible; 5840 opacity: 1; 5841 pointer-events: auto; 5842 } 5843 .swym-education-tooltip-content { 5844 background: var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 5845 color: var(--swym-storefront-layout-notification-neutral-text-color, #383d41); 5846 border: 1px solid var(--swym-storefront-layout-notification-neutral-border-color, #d6d8db); 5847 padding: 10px 14px; 5848 border-radius: var(--swym-storefront-layout-ui-border-radius, 10px); 5849 font-size: 13px; 5850 line-height: 1.4; 5851 display: flex; 5852 align-items: center; 5853 gap: 8px; 5854 max-width: 320px; 5855 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 5856 } 5857 .swym-education-tooltip-message { 5858 flex: 1; 5859 } 5860 .swym-education-tooltip-close { 5861 background: none; 5862 border: none; 5863 color: inherit; 5864 cursor: pointer; 5865 padding: 2px; 5866 line-height: 1; 5867 flex-shrink: 0; 5868 opacity: 0.7; 5869 } 5870 .swym-education-tooltip-close:hover { 5871 opacity: 1; 5872 } 5873 5874 /* Button text fade transition for education nudge */ 5875 .swym-btn-text-fade-out { 5876 opacity: 0; 5877 transition: opacity 0.2s ease; 5878 } 5879 .swym-btn-text-fade-in { 5880 opacity: 1; 5881 transition: opacity 0.3s ease; 5882 } 5883 5884 /* Arrow â points down when tooltip is above, up when below */ 5885 .swym-education-tooltip-arrow { 5886 width: 0; 5887 height: 0; 5888 position: absolute; 5889 left: 50%; 5890 transform: translateX(-50%); 5891 } 5892 .swym-education-tooltip-above .swym-education-tooltip-arrow { 5893 bottom: -6px; 5894 border-left: 6px solid transparent; 5895 border-right: 6px solid transparent; 5896 border-top: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 5897 } 5898 .swym-education-tooltip-below .swym-education-tooltip-arrow { 5899 top: -6px; 5900 border-left: 6px solid transparent; 5901 border-right: 6px solid transparent; 5902 border-bottom: 6px solid var(--swym-storefront-layout-notification-neutral-bg-color, #FFFFFF); 5903 } 5904 5905 /* Hidden data element */ 5906 #swym-education-tooltip { 5907 display: none; 5908 } 5909 5910 @media (max-width: 480px) { 5911 .swym-education-tooltip-content { 5912 max-width: 90vw; 5913 font-size: 12px; 5914 } 5915 } 5916 </style> 5917 5918
5918<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education-tooltip.js" defer="defer"></script>
5918 5919
5919<script src="https://cdn.shopify.com/extensions/01a0d2a3-23d4-7eab-8707-4bef87dc5dd8/swym-relay-839/assets/swym-education.js" defer="defer"></script>
5919 5920 5921<!-- END app snippet --> 5922 5923 5924</div><div id="shopify-block-AUGZ4bm1wOXlRNVFzT__16187601983559181590" class="shopify-block shopify-app-block"> 5925 5926<!-- BEGIN app snippet: swymVersion -->
5926<script>var __SWYM__VERSION__ = '6.0.0';</script>
5926 5927<!-- END app snippet --> 5928
5929<script id="sbisa-embed-init" defer async> 5930 (function () { 5931 console.log('Swym SBiSA App Embed Block Init'); 5932 window.swymWatchlistEmbedBlockLoaded = true; 5933 var fullAssetUrl = "https://cdn.shopify.com/extensions/01a014b1-6566-7c61-aedf-79a2912282a5/watchlist-145/assets/apps.bundle.js"; 5934 var assetBaseUrl = fullAssetUrl?.substring(0, fullAssetUrl.lastIndexOf('/') + 1); 5935 var swymJsPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 5936 var baseJsPath = swymJsPath?.substring(0, swymJsPath.lastIndexOf('/') + 1); 5937 window.SwymCurrentJSPath = baseJsPath; 5938 window.SwymAssetBaseUrl = assetBaseUrl; 5939 5940 window.SwymCurrentStorePath = "//swymstore-v3premium-01.swymrelay.com"; 5941 5942 function injectSwymShopifyScript() { 5943 var element = ""; 5944 var scriptSrc = ""; 5945 5946 5947 element = "swym-ext-shopify-script"; 5948 window.SwymShopifyCdnInUse = true; 5949 scriptSrc = "https://cdn.shopify.com/extensions/01a014b1-6566-7c61-aedf-79a2912282a5/watchlist-145/assets/swym-ext-shopify.js"; 5950 5951 5952 if (document.getElementById(element)) { 5953 return; 5954 } 5955 5956 var s = document.createElement("script"); 5957 s.id = element; 5958 s.type = "text/javascript"; 5959 s.async = true; 5960 s.defer = true; 5961 s.src = scriptSrc; 5962 5963 s.onerror = function() { 5964 console.warn("Failed to load Swym Shopify script: ", scriptSrc, " Continuing with default"); 5965 // Fallback logic here 5966 element = `swym-ext-shopify-script-${__SWYM__VERSION__}`; 5967 var fallbackJsPathVal = "\/\/premcdn.swymrelay.com\/code\/swym-shopify.js"; 5968 var fallbackJsPathWithExt = fallbackJsPathVal.replace("swym-shopify", "swym-ext-shopify"); 5969 scriptSrc = fallbackJsPathWithExt + '?shop=' + encodeURIComponent(window.Shopify.shop) + '&v=' + __SWYM__VERSION__; 5970 5971 var fallbackScript = document.createElement("script"); 5972 fallbackScript.id = element; 5973 fallbackScript.type = "text/javascript"; 5974 fallbackScript.async = true; 5975 fallbackScript.defer = true; 5976 fallbackScript.src = scriptSrc; 5977 var y = document.getElementsByTagName("script")[0]; 5978 y.parentNode.insertBefore(fallbackScript, y); 5979 }; 5980 5981 var x = document.getElementsByTagName("script")[0]; 5982 x.parentNode.insertBefore(s, x); 5983 } 5984 5985 const swymAppMetafields = { 5986 pid: 'L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=', 5987 tier: 'v3premium-01', 5988 js_path: '//premcdn.swymrelay.com/code/swym-shopify.js', 5989 relay_path: 'https://swymstore-v3premium-01.swymrelay.com', 5990 isEnabled: '', 5991 }; 5992 5993 function loadSwymShopifyScriptWithWishlistCheck() { 5994 // Check if Wishlist is installed - bypass script injection as a temporary workaround solution to prevent duplicate scripts 5995 // Can be replaced with better logic once Wishlist also uses App Embed Block for script injection 5996 fetch('https://swymstore-v3premium-01.swymrelay.com' + '/script-tag-check?pid=' + 'L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=') 5997 .then((response) => response.json()) 5998 .then((data) => { 5999 if (!data?.["has-swym-script-tag"]) { 6000 injectSwymShopifyScript(); 6001 } 6002 }) 6003 .catch((error) => { 6004 // Handle any errors that occur 6005 console.error('Swym Error: ' + error); 6006 //Inject script to make sure script is injected nonetheless 6007 injectSwymShopifyScript(); 6008 }); 6009 } 6010 6011 6012 var consentAPICallbackInvoked = false; 6013 6014 function loadScriptIfNoCustomerPrivacyAPI() { 6015 if(!window.Shopify?.customerPrivacy) { 6016 loadSwymShopifyScriptWithWishlistCheck(); 6017 return true; 6018 } 6019 return false; 6020 } 6021 6022 function checkConsentAndLoad() { 6023 var requiresConsentCheck = window.Shopify?.customerPrivacy?.shouldShowBanner?.(); 6024 if(!requiresConsentCheck) { 6025 loadSwymShopifyScriptWithWishlistCheck(); 6026 return; 6027 } 6028 var shouldLoadSwymScript = window.Shopify?.customerPrivacy?.preferencesProcessingAllowed?.(); 6029 if (shouldLoadSwymScript) { 6030 loadSwymShopifyScriptWithWishlistCheck(); 6031 } else { 6032 console.warn("No customer consent to load Swym SBiSA"); 6033 } 6034 } 6035 function initialiseConsentCheck() { 6036 document.addEventListener("visitorConsentCollected", (event) => { checkConsentAndLoad(); }); 6037 window.Shopify?.loadFeatures?.( 6038 [{name: 'consent-tracking-api', version: '0.1'}], 6039 error => { 6040 consentAPICallbackInvoked = true; 6041 if (error) { 6042 if(loadScriptIfNoCustomerPrivacyAPI()) { 6043 return; 6044 } 6045 } 6046 checkConsentAndLoad(); 6047 } 6048 ); 6049 } 6050 function consentCheckFallback(retryCount) { 6051 if(!consentAPICallbackInvoked) { 6052 if (window.Shopify?.customerPrivacy) { 6053 checkConsentAndLoad(); 6054 } else if (retryCount >= 1) { 6055 console.warn("Shopify privacy API unavailable, loading Swym script"); 6056 loadSwymShopifyScriptWithWishlistCheck(); 6057 } else { 6058 setTimeout(() => consentCheckFallback(retryCount + 1), 1000); 6059 } 6060 } 6061 } 6062 if (document.readyState === "loading") { 6063 document.addEventListener("DOMContentLoaded", initialiseConsentCheck); 6064 window.addEventListener("load", () => consentCheckFallback(0)); 6065 } else { 6066 initialiseConsentCheck(); 6067 } 6068 6069 })(); 6070</script>
6070 6071 6072 6073 6074 6075 6076<!-- BEGIN app snippet: swymSnippet -->
6076<script defer> 6077 (function () { 6078 const currentSwymJSPath = '//premcdn.swymrelay.com/code/swym-shopify.js'; 6079 const currentSwymStorePath = 'https://swymstore-v3premium-01.swymrelay.com'; 6080 const dnsPrefetchLink = `<link rel="dns-prefetch" href="https://${currentSwymStorePath}" crossorigin>`; 6081 const dnsPrefetchLink2 = `<link rel="dns-prefetch" href="${currentSwymJSPath}">`; 6082 const preConnectLink = `<link rel="preconnect" href="${currentSwymJSPath}">`; 6083 const swymSnippet = document.getElementById('sbisa-embed-init'); 6084 swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink); 6085 swymSnippet.insertAdjacentHTML('afterend', dnsPrefetchLink2); 6086 swymSnippet.insertAdjacentHTML('afterend', preConnectLink); 6087 })() 6088</script>
vendor: 1 bytes, line 6088
6088
6089<script id="swym-snippet" type="text"> 6090 window.swymLandingURL = document.URL; 6091 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}; 6092 window.swymPageLoad = function() { 6093 window.SwymProductVariants = window.SwymProductVariants || {}; 6094 window.SwymHasCartItems = 0 > 0; 6095 window.SwymPageData = {}, window.SwymProductInfo = {}; 6096 var unknown = {et: 0}; 6097 window.SwymPageData = unknown; 6098 6099 window.SwymPageData.uri = window.swymLandingURL; 6100 }; 6101 if(window.selectCallback){ 6102 (function(){ 6103 // Variant select override 6104 var originalSelectCallback = window.selectCallback; 6105 window.selectCallback = function(variant){ 6106 originalSelectCallback.apply(this, arguments); 6107 try{ 6108 if(window.triggerSwymVariantEvent){ 6109 window.triggerSwymVariantEvent(variant.id); 6110 } 6111 }catch(err){ 6112 console.warn("Swym selectCallback", err); 6113 } 6114 };})();} 6115 window.swymCustomerId =null; 6116 window.swymCustomerExtraCheck = 6117 null; 6118 var swappName = ("Wishlist" || "Watchlist"); 6119 var swymJSObject = { 6120 pid: "L9fgMeLvHi7rUjkOqQUTO+JForrlyJ2ImEq8dKfGXLQ=", 6121 interface: "/apps/swym" + swappName + "/interfaces/interfaceStore.php?appname=" + swappName 6122 }; 6123 window.swymJSShopifyLoad = function(){ 6124 if(window.swymPageLoad) swymPageLoad(); 6125 if(!window._swat) { 6126 (function (s, w, r, e, l, a, y) { 6127 r['SwymRetailerConfig'] = s; 6128 r[s] = r[s] || function (k, v) { 6129 r[s][k] = v; 6130 }; 6131 })('_swrc', '', window); 6132 _swrc('RetailerId', swymJSObject.pid); 6133 _swrc('Callback', function(){initSwymShopify();}); 6134 }else if(window._swat.postLoader){ 6135 _swrc = window._swat.postLoader; 6136 _swrc('RetailerId', swymJSObject.pid); 6137 _swrc('Callback', function(){initSwymShopify();}); 6138 }else{ 6139 initSwymShopify();} 6140 } 6141 if(!window._SwymPreventAutoLoad) { 6142 swymJSShopifyLoad(); 6143 } 6144 window.swymGetCartCookies = function(){ 6145 var RequiredCookies = ["cart", "swym-session-id", "swym-swymRegid", "swym-email"]; 6146 var reqdCookies = {}; 6147 RequiredCookies.forEach(function(k){ 6148 reqdCookies[k] = _swat.storage.getRaw(k);}); 6149 var cart_token = window.swymCart.token; 6150 var data = { 6151 action:'cart', 6152 token:cart_token, 6153 cookies:reqdCookies 6154 }; 6155 return data; 6156 } 6157 window.swymGetCustomerData = function(){ 6158 6159 return {status: 1}; 6160 6161 } 6162</script>
6162 6163 6164<style id="safari-flasher-pre"></style>
6165<script> 6166 if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { 6167 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;}' + ''; 6168 window.SwymCallbacks = window.SwymCallbacks || []; 6169 window.SwymCallbacks.push(function(tracker) { 6170 tracker.evtLayer.addEventListener(tracker.JSEvents.configLoaded, function() { 6171 // flash-preventer 6172 var x = function() { 6173 SwymUtils.onDOMReady(function() { 6174 var d = document.createElement("div"); 6175 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>"; 6176 document.head.appendChild(d); 6177 });}; 6178 setTimeout(x, 10); 6179 });});} 6180 window.SwymOverrideMoneyFormat = "\u003cspan class=money\u003eRp {{amount_no_decimals_with_comma_separator}}\u003c\/span\u003e"; // Get the money format for the store from shopify 6181</script>
6181 6182<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 --> 6183 6184 6185
6186<script id="swymSnippetCheckAndActivate"> 6187 document.addEventListener('DOMContentLoaded', function () { 6188 var element = document.querySelector('script#swym-snippet:not([type="text"])'); 6189 6190 if (!element) { 6191 //To handle cases where Wishlist is "disabled on live theme" 6192 window.swymSnippetNotLoadedFromThemeFiles = true; 6193 6194 var script = document.querySelector('script#swym-snippet[type="text"]'); 6195 6196 //Activating #swym-snippet 6197 script.type = 'text/javascript'; 6198 new Function(script.textContent)(); 6199 } 6200 }); 6201</script>
6201 6202 6203 6204 6205</div><div id="shopify-block-AR2FMSW9nNERWcU9kV__6174324309569838175" class="shopify-block shopify-app-block"> 6206 6207 6208<div class="smile-shopify-init" 6209 data-channel-key="channel_69O932Hy62NoxHuQxnQuT7qZ" 6210 6211></div> 6212 6213 6214</div><div id="shopify-block-Ac01WZnY0T3BzWTdSV__17317732794400948738" class="shopify-block shopify-app-block"> 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232<div id="popup-boost-root"></div> 6233
6234<script> 6235 window.PopupBoostConfig = { 6236 shop: "c03efc-25.myshopify.com", 6237 pageType: "blog", 6238 pageUrl: window.location.pathname, 6239 product: null, 6240 collection: null, 6241 customer: null, 6242 locale: "en", 6243 primaryLocale: "en", 6244 currency: "IDR", 6245 moneyFormat: "\u003cspan class=money\u003eRp {{amount_no_decimals_with_comma_separator}}\u003c\/span\u003e", 6246 debugMode: false, 6247 enabled: true, 6248 impressionsCapped: false, 6249 asset3dUrl: "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-3d.js", 6250 hasCampaign: true, 6251 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
6251heel"}],"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
6251heel"}],"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
6251heel"}],"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}]}, 6252 embedCampaigns: [] 6253 }; 6254 6255 6256 6257 // Storefront preview of a DRAFT campaign. 6258 // 6259 // THE SPLIT. Liquid cannot verify an HMAC, and cannot even see the query string 6260 // (request.path excludes it), so responsibility divides cleanly: 6261 // ⢠HERE (client): decide only whether this URL CLAIMS to be a preview â a 6262 // presence-and-shape check on the `pb_preview` parameter. Permissive. 6263 // ⢠BACKEND: decide whether the claim is TRUE. WidgetController verifies the 6264 // signature, the shop binding, the campaign binding and the expiry before it 6265 // will serve a draft. 6266 // The worst a forged or expired token achieves is loading the widget bundle on 6267 // the forger's OWN page view, after which the API serves them nothing. It cannot 6268 // reveal a draft â that requires a signature only APP_KEY can produce. 6269 // 6270 // COST ON THE NORMAL PATH (every real shopper): when the page URL has no 6271 // `pb_preview`, this is one `String.indexOf` over location.search and nothing 6272 // else â no asset, no request, no DOM write, no metafield read. The Liquid gate 6273 // below is untouched, so the bytes a shopper downloads are byte-identical to 6274 // before this feature. Storefront Lighthouse / Web Vitals impact: nil. 6275 // 6276 // The token is passed to the widget rather than re-read from the URL by it, so 6277 // there is exactly one place that decides what "is a preview" means. 6278 (function () { 6279 try { 6280 var search = window.location.search || ''; 6281 if (search.indexOf('pb_preview=') === -1) return; 6282 6283 var token = new URLSearchParams(search).get('pb_preview'); 6284 if (!token) return; 6285 6286 window.PopupBoostConfig.previewToken = token; 6287 window.PopupBoostConfig.previewMode = true; 6288 6289 // Asset URLs are CDN-hashed, so they must come from Liquid's asset_url 6290 // filter â they cannot be constructed client-side. 6291 var assets = { 6292 'popup-boost.js': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost.js", 6293 'popup-boost.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost.css", 6294 'popup-boost-quiz.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-quiz.css", 6295 'popup-boost-slot_machine.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-slot_machine.css", 6296 'popup-boost-scratch_card.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-scratch_card.css", 6297 'popup-boost-dice_roll.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-dice_roll.css", 6298 'popup-boost-mystery_box.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-mystery_box.css", 6299 'popup-boost-magic_wand.css': "https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost-magic_wand.css" 6300 }; 6301 6302 // A preview must render even though the metafield is empty (draft) â and the 6303 // Liquid gate below already decided not to emit the bundle. Inject it here.
6304 // Guarded so we never double-load when the campaign is live and the Liquid 6305 // gate DID emit the tags. 6306 if (!true && !false) { 6307 // Per-type CSS is normally chosen from the metafield's campaign_type, but a 6308 // draft has no metafield entry and the type is not known until the API 6309 // answers â so a preview loads ALL type files. Order mirrors the Liquid gate 6310 // below exactly (quiz BEFORE core, the rest after), keeping the cascade 6311 // identical to a live render. Costs a handful of small extra stylesheets on 6312 // the merchant's own preview page view only; a shopper never reaches this. 6313 ['popup-boost-quiz.css', 6314 'popup-boost.css', 6315 'popup-boost-slot_machine.css', 6316 'popup-boost-scratch_card.css', 6317 'popup-boost-dice_roll.css', 6318 'popup-boost-mystery_box.css', 6319 'popup-boost-magic_wand.css'].forEach(function (name) { 6320 var css = document.createElement('link'); 6321 css.rel = 'stylesheet'; 6322 css.href = assets[name]; 6323 document.head.appendChild(css); 6324 }); 6325 6326 var js = document.createElement('script'); 6327 js.src = assets['popup-boost.js']; 6328 js.defer = true; 6329 document.head.appendChild(js); 6330 } 6331 } catch (e) { 6332 // A preview must never break a real storefront. 6333 } 6334 })(); 6335</script>
6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 <link href="//cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost.css" rel="stylesheet" type="text/css" media="all" /> 6354 6355 6356 6357 6358 6359
6359<script src="https://cdn.shopify.com/extensions/01a0ce66-ac6b-7594-b088-b4e8e293f4a3/popupboost-368/assets/popup-boost.js" defer></script>
6359 6360 6361 6362 6363</div><div id="shopify-block-AWEt3R1NOaHZlQitDV__16357531335331704164" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: vite-tag --> 6364 6365 6366
6366<script src="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/wheelify-BoONsjND.js" type="module" crossorigin="anonymous"></script>
6366 6367 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/apiUrls-DnwrqYwk.js" crossorigin="anonymous"> 6368 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/intlTelInput-BI38gcKw.js" crossorigin="anonymous"> 6369 <link href="//cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/intlTelInput-DpQjg_hF.css" rel="stylesheet" type="text/css" media="all" /> 6370 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/app-tn41Dgp_.js" crossorigin="anonymous"> 6371 <link href="//cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/style-DcAsqIVb.css" rel="stylesheet" type="text/css" media="all" /> 6372 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/index-B4D9k3Eo.js" crossorigin="anonymous"> 6373 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/wheelify-Fetch-B057FjqN.js" crossorigin="anonymous"> 6374 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/preload-helper-Dp1pzeXC.js" crossorigin="anonymous"> 6375 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/queryKeys-Cw6XM3Ee.js" crossorigin="anonymous"> 6376 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/useQuery-CFiPmb4P.js" crossorigin="anonymous"> 6377 <link href="//cdn.shopify.com/extensions/01a0a570-1a2d-7c42-8269-42fd1333cda2/spin-wheel-1-183/assets/style-DcAsqIVb.css" rel="stylesheet" type="text/css" media="all" /> 6378 6379<!-- END app snippet --> 6380<div id="wheelify"></div> 6381 6382 6383</div>
6383<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6383 6384</body> 6385</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.