1<!doctype html> 2<html class="no-js" lang="ja"> 3 <head>
3<script data-source-attribution="shopify.event_observer.bootstrap"> 4(function(){let e=navigator,t=`prototype`,n=`sendBeacon`,r=e[n],i=fetch,a=XMLHttpRequest[t],{open:o,send:s}=a,c=`EventListener`,l=`add${c}`,u=`remove${c}`,d=EventTarget[t],f=d[l],p=d[u],m=e=>Error((e=document.currentScript)&&[e?.src,e?.id||e?.dataset?.sourceAttribution]),h=(e=[],t=0)=>(e.p=n=>e[t++%1e3]=n,[e,t=>(e.forEach(e.p=t),e.length=0)]),[g,_]=h(),[v,y]=h(),b,x=new WeakMap,S=e=>e&&g.p([e,b||[m()]]);d[l]=function(e,t,n){let r=this,i=t?.handleEvent||t,a=x.get(t),o=m();i?.call&&!a&&x.set(t,a=function(e){b=[o,e.type];try{i.call(t==i?this:t,e)}finally{b=null}}),v.p([e,o,a,r?.tagName||r+``,r?.id]),f.call(r,e,a||t,n)},d[u]=function(e,t,n){p.call(this,e,x.get(t)||t,n)},a.open=function(e,t){x.set(this,[t+``,e]),o.apply(this,arguments)},a.send=function(e){S(x.get(this)),s.call(this,e)},fetch=(e,t)=>(S([(e?.url||e)+``,t?.method]),i(e,t)),e[n]=(t,n)=>(S([t+``,``]),r.call(e,t,n)),setTimeout(()=>import("//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/storefront/event_observer_reporter-ed358274.js").then(e=>e.$(_,y,f,i,`51054739619`)))})(); 5//# sourceURL=event-observer-collector.js 6</script>
6 7 8 <meta charset="utf-8"> 9 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 10 <meta name="viewport" content="width=device-width,initial-scale=1"> 11 <meta name="theme-color" content=""> 12 <link rel="canonical" href="https://kitasandocoffee.com/account/login"> 13 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="icon" type="image/png" href="//kitasandocoffee.com/cdn/shop/files/4.png?crop=center&height=32&v=1705469169&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin><title> 14 ã¢ã«ã¦ã³ã 15 – KITASANDO COFFEE online store</title> 16 17 18 19 20 21<meta property="og:site_name" content="KITASANDO COFFEE online store"> 22<meta property="og:url" content="https://kitasandocoffee.com/account/login"> 23<meta property="og:title" content="ã¢ã«ã¦ã³ã"> 24<meta property="og:type" content="website"> 25<meta property="og:description" content="ããªãã®çæ´»ãè±ãã«ããã¹ãã·ã£ã«ãã£ã³ã¼ãã¼ã·ã§ããã 26æµ ç ãããæ·±ç ãã¾ã§ã常ã«10-15種é¡ã®çç è±ãã©ã¤ã³ããããã¦ãã¾ãã 27ã¢ããªã«ãåç±³ã¯ãã¡ãããä¸å½é²åãªã©ã®ã¢ã¸ã¢åãå«ããä¸çä¸ã®è±ãåãæ±ããã³ã¼ãã¼ã§ä¸çãæ ããæ°åãå³ããã¾ãã"><meta property="og:image" content="http://kitasandocoffee.com/cdn/shop/files/KCO_top_0b82912c-0c77-4839-b364-a423eed99731.jpg?v=1723275527"> 28 <meta property="og:image:secure_url" content="https://kitasandocoffee.com/cdn/shop/files/KCO_top_0b82912c-0c77-4839-b364-a423eed99731.jpg?v=1723275527"> 29 <meta property="og:image:width" content="4800"> 30 <meta property="og:image:height" content="3200"><meta name="twitter:card" content="summary_large_image"> 31<meta name="twitter:title" content="ã¢ã«ã¦ã³ã"> 32<meta name="twitter:description" content="ããªãã®çæ´»ãè±ãã«ããã¹ãã·ã£ã«ãã£ã³ã¼ãã¼ã·ã§ããã 33æµ ç ãããæ·±ç ãã¾ã§ã常ã«10-15種é¡ã®çç è±ãã©ã¤ã³ããããã¦ãã¾ãã 34ã¢ããªã«ãåç±³ã¯ãã¡ãããä¸å½é²åãªã©ã®ã¢ã¸ã¢åãå«ããä¸çä¸ã®è±ãåãæ±ããã³ã¼ãã¼ã§ä¸çãæ ããæ°åãå³ããã¾ãã"> 35 36 37
37<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/constants.js?v=95358004781563950421750427082" defer="defer"></script>
37 38
38<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/pubsub.js?v=2921868252632587581750427082" defer="defer"></script>
38 39
39<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/global.js?v=127210358271191040921750427082" defer="defer"></script>
39 40
40<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/custom.js?v=95695831222694155641750427082" defer="defer"></script>
40 41
41<script type='text/javascript' src='/apps/wlm/js/wlm-1.1.js'></script>
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55<style type="text/css">.wlm-message-pnf{text-align:center}#wlm-pwd-form{padding:30px 0;text-align:center}#wlm-wrapper{display:inline-block}#wlm-pwd-error{display:none;color:#FB8077;text-align:left;margin-top:10px;font-size:1.3rem}#wlm-pwd-error.wlm-error{border:1px solid #FB8077}#wlm-pwd-form-button{display:inline-block !important;height:auto !important;padding:8px 15px !important;background:black;border-radius:0 !important;color:#fff !important;text-decoration:none !important;vertical-align:top}.wlm-instantclick-fix,.wlm-item-selector{position:absolute;z-index:-999;display:none;height:0;width:0;font-size:0;line-height:0}#wlm-pwd-msg{margin-bottom:20px;text-align:left}#wlm-pwd-msg>p{margin-top:0;margin-bottom:0}.wlm-form-holder{display:flex}#wlm-pwd{border-color:black;border-width:1px;border-right:0;padding:0 10px}#wlm-pwd:focus-visible{outline:0}</style> 56 57 58 59 60 61 62 63 64 65
66<script type='text/javascript'> 67 68wlm.navigateByLocation(); 69 70wlm.jq(document).ready(function(){ 71wlm.removeLinks(); 72}); 73</script>
73 74 75
76<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
76<meta name="google-site-verification" content="_sfpn1CyllppTX2zyNcw0iDyl_6plNizyNDq_mjKhHg"> 77<meta name="google-site-verification" content="LYFMPwJ5_9pG39OKRGJUbjuovNfdtdEIKHccCVr008g"> 78<meta name="facebook-domain-verification" content="6nt9bgqlvwt79e1n275pzbk7euaxqm"> 79<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/51054739619/digital_wallets/dialog"> 80<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
80<script async="async" src="/checkouts/internal/preloads.js?locale=ja-US"></script>
80 81<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
82<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=ja-US&shop_id=51054739619" crossorigin="anonymous"></script>
vendor: 1 bytes, line 82
82
83<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":51054739619,"countryCode":"JP","currencyCode":"JPY","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/51054739619","merchantName":"KITASANDO COFFEE online store","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","jcb","discover"],"total":{"type":"pending","label":"KITASANDO COFFEE online store","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 83
83
84<script id="shopify-features" type="application/json">{"accessToken":"8af6f1a6bba0e0efe3ac3ae079c2f9ab","betas":["rich-media-storefront-analytics"],"domain":"kitasandocoffee.com","predictiveSearch":false,"shopId":51054739619,"locale":"ja"}</script>
vendor: 1 bytes, line 84
84
85<script>var Shopify = Shopify || {}; 86Shopify.shop = "kankaku.myshopify.com"; 87Shopify.locale = "ja"; 88Shopify.currency = {"active":"JPY","rate":"1.0"}; 89Shopify.country = "US"; 90Shopify.theme = {"name":"(TEST)2025\/06\/20 KISASANDO_ãã©ã³ããã£ãã½ãã£ã¼åæ ","id":151139647702,"schema_name":"Craft","schema_version":"9.0.0","theme_store_id":1368,"role":"main"}; 91Shopify.theme.handle = "null"; 92Shopify.theme.style = {"id":null,"handle":null}; 93Shopify.cdnHost = "kitasandocoffee.com/cdn"; 94Shopify.routes = Shopify.routes || {}; 95Shopify.routes.root = "/"; 96Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 97Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 98Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 99Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 99
99
100<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 100
100
101<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 101
101
102<script> 103 window.ShopifyPay = window.ShopifyPay || {}; 104 window.ShopifyPay.apiHost = "shop.app\/pay"; 105 window.ShopifyPay.redirectState = null; 106</script>
vendor: 1 bytes, line 106
106
107<script> 108 window.Shopify = window.Shopify || {}; 109 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 110 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 111 window.Shopify.SignInWithShop.eligible = true; 112</script>
vendor: 1 bytes, line 112
112
113<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 113
113
114<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.ja.esm.js"></script>
vendor: 1 bytes, line 114
114
115<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.ja.esm.js"></script>
vendor: 1 bytes, line 115
115
116<script type="module"> 117 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.ja.esm.js"); 118await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.ja.esm.js"); 119 120 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 121window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 122 123</script>
vendor: 1 bytes, line 123
123
124<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.ja.esm.js"></script>
vendor: 1 bytes, line 124
124
125<script type="module"> 126 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.ja.esm.js"); 127 128 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 129 130</script>
vendor: 1 bytes, line 130
130
131<script> 132 window.Shopify = window.Shopify || {}; 133 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 134 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.ja.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.ja.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.ja.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.ja.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.ja.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.ja.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.ja.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.ja.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.ja.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.ja.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.ja.esm.js"],"listener":["modules/v2/loader.listener.ja.esm.js"],"pay-button":["modules/v2/loader.pay-button.ja.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.ja.esm.js"],"shop-button":["modules/v2/loader.shop-button.ja.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.ja.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.ja.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.ja.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.ja.esm.js"],"shop-login":["modules/v2/loader.shop-login.ja.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.ja.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.ja.esm.js"]}; 135</script>
vendor: 1 bytes, line 135
135
136<script>(function() { 137 var isLoaded = false; 138 function asyncLoad() { 139 if (isLoaded) return; 140 isLoaded = true; 141 var urls = ["\/\/cdn.shopify.com\/proxy\/12e8ef40c62129bf1cabdc9be02ab57ce07c3ffde93596af807bc1e95a150b00\/cdn.nfcube.com\/instafeed-cf5043f1042f8d2b44b90414ab084e77.js?shop=kankaku.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/haiso-app-fgb9gecdchgtc5cc.z01.azurefd.net\/kankaku.myshopify.com_haiso_datetimespecific.js?v=20211027165607?timestamp=639058141623203564\u0026shop=kankaku.myshopify.com"]; 142 for (var i = 0; i < urls.length; i++) { 143 var s = document.createElement('script'); 144 s.type = 'text/javascript'; 145 s.async = true; 146 s.src = urls[i]; 147 var x = document.getElementsByTagName('script')[0]; 148 x.parentNode.insertBefore(s, x); 149 } 150 }; 151 if(window.attachEvent) { 152 window.attachEvent('onload', asyncLoad); 153 } else { 154 window.addEventListener('load', asyncLoad, false); 155 } 156})();</script>
vendor: 1 bytes, line 156
156
157<script id="__st">var __st={"a":51054739619,"offset":32400,"reqid":"ad30ab96-3ec0-43f1-bb35-7a5a09c713fd-1791346703","pageurl":"kitasandocoffee.com\/account\/login","u":"52168c962028"};</script>
vendor: 1 bytes, line 157
157
158<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 158
158
159<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'hCaptchaã«ããä¿è·',privacyText:'ãã©ã¤ãã·ã¼',termsText:'å©ç¨è¦ç´'},(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 159
159
160<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 160
160
161<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 = "//kitasandocoffee.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>
161<script crossorigin="anonymous" defer="defer" src="//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 161
161
162<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 162
162
163<script> 164 window.Shopify = window.Shopify || {}; 165 window.Shopify.MCP = window.Shopify.MCP || {}; 166 window.Shopify.MCP.enabled = true; 167 window.Shopify.MCP.shop = "kankaku.myshopify.com"; 168 window.Shopify.MCP.mcpEndpoint = "https:\/\/kitasandocoffee.com\/api\/mcp"; 169 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?\"\nSet policy_types to also get the store's written policies (full text and URL).\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."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 170</script>
vendor: 1 bytes, line 170
170
171<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("\/\/kitasandocoffee.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 172</script>
vendor: 1 bytes, line 172
172
173<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://kitasandocoffee.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.ja.js",t.type="module",document.head.appendChild(t)}}; 174</script>
vendor: 1 bytes, line 174
174
175<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 176 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); 177</script>
vendor: 1 bytes, line 177
177
178<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})}})); 179</script>
179 180<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://kitasandocoffee.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 181<style id="shopify-accelerated-checkout-cart"> 182 #shopify-buyer-consent { 183 margin-top: 1em; 184 display: inline-block; 185 width: 100%; 186} 187 188#shopify-buyer-consent.hidden { 189 display: none; 190} 191 192#shopify-subscription-policy-button { 193 background: none; 194 border: none; 195 padding: 0; 196 text-decoration: underline; 197 font-size: inherit; 198 cursor: pointer; 199} 200 201#shopify-subscription-policy-button::before { 202 box-shadow: none; 203} 204 205 </style>
206<script id="sections-script" data-sections="header" defer="defer" src="//kitasandocoffee.com/cdn/shop/t/100/compiled_assets/scripts.js?v=184325197989695213571750427082"></script>
vendor: 1 bytes, line 206
206
207<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
207 208 209 210 <style data-shopify> 211 212 213 214 215 @font-face { 216 font-family: Inter; 217 font-weight: 400; 218 font-style: normal; 219 font-display: swap; 220 src: url("//kitasandocoffee.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2") format("woff2"), 221 url("//kitasandocoffee.com/cdn/fonts/inter/inter_n4.af8052d517e0c9ffac7b814872cecc27ae1fa132.woff") format("woff"); 222} 223 224 225 :root { 226 --font-body-family: "system_ui", -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; 227 --font-body-style: normal; 228 --font-body-weight: 400; 229 --font-body-weight-bold: 700; 230 231 --font-heading-family: Inter, sans-serif; 232 --font-heading-style: normal; 233 --font-heading-weight: 400; 234 235 --font-body-scale: 1.0; 236 --font-heading-scale: 1.0; 237 238 --color-base-text: 37, 37, 37; 239 --color-shadow: 37, 37, 37; 240 --color-base-background-1: 255, 255, 255; 241 --color-base-background-2: 255, 255, 255; 242 --color-base-solid-button-labels: 239, 236, 236; 243 --color-base-outline-button-labels: 34, 34, 34; 244 --color-base-accent-1: 34, 34, 34; 245 --color-base-accent-2: 139, 139, 139; 246 --payment-terms-background-color: #ffffff; 247 248 --gradient-base-background-1: #ffffff; 249 --gradient-base-background-2: #ffffff; 250 --gradient-base-accent-1: #222222; 251 --gradient-base-accent-2: #8b8b8b; 252 253 --media-padding: px; 254 --media-border-opacity: 0.1; 255 --media-border-width: 0px; 256 --media-radius: 0px; 257 --media-shadow-opacity: 0.0; 258 --media-shadow-horizontal-offset: 0px; 259 --media-shadow-vertical-offset: 4px; 260 --media-shadow-blur-radius: 5px; 261 --media-shadow-visible: 0; 262 263 --page-width: 110rem; 264 --page-width-margin: 0rem; 265 266 --product-card-image-padding: 0.0rem; 267 --product-card-corner-radius: 0.0rem; 268 --product-card-text-alignment: left; 269 --product-card-border-width: 0.0rem; 270 --product-card-border-opacity: 0.1; 271 --product-card-shadow-opacity: 0.0; 272 --product-card-shadow-visible: 0; 273 --product-card-shadow-horizontal-offset: 0.0rem; 274 --product-card-shadow-vertical-offset: 0.4rem; 275 --product-card-shadow-blur-radius: 0.5rem; 276 277 --collection-card-image-padding: 0.0rem; 278 --collection-card-corner-radius: 0.0rem; 279 --collection-card-text-alignment: left; 280 --collection-card-border-width: 0.0rem; 281 --collection-card-border-opacity: 0.1; 282 --collection-card-shadow-opacity: 0.0; 283 --collection-card-shadow-visible: 0; 284 --collection-card-shadow-horizontal-offset: 0.0rem; 285 --collection-card-shadow-vertical-offset: 0.4rem; 286 --collection-card-shadow-blur-radius: 0.5rem; 287 288 --blog-card-image-padding: 0.0rem; 289 --blog-card-corner-radius: 0.6rem; 290 --blog-card-text-alignment: left; 291 --blog-card-border-width: 0.1rem; 292 --blog-card-border-opacity: 0.1; 293 --blog-card-shadow-opacity: 0.0; 294 --blog-card-shadow-visible: 0; 295 --blog-card-shadow-horizontal-offset: 0.0rem; 296 --blog-card-shadow-vertical-offset: 0.4rem; 297 --blog-card-shadow-blur-radius: 0.5rem; 298 299 --badge-corner-radius: 0.6rem; 300 301 --popup-border-width: 1px; 302 --popup-border-opacity: 0.5; 303 --popup-corner-radius: 6px; 304 --popup-shadow-opacity: 0.0; 305 --popup-shadow-horizontal-offset: 0px; 306 --popup-shadow-vertical-offset: 4px; 307 --popup-shadow-blur-radius: 5px; 308 309 --drawer-border-width: 1px; 310 --drawer-border-opacity: 0.1; 311 --drawer-shadow-opacity: 0.0; 312 --drawer-shadow-horizontal-offset: 0px; 313 --drawer-shadow-vertical-offset: 4px; 314 --drawer-shadow-blur-radius: 5px; 315 316 --spacing-sections-desktop: 0px; 317 --spacing-sections-mobile: 0px; 318 319 --grid-desktop-vertical-spacing: 20px; 320 --grid-desktop-horizontal-spacing: 20px; 321 --grid-mobile-vertical-spacing: 10px; 322 --grid-mobile-horizontal-spacing: 10px; 323 324 --text-boxes-border-opacity: 0.1; 325 --text-boxes-border-width: 0px; 326 --text-boxes-radius: 0px; 327 --text-boxes-shadow-opacity: 0.0; 328 --text-boxes-shadow-visible: 0; 329 --text-boxes-shadow-horizontal-offset: 0px; 330 --text-boxes-shadow-vertical-offset: 4px; 331 --text-boxes-shadow-blur-radius: 5px; 332 333 --buttons-radius: 0px; 334 --buttons-radius-outset: 0px; 335 --buttons-border-width: 1px; 336 --buttons-border-opacity: 1.0; 337 --buttons-shadow-opacity: 0.0; 338 --buttons-shadow-visible: 0; 339 --buttons-shadow-horizontal-offset: 0px; 340 --buttons-shadow-vertical-offset: 4px; 341 --buttons-shadow-blur-radius: 5px; 342 --buttons-border-offset: 0px; 343 344 --inputs-radius: 6px; 345 --inputs-border-width: 1px; 346 --inputs-border-opacity: 0.55; 347 --inputs-shadow-opacity: 0.0; 348 --inputs-shadow-horizontal-offset: 0px; 349 --inputs-margin-offset: 0px; 350 --inputs-shadow-vertical-offset: 4px; 351 --inputs-shadow-blur-radius: 5px; 352 --inputs-radius-outset: 7px; 353 354 --variant-pills-radius: 40px; 355 --variant-pills-border-width: 1px; 356 --variant-pills-border-opacity: 0.55; 357 --variant-pills-shadow-opacity: 0.0; 358 --variant-pills-shadow-horizontal-offset: 0px; 359 --variant-pills-shadow-vertical-offset: 4px; 360 --variant-pills-shadow-blur-radius: 5px; 361 } 362 363 *, 364 *::before, 365 *::after { 366 box-sizing: inherit; 367 } 368 369 html { 370 box-sizing: border-box; 371 font-size: calc(var(--font-body-scale) * 62.5%); 372 height: 100%; 373 } 374 375 body { 376 display: grid; 377 grid-template-rows: auto auto 1fr auto; 378 grid-template-columns: 100%; 379 min-height: 100%; 380 margin: 0; 381 font-size: 1.5rem; 382 letter-spacing: 0.06rem; 383 line-height: calc(1 + 0.8 / var(--font-body-scale)); 384 font-family: var(--font-body-family); 385 font-style: var(--font-body-style); 386 font-weight: var(--font-body-weight); 387 } 388 389 @media screen and (min-width: 750px) { 390 body { 391 font-size: 1.6rem; 392 } 393 } 394 </style> 395 396 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/base.css?v=140624990073879848751780838707" rel="stylesheet" type="text/css" media="all" /> 397 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/custom.css?v=28363335964450367501750427082" rel="stylesheet" type="text/css" media="all" /> 398<link rel="preload" as="font" href="//kitasandocoffee.com/cdn/fonts/inter/inter_n4.b2a3f24c19b4de56e8871f609e73ca7f6d2e2bb9.woff2" type="font/woff2" crossorigin>
398<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 399 if (Shopify.designMode) { 400 document.documentElement.classList.add('shopify-design-mode'); 401 } 402 </script>
402<script> 403 // empty script tag to work around a platform issue where attributes of first script in file are scrubbed 404</script>
404 405
406<script id="bold-subscriptions-script" type="text/javascript"> 407 window.BOLD = window.BOLD || {}; 408 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 409 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 410 window.BOLD.subscriptions.config.legacyAssetsLoaded = true; 411 412 if (!window.BOLD.subscriptions.config.isAppEmbedEnabled) { 413 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 414 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 415 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 416 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 417 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 418 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 419 window.BOLD.subscriptions.config.platform = 'shopify'; 420 window.BOLD.subscriptions.config.shopDomain = 'kankaku.myshopify.com'; 421 window.BOLD.subscriptions.config.customDomain = 'kitasandocoffee.com'; 422 window.BOLD.subscriptions.config.shopIdentifier = '51054739619'; 423 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 424 window.BOLD.subscriptions.config.currencyCode = 'JPY'; 425 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 426 window.BOLD.subscriptions.config.currencyFormat = "\u00a5\u0026#123;\u0026#123;amount_no_decimals}}"; 427 window.BOLD.subscriptions.config.shopCurrencies = [{"id":1429,"currency":"JPY","currency_format":"\u0026#165;\u0026#123;\u0026#123;amount_no_decimals}}","created_at":"2021-02-10 14:15:38","updated_at":"2021-02-10 14:15:38"}]; 428 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":true,"customer_can_use_passwordless_login":false,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":false,"show_currency_code":true,"stored_payment_method_policy":"required"}; 429 window.BOLD.subscriptions.config.customerLoginPath = null; 430 431 // TODO: Remove the isset with BS2-4659_improve_large_group_selection 432 window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default'; 433 window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = {"DEFAULT":"default","BSUB_API":"bsub_api"}; 434 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 435 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 436 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 437 } 438 439 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 440 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 441 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 442 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 443 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 444 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 445 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 446 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 447 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 448 449 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlags || ["BE-1625-create-contract-without-delivery-method","BS2-4293-skip-tx-fee-eq-zero","BE-1393-relocate-prepaid-metadata","BE-1614-use-seletedDate-for-offset"]; 450 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 451 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 452 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 453 454 // Interval text markup template 455 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 456 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 457 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 458 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">\:</dt><dd class="definitionList-value">\</dd>'; 459 460 // Discount text markup template 461 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">\</div><div class="bold-subscriptions-discount__total">\</div></div>'; 462 463 464 // Constants in XMLHttpRequest are not reliable, so we will create our own 465 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 466 window.BOLD.subscriptions.config.XMLHttpRequest = { 467 UNSENT:0, // Client has been created. open() not called yet. 468 OPENED: 1, // open() has been called. 469 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 470 LOADING: 3, // Downloading; responseText holds partial data. 471 DONE: 4 // The operation is complete. 472 }; 473 474 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 475 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 476 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 477 } 478 479 window.BOLD.subscriptions.data.subscriptionGroups = []; 480 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 481 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 482 } else { 483 window.BOLD.subscriptions.data.subscriptionGroups = [{"id":9616,"billing_rules":[{"id":19404,"subscription_group_id":9616,"interval_name":"\u6bce\u6708","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":31872,"subscription_group_id":9616,"interval_name":"\u9694\u9031","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":9550,"subscription_group_id":9616,"total_duration":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"8073410379990"}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true},{"id":10010,"billing_rules":[{"id":20162,"subscription_group_id":10010,"interval_name":"\u6bce\u6708","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":20163,"subscription_group_id":10010,"interval_name":"\u9694\u9031","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":9944,"subscription_group_id":10010,"total_duration":1,"discount_type":"percentage","discount_value":0}],"selection_options":[{"platform_entity_id":"5953746632867"},{"platform_entity_id":"6071179378851"}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true}]; 484 } 485 486 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 487 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 488 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 489 return true; 490 } 491 } 492 return false;
493 } 494 495 window.BOLD.subscriptions.logger = { 496 tag: "bold_subscriptions", 497 // the bold subscriptions log level 498 // 0 - errors (default) 499 // 1 - warnings + errors 500 // 2 - info + warnings + errors 501 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 502 levels: { 503 ERROR: 0, 504 WARN: 1, 505 INFO: 2, 506 }, 507 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 508 _log: function(callArgs, level) { 509 if (!window.console) { 510 return null; 511 } 512 513 if (window.BOLD.subscriptions.logger.level < level) { 514 return; 515 } 516 517 var params = Array.prototype.slice.call(callArgs); 518 params.unshift(window.BOLD.subscriptions.logger.tag); 519 520 switch (level) { 521 case window.BOLD.subscriptions.logger.levels.INFO: 522 console.info.apply(null, params); 523 return; 524 case window.BOLD.subscriptions.logger.levels.WARN: 525 console.warn.apply(null, params); 526 return; 527 case window.BOLD.subscriptions.logger.levels.ERROR: 528 console.error.apply(null, params); 529 return; 530 default: 531 console.log.apply(null, params); 532 return; 533 } 534 }, 535 info: function() { 536 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 537 }, 538 warn: function() { 539 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 540 }, 541 error: function() { 542 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 543 } 544 } 545 546 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 547 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 548 } 549 550 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 551 var data = window.BOLD.subscriptions.data; 552 var foundGroup = null; 553 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 554 var subscriptionGroup = data.subscriptionGroups[i]; 555 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 556 var selectionOption = subscriptionGroup.selection_options[j]; 557 if (selectionOption.platform_entity_id === productId.toString()) { 558 foundGroup = subscriptionGroup; 559 break; 560 } 561 } 562 if (foundGroup) { 563 break; 564 } 565 } 566 return foundGroup; 567 }; 568 569 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 570 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 571 572 for (var i = 0; i < subscriptionGroups.length; i += 1) { 573 var subGroup = subscriptionGroups[i]; 574 if (subGroup.id === subGroupId) { 575 return subGroup; 576 } 577 } 578 579 return null; 580 }; 581 582 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 583 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 584 { 585 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 586 } 587 } 588 589 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 590 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 591 592 if ( 593 !subscriptionGroup 594 || !subscriptionGroup.prepaid_durations 595 || !subscriptionGroup.prepaid_durations.length 596 ) { 597 return null; 598 } 599 600 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 601 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 602 if (prepaidDuration.id === prepaidDurationId) { 603 return prepaidDuration; 604 } 605 } 606 607 return null; 608 } 609 610 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 611 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 612 var billingRule = subGroup.billing_rules[i]; 613 if (billingRule.id === billingRuleId) { 614 return billingRule; 615 } 616 } 617 618 return null; 619 }; 620 621 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 622 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 623 var disable = !!d; 624 for (var i = 0; i < addToCartForms.length; i++) { 625 var addToCartForm = addToCartForms[i]; 626 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
626addToCartForm); 627 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 628 629 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 630 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 631 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 632 for (var j = 0; j < addToCartButtons.length; j++) { 633 var addToCartButton = addToCartButtons[j]; 634 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 635 636 addToCartButton.disabled = disable; 637 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 638 } 639 } 640 } else { 641 if (subscriptionGroup) { 642 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 643 for (var j = 0; j < addToCartButtons.length; j++) { 644 var addToCartButton = addToCartButtons[j]; 645 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 646 647 addToCartButton.disabled = disable; 648 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 649 } 650 } 651 } 652 653 } 654 }; 655 656 window.BOLD.subscriptions.disableAddToCartButtons = function () { 657 // only disable the add to cart buttons if the app isn't loaded yet 658 if (!window.BOLD.subscriptions.app) { 659 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 660 } else { 661 window.BOLD.subscriptions.enableAddToCartButtons(); 662 } 663 }; 664 665 window.BOLD.subscriptions.enableAddToCartButtons = function () { 666 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 667 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 668 }; 669 670 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 671 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 672 var disable = !!d; 673 for (var i = 0; i < checkoutButtons.length; i++) { 674 var checkoutButton = checkoutButtons[i]; 675 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 676 677 checkoutButton.disabled = disable; 678 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 679 } 680 } 681 682 window.BOLD.subscriptions.disableCheckoutButtons = function() { 683 // only disable the checkout buttons if the app isn't loaded yet 684 if (!window.BOLD.subscriptions.app) { 685 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 686 } else { 687 window.BOLD.subscriptions.enableCheckoutButtons(); 688 } 689 } 690 691 window.BOLD.subscriptions.enableCheckoutButtons = function() { 692 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 693 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 694 } 695 696 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 697 if (typeof(Storage) !== "undefined") { 698 var successfulAddToCarts = JSON.parse( 699 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 700 ); 701 if (successfulAddToCarts.length > 0) { 702 return true; 703 } 704 } 705 706 return false;
707 } 708 709 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 710 if (typeof(Storage) !== "undefined") { 711 var pendingAddToCarts = JSON.parse( 712 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 713 ); 714 if (pendingAddToCarts.length > 0) { 715 return true; 716 } 717 } 718 719 return false; 720 } 721 722 window.BOLD.subscriptions.addJSAsset = function(src, deferred) { 723 var scriptTag = document.getElementById('bold-subscriptions-script'); 724 var jsElement = document.createElement('script'); 725 jsElement.type = 'text/javascript'; 726 jsElement.src = src; 727 if (deferred) { 728 jsElement.defer = true; 729 } 730 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 731 }; 732 733 window.BOLD.subscriptions.addCSSAsset = function(href) { 734 var scriptTag = document.getElementById('bold-subscriptions-script'); 735 var cssElement = document.createElement('link'); 736 cssElement.href = href; 737 cssElement.rel = 'stylesheet'; 738 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 739 }; 740 741 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 742 var assets = window.BOLD.subscriptions.config.assets; 743 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 744 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false); 745 }; 746 747 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 748 var assets = window.BOLD.subscriptions.config.assets; 749 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 750 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true); 751 }; 752 753 window.BOLD.subscriptions.processManifest = function() { 754 if (!window.BOLD.subscriptions.processedManifest) { 755 window.BOLD.subscriptions.processedManifest = true; 756 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 757 758 window.BOLD.subscriptions.loadCustomerPortalAssets(); 759 } 760 }; 761 762 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 763 var customerPortalNode = document.getElementById('customer-portal-root'); 764 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 765 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 766 } 767 } 768 769 window.BOLD.subscriptions.contentLoaded = function() { 770 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 771 window.BOLD.subscriptions.addInitialLoadingMessage(); 772 }; 773 774 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 775 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 776 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 777 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 778 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 779 { 780 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 781 // This code prevents products in subscription groups from being added to the cart before the 782 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 783 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 784 e.preventDefault(); 785 return false;
786 } 787 } else { 788 if (subscriptionGroup) { 789 // This code prevents products in subscription groups from being added to the cart before the 790 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 791 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 792 e.preventDefault(); 793 return false; 794 } 795 } 796 797 } 798 }; 799 800 window.BOLD.subscriptions.preventCheckout = function(e) { 801 if ( 802 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 803 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 804 ) { 805 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 806 // When the Subscriptions app is ready it will enable the checkout buttons itself. 807 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 808 e.preventDefault(); 809 return false; 810 } 811 } 812 813 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 814 815 if (!Element.prototype.matches) { 816 Element.prototype.matches = 817 Element.prototype.matchesSelector || 818 Element.prototype.mozMatchesSelector || 819 Element.prototype.msMatchesSelector || 820 Element.prototype.oMatchesSelector || 821 Element.prototype.webkitMatchesSelector || 822 function(s) { 823 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 824 i = matches.length; 825 while (--i >= 0 && matches.item(i) !== this) {} 826 return i > -1; 827 }; 828 } 829 830 if (!Element.prototype.closest) { 831 Element.prototype.closest = function(s) { 832 var el = this; 833 834 do { 835 if (Element.prototype.matches.call(el, s)) return el; 836 el = el.parentElement || el.parentNode; 837 } while (el !== null && el.nodeType === 1); 838 return null; 839 }; 840 } 841 842 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 843 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 844 return; 845 } 846 847 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 848 849 for (var i = 0; i < selectors.length; i++) { 850 var elements = document.querySelectorAll(selectors[i]); 851 852 for (var j = 0; j < elements.length; j++) { 853 elements[j].style.display = isVisible ? 'block' : 'none'; 854 } 855 } 856 } 857 858 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 859 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 860 }; 861 862 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 863 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 864 }; 865 866 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 867 var mspUrl = 'https://sub.boldapps.net/shop/5452/customer_portal'; 868 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 869 870 if(!elements.length || !data.success) { 871 return; 872 } 873 874 for (var i = 0; i < elements.length; i++) { 875 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 876 } 877 }; 878 879 window.addEventListener('load', function () { 880 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 881 }); 882 883 // This will be called immediately 884 // Use this anonymous function to avoid polluting the global namespace 885 (function() { 886 var xhr = new XMLHttpRequest(); 887 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 888 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 889 xhr.send(); 890 })() 891 892 window.BOLD.subscriptions.patches.patchCashier = function() { 893 if (window.BOLD && window.BOLD.checkout) { 894 window.BOLD.checkout.disable(); 895 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 896 window.BOLD.checkout.enable(); 897 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 898 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 899 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 900 } 901 }; 902 903 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 904 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 905 906 if (!window.BOLD.subscriptions.app 907 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 908 ) { 909 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 910 return; 911 } else if (window.BOLD.subscriptions.app) { 912 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 913 window.BOLD.subscriptions.app.addCartParams(form, cart); 914 } 915 916 var noSubscriptions = false;
917 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 918 || !window.BOLD.subscriptions.app 919 ) { 920 noSubscriptions = true; 921 event.target.dataset.cashierConfirmedNoPlugins = true; 922 923 if (window.BOLD.subscriptions.setCashierFeatureToken) { 924 window.BOLD.subscriptions.setCashierFeatureToken(false); 925 } 926 } 927 928 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 929 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 930 ) { 931 // send them to the original checkout when in plugin only mode 932 // and either BSUB is there but there are no subscription products 933 // or BSUB isn't there at all 934 if (form.dataset.old_form_action) { 935 form.action = form.dataset.old_form_action; 936 } 937 event.target.click(); 938 } else { 939 // sends them to Cashier since BSUB got a chance to add it's stuff 940 // and plugin only mode is not enabled 941 form.submit(); 942 } 943 }; 944 } 945</script>
945 946
947<script id="bold-subscriptions-platform-script" type="text/javascript"> 948 window.BOLD.subscriptions.config.shopPlatformId = '51054739619'; 949 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 950 951 window.BOLD = window.BOLD || {}; 952 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 953 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 954 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 955 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 956 window.BOLD.subscriptions.data.platform.product = null; 957 window.BOLD.subscriptions.data.platform.products = []; 958 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 959 960 window.BOLD.subscriptions.addCachedProductData = function(products) { 961 // ignore [], null, and undefined 962 if (!products) { 963 return 964 } 965 966 if (!Array.isArray(products)) { 967 window.BOLD.subscriptions.logger.warn('products must be an array') 968 return 969 } 970 971 window.BOLD.subscriptions.data.platform.products.concat(products) 972 973 for (var i = 0; i < products.length; i++) { 974 var product = products[i]; 975 for (var j = 0; j < product.variants.length; j++) { 976 var variant = product.variants[j]; 977 window.BOLD.subscriptions.data.platform.variantProductMap[variant.id] = product; 978 } 979 } 980 } 981 982 983 984 985 986 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 987 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 988 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 989 ); 990 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 991 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 992 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 993 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 994 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 995 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 996 '[name="checkout"]', 997 '[href*="checkout"]:not([href*="tools/checkout"])', 998 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 999 ); 1000 1001 // Discount text markup template 1002 // NOTE: @ on double curly, so blade doesn't interpret, and `raw` liquid tags so liquid doesn't interpret. 1003 1004 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 1005 1006 1007 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 1008 var idInput = addToCartForm.querySelector('[name="id"]'); 1009 if (idInput === null) { 1010 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 1011 return null; 1012 } 1013 1014 var variantId = parseInt(idInput.value, 10); 1015 if (isNaN(variantId)) { 1016 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 1017 return null; 1018 } 1019 1020 var product = window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 1021 1022 if (product === undefined) { 1023 window.BOLD.subscriptions.logger.error('could not map variant id to cached product data â call window.BOLD.subscriptions.addCachedProductData(products) to add the product to the cache') 1024 return null; 1025 } 1026 1027 return product.id; 1028 }; 1029 1030 window.BOLD.subscriptions.getAddToCartForms = function() { 1031 var forms = []; 1032 var idInputs = document.querySelectorAll('[name="id"]'); 1033 1034 for (var i = 0; i < idInputs.length; i++) { 1035 var idInput = idInputs[i]; 1036 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 1037 if (form) { 1038 forms.push(form); 1039 } 1040 } 1041 1042 return forms; 1043 }; 1044 1045 window.BOLD.subscriptions.getJWT = function (callback) { 1046 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 1047 var shopPlatformId = '51054739619'; 1048 var appSlug = 'subscriptions'; 1049 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 1050 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 1051 1052 var xmlhttp = new XMLHttpRequest(); 1053 1054 xmlhttp.onreadystatechange = function() { 1055 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 1056 if (xmlhttp.status === 200) { 1057 var data = JSON.parse(xmlhttp.responseText); 1058 callback({ 1059 success: true, 1060 value: { 1061 jwt: data.bold_platform_jwt, 1062 customerId: window.BOLD.subscriptions.data.platform.customer.id, 1063 }, 1064 }); 1065 } else if (xmlhttp.status === 404) { 1066 callback({ 1067 success: false, 1068 error: 'not_logged_in', 1069 }); 1070 } else { 1071 callback({ 1072 success: false, 1073 error: 'unknown', 1074 }); 1075 } 1076 } 1077 }; 1078 1079 xmlhttp.open("GET", proxyPath, true); 1080 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 1081 xmlhttp.send(); 1082 } else { 1083 callback({ 1084 success: false, 1085 error: 'not_logged_in', 1086 }); 1087 } 1088 }; 1089 1090 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 1091 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) {
1092 window.BOLD.checkout_features_defaults.forEach(function(item) { 1093 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 1094 item.require = value; 1095 } 1096 }); 1097 } 1098 }; 1099 1100 // Cashier patches 1101 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 1102 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 1103 window.BOLD.subscriptions.patches.pushToCashier(event); 1104 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 1105 var request = new XMLHttpRequest(); 1106 request.open('HEAD', '/apps/checkout/isInstalled', false); 1107 request.send(null); 1108 1109 if(request.status >= 200 && request.status < 400) { 1110 window.BOLD.subscriptions.patches.pushToCashier(event); 1111 } else { 1112 window.cashier_installed_on_site = false; 1113 } 1114 } 1115 }; 1116 1117 window.BOLD.subscriptions.localTime = function() { 1118 var localDate = new Date(); 1119 return localDate.getTime(); 1120 }; 1121 1122 1123 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 1124 event.preventDefault(); 1125 var form = window.BOLD.checkout.getForm(event.target); 1126 var formData = new FormData(form); 1127 var request = new XMLHttpRequest(); 1128 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 1129 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 1130 1131 request.onload = function() { 1132 if (request.status >= 200 && request.status < 400) { 1133 // Success! 1134 var cart = JSON.parse(request.responseText); 1135 1136 // If items are empty redirect back to the cart 1137 if (cart.items.length === 0) { 1138 return window.location.href = '/cart'; 1139 } 1140 1141 cart.items.forEach(function(element) { 1142 delete element.product_description; 1143 }); 1144 1145 if (document.getElementById('CartSpecialInstructions')) { 1146 // If the cart note exists, grab its value 1147 cart.note = document.getElementById('CartSpecialInstructions').value; 1148 } 1149 1150 var cartObj = JSON.stringify(cart); 1151 1152 var form = window.BOLD.checkout.getForm(event.target); 1153 form.dataset.old_form_action = form.action; 1154 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 1155 var cartCookie = window.BOLD.checkout.getCookie('cart'); 1156 var element = document.createElement('INPUT'); 1157 element.type = 'HIDDEN'; 1158 element.name = 'cart_id'; 1159 element.value = cartCookie; 1160 form.appendChild(element); 1161 1162 var dateElement = document.createElement('INPUT'); 1163 dateElement.type = 'HIDDEN'; 1164 dateElement.name = 'checkout_local_time'; 1165 dateElement.value = window.BOLD.subscriptions.localTime(); 1166 form.appendChild(dateElement); 1167 1168 var cartElement = document.createElement('INPUT'); 1169 cartElement.type = 'HIDDEN'; 1170 cartElement.name = 'cart'; 1171 cartElement.value = cartObj; 1172 form.appendChild(cartElement); 1173 form.method = 'POST'; 1174 1175 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 1176 var langInput = document.createElement('INPUT'); 1177 langInput.type = 'HIDDEN'; 1178 langInput.name = 'language_iso'; 1179 langInput.value = window.BOLD.checkout.languageIsoCode; 1180 form.appendChild(langInput); 1181 } 1182 1183 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 1184 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 1185 } 1186 1187 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 1188 } 1189 }; 1190 1191 request.send(formData); 1192 }; 1193 1194 </script>
1194 1195 1196<!-- BEGIN app block: shopify://apps/bold-subscriptions/blocks/bsub-embed/9ceb49f0-5fe5-4b5e-943d-f8af8985167d -->
1197<script id="bold-subscriptions-app-embed-script" type="text/javascript" defer> 1198 1199 1200 if (window.location.href.includes('pages/manage-subscriptions')) { 1201 const queryParams = new URLSearchParams(window.location.search); 1202 if(queryParams.has('deep_link') && queryParams.get('deep_link') === 'upsell' && 1203 queryParams.has('type') && queryParams.get('type') === 'upcoming-order-email' 1204 ) { 1205 window.location.href=`/account/login?${queryParams.toString()}&from_msp=true`; 1206 } 1207 } else if (window.location.href.includes('/account/login')) { 1208 document.addEventListener('DOMContentLoaded', function() { 1209 const queryParams = new URLSearchParams(window.location.search); 1210 if(queryParams.has('from_msp')) { 1211 queryParams.delete('from_msp'); 1212 1213 let form = document.querySelector("#customer_login"); 1214 1215 if(form) { 1216 let input = document.createElement('input'); 1217 input.type = 'hidden'; 1218 input.name = 'return_to'; 1219 input.value = `https://kitasandocoffee.com/pages/manage-subscriptions?${queryParams.toString()}`; 1220 1221 form.appendChild(input); 1222 } 1223 } 1224 }); 1225 } 1226 1227 1228 1229 window.BOLD = window.BOLD || {}; 1230 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 1231 window.BOLD.subscriptions.config = window.BOLD.subscriptions.config || {}; 1232 window.BOLD.subscriptions.config.isAppEmbedEnabled = true; 1233 window.BOLD.subscriptions.classes = window.BOLD.subscriptions.classes || {}; 1234 window.BOLD.subscriptions.patches = window.BOLD.subscriptions.patches || {}; 1235 window.BOLD.subscriptions.patches.maxCheckoutRetries = window.BOLD.subscriptions.patches.maxCheckoutRetries || 200; 1236 window.BOLD.subscriptions.patches.currentCheckoutRetries = window.BOLD.subscriptions.patches.currentCheckoutRetries || 0; 1237 window.BOLD.subscriptions.patches.maxCashierPatchAttempts = window.BOLD.subscriptions.patches.maxCashierPatchAttempts || 200; 1238 window.BOLD.subscriptions.patches.currentCashierPatchAttempts = window.BOLD.subscriptions.patches.currentCashierPatchAttempts || 0; 1239 window.BOLD.subscriptions.config.platform = 'shopify'; 1240 window.BOLD.subscriptions.config.shopDomain = 'kankaku.myshopify.com'; 1241 window.BOLD.subscriptions.config.customDomain = 'kitasandocoffee.com'; 1242 window.BOLD.subscriptions.config.shopIdentifier = '51054739619'; 1243 window.BOLD.subscriptions.config.cashierUrl = 'https://cashier.boldcommerce.com'; 1244 window.BOLD.subscriptions.config.boldAPIBase = 'https://app-api.boldapps.net/'; 1245 window.BOLD.subscriptions.config.cashierApplicationUUID = '2e6a2bbc-b12b-4255-abdf-a02af85c0d4e'; 1246 window.BOLD.subscriptions.config.appUrl = 'https://sub.boldapps.net'; 1247 window.BOLD.subscriptions.config.currencyCode = 'JPY'; 1248 window.BOLD.subscriptions.config.checkoutType = 'shopify'; 1249 window.BOLD.subscriptions.config.currencyFormat = "Â¥\u0026#123;\u0026#123;amount_no_decimals}}"; 1250 window.BOLD.subscriptions.config.shopCurrencies = [{"id":1429,"currency":"JPY","currency_format":"\u0026#165;\u0026#123;\u0026#123;amount_no_decimals}}","created_at":"2021-02-10 14:15:38","updated_at":"2021-02-10 14:15:38"}]; 1251 window.BOLD.subscriptions.config.shopSettings = {"allow_msp_cancellation":true,"allow_msp_prepaid_renewal":true,"customer_can_pause_subscription":true,"customer_can_change_next_order_date":true,"customer_can_change_order_frequency":true,"customer_can_create_an_additional_order":true,"customer_can_use_passwordless_login":false,"customer_passwordless_login_redirect":false,"customer_can_add_products_to_existing_subscriptions":false,"customer_can_reactivate_subscription":true,"customer_can_reactivate_subscription_with_deleted_products":false,"show_currency_code":true,"stored_payment_method_policy":"required","customer_portal_path":"pages\/manage-subscriptions","display_only_subscription_products":false}; 1252 window.BOLD.subscriptions.config.customerLoginPath = null; 1253 window.BOLD.subscriptions.config.isPrepaidEnabled = window.BOLD.subscriptions.config.isPrepaidEnabled || true; 1254 window.BOLD.subscriptions.config.loadSubscriptionGroupFrom = 'default'; 1255 window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes = "default"; 1256 window.BOLD.subscriptions.config.cashierPluginOnlyMode = window.BOLD.subscriptions.config.cashierPluginOnlyMode || false; 1257 if (window.BOLD.subscriptions.config.waitForCheckoutLoader === undefined) { 1258 window.BOLD.subscriptions.config.waitForCheckoutLoader = true; 1259 } 1260 1261 window.BOLD.subscriptions.config.addToCartFormSelectors = window.BOLD.subscriptions.config.addToCartFormSelectors || []; 1262 window.BOLD.subscriptions.config.addToCartButtonSelectors = window.BOLD.subscriptions.config.addToCartButtonSelectors || []; 1263 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors = window.BOLD.subscriptions.config.widgetInsertBeforeSelectors || []; 1264 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors = window.BOLD.subscriptions.config.quickAddToCartButtonSelectors || []; 1265 window.BOLD.subscriptions.config.cartElementSelectors = window.BOLD.subscriptions.config.cartElementSelectors || []; 1266 window.BOLD.subscriptions.config.cartTotalElementSelectors = window.BOLD.subscriptions.config.cartTotalElementSelectors || []; 1267 window.BOLD.subscriptions.config.lineItemSelectors = window.BOLD.subscriptions.config.lineItemSelectors || []; 1268 window.BOLD.subscriptions.config.lineItemNameSelectors = window.BOLD.subscriptions.config.lineItemNameSelectors || []; 1269 window.BOLD.subscriptions.config.checkoutButtonSelectors = window.BOLD.subscriptions.config.checkoutButtonSelectors || []; 1270 1271 window.BOLD.subscriptions.config.featureFlags = window.BOLD.subscriptions.config.featureFlagOverrides || ["BE-2298-Support-Variant-Selections-In-Sub-Groups","BE-6925-remove-bold-error-code-from-error-message","BE-8664-default-address-source-bold","BE-9502-add-logs-to-investigate-infinite-loop","BE-6695-improve-subs-onboarding","BE-10096-list-deleted-variants","BE-10183-customer-portal-paginates-products","BE-10178-suppress-dup-inventory-failure-emails","BE-9073-reactivate-subscription-setting"]; 1272 window.BOLD.subscriptions.config.subscriptionProcessingFrequency = '60'; 1273 window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage = true; 1274 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 1275 1276 // Interval text markup template 1277 window.BOLD.subscriptions.config.lineItemPropertyListSelectors = window.BOLD.subscriptions.config.lineItemPropertyListSelectors || []; 1278 window.BOLD.subscriptions.config.lineItemPropertyListSelectors.push('dl.definitionList'); 1279 window.BOLD.subscriptions.config.lineItemPropertyListTemplate = window.BOLD.subscriptions.config.lineItemPropertyListTemplate || '<dl class="definitionList"></dl>'; 1280 window.BOLD.subscriptions.config.lineItemPropertyTemplate = window.BOLD.subscriptions.config.lineItemPropertyTemplate || '<dt class="definitionList-key">{{key}}:</dt><dd class="definitionList-value">{{value}}</dd>'; 1281 1282 // Discount text markup template 1283 window.BOLD.subscriptions.config.discountItemTemplate = window.BOLD.subscriptions.config.discountItemTemplate || '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 1284 1285 1286 // Constants in XMLHttpRequest are not reliable, so we will create our own 1287 // reference: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState 1288 window.BOLD.subscriptions.config.XMLHttpRequest = { 1289 UNSENT:0, // Client has been created. open() not called yet. 1290 OPENED: 1, // open() has been called. 1291 HEADERS_RECEIVED: 2, // send() has been called, and headers and status are available. 1292 LOADING: 3, // Downloading; responseText holds partial data. 1293 DONE: 4 // The operation is complete. 1294 }; 1295 1296 window.BOLD.subscriptions.config.assetBaseUrl = 'https://sub.boldapps.net'; 1297 if (window.localStorage && window.localStorage.getItem('boldSubscriptionsAssetBaseUrl')) { 1298 window.BOLD.subscriptions.config.assetBaseUrl = window.localStorage.getItem('boldSubscriptionsAssetBaseUrl') 1299 } 1300 1301 window.BOLD.subscriptions.data.subscriptionGroups = []; 1302 if (localStorage && localStorage.getItem('boldSubscriptionsSubscriptionGroups')) { 1303 window.BOLD.subscriptions.data.subscriptionGroups = JSON.parse(localStorage.getItem('boldSubscriptionsSubscriptionGroups')); 1304 } else { 1305 window.BOLD.subscriptions.data.subscriptionGroups = [{"id":9616,"billing_rules":[{"id":19404,"subscription_group_id":9616,"interval_name":"æ¯æ","billing_rule":"FREQ=MONTHLY","custom_billing_rule":""},{"id":31872,"subscription_group_id":9616,"interval_name":"éé±","billing_rule":"FREQ=WEEKLY","custom_billing_rule":""}],"is_subscription_only":false,"allow_prepaid":false,"allow_dynamic_discount":false,"is_prepaid_only":false,"should_continue_prepaid":true,"continue_prepaid_type":"as_prepaid","prepaid_durations":[{"id":9550,"subscription_group_id":9616,"total_duration":1,"discount_type":"percentage","discount_value":0}],"dynamic_discounts":[],"selection_options":[{"platform_entity_id":null}],"discount_type":"no_discount","percent_discount":0,"fixed_discount":0,"can_add_to_cart":true}]; 1306 } 1307 1308 window.BOLD.subscriptions.isFeatureFlagEnabled = function (featureFlag) { 1309 for (var i = 0; i < window.BOLD.subscriptions.config.featureFlags.length; i++) { 1310 if (window.BOLD.subscriptions.config.featureFlags[i] === featureFlag){ 1311 return true; 1312 } 1313 } 1314 return false;
1315 } 1316 1317 window.BOLD.subscriptions.logger = { 1318 tag: "bold_subscriptions", 1319 // the bold subscriptions log level 1320 // 0 - errors (default) 1321 // 1 - warnings + errors 1322 // 2 - info + warnings + errors 1323 // use window.localStorage.setItem('boldSubscriptionsLogLevel', x) to set the log level 1324 levels: { 1325 ERROR: 0, 1326 WARN: 1, 1327 INFO: 2, 1328 }, 1329 level: parseInt((window.localStorage && window.localStorage.getItem('boldSubscriptionsLogLevel')) || "0", 10), 1330 _log: function(callArgs, level) { 1331 if (!window.console) { 1332 return null; 1333 } 1334 1335 if (window.BOLD.subscriptions.logger.level < level) { 1336 return; 1337 } 1338 1339 var params = Array.prototype.slice.call(callArgs); 1340 params.unshift(window.BOLD.subscriptions.logger.tag); 1341 1342 switch (level) { 1343 case window.BOLD.subscriptions.logger.levels.INFO: 1344 console.info.apply(null, params); 1345 return; 1346 case window.BOLD.subscriptions.logger.levels.WARN: 1347 console.warn.apply(null, params); 1348 return; 1349 case window.BOLD.subscriptions.logger.levels.ERROR: 1350 console.error.apply(null, params); 1351 return; 1352 default: 1353 console.log.apply(null, params); 1354 return; 1355 } 1356 }, 1357 info: function() { 1358 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.INFO); 1359 }, 1360 warn: function() { 1361 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.WARN); 1362 }, 1363 error: function() { 1364 window.BOLD.subscriptions.logger._log(arguments, window.BOLD.subscriptions.logger.levels.ERROR); 1365 } 1366 } 1367 1368 window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI = function() { 1369 return window.BOLD.subscriptions.config.loadSubscriptionGroupFrom === window.BOLD.subscriptions.config.loadSubscriptionGroupFromTypes['BSUB_API']; 1370 } 1371 1372 window.BOLD.subscriptions.getSubscriptionGroupFromProductId = function (productId) { 1373 var data = window.BOLD.subscriptions.data; 1374 var foundGroup = null; 1375 for (var i = 0; i < data.subscriptionGroups.length; i += 1) { 1376 var subscriptionGroup = data.subscriptionGroups[i]; 1377 for (var j = 0; j < subscriptionGroup.selection_options.length; j += 1) { 1378 var selectionOption = subscriptionGroup.selection_options[j]; 1379 if (selectionOption.platform_entity_id === productId.toString()) { 1380 foundGroup = subscriptionGroup; 1381 break; 1382 } 1383 } 1384 if (foundGroup) { 1385 break; 1386 } 1387 } 1388 return foundGroup; 1389 }; 1390 1391 window.BOLD.subscriptions.getSubscriptionGroupById = function(subGroupId) { 1392 var subscriptionGroups = window.BOLD.subscriptions.data.subscriptionGroups; 1393 1394 for (var i = 0; i < subscriptionGroups.length; i += 1) { 1395 var subGroup = subscriptionGroups[i]; 1396 if (subGroup.id === subGroupId) { 1397 return subGroup; 1398 } 1399 } 1400 1401 return null; 1402 }; 1403 1404 window.BOLD.subscriptions.addSubscriptionGroup = function (subscriptionGroup) { 1405 if(!window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroup.id)) 1406 { 1407 window.BOLD.subscriptions.data.subscriptionGroups.push(subscriptionGroup); 1408 } 1409 } 1410 1411 window.BOLD.subscriptions.getSubscriptionGroupPrepaidDurationById = function(subscriptionGroupId, prepaidDurationId) { 1412 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupById(subscriptionGroupId); 1413 1414 if ( 1415 !subscriptionGroup 1416 || !subscriptionGroup.prepaid_durations 1417 || !subscriptionGroup.prepaid_durations.length 1418 ) { 1419 return null; 1420 } 1421 1422 for (var i = 0; i < subscriptionGroup.prepaid_durations.length; i++) { 1423 var prepaidDuration = subscriptionGroup.prepaid_durations[i]; 1424 if (prepaidDuration.id === prepaidDurationId) { 1425 return prepaidDuration; 1426 } 1427 } 1428 1429 return null; 1430 } 1431 1432 window.BOLD.subscriptions.getSubscriptionGroupBillingRuleById = function(subGroup, billingRuleId) { 1433 for (var i = 0; i < subGroup.billing_rules.length; i += 1) { 1434 var billingRule = subGroup.billing_rules[i]; 1435 if (billingRule.id === billingRuleId) { 1436 return billingRule; 1437 } 1438 } 1439 1440 return null; 1441 }; 1442 1443 window.BOLD.subscriptions.toggleDisabledAddToCartButtons = function(d) { 1444 var addToCartForms = document.querySelectorAll(window.BOLD.subscriptions.config.addToCartFormSelectors.join(',')); 1445 var disable = !!d; 1446 for (var i = 0; i < addToCartForms.length; i++) { 1447 var addToCartForm = addToCartForms[i]; 1448 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(
1448addToCartForm); 1449 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 1450 1451 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection') ) { 1452 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 1453 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 1454 for (var j = 0; j < addToCartButtons.length; j++) { 1455 var addToCartButton = addToCartButtons[j]; 1456 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 1457 1458 addToCartButton.disabled = disable; 1459 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 1460 } 1461 } 1462 } else { 1463 if (subscriptionGroup) { 1464 var addToCartButtons = addToCartForm.querySelectorAll(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')); 1465 for (var j = 0; j < addToCartButtons.length; j++) { 1466 var addToCartButton = addToCartButtons[j]; 1467 var toggleAction = disable ? addToCartButton.setAttribute : addToCartButton.removeAttribute; 1468 1469 addToCartButton.disabled = disable; 1470 toggleAction.call(addToCartButton, 'data-disabled-by-subscriptions', disable); 1471 } 1472 } 1473 } 1474 1475 } 1476 }; 1477 1478 window.BOLD.subscriptions.disableAddToCartButtons = function () { 1479 // only disable the add to cart buttons if the app isn't loaded yet 1480 if (!window.BOLD.subscriptions.app) { 1481 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(true); 1482 } else { 1483 window.BOLD.subscriptions.enableAddToCartButtons(); 1484 } 1485 }; 1486 1487 window.BOLD.subscriptions.enableAddToCartButtons = function () { 1488 document.removeEventListener('click', window.BOLD.subscriptions.preventSubscriptionAddToCart); 1489 window.BOLD.subscriptions.toggleDisabledAddToCartButtons(false); 1490 }; 1491 1492 window.BOLD.subscriptions.toggleDisabledCheckoutButtons = function(d) { 1493 var checkoutButtons = document.querySelectorAll(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')); 1494 var disable = !!d; 1495 for (var i = 0; i < checkoutButtons.length; i++) { 1496 var checkoutButton = checkoutButtons[i]; 1497 var toggleAction = disable ? checkoutButton.setAttribute : checkoutButton.removeAttribute; 1498 1499 checkoutButton.disabled = disable; 1500 toggleAction.call(checkoutButton, 'data-disabled-by-subscriptions', disable); 1501 } 1502 } 1503 1504 window.BOLD.subscriptions.disableCheckoutButtons = function() { 1505 // only disable the checkout buttons if the app isn't loaded yet 1506 if (!window.BOLD.subscriptions.app) { 1507 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(true); 1508 } else { 1509 window.BOLD.subscriptions.enableCheckoutButtons(); 1510 } 1511 } 1512 1513 window.BOLD.subscriptions.enableCheckoutButtons = function() { 1514 document.removeEventListener('click', window.BOLD.subscriptions.preventCheckout); 1515 window.BOLD.subscriptions.toggleDisabledCheckoutButtons(false); 1516 } 1517 1518 window.BOLD.subscriptions.hasSuccessfulAddToCarts = function() { 1519 if (typeof(Storage) !== "undefined") { 1520 var successfulAddToCarts = JSON.parse( 1521 window.localStorage.getItem('boldSubscriptionsSuccessfulAddToCarts') || '[]' 1522 ); 1523 if (successfulAddToCarts.length > 0) { 1524 return true; 1525 } 1526 } 1527 1528 return false; 1529 } 1530 1531 window.BOLD.subscriptions.hasPendingAddToCarts = function() { 1532 if (typeof(Storage) !== "undefined") { 1533 var pendingAddToCarts = JSON.parse( 1534 window.localStorage.getItem('boldSubscriptionsPendingAddToCarts') || '[]' 1535 ); 1536 if (pendingAddToCarts.length > 0) { 1537 return true; 1538 } 1539 } 1540 1541 return false;
1542 } 1543 1544 window.BOLD.subscriptions.addJSAsset = function(src, deferred) { 1545 var scriptTag = document.getElementById('bold-subscriptions-app-embed-script'); 1546 var jsElement = document.createElement('script'); 1547 jsElement.type = 'text/javascript'; 1548 jsElement.src = src; 1549 if (deferred) { 1550 jsElement.defer = true; 1551 } 1552 scriptTag.parentNode.insertBefore(jsElement, scriptTag); 1553 }; 1554 1555 window.BOLD.subscriptions.addCSSAsset = function(href) { 1556 var scriptTag = document.getElementById('bold-subscriptions-app-embed-script'); 1557 var cssElement = document.createElement('link'); 1558 cssElement.href = href; 1559 cssElement.rel = 'stylesheet'; 1560 scriptTag.parentNode.insertBefore(cssElement, scriptTag); 1561 }; 1562 1563 window.BOLD.subscriptions.loadStorefrontAssets = function loadStorefrontAssets() { 1564 var assets = window.BOLD.subscriptions.config.assets; 1565 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.css']); 1566 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['storefront.js'], false); 1567 }; 1568 1569 window.BOLD.subscriptions.loadCustomerPortalAssets = function loadCustomerPortalAssets() { 1570 if (document.getElementById('customer-portal-root') || document.getElementsByClassName('bsub-express-add-ons-widget')) { 1571 var assets = window.BOLD.subscriptions.config.assets; 1572 window.BOLD.subscriptions.addCSSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.css']); 1573 window.BOLD.subscriptions.addJSAsset(window.BOLD.subscriptions.config.assetBaseUrl + '/static/' + assets['customer_portal.js'], true); 1574 } 1575 }; 1576 1577 window.BOLD.subscriptions.processManifest = function() { 1578 if (!window.BOLD.subscriptions.processedManifest) { 1579 window.BOLD.subscriptions.processedManifest = true; 1580 window.BOLD.subscriptions.config.assets = JSON.parse(this.responseText); 1581 1582 1583 window.BOLD.subscriptions.loadCustomerPortalAssets(); 1584 } 1585 }; 1586 1587 window.BOLD.subscriptions.addInitialLoadingMessage = function() { 1588 var customerPortalNode = document.getElementById('customer-portal-root'); 1589 if (customerPortalNode && window.BOLD.subscriptions.config.requireMSPInitialLoadingMessage) { 1590 customerPortalNode.innerHTML = '<div class="bold-subscriptions-loader-container"><div class="bold-subscriptions-loader"></div></div>'; 1591 } 1592 } 1593 1594 window.BOLD.subscriptions.contentLoaded = function() { 1595 window.BOLD.subscriptions.data.contentLoadedEventTriggered = true; 1596 window.BOLD.subscriptions.addInitialLoadingMessage(); 1597 1598 }; 1599 1600 window.BOLD.subscriptions.preventSubscriptionAddToCart = function(e) { 1601 if (e.target.matches(window.BOLD.subscriptions.config.addToCartButtonSelectors.join(',')) && e.target.form) { 1602 var productId = window.BOLD.subscriptions.getProductIdFromAddToCartForm(e.target.form); 1603 var subscriptionGroup = window.BOLD.subscriptions.getSubscriptionGroupFromProductId(productId); 1604 if(window.BOLD.subscriptions.isFeatureFlagEnabled('BS2-4659_improve_large_group_selection')) 1605 { 1606 if (subscriptionGroup || window.BOLD.subscriptions.shouldLoadSubscriptionGroupFromAPI()) { 1607 // This code prevents products in subscription groups from being added to the cart before the 1608 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 1609 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 1610 e.preventDefault(); 1611 return false; 1612 } 1613 } else { 1614 if (subscriptionGroup) { 1615 // This code prevents products in subscription groups from being added to the cart before the 1616 // Subscriptions app fully loads. Once the subscriptions app loads it will re-enable the 1617 // buttons. Use window.BOLD.subscriptions.enableAddToCartButtons enable them manually. 1618 e.preventDefault(); 1619 return false;
1620 } 1621 } 1622 1623 } 1624 }; 1625 1626 window.BOLD.subscriptions.preventCheckout = function(e) { 1627 if ( 1628 e.target.matches(window.BOLD.subscriptions.config.checkoutButtonSelectors.join(',')) 1629 && (window.BOLD.subscriptions.hasSuccessfulAddToCarts() || window.BOLD.subscriptions.hasPendingAddToCarts()) 1630 ) { 1631 // This code prevents checkouts on the shop until the Subscriptions app fully loads. 1632 // When the Subscriptions app is ready it will enable the checkout buttons itself. 1633 // Use window.BOLD.subscriptions.enableCheckoutButtons to enable them manually. 1634 e.preventDefault(); 1635 return false; 1636 } 1637 } 1638 1639 if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) { 1640 1641 document.addEventListener('DOMContentLoaded', window.BOLD.subscriptions.contentLoaded); 1642 } 1643 1644 if (!Element.prototype.matches) { 1645 Element.prototype.matches = 1646 Element.prototype.matchesSelector || 1647 Element.prototype.mozMatchesSelector || 1648 Element.prototype.msMatchesSelector || 1649 Element.prototype.oMatchesSelector || 1650 Element.prototype.webkitMatchesSelector || 1651 function(s) { 1652 var matches = (this.document || this.ownerDocument).querySelectorAll(s), 1653 i = matches.length; 1654 while (--i >= 0 && matches.item(i) !== this) {} 1655 return i > -1; 1656 }; 1657 } 1658 1659 if (!Element.prototype.closest) { 1660 Element.prototype.closest = function(s) { 1661 var el = this; 1662 1663 do { 1664 if (Element.prototype.matches.call(el, s)) return el; 1665 el = el.parentElement || el.parentNode; 1666 } while (el !== null && el.nodeType === 1); 1667 return null; 1668 }; 1669 } 1670 1671 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons = function (isVisible) { 1672 if (window.BOLD.subscriptions.config.additionalCheckoutSelectors === undefined) { 1673 return; 1674 } 1675 1676 var selectors = window.BOLD.subscriptions.config.additionalCheckoutSelectors; 1677 1678 for (var i = 0; i < selectors.length; i++) { 1679 var elements = document.querySelectorAll(selectors[i]); 1680 1681 for (var j = 0; j < elements.length; j++) { 1682 elements[j].style.display = isVisible ? 'block' : 'none'; 1683 } 1684 } 1685 } 1686 1687 window.BOLD.subscriptions.hideAdditionalCheckoutButtons = function() { 1688 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(false); 1689 }; 1690 1691 window.BOLD.subscriptions.showAdditionalCheckoutButtons = function() { 1692 window.BOLD.subscriptions.setVisibilityOfAdditionalCheckoutButtons(true); 1693 }; 1694 1695 window.BOLD.subscriptions.enhanceMspUrls = function(data) { 1696 var mspUrl = 'https://sub.boldapps.net/shop/5452/customer_portal'; 1697 var elements = document.querySelectorAll("a[href='"+mspUrl+"']"); 1698 1699 if(!elements.length || !data.success) { 1700 return; 1701 } 1702 1703 for (var i = 0; i < elements.length; i++) { 1704 elements[i].href = elements[i].href + "?jwt="+data.value.jwt+"&customerId="+data.value.customerId; 1705 } 1706 }; 1707 1708 if (!window.BOLD.subscriptions.config.legacyAssetsLoaded) { 1709 window.addEventListener('load', function () { 1710 if (document.getElementById('customer-portal-root')) { 1711 window.BOLD.subscriptions.getJWT(window.BOLD.subscriptions.enhanceMspUrls); 1712 } 1713 }); 1714 1715 // This will be called immediately 1716 // Use this anonymous function to avoid polluting the global namespace 1717 (function() { 1718 var xhr = new XMLHttpRequest(); 1719 xhr.addEventListener('load', window.BOLD.subscriptions.processManifest); 1720 xhr.open('GET', window.BOLD.subscriptions.config.assetBaseUrl + '/static/manifest.json?t=' + (new Date()).getTime()); 1721 xhr.send(); 1722 })() 1723 } 1724 1725 window.BOLD.subscriptions.patches.patchCashier = function() { 1726 if (window.BOLD && window.BOLD.checkout) { 1727 window.BOLD.checkout.disable(); 1728 window.BOLD.checkout.listenerFn = window.BOLD.subscriptions.patches.cashierListenerFn; 1729 window.BOLD.checkout.enable(); 1730 } else if (window.BOLD.subscriptions.patches.currentCashierPatchAttempts < window.BOLD.subscriptions.patches.maxCashierPatchAttempts) { 1731 window.BOLD.subscriptions.patches.currentCashierPatchAttempts++; 1732 setTimeout(window.BOLD.subscriptions.patches.patchCashier, 100); 1733 } 1734 }; 1735 1736 window.BOLD.subscriptions.patches.finishCheckout = function(event, form, cart) { 1737 window.BOLD.subscriptions.patches.currentCheckoutRetries++; 1738 1739 if (!window.BOLD.subscriptions.app 1740 && window.BOLD.subscriptions.patches.currentCheckoutRetries < window.BOLD.subscriptions.patches.maxCheckoutRetries 1741 ) { 1742 setTimeout(function () { window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); }, 100); 1743 return; 1744 } else if (window.BOLD.subscriptions.app) { 1745 window.BOLD.subscriptions.patches.currentCheckoutRetries = 0; 1746 window.BOLD.subscriptions.app.addCartParams(form, cart); 1747 } 1748 1749 var noSubscriptions = false;
1750 if ((window.BOLD.subscriptions.app && window.BOLD.subscriptions.app.successfulAddToCarts.length === 0) 1751 || !window.BOLD.subscriptions.app 1752 ) { 1753 noSubscriptions = true; 1754 event.target.dataset.cashierConfirmedNoPlugins = true; 1755 1756 if (window.BOLD.subscriptions.setCashierFeatureToken) { 1757 window.BOLD.subscriptions.setCashierFeatureToken(false); 1758 } 1759 } 1760 1761 if ((noSubscriptions && window.BOLD.subscriptions.config.cashierPluginOnlyMode) 1762 || (typeof BOLD.checkout.isFeatureRequired === 'function' && !BOLD.checkout.isFeatureRequired()) 1763 ) { 1764 // send them to the original checkout when in plugin only mode 1765 // and either BSUB is there but there are no subscription products 1766 // or BSUB isn't there at all 1767 if (form.dataset.old_form_action) { 1768 form.action = form.dataset.old_form_action; 1769 } 1770 event.target.click(); 1771 } else { 1772 // sends them to Cashier since BSUB got a chance to add it's stuff 1773 // and plugin only mode is not enabled 1774 form.submit(); 1775 } 1776 }; 1777</script>
vendor: 1 bytes, line 1777
1777
1778<script id="bold-subscriptions-app-embed-platform-script" type="text/javascript" defer> 1779 window.BOLD.subscriptions.config.shopPlatformId = '51054739619'; 1780 window.BOLD.subscriptions.config.appSlug = 'subscriptions'; 1781 1782 window.BOLD = window.BOLD || {}; 1783 window.BOLD.subscriptions = window.BOLD.subscriptions || {}; 1784 window.BOLD.subscriptions.data = window.BOLD.subscriptions.data || {}; 1785 window.BOLD.subscriptions.data.platform = window.BOLD.subscriptions.data.platform || {}; 1786 window.BOLD.subscriptions.data.platform.customer = { id: '' }; 1787 window.BOLD.subscriptions.data.platform.product = null; 1788 window.BOLD.subscriptions.data.platform.products = []; 1789 window.BOLD.subscriptions.data.platform.variantProductMap = {}; 1790 1791 window.BOLD.subscriptions.getProductByVariantId = function(variantId) { 1792 if (window.BOLD.subscriptions.data.platform.product && 1793 window.BOLD.subscriptions.data.platform.product.variants) { 1794 for (var i = 0; i < window.BOLD.subscriptions.data.platform.product.variants.length; i++) { 1795 if (window.BOLD.subscriptions.data.platform.product.variants[i].id === variantId) { 1796 return window.BOLD.subscriptions.data.platform.product; 1797 } 1798 } 1799 } 1800 1801 if (window.BOLD.subscriptions.data.platform.variantProductMap[variantId]) { 1802 return window.BOLD.subscriptions.data.platform.variantProductMap[variantId]; 1803 } 1804 1805 var productElements = document.querySelectorAll('[data-product-id]'); 1806 for (var i = 0; i < productElements.length; i++) { 1807 var productJsonElement = productElements[i].querySelector('[data-product-json]'); 1808 1809 if (productJsonElement) { 1810 try { 1811 var productData = JSON.parse(productJsonElement.textContent); 1812 if (productData && productData.variants) { 1813 for (var j = 0; j < productData.variants.length; j++) { 1814 if (productData.variants[j].id === variantId) { 1815 return productData; 1816 } 1817 } 1818 } 1819 } catch (e) { 1820 // Continue if parsing fails 1821 } 1822 } 1823 } 1824 1825 return null; 1826 } 1827 1828 window.BOLD.subscriptions.config.addToCartFormSelectors.push( 1829 '.product-form.product-form-product-template:not(.bold-subscriptions-no-widget)' 1830 ,'.product-form.product-form--payment-button:not(.bold-subscriptions-no-widget)' 1831 ); 1832 window.BOLD.subscriptions.config.addToCartButtonSelectors.push('[type="submit"]'); 1833 window.BOLD.subscriptions.config.quickAddToCartButtonSelectors.push('a[data-event-type="product-click"]'); 1834 window.BOLD.subscriptions.config.widgetInsertBeforeSelectors.push('[type="submit"]'); 1835 window.BOLD.subscriptions.config.cartElementSelectors.push('form[action="/cart"]'); 1836 window.BOLD.subscriptions.config.cartTotalElementSelectors.push('[data-cart-subtotal]', '.text-right .ajaxcart__subtotal'); 1837 window.BOLD.subscriptions.config.checkoutButtonSelectors.push( 1838 '[name="checkout"]', 1839 '[href*="checkout"]:not([href*="tools/checkout"])', 1840 '[onclick*="checkout"]:not([onclick*="tools/checkout"])', 1841 ); 1842 1843 // Discount text markup template 1844 1845 window.BOLD.subscriptions.config.discountItemTemplate = '<div class="bold-subscriptions-discount"><div class="bold-subscriptions-discount__details">{{details}}</div><div class="bold-subscriptions-discount__total">{{total}}</div></div>'; 1846 1847 1848 window.BOLD.subscriptions.getProductIdFromAddToCartForm = function(addToCartForm) { 1849 var idInput = addToCartForm.querySelector('[name="id"]'); 1850 if (idInput === null) { 1851 window.BOLD.subscriptions.logger.error('could not get variant id input from add to cart form â make sure your form has an input with [name="id"]') 1852 return null; 1853 } 1854 1855 var variantId = parseInt(idInput.value, 10); 1856 if (isNaN(variantId)) { 1857 window.BOLD.subscriptions.logger.error('could not parse variant id from [name="id"] input') 1858 return null; 1859 } 1860 1861 var product = window.BOLD.subscriptions.getProductByVariantId(variantId); 1862 1863 if (product === undefined || product === null) { 1864 window.BOLD.subscriptions.logger.error('could not find product data for variant id ' + variantId + ' â product data may not be available on this page') 1865 return null; 1866 } 1867 1868 return product.id; 1869 }; 1870 1871 window.BOLD.subscriptions.getAddToCartForms = function() { 1872 var forms = [];
1873 var idInputs = document.querySelectorAll('[name="id"]'); 1874 1875 for (var i = 0; i < idInputs.length; i++) { 1876 var idInput = idInputs[i]; 1877 var form = idInput.closest('form:not(.bold-subscriptions-no-widget)'); 1878 if (form) { 1879 forms.push(form); 1880 } 1881 } 1882 1883 return forms; 1884 }; 1885 1886 window.BOLD.subscriptions.getJWT = function (callback) { 1887 if(window.BOLD.subscriptions.data.platform.customer.id !== '') { 1888 var shopPlatformId = '51054739619'; 1889 var appSlug = 'subscriptions'; 1890 var customerPlatformId = window.BOLD.subscriptions.data.platform.customer.id; 1891 var proxyPath = '/apps/app-proxy/customers/v1/shops/'+shopPlatformId+'/apps/'+appSlug+'/customers/pid/'+customerPlatformId+'/jwt'; 1892 1893 var xmlhttp = new XMLHttpRequest(); 1894 1895 xmlhttp.onreadystatechange = function() { 1896 if (xmlhttp.readyState === window.BOLD.subscriptions.config.XMLHttpRequest.DONE) { 1897 if (xmlhttp.status === 200) { 1898 var data = JSON.parse(xmlhttp.responseText); 1899 callback({ 1900 success: true, 1901 value: { 1902 jwt: data.bold_platform_jwt, 1903 customerId: window.BOLD.subscriptions.data.platform.customer.id, 1904 }, 1905 }); 1906 } else if (xmlhttp.status === 404) { 1907 callback({ 1908 success: false, 1909 error: 'not_logged_in', 1910 }); 1911 } else { 1912 callback({ 1913 success: false, 1914 error: 'unknown', 1915 }); 1916 } 1917 } 1918 }; 1919 1920 xmlhttp.open("GET", proxyPath, true); 1921 xmlhttp.setRequestHeader('Accept', 'application/liquid'); 1922 xmlhttp.send(); 1923 } else { 1924 callback({ 1925 success: false, 1926 error: 'not_logged_in', 1927 }); 1928 } 1929 }; 1930 1931 window.BOLD.subscriptions.setCashierFeatureToken = function(value) { 1932 if (window.BOLD.checkout_features_defaults && window.BOLD.subscriptions.config.cashierApplicationUUID) { 1933 window.BOLD.checkout_features_defaults.forEach(function(item) { 1934 if (item.id === window.BOLD.subscriptions.config.cashierApplicationUUID) { 1935 item.require = value; 1936 } 1937 }); 1938 } 1939 }; 1940 1941 // Cashier patches 1942 window.BOLD.subscriptions.patches.cashierListenerFn = function(event) { 1943 if (window.BOLD.checkout.isCheckoutButton(event.target) && window.BOLD.checkout.isEnabled()) { 1944 window.BOLD.subscriptions.patches.pushToCashier(event); 1945 } else if(window.BOLD.checkout.isCheckoutButton(event.target) && typeof window.cashier_installed_on_site === 'undefined') { 1946 var request = new XMLHttpRequest(); 1947 request.open('HEAD', '/apps/checkout/isInstalled', false); 1948 request.send(null); 1949 1950 if(request.status >= 200 && request.status < 400) { 1951 window.BOLD.subscriptions.patches.pushToCashier(event); 1952 } else { 1953 window.cashier_installed_on_site = false; 1954 } 1955 } 1956 }; 1957 1958 window.BOLD.subscriptions.localTime = function() { 1959 var localDate = new Date(); 1960 return localDate.getTime(); 1961 }; 1962 1963 1964 window.BOLD.subscriptions.patches.pushToCashier = function(event) { 1965 event.preventDefault(); 1966 var form = window.BOLD.checkout.getForm(event.target); 1967 var formData = new FormData(form); 1968 var request = new XMLHttpRequest(); 1969 request.open('POST', '/cart/update.js?tmp=' + Date.now(), true); 1970 request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 1971 1972 request.onload = function() { 1973 if (request.status >= 200 && request.status < 400) { 1974 // Success! 1975 var cart = JSON.parse(request.responseText); 1976 1977 // If items are empty redirect back to the cart 1978 if (cart.items.length === 0) { 1979 return window.location.href = '/cart'; 1980 } 1981
1982 cart.items.forEach(function(element) { 1983 delete element.product_description; 1984 }); 1985 1986 if (document.getElementById('CartSpecialInstructions')) { 1987 // If the cart note exists, grab its value 1988 cart.note = document.getElementById('CartSpecialInstructions').value; 1989 } 1990 1991 var cartObj = JSON.stringify(cart); 1992 1993 var form = window.BOLD.checkout.getForm(event.target); 1994 form.dataset.old_form_action = form.action; 1995 form.action = '/apps/checkout/begin-checkout' + googleAnalyticsGetParamString({}); 1996 var cartCookie = window.BOLD.checkout.getCookie('cart'); 1997 var element = document.createElement('INPUT'); 1998 element.type = 'HIDDEN'; 1999 element.name = 'cart_id'; 2000 element.value = cartCookie; 2001 form.appendChild(element); 2002 2003 var dateElement = document.createElement('INPUT'); 2004 dateElement.type = 'HIDDEN'; 2005 dateElement.name = 'checkout_local_time'; 2006 dateElement.value = window.BOLD.subscriptions.localTime(); 2007 form.appendChild(dateElement); 2008 2009 var cartElement = document.createElement('INPUT'); 2010 cartElement.type = 'HIDDEN'; 2011 cartElement.name = 'cart'; 2012 cartElement.value = cartObj; 2013 form.appendChild(cartElement); 2014 form.method = 'POST'; 2015 2016 if(window.BOLD && window.BOLD.checkout && typeof window.BOLD.checkout.languageIsoCode === 'string') { 2017 var langInput = document.createElement('INPUT'); 2018 langInput.type = 'HIDDEN'; 2019 langInput.name = 'language_iso'; 2020 langInput.value = window.BOLD.checkout.languageIsoCode; 2021 form.appendChild(langInput); 2022 } 2023 2024 if (window.BOLD && window.BOLD.common && typeof window.BOLD.common.eventEmitter === 'object' && typeof window.BOLDCURRENCY !== 'undefined') { 2025 window.BOLD.common.eventEmitter.emit('BOLD_CASHIER_checkout', {target: form}); 2026 } 2027 2028 window.BOLD.subscriptions.patches.finishCheckout(event, form, cart); 2029 } 2030 }; 2031 2032 request.send(formData); 2033 }; 2034 2035 2036</script>
2036 2037 2038 2039<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2040<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: 51054739619,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "customers/login"};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 2040
2040
2041<script> 2042 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 2043</script>
vendor: 1 bytes, line 2043
2043
2044<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}
2044).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: 51054739619,storefrontBaseUrl: "https://kitasandocoffee.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://kitasandocoffee.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"211288278","configuration":"{\"pixel_id\":\"1060761098477109\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","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":"79888598","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"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":"KITASANDO COFFEE online store","paymentSettings":{"currencyCode":"JPY"},"myshopifyDomain":"kankaku.myshopify.com","countryCode":"JP","storefrontUrl":"https:\/\/kitasandocoffee.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://kitasandocoffee.com/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"151139647702","themeStoreId":"1368","themePublished":"true","eventMetadataId":"4e5f2946-5bc5-474a-8b1a-92070986910e","shopId":"51054739619","storefrontBaseUrl":"https:\/\/kitasandocoffee.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2044<script> 2045 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 2046 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 2047 window.ShopifyAnalytics.meta.currency = 'JPY'; 2048 var meta = {"page":{"requestId":"ad30ab96-3ec0-43f1-bb35-7a5a09c713fd-1791346703"}}; 2049 for (var attr in meta) { 2050 window.ShopifyAnalytics.meta[attr] = meta[attr]; 2051 } 2052</script>
vendor: 1 bytes, line 2052
2052
2053<script class="analytics"> 2054 (function () { 2055 var customDocumentWrite = function(content) { 2056 var jquery = null; 2057 2058 if (window.jQuery) { 2059 jquery = window.jQuery; 2060 } else if (window.Checkout && window.Checkout.$) { 2061 jquery = window.Checkout.$; 2062 } 2063 2064 if (jquery) { 2065 jquery('body').append(content); 2066 } 2067 }; 2068 2069 var hasLoggedConversion = function(token) { 2070 if (token) { 2071 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 2072 } 2073 return false; 2074 } 2075 2076 var setCookieIfConversion = function(token) { 2077 if (token) { 2078 var twoMonthsFromNow = new Date(Date.now()); 2079 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 2080 2081 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 2082 } 2083 } 2084 2085 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 2086 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 2087 if (trekkie.integrations) { 2088 return; 2089 } 2090 trekkie.methods = [ 2091 'identify', 2092 'page', 2093 'ready', 2094 'track', 2095 'trackForm', 2096 'trackLink' 2097 ]; 2098 trekkie.factory = function(method) { 2099 return function() { 2100 var args = Array.prototype.slice.call(arguments); 2101 args.unshift(method); 2102 trekkie.push(args); 2103 if (method == 'track' || method == 'page') { 2104 var pageUrl; 2105 try { 2106 pageUrl = window.location.href; 2107 } catch (e) {} 2108 var pageReferrer; 2109 try { 2110 pageReferrer = document.referrer; 2111 } catch (e) {} 2112 try { 2113 if (window.__TREKKIE_SHIM_QUEUE == null) { 2114 window.__TREKKIE_SHIM_QUEUE = []; 2115 } 2116 window.__TREKKIE_SHIM_QUEUE.push({ 2117 from: 'trekkie-stub', 2118 method: method, 2119 args: args.slice(1), 2120 pageContext: { 2121 url: pageUrl, 2122 referrer: pageReferrer 2123 } 2124 }); 2125 } catch (e) { 2126 // no-op 2127 } 2128 } 2129 return trekkie; 2130 }; 2131 }; 2132 for (var i = 0; i < trekkie.methods.length; i++) { 2133 var key = trekkie.methods[i]; 2134 trekkie[key] = trekkie.factory(key); 2135 } 2136 trekkie.load = function(config) { 2137 trekkie.config = config || {}; 2138 trekkie.config.initialDocumentCookie = document.cookie; 2139 var first = document.getElementsByTagName('script')[0]; 2140var script = document.createElement('script'); 2141script.type = 'text/javascript'; 2142script.onerror = function(e) { 2143 var scriptFallback = document.createElement('script'); 2144 scriptFallback.type = 'text/javascript'; 2145 scriptFallback.onerror = function(error) { 2146 var Monorail = { 2147 produce: function produce(monorailDomain, schemaId, payload) { 2148 var currentMs = new Date().getTime(); 2149 var event = { 2150 schema_id: schemaId, 2151 payload: payload, 2152 metadata: { 2153 event_created_at_ms: currentMs, 2154 event_sent_at_ms: currentMs 2155 } 2156 }; 2157 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 2158 }, 2159 sendRequest: function sendRequest(endpointUrl, payload) { 2160 // Try the sendBeacon API 2161 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 2162 var blobData = new window.Blob([payload], { 2163 type: 'text/plain' 2164 }); 2165 2166 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 2167 return true; 2168 } // sendBeacon was not successful 2169 2170 } // XHR beacon 2171 2172 var xhr = new XMLHttpRequest(); 2173 2174 try { 2175 xhr.open('POST', endpointUrl); 2176 xhr.setRequestHeader('Content-Type', 'text/plain'); 2177 xhr.send(payload); 2178 } catch (e) { 2179 console.log(e); 2180 } 2181 2182 return false; 2183 }, 2184 isIos12: function isIos12() { 2185 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 2186 } 2187 }; 2188 Monorail.produce('monorail-edge.shopifysvc.com', 2189 'trekkie_storefront_load_errors/1.1', 2190 {shop_id: 51054739619, 2191 theme_id: 151139647702, 2192 app_name: "storefront", 2193 context_url: window.location.href, 2194 source_url: "//kitasandocoffee.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 2195 2196 }; 2197 scriptFallback.async = true; 2198 scriptFallback.src = '//kitasandocoffee.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2199 first.parentNode.insertBefore(scriptFallback, first); 2200}; 2201script.async = true; 2202script.src = '//kitasandocoffee.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 2203first.parentNode.insertBefore(script, first); 2204 2205 }; 2206 trekkie.load( 2207 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":51054739619,"isMerchantRequest":null,"themeId":151139647702,"themeCityHash":"866021411
22077876435576","contentLanguage":"ja","currency":"JPY","eventMetadataId":"4e5f2946-5bc5-474a-8b1a-92070986910e"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 2208 ); 2209 2210 var loaded = false; 2211 trekkie.ready(function() { 2212 if (loaded) return; 2213 loaded = true; 2214 2215 window.ShopifyAnalytics.lib = window.trekkie; 2216 2217 var originalDocumentWrite = document.write; 2218 document.write = customDocumentWrite; 2219 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 2220 document.write = originalDocumentWrite; 2221 2222 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 2223 var token = match? match[1]: undefined; 2224 if (!hasLoggedConversion(token)) { 2225 setCookieIfConversion(token); 2226 2227 } 2228 }); 2229 2230 window.ShopifyAnalytics.lib.page(null,{"requestId":"ad30ab96-3ec0-43f1-bb35-7a5a09c713fd-1791346703","shopifyEmitted":true}); 2231 2232 var eventsListenerScript = document.createElement('script'); 2233 eventsListenerScript.async = true; 2234 eventsListenerScript.src = "//kitasandocoffee.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 2235 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 2236})();</script>
2236 2237
2237<script> 2238 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 2239 window.ga = function ga() { 2240 (window.ga.q = window.ga.q || []).push(arguments); 2241 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2242 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 2243 } 2244 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 2245 }; 2246 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 2247 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 2248 } 2249 } 2250</script>
vendor: 1 bytes, line 2250
2250
2251<script 2252 defer 2253 src="https://kitasandocoffee.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js" 2254 data-application="storefront-renderer" 2255 data-shop-id="51054739619" 2256 data-render-region="gcp-us-central1" 2257 data-page-type="customers/login" 2258 data-theme-instance-id="151139647702" 2259 data-theme-name="Craft" 2260 data-theme-version="9.0.0" 2261 data-monorail-region="shop_domain" 2262 data-resource-timing-sampling-rate="10" 2263 data-shs="true" 2264 data-shs-beacon="true" 2265 data-shs-export-with-fetch="true" 2266 data-shs-logs-sample-rate="1" 2267 data-shs-beacon-endpoint="https://kitasandocoffee.com/api/collect" 2268></script>
2268 2269<meta name="shopify-y" content="e263307a-ea79-41ba-847e-cd9d976490db" data-expiration="1822904303000"><meta name="shopify-s" content="bc498d58-c3be-4bd0-b5ec-5bdb9020d0c6" data-expiration="1791348503000"><meta name="new-cookie-storage-activated" content="t"> 2270</head> 2271 2272 <body class="gradient"> 2273 <a class="skip-to-content-link button visually-hidden" href="#MainContent"> 2274 ã³ã³ãã³ãã«é²ã 2275 </a> 2276
2277<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/cart.js?v=21876159511507192261750427082" defer="defer"></script>
2277 2278 2279<style> 2280 .drawer { 2281 visibility: hidden; 2282 } 2283</style> 2284 2285<cart-drawer class="drawer is-empty"> 2286 <div id="CartDrawer" class="cart-drawer"> 2287 <div id="CartDrawer-Overlay" class="cart-drawer__overlay"></div> 2288 <div 2289 class="drawer__inner" 2290 role="dialog" 2291 aria-modal="true" 2292 aria-label="ããªãã®ã«ã¼ã" 2293 tabindex="-1" 2294 ><div class="drawer__inner-empty"> 2295 <div class="cart-drawer__warnings center"> 2296 <div class="cart-drawer__empty-content"> 2297 <h2 class="cart__empty-text">ã«ã¼ãã¯ç©ºã§ã</h2> 2298 <button 2299 class="drawer__close" 2300 type="button" 2301 onclick="this.closest('cart-drawer').close()" 2302 aria-label="éãã" 2303 > 2304 <svg 2305 xmlns="http://www.w3.org/2000/svg" 2306 aria-hidden="true" 2307 focusable="false" 2308 class="icon icon-close" 2309 fill="none" 2310 viewBox="0 0 18 17" 2311> 2312 <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"> 2313</svg> 2314 2315 </button> 2316 <a href="/collections/all" class="button"> 2317 è²·ãç©ãç¶ãã 2318 </a><p class="cart__login-title h3">ã¢ã«ã¦ã³ãããæã¡ã§ãã?</p> 2319 <p class="cart__login-paragraph"> 2320 <a href="/account/login" class="link underlined-link">ãã°ã¤ã³</a>ãããã¨ã§ããã§ãã¯ã¢ã¦ããã¹ãã¼ãã£ã¼ã«è¡ãã¾ãã 2321 </p></div> 2322 </div></div><div class="drawer__header"> 2323 <h2 class="drawer__heading">ããªãã®ã«ã¼ã</h2> 2324 <button 2325 class="drawer__close" 2326 type="button" 2327 onclick="this.closest('cart-drawer').close()" 2328 aria-label="éãã" 2329 > 2330 <svg 2331 xmlns="http://www.w3.org/2000/svg" 2332 aria-hidden="true" 2333 focusable="false" 2334 class="icon icon-close" 2335 fill="none" 2336 viewBox="0 0 18 17" 2337> 2338 <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"> 2339</svg> 2340 2341 </button> 2342 </div> 2343 <cart-drawer-items 2344 2345 class=" is-empty" 2346 2347 > 2348 <form 2349 action="/cart" 2350 id="CartDrawer-Form" 2351 class="cart__contents cart-drawer__form" 2352 method="post" 2353 > 2354 <div id="CartDrawer-CartItems" class="drawer__contents js-contents"><p id="CartDrawer-LiveRegionText" class="visually-hidden" role="status"></p> 2355 <p id="CartDrawer-LineItemStatus" class="visually-hidden" aria-hidden="true" role="status"> 2356 èªã¿è¾¼ã¿ä¸â¦ 2357 </p> 2358 </div> 2359 <div id="CartDrawer-CartErrors" role="alert"></div> 2360 </form> 2361 </cart-drawer-items> 2362 <div class="drawer__footer"><!-- Start blocks --> 2363 <!-- Subtotals --> 2364 2365 <div class="cart-drawer__footer" > 2366 <div class="totals" role="status"> 2367 <h2 class="totals__subtotal">å°è¨</h2> 2368 <p class="totals__subtotal-value">Â¥0 <span style="font-size: 0.8rem;">ç¨è¾¼</span></p> 2369 </div> 2370 2371 <div></div> 2372 2373 <small class="tax-note caption-large rte">ç¨ã¨é éæã¯è³¼å ¥æç¶ãæã«è¨ç®ããã¾ã 2374</small> 2375 </div> 2376 2377 <!-- CTAs --> 2378 2379 <div class="cart__ctas" > 2380 <noscript> 2381 <button type="submit" class="cart__update-button button button--secondary" form="CartDrawer-Form"> 2382 ã¢ãããã¼ã 2383 </button> 2384 </noscript> 2385 2386 <button 2387 type="submit" 2388 id="CartDrawer-Checkout" 2389 class="cart__checkout-button button" 2390 name="checkout" 2391 form="CartDrawer-Form" 2392 2393 disabled 2394 2395 > 2396 ãè³¼å ¥æç¶ã㸠2397 </button> 2398 </div> 2399 </div> 2400 </div> 2401 </div> 2402</cart-drawer> 2403
2404<script> 2405 document.addEventListener('DOMContentLoaded', function () { 2406 function isIE() { 2407 const ua = window.navigator.userAgent; 2408 const msie = ua.indexOf('MSIE '); 2409 const trident = ua.indexOf('Trident/'); 2410 2411 return msie > 0 || trident > 0; 2412 } 2413 2414 if (!isIE()) return; 2415 const cartSubmitInput = document.createElement('input'); 2416 cartSubmitInput.setAttribute('name', 'checkout'); 2417 cartSubmitInput.setAttribute('type', 'hidden'); 2418 document.querySelector('#cart').appendChild(cartSubmitInput); 2419 document.querySelector('#checkout').addEventListener('click', function (event) { 2420 document.querySelector('#cart').submit(); 2421 }); 2422 }); 2423</script>
2423 2424<!-- BEGIN sections: header-group --> 2425<div id="shopify-section-sections--19535085895894__announcement-bar" class="shopify-section shopify-section-group-header-group announcement-bar-section"><div class="announcement-bar color-accent-2 gradient" role="region" aria-label="åç¥" ><a href="/pages/schedule" class="announcement-bar__link link link--text focus-inset animate-arrow"><div class="page-width"> 2426 <p class="announcement-bar__message center h5"> 2427 <span>2,500å以ä¸éæç¡æ / æ¯ææå10%OFF ã¯ã¼ãã³é å¸ä¸</span><svg 2428 viewBox="0 0 14 10" 2429 fill="none" 2430 aria-hidden="true" 2431 focusable="false" 2432 class="icon icon-arrow" 2433 xmlns="http://www.w3.org/2000/svg" 2434> 2435 <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"> 2436</svg> 2437 2438</p> 2439 </div></a></div> 2440</div><div id="shopify-section-sections--19535085895894__header" class="shopify-section shopify-section-group-header-group section-header"><link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-menu.css?v=151968516119678728991750427082" media="print" onload="this.media='all'"> 2441<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-search.css?v=184225813856820874251750427082" media="print" onload="this.media='all'"> 2442<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-menu-drawer.css?v=94074963897493609391750427082" media="print" onload="this.media='all'"> 2443<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-notification.css?v=108833082844665799571750427082" media="print" onload="this.media='all'"> 2444<link rel="stylesheet" href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-items.css?v=29412722223528841861750427082" media="print" onload="this.media='all'"><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-drawer.css?v=35930391193938886121750427082" rel="stylesheet" type="text/css" media="all" /> 2445 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart.css?v=61086454150987525971750427082" rel="stylesheet" type="text/css" media="all" /> 2446 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-totals.css?v=86168756436424464851750427082" rel="stylesheet" type="text/css" media="all" /> 2447 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-price.css?v=65402837579211014041750427082" rel="stylesheet" type="text/css" media="all" /> 2448 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-discounts.css?v=152760482443307489271750427082" rel="stylesheet" type="text/css" media="all" /> 2449 <link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-loading-overlay.css?v=167310470843593579841750427082" rel="stylesheet" type="text/css" media="all" /> 2450<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-menu.css?v=151968516119678728991750427082" rel="stylesheet" type="text/css" media="all" /></noscript> 2451<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-search.css?v=184225813856820874251750427082" rel="stylesheet" type="text/css" media="all" /></noscript> 2452<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-menu-drawer.css?v=94074963897493609391750427082" rel="stylesheet" type="text/css" media="all" /></noscript> 2453<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-notification.css?v=108833082844665799571750427082" rel="stylesheet" type="text/css" media="all" /></noscript> 2454<noscript><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-cart-items.css?v=29412722223528841861750427082" rel="stylesheet" type="text/css" media="all" /></noscript> 2455 2456<style> 2457 header-drawer { 2458 justify-self: start; 2459 margin-left: -1.2rem; 2460 }@media screen and (min-width: 990px) { 2461 header-drawer { 2462 display: none; 2463 } 2464 }.menu-drawer-container { 2465 display: flex; 2466 } 2467 2468 .list-menu { 2469 list-style: none; 2470 padding: 0; 2471 margin: 0; 2472 } 2473 2474 .list-menu--inline { 2475 display: inline-flex; 2476 flex-wrap: wrap; 2477 } 2478 2479 summary.list-menu__item { 2480 padding-right: 2.7rem; 2481 } 2482 2483 .list-menu__item { 2484 display: flex; 2485 align-items: center; 2486 line-height: calc(1 + 0.3 / var(--font-body-scale)); 2487 } 2488 2489 .list-menu__item--link { 2490 text-decoration: none; 2491 padding-bottom: 1rem; 2492 padding-top: 1rem; 2493 line-height: calc(1 + 0.8 / var(--font-body-scale)); 2494 } 2495 2496 @media screen and (min-width: 750px) { 2497 .list-menu__item--link { 2498 padding-bottom: 0.5rem; 2499 padding-top: 0.5rem; 2500 } 2501 } 2502</style><style data-shopify>.header { 2503 padding-top: 6px; 2504 padding-bottom: 6px; 2505 } 2506 2507 .section-header { 2508 position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ 2509 margin-bottom: 0px; 2510 } 2511 2512 @media screen and (min-width: 750px) { 2513 .section-header { 2514 margin-bottom: 0px; 2515 } 2516 } 2517 2518 @media screen and (min-width: 990px) { 2519 .header { 2520 padding-top: 12px; 2521 padding-bottom: 12px; 2522 } 2523 }</style>
2523<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/details-disclosure.js?v=153497636716254413831750427082" defer="defer"></script>
vendor: 1 bytes, line 2523
2523
2524<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/details-modal.js?v=4511761896672669691750427082" defer="defer"></script>
vendor: 1 bytes, line 2524
2524
2525<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/cart-notification.js?v=160453272920806432391750427082" defer="defer"></script>
vendor: 1 bytes, line 2525
2525
2526<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/search-form.js?v=113639710312857635801750427082" defer="defer"></script>
2526<script src="//kitasandocoffee.com/cdn/shop/t/100/assets/cart-drawer.js?v=44260131999403604181750427082" defer="defer"></script>
2526<svg xmlns="http://www.w3.org/2000/svg" class="hidden"> 2527 <symbol id="icon-search" viewbox="0 0 18 19" fill="none"> 2528 <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"/> 2529 </symbol> 2530 2531 <symbol id="icon-reset" class="icon icon-close" fill="none" viewBox="0 0 18 18" stroke="currentColor"> 2532 <circle r="8.5" cy="9" cx="9" stroke-opacity="0.2"/> 2533 <path d="M6.82972 6.82915L1.17193 1.17097" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> 2534 <path d="M1.22896 6.88502L6.77288 1.11523" stroke-linecap="round" stroke-linejoin="round" transform="translate(5 5)"/> 2535 </symbol> 2536 2537 <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17"> 2538 <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"> 2539 </symbol> 2540</svg><sticky-header data-sticky-type="always" class="header-wrapper color-background-1 gradient"> 2541 <header class="header header--middle-left header--mobile-center page-width header--has-menu"><header-drawer data-breakpoint="tablet"> 2542 <details id="Details-menu-drawer-container" class="menu-drawer-container"> 2543 <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="ã¡ãã¥ã¼"> 2544 <span> 2545 <svg 2546 xmlns="http://www.w3.org/2000/svg" 2547 aria-hidden="true" 2548 focusable="false" 2549 class="icon icon-hamburger" 2550 fill="none" 2551 viewBox="0 0 18 16" 2552> 2553 <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor"> 2554</svg> 2555 2556 <svg 2557 xmlns="http://www.w3.org/2000/svg" 2558 aria-hidden="true" 2559 focusable="false" 2560 class="icon icon-close" 2561 fill="none" 2562 viewBox="0 0 18 17" 2563> 2564 <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"> 2565</svg> 2566 2567 </span> 2568 </summary> 2569 <div id="menu-drawer" class="gradient menu-drawer motion-reduce" tabindex="-1"> 2570 <div class="menu-drawer__inner-container"> 2571 <div class="menu-drawer__navigation-container"> 2572 <nav class="menu-drawer__navigation"> 2573 <ul class="menu-drawer__menu has-submenu list-menu" role="list"><li><a href="/" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2574 KITASANDÅ COFFEE 2575 </a></li><li><details id="Details-menu-drawer-menu-item-2"> 2576 <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2577 online store 2578 <svg 2579 viewBox="0 0 14 10" 2580 fill="none" 2581 aria-hidden="true" 2582 focusable="false" 2583 class="icon icon-arrow" 2584 xmlns="http://www.w3.org/2000/svg" 2585> 2586 <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"> 2587</svg> 2588 2589 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2590 <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"> 2591</svg> 2592 2593 </summary> 2594 <div id="link-online-store" class="menu-drawer__submenu has-submenu gradient motion-reduce" tabindex="-1"> 2595 <div class="menu-drawer__inner-submenu"> 2596 <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true"> 2597 <svg 2598 viewBox="0 0 14 10" 2599 fill="none" 2600 aria-hidden="true" 2601 focusable="false" 2602 class="icon icon-arrow" 2603 xmlns="http://www.w3.org/2000/svg" 2604> 2605 <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"> 2606</svg> 2607 2608 online store 2609 </button> 2610 <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1"><li><a href="/collections" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2611 å ¨ã¦ã®åå 2612 </a></li><li><a href="/collections/%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%81%8A%E8%A9%A6%E3%81%97%E3%82%BB%E3%83%83%E3%83%88" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2613 åãã¦ã®ã客æ§ã¸ 2614 </a></li><li><a href="/collections/%E6%B0%B4%E5%87%BA%E3%81%97%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%83%90%E3%83%83%E3%82%B0" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2615 èªå® ã§ç°¡åãã³ã¼ãã¼ã¿ã¤ã 2616 </a></li><li><a href="/collections/premium-line" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2617 PREMIUM LINE 2618 </a></li><li><a href="/collections/%E6%B5%85%E7%85%8E%E3%82%8A" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2619 æµ ç ã 2620 </a></li><li><a href="/collections/%E4%B8%AD%E7%85%8E%E3%82%8A" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2621 ä¸ç ã 2622 </a></li><li><a href="/collections/%E6%B7%B1%E7%85%8E%E3%82%8A" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2623 æ·±ç ã 2624 </a></li><li><a href="/collections/%E3%82%AB%E3%83%95%E3%82%A7%E3%82%A4%E3%83%B3%E3%83%AC%E3%82%B9" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2625 ã«ãã§ã¤ã³ã¬ã¹ 2626 </a></li><li><a href="/collections/%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%8A%E3%83%AB%E3%82%B0%E3%83%83%E3%82%BA" class="menu-drawer__menu-item link link--text list-menu__item focus-inset"> 2627 ãªãªã¸ãã«ã°ã㺠2628 </a></li></ul> 2629 </div> 2630 </div> 2631 </details></li><li><a href="/products/subscription" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2632 ã³ã¼ãã¼å®æä¾¿ 2633 </a></li><li><a href="/pages/my-subscriptions" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2634 å®æä¾¿ã®ç®¡ç 2635 </a></li><li><a href="/pages/wholesale" class="menu-drawer__menu-item list-menu__item link link--text focus-inset"> 2636 wholesale 2637 </a></li></ul> 2638 </nav> 2639 <div class="menu-drawer__utility-links"><a href="/account/login" class="menu-drawer__account link focus-inset h5 medium-hide large-up-hide"> 2640 <svg 2641 xmlns="http://www.w3.org/2000/svg" 2642 aria-hidden="true" 2643 focusable="false" 2644 class="icon icon-account" 2645 fill="none" 2646 viewBox="0 0 18 19" 2647> 2648 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
26481-3.67-1.35-6.17-1.35z" fill="currentColor"> 2649</svg> 2650 2651ãã°ã¤ã³</a><ul class="list list-social list-unstyled" role="list"><li class="list-social__item"> 2652 <a href="https://instagram.com/kitasando_coffee?igshid=MzRlODBiNWFlZA==" class="list-social__link link"><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18"> 2653 <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"/> 2654 <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"> 2655</svg> 2656<span class="visually-hidden">Instagram</span> 2657 </a> 2658 </li></ul> 2659 </div> 2660 </div> 2661 </div> 2662 </div> 2663 </details> 2664 </header-drawer><a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper"> 2665 2666 <img src="//kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&width=600" alt="KITASANDO COFFEE online store" srcset="//kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&width=190 190w, //kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&width=285 285w, //kitasandocoffee.com/cdn/shop/files/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935&width=380 380w" width="190" height="16.783333333333335" loading="eager" class="header__heading-logo motion-reduce" sizes="(max-width: 380px) 50vw, 190px"> 2667 </div></a><nav class="header__inline-menu"> 2668 <ul class="list-menu list-menu--inline" role="list"><li><a href="/" class="header__menu-item list-menu__item link link--text focus-inset"> 2669 <span>KITASANDÅ COFFEE</span> 2670 </a></li><li><header-menu> 2671 <details id="Details-HeaderMenu-2"> 2672 <summary class="header__menu-item list-menu__item link focus-inset"> 2673 <span>online store</span> 2674 <svg aria-hidden="true" focusable="false" class="icon icon-caret" viewBox="0 0 10 6"> 2675 <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"> 2676</svg> 2677 2678 </summary> 2679 <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" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2680 å ¨ã¦ã®åå 2681 </a></li><li><a href="/collections/%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%81%8A%E8%A9%A6%E3%81%97%E3%82%BB%E3%83%83%E3%83%88" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2682 åãã¦ã®ã客æ§ã¸ 2683 </a></li><li><a href="/collections/%E6%B0%B4%E5%87%BA%E3%81%97%E3%82%B3%E3%83%BC%E3%83%92%E3%83%BC%E3%83%90%E3%83%83%E3%82%B0" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2684 èªå® ã§ç°¡åãã³ã¼ãã¼ã¿ã¤ã 2685 </a></li><li><a href="/collections/premium-line" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2686 PREMIUM LINE 2687 </a></li><li><a href="/collections/%E6%B5%85%E7%85%8E%E3%82%8A" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2688 æµ ç ã 2689 </a></li><li><a href="/collections/%E4%B8%AD%E7%85%8E%E3%82%8A" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2690 ä¸ç ã 2691 </a></li><li><a href="/collections/%E6%B7%B1%E7%85%8E%E3%82%8A" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2692 æ·±ç ã 2693 </a></li><li><a href="/collections/%E3%82%AB%E3%83%95%E3%82%A7%E3%82%A4%E3%83%B3%E3%83%AC%E3%82%B9" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2694 ã«ãã§ã¤ã³ã¬ã¹ 2695 </a></li><li><a href="/collections/%E3%82%AA%E3%83%AA%E3%82%B8%E3%83%8A%E3%83%AB%E3%82%B0%E3%83%83%E3%82%BA" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> 2696 ãªãªã¸ãã«ã°ã㺠2697 </a></li></ul> 2698 </details> 2699 </header-menu></li><li><a href="/products/subscription" class="header__menu-item list-menu__item link link--text focus-inset">
2700 <span>ã³ã¼ãã¼å®æä¾¿</span> 2701 </a></li><li><a href="/pages/my-subscriptions" class="header__menu-item list-menu__item link link--text focus-inset"> 2702 <span>å®æä¾¿ã®ç®¡ç</span> 2703 </a></li><li><a href="/pages/wholesale" class="header__menu-item list-menu__item link link--text focus-inset"> 2704 <span>wholesale</span> 2705 </a></li></ul> 2706 </nav><div class="header__icons"> 2707 <div class="desktop-localization-wrapper"> 2708</div> 2709 <details-modal class="header__search"> 2710 <details> 2711 <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="æ¤ç´¢"> 2712 <span> 2713 <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false"> 2714 <use href="#icon-search"> 2715 </svg> 2716 <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false"> 2717 <use href="#icon-close"> 2718 </svg> 2719 </span> 2720 </summary> 2721 <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="æ¤ç´¢"> 2722 <div class="modal-overlay"></div> 2723 <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><search-form class="search-modal__form"><form action="/search" method="get" role="search" class="search search-modal__form"> 2724 <div class="field"> 2725 <input class="search__input field__input" 2726 id="Search-In-Modal" 2727 type="search" 2728 name="q" 2729 value="" 2730 placeholder="æ¤ç´¢"> 2731 <label class="field__label" for="Search-In-Modal">æ¤ç´¢</label> 2732 <input type="hidden" name="options[prefix]" value="last"> 2733 <button type="reset" class="reset__button field__button hidden" aria-label="æ¤ç´¢ã¯ã¼ããã¯ãªã¢ãã"> 2734 <svg class="icon icon-close" aria-hidden="true" focusable="false"> 2735 <use xlink:href="#icon-reset"> 2736 </svg> 2737 </button> 2738 <button class="search__button field__button" aria-label="æ¤ç´¢"> 2739 <svg class="icon icon-search" aria-hidden="true" focusable="false"> 2740 <use href="#icon-search"> 2741 </svg> 2742 </button> 2743 </div></form></search-form><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="éãã"> 2744 <svg class="icon icon-close" aria-hidden="true" focusable="false"> 2745 <use href="#icon-close"> 2746 </svg> 2747 </button> 2748 </div> 2749 </div> 2750 </details> 2751 </details-modal><a href="/account/login" class="header__icon header__icon--account link focus-inset small-hide"> 2752 <svg 2753 xmlns="http://www.w3.org/2000/svg" 2754 aria-hidden="true" 2755 focusable="false" 2756 class="icon icon-account" 2757 fill="none" 2758 viewBox="0 0 18 19" 2759> 2760 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor"> 2761</svg> 2762 2763 <span class="visually-hidden">ãã°ã¤ã³</span> 2764 </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><svg 2765 class="icon icon-cart-empty" 2766 aria-hidden="true" 2767 focusable="false" 2768 xmlns="http://www.w3.org/2000/svg" 2769 viewBox="0 0 40 40" 2770 fill="none" 2771> 2772 <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.7
27725 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"/> 2773</svg> 2774<span class="visually-hidden">ã«ã¼ã</span></a> 2775 </div> 2776 </header> 2777</sticky-header> 2778
2779<script type="application/ld+json"> 2780 { 2781 "@context": "http://schema.org", 2782 "@type": "Organization", 2783 "name": "KITASANDO COFFEE online store", 2784 2785 "logo": "https:\/\/kitasandocoffee.com\/cdn\/shop\/files\/logo_kitasando_72e74eda-3d17-47da-b66f-3a236c4eaa15.png?v=1684977935\u0026width=500", 2786 2787 "sameAs": [ 2788 "", 2789 "", 2790 "", 2791 "https:\/\/instagram.com\/kitasando_coffee?igshid=MzRlODBiNWFlZA==", 2792 "", 2793 "", 2794 "", 2795 "", 2796 "" 2797 ], 2798 "url": "https:\/\/kitasandocoffee.com" 2799 } 2800</script>
2800 2801</div> 2802<!-- END sections: header-group --> 2803 2804 <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> 2805 2806 2807 <wlm class="wlm-content"> 2808 <div id="shopify-section-template--19535089467606__main" class="shopify-section"><link href="//kitasandocoffee.com/cdn/shop/t/100/assets/customer.css?v=97970887154638603971750427082" rel="stylesheet" type="text/css" media="all" /> 2809<style data-shopify>.section-template--19535089467606__main-padding { 2810 padding-top: 27px; 2811 padding-bottom: 27px; 2812 } 2813 2814 @media screen and (min-width: 750px) { 2815 .section-template--19535089467606__main-padding { 2816 padding-top: 36px; 2817 padding-bottom: 36px; 2818 } 2819 }</style><div class="customer login section-template--19535089467606__main-padding"> 2820 <h1 id="recover" tabindex="-1"> 2821 ãã¹ã¯ã¼ãããªã»ãããã 2822 </h1> 2823 <div> 2824 <p> 2825 ãã¹ã¯ã¼ãããªã»ããããããã®ã¡ã¼ã«ãéä¿¡ãã¾ã 2826 </p><form method="post" action="/account/recover" accept-charset="UTF-8"><input type="hidden" name="form_type" value="recover_customer_password" /><input type="hidden" name="utf8" value="â" /> 2827 <div class="field"> 2828 <input 2829 type="email" 2830 value="" 2831 name="email" 2832 id="RecoverEmail" 2833 autocorrect="off" 2834 autocapitalize="off" 2835 autocomplete="email" 2836 2837 placeholder="ã¡ã¼ã«" 2838 > 2839 <label for="RecoverEmail"> 2840 ã¡ã¼ã« 2841 </label> 2842 </div><button> 2843 éä¿¡ 2844 </button> 2845 2846 <a href="#login"> 2847 ãã£ã³ã»ã« 2848 </a></form></div> 2849 2850 <h1 id="login" tabindex="-1"> 2851 ãã°ã¤ã³ 2852 </h1> 2853 <div><form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true" novalidate="novalidate"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /><div class="field"> 2854 <input 2855 type="email" 2856 name="customer[email]" 2857 id="CustomerEmail" 2858 autocomplete="email" 2859 autocorrect="off" 2860 autocapitalize="off" 2861 2862 placeholder="ã¡ã¼ã«" 2863 > 2864 <label for="CustomerEmail"> 2865 ã¡ã¼ã« 2866 </label> 2867 </div><div class="field"> 2868 <input 2869 type="password" 2870 value="" 2871 name="customer[password]" 2872 id="CustomerPassword" 2873 autocomplete="current-password" 2874 2875 placeholder="ãã¹ã¯ã¼ã" 2876 > 2877 <label for="CustomerPassword"> 2878 ãã¹ã¯ã¼ã 2879 </label> 2880 </div> 2881 2882 <a href="#recover"> 2883 ãã¹ã¯ã¼ãããå¿ãã§ãã? 2884 </a><button> 2885 ãã°ã¤ã³ 2886 </button> 2887 2888 <a href="/account/register"> 2889 ã¢ã«ã¦ã³ãã使ãã 2890 </a></form></div></div> 2891 2892 2893</div> 2894 </wlm> 2895 <div id="wlmpnf" style="display:none;"> 2896 <div class="page-width"> 2897 <div class="grid"> 2898 <div class="grid__item medium-up--five-sixths medium-up--push-one-twelfth"> 2899 <div class="section-header text-center"> 2900 <h1><span class="wlm-title-pnf"></span></h1> 2901 </div> 2902 2903 <div class="rte"> 2904 <div class="wlm-message-pnf"></div> 2905 </div> 2906 </div> 2907 </div> 2908 </div> 2909 </div> 2910 <div id="wlm-pwd-form" style="display: none;"> 2911 <div id="wlm-wrapper"> 2912 2913 <div class="wlm-form-holder"> 2914 <input type="password" placeholder="Enter passcode" id="wlm-pwd" 2915 onkeypress='if( event.keyCode == 13 && typeof wlm == "object" && typeof wlm.unlockByAuth == "function" ) { event.preventDefault(); wlm.unlockByAuth(this); }' /> 2916 <a href="javascript:void(0);" id="wlm-pwd-form-button" 2917 onclick='if( typeof wlm == "object" && typeof wlm.unlockByAuth == "function" ) wlm.unlockByAuth(this);'> 2918 Enter 2919 </a> 2920 </div> 2921 <div id="wlm-pwd-error">Invalid Password</div> 2922 </div> 2923 </div> 2924
2924<script type="text/javascript" id="wlm-helper"> 2925 if( typeof wlm == "object" ) wlm.toggleContent(true); 2926 </script>
2926 2927 2928 </main> 2929 2930 <!-- BEGIN sections: footer-group --> 2931<div id="shopify-section-sections--19535085830358__footer" class="shopify-section shopify-section-group-footer-group"> 2932<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/section-footer.css?v=171161867995400310821750427082" rel="stylesheet" type="text/css" media="all" /> 2933<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-newsletter.css?v=103472482056003053551750427082" rel="stylesheet" type="text/css" media="all" /> 2934<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-menu.css?v=151968516119678728991750427082" rel="stylesheet" type="text/css" media="all" /> 2935<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-payment.css?v=69253961410771838501750427082" rel="stylesheet" type="text/css" media="all" /> 2936<link href="//kitasandocoffee.com/cdn/shop/t/100/assets/component-list-social.css?v=52211663153726659061750427082" rel="stylesheet" type="text/css" media="all" /> 2937<style data-shopify>.footer { 2938 margin-top: 0px; 2939 } 2940 2941 .section-sections--19535085830358__footer-padding { 2942 padding-top: 27px; 2943 padding-bottom: 27px; 2944 } 2945 2946 @media screen and (min-width: 750px) { 2947 .footer { 2948 margin-top: 0px; 2949 } 2950 2951 .section-sections--19535085830358__footer-padding { 2952 padding-top: 36px; 2953 padding-bottom: 36px; 2954 } 2955 }</style><footer class="footer color-background-1 gradient section-sections--19535085830358__footer-padding"><div class="footer__content-top page-width"><div class="footer__blocks-wrapper grid grid--1-col grid--2-col grid--4-col-tablet "><div 2956 class="footer-block grid__item" 2957 2958 ><h2 class="footer-block__heading inline-richtext">Heading</h2><div class="footer-block__details-content rte"> 2959 <p>Share contact information, store details, and brand content with your customers.</p> 2960 </div></div><div 2961 class="footer-block grid__item footer-block--menu" 2962 2963 ><ul class="footer-block__details-content list-unstyled"><li> 2964 <a 2965 href="https://biplane.zendesk.com/hc/ja/requests/new" 2966 class="link link--text list-menu__item list-menu__item--link" 2967 > 2968 ãåãåãã 2969 </a> 2970 </li><li> 2971 <a 2972 href="/policies/terms-of-service" 2973 class="link link--text list-menu__item list-menu__item--link" 2974 > 2975 å©ç¨è¦ç´ 2976 </a> 2977 </li><li> 2978 <a 2979 href="/policies/legal-notice" 2980 class="link link--text list-menu__item list-menu__item--link" 2981 > 2982 ç¹å®åå弿³ã«é¢ããè¡¨è¨ 2983 </a> 2984 </li><li> 2985 <a 2986 href="/policies/privacy-policy" 2987 class="link link--text list-menu__item list-menu__item--link" 2988 > 2989 ãã©ã¤ãã·ã¼ããªã·ã¼ 2990 </a> 2991 </li><li> 2992 <a 2993 href="/policies/refund-policy" 2994 class="link link--text list-menu__item list-menu__item--link" 2995 > 2996 è¿éããªã·ã¼ 2997 </a> 2998 </li><li> 2999 <a 3000 href="/pages/%E6%8E%A1%E7%94%A8%E6%83%85%E5%A0%B1" 3001 class="link link--text list-menu__item list-menu__item--link" 3002 > 3003 æ¡ç¨æ å ± 3004 </a> 3005 </li><li> 3006 <a 3007 href="/pages/%E4%BC%9A%E7%A4%BE%E6%A6%82%E8%A6%81" 3008 class="link link--text list-menu__item list-menu__item--link" 3009 > 3010 ä¼ç¤¾æ¦è¦ 3011 </a> 3012 </li></ul></div></div><div class="footer-block--newsletter"><div class="footer-block__newsletter"><h2 class="footer-block__heading inline-richtext">Subscribe news letter</h2><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"> 3013 <div class="newsletter-form__field-wrapper"> 3014 <div class="field"> 3015 <input 3016 id="NewsletterForm--sections--19535085830358__footer" 3017 type="email" 3018 name="contact[email]" 3019 class="field__input" 3020 value="" 3021 aria-required="true" 3022 autocorrect="off" 3023 autocapitalize="off" 3024 autocomplete="email" 3025 3026 placeholder="ã¡ã¼ã«" 3027 required 3028 > 3029 <label class="field__label" for="NewsletterForm--sections--19535085830358__footer"> 3030 ã¡ã¼ã« 3031 </label> 3032 <button 3033 type="submit" 3034 class="newsletter-form__button field__button" 3035 name="commit" 3036 id="Subscribe" 3037 aria-label="ç»é²" 3038 > 3039 <svg 3040 viewBox="0 0 14 10" 3041 fill="none" 3042 aria-hidden="true" 3043 focusable="false" 3044 class="icon icon-arrow" 3045 xmlns="http://www.w3.org/2000/svg" 3046> 3047 <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"> 3048</svg> 3049 3050 </button> 3051 </div></div></form></div><ul class="footer__list-social list-unstyled list-social"><li class="list-social__item"> 3052 <a href="https://instagram.com/kitasando_coffee?igshid=MzRlODBiNWFlZA==" class="link list-social__link" ><svg aria-hidden="true" focusable="false" class="icon icon-instagram" viewBox="0 0 18 18">
3053 <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"/> 3054 <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"> 3055</svg> 3056<span class="visually-hidden">Instagram</span> 3057 </a> 3058 </li></ul></div> 3059 </div><div class="footer__content-bottom"> 3060 <div class="footer__content-bottom-wrapper page-width"> 3061 <div class="footer__column footer__localization isolate"></div> 3062 <div class="footer__column footer__column--info"></div> 3063 </div> 3064 <div class="footer__content-bottom-wrapper page-width footer__content-bottom-wrapper--center"> 3065 <div class="footer__copyright caption"> 3066 <small class="copyright__content" 3067 >© 2026, <a href="/" title="">KITASANDO COFFEE online store</a></small> 3068 <small class="copyright__content"> </small></div> 3069 </div> 3070 </div> 3071</footer> 3072</div> 3073<!-- END sections: footer-group --> 3074 3075 <ul hidden> 3076 <li id="a11y-refresh-page-message">é¸æçµæãé¸ã¶ã¨ããã¼ã¸ãå ¨é¢çã«æ´æ°ããã¾ãã</li> 3077 <li id="a11y-new-window-message">æ°ããã¦ã£ã³ãã¦ã§éãã¾ãã</li> 3078 </ul> 3079 3080
3080<script> 3081 window.shopUrl = 'https://kitasandocoffee.com'; 3082 window.routes = { 3083 cart_add_url: '/cart/add', 3084 cart_change_url: '/cart/change', 3085 cart_update_url: '/cart/update', 3086 cart_url: '/cart', 3087 predictive_search_url: '/search/suggest' 3088 }; 3089 3090 window.cartStrings = { 3091 error: `ã«ã¼ããã¢ãããã¼ãããã¨ãã«ã¨ã©ã¼ãçºçãã¾ãããããä¸åº¦ã試ããã ããã`, 3092 quantityError: `ãã®ã¢ã¤ãã ã¯[quantity]åããã«ã¼ãã«è¿½å ãããã¨ãã§ãã¾ããã` 3093 } 3094 3095 window.variantStrings = { 3096 addToCart: `ã«ã¼ãã«è¿½å ãã`, 3097 soldOut: `売ãåã`, 3098 unavailable: `å©ç¨ã§ãã¾ãã`, 3099 unavailable_with_option: `[value]ã¯å©ç¨ã§ãã¾ãã`, 3100 } 3101 3102 window.accessibilityStrings = { 3103 imageAvailable: `ã®ã£ã©ãªã¼ãã¥ã¼ã§ç»å ([index]) ãå©ç¨ã§ããããã«ãªãã¾ãã`, 3104 shareSuccess: `ãªã³ã¯ãã¯ãªãããã¼ãã«ã³ãã¼ããã¾ãã`, 3105 pauseSlideshow: `ã¹ã©ã¤ãã·ã§ã¼ã䏿忢ãã`, 3106 playSlideshow: `ã¹ã©ã¤ãã·ã§ã¼ãåçãã`, 3107 } 3108 </script>
3108<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3108 3109</body> 3110</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.