1<!doctype html> 2<!--[if IE 9]> <html class="ie9 no-js supports-no-cookies" lang="de"> <![endif]--> 3<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js supports-no-cookies" lang="de"> <!--<![endif]--> 4 5<head> 6 7 8 <!-- Basic and Helper page needs --> 9 <meta charset="utf-8"> 10 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 11 <meta name="viewport" content="width=device-width,initial-scale=1"> 12 <meta name="theme-color" content="#100b04"> 13 <link rel="canonical" href="https://www.dunkelgold-kaffee.de/account/login"><link rel="shortcut icon" href="//www.dunkelgold-kaffee.de/cdn/shop/files/vk_logo_2x_7b29b5c2-d856-46e1-a537-2528c421a9e7_32x32.png?v=1614309019" type="image/png" /><!-- Title and description --> 14 15 <title>Konto | Dunkelgold-Kaffee</title><!-- Helpers --><!-- /snippets/social-meta-tags.liquid --> 16 17 18 <meta property="og:type" content="website"> 19 <meta property="og:title" content="Konto"> 20 21 22<meta property="og:url" content="https://www.dunkelgold-kaffee.de/account/login"> 23<meta property="og:site_name" content="Dunkelgold"> 24 25 26 27 28 <meta name="twitter:card" content="summary"> 29 30 31<!-- CSS --> 32 <link href="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/timber.scss.css?v=179465610977992398101696063038" rel="stylesheet" type="text/css" media="all" /> 33<!-- Link all your CSS files below --> 34<link href="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/plugins.css?v=82178341906691361861596557057" rel="stylesheet" type="text/css" media="all" /> 35 36 37 38 39 40 41 42 43 44<link href="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/style.css?v=125146100633380815451787255785" rel="stylesheet" type="text/css" media="all" /> 45 46 47<link href="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/theme-custom.css?v=58042564890086095361773214516" rel="stylesheet" type="text/css" media="all" /> 48<!-- THIS IS MY CUSTOM CSS --> 49 <link href="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/theme-custom.css?v=58042564890086095361773214516" rel="stylesheet" type="text/css" media="all" /> 50 <!-- END NEW CODE --> 51 52 <!-- Header hook for plugins --> 53
53<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
53<meta name="facebook-domain-verification" content="syfp6ljtr7a89c5826zaq3s5zw6cvu"> 54<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/45336985752/digital_wallets/dialog"> 55<meta id="in-context-paypal-metadata" data-shop-id="45336985752" data-venmo-supported="false" data-environment="production" data-locale="de_DE" data-paypal-v4="true" data-currency="EUR"> 56<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
56<script async="async" src="/checkouts/internal/preloads.js?locale=de-DE"></script>
56 57<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
58<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=de-DE&shop_id=45336985752" crossorigin="anonymous"></script>
vendor: 1 bytes, line 58
58
59<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":45336985752,"countryCode":"DE","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/45336985752","merchantName":"Dunkelgold","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","maestro","masterCard","amex"],"total":{"type":"pending","label":"Dunkelgold","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 59
59
60<script id="shopify-features" type="application/json">{"accessToken":"45a500bb26a2c49bf04c39e05415a8dd","betas":["rich-media-storefront-analytics"],"domain":"www.dunkelgold-kaffee.de","predictiveSearch":true,"shopId":45336985752,"locale":"de"}</script>
vendor: 1 bytes, line 60
60
61<script>var Shopify = Shopify || {}; 62Shopify.shop = "dunkelgold.myshopify.com"; 63Shopify.locale = "de"; 64Shopify.currency = {"active":"EUR","rate":"1.0"}; 65Shopify.country = "DE"; 66Shopify.theme = {"name":"dunkelgold (lezada theme)","id":107481792664,"schema_name":null,"schema_version":null,"theme_store_id":null,"role":"main"}; 67Shopify.theme.handle = "null"; 68Shopify.theme.style = {"id":null,"handle":null}; 69Shopify.cdnHost = "www.dunkelgold-kaffee.de/cdn"; 70Shopify.routes = Shopify.routes || {}; 71Shopify.routes.root = "/"; 72Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 73Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 74Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 75Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 75
75
76<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 76
76
77<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 77
77
78<script> 79 window.ShopifyPay = window.ShopifyPay || {}; 80 window.ShopifyPay.apiHost = "shop.app\/pay"; 81 window.ShopifyPay.redirectState = null; 82</script>
vendor: 1 bytes, line 82
82
83<script> 84 window.Shopify = window.Shopify || {}; 85 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 86 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 87 window.Shopify.SignInWithShop.eligible = true; 88</script>
vendor: 1 bytes, line 88
88
89<script id="shop-js-analytics" type="application/json">{"pageType":"customers/login"}</script>
vendor: 1 bytes, line 89
89
90<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.de.esm.js"></script>
vendor: 1 bytes, line 90
90
91<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.de.esm.js"></script>
vendor: 1 bytes, line 91
91
92<script type="module"> 93 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts.de.esm.js"); 94await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-customer-accounts-sign-up.de.esm.js"); 95 96 window.Shopify.SignInWithShop?.initCustomerAccounts?.(true, {"fedCMEnabled":true,"windoidEnabled":true}); 97window.Shopify.SignInWithShop?.initCustomerAccountsSignUp?.({"fedCMEnabled":true,"windoidEnabled":true}); 98 99</script>
vendor: 1 bytes, line 99
99
100<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.de.esm.js"></script>
vendor: 1 bytes, line 100
100
101<script type="module"> 102 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.de.esm.js"); 103 104 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 105 106</script>
vendor: 1 bytes, line 106
106
107<script> 108 window.Shopify = window.Shopify || {}; 109 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 110 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.de.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.de.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.de.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.de.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.de.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.de.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.de.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.de.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.de.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.de.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.de.esm.js"],"listener":["modules/v2/loader.listener.de.esm.js"],"pay-button":["modules/v2/loader.pay-button.de.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.de.esm.js"],"shop-button":["modules/v2/loader.shop-button.de.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.de.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.de.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.de.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.de.esm.js"],"shop-login":["modules/v2/loader.shop-login.de.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.de.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.de.esm.js"]}; 111</script>
vendor: 1 bytes, line 111
111
112<script id="__st">var __st={"a":45336985752,"offset":7200,"reqid":"f8ecf050-3904-402b-af67-26a6dbc15be0-1790899716","pageurl":"www.dunkelgold-kaffee.de\/account\/login","u":"e3483ee37685"};</script>
vendor: 1 bytes, line 112
112
113<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 113
113
114<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:'Durch hCaptcha geschützt',privacyText:'Datenschutz',termsText:'Allgemeine Geschäftsbedingungen'},(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 114
114
115<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.dunkelgold-kaffee.de/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 115
115
116<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.dunkelgold-kaffee.de/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>
116<script crossorigin="anonymous" defer="defer" src="//www.dunkelgold-kaffee.de/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 116
116
117<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 117
117
118<script> 119 window.Shopify = window.Shopify || {}; 120 window.Shopify.MCP = window.Shopify.MCP || {}; 121 window.Shopify.MCP.enabled = true; 122 window.Shopify.MCP.shop = "dunkelgold.myshopify.com"; 123 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.dunkelgold-kaffee.de\/api\/mcp"; 124 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 125</script>
vendor: 1 bytes, line 125
125
126<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.dunkelgold-kaffee.de\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 127</script>
vendor: 1 bytes, line 127
127
128<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.dunkelgold-kaffee.de/cdn/shopifycloud/portable-wallets/latest/portable-wallets.de.js",t.type="module",document.head.appendChild(t)}}; 129</script>
vendor: 1 bytes, line 129
129
130<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 131 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); 132</script>
vendor: 1 bytes, line 132
132
133<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})}})); 134</script>
134 135<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.dunkelgold-kaffee.de/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 136<style id="shopify-accelerated-checkout-cart"> 137 #shopify-buyer-consent { 138 margin-top: 1em; 139 display: inline-block; 140 width: 100%; 141} 142 143#shopify-buyer-consent.hidden { 144 display: none; 145} 146 147#shopify-subscription-policy-button { 148 background: none; 149 border: none; 150 padding: 0; 151 text-decoration: underline; 152 font-size: inherit; 153 cursor: pointer; 154} 155 156#shopify-subscription-policy-button::before { 157 box-shadow: none; 158} 159 160 </style> 161
162<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
162 163<!-- /snippets/oldIE-js.liquid --> 164 165 166<!--[if lt IE 9]>
167<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 167
167
168<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/respond.min.js?v=52248677837542619231596557012" type="text/javascript"></script>
168 169<link href="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/respond-proxy.html" id="respond-proxy" rel="respond-proxy" /> 170<link href="//www.dunkelgold-kaffee.de/search?q=a70af08e4bb4ba57ace99466c0577636" id="respond-redirect" rel="respond-redirect" />
171<script src="//www.dunkelgold-kaffee.de/search?q=a70af08e4bb4ba57ace99466c0577636" type="text/javascript"></script>
171 172<![endif]--> 173 174<!-- JS -->
174<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/plugins.js?v=141804183720657784181596557009"></script>
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190
191<script src="//www.dunkelgold-kaffee.de/cdn/shopifycloud/storefront/assets/themes_support/shopify_common-5f594365.js" type="text/javascript"></script>
191 192<!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a --> 193 194 195 196 197
197<script defer src='https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-core-latest.js'></script>
197 198 199
199<script> 200 (() => { 201 const isLivePreview = locateLivePreviewParam(); 202 let previewUrl = 'https://app.pandect.es/js/pandectes-live-site-preview.js'; 203 204 205 function locateLivePreviewParam(paramName = 'pandectesLivePreview') { 206 const fromUrl = new URLSearchParams(window.location.search).get(paramName); 207 if (fromUrl) { 208 try { 209 sessionStorage.setItem(paramName, fromUrl); 210 } catch { 211 // storage disabled 212 } 213 return fromUrl; 214 } 215 return sessionStorage.getItem(paramName); 216 } 217 218 /** Injects the preview helper script when live preview is active (URL or sessionStorage). */ 219 function appendLivePreviewScriptIfNeeded(previewModeScriptUrl) { 220 if (!isLivePreview) return; 221 if (document.head.querySelector('script[data-pandectes-live-preview]')) return; 222 const script = document.createElement('script'); 223 script.src = previewModeScriptUrl; 224 script.async = true; 225 script.setAttribute('data-pandectes-live-preview', ''); 226 document.head.appendChild(script); 227 } 228 229 window.pandectesBannerSettings = {"version":"5","timestamp":1773167661,"store":{"id":45336985752,"plan":"basic","primaryLocale":"de","headless":false,"checkoutRootDomain":"","storefrontRootDomain":"","storefrontAccessToken":"","useGeolocation":false},"impressions":{"enabled":false,"timezone":"Europe/Berlin"},"visibility":{"delay":0,"enabled":true,"startHidden":[],"botsFriendly":false,"disableDesignMode":false,"adminMode":false},"regions":{"strict":"*","visible":"*"},"consent":{"redirectOnDeny":false,"reloadOnConsent":false,"broadcastChannel":false,"redirectOnDenyUrl":"https://www.google.com","shopify":true},"theme":{"logos":{"custom":false,"customWidget":false,"banner":"//dunkelgold.myshopify.com/cdn/shop/files/pandectes-banner-logo.png?v=1773167661","widget":"//dunkelgold.myshopify.com/cdn/shop/files/pandectes-reopen-logo.png?v=1773167661"},"mode":"light","border":0,"variables":":host { --float: 16px; --font-size: 14px; --duration: 250ms; --padding: 16px; --radius-dialog:8px; --radius-button:8px; --border-button: 2px; --font-family: inherit; --font-weight-button: 400; --color-base-100: oklch(100% 0 0);--color-base-200: oklch(97% 0 0);--color-base-300: oklch(94% 0 0);--color-base-content: oklch(7.6% 0 0);--color-primary: oklch(7.6% 0 0);--color-primary-content: oklch(100% 0 0);--color-secondary: oklch(7.6% 0 0);--color-secondary-content: oklch(100% 0 0);--color-accent: oklch(7.6% 0 0);--color-accent-content: oklch(100% 0 0);--color-neutral: oklch(7.6% 0 0);--color-neutral-content: oklch(100% 0 0);; }","shadows":true,"isModal":false,"scrollLock":false,"useAnimations":true,"focus":"off","buttons":{"size":"md","border":2,"radius":8,"variants":{"primary":"filled","secondary":"outlined"}},"zIndex":2147483647,"showPoweredBy":true},"close":{"triggers":["button"],"action":"dismiss","pixels":200,"timeout":5},"language":{"multilingual":false,"detection":"browser","fallback":"de","supported":["de"],"allowChange":false},"widget":{"enabled":false,"position":"justify-end items-start","action":"reopen","customTrigger":false},"dialogs":{"notice":{"style":{"type":"box","layout":"vertical-grouped","position":"justify-center items-center","animation":"animation-fade","size":300},"buttons":{"primary":["allow","deny"],"secondary":[]},"features":{"hideHeader":false,"alignCenter":false,"flipButtons":false,"expandableIntro":false,"inlineLinks":true}},"preferences":false,"status":false},"links":{"links":[{"id":"policy","url":"https://www.dunkelgold-kaffee.de/policies/privacy-policy"}],"target":"_blank","respectLocale":false},"storage":{"type":"http","domain":"","duration":365,"lastReset":1615016303},"texts":{"de":{"buttons":{"showLess":"Weniger anzeigen","showMore":"Mehr anzeigen"},"links":{"policy":"Mehr erfahren","google":"Googles Datenschutzbestimmungen","imprint":"Impressum"},"categories":[{"title":"Unbedingt erforderlich","description":"Diese Cookies sind unerlässlich, damit Sie sich auf der Website bewegen und ihre Funktionen nutzen können, z. B. den Zugriff auf sichere Bereiche der Website. Ohne diese Cookies kann die Website nicht richtig funktionieren."},{"title":"Funktionale Cookies","description":"Diese Cookies ermöglichen es der Website, verbesserte Funktionalität und Personalisierung bereitzustellen. Sie können von uns oder von Drittanbietern gesetzt werden, deren Die
229nste wir auf unseren Seiten hinzugefügt haben. Wenn Sie diese Cookies nicht zulassen, funktionieren einige oder alle dieser Dienste möglicherweise nicht richtig."},{"title":"Performance-Cookies","description":"Diese Cookies ermöglichen es uns, die Leistung unserer Website zu überwachen und zu verbessern. Sie ermöglichen es uns beispielsweise, Besuche zu zählen, Verkehrsquellen zu identifizieren und zu sehen, welche Teile der Website am beliebtesten sind."},{"title":"Targeting-Cookies","description":"Diese Cookies können von unseren Werbepartnern über unsere Website gesetzt werden. Sie können von diesen Unternehmen verwendet werden, um ein Profil Ihrer Interessen zu erstellen und Ihnen relevante Werbung auf anderen Websites anzuzeigen. Sie speichern keine direkten personenbezogenen Daten, sondern basieren auf der eindeutigen Identifizierung Ihres Browsers und Ihres Internetgeräts. Wenn Sie diese Cookies nicht zulassen, erleben Sie weniger zielgerichtete Werbung."}],"notice":{"title":"Wir respektieren Ihre Privatsphäre.","message":"<div role=\"alert\"><p>Diese Website verwendet Cookies, um Ihnen das beste Nutzererlebnis zu bieten.</p></div>","dismiss":"OK","allow":"Akzeptieren","deny":"Ablehnen","preferences":"Präferenzen"},"preferences":{"title":"Einwilligungseinstellungen verwalten","message":"Wir verwenden Cookies, um die Funktionalität unserer Website zu optimieren, ihre Leistung zu analysieren und Ihnen ein personalisiertes Nutzererlebnis zu bieten. Einige Cookies sind für den korrekten Betrieb der Website unerlässlich. Diese Cookies können nicht deaktiviert werden. In diesem Fenster können Sie Ihre Cookie-Einstellungen verwalten.","cookieDetails":"Cookie-Details","alwaysActive":"Immer erlaubt","deny":"Alle ablehnen","allow":"Alle akzeptieren","custom":"Einstellungen speichern","dismiss":"SchlieÃen"},"status":{"title":"Cookie-Einstellungen","message":"Ihr aktueller Zustand","allow":"Alle akzeptieren","deny":"Alle ablehnen","dismiss":"SchlieÃen","reopen":"Ãndern Sie Ihre Einwilligung","consentDate":"Zustimmungsdatum","consentId":"Ihre Zustimmungs-ID","hideDetails":"Details ausblenden","showDetails":"Details anzeigen","noConsent":"Keine Zustimmung"},"declaration":{"name":"Name","type":"Typ","vendor":"Anbieter","purpose":"Zweck","retention":"Speicherdauer","expirations":{"declSeconds":"Sekunden","declMinutes":"Minuten","declHours":"Std.","declDays":"Tage","declWeeks":"Woche(n)","declMonths":"Monate","declYears":"Jahre","declSession":"Sitzung"}},"cookies":{"cart":"Enthält Informationen zum Warenkorb des Benutzers.","cart_currency":"Wird nach Abschluss eines Bezahlvorgangs verwendet, um einen neuen leeren Warenkorb mit derselben Währung wie der gerade verwendete zu initialisieren.","csrftoken":"Wird zum Schutz vor Cross-Site-Request-Forgery verwendet.","discount_code":"Speichert einen Rabattcode (erhalten bei einem Online-Shop-Besuch mit einem URL-Parameter) für den nächsten Checkout.","identity-state":"Speichert den Status, bevor Kunden zur Identitätsauthentifizierung weitergeleitet werden.","keep_alive":"Wird verwendet, wenn die internationale Domänenumleitung aktiviert ist, um festzustellen, ob eine Anfrage die erste einer Sitzung ist.","localization":"Wird verwendet, um den Warenkorb im richtigen Land zu lokalisieren.","login_with_
229shop_finalize":"Wird verwendet, um die Anmeldung im Shop zu erleichtern.","master_device_id":"Permanente Gerätekennung.","mid":"Dieses Cookie optimiert die Nutzung von Instagram auf der Website.","NID":"Wird verwendet, um Website-Statistiken zu sammeln und Konversionsraten zu verfolgen.","order":"Wird verwendet, um den Zugriff auf die Daten der Bestelldetailseite des Käufers zu ermöglichen.","shopify_override_user_locale":"Wird als Mechanismus zum Festlegen des Benutzergebietsschemas im Administrator verwendet.","shopify_pay":"Wird verwendet, um einen Käufer bei Shop Pay anzumelden, wenn er im selben Geschäft zur Kasse zurückkehrt.","shopify_pay_redirect":"Wird verwendet, um den Bestellvorgang zu beschleunigen, wenn der Käufer über ein Shop Pay-Konto verfügt.","shop_analytics":"Enthält die erforderlichen Käuferinformationen für Analysen im Shop.","shop_pay_accelerated":"Gibt an, ob ein Käufer für den beschleunigten Checkout mit Shop Pay berechtigt ist.","storefront_digest":"Speichert eine Zusammenfassung des Storefront-Passworts, sodass Händler eine Vorschau ihrer Storefront anzeigen können, während diese passwortgeschützt ist.","user":"Wird in Verbindung mit der Shop-Anmeldung verwendet.","user_cross_site":"Wird in Verbindung mit der Shop-Anmeldung verwendet.","_ab":"Wird verwendet, um zu steuern, wann die Admin-Leiste auf der Storefront angezeigt wird.","_abv":"Behalten Sie den minimierten Zustand der Admin-Leiste bei.","_fbp":"Ein Cookie wird von Facebook platziert, um Besuche auf verschiedenen Websites zu verfolgen.","_identity_session":"Enthält die Identitätssitzungskennung des Benutzers.","_landing_page":"Erfassen Sie die Zielseite des Besuchers, wenn dieser von anderen Websites kommt.","_master_udr":"Permanente Gerätekennung.","_merchant_analytics":"Enthält Analysedaten für die Händlersitzung.","_merchant_essential":"Enthält wesentliche Informationen für die korrekte Funktionalität von Händleroberflächen wie dem Admin-Bereich.","_orig_referrer":"Ermöglicht dem Händler zu erkennen, von wo aus die Leute ihn besuchen.","_pandectes_gdpr":"Wird für die Funktionalität des Cookie-Zustimmungsbanners verwendet.","_shopify_analytics":"Enthält Analysedaten für Käuferoberflächen wie die Storefront oder den Checkout.","_shopify_country":"Wird für Plus-Shops verwendet, bei denen die Preiswährung/das Land über GeoIP festgelegt wird, wodurch GeoIP-Suchen nach der ersten Anfrage vermieden werden.","_shopify_essential":"Enthält wesentliche Informationen für die korrekte Funktionalität eines Shops, z. B. Sitzungs- und Checkout-Informationen sowie Manipulationsschutzdaten.","_shopify_essential_\t":"Enthält ein undurchsichtiges Token, das zur Identifizierung eines Geräts für alle wesentlichen Zwecke verwendet wird.","_shopify_marketing":"Enthält Marketingdaten für Käuferoberflächen wie die Storefront oder den Checkout.","_shopify_s":"Wird zur Identifizierung einer bestimmten Kombination aus Browsersitzung und Shop verwendet. Die Dauer beträgt 30 Minuten nach Ablauf der letzten Nutzung.","_shopify_test":"Ein Test-Cookie, das von Shopify verwendet wird, um die Einrichtung des Shops zu überprüfen.","_shopify_y":"Shopify-Analysen.","_shop_app_essential":"Enthält wesentliche Informationen für die korrekte Funktionalität von Shop.app.","_tracking_consent":"Wird zum Speichern der Präferenzen eines Benutzers verwendet, wenn ein Händler Datenschutzregeln in der Region des Besuchers eingerichtet hat.","__cf_bm":"Wird verwendet, um eingehenden Datenverkehr zu verwalten, der den mit Bots verknüpften Kriterien entspricht.","auth_state_*":"Speichert den Status für die Kundenauthentifizierung."}}},"categories":[{"bitwise":0},{"bitwise":1},{"bitwise":2},{"bitwise":4}],"cookies":[{"name":"localization","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"cart_currency","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_shopify_y","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_pandectes_gdpr","domain":".www.dunkelgold-kaffee.de","type":"http","vendor":"Pandectes","category":0,"retention":"6 month(s)","unit":"declMonths","expires":6},{"name":"_shop_app_essential","domain":".shop.app","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_s","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_shopify_analytics","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_fbp","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Facebook","category":3,"retention":"3 month(s)","unit":"declMonths","expires":3},{"name":"_shopify_test","domain":"de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"_shopify_test","domain":"dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"_shopify_test","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declYears","expires":1},{"name":"_ab","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ab","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"master_device_id","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"storefront_digest","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"storefront_digest","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"master_device_id","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"keep_alive","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"keep_alive","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_tracking_consent","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_tracking_consent","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_country","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_shopify_country","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"cart","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"cart","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay_redirect","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_pay_redirect","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_orig_referrer","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_orig_referrer","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_landing_page","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"_landing_page","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"2 week(s)","unit":"declWeeks","expires":2},{"name":"shopify_pay","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_pay","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"discount_code","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declDays","expires":1},{"name":"discount_code","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declDays","expires":1},{"name":"shop_pay_accelerated","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"order","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"3 week(s)","unit":"declWeeks","expires":3},{"name":"shop_pay_accelerated","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"order","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"3 week(s)","unit":"declWeeks","expires":3}
229,{"name":"login_with_shop_finalize","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"5 minute(s)","unit":"declMinutes","expires":5},{"name":"login_with_shop_finalize","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"5 minute(s)","unit":"declMinutes","expires":5},{"name":"shop_analytics","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shop_analytics","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_abv","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_abv","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_identity_session","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"2 year(s)","unit":"declYears","expires":2},{"name":"_identity_session","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"2 year(s)","unit":"declYears","expires":2},{"name":"_master_udr","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_master_udr","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"auth_state_*","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"25 minute(s)","unit":"declMinutes","expires":25},{"name":"auth_state_*","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"25 minute(s)","unit":"declMinutes","expires":25},{"name":"user","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"user","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"user_cross_site","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"identity-state","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 day(s)","unit":"declDays","expires":1},{"name":"user_cross_site","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"identity-state","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 day(s)","unit":"declDays","expires":1},{"name":"_merchant_essential","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_essential","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential_\t","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_essential_\t","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_analytics","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_merchant_analytics","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_marketing","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_marketing","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"shopify_override_user_locale","domain":"www.dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"__cf_bm","domain":".hcaptcha.com","type":"http","vendor":"CloudFlare","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"shopify_override_user_locale","domain":".dunkelgold-kaffee.de","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"csrftoken","domain":".instagram.com","type":"http","vendor":"Unknown","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"mid","domain":".instagram.com","type":"http","vendor":"Meta","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"__cf_bm","domain":".w.hcaptcha.com","type":"http","vendor":"CloudFlare","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"shopify_recently_viewed","domain":".www.dunkelgold-kaffee.de","type":"http","vendor":"Unknown","category":4,"retention":"3 month(s)","unit":"declMonths","expires":3},{"name":"NID","domain":".google.com","type":"http","vendor":"Google","category":3,"retention":"6 month(s)","unit":"declMonths","expires":6}]}; 230 if (isLivePreview) { 231 if (!window.pandectesBannerSettings.store) { 232 window.pandectesBannerSettings.store = {}; 233 } 234 window.pandectesBannerSettings.store.plan = 'enterprise'; 235 } 236 237 function whenBodyReady(callback) { 238 window.addEventListener('DOMContentLoaded', callback); 239 } 240 241 242 whenBodyReady(function(){ 243 const element = document.createElement('pandectes-cmp'); 244 element.appData = window.pandectesBannerSettings; 245 document.body.appendChild(element); 246 appendLivePreviewScriptIfNeeded(previewUrl); 247 }); 248 249 })() 250 </script>
250 251 252 253 254 255 256 257<!-- END app block --><meta property="og:image" content="https://cdn.shopify.com/s/files/1/0453/3698/5752/files/dunkelgold_35303763-5bfa-4df9-a1f2-a13f65f022df.png?v=1615729609" /> 258<meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0453/3698/5752/files/dunkelgold_35303763-5bfa-4df9-a1f2-a13f65f022df.png?v=1615729609" /> 259<meta property="og:image:width" content="1920" /> 260<meta property="og:image:height" content="1080" /> 261<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
262<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: 45336985752,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 262
262
263<script> 264 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 265</script>
vendor: 1 bytes, line 265
265
266<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}
266).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: 45336985752,storefrontBaseUrl: "https://www.dunkelgold-kaffee.de",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.dunkelgold-kaffee.de/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"285180171","configuration":"{\"pixel_id\":\"380553030144469\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Dunkelgold","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"dunkelgold.myshopify.com","countryCode":"DE","storefrontUrl":"https:\/\/www.dunkelgold-kaffee.de"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.dunkelgold-kaffee.de/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"107481792664","themePublished":"true","eventMetadataId":"71b587f2-ffc6-419c-a797-b30ba178baaa","shopId":"45336985752","storefrontBaseUrl":"https:\/\/www.dunkelgold-kaffee.de","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
266<script> 267 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 268 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 269 window.ShopifyAnalytics.meta.currency = 'EUR'; 270 var meta = {"page":{"requestId":"f8ecf050-3904-402b-af67-26a6dbc15be0-1790899716"}}; 271 for (var attr in meta) { 272 window.ShopifyAnalytics.meta[attr] = meta[attr]; 273 } 274</script>
vendor: 1 bytes, line 274
274
275<script class="analytics"> 276 (function () { 277 var customDocumentWrite = function(content) { 278 var jquery = null; 279 280 if (window.jQuery) { 281 jquery = window.jQuery; 282 } else if (window.Checkout && window.Checkout.$) { 283 jquery = window.Checkout.$; 284 } 285 286 if (jquery) { 287 jquery('body').append(content); 288 } 289 }; 290 291 var hasLoggedConversion = function(token) { 292 if (token) { 293 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 294 } 295 return false; 296 } 297 298 var setCookieIfConversion = function(token) { 299 if (token) { 300 var twoMonthsFromNow = new Date(Date.now()); 301 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 302 303 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 304 } 305 } 306 307 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 308 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 309 if (trekkie.integrations) { 310 return; 311 } 312 trekkie.methods = [ 313 'identify', 314 'page', 315 'ready', 316 'track', 317 'trackForm', 318 'trackLink' 319 ]; 320 trekkie.factory = function(method) { 321 return function() { 322 var args = Array.prototype.slice.call(arguments); 323 args.unshift(method); 324 trekkie.push(args); 325 if (method == 'track' || method == 'page') { 326 var pageUrl; 327 try { 328 pageUrl = window.location.href; 329 } catch (e) {} 330 var pageReferrer; 331 try { 332 pageReferrer = document.referrer; 333 } catch (e) {} 334 try { 335 if (window.__TREKKIE_SHIM_QUEUE == null) { 336 window.__TREKKIE_SHIM_QUEUE = []; 337 } 338 window.__TREKKIE_SHIM_QUEUE.push({ 339 from: 'trekkie-stub', 340 method: method, 341 args: args.slice(1), 342 pageContext: { 343 url: pageUrl, 344 referrer: pageReferrer 345 } 346 }); 347 } catch (e) { 348 // no-op 349 } 350 } 351 return trekkie; 352 }; 353 }; 354 for (var i = 0; i < trekkie.methods.length; i++) { 355 var key = trekkie.methods[i]; 356 trekkie[key] = trekkie.factory(key); 357 } 358 trekkie.load = function(config) { 359 trekkie.config = config || {}; 360 trekkie.config.initialDocumentCookie = document.cookie; 361 var first = document.getElementsByTagName('script')[0]; 362var script = document.createElement('script'); 363script.type = 'text/javascript'; 364script.onerror = function(e) { 365 var scriptFallback = document.createElement('script'); 366 scriptFallback.type = 'text/javascript'; 367 scriptFallback.onerror = function(error) { 368 var Monorail = { 369 produce: function produce(monorailDomain, schemaId, payload) { 370 var currentMs = new Date().getTime(); 371 var event = { 372 schema_id: schemaId, 373 payload: payload, 374 metadata: { 375 event_created_at_ms: currentMs, 376 event_sent_at_ms: currentMs 377 } 378 }; 379 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 380 }, 381 sendRequest: function sendRequest(endpointUrl, payload) { 382 // Try the sendBeacon API 383 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 384 var blobData = new window.Blob([payload], { 385 type: 'text/plain' 386 }); 387 388 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 389 return true; 390 } // sendBeacon was not successful 391 392 } // XHR beacon 393 394 var xhr = new XMLHttpRequest(); 395 396 try { 397 xhr.open('POST', endpointUrl); 398 xhr.setRequestHeader('Content-Type', 'text/plain'); 399 xhr.send(payload); 400 } catch (e) { 401 console.log(e); 402 } 403 404 return false; 405 }, 406 isIos12: function isIos12() { 407 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 408 } 409 }; 410 Monorail.produce('monorail-edge.shopifysvc.com', 411 'trekkie_storefront_load_errors/1.1', 412 {shop_id: 45336985752, 413 theme_id: 107481792664, 414 app_name: "storefront", 415 context_url: window.location.href, 416 source_url: "//www.dunkelgold-kaffee.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 417 418 }; 419 scriptFallback.async = true; 420 scriptFallback.src = '//www.dunkelgold-kaffee.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 421 first.parentNode.insertBefore(scriptFallback, first); 422}; 423script.async = true; 424script.src = '//www.dunkelgold-kaffee.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 425first.parentNode.insertBefore(script, first); 426 427 }; 428 trekkie.load( 429 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":45336985752,"isMerchantRequest":null,"themeId":107481792664,"themeCityHash":"16765134577589824235","contentLanguage":"de","currency":"EUR","eventMetadataId":"71b587f2-ffc6-419c-a797-b30ba178baaa"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 430 ); 431 432 var loaded = false;
433 trekkie.ready(function() { 434 if (loaded) return; 435 loaded = true; 436 437 window.ShopifyAnalytics.lib = window.trekkie; 438 439 var originalDocumentWrite = document.write; 440 document.write = customDocumentWrite; 441 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 442 document.write = originalDocumentWrite; 443 444 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 445 var token = match? match[1]: undefined; 446 if (!hasLoggedConversion(token)) { 447 setCookieIfConversion(token); 448 449 } 450 }); 451 452 window.ShopifyAnalytics.lib.page(null,{"requestId":"f8ecf050-3904-402b-af67-26a6dbc15be0-1790899716","shopifyEmitted":true}); 453 454 var eventsListenerScript = document.createElement('script'); 455 eventsListenerScript.async = true; 456 eventsListenerScript.src = "//www.dunkelgold-kaffee.de/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 457 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 458})();</script>
vendor: 1 bytes, line 458
458
459<script 460 defer 461 src="https://www.dunkelgold-kaffee.de/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 462 data-application="storefront-renderer" 463 data-shop-id="45336985752" 464 data-render-region="gcp-europe-west4" 465 data-page-type="customers/login" 466 data-theme-instance-id="107481792664" 467 data-theme-name="" 468 data-theme-version="" 469 data-monorail-region="shop_domain" 470 data-resource-timing-sampling-rate="10" 471 data-shs="true" 472 data-shs-beacon="true" 473 data-shs-export-with-fetch="true" 474 data-shs-logs-sample-rate="1" 475 data-shs-beacon-endpoint="https://www.dunkelgold-kaffee.de/api/collect" 476></script>
476 477<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822457316000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1790901516000"><meta name="new-cookie-storage-activated" content="t"> 478</head> 479 480<body id="konto" class="template-login " > 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 <div id="agp__root"></div> 510 511
511<script> 512 window.agecheckerVsARddsz9 = { 513 fields: {"active":"WeWwPFtL7cUkv7W3sArZ","session_type":"session","type":"checkbox"}, 514 images: { 515 logo_image: '', 516 modal_image: '', 517 background_image: '', 518 cm_logo_image: '', 519 cm_modal_image: '', 520 cm_background_image: '', 521 }, 522 callbacks: {}, 523 cartUrl: '/cart', 524 525 526 }; 527 528 window.agecheckerVsARddsz9.removeNoPeekScreen = function() { 529 var el = document.getElementById('agp__noPeekScreen'); 530 el && el.remove(); 531 }; 532 533 window.agecheckerVsARddsz9.getCookie = function(name) { 534 var nameEQ = name + '='; 535 var ca = document.cookie.split(';'); 536 for (let i = 0; i < ca.length; i++) { 537 let c = ca[i]; 538 while (c.charAt(0) === ' ') c = c.substring(1, c.length); 539 if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); 540 } 541 return null; 542 }; 543 544 window.agecheckerVsARddsz9.getHistory = function() { 545 if (window.agecheckerVsARddsz9.fields.session_type === 'session') { 546 return sessionStorage.getItem('__age_checker-history'); 547 } 548 return window.agecheckerVsARddsz9.getCookie('__age_checker-history'); 549 }; 550 551 window.agecheckerVsARddsz9.isUrlMatch = function(value) { 552 var currentPath = window.location.pathname; 553 var currentUrlParts = window.location.href.split('?'); 554 var currentQueryString = currentUrlParts[1] || null; 555 556 var ruleUrlParts = value.split('?'); 557 var ruleQueryString = ruleUrlParts[1] || null; 558 var el = document.createElement('a'); 559 el.href = value; 560 var rulePath = el.pathname; 561 562 var currentPathParts = currentPath.replace(/^\/|\/$/g, '').split('/'); 563 var rulePathParts = rulePath.replace(/^\/|\/$/g, '').split('/'); 564 565 if (currentPathParts.length !== rulePathParts.length) { 566 return false; 567 } 568 569 for (var i = 0; i < currentPathParts.length; i++) { 570 if (currentPathParts[i] !== rulePathParts[i] && rulePathParts[i] !== '*') { 571 return false; 572 } 573 } 574 575 return !ruleQueryString || currentQueryString === ruleQueryString; 576 }; 577 578 window.agecheckerVsARddsz9.checkPageRule = function(rule) { 579 var templateData = window.agecheckerVsARddsz9.templateData; 580 var check; 581 switch (rule.type) { 582 case 'template_type': 583 check = ( 584 (rule.value === 'homepage' && templateData.full === 'index') 585 || (rule.value === templateData.name) 586 ); 587 break; 588 case 'template': 589 check = rule.value === templateData.full; 590 break; 591 case 'product': 592 check = parseInt(rule.value, 10) === parseInt(templateData.productId, 10); 593 break; 594 case 'page': 595 check = parseInt(rule.value, 10) === parseInt(templateData.pageId, 10); 596 break; 597 case 'article': 598 check = parseInt(rule.value, 10) === parseInt(templateData.articleId, 10); 599 break; 600 case 'collection': 601 check = ( 602 (parseInt(rule.value, 10) === parseInt(templateData.collectionId, 10)) 603 || (rule.value === templateData.collectionHandle) 604 ); 605 break; 606 case 'tag': 607 check = templateData.tags && templateData.tags.indexOf(rule.value) !== -1; 608 break; 609 case 'url': 610 check = window.agecheckerVsARddsz9.isUrlMatch(rule.value); 611 break; 612 } 613 614 if (rule.logic === 'not_equal') { 615 check = !check; 616 } 617 618 return check; 619 }; 620 621 window.agecheckerVsARddsz9.matchesPageRules = function() { 622 var groups = window.agecheckerVsARddsz9.fields.groups; 623 var arr1 = Object.keys(groups).map((k1) => { 624 return Object.keys(groups[k1]).map(k2 => groups[k1][k2]); 625 }); 626 627 return arr1.some((arr2) => arr2.every((rule) => { 628 return window.agecheckerVsARddsz9.checkPageRule(rule); 629 })); 630 }; 631 632 window.agechecker_developer_api = { 633 on: function(eventName, callback) { 634 if (!window.agecheckerVsARddsz9.callbacks[eventName]) { 635 window.agecheckerVsARddsz9.callbacks[eventName] = []; 636 } 637 window.agecheckerVsARddsz9.callbacks[eventName].push(callback); 638 }, 639 }; 640 </script>
640 641 642 643 644
644<script> 645 window.agecheckerVsARddsz9.isPageMatch = false; 646 </script>
646 647 648 649 650
650<script> 651 if (window.location.pathname === '/age-checker-preview') { 652 window.agecheckerVsARddsz9.isPageMatch = true; 653 } 654 655 if (!window.agecheckerVsARddsz9.isPageMatch) { 656 window.agecheckerVsARddsz9.removeNoPeekScreen(); 657 } 658 </script>
658 659 660 661 662 663 664 665<div id="preloader_active"> 666 <div id="loading-center"> 667 <div id="loading-center-absolute"> 668 <div class="object" id="object_one"></div> 669 <div class="object" id="object_two"></div> 670 <div class="object" id="object_three"></div> 671 672 </div> 673 </div> 674</div>
674<script> 675 $(window).on('load', function() { 676 $('#preloader_active').fadeOut('slow'); 677 }); 678</script>
678<div class="wrapper "><div id="shopify-section-header" class="shopify-section"><header data-section="HeaderSection" id="section-header" class="header header-without-topbar header-sticky header_2"> 679 680 681 682<div class="header-bottom pt-md-20 pb-md-20 pt-sm-20 pb-sm-20"> 683 <div class=" container wide "> 684 <!--======= header bottom container =======--> 685 686 <div class="header-bottom-container"> 687 <div class="logo-with-offcanvas d-flex"> 688 689 <div class="logo"> 690<a href="/" class="theme-logo" aria-label="Startseite Dunkelgold Kaffee"> 691 <img class="logo_none" src="//www.dunkelgold-kaffee.de/cdn/shop/files/Logo_300x300.png?v=1614326394" alt="Dunkelgold"> 692 693 <img src="//www.dunkelgold-kaffee.de/cdn/shop/files/Logo_Kopie_300x300.png?v=1614326394" alt="Dunkelgold"> 694 695 696</a></div> 697 </div> 698 699 700 <!--======= header bottom navigation =======--><div class="header-bottom-navigation"> 701 <div class="site-main-nav d-none d-lg-block"> 702 <nav class="site-nav center-menu"><ul><li><a href="/">Home</a></li><li><a href="https://www.dunkelgold-kaffee.de/collections/all?sort_by=best-selling">Shop</a></li><li><a href="/pages/kaffee-genusswelt">Impressionen Kaffee-Genusswelt</a></li><li><a href="/pages/seminare">Seminare</a></li><li><a href="/pages/mobile-kaffeebar">Mobile Kaffeebar</a></li><li><a href="/pages/barista-schulung">Barista-Schulung</a></li><li><a href="/pages/beratung-und-service">Beratung und Service</a></li><li><a href="/pages/ecm-manufacture">ECM Manufacture</a></li><li><a href="/pages/profitec">Profitec</a></li><li><a href="/pages/torre">Torre</a></li><li><a href="/pages/sanremo">Sanremo</a></li><li><a href="/pages/bentwood">Bentwood</a></li><li><a href="/pages/moccamaster">Moccamaster</a></li><li><a href="/pages/gaggia-milano">Gaggia Milano Automatica</a></li><li><a href="/pages/jura-gastro">Jura Gastro</a></li><li><a href="/pages/necta">NECTA</a></li><li><a href="/policies/legal-notice">Impressum</a></li><li><a href="/policies/privacy-policy">Datenschutz</a></li></ul>
703<script> 704 /* Mega Menu */ 705 $('.mega_dropdown').parent('ul').addClass('mega-menu'); 706 $('.drop_item').parent('ul').addClass('single-column-menu'); 707 $('.multi_item').parent('ul').addClass('single-column-menu '); 708 709</script>
709</nav> 710 </div> 711 </div><!--======= End of header bottom navigation =======--> 712 713 <div class="header-right-container"> 714 <div class="header-right-icons d-flex justify-content-end align-items-center h-100"> 715 <!--======= single-icon =======--> 716 717 718 719 720 <div class="single-icon user-login"> 721 722 <a href="/account/login" aria-label="Kunden Login"> 723 <i class="ion-android-person"></i> 724 </a> 725 726 </div> 727 728 729 <!--======= End of single-icon =======--> 730 <!--======= single-icon =======--> 731 732 733 734 <!--======= End of single-icon =======--> 735 <!--======= single-icon =======--> 736 737 738 <div class="single-icon cart"><a href="javascript:void(0)" id="offcanvas-cart-icon"> 739 <i class="ion-ios-cart"></i> 740 <span class="count bigcounter">0</span> 741 </a> 742 </div> 743 744 <!--======= End of single-icon =======--> 745 </div> 746 <!--======= End of header right icons =======--> 747 748 </div> 749 750 751 </div> 752 753 754 <!-- Mobile Navigation Start Here --> 755 756 <div class="site-mobile-navigation d-block d-lg-none"><div class="mobile-navigation-icon" id="mobile-menu-trigger"> 757 <i></i> 758 </div><!--======= offcanvas mobile menu =======--> 759<div class="menu_offcanvas_overlay"></div> 760<div class="offcanvas-mobile-menu" id="mobile-menu-overlay"> 761 <a href="javascript:void(0)" class="offcanvas-menu-close" id="mobile-menu-close-trigger"> 762 <i class="ti-close"></i> 763 </a> 764 <div class="offcanvas-wrapper"> 765 <div class="offcanvas-inner-content"><div class="offcanvas-mobile-search-area"> 766 <form action="/search" method="get" class="input-group search-bar" role="search"> 767 768 <input type="search" name="q" value="" placeholder="Durchsuchen Sie unseren Shop" aria-label="Durchsuchen Sie unseren Shop"> 769 <button type="submit"> 770 <i class="ion-ios-search-strong"></i> 771 </button> 772 </form> 773 </div><nav class="offcanvas-navigation"> 774 <ul><li><a href="/">Home</a></li><li><a href="https://www.dunkelgold-kaffee.de/collections/all?sort_by=best-selling">Shop</a></li><li><a href="/pages/kaffee-genusswelt">Impressionen Kaffee-Genusswelt</a></li><li><a href="/pages/seminare">Seminare</a></li><li><a href="/pages/mobile-kaffeebar">Mobile Kaffeebar</a></li><li><a href="/pages/barista-schulung">Barista-Schulung</a></li><li><a href="/pages/beratung-und-service">Beratung und Service</a></li><li><a href="/pages/ecm-manufacture">ECM Manufacture</a></li><li><a href="/pages/profitec">Profitec</a></li><li><a href="/pages/torre">Torre</a></li><li><a href="/pages/sanremo">Sanremo</a></li><li><a href="/pages/bentwood">Bentwood</a></li><li><a href="/pages/moccamaster">Moccamaster</a></li><li><a href="/pages/gaggia-milano">Gaggia Milano Automatica</a></li><li><a href="/pages/jura-gastro">Jura Gastro</a></li><li><a href="/pages/necta">NECTA</a></li><li><a href="/policies/legal-notice">Impressum</a></li><li><a href="/policies/privacy-policy">Datenschutz</a></li></ul> 775 </nav> 776 777 778 779 <div class="offcanvas-widget-area"> 780 <!--Off Canvas Widget Social Start--><div class="off-canvas-widget-social social-icons--footer"> 781 <ul class="social-icon"> 782 783 <li><a data-tippy-content="facebook" data-tippy-inertia="true" data-tippy-animation="shift-away" data-tippy-delay="50" data-tippy-arrow="true" data-tippy-theme = "sharpborder" href="https://www.facebook.com/dorfroesterei/" aria-label="Social Seite von Dunkelgold Kaffee"><i class="fa fa-facebook"></i></a></li> 784 785 786 <li><a data-tippy-content="instagram" data-tippy-inertia="true" data-tippy-animation="shift-away" data-tippy-delay="50" data-tippy-arrow="true" data-tippy-theme = "sharpborder" href="https://www.instagram.com/dunkelgoldkaffee/" aria-label="Social Seite von Dunkelgold Kaffee"><i class="fa fa-instagram"></i></a></li> 787 788 789 790 791 792 793 794</ul> 795 </div><!--Off Canvas Widget Social End--> 796 </div> 797 </div> 798 </div> 799</div> 800</div> 801 802 <!-- Mobile Navigation End Here --> 803 804 </div> 805 </div> 806 807 <!--======= End of header bottom =======--> 808</header><div class="search-overlay" id="search-overlay"> 809 <span class="close-icon search-close-icon"> 810 <a href="javascript:void(0)" id="search-close-icon" aria-label="Suche schlieÃen"> 811 <i class="ti-close"></i> 812 </a> 813 </span> 814 <div class="search-overlay-content"> 815 <div class="input-box"> 816 <form action="/search" method="get" class="input-group search-bar" role="search"> 817 818 <input type="search" name="q" value="" placeholder="Durchsuchen Sie unseren Shop" aria-label="Durchsuchen Sie unseren Shop"> 819 <button type="submit" aria-label="Suche starten"> 820 <i class="ion-ios-search-strong"></i> 821 </button> 822 </form> 823 </div> 824 </div> 825</div> 826 827 828 829 830 831 832 833 834<div class="cart-overlay" id="cart-overlay"> 835 <div class="cart-overlay-close inactive"></div> 836 <div class="cart-overlay-content"> 837 <!--======= close icon =======--> 838 839 <span class="close-icon" id="cart-close-icon" aria-label="Warenkorb schlieÃen"> 840 <a href="javascript:void(0)"> 841 <i class="ion-android-close"></i> 842 </a> 843 </span> 844 845 846 <div class="offcanvas-cart-content-container"> 847 848 849 <h3 class="cart-title">Warenkorb</h3> 850 851 <div class="single-cart-product empty" style="display:block;"> 852 <h3>Ihr Warenkorb ist im Moment leer.</h3> 853 </div> 854 855 <div class="cart-product-wrapper" style="display:none;"> 856 <div class="cart-product-container ps-scroll single-cart-item-loop"> 857 <!--======= single cart product =======--> 858 859 860 <!--======= End of single cart product =======--> 861 </div> 862 863 <!--======= subtotal calculation =======--> 864 865 <p class="cart-subtotal">
866 <span class="subtotal-title"> Summe:</span> 867 <span class="subtotal-amount subtotal-amount shopping-cart__total">â¬0,00</span> 868 </p> 869 870 <!--======= End of subtotal calculation =======--> 871 872 <!--======= cart buttons =======--> 873 <div class="cart-buttons "><a href="/cart">Warenkorb anzeigen</a></div> 874 875 876 </div> 877 878 </div> 879 880 </div> 881</div><style>#block-1561896284832 .mega_banner_content .title1 { 882 color: #333333; 883 } 884 #block-1561896284832 .mega_banner_content .title2 { 885 color: #333333; 886 } 887 #block-1561896284832 .mega_banner_content .content { 888 color: #333333; 889 } 890 #block-1561896284832 .mega_banner_content .banner__btn { 891 color: #333333; 892 } 893 #block-1561896284832 .product_menu_title { 894 color: #333333; 895 } 896 #block-1561896284832 .menu_sin_product .product-title a{ 897 color: #333333; 898 } 899 #block-1561896284832 .menu_sin_product .product__price span{ 900 color: #333333; 901 } 902 #block-1561896284832 .menu_sin_product .product__price .main-price.discounted span{ 903 color: #aaaaaa; 904 } 905 #block-1561896284832 .menu_product_contain .owl-nav > div { 906 color: #333333; 907 background: #ffffff; 908 }#block-1562411841132 .mega_banner_content .title1 { 909 color: #ffffff; 910 } 911 #block-1562411841132 .mega_banner_content .title2 { 912 color: #ffffff; 913 } 914 #block-1562411841132 .mega_banner_content .content { 915 color: #ffffff; 916 } 917 #block-1562411841132 .mega_banner_content .banner__btn { 918 color: #ffffff; 919 } 920 #block-1562411841132 .product_menu_title { 921 color: #333333; 922 } 923 #block-1562411841132 .menu_sin_product .product-title a{ 924 color: #333333; 925 } 926 #block-1562411841132 .menu_sin_product .product__price span{ 927 color: #333333; 928 } 929 #block-1562411841132 .menu_sin_product .product__price .main-price.discounted span{ 930 color: #aaaaaa; 931 } 932 #block-1562411841132 .menu_product_contain .owl-nav > div { 933 color: #333333; 934 background: #ffffff; 935 }.theme-logo img{ 936 max-width: 300px; 937 } 938</style></div><!-- BREADCRUMBS SETCTION START --><div class="breadcrumb-area overlay-bg"> 939 <div class="container"> 940 <div class="row"> 941 <div class="col-lg-12 text-left "><h1 class="breadcrumb-title">Konto</h1> 942<nav class="" role="navigation" aria-label="breadcrumbs"> 943 <ul class="breadcrumb-list"> 944 945 <li> 946 <a href="/" title="Zurück zur Startseite">Startseite</a> 947 </li> 948 <li> 949 950 951 952 <span>Konto</span> 953 954 955 </li> 956 </ul> 957</nav> 958 959</div> 960 </div> 961 </div> 962</div><!-- BREADCRUMBS SETCTION END --><main> 963 <div class="customer-page theme-default-margin"> 964 <div class="container"> 965 <div class="row"> 966 <div class="col-lg-6 offset-lg-3 col-md-8 offset-md-2"> 967 <div class="login"> 968 <div id="CustomerLoginForm"> 969 <form method="post" action="/account/login" id="customer_login" accept-charset="UTF-8" data-login-with-shop-sign-in="true"><input type="hidden" name="form_type" value="customer_login" /><input type="hidden" name="utf8" value="â" /> 970 971 <div class="login-form-container"> 972 <div class="login-text"> 973 <h2>Login</h2><p>Bitte loggen Sie sich mit den untenstehenden Kontodetails ein.</p></div> 974 <div class="login-form"> 975 <input type="email" name="customer[email]" id="CustomerEmail" class="input-full" placeholder="E-Mail" autocorrect="off" autocapitalize="off" autofocus> 976 977 <input type="password" value="" name="customer[password]" id="CustomerPassword" class="input-full" placeholder="Passwort"> 978 979 <div class="login-toggle-btn"> 980 <div class="form-action-button"> 981 <button type="submit" class="theme-default-button">Anmelden</button> 982 983 <a href="#recover" id="RecoverPassword">Haben Sie Ihr Passwort vergessen?</a> 984 985 </div> 986 <div class="account-optional-action"> 987 <a href="/account/register" id="customer_register_link">Account erstellen</a> 988 </div> 989 </div> 990 </div> 991 </div> 992 </form> 993 </div> 994 <div id="RecoverPasswordForm" style="display: none;"> 995 <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="â" /> 996 997 998 <div class="login-form-container"> 999 <div class="login-text"> 1000 <h2>Passwort zurücksetzen</h2> 1001 <p>Wir werden Ihnen eine E-Mail zum Zurücksetzen des Passworts schicken.</p> 1002 </div> 1003 <div class="login-form"> 1004 <input type="email" value="" name="email" id="RecoverEmail" class="input-full" placeholder="E-Mail" autocorrect="off" autocapitalize="off"> 1005 <div class="login-toggle-btn"> 1006 <div class="form-action-button"> 1007 <button type="submit" class="theme-default-button">Absenden</button> 1008 <a href="#" id="HideRecoverPasswordLink">Abbrechen</a> 1009 </div> 1010 </div> 1011 </div> 1012 </div> 1013 </form> 1014 </div> 1015 1016 </div> 1017 </div> 1018 </div> 1019 </div> 1020</div> 1021 1022 1023 </main> 1024<div id="shopify-section-footer_3" class="shopify-section"> 1025<div class="footer-container footer-two pt-100 pt-sm-85 pt-xs-85 footer_overlay " id="section-footer_3"> 1026 <div class=" container "> 1027 <div class="row"> 1028 1029 <!--======= custom container =======--> 1030 1031 <div class="custom-footer-container"> 1032 1033 <!--======= single widget =======--> 1034 1035 1036 <div class="col footer-single-widget"> 1037 1038 <p class="footer-email"><a href=""><div style="pointer-events: none; margin-bottom: 30px !important; color: white;"> 1039<h3 style="padding-top:0; font-size: 18px; color: white;">Adresse:</h3> 1040<p style="-webkit-font-smoothing: antialiased; font-size: 14px;">Peterzeller StraÃe 9<br>72290 LoÃburg-Betzweiler</p> 1041<h3 style="padding-top:0; font-size: 18px; color: white;">Ãffnungszeiten:</h3> 1042<p style="-webkit-font-smoothing: antialiased; font-size: 14px;">MO  9:00 - 12:00 Uhr <br> 1043      14:00 - 18:00 Uhr<br> 1044DI           geschlossen<br> 1045MI  13:00 - 18:00 Uhr<br> 1046DO 14:00 - 18:00 Uhr<br> 1047Fr   14:00 - 18:00 Uhr<br> 1048SA   9:00 - 12:00 Uhr 1049<br>und nach Vereinbarung.</p> 1050</div> 1051<p style="padding-bottom:10px; color:white;"><a href="mailto:[email protected]">[email protected]</a></p> 1052<p style="padding-bottom:10px; color:white;">07455.9476890</p></a></p> 1053 1054 1055 1056 1057 <div class="store-icons"> 1058 <a href=""> 1059 <img src=" https://via.placeholder.com/344x48 " class="img-fluid" alt=""> 1060 </a> 1061 </div> 1062 </div> 1063 1064 <!--======= End of single widget =======--> 1065 1066 1067 1068 1069 1070 <!--======= single widget =======--> 1071 <div class="col footer-single-widget"> 1072 1073 1074 1075 <div class="footer-nav-container footer-social-links footer-social-links--change-color"> 1076 <nav> 1077 <ul> 1078 1079 <li><a href="https://www.facebook.com/dorfroesterei/" aria-label="Facebook Seite von Dunkelgold Kaffee"><i class="fa fa-facebook"></i> </a></li> 1080 1081 1082 <li><a href="https://www.instagram.com/dunkelgoldkaffee/" aria-label="Instagram Seite von Dunkelgold Kaffee"><i class="fa fa-instagram"></i> </a></li> 1083 1084 1085 1086 1087 </ul> 1088 </nav> 1089 </div> 1090 </div> 1091 1092 1093 1094 1095 1096 1097 1098 1099 </div> <!-- end custom container --> 1100 1101 1102 1103 1104 1105 1106 1107 <div class="col footer-single-widget"> 1108 1109 <div class="footer-subscription-widget footer-subscription-widget--change-subscription-style"> 1110 1111 <h2 class="footer-subscription-title"><span id="newsletter-submit">DUNKELGOLD Newsletter</span></h2> 1112 1113 <!--======= subscription form =======--><form method="post" action="/contact#Contact_footer_3" id="Contact_footer_3" accept-charset="UTF-8" class="shopify_newsletter__form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /><div class="subscription-form"><div class="form__inner"> 1114 <input type="hidden" name="contact[tags]" value="newsletter"> 1115 <input type="email" name="contact[email]" id="Email" value="" 1116 placeholder="E-Mail" aria-label="[email protected]" autocorrect="off" autocapitalize="off"> 1117 <button type="submit" name="commit" id="Subscribe" aria-label="Newsletter abonnieren"><i class="ion-ios-arrow-thin-right"></i></button> 1118 </div> 1119 </div></form></div> 1120 1121 </div> 1122 1123 1124 1125 1126 1127 1128 </div> 1129 1130 1131 1132 1133 <div class="row align-items-center mt-50 mt-sm-0 mt-xs-0 pb-15"> 1134 1135 1136 1137 1138 1139 1140 1141 <div class=" col-lg-6 col-md-6 text-left col-sm-12 footer-single-widget mb-0 mb-sm-30"> 1142 <div class="copyright-text"> 1143 <p>© 2020 Dunkelgold Kaffee-Genusswelt | <a href="/policies/legal-notice" title="Legal Notice">Impressum</a> | <a href="/policies/privacy-policy" title="Privacy Policy">Datenschutz</a></p> 1144 </div> 1145 1146 </div> 1147 1148 1149 1150 1151 <div class=" col-lg-6 col-md-6 text-left col-sm-12 footer-single-widget mb-0 mb-sm-30"> 1152 <!--======= logo =======--> 1153 1154 <div class="logo mb-0"><a href="/" aria-label="Dunkelgold Logo"> 1155 <img src="//www.dunkelgold-kaffee.de/cdn/shop/files/Logo1_300x300.png?v=1614326415" alt="Dunkelgold"> 1156 1157 </a></div> 1158 1159 <!--======= End of logo =======--> 1160 </div> 1161 1162 1163 1164 1165 </div> 1166 1167 1168 1169 </div> 1170</div> 1171 1172 1173 1174<style> 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 #section-footer_3.footer-container.footer-two{ 1189 background: #100b04 no-repeat scroll center center / cover; 1190 } 1191 #section-footer_3 .footer-single-widget h5.widget-title,#section-footer_3 .footer-subscription-widget .footer-subscription-title{ 1192 color: #ffffff; 1193 } 1194 #section-footer_3 .footer-single-widget .copyright-text p,.footer-nav-container nav ul li a,.footer-subscription-widget .subscription-subtitle,.footer-single-widget p.footer-email,.footer-single-widget p.footer-phone { 1195 color: #ffffff; 1196 } 1197 #section-footer_3 .footer-social-links ul li a i { 1198 color: #ffffff; 1199 } 1200 #section-footer_3 .mailchimp-success{ 1201 color: ; 1202 } 1203 #section-footer_3 .footer-nav-container nav ul li a:hover,.footer-subscription-widget--change-subscription-style .subscription-form button:hover,.footer-single-widget p.footer-email a:hover{ 1204 color: #ffffff; 1205 } 1206 .footer-subscription-widget .subscription-form input,.footer-subscription-widget .subscription-form input:focus { 1207 border-color: #707070; 1208 } 1209 1210 .footer-subscription-widget--change-subscription-style .subscription-form button { 1211 color: #ffffff; 1212 } 1213 .footer-subscription-widget .subscription-form input { 1214 color: #ffffff 1215 } 1216 .footer-subscription-widget .subscription-form input::-webkit-input-placeholder { 1217 color: #ffffff; 1218 } 1219 .footer-subscription-widget .subscription-form input:-ms-input-placeholder { 1220 color: #ffffff; 1221 } 1222 .footer-subscription-widget .subscription-form input::-ms-input-placeholder { 1223 color: #ffffff; 1224 } 1225 .footer-subscription-widget .subscription-form input::placeholder { 1226 color: #ffffff; 1227 } 1228 .footer-subscription-widget .subscription-form input:-ms-input-placeholder { 1229 color: #ffffff; 1230 } 1231 .footer-subscription-widget .subscription-form input::-ms-input-placeholder { 1232 color: #ffffff; 1233 } 1234 1235 1236 1237 1238 1239 1240 1241 1242 #section-footer_3.footer_overlay::before { 1243 background: #100b04; 1244 opacity: 0; 1245 } 1246 1247</style> 1248 1249 1250 1251</div> 1252</div> 1253 1254 <!-- Necessary JS --><!-- Ajax Cart js -->
1255<script src="//www.dunkelgold-kaffee.de/cdn/shopifycloud/storefront/assets/themes_support/option_selection-b017cd28.js"></script>
vendor: 1 bytes, line 1255
1255
1256<script src="//www.dunkelgold-kaffee.de/cdn/shopifycloud/storefront/assets/themes_support/api.jquery-7ab1a3a4.js"></script>
vendor: 1 bytes, line 1256
1256
1257<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/cart.api.js?v=81895520633717955651601398785"></script>
1257 1258 1259 1260 1261 1262
1263<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/main.js?v=74800415695665281181596557057"></script>
1263 1264 1265 1266 1267 1268
1269<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/fastclick.min.js?v=118541032782539626751596556976"></script>
vendor: 1 bytes, line 1269
1269
1270<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/timber.js?v=135542742435014693071598128617"></script>
1270 1271 1272 1273 1274
1275<script> 1276 1277</script>
1277 1278<!-- modalAddToCart Error --> 1279<div class="modal fade ajax-popup error-ajax-popup" id="modalAddToCartError" tabindex="-1" role="dialog" aria-hidden="true"> 1280 <div class="modal-dialog white-modal modal-md"> 1281 <div class="modal-content "> 1282 <div class="modal-body"> 1283 <div class="modal-content-text"> 1284 <p class="error_message"></p> 1285 </div> 1286 <div class="modal-close"> 1287 <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times-circle"></i></button> 1288 </div> 1289 </div> 1290 </div> 1291 </div> 1292</div> 1293 1294 1295 1296 1297 1298
1299<script> 1300 $(function() { 1301 // Current Ajax request. 1302 var currentAjaxRequest = null; 1303 // Grabbing all search forms on the page, and adding a .search-results list to each. 1304 var searchForms = $('form[action="/search"]').css('position','relative').each(function() { 1305 // Grabbing text input. 1306 var input = $(this).find('input[name="q"]'); 1307 // Adding a list for showing search results. 1308 var offSet = input.position().top + input.innerHeight(); 1309 $('<ul class="search-results home-two"></ul>').css( { 'position': 'absolute', 'left': '0px', 'top': offSet } ).appendTo($(this)).hide(); 1310 // Listening to keyup and change on the text field within these search forms. 1311 input.attr('autocomplete', 'off').bind('keyup change', function() { 1312 // What's the search term? 1313 var term = $(this).val(); 1314 // What's the search form? 1315 var form = $(this).closest('form'); 1316 // What's the search URL? 1317 var searchURL = '/search?type=product&q=' + term; 1318 // What's the search results list? 1319 var resultsList = form.find('.search-results'); 1320 // If that's a new term and it contains at least 3 characters. 1321 if (term.length > 3 && term != $(this).attr('data-old-term')) { 1322 // Saving old query. 1323 $(this).attr('data-old-term', term); 1324 // Killing any Ajax request that's currently being processed. 1325 if (currentAjaxRequest != null) currentAjaxRequest.abort(); 1326 // Pulling results. 1327 currentAjaxRequest = $.getJSON(searchURL + '&view=json', function(data) { 1328 // Reset results. 1329 resultsList.empty(); 1330 // If we have no results. 1331 if(data.results_count == 0) { 1332 // resultsList.html('<li><span class="title">No results.</span></li>'); 1333 // resultsList.fadeIn(100); 1334 resultsList.hide(); 1335 } else { 1336 // If we have results. 1337 $.each(data.results, function(index, item) { 1338 var link = $('<a></a>').attr('href', item.url); 1339 link.append('<span class="thumbnail"><img src="' + item.thumbnail + '" /></span>'); 1340 link.append('<span class="title">' + item.title + '</span>'); 1341 link.wrap('<li></li>'); 1342 resultsList.append(link.parent()); 1343 }); 1344 // The Ajax request will return at the most 10 results. 1345 // If there are more than 10, let's link to the search results page. 1346 if(data.results_count > 10) { 1347 resultsList.append('<li><span class="title"><a href="' + searchURL + '">See all results (' + data.results_count + ')</a></span></li>'); 1348 } 1349 resultsList.fadeIn(100); 1350 } 1351 }); 1352 } 1353 }); 1354 }); 1355 // Clicking outside makes the results disappear. 1356 $('body').bind('click', function(){ 1357 $('.search-results').hide(); 1358 }); 1359 }); 1360</script>
1360 1361 1362<!-- Some styles to get you started. --> 1363<style> 1364 .search-results { 1365 z-index: 8889; 1366 list-style-type: none; 1367 width: 300px; 1368 margin: 0; 1369 padding: 0; 1370 background: #ffffff; 1371 border: 1px solid #cccccc; 1372 border-radius: 0px; 1373 -webkit-box-shadow: 0px 4px 7px 0px rgba(0,0,0,0.1); 1374 box-shadow: 0px 4px 7px 0px rgba(0,0,0,0.1); 1375 overflow: hidden; 1376 } 1377 .search-results li { 1378 display: block; 1379 width: 100%; 1380 height: 38px; 1381 margin: 0; 1382 padding: 0; 1383 border-top: 1px solid #cccccc; 1384 line-height: 38px; 1385 overflow: hidden; 1386 } 1387 .search-results li:first-child { 1388 border-top: none; 1389 } 1390 .search-results .title { 1391 float: left; 1392 width: 250px; 1393 padding-left: 8px; 1394 white-space: nowrap; 1395 overflow: hidden; 1396 /* The text-overflow property is supported in all major browsers. */ 1397 text-overflow: ellipsis; 1398 -o-text-overflow: ellipsis; 1399 text-align: left; 1400 font-size:12px; 1401 line-height:38px; 1402 color:#515151; 1403 } 1404 .search-results .title:hover{ 1405 color:#CE9634; 1406 } 1407 .search-results .thumbnail { 1408 float: left; 1409 display: block; 1410 width: 32px; 1411 height: 32px; 1412 margin: 3px 0 3px 3px; 1413 padding: 0; 1414 text-align: center; 1415 overflow: hidden; 1416 border-radius:0px; 1417 } 1418</style> 1419 1420
1421<script> 1422 $('.ajax-spin-cart').on('click', function() { 1423 $(this).addClass('loading add-item'); 1424 setTimeout(function () { 1425 $('.ajax-spin-cart').removeClass('loading'); 1426 },1000); 1427 setTimeout(function () { 1428 $('.ajax-spin-cart').removeClass("add-item"); 1429 },2000); 1430 1431 }); 1432</script>
1432 1433 1434<div class="loading-modal compare_modal">Translation missing: de.general.search.loading</div> 1435<div class="ajax-success-compare-modal compare_modal" id="moda-compare" tabindex="-1" role="dialog" style="display:none"> 1436 <div class="overlay"> </div> 1437 <div class="modal-dialog modal-lg"> 1438 <div class="modal-content content" id="compare-modal"> 1439 <div class="modal-header"> 1440 <div class="modal-close"> 1441 <span class="compare-modal-close"><i class="fa fa-times-circle"></i></span> 1442 </div> 1443 <h4 class="modal-title">Produkt vergleichen</h4> 1444 </div> 1445 <div class="modal-body"> 1446 <div class="table-wrapper table-responsive"> 1447 <table class="table table-hover"> 1448 <thead> 1449 <tr class="th-compare"> 1450 <th></th> 1451 </tr> 1452 </thead> 1453 <tbody id="table-compare"> 1454 </tbody> 1455 </table> 1456 </div> 1457 </div> 1458 </div> 1459 </div> 1460</div> 1461 1462<!-- scroll to top --> 1463 <a href="#" class="scroll-top" aria-label="Nach oben scrollen"></a> 1464 <!-- end of scroll to top --> 1465
1465<script src="//ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js" type="text/javascript"></script>
1465 1466
1466<script src="//www.dunkelgold-kaffee.de/cdn/shop/t/2/assets/jquery.products.min.js?v=171679271478575830981596556995" type="text/javascript"></script>
1466 1467 1468 1469 1470 1471<style> .wb-btn-trigger {margin-left: 60px; margin-bottom: -5px;} </style> 1472<div id="shopify-block-AYjNLSHk4TmJUV2VSW__2783554875815837874" class="shopify-block shopify-app-block"> 1473 <!-- BEGIN app snippet: app-data --> 1474<!-- BEGIN app snippet: widget-boot -->
1474<script> 1475 (function () { 1476 // Headless / DOM-rebuild storefronts (e.g. Helium builder) re-render the whole 1477 // document after hydration, wiping both this injected loader script and the 1478 // widget nodes it mounts â the widget silently disappears. This closure survives 1479 // such rebuilds (it lives in JS memory even after its own script node is removed), 1480 // so it re-injects the loader whenever the widget vanishes after having mounted. 1481 if (window.__seaA11yLoaderHealer) return; 1482 window.__seaA11yLoaderHealer = true; 1483 1484 var LOADER_BASE = 'https://cdn-accessibility.avada.io/scripttag'; 1485 var LOADER_FILE = 'sea-accessibility-loader.min.js'; 1486 // Every id/class the loader or main bundle renders when the widget is present. 1487 var WIDGET_SELECTORS = [ 1488 '#Sea-Accessibility__LoaderButton', 1489 '#Sea-Accessibility__button', 1490 '#Sea-Accessibility__ButtonWidget--Inline', 1491 '#SEA_ACCESSIBILITY_WidgetIconContainer', 1492 '.Sea-Accessibility__Loader' 1493 ]; 1494 var MAX_REHEALS = 20; // safety cap so a hostile theme can never loop forever 1495 1496 function widgetPresent() { 1497 for (var i = 0; i < WIDGET_SELECTORS.length; i++) { 1498 if (document.querySelector(WIDGET_SELECTORS[i])) return true; 1499 } 1500 return false; 1501 } 1502 1503 function loaderScriptPresent() { 1504 var scripts = document.getElementsByTagName('script'); 1505 for (var i = 0; i < scripts.length; i++) { 1506 if (scripts[i].src && scripts[i].src.indexOf('sea-accessibility-loader') !== -1) return true; 1507 } 1508 return false; 1509 } 1510 1511 // SEC-P4 H1 follow-up (SB-17345): the loader stays a fixed filename (it's embedded 1512 // here by literal name), so it can't be pinned by content-hash like the main bundle. 1513 // Instead we fetch its sha384 from a manifest that ships in the very same scripttag 1514 // build/deploy as the loader bundle itself, so the two can never drift apart the way 1515 // a hash hardcoded into this Liquid template could (this template and the scripttag 1516 // bundle deploy on separate, unsynchronized pipelines). 1517 var loaderManifest = null; // {file, integrity} once fetched; stays null forever on failure 1518 var manifestFetchStarted = false; 1519 1520 function fetchLoaderManifest(onDone) { 1521 if (loaderManifest || manifestFetchStarted) return onDone(); 1522 manifestFetchStarted = true; 1523 var done = false; 1524 function finish() { 1525 if (done) return; 1526 done = true; 1527 onDone(); 1528 } 1529 try { 1530 var xhr = new XMLHttpRequest(); 1531 xhr.open('GET', LOADER_BASE + '/loader-sri-manifest.json?v=' + Date.now(), true); 1532 xhr.timeout = 3000; 1533 xhr.onload = function () { 1534 try { 1535 if (xhr.status >= 200 && xhr.status < 300) { 1536 var manifest = JSON.parse(xhr.responseText); 1537 if (manifest && manifest.file && manifest.integrity) loaderManifest = manifest; 1538 } 1539 } catch (e) {} 1540 finish(); 1541 }; 1542 xhr.onerror = finish; 1543 xhr.ontimeout = finish; 1544 xhr.send(); 1545 } catch (e) { 1546 finish(); 1547 } 1548 } 1549 1550 function injectLoader() { 1551 // Fail-open by design: a manifest fetch hiccup (network flake, ad blocker on the 1552 // XHR, CDN blip) must never take the whole accessibility widget down. Worst case 1553 // we load the loader unpinned, same as before this fix. 1554 fetchLoaderManifest(function () { 1555 var s = document.createElement('script'); 1556 if (loaderManifest) { 1557 s.src = LOADER_BASE + '/' + loaderManifest.file + '?v=' + Date.now(); 1558 s.integrity = loaderManifest.integrity; 1559 s.crossOrigin = 'anonymous'; 1560 } else { 1561 s.src = LOADER_BASE + '/' + LOADER_FILE + '?v=' + Date.now(); 1562 } 1563 s.defer = true; 1564 (document.head || document.documentElement).appendChild(s); 1565 }); 1566 } 1567 1568 injectLoader(); 1569 1570 // Only reheal once the widget has actually mounted and then disappeared: this 1571 // avoids re-injecting on stores where the widget is legitimately absent 1572 // (country-hidden, inline target missing) or where a script optimiser merely 1573 // strips executed
1573<script> tags without touching the widget. 1574 var everMounted = false; 1575 var reheals = 0; 1576 var rehealing = false; 1577 1578 function check() { 1579 if (widgetPresent()) { 1580 everMounted = true; 1581 return; 1582 } 1583 if (!everMounted || rehealing || reheals >= MAX_REHEALS) return; 1584 // Widget gone. The loader
1584<script> being gone too is the DOM-rebuild signal. 1585 if (loaderScriptPresent()) return; 1586 rehealing = true; 1587 reheals++; 1588 injectLoader(); 1589 // Give the freshly injected loader a beat to mount before re-arming. 1590 setTimeout(function () { rehealing = false; }, 1000); 1591 } 1592 1593 if (typeof MutationObserver !== 'undefined') { 1594 var start = function () { 1595 try { 1596 new MutationObserver(check).observe(document.documentElement, { 1597 childList: true, 1598 subtree: true 1599 }); 1600 } catch (e) {} 1601 }; 1602 if (document.body) start(); 1603 else document.addEventListener('DOMContentLoaded', start); 1604 } 1605 })(); 1606</script>
1606 1607<!-- END app snippet --> 1608 1609 1610 1611 1612 <link href='https://fonts.cdnfonts.com/css/noto-serif-gurmukhi' rel='stylesheet'> 1613 <link href='https://fonts.cdnfonts.com/css/open-dyslexic' rel='stylesheet'> 1614 <style> 1615 @font-face { 1616 font-family: 'Sea-Accessibility-Open-Dyslexic'; 1617 font-style: normal; 1618 font-weight: 400; 1619 font-display: swap; 1620 src: url('https://fonts.cdnfonts.com/s/29616/open-dyslexic.woff') format('woff'); 1621 } 1622 1623 @font-face { 1624 font-family: 'Sea-Accessibility'; 1625 font-style: normal; 1626 font-weight: 400; 1627 font-display: swap; 1628 src: url('https://fonts.cdnfonts.com/s/107479/NotoSerifGurmukhi[wght].woff') format('woff'); 1629 } 1630 1631 @font-face { 1632 font-family: 'Sea-Accessibility'; 1633 font-style: normal; 1634 font-weight: 700; 1635 font-display: swap; 1636 src: url('https://fonts.cdnfonts.com/s/107479/NotoSerifGurmukhi[wght].woff') format('woff'); 1637 } 1638 </style> 1639
1640<script> 1641 try { 1642 const [dataMetafields = {}] = [ 1643 {"appStatus":true,"removeBrandingForNewShop":false,"disabledToggleClassAtModeReaderView":false,"showCloseButton":false,"widgetSetting":{"buttonStyle":"floating","inlineText":"Accessibility","inlineTextMode":"worldwide","inlineTextLocalized":{"en-US":"Accessibility","en-GB":"Accessibility","fr":"Accessibilité","de":"Barrierefreiheit","it":"Accessibilità ","es":"Accesibilidad","el":"Î ÏοÏβαÏιμÏÏηÏα","pt-PT":"Acessibilidade","pt-BR":"Acessibilidade","cs":"PÅÃstupnost","da":"Tilgængelighed","nl":"Toegankelijkheid","fi":"Esteettömyys","sv":"Tillgänglighet","no":"Tilgjengelighet","pl":"DostÄpnoÅÄ","vi":"Trợ nÄng","ja":"ã¢ã¯ã»ã·ããªãã£","ko":"ì ê·¼ì±","zh-CN":"æ éç¢","zh-TW":"ç¡éç¤","th":"à¸à¸²à¸£à¹à¸à¹à¸²à¸à¸¶à¸","tr":"EriÅilebilirlik","ru":"ÐоÑÑÑпноÑÑÑ","he":"× ××ש×ת","hi":"सà¥à¤²à¤à¤¤à¤¾","id":"Aksesibilitas","et":"Ligipääsetavus","ro":"Accesibilitate","lt":"Prieinamumas","ar":"Ø¥Ù ÙØ§ÙÙØ© اÙÙØµÙÙ"},"preset":"mono","footerTitle":"Powered by Sea","position":"left","mobileRatio":"full-screen","buttonPosition":"bottom","buttonIcon":"pajamas","buttonSize":"small","textFont":"inherit","customCSS":"","headerTitle":"","brandPrimaryColor":"#272D36","brandSecondaryColor":"#272D36","brandBgColor":"#F5F5F5","titleSectionTextColor":"#272D36","titleSectionBgColor":"#FFFFFF","resetButtonTextColor":"#FFFFFF","resetButtonBgColor":"#272D36","hideButtonTextColor":"#B50700","shopId":"hzVpjbwWv9solpgn06sl","createdAt":"2026-03-10T16:57:39.937Z","defaultLanguage":"de","id":"1BJIKcoVsrIn4JI6hm1V","detectLanguage":["browser-language"]},"menuSetting":{"statementLink":"https:\/\/dunkelgold.myshopify.com\/pages\/accessibility-statement","allowResizeContent":true,"allowChangeLanguage":true,"allowAccessibilityProfiles":true,"enableShowHideWidget":true,"allowResetAdjustment":true,"enableStatementLink":true,"enableContrast":true,"enableSaturation":true,"enableHighlightLinks":true,"enableTextSize":true,"enableTextAlignment":true,"enableLetterSpacing":true,"enableLineSpacing":true,"enableFont":true,"enableTextMagnifier":true,"enableMuteSound":true,"enableHideImages":true,"enableStopAnimations":true,"enableReaderView":true,"enableReadingGuide":true,"enablePageStructure":true,"enableBWCursor":true,"enableTextToSpeech":true,"enableAutoAltText":false,"shopId":"hzVpjbwWv9solpgn06sl","createdAt":"2026-03-10T16:57:39.922Z","id":"TUGQ8EiDioA7bpNurGdv"},"translations":{},"shopId":"hzVpjbwWv9solpgn06sl","lastUpdated":"2026-06-01T08:30:09.023Z"}, 1644 ]; 1645 const isBlock = false; 1646 const isV2Shop = true; 1647 const initData = () => ({ 1648 ...dataMetafields, 1649 isBlock, 1650 isV2Shop, 1651 template: "customers/login", 1652 }); 1653 1654 if (!window.SEA_ACCESSIBILITY) { 1655 window.SEA_ACCESSIBILITY = initData(); 1656 } 1657 window.SEA_ACCESSIBILITY = {...window.SEA_ACCESSIBILITY, ...initData()}; 1658 1659 } catch (e) { 1660 console.error('Error assigning sea accessibility variable', e); 1661 } 1662</script>
1662 1663<!-- BEGIN app snippet: widget-boot -->
1663<script> 1664 (function () { 1665 // Headless / DOM-rebuild storefronts (e.g. Helium builder) re-render the whole 1666 // document after hydration, wiping both this injected loader script and the 1667 // widget nodes it mounts â the widget silently disappears. This closure survives 1668 // such rebuilds (it lives in JS memory even after its own script node is removed), 1669 // so it re-injects the loader whenever the widget vanishes after having mounted. 1670 if (window.__seaA11yLoaderHealer) return; 1671 window.__seaA11yLoaderHealer = true; 1672 1673 var LOADER_BASE = 'https://cdn-accessibility.avada.io/scripttag'; 1674 var LOADER_FILE = 'sea-accessibility-loader.min.js'; 1675 // Every id/class the loader or main bundle renders when the widget is present. 1676 var WIDGET_SELECTORS = [ 1677 '#Sea-Accessibility__LoaderButton', 1678 '#Sea-Accessibility__button', 1679 '#Sea-Accessibility__ButtonWidget--Inline', 1680 '#SEA_ACCESSIBILITY_WidgetIconContainer', 1681 '.Sea-Accessibility__Loader' 1682 ]; 1683 var MAX_REHEALS = 20; // safety cap so a hostile theme can never loop forever 1684 1685 function widgetPresent() { 1686 for (var i = 0; i < WIDGET_SELECTORS.length; i++) { 1687 if (document.querySelector(WIDGET_SELECTORS[i])) return true; 1688 } 1689 return false; 1690 } 1691 1692 function loaderScriptPresent() { 1693 var scripts = document.getElementsByTagName('script'); 1694 for (var i = 0; i < scripts.length; i++) { 1695 if (scripts[i].src && scripts[i].src.indexOf('sea-accessibility-loader') !== -1) return true; 1696 } 1697 return false; 1698 } 1699 1700 // SEC-P4 H1 follow-up (SB-17345): the loader stays a fixed filename (it's embedded 1701 // here by literal name), so it can't be pinned by content-hash like the main bundle. 1702 // Instead we fetch its sha384 from a manifest that ships in the very same scripttag 1703 // build/deploy as the loader bundle itself, so the two can never drift apart the way 1704 // a hash hardcoded into this Liquid template could (this template and the scripttag 1705 // bundle deploy on separate, unsynchronized pipelines). 1706 var loaderManifest = null; // {file, integrity} once fetched; stays null forever on failure 1707 var manifestFetchStarted = false; 1708 1709 function fetchLoaderManifest(onDone) { 1710 if (loaderManifest || manifestFetchStarted) return onDone(); 1711 manifestFetchStarted = true; 1712 var done = false; 1713 function finish() { 1714 if (done) return; 1715 done = true; 1716 onDone(); 1717 } 1718 try { 1719 var xhr = new XMLHttpRequest(); 1720 xhr.open('GET', LOADER_BASE + '/loader-sri-manifest.json?v=' + Date.now(), true); 1721 xhr.timeout = 3000; 1722 xhr.onload = function () { 1723 try { 1724 if (xhr.status >= 200 && xhr.status < 300) { 1725 var manifest = JSON.parse(xhr.responseText); 1726 if (manifest && manifest.file && manifest.integrity) loaderManifest = manifest; 1727 } 1728 } catch (e) {} 1729 finish(); 1730 }; 1731 xhr.onerror = finish; 1732 xhr.ontimeout = finish; 1733 xhr.send(); 1734 } catch (e) { 1735 finish(); 1736 } 1737 } 1738 1739 function injectLoader() { 1740 // Fail-open by design: a manifest fetch hiccup (network flake, ad blocker on the 1741 // XHR, CDN blip) must never take the whole accessibility widget down. Worst case 1742 // we load the loader unpinned, same as before this fix. 1743 fetchLoaderManifest(function () { 1744 var s = document.createElement('script'); 1745 if (loaderManifest) { 1746 s.src = LOADER_BASE + '/' + loaderManifest.file + '?v=' + Date.now(); 1747 s.integrity = loaderManifest.integrity; 1748 s.crossOrigin = 'anonymous'; 1749 } else { 1750 s.src = LOADER_BASE + '/' + LOADER_FILE + '?v=' + Date.now(); 1751 } 1752 s.defer = true; 1753 (document.head || document.documentElement).appendChild(s); 1754 }); 1755 } 1756 1757 injectLoader(); 1758 1759 // Only reheal once the widget has actually mounted and then disappeared: this 1760 // avoids re-injecting on stores where the widget is legitimately absent 1761 // (country-hidden, inline target missing) or where a script optimiser merely 1762 // strips executed
1762<script> tags without touching the widget. 1763 var everMounted = false; 1764 var reheals = 0; 1765 var rehealing = false; 1766 1767 function check() { 1768 if (widgetPresent()) { 1769 everMounted = true; 1770 return; 1771 } 1772 if (!everMounted || rehealing || reheals >= MAX_REHEALS) return; 1773 // Widget gone. The loader
1773<script> being gone too is the DOM-rebuild signal. 1774 if (loaderScriptPresent()) return; 1775 rehealing = true; 1776 reheals++; 1777 injectLoader(); 1778 // Give the freshly injected loader a beat to mount before re-arming. 1779 setTimeout(function () { rehealing = false; }, 1000); 1780 } 1781 1782 if (typeof MutationObserver !== 'undefined') { 1783 var start = function () { 1784 try { 1785 new MutationObserver(check).observe(document.documentElement, { 1786 childList: true, 1787 subtree: true 1788 }); 1789 } catch (e) {} 1790 }; 1791 if (document.body) start(); 1792 else document.addEventListener('DOMContentLoaded', start); 1793 } 1794 })(); 1795</script>
1795 1796<!-- END app snippet --> 1797 1798<style id="sea-custom-css"></style> 1799 1800<!-- END app snippet --> 1801 1802 1803 1804</div><div id="shopify-block-AOW9IR2RlVlBCRUh0T__12510727292439481604" class="shopify-block shopify-app-block"> 1805 1806 1807 1808<style> 1809 .wb-btn-trigger { 1810 position: fixed; 1811 1812 bottom: 20px; 1813 left: 20px; 1814 1815 z-index: 9999; 1816 padding: 14px 28px; 1817 background-color: #000000; 1818 color: #ffffff; 1819 border: none; 1820 border-radius: 8px; 1821 cursor: pointer; 1822 font-size: 15px; 1823 font-weight: 600; 1824 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); 1825 transition: all 0.2s ease; 1826 } 1827 1828 .wb-btn-trigger:hover { 1829 transform: translateY(-2px); 1830 box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); 1831 } 1832 1833 .wb-btn-trigger.wb-btn-center:hover { 1834 transform: translateX(-50%) translateY(-2px); 1835 } 1836 1837 .wb-btn-trigger:active { 1838 transform: translateY(0); 1839 } 1840 1841 .wb-btn-trigger.wb-btn-center:active { 1842 transform: translateX(-50%) translateY(0); 1843 } 1844 1845 .wb-modal-overlay { 1846 display: none; 1847 position: fixed; 1848 top: 0; 1849 left: 0; 1850 width: 100%; 1851 height: 100%; 1852 background-color: rgba(0, 0, 0, 0.5); 1853 z-index: 10000; 1854 justify-content: center; 1855 align-items: center; 1856 padding: 20px; 1857 backdrop-filter: blur(2px); 1858 } 1859 1860 .wb-modal-overlay.wb-active { 1861 display: flex; 1862 animation: fadeIn 0.2s ease; 1863 } 1864 1865 @keyframes fadeIn { 1866 from { opacity: 0; } 1867 to { opacity: 1; } 1868 } 1869 1870 .wb-modal { 1871 background: white; 1872 border-radius: 12px; 1873 width: 100%; 1874 max-width: 650px; 1875 max-height: 90vh; 1876 overflow: hidden; 1877 display: flex; 1878 flex-direction: column; 1879 box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); 1880 animation: slideUp 0.3s ease; 1881 position: relative; 1882 } 1883 1884 @keyframes slideUp { 1885 from { 1886 transform: translateY(20px); 1887 opacity: 0; 1888 } 1889 to { 1890 transform: translateY(0); 1891 opacity: 1; 1892 } 1893 } 1894 1895 .wb-modal-header { 1896 padding: 24px 60px 20px 28px; 1897 flex-shrink: 0; 1898 } 1899 1900 .wb-modal-title { 1901 margin: 0; 1902 font-size: 20px; 1903 font-weight: 600; 1904 color: #111827; 1905 } 1906 1907 .wb-modal-title--p { 1908 margin: 0; 1909 font-family: var(--font-heading-family, var(--heading-font-family, inherit)); 1910 } 1911 1912 .wb-modal-description { 1913 margin: 8px 0 0 0; 1914 font-size: 14px; 1915 color: #6b7280; 1916 line-height: 1.5; 1917 } 1918 1919 .wb-modal-close { 1920 position: absolute; 1921 top: 20px; 1922 right: 20px; 1923 background: #f3f4f6; 1924 border: none; 1925 font-size: 20px; 1926 cursor: pointer; 1927 padding: 0; 1928 width: 32px; 1929 height: 32px; 1930 display: flex; 1931 align-items: center; 1932 justify-content: center; 1933 border-radius: 6px; 1934 line-height: 1; 1935 color: #6b7280; 1936 transition: all 0.15s ease; 1937 z-index: 1; 1938 } 1939 1940 .wb-modal-close:hover { 1941 background: #e5e7eb; 1942 color: #111827; 1943 } 1944 1945 .wb-modal-close:active { 1946 transform: scale(0.95); 1947 } 1948 1949 .wb-modal-body { 1950 flex: 1; 1951 overflow-y: auto; 1952 display: flex; 1953 flex-direction: column; 1954 min-height: 0; 1955 scrollbar-gutter: stable; 1956 } 1957 1958 .wb-modal-body iframe { 1959 width: 100%; 1960 min-height: 425px; 1961 border: none; 1962 display: block; 1963 flex-shrink: 0; 1964 } 1965 1966 @media (max-width: 768px) { 1967 .wb-btn-trigger { 1968 padding: 12px 20px; 1969 font-size: 14px; 1970 1971 bottom: 16px; 1972 left: 16px; 1973 1974 } 1975 1976 .wb-modal { 1977 max-width: 100%; 1978 max-height: 100vh; 1979 border-radius: 0; 1980 height: 100%; 1981 } 1982 1983 .wb-modal-overlay { 1984 padding: 0; 1985 } 1986 1987 .wb-modal-header { 1988 padding: 20px 20px 16px; 1989 } 1990 } 1991</style> 1992 1993<div class="wb-container"> 1994 1995 <button type="button" class="wb-btn-trigger" id="wb-trigger-btn"> 1996 Bestellung widerrufen 1997 </button> 1998 1999 2000 <div class="wb-modal-overlay" id="wb-modal-overlay"> 2001 <div class="wb-modal" role="dialog" aria-modal="true" aria-labelledby="wb-modal-title"> 2002 <button type="button" class="wb-modal-close" id="wb-close-btn" aria-label="SchlieÃen">×</button> 2003 <div class="wb-modal-header"> 2004 2005 2006 <h2 class="wb-modal-title" id="wb-modal-title">Widerruf erklären</h2> 2007 2008 2009 2010 2011 <p class="wb-modal-description">Füllen Sie das folgende Formular aus, um Ihre Widerrufserklärung abzugeben.</p> 2012 2013 </div> 2014 <div class="wb-modal-body"> 2015 <iframe 2016 id="wb-iframe" 2017 src="https://euwiderrufsbutton.de/withdrawal/proxy/embed/withdrawal-form?c_shop=dunkelgold.myshopify.com&c_hmac=f34a4462c7dcedefdb6a7d31cee03456fd47744b317d31c342d4510369539922&c_timestamp=1790899200&c_locale=de&c_country=DE&primaryColor=%23000000&backgroundColor=%23ffffff&textColor=%23212326&borderRadius=8px&maxWidth=100%&showOrderLookup=true&requireOrderNumber=true&hideOrderNotes=false&requireItems=false&confirmStep=false" 2018 title="Withdrawal Form" 2019 loading="lazy" 2020 ></iframe> 2021 </div><div style="margin-bottom:10px; margin-top:10px; justify-content: center; visibility: visible !important; opacity: 1 !important; filter: opacity(1) !important; content-visibility: visible !important; display: flex !important; max-height: 100% !important; overflow: auto !important; width: 100% !important; min-height:20px !important;"> 2022 <!-- BEGIN app snippet: watermark --> 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 <div style="justify-content: center; visibility: visible !important; opacity: 1 !important; filter: opacity(1) !important; content-visibility: visible !important; display: flex !important; max-height: 100% !important; overflow: auto !important; width: 100% !important; min-height:20px !important;"> 2040 <a 2041 target="_blank" 2042 href="https://apps.shopify.com/eu-widerrufsbutton" 2043 rel="nofollow noopener noreferrer" 2044 style="transform: scale(1) !important; text-decoration: none; color: rgb(20, 20, 20) !important; align-items: center; font-size: 12px !important; font-weight: 500 !important; display: flex !important; gap: 5px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: auto !important; min-height:20px !important;"> 2045 <img alt="EU Widerrufsbutton logo" src="https://cdn.shopify.com/extensions/01a0dd66-2d7e-7364-8d3e-9caf72e24f02/eu-widerruf-button-110/assets/withdrawal_logo_128px.png" style="vertical-align:bottom !important; height:32px !important; width:32px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: unset !important; display: flex !important; min-height:32px !important; max-width:32px; min-width:32px !important;"/>
2046 <span style="transform: scale(1) !important; font-size: 16px; line-height: 1.4; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: unset !important; display: flex !important; min-height:20px !important; font-weight:bold !important; color:#1250dc !important;">EU Widerrufsbutton</span> 2047 </a> 2048 </div><!-- END app snippet --> 2049 </div></div> 2050 </div> 2051</div> 2052
2053<script> 2054 (function() { 2055 const triggerBtn = document.getElementById('wb-trigger-btn'); 2056 const modalOverlay = document.getElementById('wb-modal-overlay'); 2057 const closeBtn = document.getElementById('wb-close-btn'); 2058 const iframe = document.getElementById('wb-iframe'); 2059 let lastFocused = null; 2060 // Rendered by Liquid to a plain true/false literal â kept out of the script 2061 // body so no Liquid tag can ever interfere with JS parsing. 2062 const wbsHideOrderNotes = false; 2063 2064 // Expose the global API FIRST, before anything below that could throw in a 2065 // particular theme (dedup query, const captures, listener wiring). Section 2066 // blocks and links call window.withdrawalModal.open()/close(); if this 2067 // registration ever failed, they would silently do nothing and the fallback 2068 // alert would surface instead of the modal. 2069 window.withdrawalModal = { 2070 open: openModal, 2071 close: closeModal 2072 }; 2073 2074 // If the standalone asset built its own overlay before this embed block was 2075 // added (theme-editor section render without a page reload), remove it so 2076 // the two modals do not stack with duplicate IDs and z-index. 2077 var standaloneOverlay = document.querySelector('#wb-modal-overlay[data-wbs-standalone]'); 2078 if (standaloneOverlay && standaloneOverlay.parentNode) { 2079 standaloneOverlay.parentNode.removeChild(standaloneOverlay); 2080 } 2081 2082 // Embed's own server-rendered defaults, captured so a caller block's config 2083 // (heading/description/show_heading/form_color) can be applied on open and 2084 // restored when the embed's own floating button is used. 2085 const defaultEmbedUrl = iframe ? iframe.getAttribute('src') : null; 2086 const headerEl = modalOverlay ? modalOverlay.querySelector('.wb-modal-header') : null; 2087 const defaultHeaderHtml = headerEl ? headerEl.innerHTML : ''; 2088 // The role="dialog" element is the inner .wb-modal, not the overlay wrapper; 2089 // aria-labelledby must be synced there to affect the dialog's accessible name. 2090 const dialogEl = modalOverlay ? modalOverlay.querySelector('.wb-modal') : null; 2091 const defaultAriaLabelledby = dialogEl ? dialogEl.getAttribute('aria-labelledby') : null; 2092 2093 function applyBlockConfig(cfg) { 2094 if (!cfg) return; 2095 if (iframe && cfg.embedUrl && iframe.getAttribute('src') !== cfg.embedUrl) { 2096 iframe.setAttribute('src', cfg.embedUrl); 2097 // Fresh iframe load: reset to the config's default height; the form 2098 // re-sends setHeight once loaded. Same-src re-opens preserve the 2099 // current height so a taller form is not clipped back to the default. 2100 if (typeof cfg.hideOrderNotes === 'boolean') { 2101 iframe.style.height = cfg.hideOrderNotes ? '425px' : '570px'; 2102 } 2103 } 2104 if (headerEl) { 2105 if (cfg.showHeading) { 2106 headerEl.style.display = ''; 2107 // The embed's own server-rendered header only contains title/description 2108 // when the embed's Show Heading is on; when the merchant disabled it 2109 // those nodes do not exist, so create them for the caller's config. 2110 var titleEl = headerEl.querySelector('.wb-modal-title'); 2111 if (!titleEl && cfg.heading) { 2112 titleEl = document.createElement('h2'); 2113 titleEl.className = 'wb-modal-title'; 2114 headerEl.insertBefore(titleEl, headerEl.firstChild); 2115 } 2116 if (titleEl) { 2117 titleEl.textContent = cfg.heading || ''; 2118 titleEl.id = 'wb-modal-title'; 2119 if (dialogEl) dialogEl.setAttribute('aria-labelledby', 'wb-modal-title'); 2120 } else if (dialogEl) { 2121 dialogEl.removeAttribute('aria-labelledby'); 2122 } 2123 var descEl = headerEl.querySelector('.wb-modal-description'); 2124 if (!descEl && cfg.description) { 2125 descEl = document.createElement('p'); 2126 descEl.className = 'wb-modal-description'; 2127 headerEl.appendChild(descEl); 2128 } 2129 if (descEl) descEl.textContent = cfg.description || ''; 2130 } else { 2131 headerEl.style.display = 'none'; 2132 if (dialogEl) dialogEl.removeAttribute('aria-labelledby'); 2133 } 2134 } 2135 } 2136 2137 function restoreEmbedDefaults() { 2138 if (iframe && defaultEmbedUrl && iframe.getAttribute('src') !== defaultEmbedUrl) { 2139 iframe.setAttribute('src', defaultEmbedUrl); 2140 iframe.style.height = wbsHideOrderNotes ? '425px' : '570px'; 2141 } 2142 if (headerEl) { 2143 headerEl.style.display = ''; 2144 headerEl.innerHTML = defaultHeaderHtml; 2145 } 2146 if (dialogEl) {
2147 if (defaultAriaLabelledby) { 2148 dialogEl.setAttribute('aria-labelledby', defaultAriaLabelledby); 2149 } else { 2150 dialogEl.removeAttribute('aria-labelledby'); 2151 } 2152 } 2153 } 2154 2155 function openModal(blockId) { 2156 if (modalOverlay) { 2157 // A button block with "hide outside EU" sets this flag for non-EU 2158 // visitors; URL/hash triggers must not open the form either. 2159 if (window.__wbsEuHidden) return; 2160 // Re-entry safe: same-document #eu-withdrawal=open clicks fire the click 2161 // handler AND a hashchange (which calls openModal again); without this 2162 // guard the second call overwrites lastFocused with the close button 2163 // and focus restore on close drops to <body>. 2164 if (modalOverlay.classList.contains('wb-active')) return; 2165 var cfg = blockId && window.WITHDRAWAL_EMBED_CONFIG && window.WITHDRAWAL_EMBED_CONFIG[blockId]; 2166 if (cfg) applyBlockConfig(cfg); else restoreEmbedDefaults(); 2167 lastFocused = document.activeElement; 2168 modalOverlay.classList.add('wb-active'); 2169 document.body.style.overflow = 'hidden'; 2170 if (closeBtn) closeBtn.focus(); 2171 } 2172 } 2173 2174 function closeModal() { 2175 if (modalOverlay) { 2176 modalOverlay.classList.remove('wb-active'); 2177 document.body.style.overflow = ''; 2178 if (lastFocused && typeof lastFocused.focus === 'function') { 2179 lastFocused.focus(); 2180 } 2181 lastFocused = null; 2182 } 2183 } 2184 2185 if (triggerBtn) { 2186 triggerBtn.addEventListener('click', function() { openModal(); }); 2187 } 2188 2189 if (closeBtn) { 2190 closeBtn.addEventListener('click', closeModal); 2191 } 2192 2193 if (modalOverlay) { 2194 modalOverlay.addEventListener('click', function(e) { 2195 if (e.target === modalOverlay) closeModal(); 2196 }); 2197 2198 document.addEventListener('keydown', function(e) { 2199 if (e.key === 'Escape' && modalOverlay.classList.contains('wb-active')) { 2200 closeModal(); 2201 return; 2202 } 2203 // Keep focus inside the open dialog while tabbing. 2204 if (e.key === 'Tab' && modalOverlay.classList.contains('wb-active')) { 2205 const focusables = modalOverlay.querySelectorAll('button, [href], iframe, [tabindex]:not([tabindex="-1"])'); 2206 if (!focusables.length) return; 2207 const first = focusables[0]; 2208 const last = focusables[focusables.length - 1]; 2209 if (e.shiftKey && (document.activeElement === first || document.activeElement === modalOverlay)) { 2210 e.preventDefault(); 2211 last.focus(); 2212 } else if (!e.shiftKey && document.activeElement === last) { 2213 e.preventDefault(); 2214 first.focus(); 2215 } 2216 } 2217 }); 2218 } 2219 2220 window.addEventListener('message', function(event) { 2221 if (event.data.type === 'setHeight' && iframe && event.data.height > 0) { 2222 iframe.style.height = event.data.height + 'px'; 2223 } 2224 }); 2225 2226 if (iframe) { 2227 iframe.style.height = wbsHideOrderNotes ? '425px' : '570px'; 2228 } 2229 2230 function withdrawalTriggerInSearch() { 2231 return new URLSearchParams(window.location.search).get('eu-withdrawal') === 'open'; 2232 } 2233 2234 function withdrawalTriggerInHash() { 2235 return new URLSearchParams((window.location.hash || '').replace(/^#/, '')).get('eu-withdrawal') === 'open'; 2236 } 2237 2238 function clearWithdrawalTrigger() { 2239 if (!(window.history && window.history.replaceState)) return; 2240 var params = new URLSearchParams(window.location.search); 2241 params.delete('eu-withdrawal'); 2242 var newSearch = params.toString(); 2243 var newHash = ''; 2244 var hash = window.location.hash || ''; 2245 if (withdrawalTriggerInHash()) { 2246 var hashParams = new URLSearchParams(hash.replace(/^#/, '')); 2247 hashParams.delete('eu-withdrawal'); 2248 var rebuiltHash = hashParams.toString(); 2249 if (rebuiltHash) newHash = '#' + rebuiltHash; 2250 } else { 2251 // Trigger came from the search parameter: keep the fragment verbatim, 2252 // so plain-word fragments like #reviews are not mangled. 2253 newHash = hash; 2254 } 2255 var newUrl = window.location.pathname + (newSearch ? '?' + newSearch : '') + newHash; 2256 window.history.replaceState(null, '', newUrl); 2257 } 2258 2259 function openFromUrlTrigger() { 2260 if (withdrawalTriggerInSearch() || withdrawalTriggerInHash()) { 2261 openModal(); 2262 clearWithdrawalTrigger(); 2263 } 2264 } 2265 2266 openFromUrlTrigger(); 2267 2268 window.addEventListener('hashchange', function() { 2269 if (withdrawalTriggerInHash()) { 2270 openModal(); 2271 clearWithdrawalTrigger(); 2272 } 2273 }); 2274 2275 // Same-document re-clicks: after the fragment was stripped, clicking a link 2276 // to the identical #eu-withdrawal=open hash fires no hashchange. Open the 2277 // modal directly for links whose target is this document; cross-document 2278 // navigations are handled by the initial-load check on the target page. 2279 document.addEventListener('click', function(e) { 2280 var target = e.target; 2281 var link = target && target.closest ? target.closest('a[href*="eu-withdrawal"]') : null; 2282 if (!link) return; 2283 var url;
2284 try { 2285 url = new URL(link.getAttribute('href'), window.location.href); 2286 } catch (err) { 2287 return; 2288 } 2289 if (!url.hash) return; 2290 if (new URLSearchParams(url.hash.replace(/^#/, '')).get('eu-withdrawal') !== 'open') return; 2291 if (url.pathname === window.location.pathname && url.search === window.location.search) { 2292 openModal(); 2293 } 2294 }); 2295 })(); 2296</script>
2296 2297</div>
2297<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2297 2298</body> 2299</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.