1<!doctype html> 2<html lang="de"> 3<head > 4 <meta charset="utf-8"/> 5<meta name="title" content="Kundenanmeldung"/> 6<meta name="robots" content="INDEX,FOLLOW"/> 7<meta name="viewport" content="width=device-width, initial-scale=1"/> 8<meta name="google-site-verification" content="KQ2FLA6x2EXJfBqPg_ZqYxwrqew4jBB6COr5jc_U_Yo"/> 9<meta name="p:domain_verify" content="8527fcebf71fdeaf87590e738f1531dd"/> 10<meta name="facebook-domain-verification" content="08jgzit50g1qeijqwa7er4ba1jmavb"/> 11<title>Kundenanmeldung</title> 12 <link rel="stylesheet" type="text/css" media="all" href="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/css/styles.css" /> 13<link rel="stylesheet" type="text/css" media="all" href="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/Amasty_Groupcat/js/fancybox/jquery.fancybox.css" /> 14<link rel="stylesheet" type="text/css" media="all" href="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/Magedelight_Customerprice/css/custom.css" /> 15<link rel="stylesheet" type="text/css" media="all" href="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/css/custom-overrides.css" />
16<script type="text/javascript" src="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/js/trim-inputs.js"></script>
vendor: 1 bytes, line 16
16
17<script type="text/javascript" src="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/MailPlus_MailPlus/js/set-mp-cookie.js"></script>
vendor: 1 bytes, line 17
17
18<script type="text/javascript" src="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/Smile_ElasticsuiteTracker/js/tracking.js"></script>
18 19<link rel="icon" type="image/png" href="https://www.haibu.de/media/favicon/stores/10/favicon.png" /> 20<link rel="shortcut icon" type="image/png" href="https://www.haibu.de/media/favicon/stores/10/favicon.png" />
21<script type="speculationrules"> 22{ 23 "prerender": [{ 24 "source": "document", 25 "where": { 26 "and": [ 27 { "href_matches": "/*" }, 28 { "not": { "href_matches": "/*(customer|login|logout|auth|cart|checkout|search|download|redirect|rewrite|store|productalert)/*" } }, 29 { "not": { "href_matches": "*.pdf" } }, 30 { "not": { "selector_matches": ".do-not-prerender" } }, 31 { "not": { "selector_matches": "[rel=nofollow]" } }, 32 { "not": { "selector_matches": "[target=_blank]" } }, 33 { "not": { "selector_matches": "[target=_parent]" } }, 34 { "not": { "selector_matches": "[target=_top]" } } 35 ] 36 }, 37 "eagerness": "moderate" 38 }] 39} 40</script>
vendor: 2 bytes, line 40
40
41<script type="text/javascript"> 42document.addEventListener('DOMContentLoaded', function () { 43 if (document.body.classList.contains('checkout-index-index') || document.body.classList.contains('customer-account-create') || document.body.classList.contains('customer-address-form')) { 44 45 let delay = 500; 46 if (document.body.classList.contains('checkout-index-index')) { 47 delay = 3000; 48 } 49 50 setTimeout(function () { 51 const select = document.querySelector('select[name="country_id"]'); 52 53 if (select) { 54 const allowed = ["Deutschland", "Ãsterreich"]; 55 56 for (let i = select.options.length - 1; i >= 0; i--) { 57 const optionText = select.options[i].text.trim(); 58 if (optionText && !allowed.includes(optionText)) { 59 select.remove(i); 60 } 61 } 62 } 63 }, delay); 64 } 65}); 66</script>
66 67<meta name="facebook-domain-verification" content="xj1bkvmbtqvula19g7lp8lyzt2rgag" /> 68<meta name="p:domain_verify" content="448fde442fd16ceebf305f009e4a60b9"/> 69<meta name="google-site-verification" content="jcNQF16ZkvOkv_-Ks6tdvaxRVCi_ZeH6WdTfnwGKMbQ" />
70<script type="text/javascript"> 71 (function () { 72 var _tsid = 'X58AE1F430672E02040339F5ADD541C04'; 73 _tsConfig = { 74 'yOffset': '0', /* offset from page bottom */ 75 'variant': 'default', /* reviews, default, custom, custom_reviews */ 76 'customElementId': '', /* required for variants custom and custom_reviews */ 77 'trustcardDirection': 'bottomRight', /* for custom variants: topRight, topLeft, bottomRight, bottomLeft */ 78 'customBadgeWidth': '50', /* for custom variants: 40 - 90 (in pixels) */ 79 'customBadgeHeight': '100', /* for custom variants: 40 - 90 (in pixels) */ 80 'disableResponsive': 'false', /* deactivate responsive behaviour */ 81 'disableTrustbadge': 'false', /* deactivate trustbadge */ 82 }; 83 var _ts = document.createElement('script'); 84 _ts.type = 'text/javascript'; 85 _ts.charset = 'utf-8'; 86 _ts.async = true; 87 _ts.src = 'https://widgets.trustedshops.com/js/' + _tsid + '.js'; 88 var __ts = document.getElementsByTagName('script')[0]; 89 __ts.parentNode.insertBefore(_ts, __ts); 90 })(); 91</script>
91 92<style> 93body #CybotCookiebotDialog { 94 top: 50% !important; 95 bottom: auto !important; 96} 97 98#CybotCookiebotDialog > div { 99 padding: 20px !important; 100} 101 102#CybotCookiebotDialogHeader { 103 display: none !important; 104} 105 106#CybotCookiebotDialogBody > div.CybotCookiebotScrollContainer { 107 min-height: 5vh !important; 108} 109 110@media screen and (min-width: 1280px) { 111 #CybotCookiebotDialog.CybotEdge .CybotCookiebotDialogBodyBottomWrapper { 112 padding-left: 1em !important; 113 } 114 115 body #CybotCookiebotDialog { 116 max-width: 60% !important; 117 min-width: 60% !important; 118 } 119} 120 121body.amblog-index-post ul { 122 list-style-type: disc !important; 123 padding-inline-start: 40px !important; 124 margin-block-start: 14px !important; 125 margin-block-end: 14px !important; 126} 127 128.comparison-table { 129 width: 100%; 130 text-align: left; 131 border: 1px solid #e5e9ef; 132 font-size: 14px; 133 border-radius: 8px; 134 border-spacing: 0; 135 border-collapse: separate; 136 overflow: hidden; 137 line-height: 24px; 138 margin-bottom: 30px; 139} 140 141.comparison-table thead { 142 background-color: #f2f4f6; 143} 144 145.comparison-table th, 146.comparison-table td { 147 padding: 8px; 148 vertical-align: top; 149} 150 151.comparison-table th:not(:first-child), 152.comparison-table td:not(:first-child) { 153 border-left: 1px solid #e5e9ef; 154} 155 156.comparison-table td { 157 border-top: 1px solid #e5e9ef; 158} 159 160@media only screen and (max-width: 991px) { 161 body.checkout-index-index header.page-header { 162 background-color: #fde7f2 !important; 163 border-bottom: none !important; 164 } 165} 166 167@media screen and (min-width:649px){#trustbadge-container-98e3dadd90eb493088abdc5597a70810{display:none!important}}body.checkout-index-index #trustbadge-container-98e3dadd90eb493088abdc5597a70810{display:none!important} 168 169body.customer-account-create .text-8xl { 170 font-size: 94px !important; 171} 172 173@media screen and (min-width: 1280px) { 174 body.customer-account-create .text-8xl { 175 font-size: 79px !important; 176 } 177} 178 179@media screen and (min-width: 1448px) { 180 body.customer-account-create .text-8xl { 181 font-size: 99px !important; 182 } 183} 184 185@media screen and (min-width: 1024px) { 186 body.amblog-index-category #maincontent > div.columns { 187 grid-template-columns: repeat(3, minmax(0, 1fr)); 188 } 189} 190</style>
190<script> 191 //<![CDATA[ 192 function userConsentEsTraking(config) 193 { 194 return config.cookieRestrictionEnabled == false || hyva.getCookie(config.cookieRestrictionName) !== null; 195 } 196 197 try { 198 smileTracker.setConfig({ 199 beaconUrl : 'https://www.haibu.de/elasticsuite/tracker/hit/image/h.png', 200 telemetryUrl : 'https://t.elasticsuite.io/track', 201 telemetryEnabled : '', 202 sessionConfig : {"visit_cookie_name":"STUID","visit_cookie_lifetime":"3600","visitor_cookie_lifetime":"365","visitor_cookie_name":"STVID","domain":"haibu.de","path":"\/"}, 203 endpointUrl : 'https://www.haibu.de/rest/V1/elasticsuite-tracker/hit' 204 }); 205 206 smileTracker.addPageVar('store_id', '10'); 207 208 document.addEventListener('DOMContentLoaded', function () { 209 if (userConsentEsTraking({"cookieRestrictionEnabled":"0","cookieRestrictionName":"user_allowed_save_cookie"})) { 210 smileTracker.sendTag(); 211 } 212 }); 213 } catch (err) { 214 ; 215 } 216 //]]> 217 </script>
217 218
218<script nonce="dWdnc21hMXp1MzJobjh5eTlld3Q1Zjh5NmswdGFjdG8="> 219 window.YIREO_GOOGLETAGMANAGER2_ENABLED = true; 220 (function (events) { 221 const initYireoGoogleTagManager2 = function () { 222 events.forEach(function (eventType) { 223 window.removeEventListener(eventType, initYireoGoogleTagManager2); 224 }); 225 226 (function (w, d, s, l, i) { 227 w[l] = w[l] || []; 228 w[l].push({'gtm.start': new Date().getTime(), event: 'gtm.js'}); 229 var f = d.getElementsByTagName(s)[0], 230 j = d.createElement(s), 231 dl = l != 'dataLayer' ? '&l=' + l : ''; 232 j.async = true; 233 j.src = 'https\u003A\u002F\u002Fwww.googletagmanager.com' + '/gtm.js?id=' + i + dl; 234 f.parentNode.insertBefore(j, f); 235 })(window, document, 'script', 'dataLayer', 'GTM\u002DW24WV5T'); 236 }; 237 238 events.forEach(function (eventType) { 239 window.addEventListener(eventType, initYireoGoogleTagManager2, {once: true, passive: true}) 240 }); 241 })(['load', 'keydown', 'mouseover', 'scroll', 'touchstart', 'wheel']); 242 243 </script>
vendor: 1 bytes, line 243
243
244<script> 245 var BASE_URL = 'https://www.haibu.de/'; 246 var THEME_PATH = 'https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE'; 247 var COOKIE_CONFIG = { 248 "expires": null, 249 "path": "\u002F", 250 "domain": ".haibu.de", 251 "secure": true, 252 "lifetime": "254000", 253 "cookie_restriction_enabled": false }; 254 var CURRENT_STORE_CODE = 'haibu'; 255 var CURRENT_WEBSITE_ID = '5'; 256 257 window.hyva = window.hyva || {} 258 259 window.cookie_consent_groups = window.cookie_consent_groups || {} 260 window.cookie_consent_groups['necessary'] = true; 261 262 window.cookie_consent_config = window.cookie_consent_config || {}; 263 window.cookie_consent_config['necessary'] = [].concat( 264 window.cookie_consent_config['necessary'] || [], 265 [ 266 'user_allowed_save_cookie', 267 'form_key', 268 'mage-messages', 269 'private_content_version', 270 'mage-cache-sessid', 271 'last_visited_store', 272 'section_data_ids' 273 ] 274 ); 275 //# sourceURL=hyva-variables.js 276</script>
vendor: 1 bytes, line 276
276
277<script> 278 (function( hyva, undefined ) { 279 280 function lifetimeToExpires(options, defaults) { 281 282 const lifetime = options.lifetime || defaults.lifetime; 283 284 if (lifetime) { 285 const date = new Date; 286 date.setTime(date.getTime() + lifetime * 1000); 287 return date; 288 } 289 290 return null; 291 } 292 293 function generateRandomString() { 294 295 const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 296 length = 16; 297 298 let formKey = '', 299 charactersLength = allowedCharacters.length; 300 301 for (let i = 0; i < length; i++) { 302 formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))] 303 } 304 305 return formKey; 306 } 307 308 const sessionCookieMarker = {noLifetime: true} 309 310 const cookieTempStorage = {}; 311 312 const internalCookie = { 313 get(name) { 314 const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); 315 return v ? v[2] : null; 316 }, 317 set(name, value, days, skipSetDomain) { 318 let expires, 319 path, 320 domain, 321 secure, 322 samesite; 323 324 const defaultCookieConfig = { 325 expires: null, 326 path: '/', 327 domain: null, 328 secure: false, 329 lifetime: null, 330 samesite: 'lax' 331 }; 332 333 const cookieConfig = window.COOKIE_CONFIG || {}; 334 335 expires = days && days !== sessionCookieMarker 336 ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig) 337 : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires; 338 339 path = cookieConfig.path || defaultCookieConfig.path; 340 domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain); 341 secure = cookieConfig.secure || defaultCookieConfig.secure; 342 samesite = cookieConfig.samesite || defaultCookieConfig.samesite; 343 344 document.cookie = name + "=" + encodeURIComponent(value) + 345 (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') + 346 (path ? '; path=' + path : '') + 347 (domain ? '; domain=' + domain : '') + 348 (secure ? '; secure' : '') + 349 (samesite ? '; samesite=' + samesite : 'lax'); 350 }, 351 isWebsiteAllowedToSaveCookie() { 352 const allowedCookies = this.get('user_allowed_save_cookie'); 353 if (allowedCookies) { 354 const allowedWebsites = JSON.parse(unescape(allowedCookies)); 355 356 return allowedWebsites[CURRENT_WEBSITE_ID] === 1; 357 } 358 return false; 359 }, 360 getGroupByCookieName(name) { 361 const cookieConsentConfig = window.cookie_consent_config || {}; 362 let group = null; 363 for (let prop in cookieConsentConfig) { 364 if (!cookieConsentConfig.hasOwnProperty(prop)) continue; 365 if (cookieConsentConfig[prop].includes(name)) { 366 group = prop; 367 break; 368 } 369 } 370 return group; 371 }, 372 isCookieAllowed(name) { 373 const cookieGroup = this.getGroupByCookieName(name); 374 return cookieGroup 375 ? window.cookie_consent_groups[cookieGroup] 376 : this.isWebsiteAllowedToSaveCookie(); 377 }, 378 saveTempStorageCookies() { 379 for (const [name, data] of Object.entries(cookieTempStorage)) { 380 if (this.isCookieAllowed(name)) { 381 this.set(name, data['value'], data['days'], data['skipSetDomain']); 382 delete cookieTempStorage[name]; 383 } 384 } 385 } 386 }; 387 388 hyva.getCookie = (name) => { 389 const cookieConfig = window.COOKIE_CONFIG || {}; 390 391 if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { 392 return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null; 393 } 394 395 return internalCookie.get(name); 396 } 397 398 hyva.setCookie = (name, value, days, skipSetDomain) => { 399 const cookieConfig = window.COOKIE_CONFIG || {}; 400 401 if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) { 402 cookieTempStorage[name] = {value, days, skipSetDomain}; 403 return; 404 } 405 return internalCookie.set(name, value, days, skipSetDomain); 406 } 407 408 409 hyva.setSessionCookie = (name, value, skipSetDomain) => { 410 return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain) 411 } 412 413 hyva.getBrowserStorage = () => { 414 const browserStorage = window.localStorage || window.sessionStorage; 415 if (!browserStorage) { 416 console.warn('Browser Storage is unavailable'); 417 return false;
418 } 419 try { 420 browserStorage.setItem('storage_test', '1'); 421 browserStorage.removeItem('storage_test'); 422 } catch (error) { 423 console.warn('Browser Storage is not accessible', error); 424 return false; 425 } 426 return browserStorage; 427 } 428 429 hyva.postForm = (postParams) => { 430 const form = document.createElement("form"); 431 432 let data = postParams.data; 433 434 if (! postParams.skipUenc && ! data.uenc) { 435 data.uenc = btoa(window.location.href); 436 } 437 form.method = "POST"; 438 form.action = postParams.action; 439 440 Object.keys(postParams.data).map(key => { 441 const field = document.createElement("input"); 442 field.type = 'hidden' 443 field.value = postParams.data[key]; 444 field.name = key; 445 form.appendChild(field); 446 }); 447 448 const form_key = document.createElement("input"); 449 form_key.type = 'hidden'; 450 form_key.value = hyva.getFormKey(); 451 form_key.name="form_key"; 452 form.appendChild(form_key); 453 454 document.body.appendChild(form); 455 456 form.submit(); 457 } 458 459 hyva.getFormKey = function () { 460 let formKey = hyva.getCookie('form_key'); 461 462 if (!formKey) { 463 formKey = generateRandomString(); 464 hyva.setCookie('form_key', formKey); 465 } 466 467 return formKey; 468 } 469 470 hyva.formatPrice = (value, showSign, options = {}) => { 471 const groupSeparator = options.groupSeparator; 472 const decimalSeparator = options.decimalSeparator 473 delete options.groupSeparator; 474 delete options.decimalSeparator; 475 const formatter = new Intl.NumberFormat( 476 'de\u002DDE', 477 Object.assign({ 478 style: 'currency', 479 currency: 'EUR', 480 signDisplay: showSign ? 'always' : 'auto' 481 }, options) 482 ); 483 return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ? 484 formatter.formatToParts(value).map(({type, value}) => { 485 switch (type) { 486 case 'currency': 487 return '\u20AC' || value; 488 case 'minusSign': 489 return '- '; 490 case 'plusSign': 491 return '+ '; 492 case 'group': 493 return groupSeparator !== undefined ? groupSeparator : value; 494 case 'decimal': 495 return decimalSeparator !== undefined ? decimalSeparator : value; 496 default : 497 return value; 498 } 499 }).reduce((string, part) => string + part) : 500 formatter.format(value); 501 } 502 503 const formatStr = function (str, nStart) { 504 const args = Array.from(arguments).slice(2); 505 506 return str.replace(/(%+)([0-9]+)/g, (m, p, n) => { 507 const idx = parseInt(n) - nStart; 508 509 if (args[idx] === null || args[idx] === void 0) { 510 return m; 511 } 512 return p.length % 2 513 ? p.slice(0, -1).replace('%%', '%') + args[idx] 514 : p.replace('%%', '%') + n; 515 }) 516 } 517 518 hyva.str = function (string) { 519 const args = Array.from(arguments); 520 args.splice(1, 0, 1); 521 522 return formatStr.apply(undefined, args); 523 } 524 525 hyva.strf = function () { 526 const args = Array.from(arguments); 527 args.splice(1, 0, 0); 528 529 return formatStr.apply(undefined, args); 530 } 531 532 /** 533 * Take a html string as `content` parameter and 534 * extract an element from the DOM to replace in 535 * the current page under the same selector, 536 * defined by `targetSelector` 537 */ 538 hyva.replaceDomElement = (targetSelector, content) => { 539 // Parse the content and extract the DOM node using the `targetSelector` 540 const parser = new DOMParser(); 541 const doc = parser.parseFromString(content, 'text/html');
542 const contentNode = doc.querySelector(targetSelector); 543 544 // Bail if content or target can't be found 545 if (!contentNode || !document.querySelector(targetSelector)) { 546 return; 547 } 548 549 hyva.activateScripts(contentNode); 550 551 // Replace the old DOM node with the new content 552 document.querySelector(targetSelector).replaceWith(contentNode); 553 554 // Reload customerSectionData and display cookie-messages if present 555 window.dispatchEvent(new CustomEvent("reload-customer-section-data")); 556 hyva.initMessages(); 557 } 558 559 hyva.removeScripts = (contentNode) => { 560 const scripts = contentNode.getElementsByTagName('script'); 561 for (let i = 0; i < scripts.length; i++) { 562 scripts[i].parentNode.removeChild(scripts[i]); 563 } 564 const templates = contentNode.getElementsByTagName('template'); 565 for (let i = 0; i < templates.length; i++) { 566 const container = document.createElement('div'); 567 container.innerHTML = templates[i].innerHTML; 568 hyva.removeScripts(container); 569 templates[i].innerHTML = container.innerHTML; 570 } 571 } 572 573 hyva.activateScripts = (contentNode) => { 574 // Create new array from HTMLCollection to avoid mutation of collection while manipulating the DOM. 575 const scripts = Array.from(contentNode.getElementsByTagName('script')); 576 577 // Iterate over all script tags to duplicate+inject each into the head 578 for (const original of scripts) { 579 const script = document.createElement('script'); 580 original.type && (script.type = original.type); 581 script.innerHTML = original.innerHTML; 582 583 // Remove the original (non-executing) script from the contentNode 584 original.parentNode.removeChild(original) 585 586 // Add script to head 587 document.head.appendChild(script); 588 } 589 590 return contentNode; 591 } 592 593 const replace = {['+']: '-', ['/']: '_', ['=']: ','}; 594 hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]); 595 596 let currentTrap; 597 598 const focusableElements = (rootElement) => { 599 const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]'; 600 return Array.from(rootElement.querySelectorAll(selector)) 601 .filter(el => { 602 return el.style.display !== 'none' 603 && !el.disabled 604 && el.tabIndex !== -1 605 && (el.offsetWidth || el.offsetHeight || el.getClientRects().length) 606 }) 607 } 608 609 const focusTrap = (e) => { 610 const isTabPressed = e.key === 'Tab' || e.keyCode === 9; 611 if (!isTabPressed) return; 612 613 const focusable = focusableElements(currentTrap) 614 const firstFocusableElement = focusable[0] 615 const lastFocusableElement = focusable[focusable.length - 1] 616 617 e.shiftKey 618 ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault()) 619 : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault()) 620 }; 621 622 hyva.releaseFocus = (rootElement) => { 623 if (currentTrap && (!rootElement || rootElement === currentTrap)) { 624 currentTrap.removeEventListener('keydown', focusTrap) 625 currentTrap = null 626 } 627 } 628 hyva.trapFocus = (rootElement) => { 629 if (!rootElement) return; 630 hyva.releaseFocus() 631 currentTrap = rootElement 632 rootElement.addEventListener('keydown', focusTrap) 633 const firstElement = focusableElements(rootElement)[0] 634 firstElement && firstElement.focus() 635 } 636 637 hyva.safeParseNumber = (rawValue) => { 638 const number = rawValue ? parseFloat(rawValue) : null; 639 640 return Array.isArray(number) || isNaN(number) ? rawValue : number; 641 } 642 643 const toCamelCase = s => s.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(''); 644 hyva.createBooleanObject = (name, value = false, additionalMethods = {}) => { 645 646 const camelCase = toCamelCase(name);
647 const key = '__hyva_bool_' + name 648 649 return new Proxy(Object.assign( 650 additionalMethods, 651 { 652 [key]: !!value, 653 [name]() {return !!this[key]}, 654 ['!' + name]() {return !this[key]}, // @deprecated This does not work with non-CSP Alpine 655 ['not' + camelCase]() {return !this[key]}, 656 ['toggle' + camelCase]() {this[key] = !this[key]}, 657 [`set${camelCase}True`]() {this[key] = true}, 658 [`set${camelCase}False`]() {this[key] = false}, 659 } 660 ), { 661 set(target, prop, value) { 662 return prop === name 663 ? (target[key] = !!value) 664 : Reflect.set(...arguments); 665 } 666 }) 667 } 668 669 hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true}) 670 window.addEventListener('alpine:init', () => Alpine.data('{}', () => ({})), {once: true}); 671 window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies()) 672 673 }( window.hyva = window.hyva || {} )); 674 //# sourceURL=hyva.js 675</script>
vendor: 1 bytes, line 675
675
676<script type="speculationrules"> 677{ 678 "tag": "Hyva Theme", 679 "prefetch": [{ 680 "source": "document", 681 "where": { 682 "and": [ 683 { "href_matches": "/*" }, 684 { "not": { 685 "href_matches": ["/customer/*","/search/*","/sales/*","/wishlist/*","/checkout/*","/paypal/*","/newsletter/*","/stores/store/redirect/*"] }}, 686 { "not": { 687 "selector_matches": [".no-preload", ".do-not-prerender", "[download]", "[rel~=nofollow]", "[target]"] 688 }} 689 ] 690 }, 691 "eagerness": "moderate" 692 }] 693} 694</script>
694 695
696<script type="speculationrules"> 697{ 698 "prerender": [{ 699 "source": "document", 700 "where": { 701 "and": [ 702 { "href_matches": "/*" }, 703 { "not": { "href_matches": "/*(customer|login|logout|auth|cart|checkout|search|download|redirect|rewrite|store|productalert)/*" } }, 704 { "not": { "href_matches": "*.pdf" } }, 705 { "not": { "selector_matches": ".do-not-prerender" } }, 706 { "not": { "selector_matches": "[rel=nofollow]" } }, 707 { "not": { "selector_matches": "[target=_blank]" } }, 708 { "not": { "selector_matches": "[target=_parent]" } }, 709 { "not": { "selector_matches": "[target=_top]" } } 710 ] 711 }, 712 "eagerness": "moderate" 713 }] 714} 715</script>
715 716</head> 717<body class="store-haibu customer-account-login page-layout-1column" id="html-body">
vendor: 68 bytes, lines 717-718
717 718<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
718GTM-W24WV5T
vendor: 83 bytes, line 718
718" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
719<input name="form_key" type="hidden" value="hUXXlkyxCzcpJ0RR" />
719<script nonce="dWdnc21hMXp1MzJobjh5eTlld3Q1Zjh5NmswdGFjdG8="> 720 function yireoGoogleTagManager2Pusher(eventData, message, callback) { 721 window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS = window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS || []; 722 723 function doCallback(cb) { 724 if (undefined === cb) { 725 return; 726 } 727 728 cb(); 729 } 730 731 732 const copyEventData = Object.assign({}, eventData); 733 let metaData = {}; 734 if (copyEventData.meta) { 735 metaData = copyEventData.meta; 736 delete copyEventData.meta; 737 } 738 739 const eventHash = btoa(encodeURIComponent(JSON.stringify(copyEventData))); 740 if (window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS.includes(eventHash)) { 741 yireoGoogleTagManager2Logger('Warning: Event already triggered', eventData); 742 doCallback(callback); 743 return; 744 } 745 746 if (metaData && metaData.allowed_pages && metaData.allowed_pages.length > 0 747 && false === metaData.allowed_pages.some(page => window.location.pathname.includes(page))) { 748 yireoGoogleTagManager2Logger('Warning: Skipping event, not in allowed pages', window.location.pathname, eventData); 749 doCallback(callback); 750 return; 751 } 752 753 if (metaData && metaData.allowed_events && metaData.allowed_events.length > 0) { 754 for (const [allowedEventKey, allowedEvent] of Object.entries(metaData.allowed_events)) { 755 window.addEventListener(allowedEvent, function () { 756 const eventDataCopy = Object.assign({}, eventData); 757 eventDataCopy.meta.allowed_events = false; 758 yireoGoogleTagManager2Pusher(eventDataCopy, 'push (allowed event "' + eventData.event + '") [script-pusher]'); 759 }); 760 } 761 762 yireoGoogleTagManager2Logger('Warning: Skipping event, not in allowed events', window.location.pathname, eventData); 763 doCallback(callback); 764 return; 765 } 766 767 if (!message) { 768 message = 'push (unknown) [unknown]'; 769 } 770 771 yireoGoogleTagManager2Logger(message, eventData); 772 window.dataLayer = window.dataLayer || []; 773 774 if (eventData.ecommerce) { 775 window.dataLayer.push({ecommerce: null}); 776 } 777 778 try { 779 window.dataLayer.push(eventData); 780 window.YIREO_GOOGLETAGMANAGER2_PAST_EVENTS.push(eventHash); 781 } catch(error) { 782 doCallback(callback); 783 } 784 785 doCallback(callback); 786 } 787</script>
vendor: 1 bytes, line 787
787
788<script nonce="dWdnc21hMXp1MzJobjh5eTlld3Q1Zjh5NmswdGFjdG8="> 789 function yireoGoogleTagManager2Logger(...args) { 790 const debug = window.YIREO_GOOGLETAGMANAGER2_DEBUG || false; 791 if (false === debug) { 792 return; 793 } 794 795 var color = 'gray'; 796 if (args[0].toLowerCase().startsWith('push')) { 797 color = 'green'; 798 } 799 800 if (args[0].toLowerCase().startsWith('warning')) { 801 color = 'orange'; 802 } 803 804 var css = 'color:white; background-color:' + color + '; padding:1px;' 805 console.log('%cYireo_GoogleTagManager2', css, ...args); 806 } 807</script>
807 808<div class="page-wrapper"><div class="absolute-page-header"><div class="bg-pink-lightest lg:bg-white"><div class="container"><section aria-label="Onze voordelen"> 809 <ul role="list" class="relative lg:flex justify-center md:justify-between items-end md:items-center h-[30px] md:h-[50px] list-none m-0 p-0"> 810 811<li class="absolute lg:relative inset-0 flex items-center justify-center"> 812 <a href="https://www.haibu.de/versand" 813 class="flex items-center text-black hover:no-underline focus:no-underline" 814 > 815 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 15" class="fill-current h-4, w-4" width="24" height="24" aria-hidden="true"> 816 <path d="M13.3333 1.66667V5H17.1L14.65 1.66667H13.3333ZM15 10C15.3523 9.99954 15.7007 10.0735 16.0224 10.2172C16.3441 10.3608 16.6318 10.5707 16.8667 10.8333H18.3333V6.66667H13.3333C12.8913 6.66667 12.4674 6.49107 12.1548 6.17851C11.8423 5.86595 11.6667 5.44203 11.6667 5V1.66667H1.66667V10.8333H3.13333C3.36786 10.5701 3.65542 10.3594 3.97713 10.2152C4.29884 10.0709 4.64743 9.99633 5 9.99633C5.35257 9.99633 5.70116 10.0709 6.02287 10.2152C6.34458 10.3594 6.63214 10.5701 6.86667 10.8333H13.1333C13.3682 10.5707 13.6559 10.3608 13.9776 10.2172C14.2993 10.0735 14.6477 9.99954 15 10ZM5 11.6667C4.83518 11.6667 4.67407 11.7155 4.53702 11.8071C4.39998 11.8987 4.29317 12.0288 4.2301 12.1811C4.16703 12.3334 4.15052 12.5009 4.18268 12.6626C4.21483 12.8242 4.2942 12.9727 4.41074 13.0893C4.52729 13.2058 4.67577 13.2852 4.83742 13.3173C4.99908 13.3495 5.16663 13.333 5.3189 13.2699C5.47117 13.2068 5.60132 13.1 5.69289 12.963C5.78446 12.8259 5.83333 12.6648 5.83333 12.5C5.83333 12.279 5.74554 12.067 5.58926 11.9107C5.43297 11.7545 5.22101 11.6667 5 11.6667ZM15 11.6667C14.8352 11.6667 14.6741 11.7155 14.537 11.8071C14.4 11.8987 14.2932 12.0288 14.2301 12.1811C14.167 12.3334 14.1505 12.5009 14.1827 12.6626C14.2148 12.8242 14.2942 12.9727 14.4107 13.0893C14.5273 13.2058 14.6758 13.2852 14.8374 13.3173C14.9991 13.3495 15.1666 13.333 15.3189 13.2699C15.4712 13.2068 15.6013 13.1 15.6929 12.963C15.7845 12.8259 15.8333 12.6648 15.8333 12.5C15.8333 12.279 15.7455 12.067 15.5893 11.9107C15.433 11.7545 15.221 11.6667 15 11.6667ZM15 15C14.337 15 13.7011 14.7366 13.2322 14.2678C12.7634 13.7989 12.5 13.163 12.5 12.5H7.5C7.5 13.163 7.23661 13.7989 6.76777 14.2678C6.29893 14.7366 5.66304 15 5 15C4.33696 15 3.70107 14.7366 3.23223 14.2678C2.76339 13.7989 2.5 13.163 2.5 12.5H1.66667C1.22464 12.5 0.800716 12.3244 0.488155 12.0118C0.175595 11.6993 0 11.2754 0 10.8333V1.66667C0 1.22464 0.175595 0.800716 0.488155 0.488155C0.800716 0.175595 1.22464 0 1.66667 0L14.65 0C14.9116 0.000629168 15.1693 0.0628144 15.4024 0.181526C15.6355 0.300237 15.8373 0.472141 15.9917 0.683333L20 6.13333V10.8333C20 11.2754 19.8244 11.6993 19.5118 12.0118C19.1993 12.3244 18.7754 12.5 18.3333 12.5H17.5C17.5 13.163 17.2366 13.7989 16.7678 14.2678C16.2989 14.7366 15.663 15 15 15Z"/> 817</svg> 818 <div class="usp-item text-3xs font-semibold ml-3.5"> 819 Lieferung innerhalb von <strong>1-2 Tagen</strong>* </div> 820 </a> 821</li> 822 823<li class="hidden lg:flex lg:relative inset-0 items-center justify-center"> 824 <a href="https://www.haibu.de/versand" 825 class="flex items-center text-black hover:no-underline focus:no-underline" 826 > 827 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15 16" class="fill-current h-4, w-4" width="24" height="24" aria-hidden="true"> 828 <g clip-path="url(#clip0_349_382)"> 829 <path d="M5.20686 1.61454C5.10771 1.61157 5.00974 1.63676 4.92432 1.6872C4.78449 1.7796 4.68384 1.92052 4.64178 2.08276C4.57523 2.44809 4.64718 2.82512 4.84359 3.14028C4.93999 3.33608 5.08472 3.50407 5.26411 3.62838C5.44351 3.75268 5.65163 3.82919 5.86882 3.85067C5.96674 3.8514 6.06348 3.82929 6.15136 3.78609C6.24138 3.72258 6.31577 3.63942 6.36892 3.54292C6.42206 3.44642 6.45257 3.3391 6.45812 3.22907C6.47771 2.92138 6.4046 2.61488 6.24823 2.34916C6.15048 2.14898 6.00379 1.97671 5.82175 1.8483C5.63972 1.71989 5.42823 1.63949 5.20686 1.61454ZM9.32392 1.61454C9.10658 1.63902 8.89885 1.71761 8.71975 1.84313C8.54064 1.96864 8.39587 2.13708 8.29869 2.33301C8.1335 2.60156 8.05461 2.9143 8.07265 3.22907C8.07577 3.34187 8.10511 3.45239 8.15835 3.55188C8.2116 3.65136 8.28729 3.73708 8.37941 3.80223C8.46729 3.84544 8.56404 3.86755 8.66196 3.86681C8.88079 3.84375 9.09002 3.76481 9.26956 3.63758C9.44909 3.51035 9.59291 3.3391 9.68719 3.14028C9.87803 2.82298 9.9442 2.44609 9.87286 2.08276C9.8308 1.92052 9.73014 1.7796 9.59031 1.6872C9.50916 1.64068 9.41745 1.61567 9.32392 1.61454ZM1.61453 5.50556V7.92736H6.45812V5.50556H1.61453ZM8.07265 5.50556V7.92736H12.9162V5.50556H8.07265ZM2.4218 9.54189V14.3855H6.45812V9.54189H2.4218ZM8.07265 9.54189V14.3855H12.109V9.54189H8.07265ZM12.109 16H2.4218C1.9936 16 1.58293 15.8299 1.28015 15.5271C0.977367 15.2243 0.807265 14.8137 0.807265 14.3855V9.47731C0.571084 9.39256 0.366811 9.23
829699 0.222333 9.03183C0.0778546 8.82667 0.000210584 8.58192 0 8.33099L0 5.10193C0 4.78078 0.127576 4.47278 0.354664 4.2457C0.581751 4.01861 0.889748 3.89103 1.2109 3.89103H3.39859C3.02362 3.31618 2.88883 2.61729 3.02314 1.94422C3.15745 1.27116 3.55016 0.677526 4.11705 0.290628C4.44527 0.0990389 4.81875 -0.00129856 5.19879 1.26889e-05C5.59608 0.0113039 5.98628 0.107991 6.34287 0.283503C6.69947 0.459015 7.0141 0.709238 7.26539 1.01717C7.51667 0.709238 7.83131 0.459015 8.1879 0.283503C8.5445 0.107991 8.9347 0.0113039 9.33199 1.26889e-05C9.71203 -0.00129856 10.0855 0.0990389 10.4137 0.290628C10.984 0.67478 11.3795 1.26864 11.514 1.94295C11.6486 2.61726 11.5113 3.31742 11.1322 3.89103H13.3199C13.641 3.89103 13.949 4.01861 14.1761 4.2457C14.4032 4.47278 14.5308 4.78078 14.5308 5.10193V8.33099C14.5306 8.58192 14.4529 8.82667 14.3084 9.03183C14.164 9.23699 13.9597 9.39256 13.7235 9.47731V14.3855C13.7235 14.8137 13.5534 15.2243 13.2506 15.5271C12.9478 15.8299 12.5372 16 12.109 16Z"/> 830 </g> 831 <defs> 832 <clipPath id="clip0_349_382"> 833 <rect width="14.5308" height="16" fill="white"/> 834 </clipPath> 835 </defs> 836</svg> 837 <div class="usp-item text-3xs font-semibold ml-3.5"> 838 <strong>Versandkostenfrei </strong>ab 50€* <em>(inkl. MwSt.)</em> </div> 839 </a> 840</li> 841 842<li class="hidden lg:flex lg:relative inset-0 items-center justify-center"> 843 <a href="https://www.haibu.de/service-kontakt" 844 class="flex items-center text-black hover:no-underline focus:no-underline" 845 > 846 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 20" class="fill-current h-4, w-4" width="24" height="24" aria-hidden="true"> 847 <g clip-path="url(#clip0_349_372)"> 848 <path d="M2.26215 2.36612C1.81145 3.0335 1.64678 3.56223 1.78546 3.87426C2.83134 5.74513 3.98909 7.55121 5.25241 9.2827L6.92521 9.69875L2.26215 2.36612ZM13.7464 2.36612L9.07476 9.74207L10.7476 9.32603C12.013 7.59596 13.1708 5.78974 14.2145 3.91759C14.3619 3.56222 14.1972 3.0335 13.7464 2.36612ZM4.06499 14.3618C3.72214 14.3618 3.38698 14.4635 3.10191 14.6539C2.81684 14.8444 2.59465 15.1151 2.46344 15.4319C2.33224 15.7486 2.29795 16.0972 2.36484 16.4335C2.43172 16.7697 2.59683 17.0786 2.83926 17.321C3.08169 17.5634 3.39052 17.7285 3.72679 17.7954C4.06305 17.8623 4.41162 17.828 4.72837 17.6968C5.04512 17.5656 5.31586 17.3434 5.50634 17.0583C5.69682 16.7733 5.79846 16.4381 5.79846 16.0953C5.79846 15.6355 5.61581 15.1946 5.29071 14.8695C4.96562 14.5444 4.52473 14.3618 4.06499 14.3618ZM11.8656 14.3618C11.5228 14.3618 11.1876 14.4635 10.9026 14.6539C10.6175 14.8444 10.3953 15.1151 10.2641 15.4319C10.1329 15.7486 10.0986 16.0972 10.1655 16.4335C10.2324 16.7697 10.3975 17.0786 10.6399 17.321C10.8823 17.5634 11.1912 17.7285 11.5274 17.7954C11.8637 17.8623 12.2123 17.828 12.529 17.6968C12.8458 17.5656 13.1165 17.3434 13.307 17.0583C13.4975 16.7733 13.5991 16.4381 13.5991 16.0953C13.5991 15.6355 13.4165 15.1946 13.0914 14.8695C12.7663 14.5444 12.3254 14.3618 11.8656 14.3618ZM11.8656 19.5622C10.9461 19.5622 10.0643 19.1969 9.41413 18.5468C8.76395 17.8966 8.39868 17.0148 8.39868 16.0953C8.39566 15.6358 8.48632 15.1806 8.66515 14.7574C8.84397 14.3341 9.10722 13.9518 9.43878 13.6337L8.286 11.8222L8.00864 11.7529L7.7226 11.8222L6.52655 13.7031C7.15069 14.3427 7.4992 15.2016 7.49729 16.0953C7.49729 16.781 7.29395 17.4513 6.91299 18.0214C6.53204 18.5915 5.99056 19.0359 5.35705 19.2983C4.72355 19.5607 4.02646 19.6294 3.35394 19.4956C2.68141 19.3618 2.06369 19.0316 1.57882 18.5468C1.09396 18.0619 0.763756 17.4442 0.629983 16.7716C0.49621 16.0991 0.564847 15.402 0.827253 14.7685C1.08966 14.135 1.53405 13.5936 2.10419 13.2126C2.67433 12.8316 3.34464 12.6283 4.03034 12.6283C4.37647 12.6292 4.72076 12.6788 5.05308 12.7757L6.0325 11.2502L4.84507 10.9555C4.43241 10.8537 4.07148 10.6039 3.83095 10.2534C2.49916 8.44019 1.28886 6.54077 0.207987 4.56764C-0.312056 3.41488 0.207998 1.96742 1.68145 0.285947C1.77062 0.184316 1.88233 0.104961 2.00765 0.0542118C2.13296 0.00346301 2.26843 -0.0172567 2.40319 -0.00630761C2.53795 0.00464149 2.66823 0.0469569 2.78371 0.11727C2.89919 0.187584 2.99662 0.283935 3.06822 0.398627L8.00864 8.14727L12.9404 0.398627C13.012 0.283935 13.1094 0.187584 13.2249 0.11727C13.3404 0.0469569 13.4707 0.00464149 13.6055 -0.00630761C13.7402 -0.0172567 13.8757 0.00346301 14.001 0.0542118C14.1263 0.104961 14.238 0.184316 14.3272 0.285947C15.844 2.01942 16.3207 3.41488 15.8093 4.56764C14.7205 6.53799 13.5075 8.43709 12.1777 10.2534C11.9392 10.6021 11.5817 10.8518 11.1723 10.9555L9.97615 11.2502L10.9382 12.7497C11.2402 12.6662 11.5524 12.6254 11.8656 12.6283C12.7851 12.6283 13.667 12.9936 14.3171 13.6438C14.9673 14.294 15.3326 15.1758 15.3326 16.0953C15.3326 17.0148 14.9673 17.8966 14.3171 18.5468C13.667 19.1969 12.7851 19.5622 11.8656 19.5622Z"/> 849 </g> 850 <defs> 851 <clipPath id="clip0_349_372"> 852 <rect width="16" height="19.5363"/> 853 </clipPath> 854 </defs> 855</svg> 856 <div class="usp-item text-3xs font-semibold ml-3.5"> 857 <strong>Professionelle</strong> Beratung </div> 858 </a> 859</li> 860 861<li class="hidden lg:flex lg:relative inset-0 items-center justify-center"> 862 <a href="https://www.haibu.de/sicheres-zahlen"
863 class="flex items-center text-black hover:no-underline focus:no-underline" 864 > 865 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 14" class="fill-current h-4, w-4" width="24" height="24" aria-hidden="true"> 866 <g clip-path="url(#clip0_349_376)"> 867 <path d="M7.2 9.9H4.5C4.2613 9.9 4.03239 9.80518 3.8636 9.6364C3.69482 9.46761 3.6 9.23869 3.6 9C3.6 8.7613 3.69482 8.53239 3.8636 8.3636C4.03239 8.19482 4.2613 8.1 4.5 8.1H7.2C7.43869 8.1 7.66761 8.19482 7.8364 8.3636C8.00518 8.53239 8.1 8.7613 8.1 9C8.1 9.23869 8.00518 9.46761 7.8364 9.6364C7.66761 9.80518 7.43869 9.9 7.2 9.9ZM10.8 9.9H9.9C9.6613 9.9 9.43239 9.80518 9.2636 9.6364C9.09482 9.46761 9 9.23869 9 9C9 8.7613 9.09482 8.53239 9.2636 8.3636C9.43239 8.19482 9.6613 8.1 9.9 8.1H10.8C11.0387 8.1 11.2676 8.19482 11.4364 8.3636C11.6052 8.53239 11.7 8.7613 11.7 9C11.7 9.23869 11.6052 9.46761 11.4364 9.6364C11.2676 9.80518 11.0387 9.9 10.8 9.9ZM1.8 1.8V3.6H16.2V1.8H1.8ZM1.8 6.3V11.7H16.2V6.3H1.8ZM16.2 13.5H1.8C1.32261 13.5 0.864773 13.3104 0.527208 12.9728C0.189642 12.6352 0 12.1774 0 11.7V1.8C0 1.32261 0.189642 0.864773 0.527208 0.527208C0.864773 0.189642 1.32261 0 1.8 0L16.2 0C16.6774 0 17.1352 0.189642 17.4728 0.527208C17.8104 0.864773 18 1.32261 18 1.8V11.7C18 12.1774 17.8104 12.6352 17.4728 12.9728C17.1352 13.3104 16.6774 13.5 16.2 13.5Z"/> 868 </g> 869 <defs> 870 <clipPath id="clip0_349_376"> 871 <rect width="18" height="13.5"/> 872 </clipPath> 873 </defs> 874</svg> 875 <div class="usp-item text-3xs font-semibold ml-3.5"> 876 <strong>Sicheres </strong>Zahlen </div> 877 </a> 878</li> 879 880<li class="hidden lg:flex lg:relative inset-0 items-center justify-center"> 881 <a href="https://www.haibu.de/ruecksendung" 882 class="flex lg:hidden xl:flex items-center text-black hover:no-underline focus:no-underline" 883 > 884 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" class="fill-current h-4, w-4" width="24" height="24" aria-hidden="true"> 885 <g clip-path="url(#clip0_349_368)"> 886 <path d="M7.17008 8.21085C6.98964 8.21085 6.81328 8.15735 6.66325 8.0571C6.51322 7.95686 6.39626 7.81437 6.3272 7.64766C6.25815 7.48096 6.24011 7.29751 6.27531 7.12054C6.31051 6.94357 6.3974 6.78103 6.52499 6.65344C6.65258 6.52585 6.81515 6.43896 6.99212 6.40375C7.16909 6.36855 7.35251 6.3866 7.51922 6.45565C7.68592 6.5247 7.82841 6.64164 7.92866 6.79167C8.0289 6.9417 8.0824 7.11809 8.0824 7.29853C8.0824 7.54049 7.98627 7.77253 7.81518 7.94362C7.64408 8.11471 7.41205 8.21085 7.17008 8.21085ZM7.70837 11.3218C7.52903 11.3211 7.35389 11.2675 7.20483 11.1678C7.05577 11.0681 6.9394 10.9266 6.87028 10.7611C6.80117 10.5956 6.78236 10.4134 6.81622 10.2373C6.85007 10.0612 6.93507 9.89897 7.06061 9.7709L9.64248 7.18906C9.81701 7.03959 10.0415 6.96149 10.2711 6.97036C10.5007 6.97923 10.7185 7.07441 10.881 7.23689C11.0435 7.39937 11.1387 7.61718 11.1475 7.84679C11.1564 8.0764 11.0783 8.3009 10.9288 8.47543L8.34695 11.0573C8.17702 11.2258 7.94771 11.3208 7.70837 11.3218ZM10.8193 11.8601C10.6389 11.8601 10.4625 11.8066 10.3125 11.7064C10.1625 11.6061 10.0455 11.4636 9.97647 11.2969C9.90742 11.1302 9.88937 10.9468 9.92457 10.7698C9.95977 10.5928 10.0467 10.4303 10.1743 10.3027C10.3018 10.1751 10.4644 10.0882 10.6414 10.053C10.8184 10.0178 11.0018 10.0359 11.1685 10.1049C11.3352 10.174 11.4777 10.2909 11.5779 10.4409C11.6782 10.591 11.7317 10.7674 11.7317 10.9478C11.7317 11.1898 11.6355 11.4218 11.4644 11.5929C11.2933 11.764 11.0613 11.8601 10.8193 11.8601ZM8.99472 14.9437C9.09744 14.9449 9.19924 14.9634 9.2958 14.9985L11.4032 15.7283L12.5345 13.8125C12.6443 13.638 12.8075 13.5036 12.9998 13.4293L15.089 12.6356L14.7241 10.4369C14.6867 10.2325 14.7257 10.0215 14.8336 9.8439L15.9192 7.90066L14.2314 6.45008C14.0752 6.31571 13.9691 6.13242 13.9303 5.93006L13.5107 3.73137H11.2846C11.079 3.7211 10.8816 3.64783 10.719 3.52153L8.99472 2.08921L7.27043 3.50329C7.10786 3.62959 6.9104 3.70286 6.70479 3.71313H4.47874L4.05911 5.91182C4.02036 6.11418 3.91423 6.29745 3.75803 6.43182L2.07021 7.88243L3.15587 9.82564C3.25852 10.
8860052 3.29712 10.2143 3.26534 10.4187L2.90045 12.6173L4.98963 13.4111C5.18192 13.4854 5.3451 13.6198 5.45492 13.7942L6.58619 15.7101L8.69364 14.9802C8.79125 14.9514 8.89303 14.939 8.99472 14.9437ZM11.8047 17.7537C11.7018 17.754 11.5997 17.7355 11.5036 17.6989L8.99472 16.7866L6.48585 17.6989C6.38969 17.7355 6.28763 17.754 6.18477 17.7537C6.02644 17.7536 5.87085 17.7124 5.73329 17.634C5.59572 17.5557 5.48093 17.4428 5.40019 17.3066L4.04998 15.0167L1.55932 14.1044C1.36407 14.0296 1.20044 13.89 1.09581 13.709C0.991178 13.528 0.951897 13.3165 0.984551 13.11L1.41337 10.4916L0.108763 8.17435C0.00507736 7.9904 -0.0315758 7.77619 0.00502501 7.56823C0.0416258 7.36027 0.149187 7.17144 0.309446 7.03395L2.32569 5.30055L2.81832 2.69134C2.85908 2.48049 2.97295 2.29076 3.13983 2.15559C3.30671 2.02041 3.51591 1.94846 3.73063 1.95237H6.3855L8.44735 0.273684C8.59286 0.122148 8.78618 0.0254849 8.99472 0C9.20474 0.00169778 9.40776 0.0758226 9.56948 0.209843L11.6313 1.8885H14.2861C14.5009 1.8846 14.7101 1.95657 14.877 2.09175C15.0439 2.22692 15.1577 2.41662 15.1985 2.62748L15.6911 5.23669L17.7073 6.97011C17.8676 7.1076 17.9752 7.2964 18.0118 7.50436C18.0484 7.71232 18.0118 7.92656 17.9081 8.1105L16.6035 10.4278L17.0322 13.0461C17.0649 13.2526 17.0256 13.4641 16.921 13.6451C16.8163 13.8261 16.6527 13.9658 16.4575 14.0406L13.9669 14.9529L12.5892 17.334C12.5052 17.4651 12.3889 17.5725 12.2516 17.646C12.1142 17.7194 11.9604 17.7565 11.8047 17.7537Z"/> 887 </g> 888 <defs> 889 <clipPath id="clip0_349_368"> 890 <rect width="18" height="17.7537" fill="white"/> 891 </clipPath> 892 </defs> 893</svg> 894 <div class="usp-item text-3xs font-semibold ml-3.5"> 895 <strong>Einfache </strong>Rücksendung </div> 896 </a> 897</li> 898 </ul> 899</section> 900</div></div></div><header class="page-header bg-pink-lightest lg:bg-white sticky top-0 z-30"> 901 902<div id="header" 903 class="w-full" 904 x-data="initHeader()" 905 @keydown.window.escape="searchOpen = false;" 906 @private-content-loaded.window="getData(event.detail.data)" 907 @scroll.window="scrolAtTop = (window.pageYOffset > 90) ? false : true" 908 :class="{ '': !scrolAtTop }" 909> 910 <div class="container"> 911 912 <div class="flex flex-wrap md:justify-between items-center py-2.5 lg:py-0 lg:h-[90px] relative" 913 :class="{ 'lg:h-[70px] mt-8': !scrolAtTop }" 914 915 > 916 917 918 919<div class="lg:flex w-full lg:w-auto items-center gap-7"> 920 <div class="flex items-center justify-between gap-5"> 921 <div class="block lg:hidden w-20"></div> 922 <a href="https://www.haibu.de/" 923 title="Haibu.de - Hair & Beauty Professionals" 924 aria-label="store logo"> 925 <img class="mx-auto lg:mx-0 w-28 lg:w-40" 926 src="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/images/logo.svg" 927 title="Haibu.de - Hair & Beauty Professionals" 928 alt="Haibu.de - Hair & Beauty Professionals" 929 /> 930 </a> 931 932 <a href="https://www.haibu.de/" class="lg:hidden w-20 min-w-0 btn btn-tertiary h-10 my-auto text-blue hover:bg-gray hover:no-underline focus:no-underline border-gray-lighter"> 933 Zurück </a> 934 </div> 935 936 <div class="text-center mt-7 lg:mt-0 header-page-title"> 937 <div> 938 <h1 class="text-2xl font-bold mb-0"> 939 Kundenanmeldung </h1> 940 </div> 941 </div> 942</div> 943 944 945<div class="hidden w-[100px] lg:block"> 946 947 <a href="https://www.trustedshops.de/bewertung/info_X58AE1F430672E02040339F5ADD541C04.html" target="_blank" class="text-black hover:no-underline no-underline"> 948 <div class="h-5 w-full flex" style=" 949 background: transparent url('https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/images/trustedshops_star_grey-1x.png'); 950 background-size: contain;"> 951 <span class="inline-block bg-auto h-5" 952 style=" 953 background: transparent url('https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/images/trustedshops_star_yellow-1x.png'); 954 width: 90%; 955 background-size: contain; 956 "></span> 957 </div> 958 <span class="flex justify-center leading-5 text-3xs">Gut</span> 959 <div class="flex justify-center block" 960 :class="{ 'block': scrolAtTop, 'hidden': !scrolAtTop }"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 370 369" fill="none" class="h-7 w-7 fill-current" role="img"> 961<path d="M185 6.7941e-06C148.596 8.13744e-06 113.01 10.7956 82.7421 31.0215C52.4742 51.2474 28.8841 79.995 14.9552 113.629C1.02638 147.262 -2.6155 184.271 4.49016 219.975C11.5958 255.678 29.1299 288.473 54.8747 314.211C80.6196 339.949 113.419 357.474 149.124 364.57C184.83 371.666 221.838 368.014 255.468 354.076C289.097 340.138 317.839 316.54 338.056 286.266C358.274 255.993 369.06 220.404 369.05 184C369.05 159.833 364.289 135.902 355.039 113.575C345.789 91.2475 332.231 70.9613 315.14 53.8747C298.049 36.788 277.759 23.2357 255.429 13.9918C233.099 4.7479 209.167 -0.006
96156044 185 6.7941e-06V6.7941e-06ZM183.48 299.43C160.537 299.43 138.11 292.627 119.034 279.88C99.9578 267.134 85.0898 249.018 76.31 227.821C67.5302 206.625 65.2331 183.301 69.7089 160.8C74.1848 138.298 85.2328 117.629 101.456 101.406C117.679 85.1827 138.348 74.1348 160.85 69.6589C183.351 65.183 206.675 67.4802 227.871 76.26C249.068 85.0398 267.184 99.9078 279.931 118.984C292.677 138.06 299.48 160.487 299.48 183.43C299.467 214.186 287.24 243.679 265.487 265.422C243.734 287.165 214.236 299.38 183.48 299.38V299.43Z" fill="black"/> 962<path d="M233.88 219.82C217 244.76 193.55 267.49 162 267.49C128.63 267.49 109.2 246.59 109.2 212.86C109.2 158.23 149.53 104.7 206.36 104.7C225.42 104.7 251.09 112.4 251.09 135.5C251.09 176.93 186.19 190.86 154.29 198.93C153.19 205.93 152.1 212.86 152.1 219.82C152.1 234.12 159.79 247.32 175.56 247.32C196.09 247.32 212.56 227.52 224.69 212.86L233.88 219.82ZM216.28 130.73C216.28 122.3 211.51 115.73 202.71 115.73C176.31 115.73 162.71 167.06 157.62 187.22C182.18 179.86 216.28 159.7 216.28 130.73Z" fill="black"/> 963<title>trustedshops-logo</title></svg> 964</div> 965 </a> 966 </div> 967 968 969 970 971 972 </div> 973 974 </div> 975 976 <!--Main Navigation--> 977 978 <!--Minimalistic Header Border--> 979 980<div class="lg:border-t border-gray"> 981 982</div> 983
984 <!--Cart Drawer--> 985 986 <!--Authentication Pop-Up--> 987 </div> 988
989<script> 990 function initHeader() { 991 return { 992 searchOpen: false, 993 loginOpen: false, 994 cart: {}, 995 scrolAtTop: true, 996 customer: {}, 997 getData(data) { 998 if (data.cart) { 999 this.cart = data.cart 1000 } 1001 if (data.customer) { 1002 this.customer = data.customer 1003 } 1004 }, 1005 toggleLoginMenu(e) { 1006 if (window.innerWidth < 1024) { 1007 return 1008 } 1009 e.preventDefault() 1010 this.loginOpen = !this.loginOpen 1011 } 1012 } 1013 } 1014 1015 function initCompareHeader() { 1016 return { 1017 compareProducts: null, 1018 itemCount: 0, 1019 receiveCompareData(data) { 1020 if (data['compare-products']) { 1021 this.compareProducts = data['compare-products']; 1022 this.itemCount = this.compareProducts.count; 1023 } 1024 } 1025 } 1026 } 1027</script>
1027 1028</header><main id="maincontent" class="page-main"><div class="page messages">
1028<script> 1029 window.defaultSuccessMessageTimeout = 8000; 1030 function initMessages() { 1031 "use strict"; 1032 return { 1033 messages: window.mageMessages || [], 1034 isEmpty() { 1035 return this.messages.reduce( 1036 function (isEmpty, message) { 1037 return isEmpty && message === undefined 1038 }, true 1039 ) 1040 }, 1041 hasMessages() { 1042 return !this.isEmpty(); 1043 }, 1044 hasMessage() { 1045 return !!this.message; 1046 }, 1047 removeMessage() { 1048 this.messages[this.index] = undefined; 1049 }, 1050 addMessages(messages, hideAfter) { 1051 messages.map((message) => { 1052 const isDuplicate = this.messages.some( 1053 existing => existing && existing.type === message.type && existing.text === message.text 1054 ); 1055 if (isDuplicate) { 1056 return; 1057 } 1058 this.messages = this.messages.concat(message); 1059 if (hideAfter === undefined && message.type === 'success' && window.defaultSuccessMessageTimeout) { 1060 hideAfter = window.defaultSuccessMessageTimeout; 1061 } 1062 if (hideAfter) { 1063 this.setHideTimeOut(this.messages.length -1, hideAfter); 1064 } 1065 }); 1066 }, 1067 setHideTimeOut(messageIndex, hideAfter) { 1068 setTimeout((messageIndex) => { 1069 this.removeMessage(messageIndex); 1070 }, hideAfter, messageIndex); 1071 }, 1072 eventListeners: { 1073 ['@messages-loaded.window'](event) { 1074 this.addMessages(event.detail.messages, event.detail.hideAfter) 1075 }, 1076 ['@private-content-loaded.window'](event) { 1077 const data = event.detail.data; 1078 if ( 1079 data.messages && 1080 data.messages.messages && 1081 data.messages.messages.length 1082 ) { 1083 this.addMessages(data.messages.messages); 1084 } 1085 }, 1086 ['@clear-messages.window']() { 1087 this.messages = []; 1088 } 1089 }, 1090 getMessageUiId() { 1091 return 'message-' + this.message.type; 1092 } 1093 } 1094 } 1095 1096 window.addEventListener('alpine:init', () => Alpine.data('initMessages', initMessages), {once: true}) 1097</script>
1097 1098 1099<section id="messages" 1100 x-data="initMessages" 1101 x-bind="eventListeners" 1102 aria-live="assertive" 1103 role="alert" 1104> 1105 <template x-if="hasMessages"> 1106 <div class="w-full"> 1107 <div role="alert" class="messages container mx-auto py-3"> 1108 <template x-for="(message, index) in messages" :key="index"> 1109 <div> 1110 <template x-if="hasMessage"> 1111 <div class="message" 1112 :class="message.type" 1113 :ui-id="getMessageUiId" 1114 > 1115 <span x-html="message.text"></span> 1116 <button 1117 type="button" 1118 class="text-gray-600 hover:text-black" 1119 aria-label="Close message" 1120 @click.prevent="removeMessage" 1121 > 1122 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="stroke-current" width="18" height="18" aria-hidden="true"> 1123 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> 1124</svg> 1125 </button> 1126 </div> 1127 </template> 1128 </div> 1129 </template> 1130 </div> 1131 </div> 1132 </template> 1133</section> 1134</div><div class="columns"><div class="column main"> 1135<div class="md:container md:flex md:gap-10 xl:gap-40 md:py-16"> 1136 <div class="w-full md:w-1/2 py-5 md:py-10 xl:py-20 px-6 lg:px-16"> 1137 <div aria-labelledby="block-customer-login-heading"> 1138 <form class="form form-login" 1139 action="https://www.haibu.de/customer/account/loginPost/" 1140 method="post" 1141 x-data="initCustomerLoginForm" 1142 @submit.prevent="submitForm" 1143 id="customer-login-form"> 1144 <input name="form_key" type="hidden" value="hUXXlkyxCzcpJ0RR" /> <input type="hidden" name="login" value="login"> 1145 <fieldset class="fieldset login"> 1146 <legend class="mb-3 justify-center w-full flex"> 1147 <h2 class="text-2xl md:text-3xl lg:text-4xl font-bold title-font text-black mb-0"> 1148 Anmelden </h2> 1149 </legend> 1150 <div class="field email required"> 1151 <label class="block text-2xs font-medium required mb-0" for="email"><span>E-Mail</span></label> 1152 <div class="control"> 1153 <input name="login[username]" 1154 class="form-input w-full" 1155 required 1156 value="" 1157 autocomplete="off" 1158 id="email" 1159 type="email" 1160 title="E-Mail"/> 1161 </div> 1162 </div> 1163 <div class="field password required"> 1164 <label for="pass" class="label"> 1165 <span> 1166 Passwort </span> 1167 </label> 1168 <div class="control flex items-center"> 1169 <input name="login[password]" 1170 class="form-input w-full" 1171 required 1172 type="password" 1173 autocomplete="off" 1174 id="pass" 1175 title="Passwort" 1176 /> 1177 </div> 1178 </div> 1179 1180 1181 1182 <div class="flex flex-col"> 1183 <div class="pt-6 pb-4 flex justify-center"> 1184 <button type="submit" class="btn btn-secondary h-12 w-full" name="send" 1185 >
1186 <span>Anmelden</span> 1187 </button> 1188 </div> 1189 <div class="flex justify-center"> 1190 <a class="text-blue text-2xs font-semibold" href="https://www.haibu.de/customer/account/forgotpassword/"><span>Passwort vergessen?</span> 1191 </a> 1192 </div> 1193 </div> 1194 1195 <div> 1196 <template x-if="displayErrorMessage"> 1197 <p class="text-red flex items-center"> 1198 <span class="inline-block w-8 h-8 mr-3"> 1199 <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" 1200 stroke="currentColor"> 1201 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" 1202 d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/> 1203 </svg> 1204 </span> 1205 <template x-for="errorMessage in errorMessages"> 1206 <span x-html="errorMessage"></span> 1207 </template> 1208 </p> 1209 </template> 1210 </div> 1211 </fieldset> 1212 </form> 1213 </div> 1214 <div class="w-full"> 1215 </div> 1216
1216<script> 1217 function initCustomerLoginForm() { 1218 return { 1219 errors: 0, 1220 hasCaptchaToken: 0, 1221 displayErrorMessage: false, 1222 errorMessages: [], 1223 setErrorMessages(messages) { 1224 this.errorMessages = [messages] 1225 this.displayErrorMessage = this.errorMessages.length 1226 }, 1227 submitForm() { 1228 // do not rename $form, the variable is the expected name in the recaptcha output 1229 const $form = document.querySelector('#customer-login-form'); 1230 1231 if (this.errors === 0) { 1232 $form.submit(); 1233 } 1234 } 1235 } 1236 } 1237 window.addEventListener('alpine:init', () => { 1238 Alpine.data('initCustomerLoginForm', initCustomerLoginForm); 1239 }, {once: true}); 1240 </script>
1240 1241 </div> 1242 1243 <div class="flex flex-col gap-10 w-full md:w-1/2 md:my-8 md:my-0 bg-gray-lighter rounded py-10 xl:py-20 px-6 lg:px-16"> 1244 <div class="block-title"> 1245 <h2 class="text-2xl md:text-3xl lg:text-4xl text-center font-bold title-font mb-0 text-black" role="heading" aria-level="2"> 1246 Registrieren </h2> 1247 1248 </div> 1249 <div class="[&>div>ul>li>div]:bg-green [&>div>ul>li>div>svg]:text-white [&>div>ul]:flex [&>div>ul]:flex-col [&>div>ul]:p-0 [&>div>ul]:m-0 [&>div>ul]:border-0 [&>div>ul]:font-normal [&>div>ul]:text-xs mt-auto"> 1250 <div><ul class="lg:flex lg:flex-col lg:text-xs lg:gap-y-2 lg:p-0 lg:m-0 lg:border-0 font-semibold grid grid-cols-2 gap-2.5 gap-x-2 text-2xs py-8 mb-7 border-b border-gray"><li class="flex flex-row items-center leading-4"> 1251 <div class="mr-3.5 rounded-full bg-black h-6 w-6 flex justify-center items-center"> 1252 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 10 9" class="fill-current h-3 w-3" role="img"> 1253 <path d="M3.31823 8.14482L0.136507 5.03584C0.0935037 4.99665 0.0591472 4.9489 0.0356421 4.89568C0.012137 4.84246 0 4.78491 0 4.72673C0 4.66855 0.012137 4.61106 0.0356421 4.55784C0.0591472 4.50461 0.0935037 4.45687 0.136507 4.41768L0.772849 3.79042C0.86137 3.71057 0.976355 3.66636 1.09557 3.66636C1.21478 3.66636 1.32976 3.71057 1.41828 3.79042L3.6364 5.97215L8.58172 1.12687C8.66821 1.04301 8.78395 0.996094 8.90443 0.996094C9.02491 0.996094 9.14065 1.04301 9.22715 1.12687L9.86349 1.75413C9.9065 1.79332 9.94085 1.84101 9.96436 1.89423C9.98786 1.94745 10 2.005 10 2.06318C10 2.12136 9.98786 2.17891 9.96436 2.23213C9.94085 2.28535 9.9065 2.3331 9.86349 2.37229L3.95457 8.14482C3.86961 8.2281 3.75538 8.27477 3.6364 8.27477C3.51743 8.27477 3.4032 8.2281 3.31823 8.14482Z"/> 1254<title>moma-check-mark</title></svg> 1255 </div> 1256 <p>Persönliche Beratung</p></li> 1257<li class="flex flex-row items-center leading-4"> 1258 <div class="mr-3.5 rounded-full bg-black h-6 w-6 flex justify-center items-center"> 1259 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 10 9" class="fill-current h-3 w-3" role="img"> 1260 <path d="M3.31823 8.14482L0.136507 5.03584C0.0935037 4.99665 0.0591472 4.9489 0.0356421 4.89568C0.012137 4.84246 0 4.78491 0 4.72673C0 4.66855 0.012137 4.61106 0.0356421 4.55784C0.0591472 4.50461 0.0935037 4.45687 0.136507 4.41768L0.772849 3.79042C0.86137 3.71057 0.976355 3.66636 1.09557 3.66636C1.21478 3.66636 1.32976 3.71057 1.41828 3.79042L3.6364 5.97215L8.58172 1.12687C8.66821 1.04301 8.78395 0.996094 8.90443 0.996094C9.02491 0.996094 9.14065 1.04301 9.22715 1.12687L9.86349 1.75413C9.9065 1.79332 9.94085 1.84101 9.96436 1.89423C9.98786 1.94745 10 2.005 10 2.06318C10 2.12136 9.98786 2.17891 9.96436 2.23213C9.94085 2.28535 9.9065 2.3331 9.86349 2.37229L3.95457 8.14482C3.86961 8.2281 3.75538 8.27477 3.6364 8.27477C3.51743 8.27477 3.4032 8.2281 3.31823 8.14482Z"/> 1261<title>moma-check-mark</title></svg> 1262 </div> 1263 <p>Extra Rabatt auf alle Marken speziell für Friseure (PROFI)</p></li> 1264<li class="flex flex-row items-center leading-4"> 1265 <div class="mr-3.5 rounded-full bg-black h-6 w-6 flex justify-center items-center"> 1266 <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 10 9" class="fill-current h-3 w-3" role="img"> 1267 <path d="M3.31823 8.14482L0.136507 5.03584C0.0935037 4.99665 0.0591472 4.9489 0.0356421 4.89568C0.012137 4.84246 0 4.78491 0 4.72673C0 4.66855 0.012137 4.61106 0.0356421 4.55784C0.0591472 4.50461 0.0935037 4.45687 0.136507 4.41768L0.772849 3.79042C0.86137 3.71057 0.976355 3.66636 1.09557 3.66636C1.21478 3.66636 1.32976 3.71057 1.41828 3.79042L3.6364 5.97215L8.58172 1.12687C8.66821 1.04301 8.78395 0.996094 8.90443 0.996094C9.02491 0.996094 9.14065 1.04301 9.22715 1.12687L9.86349 1.75413C9.9065 1.79332 9.94085 1.84101 9.96436 1.89423C9.98786 1.94745 10 2.005 10 2.06318C10 2.12136 9.98786 2.17891 9.96436 2.23213C9.94085 2.28535 9.9065 2.3331 9.86349 2.37229L3.95457 8.14482C3.86961 8.2281 3.75538 8.27477 3.6364 8.27477C3.51743 8.27477 3.4032 8.2281 3.31823 8.14482Z"/> 1268<title>moma-check-mark</title></svg> 1269 </div> 1270 <p>Ab einem Bestellwert von 200,00 ⬠(inkl. MwSt.) 7,5 % Rechnungsrabatt</p></li> 1271</ul></div> </div> 1272 <div class="mt-auto pt-4 flex justify-center flex-col"> 1273 <a href="https://www.haibu.de/customer/account/create/" 1274 class="btn btn-primary hover:no-underline h-12 w-full mb-4"><span>Kundenkonto erstellen</span></a> 1275 1276 <div class="flex justify-center"> 1277 <div class="text-blue text-2xs font-semibold">
1278 <span> </span> 1279 </div> 1280 </div> 1281 </div> 1282 </div> 1283 1284</div>
1285<script type="text/javascript"> 1286 if (typeof __robin !== 'undefined' && isLoggedIn()) { 1287 var customer = getCustomer(); 1288 var robin_settings = { 1289 callback: function (event, data) { 1290 if (event == 'init') { 1291 var name = customer.fullname; // determine real name 1292 var email = customer.email; // determine real email 1293 1294 if (email != null && email != '') { 1295 var ws = __robin.getWebStore(); 1296 1297 1298 ws.conversationTemplate.useAnonymousChat = true; 1299 __robin.setShopper(email, name); 1300 } 1301 } 1302 } 1303 }; 1304 } 1305 1306 /** 1307 * Function to check if customer is logged in 1308 * @returns {boolean} 1309 */ 1310 function isLoggedIn() { 1311 var mageCacheStorage = getMageCacheStorage(); 1312 1313 return mageCacheStorage != null && typeof mageCacheStorage.customer !== 'undefined'; 1314 } 1315 1316 /** 1317 * Get the customer from the local storage, because the PHP customer session is depersonalized on cached pages 1318 * @returns {Object} 1319 */ 1320 function getCustomer() { 1321 var mageCacheStorage = getMageCacheStorage(); 1322 if (mageCacheStorage != null && typeof mageCacheStorage.customer !== 'undefined') { 1323 return mageCacheStorage.customer; 1324 } 1325 1326 return { 1327 fullname: 'Unknown', 1328 email: '[email protected]' 1329 }; 1330 } 1331 1332 /** 1333 * @returns {Object|null} 1334 */ 1335 function getMageCacheStorage() 1336 { 1337 if (localStorage.getItem('mage-cache-storage') != null) { 1338 return JSON.parse(localStorage.getItem('mage-cache-storage')); 1339 } 1340 return null; 1341 } 1342</script>
1342 1343</div></div></main><footer class="page-footer"><div class="footer content"> 1344<div class="container sm:p-0 sm:max-w-none"> 1345 <div class="border-t border-gray"></div> 1346</div> 1347 1348<div class="bg-white my-8"> 1349 <div class="container"> 1350 <div class="grid grid-cols-5 lg:flex lg:flex-row justify-between gap-4 lg:gap-8"> 1351 <div class="col-span-2 flex flex-row lg:flex-col xl:flex-row h-max md:gap-4 order-1"> 1352 <div> 1353<a href="https://www.haibu.de/" 1354 class="grow lg:grow-0 mb-[10px] lg:mb-0" 1355 title="Haibu.de - Hair & Beauty Professionals" 1356 aria-label="store logo"> 1357 <img class="mx-auto lg:mx-0 w-32" 1358 src="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/images/logo.svg" 1359 title="Haibu.de - Hair & Beauty Professionals" 1360 alt="Haibu.de - Hair & Beauty Professionals" 1361 width="130" 1362 height="40" 1363 /> 1364</a> 1365</div> 1366 <div class="text-2xs self-center hidden md:flex">â¸2026 Haibu</div> 1367 </div> 1368 1369 <div class="col-span-5 flex flex-col gap-4 order-3 lg:order-2"> 1370 <div class="flex flex-wrap md:flex-nowrap gap-1 order-2 lg:order-1"> 1371 1372<a 1373 href="https://www.haibu.de/sicheres-zahlen" 1374 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1375 title="Sofort Banking"> 1376 1377 <img src="https://images.haibu.de/zMU0wSfEi8Ul2IoUTS2FIO3llcUdsbJViKsTTZryiBg/w:40/h:8/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hLzhhOTM0ZDVmLTQ1YTEtNGYyNi1iNzkwLWY4MTI2Mzk0Y2JkZV9pbWFnZSsyNC5wbmc_YXV0bz1jb21wcmVzcyxmb3JtYXQ.png" alt="Sofort" width="40" height="8" class="w-auto h-auto rounded" loading="lazy" /></a> 1378 1379<a 1380 href="https://www.haibu.de/sicheres-zahlen" 1381 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1382 title="Bancontact"> 1383 1384 <img src="https://images.haibu.de/vcyTVtTE4Ih-qZ9ga4DW6lUqB2vRj3gJLUCGO09Ujxk/w:43/h:20/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hL2Y4NjU3ZDE3LWZiNzktNDI2Yi04ZDM2LTI1ZjM5NjEyOGVlZl8yNTYwcHgtR2lyb3BheStzbWFsbC5zdmcuanBnP2F1dG89Y29tcHJlc3MsZm9ybWF0.jpg" alt="" width="43" height="20" class="w-auto h-auto rounded" loading="lazy" /></a> 1385 1386<a 1387 href="https://www.haibu.de/sicheres-zahlen" 1388 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1389 title="PayPal"> 1390 1391 <img src="https://images.haibu.de/4bjm5JMg0Rq-wr2_MWsrj9iYtbSMZlU8x8AKbXPR5ZU/w:40/h:11/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hLzYyMDNjNDQ4LTYxNzctNDdlOS04ODRiLWVmZTNhNDRmOTg3NV9pbWFnZSsyMC5wbmc_YXV0bz1jb21wcmVzcyxmb3JtYXQ.png" alt="PayPal" width="40" height="11" class="w-auto h-auto rounded" loading="lazy" /></a> 1392 1393<a 1394 href="https://www.haibu.de/sicheres-zahlen" 1395 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1396 title="Visa"> 1397 1398 <img src="https://images.haibu.de/yDKhu7uxlSSBei7ONFHtBZFs638kcaBFMJU1Yg6igHQ/w:32/h:10/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hLzc1ZTQ3OGRmLTdlNzgtNGE1MC05NjczLWM5YmIxZjY5Zjc1OV9pbWFnZSsxNy5wbmc_YXV0bz1jb21wcmVzcyxmb3JtYXQ.png" alt="Visa" width="32" height="10" class="w-auto h-auto rounded" loading="lazy" /></a> 1399 1400<a 1401 href="https://www.haibu.de/sicheres-zahlen" 1402 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1403 title="Mastercard"> 1404 1405 <img src="https://images.haibu.de/_MNMe_OWib8RJslyC0Gy6SGSeozn_OPAqsWFLVXyOzM/w:30/h:17/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hLzY2YTk5NDYyLWE3NWYtNGFjMy05ZWExLTViY2M3NWRiMjZjZl9pbWFnZSsxOS5wbmc_YXV0bz1jb21wcmVzcyxmb3JtYXQ.png" alt="Mastercard" width="30" height="17" class="w-auto h-auto rounded" loading="lazy" /></a> 1406 1407<a 1408 href="https://www.haibu.de/sicheres-zahlen"
1409 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1410 title="Klarna"> 1411 1412 <img src="https://images.haibu.de/DzMc9p7jLUwT15d3q6qmTXVpp7SGnh4L8W6EoZVY8Yg/w:32/h:20/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hL2Y4ZDNkNTk4LTk4NzAtNDdlMy05ZjkyLWRlNDE1Mjc5NWEyYl9rbGFybmErdGVzdC5qcGc_YXV0bz1jb21wcmVzcyxmb3JtYXQ.jpg" alt="" width="32" height="20" class="w-auto h-auto rounded" loading="lazy" /></a> 1413 1414<a 1415 href="https://www.haibu.de/versand" 1416 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1417 title=""> 1418 1419 <img src="https://images.haibu.de/AHJiSdbAeIG7OVvUmm93mRuT7gaxpbJp35Owjf9v1qg/w:46/h:30/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hL2FlNDk0YzUzLThkNjYtNDcwNC1hMWVkLTg2NTQ5MGEwN2I2MV9ESEwrSGFpYnUuanBnP2F1dG89Y29tcHJlc3MsZm9ybWF0.jpg" alt="" width="46" height="30" class="w-auto h-auto rounded" loading="lazy" /></a> 1420 1421<a 1422 href="https://www.haibu.de/versand" 1423 class="h-10 w-16 border border-gray-lighter rounded flex items-center justify-center" 1424 title=""> 1425 1426 <img src="https://images.haibu.de/yOPaATmJSlKLnVZoga7RbOH-Cm6_Uxf4B6sGFfqsnLk/w:35/h:30/rt:fit/g:sm/el:1/ex:1:ce:0:0/aHR0cHM6Ly9pbWFnZXMucHJpc21pYy5pby9tb21hL2FicDhNTGJjaTJVRjZLOGVfTG9nb3BhY2thZ2luZ0xhbmRiZWxsX0hhaWJ1REUucG5nP2F1dG89Zm9ybWF0LGNvbXByZXNz.png" alt="" width="35" height="30" class="w-auto h-auto rounded" loading="lazy" /></a> 1427 </div> 1428 1429 <div class="text-2xs leading-5 order-1 lg:order-2"> 1430 <!-- Same flex row so the withdrawal link sits next to the other legal links. --> 1431 <div class="flex flex-wrap gap-x-4 lg:gap-4 items-baseline"> 1432 1433<div class="flex flex-wrap gap-x-4 lg:gap-4 text-xs md:text-2xs"> 1434 <p><a href="https://www.haibu.de/datenschutzerklarung">Datenschutzerklärung</a></p><p><a href="https://www.haibu.de/impressum">Impressum</a></p><p><a href="https://www.haibu.de/cookie-richtlinien">Cookies</a></p><p><a href="https://www.haibu.de/allgemeine-geschaftsbedingungen">Algemeine Geschäftsbedingungen</a></p></div> 1435 </div> 1436 </div> 1437 </div> 1438 1439 <div class="col-span-3 flex items-center justify-self-end lg:items-start gap-2 lg:gap-8 order-2 lg:order-3"> 1440 </div> 1441 1442 </div> 1443 </div> 1444</div> 1445 1446 1447 1448</div></footer>
1448<script async defer src="https://static.cdn.prismic.io/prismic.js?new=true&repo=moma"></script>
vendor: 1 bytes, line 1448
1448
1449<script>try { 1450smileTracker.addPageVar('type.identifier', 'customer_account_login'); 1451smileTracker.addPageVar('type.label', 'Customer Account Login Form'); 1452smileTracker.addPageVar('locale', 'de_DE'); 1453} catch (err) { ; }</script>
vendor: 1 bytes, line 1453
1453
1454<script> 1455 let SnapSlider = class { 1456 constructor(el, { 1457 labelSepparator = 'von', 1458 autoPager, 1459 groupPager, 1460 loop 1461 } = {}) { 1462 this.el = el; 1463 this.track = this.el.querySelector("[data-track]"); 1464 if (!this.track) { 1465 console.warn( 1466 "No Slider track defined, reverting back to CSS slider.\nPlease create a wrapper for your slides with the attribute data-track", 1467 this.el 1468 ); 1469 return; 1470 } 1471 this.initialLoad = true; 1472 this.slides = []; 1473 this.inViewObserver; 1474 this.mutationObserver; 1475 this.resizeObserver; 1476 this.pager = this.el.querySelector("[data-pager]"); 1477 this.navBtns = Array.from( 1478 this.el.querySelectorAll("[data-next], [data-prev]") 1479 ); 1480 this.slideLabelSepparator = this.el.dataset.slideLabelSepparator || labelSepparator; 1481 this.useAutoPager = autoPager || this.el.hasAttribute("data-auto-pager") || false; 1482 this.useGroupPager = groupPager || this.el.hasAttribute("data-group-pager") || false; 1483 this.useLoop = loop || this.el.hasAttribute("data-loop") || false; 1484 this.sliderLabel = this.el.hasAttribute("aria-label") && this.el.getAttribute("aria-label").toLowerCase().trim().replace(/[^a-z0-9_-]+/g, "-").replace(/^-+|-+$/g, ""); 1485 this.sliderId = this.el.id || this.sliderLabel || "slider"; 1486 this.markerIdName = "data-target-id"; 1487 this.pagerClasses = this.el.dataset.pagerClass || "snap-pager"; 1488 this.markerClasses = this.el.dataset.markerClass || "snap-marker"; 1489 this.init(); 1490 } 1491 init() { 1492 this.setupSlides(); 1493 this.setupNav(); 1494 if (this.useAutoPager) { 1495 this.createPager(); 1496 } else { 1497 this.setupPager(); 1498 } 1499 this.setupObservers(); 1500 this.setupMutationObserver(); 1501 this.setupResizeObserver(); 1502 this.el.addEventListener("click", this.eventHandler.bind(this)); 1503 this.el.addEventListener("keydown", this.eventHandler.bind(this)); 1504 if ("onscrollend" in window) { 1505 this.track.addEventListener("scrollend", () => { 1506 this.isNavigating = false; 1507 }); 1508 } else { 1509 this.track.addEventListener("scroll", () => { 1510 clearTimeout(this.scrollEndTimer); 1511 this.scrollEndTimer = setTimeout(() => { 1512 this.isNavigating = false; 1513 }, 100); 1514 }); 1515 } 1516 } 1517 destroy() { 1518 this.inViewObserver?.disconnect(); 1519 this.mutationObserver?.disconnect(); 1520 this.resizeObserver?.disconnect(); 1521 this.el.removeEventListener("click", this.eventHandler.bind(this)); 1522 this.el.removeEventListener("keydown", this.eventHandler.bind(this)); 1523 } 1524 roundUpIfGreaterThan(number, min = 8) { 1525 const decimalPart = number - Math.floor(number); 1526 return decimalPart >= min ? Math.ceil(number) : Math.floor(number); 1527 } 1528 getInViewItems() { 1529 const inViewSlides = Array.from(this.track.querySelectorAll("[data-in-view]")).filter((el) => this.slides.includes(el)); 1530 const firstInViewSlide = inViewSlides[0] || null; 1531 const lastInViewSlide = inViewSlides[inViewSlides.length - 1] || null; 1532 const isAtStart = firstInViewSlide === this.slides[0]; 1533 const isAtEnd = lastInViewSlide === this.slides[this.slides.length - 1]; 1534 return { 1535 inViewSlides, 1536 totalInViewSlides: inViewSlides.length, 1537 firstInViewSlide, 1538 lastInViewSlide, 1539 isAtStart, 1540 isAtEnd, 1541 hasNoOverflow: isAtStart && isAtEnd 1542 }; 1543 } 1544 groupPagerMarkers() { 1545 if (this.slides.length === 0 || !this.pager || !this.useGroupPager) return; 1546 const totalVisibleSlides = this.roundUpIfGreaterThan( 1547 this.track.offsetWidth / this.slides[0].offsetWidth 1548 ); 1549 const markers = Array.from(this.pager.querySelectorAll("a, button"));
1550 markers.forEach((marker, index) => { 1551 marker.style.display = index % totalVisibleSlides === 0 ? null : "none"; 1552 }); 1553 } 1554 handleInView(entries) { 1555 entries.forEach((entry) => { 1556 const marker = this.pager && (this.pager.querySelector(`[href="#${entry.target.id}"]`) || this.pager.querySelector( 1557 `[${this.markerIdName}="${entry.target.id}"]` 1558 )); 1559 entry.target.toggleAttribute("data-in-view", entry.isIntersecting); 1560 entry.target.toggleAttribute("inert", !entry.isIntersecting); 1561 marker?.setAttribute("aria-current", entry.isIntersecting); 1562 marker?.setAttribute("tabindex", entry.isIntersecting ? "0" : "-1"); 1563 }); 1564 const { isAtStart, isAtEnd, hasNoOverflow } = this.getInViewItems(); 1565 this.navBtns.forEach((btn) => { 1566 if (btn.hasAttribute("data-next")) { 1567 btn.style.visibility = hasNoOverflow ? "hidden" : null; 1568 isAtEnd && !this.useLoop ? btn.setAttribute("disabled", "") : btn.removeAttribute("disabled"); 1569 } 1570 if (btn.hasAttribute("data-prev")) { 1571 btn.style.visibility = hasNoOverflow ? "hidden" : null; 1572 isAtStart && !this.useLoop ? btn.setAttribute("disabled", "") : btn.removeAttribute("disabled"); 1573 } 1574 }); 1575 if (this.pager) { 1576 this.pager.style.visibility = hasNoOverflow ? "hidden" : null; 1577 this.pager.toggleAttribute("inert", hasNoOverflow); 1578 } 1579 if (!this.initialLoad) { 1580 this.el.dispatchEvent( 1581 new CustomEvent("slideChange", { 1582 detail: this.getInViewItems() 1583 }) 1584 ); 1585 } else { 1586 this.initialLoad = false; 1587 } 1588 if (document.activeElement.parentElement.hasAttribute("data-pager")) { 1589 const activeItems = this.pager.querySelectorAll('[tabindex="0"]'); 1590 if (activeItems.length) { 1591 activeItems[0].focus({ preventScroll: true }); 1592 } 1593 } 1594 } 1595 getSlides() { 1596 if (!this.track) return []; 1597 return Array.from(this.track.children).filter( 1598 (child) => child.tagName.toLowerCase() !== "template" && child.tagName.toLowerCase() !== "style" && child.tagName.toLowerCase() !== "script" && child.style.display !== "none" 1599 ); 1600 } 1601 refreshSlides() { 1602 this.initialLoad = true; 1603 this.slides = this.getSlides(); 1604 this.setupSlides(); 1605 if (this.useAutoPager) { 1606 this.createPager(); 1607 } else { 1608 this.setupPager(); 1609 } 1610 this.groupPagerMarkers(); 1611 this.setupObservers(); 1612 } 1613 setupSlides() { 1614 this.slides = this.getSlides(); 1615 this.slides.forEach((slide, index) => { 1616 const totalSlides = this.slides.length; 1617 const currentSlide = index + 1; 1618 const existingLabel = slide.getAttribute("aria-label") || ""; 1619 const isImage = slide.tagName.toLowerCase() === "img" || slide.tagName.toLowerCase() === "picture"; 1620 const slideLabelTag = isImage ? "alt" : "aria-label"; 1621 const hasAutoLabel = existingLabel.startsWith( 1622 `${currentSlide} ${this.slideLabelSepparator} ` 1623 ); 1624 if (!slide.hasAttribute("id")) { 1625 slide.setAttribute( 1626 "id", 1627 `${this.sliderId}-item-${currentSlide}` 1628 ); 1629 } 1630 if (!slide.hasAttribute(slideLabelTag) || slide.getAttribute(slideLabelTag) === "" || hasAutoLabel) { 1631 slide.setAttribute( 1632 slideLabelTag, 1633 `${currentSlide} ${this.slideLabelSepparator} ${totalSlides}` 1634 ); 1635 } 1636 if (slide.tagName.toLowerCase() === "div" && !slide.hasAttribute("role")) { 1637 slide.setAttribute("role", "group"); 1638 } 1639 if (this.pager && !isImage) { 1640 slide.setAttribute("role", "tabpanel"); 1641 } 1642 if (slide.getAttribute("role") === "group") { 1643 slide.setAttribute("aria-roledescription", "item"); 1644 } 1645 }); 1646 if (!this.el.hasAttribute("role") && this.el.tagName !== "SECTION") { 1647 this.el.setAttribute("role", "region"); 1648 } 1649 if (!this.el.hasAttribute("aria-roledescription")) { 1650 this.el.setAttribute("aria-roledescription", "carousel"); 1651 } 1652 if (!this.track.hasAttribute("tabindex")) { 1653 this.track.setAttribute("tabindex", 0); 1654 } 1655 this.track.setAttribute("aria-live", "polite"); 1656 } 1657 setupNav() { 1658 this.navBtns.forEach((btn) => { 1659 btn.setAttribute("disabled", ""); 1660 btn.removeAttribute("hidden"); 1661 btn.classList.remove("invisible"); 1662 btn.style.visibility = null; 1663 }); 1664 } 1665 createPager() { 1666 const newPager = document.createElement("nav"); 1667 newPager.setAttribute("data-pager", ""); 1668 newPager.setAttribute("role", "tablist"); 1669 newPager.classList.add(...this.pagerClasses.split(" "));
1670 this.slides.forEach((slide, index) => { 1671 const marker = document.createElement("button"); 1672 const slideId = slide.id || `${this.sliderId}-item-${index + 1}`; 1673 marker.setAttribute(this.markerIdName, slideId); 1674 marker.classList.add(...this.markerClasses.split(" ")); 1675 this.setupPagerMarker(marker, index); 1676 newPager.appendChild(marker); 1677 if (slide.tagName.toLowerCase() !== "img" && slide.tagName.toLowerCase() !== "picture") { 1678 slide.removeAttribute("aria-roledescription"); 1679 slide.setAttribute("role", "tabpanel"); 1680 } 1681 }); 1682 if (this.pager) { 1683 this.pager.setAttribute("role", "tablist"); 1684 this.pager.replaceChildren(...newPager.children); 1685 } else { 1686 this.track.after(newPager); 1687 this.pager = this.el.querySelector("[data-pager]"); 1688 } 1689 } 1690 setupPager() { 1691 if (!this.pager) return; 1692 this.pager.setAttribute("role", "tablist"); 1693 const items = Array.from(this.pager.querySelectorAll("a, button")); 1694 items.forEach((marker, index) => this.setupPagerMarker(marker, index)); 1695 } 1696 setupPagerMarker(marker, index) { 1697 const markerId = marker.getAttribute("href")?.slice(1) || marker.getAttribute(this.markerIdName); 1698 const slideId = markerId || `${this.sliderId}-item-${index + 1}`; 1699 if (!markerId) { 1700 marker.setAttribute(this.markerIdName, slideId); 1701 } 1702 marker.setAttribute("role", "tab"); 1703 marker.setAttribute("aria-controls", slideId); 1704 marker.setAttribute("aria-posinset", index + 1); 1705 marker.setAttribute("aria-setsize", this.slides.length); 1706 marker.setAttribute("tabindex", "-1"); 1707 if (!marker.hasAttribute("aria-label")) { 1708 marker.setAttribute("aria-label", `Slide ${index + 1}`); 1709 } 1710 } 1711 setupObservers() { 1712 if (this.inViewObserver) { 1713 this.inViewObserver.disconnect(); 1714 } 1715 this.inViewObserver = new IntersectionObserver( 1716 this.handleInView.bind(this), { 1717 root: this.track, 1718 threshold: 0.8 1719 } 1720 ); 1721 this.slides.forEach((slide) => this.inViewObserver.observe(slide)); 1722 } 1723 setupMutationObserver() { 1724 this.mutationObserver = new MutationObserver((mutations) => { 1725 if (mutations.some((m) => m.type === "childList" || m.target.parentElement === this.track)) { 1726 this.refreshSlides(); 1727 } 1728 }); 1729 this.mutationObserver.observe(this.track, { 1730 childList: true, 1731 subtree: true, 1732 attributeFilter: ["style"] 1733 }); 1734 } 1735 setupResizeObserver() { 1736 this.resizeObserver = new ResizeObserver( 1737 this.groupPagerMarkers.bind(this) 1738 ); 1739 this.resizeObserver.observe(this.el); 1740 } 1741 goToSlideDir(dir = "next") { 1742 if (this.isNavigating) return; 1743 const { firstInViewSlide, lastInViewSlide } = this.getInViewItems(); 1744 const isPrev = dir === "prev"; 1745 const referenceSlide = isPrev ? firstInViewSlide : lastInViewSlide; 1746 const currentIndex = this.slides.indexOf(referenceSlide); 1747 let targetIndex = isPrev ? currentIndex - 1 : currentIndex + 1; 1748 if (targetIndex < 0 || targetIndex >= this.slides.length) { 1749 if (!this.useLoop) return; 1750 targetIndex = isPrev ? this.slides.length - 1 : 0; 1751 } 1752 const targetSlide = this.slides[targetIndex]; 1753 if (!targetSlide) return; 1754 this.isNavigating = true; 1755 targetSlide.scrollIntoView({ 1756 block: "nearest", 1757 inline: isPrev ? "end" : "start" 1758 }); 1759 } 1760 pagerToSlide(event) { 1761 if (!event.target.closest("[data-pager]")) return; 1762 const marker = event.target.closest("a, button"); 1763 if (!marker) return; 1764 event.preventDefault(); 1765 const slideId = marker.getAttribute("href")?.slice(1) || marker.getAttribute(this.markerIdName); 1766 const targetSlide = this.track.querySelector(`#${slideId}`);
1767 targetSlide?.scrollIntoView({ block: "nearest", inline: "start" }); 1768 } 1769 eventHandler(event) { 1770 const target = event.target.closest( 1771 "[data-next], [data-prev], [data-pager]" 1772 ); 1773 if (!target) return; 1774 if (event.type === "click") { 1775 if (target.hasAttribute("data-next")) { 1776 this.goToSlideDir("next"); 1777 } else if (target.hasAttribute("data-prev")) { 1778 this.goToSlideDir("prev"); 1779 } else if (target.closest("[data-pager]")) { 1780 this.pagerToSlide(event); 1781 } 1782 } 1783 if (event.type === "keydown" && target.closest("[data-pager]")) { 1784 if (event.key === "ArrowRight" || event.key === "ArrowDown") { 1785 event.preventDefault(); 1786 this.goToSlideDir("next"); 1787 } else if (event.key === "ArrowLeft" || event.key === "ArrowUp") { 1788 event.preventDefault(); 1789 this.goToSlideDir("prev"); 1790 } 1791 } 1792 } 1793 }; 1794 1795 (() => { 1796 function alpineSnapSlider(Alpine) { 1797 Alpine.directive("snap-slider", (el, { 1798 modifiers 1799 }, { 1800 cleanup 1801 }) => { 1802 const slider = new SnapSlider(el, { 1803 autoPager: modifiers.includes("auto-pager"), 1804 groupPager: modifiers.includes("group-pager"), 1805 loop: modifiers.includes("loop") 1806 }); 1807 cleanup(() => { 1808 slider.destroy(); 1809 }); 1810 }); 1811 } 1812 1813 document.addEventListener("alpine:init", () => { 1814 window.Alpine.plugin(alpineSnapSlider); 1815 }); 1816 })(); 1817 //# sourceURL=alpine-snap-slider.js 1818</script>
vendor: 1 bytes, line 1818
1818
1819<script> 1820 (() => { 1821 // src/dialog.js 1822 function dialog_default(Alpine) { 1823 Alpine.directive("htmldialog", fylgjaAlpineDialog); 1824 function fylgjaAlpineDialog(el, { expression, modifiers }, { evaluateLater, cleanup }) { 1825 const evaluate = expression.length ? evaluateLater(expression) : () => {}; 1826 const lockPageScroll = modifiers.includes("noscroll"); 1827 const isModeless = modifiers.includes("modeless"); 1828 const closeBy = el.getAttribute("closeby") || modifierValue(modifiers, "closeby", "closerequest"); 1829 el.style.display = null; 1830 el.style.length === 0 && el.removeAttribute("style"); 1831 if (el._x_isShown) { 1832 open(); 1833 } 1834 const closeBySupported = (() => { 1835 return "closedBy" in HTMLDialogElement.prototype; 1836 })(); 1837 function scrollLock(use = true) { 1838 document.body.style.overflow = use ? "hidden" : ""; 1839 } 1840 function dialogSubmit(event) { 1841 if (event.target.getAttribute("method") === "dialog" || event.submitter?.getAttribute("formmethod") === "dialog") { 1842 event.preventDefault(); 1843 evaluate(); 1844 } 1845 } 1846 function escapeDialog(event) { 1847 if (event.key !== "Escape") return; 1848 event.preventDefault(); 1849 if (closeBy === "none") return; 1850 evaluate(); 1851 } 1852 function handleCloseByEvent(event) { 1853 if (event.target !== el) return; 1854 const rect = el.getBoundingClientRect(); 1855 const isInDialog = rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width; 1856 if (!isInDialog) { 1857 if (closeBy === "any") { 1858 if (closeBySupported) { 1859 event.preventDefault(); 1860 } 1861 evaluate(); 1862 } 1863 } 1864 } 1865 function handleCloseEvent() { 1866 evaluate(); 1867 } 1868 function open() { 1869 if (el.hasAttribute("open")) return; 1870 isModeless ? el.show() : el.showModal(); 1871 scrollLock(lockPageScroll); 1872 } 1873 function close() { 1874 if (!el.hasAttribute("open")) return; 1875 el.close(); 1876 scrollLock(false); 1877 } 1878 el._x_doShow = () => open(); 1879 el._x_doHide = () => close(); 1880 el.addEventListener("keydown", escapeDialog); 1881 el.addEventListener("submit", dialogSubmit); 1882 el.addEventListener("click", handleCloseByEvent); 1883 el.addEventListener("cancel", handleCloseEvent); 1884 cleanup(() => { 1885 el.removeEventListener("keydown", escapeDialog); 1886 el.removeEventListener("submit", dialogSubmit); 1887 el.removeEventListener("click", handleCloseByEvent); 1888 el.removeEventListener("cancel", handleCloseEvent); 1889 scrollLock(false); 1890 }); 1891 } 1892 } 1893 function modifierValue(modifiers, key, fallback) { 1894 if (modifiers.indexOf(key) === -1) return fallback; 1895 const rawValue = modifiers[modifiers.indexOf(key) + 1]; 1896 if (!rawValue) return fallback; 1897 if (key === "closeby") { 1898 const allowedValues = ["auto", "none", "closerequest", "any"]; 1899 const options = allowedValues.join(", "); 1900 if (!allowedValues.includes(rawValue)) { 1901 console.warn( 1902 `"${rawValue}" is not one of the allowed values for closeby: ${options}` 1903 ); 1904 return fallback; 1905 } 1906 } 1907 return rawValue; 1908 } 1909 1910 // src/cdn.js 1911 document.addEventListener("alpine:init", () => { 1912 window.Alpine.plugin(dialog_default); 1913 }); 1914 })(); 1915 //# sourceURL=alpine-htmldialog.js 1916</script>
vendor: 1 bytes, line 1916
1916
1917<script> 1918 (() => { 1919 function src_default(Alpine) { 1920 Alpine.directive("intersect", Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) => { 1921 let evaluate = evaluateLater(expression); 1922 let options = { 1923 rootMargin: getRootMargin(modifiers), 1924 threshold: getThreshold(modifiers) 1925 }; 1926 let observer = new IntersectionObserver((entries) => { 1927 entries.forEach((entry) => { 1928 if (entry.isIntersecting === (value === "leave")) 1929 return; 1930 evaluate(); 1931 modifiers.includes("once") && observer.disconnect(); 1932 }); 1933 }, options); 1934 observer.observe(el); 1935 cleanup(() => { 1936 observer.disconnect(); 1937 }); 1938 })); 1939 } 1940 function getThreshold(modifiers) { 1941 if (modifiers.includes("full")) 1942 return 0.99; 1943 if (modifiers.includes("half")) 1944 return 0.5; 1945 if (!modifiers.includes("threshold")) 1946 return 0; 1947 let threshold = modifiers[modifiers.indexOf("threshold") + 1]; 1948 if (threshold === "100") 1949 return 1; 1950 if (threshold === "0") 1951 return 0; 1952 return Number(`.${threshold}`); 1953 } 1954 function getLengthValue(rawValue) { 1955 let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/); 1956 return match ? match[1] + (match[2] || "px") : void 0; 1957 } 1958 function getRootMargin(modifiers) { 1959 const key = "margin"; 1960 const fallback = "0px 0px 0px 0px"; 1961 const index = modifiers.indexOf(key); 1962 if (index === -1) 1963 return fallback; 1964 let values = []; 1965 for (let i = 1; i < 5; i++) { 1966 values.push(getLengthValue(modifiers[index + i] || "")); 1967 } 1968 values = values.filter((v) => v !== void 0); 1969 return values.length ? values.join(" ").trim() : fallback; 1970 } 1971 1972 document.addEventListener("alpine:init", () => { 1973 window.Alpine.plugin(src_default); 1974 }); 1975 })(); 1976 //# sourceURL=alpine-intersect.js 1977</script>
1977 1978
1979<script> 1980 for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]":"intersect",".product-info [x-data]":"intersect","#filters-content [x-data]":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]":"intersect","#notice-cookie-block":"idle"})) { 1981 document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`)); 1982 } 1983 //# sourceURL=alpine-defer-rules.js 1984</script>
vendor: 1 bytes, line 1984
1984
1985<script> 1986 (() => { 1987 const hasAlpine = new Promise(resolve => { 1988 window.addEventListener('alpine:initialized', resolve, {once: true, passive: true}); 1989 }); 1990 1991 const hasInteract = new Promise(resolve => { 1992 (events => { 1993 const onInteract = () => { 1994 resolve(); 1995 events.forEach(type => window.removeEventListener(type, onInteract)); 1996 } 1997 events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true})) 1998 })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown']) 1999 }); 2000 2001 const onIntersect = (el) => { 2002 return new Promise(resolve => { 2003 const observer = new IntersectionObserver(entries => { 2004 for (const entry of entries) { 2005 if (entry.isIntersecting) { 2006 observer.disconnect() 2007 resolve(); 2008 } 2009 } 2010 }, {}); 2011 observer.observe(el); 2012 }); 2013 } 2014 2015 function runComponent(el) { 2016 hasAlpine.then(() => { 2017 el.removeAttribute('x-ignore'); 2018 queueMicrotask(() => Alpine.initTree(el)); 2019 }); 2020 } 2021 2022 function initDeferredComponents() { 2023 document.querySelectorAll('[x-data][x-defer]').forEach(el => { 2024 el.setAttribute('x-ignore', ''); 2025 const deferUntil = (el.getAttribute('x-defer') || '').trim(); 2026 switch (deferUntil) { 2027 case 'interact': 2028 hasInteract.then(() => runComponent(el)); 2029 break; 2030 case 'intersect': 2031 onIntersect(el).then(() => runComponent(el)) 2032 break; 2033 case 'idle': 2034 window.requestIdleCallback 2035 ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000}) 2036 : setTimeout(() => runComponent(el), 4000); 2037 break; 2038 case 'eager': 2039 runComponent(el); 2040 break; 2041 default: 2042 if (deferUntil.startsWith('event:') && deferUntil.length > 6) { 2043 window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true}); 2044 } 2045 } 2046 }); 2047 } 2048 2049 window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true}); 2050 })(); 2051 //# sourceURL=alpine-defer.js 2052</script>
2052 2053 2054
2055<script type="module" 2056 src="https://www.haibu.de/static/version1791360036/frontend/Moma/default_DE/de_DE/Hyva_Theme/js/alpine3.min.js" 2057 defer 2058 crossorigin 2059></script>
vendor: 1 bytes, line 2059
2059
2060<script> 2061 function dispatchMessages(messages, hideAfter) { 2062 const messagesEvent = new CustomEvent("messages-loaded", { 2063 detail: { 2064 messages: messages, 2065 hideAfter: hideAfter 2066 } 2067 }); 2068 window.dispatchEvent(messagesEvent); 2069 } 2070 2071 if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { 2072 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 2073 } 2074 2075 (function( hyva, undefined ) { 2076 2077 hyva.initFormKey = () => { 2078 const inputSelector = 'input[name="form_key"]', 2079 formKey = hyva.getFormKey(); 2080 2081 Array.from(document.querySelectorAll(inputSelector)).map(function (input) { 2082 input.value = formKey 2083 }); 2084 } 2085 2086 hyva.initMessages = () => { 2087 try { 2088 const messages = hyva.getCookie('mage-messages'); 2089 window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : []; 2090 2091 dispatchMessages(window.mageMessages); 2092 2093 // empty `mage-messages` cookie 2094 const skipSetDomain = true; 2095 hyva.setCookie('mage-messages','', -1, skipSetDomain); 2096 2097 } catch (error) { 2098 console.warn('Error parsing Cookie Messages:', error); 2099 } 2100 } 2101 2102 window.addEventListener('DOMContentLoaded', hyva.initFormKey); 2103 hyva.alpineInitialized(hyva.initMessages) 2104 2105 }( window.hyva = window.hyva || {} )); 2106 //# sourceURL=hyva-cookies.js 2107</script>
vendor: 1 bytes, line 2107
2107
2108<script> 2109 { 2110 const private_content_key = 'mage-cache-storage'; 2111 const private_content_expire_key = 'mage-cache-timeout'; 2112 const private_content_version_key = 'private_content_version'; 2113 const section_data_ids_key = 'section_data_ids'; 2114 const mage_cache_session_id_key = 'mage-cache-sessid'; 2115 const last_visited_store_key = 'last_visited_store'; 2116 2117 const ttl = 254000; 2118 2119 if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) { 2120 console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script"); 2121 } 2122 2123 function loadSectionData () { 2124 const browserStorage = hyva.getBrowserStorage(); 2125 if (!browserStorage) { 2126 typeof window.dispatchMessages !== "undefined" && window.dispatchMessages( 2127 [{ 2128 type: "warning", 2129 text: "Please enable LocalStorage in your browser." 2130 }] 2131 ); 2132 return; 2133 } 2134 try { 2135 let isInvalid = false; 2136 2137 if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) { 2138 isInvalid = true; 2139 } 2140 hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false); 2141 2142 if (!hyva.getCookie(mage_cache_session_id_key)) { 2143 isInvalid = true; 2144 browserStorage.removeItem(private_content_key); 2145 const skipSetDomain = true; 2146 const days = false; 2147 hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain) 2148 } 2149 2150 const cookieVersion = hyva.getCookie(private_content_version_key); 2151 const storageVersion = browserStorage.getItem(private_content_version_key); 2152 2153 if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) { 2154 isInvalid = true; 2155 } 2156 2157 const privateContentExpires = browserStorage.getItem(private_content_expire_key); 2158 if (privateContentExpires && new Date(privateContentExpires) < new Date()) { 2159 browserStorage.removeItem(private_content_key); 2160 } 2161 2162 if (isInvalid && cookieVersion) { 2163 fetchPrivateContent([]); 2164 } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) { 2165 const privateContent = JSON.parse(browserStorage.getItem(private_content_key)); 2166 if ( 2167 privateContent && 2168 privateContentExpires && 2169 privateContent.cart && 2170 privateContent.customer 2171 ) { 2172 dispatchPrivateContent(privateContent); 2173 } else { 2174 fetchPrivateContent([]); 2175 } 2176 } else { 2177 if (document.getElementById('default-section-data')) { 2178 const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim()); 2179 dispatchPrivateContent(privateContent); 2180 } else { 2181 dispatchPrivateContent({}); 2182 } 2183 } 2184 2185 } catch (error) { 2186 console.warn('Error retrieving Private Content:', error); 2187 } 2188 } 2189 2190 hyva.alpineInitialized(loadSectionData) 2191 window.addEventListener('reload-customer-section-data', loadSectionData); 2192 2193 window.processSectionDataBeforeDispatch = window.processSectionDataBeforeDispatch || (data => data); 2194 2195 function dispatchPrivateContent(data) { 2196 2197 const privateContentEvent = new CustomEvent("private-content-loaded", { 2198 detail: { 2199 data: window.processSectionDataBeforeDispatch(data) 2200 } 2201 }); 2202 window.dispatchEvent(privateContentEvent); 2203 } 2204 2205 function fetchPrivateContent(sections) { 2206 fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, { 2207 method: 'GET', 2208 headers: { 2209 'Content-Type': 'application/json', 2210 'X-Requested-With': 'XMLHttpRequest' 2211 } 2212 }) 2213 .then(response => response.ok && response.json()) 2214 .then( 2215 data => { 2216 if (data) { 2217 try { 2218 const browserStorage = hyva.getBrowserStorage(); 2219 2220 // merge new data preserving non-invalidated sections 2221 const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {}; 2222 2223 if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) { 2224 delete oldSectionData['checkout-data']; 2225 } 2226 const newSectionData = Object.assign(oldSectionData, data); 2227 2228 dispatchPrivateContent(newSectionData); 2229 2230 // don't persist messages, they've been dispatched already 2231 if (newSectionData.messages && newSectionData.messages.messages ) { 2232 newSectionData.messages.messages = []; 2233 } 2234 2235 browserStorage.setItem(private_content_key, JSON.stringify(newSectionData)); 2236 2237 const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString(); 2238 browserStorage.setItem(private_content_expire_key, expiresAt); 2239 2240 const newCookieVersion = hyva.getCookie(private_content_version_key); 2241 browserStorage.setItem(private_content_version_key, newCookieVersion); 2242 2243 // We don't need the section_data_ids in Hyvä, but we store them for compatibility 2244 // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout 2245 hyva.setCookie( 2246 section_data_ids_key, 2247 JSON.stringify( 2248 Object.keys(data).reduce((sectionDataIds, sectionKey) => { 2249 sectionDataIds[sectionKey] = data[sectionKey]['data_id']; 2250 return sectionDataIds; 2251 }, {}) 2252 ), 2253 false, 2254 true 2255 ); 2256 } catch (error) { 2257 console.warn("Couldn't store privateContent", error); 2258 } 2259 } 2260 } 2261 ) 2262 .catch(error => { 2263 console.warn("Couldn't fetch privateContent", error); 2264 }); 2265 } 2266 } 2267 //# sourceURL=hyva-private-content.js 2268</script>
vendor: 1 bytes, line 2268
2268
2269<script> 2270 (() => { 2271 document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc())); 2272 })() 2273</script>
vendor: 1 bytes, line 2273
2273
2274<script> 2275 (events => { 2276 const dispatchUserInteractionEvent = () => { 2277 events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent)) 2278 window.dispatchEvent(new Event('init-external-scripts')) 2279 }; 2280 events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true})) 2281 })(['touchstart', 'mousemove', 'wheel', 'scroll', 'keydown']); 2282 //# sourceURL=hyva-init-external-scripts.js 2283</script>
2283 2284
2285<script> 2286 'use strict'; 2287 2288 (function() { 2289 2290 const robinhqScriptUrl = "https://selfservice.robinhq.com/external/robin/bho08e5m.js"; 2291 2292 const loadRobinhqScript = (event) => { 2293 let scriptExists = document.getElementById('robinhq-script'); 2294 if (scriptExists) { 2295 return; 2296 } 2297 2298 let script = document.createElement('script'); 2299 script.setAttribute('type', 'text/javascript'); 2300 script.setAttribute('src', robinhqScriptUrl); 2301 script.setAttribute('id', 'robinhq-script'); 2302 document.head.appendChild(script); 2303 } 2304 2305 // trigger load on mobile by any interaction 2306 document.body.addEventListener('touchstart', loadRobinhqScript, {once: true}); 2307 2308 // trigger load on desktop on any mouse movement 2309 document.body.addEventListener('mouseover', loadRobinhqScript, {once: true}); 2310 2311 }()); 2312 2313</script>
vendor: 1 bytes, line 2313
2313
2314<script> 2315 window.addEventListener('alpine:init', () => { 2316 Alpine.data('mapCmsElement', () => ({ 2317 mapEl: null, 2318 locations: [], 2319 apiKey: null, 2320 mapId: null, 2321 zoom: 8, 2322 showControls: false, 2323 mapTarget: null, 2324 2325 async init() { 2326 this.mapEl = this.$el; 2327 this.apiKey = this.mapEl.dataset.apiKey; 2328 this.mapId = this.mapEl.dataset.mapId; 2329 this.showControls = this.mapEl.getAttribute('data-show-controls') === 'true'; 2330 this.mapTarget = this.$refs.mapTarget || this.mapEl; 2331 2332 const locationEls = this.mapEl.querySelectorAll('[data-latitude][data-longitude]'); 2333 if (!locationEls.length) return; 2334 2335 locationEls.forEach((el) => { 2336 const lat = parseFloat(el.getAttribute('data-latitude')); 2337 const lng = parseFloat(el.getAttribute('data-longitude')); 2338 if (isNaN(lat) || isNaN(lng)) return; 2339 this.locations.push({ 2340 position: { lat, lng }, 2341 locationName: el.getAttribute('data-location-name') || '', 2342 content: el.innerHTML.trim() 2343 }); 2344 }); 2345 2346 if (!this.locations.length || !this.apiKey) return; 2347 2348 this.bootstrapGoogleMaps(); 2349 try { 2350 await this.renderMap(); 2351 } catch (e) { 2352 console.error('Google Maps failed to load:', e); 2353 } 2354 }, 2355 2356 bootstrapGoogleMaps() { 2357 if (window.google && window.google.maps && window.google.maps.importLibrary) return; 2358 // prettier-ignore 2359 (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={});var r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({key: this.apiKey, v: "weekly"}); 2360 }, 2361 2362 async renderMap() { 2363 const { Map, InfoWindow } = await google.maps.importLibrary('maps'); 2364 const bounds = []; 2365 let activeInfoWindow; 2366 2367 const map = new Map(this.mapTarget, { 2368 ...(this.mapId ? { mapId: this.mapId } : {}), 2369 zoom: this.zoom, 2370 center: this.locations[0].position, 2371 scrollwheel: false, 2372 disableDefaultUI: !this.showControls, 2373 mapTypeControl: this.showControls, 2374 mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DEFAULT } 2375 }); 2376 2377 if (this.mapId) { /* If mapId is set use advanced marker */ 2378 const { AdvancedMarkerElement } = await google.maps.importLibrary('marker'); 2379 this.locations.forEach(({ locationName, content, position }) => { 2380 const hasPopup = !!(locationName || content); 2381 const marker = new AdvancedMarkerElement({ map, position, title: locationName, gmpClickable: hasPopup }); 2382 2383 if (hasPopup) { 2384 const infowindow = new InfoWindow({ content, maxWidth: 350 }); 2385 marker.addEventListener('gmp-click', () => { 2386 if (activeInfoWindow) activeInfoWindow.close(); 2387 infowindow.open(map, marker); 2388 activeInfoWindow = infowindow; 2389 }); 2390 } 2391 bounds.push(position); 2392 }); 2393 } else { /* Else use legacy */ 2394 const { Marker } = await google.maps.importLibrary('marker'); 2395 this.locations.forEach(({ locationName, content, position }) => { 2396 const hasPopup = !!(locationName || content); 2397 const marker = new Marker({ map, position, title: locationName }); 2398 2399 if (hasPopup) { 2400 const infowindow = new InfoWindow({ content, maxWidth: 350 }); 2401 marker.addListener('click', () => { 2402 if (activeInfoWindow) activeInfoWindow.close(); 2403 infowindow.open(map, marker); 2404 activeInfoWindow = infowindow; 2405 }); 2406 } 2407 bounds.push(position); 2408 }); 2409 } 2410 2411 if (bounds.length > 1) { 2412 const latLngBounds = new google.maps.LatLngBounds(); 2413 bounds.forEach(b => latLngBounds.extend(b)); 2414 map.fitBounds(latLngBounds); 2415 } else { 2416 map.setCenter(bounds[0]); 2417 map.setZoom(this.zoom); 2418 } 2419 } 2420 })); 2421 }, { once: true }); 2422</script>
vendor: 1 bytes, line 2422
2422
2423<script> 2424 document.addEventListener("alpine:init", () => { 2425 Alpine.data('hyvaCmsToggle', () => ({ 2426 open: false, 2427 notOpen() { 2428 return !this.open; 2429 }, 2430 show() { 2431 this.open = true 2432 }, 2433 hide() { 2434 this.open = false 2435 }, 2436 toggle() { 2437 this.open = !this.open 2438 } 2439 })) 2440 }); 2441</script>
vendor: 1 bytes, line 2441
2441
2442<script type="text/json" id="default-section-data"> 2443 {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"cart":[],"directory-data":{"AD":{"name":"Andorra"},"AE":{"name":"Vereinigte Arabische Emirate"},"AF":{"name":"Afghanistan"},"AG":{"name":"Antigua und Barbuda"},"AI":{"name":"Anguilla"},"AL":{"name":"Albanien","regions":{"840":{"code":"AL-01","name":"Berat"},"841":{"code":"AL-09","name":"Dib\u00ebr"},"842":{"code":"AL-02","name":"Durr\u00ebs"},"843":{"code":"AL-03","name":"Elbasan"},"844":{"code":"AL-04","name":"Fier"},"845":{"code":"AL-05","name":"Gjirokast\u00ebr"},"846":{"code":"AL-06","name":"Kor\u00e7\u00eb"},"847":{"code":"AL-07","name":"Kuk\u00ebs"},"848":{"code":"AL-08","name":"Lezh\u00eb"},"849":{"code":"AL-10","name":"Shkod\u00ebr"},"850":{"code":"AL-11","name":"Tiran\u00eb"},"851":{"code":"AL-12","name":"Vlor\u00eb"}}},"AM":{"name":"Armenien"},"AO":{"name":"Angola"},"AQ":{"name":"Antarktis"},"AR":{"name":"Argentinien","regions":{"853":{"code":"AR-B","name":"Buenos Aires"},"854":{"code":"AR-K","name":"Catamarca"},"855":{"code":"AR-H","name":"Chaco"},"856":{"code":"AR-U","name":"Chubut"},"852":{"code":"AR-C","name":"Ciudad Aut\u00f3noma de Buenos Aires"},"857":{"code":"AR-X","name":"C\u00f3rdoba"},"858":{"code":"AR-W","name":"Corrientes"},"859":{"code":"AR-E","name":"Entre R\u00edos"},"860":{"code":"AR-P","name":"Formosa"},"861":{"code":"AR-Y","name":"Jujuy"},"862":{"code":"AR-L","name":"La Pampa"},"863":{"code":"AR-F","name":"La Rioja"},"864":{"code":"AR-M","name":"Mendoza"},"865":{"code":"AR-N","name":"Misiones"},"866":{"code":"AR-Q","name":"Neuqu\u00e9n"},"867":{"code":"AR-R","name":"R\u00edo Negro"},"868":{"code":"AR-A","name":"Salta"},"869":{"code":"AR-J","name":"San Juan"},"870":{"code":"AR-D","name":"San Luis"},"871":{"code":"AR-Z","name":"Santa Cruz"},"872":{"code":"AR-S","name":"Santa Fe"},"873":{"code":"AR-G","name":"Santiago del Estero"},"874":{"code":"AR-V","name":"Tierra del Fuego"},"875":{"code":"AR-T","name":"Tucum\u00e1n"}}},"AS":{"name":"Amerikanisch-Samoa"},"AT":{"name":"\u00d6sterreich","regions":{"102":{"code":"BL","name":"Burgenland"},"99":{"code":"KN","name":"K\u00e4rnten"},"96":{"code":"NO","name":"Nieder\u00f6sterreich"},"97":{"code":"OO","name":"Ober\u00f6sterreich"},"98":{"code":"SB","name":"Salzburg"},"100":{"code":"ST","name":"Steiermark"},"101":{"code":"TI","name":"Tirol"},"103":{"code":"VB","name":"Vorarlberg"},"95":{"code":"WI","name":"Wien"}}},"AU":{"name":"Australien","regions":{"569":{"code":"ACT","name":"Australian Capital Territory"},"570":{"code":"NSW","name":"New South Wales"},"576":{"code":"NT","name":"Northern Territory"},"572":{"code":"QLD","name":"Queensland"},"573":{"code":"SA","name":"South Australia"},"574":{"code":"TAS","name":"Tasmania"},"571":{"code":"VIC","name":"Victoria"},"575":{"code":"WA","name":"Western Australia"}}},"AW":{"name":"Aruba"},"AX":{"name":"\u00c5landinseln"},"AZ":{"name":"Aserbaidschan"},"BA":{"name":"Bosnien und Herzegowina"},"BB":{"name":"Barbados"},"BD":{"name":"Bangladesch"},"BE":{"name":"Belgien","regions":{"609":{"code":"VAN","name":"Antwerpen"},"610":{"code":"WBR","name":"Brabant wallon"},"611":{"code":"BRU","name":"Brussels-Capital Region"},"612":{"code":"WHT","name":"Hainaut"},"614":{"code":"WLG","name":"Li\u00e8ge"},"613":{"code":"VLI","name":"Limburg"},"615":{"code":"WLX","name":"Luxembourg"},"616":{"code":"WNA","name":"Namur"},"617":{"code":"VOV","name":"Oost-Vlaanderen"},"618":{"code":"VBR","name":"Vlaams-Brabant"},"619":{"code":"VWV","name":"West-Vlaanderen"}}},"BF":{"name":"Burkina Faso"},"BG":{"name":"Bulgarien","regions":{"620":{"code":"BG-01","name":"Blagoevgrad"},"621":{"code":"BG-02","name":"Burgas"},"627":{"code":"BG-08","name":"Dobrich"},"626":{"code":"BG-07","name":"Gabrovo"},"645":{"code":"BG-26","name":"Haskovo"},"628":{"code":"BG-09","name":"Kardzhali"},"629":{"code":"BG-10","name":"Kyustendil"},"630":{"code":"BG-11","name":"Lovech"},"631":{"code":"BG-12","name":"Montana"},"632":{"code":"BG-13","name":"Pazardzhik"},"633":{"code":"BG-14","name":"Pernik"},"634":{"code":"BG-15","name":"Pleven"},"635":{"code":"BG-16","name":"Plovdiv"},"636":{"code":"BG-17","name":"Razgrad"},"637":{"code":"BG-18","name":"Ruse"},"646":{"code":"BG-27","name":"Shumen"},"638":{"code":"BG-19","name":"Silistra"},"639":{"code":"BG-20","name":"Sliven"},"640":{"code":"BG-21","name":"Smolyan"},"641":{"code":"BG-22","name":"Sofia City"},"642":{"code":"BG-23","name":"Sofia Province"},"643":{"code":"BG-24","name":"Stara Zagora"},"644":{"code":"BG-25","name":"Targovishte"},"622":{"code":"BG-03","name":"Varna"},"623":{"code":"BG-04","name":"Veliko Tarnovo"},"624":{"code":"BG-05","name":"Vidin"},"625":{"code":"BG-06","name":"Vratsa"},"647":{"code":"BG-28","name":"Yambol"}}},"BH":{"name":"Bahrain"},"BI":{"name":"Burundi"},"BJ":{"name":"Benin"},"BL":{"name":"St. Barth\u00e9lemy"},"BM":{"name":"Bermuda"},"BN":{"name":"Brunei Darussalam"}
2443,"BO":{"name":"Bolivien","regions":{"877":{"code":"BO-H","name":"Chuquisaca"},"876":{"code":"BO-C","name":"Cochabamba"},"878":{"code":"BO-B","name":"El Beni"},"879":{"code":"BO-L","name":"La Paz"},"880":{"code":"BO-O","name":"Oruro"},"881":{"code":"BO-N","name":"Pando"},"882":{"code":"BO-P","name":"Potos\u00ed"},"883":{"code":"BO-S","name":"Santa Cruz"},"884":{"code":"BO-T","name":"Tarija"}}},"BQ":{"name":"Karibische Niederlande"},"BR":{"name":"Brasilien","regions":{"485":{"code":"AC","name":"Acre"},"486":{"code":"AL","name":"Alagoas"},"487":{"code":"AP","name":"Amap\u00e1"},"488":{"code":"AM","name":"Amazonas"},"489":{"code":"BA","name":"Bahia"},"490":{"code":"CE","name":"Cear\u00e1"},"511":{"code":"DF","name":"Distrito Federal"},"491":{"code":"ES","name":"Esp\u00edrito Santo"},"492":{"code":"GO","name":"Goi\u00e1s"},"493":{"code":"MA","name":"Maranh\u00e3o"},"494":{"code":"MT","name":"Mato Grosso"},"495":{"code":"MS","name":"Mato Grosso do Sul"},"496":{"code":"MG","name":"Minas Gerais"},"497":{"code":"PA","name":"Par\u00e1"},"498":{"code":"PB","name":"Para\u00edba"},"499":{"code":"PR","name":"Paran\u00e1"},"500":{"code":"PE","name":"Pernambuco"},"501":{"code":"PI","name":"Piau\u00ed"},"502":{"code":"RJ","name":"Rio de Janeiro"},"503":{"code":"RN","name":"Rio Grande do Norte"},"504":{"code":"RS","name":"Rio Grande do Sul"},"505":{"code":"RO","name":"Rond\u00f4nia"},"506":{"code":"RR","name":"Roraima"},"507":{"code":"SC","name":"Santa Catarina"},"508":{"code":"SP","name":"S\u00e3o Paulo"},"509":{"code":"SE","name":"Sergipe"},"510":{"code":"TO","name":"Tocantins"}}},"BS":{"name":"Bahamas"},"BT":{"name":"Bhutan"},"BV":{"name":"Bouvetinsel"},"BW":{"name":"Botsuana"},"BY":{"name":"Belarus","regions":{"1101":{"code":"BY-BR","name":"Bresckaja voblas\u0107"},"1102":{"code":"BY-HO","name":"Homie\u013askaja voblas\u0107"},"1103":{"code":"BY-HM","name":"Horad Minsk"},"1104":{"code":"BY-HR","name":"Hrodzienskaja voblas\u0107"},"1105":{"code":"BY-MA","name":"Mahilio\u016dskaja voblas\u0107"},"1106":{"code":"BY-MI","name":"Minskaja voblas\u0107"},"1107":{"code":"BY-VI","name":"Viciebskaja voblas\u0107"}}},"BZ":{"name":"Belize"},"CA":{"name":"Kanada","regions":{"66":{"code":"AB","name":"Alberta"},"67":{"code":"BC","name":"British Columbia"},"68":{"code":"MB","name":"Manitoba"},"70":{"code":"NB","name":"New Brunswick"},"69":{"code":"NL","name":"Newfoundland and Labrador"},"72":{"code":"NT","name":"Northwest Territories"},"71":{"code":"NS","name":"Nova Scotia"},"73":{"code":"NU","name":"Nunavut"},"74":{"code":"ON","name":"Ontario"},"75":{"code":"PE","name":"Prince Edward Island"},"76":{"code":"QC","name":"Quebec"},"77":{"code":"SK","name":"Saskatchewan"},"78":{"code":"YT","name":"Yukon Territory"}}},"CC":{"name":"Kokosinseln"},"CD":{"name":"Kongo-Kinshasa"},"CF":{"name":"Zentralafrikanische Republik"},"CG":{"name":"Kongo-Brazzaville"},"CH":{"name":"Schweiz","regions":{"104":{"code":"AG","name":"Aargau"},"106":{"code":"AR","name":"Appenzell Ausserrhoden"},"105":{"code":"AI","name":"Appenzell Innerrhoden"},"108":{"code":"BL","name":"Basel-Landschaft"},"109":{"code":"BS","name":"Basel-Stadt"},"107":{"code":"BE","name":"Bern"},"110":{"code":"FR","name":"Friburg"},"111":{"code":"GE","name":"Geneva"},"112":{"code":"GL","name":"Glarus"},"113":{"code":"GR","name":"Graub\u00fcnden"},"114":{"code":"JU","name":"Jura"},"115":{"code":"LU","name":"Lucerne"},"116":{"code":"NE","name":"Neuch\u00e2tel"},"117":{"code":"NW","name":"Nidwalden"},"118":{"code":"OW","name":"Obwalden"},"120":{"code":"SH","name":"Schaffhausen"},"122":{"code":"SZ","name":"Schwyz"},"121":{"code":"SO","name":"Solothurn"},"119":{"code":"SG","name":"St. Gallen"},"123":{"code":"TG","name":"Thurgau"},"124":{"code":"TI","name":"Ticino"},"125":{"code":"UR","name":"Uri"},"126":{"code":"VD","name":"Vaud"},"127":{"code":"VS","name":"Wallis"},"128":{"code":"ZG","name":"Zug"},"129":{"code":"ZH","name":"Z\u00fcrich"}}},"CI":{"name":"C\u00f4te d\u2019Ivoire"},"CK":{"name":"Cookinseln"},"CL":{"name":"Chile","regions":{"885":{"code":"CL-AI","name":"Ais\u00e9n del General Carlos Iba\u00f1ez del Campo"},"886":{"code":"CL-AN","name":"Antofagasta"},"887":{"code":"CL-AP","name":"Arica y Parinacota"},"889":{"code":"CL-AT","name":"Atacama"},"890":{"code":"CL-BI","name":"Biob\u00edo"},"891":{"code":"CL-CO","name":"Coquimbo"},"888":{"code":"CL-AR","name":"La Araucan\u00eda"},"892":{"code":"CL-LI","name":"Libertador General Bernardo O'Higgins"}
2443,"893":{"code":"CL-LL","name":"Los Lagos"},"894":{"code":"CL-LR","name":"Los R\u00edos"},"895":{"code":"CL-MA","name":"Magallanes"},"896":{"code":"CL-ML","name":"Maule"},"897":{"code":"CL-NB","name":"\u00d1uble"},"898":{"code":"CL-RM","name":"Regi\u00f3n Metropolitana de Santiago"},"899":{"code":"CL-TA","name":"Tarapac\u00e1"},"900":{"code":"CL-VS","name":"Valpara\u00edso"}}},"CM":{"name":"Kamerun"},"CN":{"name":"China","regions":{"648":{"code":"CN-AH","name":"Anhui Sheng"},"649":{"code":"CN-BJ","name":"Beijing Shi"},"650":{"code":"CN-CQ","name":"Chongqing Shi"},"651":{"code":"CN-FJ","name":"Fujian Sheng"},"652":{"code":"CN-GS","name":"Gansu Sheng"},"653":{"code":"CN-GD","name":"Guangdong Sheng"},"654":{"code":"CN-GX","name":"Guangxi Zhuangzu Zizhiqu"},"655":{"code":"CN-GZ","name":"Guizhou Sheng"},"656":{"code":"CN-HI","name":"Hainan Sheng"},"657":{"code":"CN-HE","name":"Hebei Sheng"},"658":{"code":"CN-HL","name":"Heilongjiang Sheng"},"659":{"code":"CN-HA","name":"Henan Sheng"},"660":{"code":"CN-HK","name":"Hong Kong SAR"},"661":{"code":"CN-HB","name":"Hubei Sheng"},"662":{"code":"CN-HN","name":"Hunan Sheng"},"663":{"code":"CN-JS","name":"Jiangsu Sheng"},"664":{"code":"CN-JX","name":"Jiangxi Sheng"},"665":{"code":"CN-JL","name":"Jilin Sheng"},"666":{"code":"CN-LN","name":"Liaoning Sheng"},"667":{"code":"CN-MO","name":"Macao SAR"},"668":{"code":"CN-NM","name":"Nei Mongol Zizhiqu"},"669":{"code":"CN-NX","name":"Ningxia Huizi Zizhiqu"},"670":{"code":"CN-QH","name":"Qinghai Sheng"},"671":{"code":"CN-SN","name":"Shaanxi Sheng"},"672":{"code":"CN-SD","name":"Shandong Sheng"},"673":{"code":"CN-SH","name":"Shanghai Shi"},"674":{"code":"CN-SX","name":"Shanxi Sheng"},"675":{"code":"CN-SC","name":"Sichuan Sheng"},"676":{"code":"CN-TW","name":"Taiwan Sheng"},"677":{"code":"CN-TJ","name":"Tianjin Shi"},"678":{"code":"CN-XJ","name":"Xinjiang Uygur Zizhiqu"},"679":{"code":"CN-XZ","name":"Xizang Zizhiqu"},"680":{"code":"CN-YN","name":"Yunnan Sheng"},"681":{"code":"CN-ZJ","name":"Zhejiang Sheng"}}},"CO":{"name":"Kolumbien","regions":{"682":{"code":"CO-AMA","name":"Amazonas"},"683":{"code":"CO-ANT","name":"Antioquia"},"684":{"code":"CO-ARA","name":"Arauca"},"685":{"code":"CO-ATL","name":"Atl\u00e1ntico"},"686":{"code":"CO-BOL","name":"Bol\u00edvar"},"687":{"code":"CO-BOY","name":"Boyac\u00e1"},"688":{"code":"CO-CAL","name":"Caldas"},"689":{"code":"CO-CAQ","name":"Caquet\u00e1"},"690":{"code":"CO-CAS","name":"Casanare"},"691":{"code":"CO-CAU","name":"Cauca"},"692":{"code":"CO-CES","name":"Cesar"},"693":{"code":"CO-CHO","name":"Choc\u00f3"},"694":{"code":"CO-COR","name":"C\u00f3rdoba"},"695":{"code":"CO-CUN","name":"Cundinamarca"},"696":{"code":"CO-GUA","name":"Guain\u00eda"},"697":{"code":"CO-GUV","name":"Guaviare"},"698":{"code":"CO-HUL","name":"Huila"},"699":{"code":"CO-LAG","name":"La Guajira"},"700":{"code":"CO-MAG","name":"Magdalena"},"701":{"code":"CO-MET","name":"Meta"},"702":{"code":"CO-NAR","name":"Nari\u00f1o"},"703":{"code":"CO-NSA","name":"Norte de Santander"},"704":{"code":"CO-PUT","name":"Putumayo"},"705":{"code":"CO-QUI","name":"Quind\u00edo"},"706":{"code":"CO-RIS","name":"Risaralda"},"707":{"code":"CO-SAP","name":"San Andr\u00e9s y Providencia"},"708":{"code":"CO-SAN","name":"Santander"},"709":{"code":"CO-SUC","name":"Sucre"},"710":{"code":"CO-TOL","name":"Tolima"},"711":{"code":"CO-VAC","name":"Valle del Cauca"},"712":{"code":"CO-VAU","name":"Vaup\u00e9s"},"713":{"code":"CO-VID","name":"Vichada"}}},"CR":{"name":"Costa Rica","regions":{"1123":{"code":"CR-AL","name":"Alajuela"},"1124":{"code":"CR-CA","name":"Cartago"},"1126":{"code":"CR-GU","name":"Guanacaste"},"1125":{"code":"CR-HE","name":"Heredia"},"1128":{"code":"CR-LI","name":"Lim\u00f3n"},"1127":{"code":"CR-PU","name":"Puntarenas"},"1122":{"code":"CR-SJ","name":"San Jos\u00e9"}}},"CU":{"name":"Kuba"},"CV":{"name":"Cabo Verde"},"CW":{"name":"Cura\u00e7ao"},"CX":{"name":"Weihnachtsinsel"},"CY":{"name":"Zypern"},"CZ":{"name":"Tschechien","regions":{"1110":{"code":"CZ-31","name":"Jiho\u010desk\u00fd kraj"},"1118":{"code":"CZ-64","name":"Jihomoravsk\u00fd kraj"},"1112":{"code":"CZ-41","name":"Karlovarsk\u00fd kraj"},"1117":{"code":"CZ-63","name":"Kraj Vyso\u010dina"},"1115":{"code":"CZ-52","name":"Kr\u00e1lov\u00e9hradeck\u00fd kraj"},"1114":{"code":"CZ-51","name":"Libereck\u00fd kraj"},"1121":{"code":"CZ-80","name":"Moravskoslezsk\u00fd kraj"}
2443,"1119":{"code":"CZ-71","name":"Olomouck\u00fd kraj"},"1116":{"code":"CZ-53","name":"Pardubick\u00fd kraj"},"1111":{"code":"CZ-32","name":"Plze\u0148sk\u00fd kraj"},"1108":{"code":"CZ-10","name":"Praha, Hlavn\u00ed m\u011bsto"},"1109":{"code":"CZ-20","name":"St\u0159edo\u010desk\u00fd kraj"},"1113":{"code":"CZ-42","name":"\u00dasteck\u00fd kraj"},"1120":{"code":"CZ-72","name":"Zl\u00ednsk\u00fd kraj"}}},"DE":{"name":"Deutschland","regions":{"80":{"code":"BAW","name":"Baden-W\u00fcrttemberg"},"81":{"code":"BAY","name":"Bayern"},"82":{"code":"BER","name":"Berlin"},"83":{"code":"BRG","name":"Brandenburg"},"84":{"code":"BRE","name":"Bremen"},"85":{"code":"HAM","name":"Hamburg"},"86":{"code":"HES","name":"Hessen"},"87":{"code":"MEC","name":"Mecklenburg-Vorpommern"},"79":{"code":"NDS","name":"Niedersachsen"},"88":{"code":"NRW","name":"Nordrhein-Westfalen"},"89":{"code":"RHE","name":"Rheinland-Pfalz"},"90":{"code":"SAR","name":"Saarland"},"91":{"code":"SAS","name":"Sachsen"},"92":{"code":"SAC","name":"Sachsen-Anhalt"},"93":{"code":"SCN","name":"Schleswig-Holstein"},"94":{"code":"THE","name":"Th\u00fcringen"}}},"DJ":{"name":"Dschibuti"},"DK":{"name":"D\u00e4nemark","regions":{"901":{"code":"DK-84","name":"Hovedstaden"},"902":{"code":"DK-82","name":"Midtjylland"},"903":{"code":"DK-81","name":"Nordjylland"},"904":{"code":"DK-85","name":"Sj\u00e6lland"},"905":{"code":"DK-83","name":"Syddanmark"}}},"DM":{"name":"Dominica"},"DO":{"name":"Dominikanische Republik"},"DZ":{"name":"Algerien"},"EC":{"name":"Ecuador","regions":{"906":{"code":"EC-A","name":"Azuay"},"907":{"code":"EC-B","name":"Bol\u00edvar"},"908":{"code":"EC-F","name":"Ca\u00f1ar"},"909":{"code":"EC-C","name":"Carchi"},"910":{"code":"EC-H","name":"Chimborazo"},"911":{"code":"EC-X","name":"Cotopaxi"},"912":{"code":"EC-O","name":"El Oro"},"913":{"code":"EC-E","name":"Esmeraldas"},"914":{"code":"EC-W","name":"Gal\u00e1pagos"},"915":{"code":"EC-G","name":"Guayas"},"916":{"code":"EC-I","name":"Imbabura"},"917":{"code":"EC-L","name":"Loja"},"918":{"code":"EC-R","name":"Los R\u00edos"},"919":{"code":"EC-M","name":"Manab\u00ed"},"920":{"code":"EC-S","name":"Morona Santiago"},"921":{"code":"EC-N","name":"Napo"},"922":{"code":"EC-D","name":"Orellana"},"923":{"code":"EC-Y","name":"Pastaza"},"924":{"code":"EC-P","name":"Pichincha"},"925":{"code":"EC-SE","name":"Santa Elena"},"926":{"code":"EC-SD","name":"Santo Domingo de los Ts\u00e1chilas"},"927":{"code":"EC-U","name":"Sucumb\u00edos"},"928":{"code":"EC-T","name":"Tungurahua"},"929":{"code":"EC-Z","name":"Zamora Chinchipe"}}},"EE":{"name":"Estland","regions":{"340":{"code":"EE-37","name":"Harjumaa"},"341":{"code":"EE-39","name":"Hiiumaa"},"342":{"code":"EE-44","name":"Ida-Virumaa"},"344":{"code":"EE-51","name":"J\u00e4rvamaa"},"343":{"code":"EE-49","name":"J\u00f5gevamaa"},"346":{"code":"EE-59","name":"L\u00e4\u00e4ne-Virumaa"},"345":{"code":"EE-57","name":"L\u00e4\u00e4nemaa"},"348":{"code":"EE-67","name":"P\u00e4rnumaa"},"347":{"code":"EE-65","name":"P\u00f5lvamaa"},"349":{"code":"EE-70","name":"Raplamaa"},"350":{"code":"EE-74","name":"Saaremaa"},"351":{"code":"EE-78","name":"Tartumaa"},"352":{"code":"EE-82","name":"Valgamaa"},"353":{"code":"EE-84","name":"Viljandimaa"},"354":{"code":"EE-86","name":"V\u00f5rumaa"}}},"EG":{"name":"\u00c4gypten"},"EH":{"name":"Westsahara"},"ER":{"name":"Eritrea"},"ES":{"name":"Spanien","regions":{"130":{"code":"A Coru\u0441a","name":"A Coru\u00f1a"},"131":{"code":"Alava","name":"Alava"},"132":{"code":"Albacete","name":"Albacete"},"133":{"code":"Alicante","name":"Alicante"},"134":{"code":"Almeria","name":"Almeria"},"135":{"code":"Asturias","name":"Asturias"},"136":{"code":"Avila","name":"Avila"},"137":{"code":"Badajoz","name":"Badajoz"},"138":{"code":"Baleares","name":"Baleares"},"139":{"code":"Barcelona","name":"Barcelona"},"140":{"code":"Burgos","name":"Burgos"},"141":{"code":"Caceres","name":"Caceres"},"142":{"code":"Cadiz","name":"Cadiz"},"143":{"code":"Cantabria","name":"Cantabria"},"144":{"code":"Castellon","name":"Castellon"},"145":{"code":"Ceuta","name":"Ceuta"},"146":{"code":"Ciudad Real","name":"Ciudad Real"},"147":{"code":"Cordoba","name":"Cordoba"},"148":{"code":"Cuenca","name":"Cuenca"},"149":{"code":"Girona","name":"Girona"},"150":{"code":"Granada","name":"Granada"},"151":{"code":"Guadalajara","name":"Guadalajara"},"152":{"code":"Guipuzcoa","name":"Guipuzcoa"},"153":{"code":"Huelva","name":"Huelva"},"154":{"code":"Huesca","name":"Huesca"},"155":{"code":"Jaen","name":"Jaen"},"156":{"code":"La Rioja","name":"La Rioja"},"157":{"code":"Las Palmas","name":"Las Palmas"},"158":{"code":"Leon","name":"Leon"},"159":{"code":"Lleida","name":"Lleida"},"160":{"code":"Lugo","name":"Lugo"},"161":{"code":"Madrid","name":"Madrid"},"162":{"code":"Malaga","name":"Malaga"},"163":{"code":"Melilla","name":"Melilla"},"164":{"code":"Murcia","name":"Murcia"},"165":{"code":"Navarra","name":"Navarra"},"166":{"code":"Ourense","name":"Ourense"},"167":{"code":"Palencia","name":"Palencia"},"168":{"code":"Pontevedra","name":"Pontevedra"},"169":{"code":"Salamanca","name":"Salamanca"},"170":{"code":"Santa Cruz de Tenerife","name":"Santa Cruz de Tenerife"},"171":{"code":"Segovia","name":"Segovia"},"172":{"code":"Sevilla","name":"Sevilla"},"173":{"code":"Soria","name":"Soria"},"174":{"code":"Tarragona","name":"Tarragona"},"175":{"code":"Teruel","name":"Teruel"},"176":{"code":"Toledo","name":"Toledo"},"177":{"code":"Valencia","name":"Valencia"},"178":{"code":"Valladolid","name":"Valladolid"}
2443,"179":{"code":"Vizcaya","name":"Vizcaya"},"180":{"code":"Zamora","name":"Zamora"},"181":{"code":"Zaragoza","name":"Zaragoza"}}},"ET":{"name":"\u00c4thiopien"},"FI":{"name":"Finnland","regions":{"339":{"code":"Ahvenanmaa","name":"Ahvenanmaa"},"333":{"code":"Etel\u00e4-Karjala","name":"Etel\u00e4-Karjala"},"326":{"code":"Etel\u00e4-Pohjanmaa","name":"Etel\u00e4-Pohjanmaa"},"325":{"code":"Etel\u00e4-Savo","name":"Etel\u00e4-Savo"},"337":{"code":"It\u00e4-Uusimaa","name":"It\u00e4-Uusimaa"},"322":{"code":"Kainuu","name":"Kainuu"},"335":{"code":"Kanta-H\u00e4me","name":"Kanta-H\u00e4me"},"330":{"code":"Keski-Pohjanmaa","name":"Keski-Pohjanmaa"},"331":{"code":"Keski-Suomi","name":"Keski-Suomi"},"338":{"code":"Kymenlaakso","name":"Kymenlaakso"},"320":{"code":"Lappi","name":"Lappi"},"334":{"code":"P\u00e4ij\u00e4t-H\u00e4me","name":"P\u00e4ij\u00e4t-H\u00e4me"},"328":{"code":"Pirkanmaa","name":"Pirkanmaa"},"327":{"code":"Pohjanmaa","name":"Pohjanmaa"},"323":{"code":"Pohjois-Karjala","name":"Pohjois-Karjala"},"321":{"code":"Pohjois-Pohjanmaa","name":"Pohjois-Pohjanmaa"},"324":{"code":"Pohjois-Savo","name":"Pohjois-Savo"},"329":{"code":"Satakunta","name":"Satakunta"},"336":{"code":"Uusimaa","name":"Uusimaa"},"332":{"code":"Varsinais-Suomi","name":"Varsinais-Suomi"}}},"FJ":{"name":"Fidschi"},"FK":{"name":"Falklandinseln"},"FM":{"name":"Mikronesien"},"FO":{"name":"F\u00e4r\u00f6er"},"FR":{"name":"Frankreich","regions":{"182":{"code":"1","name":"Ain"},"183":{"code":"2","name":"Aisne"},"184":{"code":"3","name":"Allier"},"185":{"code":"4","name":"Alpes-de-Haute-Provence"},"187":{"code":"6","name":"Alpes-Maritimes"},"188":{"code":"7","name":"Ard\u00e8che"},"189":{"code":"8","name":"Ardennes"},"190":{"code":"9","name":"Ari\u00e8ge"},"191":{"code":"10","name":"Aube"},"192":{"code":"11","name":"Aude"},"193":{"code":"12","name":"Aveyron"},"249":{"code":"67","name":"Bas-Rhin"},"194":{"code":"13","name":"Bouches-du-Rh\u00f4ne"},"195":{"code":"14","name":"Calvados"},"196":{"code":"15","name":"Cantal"},"197":{"code":"16","name":"Charente"},"198":{"code":"17","name":"Charente-Maritime"},"199":{"code":"18","name":"Cher"},"200":{"code":"19","name":"Corr\u00e8ze"},"201":{"code":"2A","name":"Corse-du-Sud"},"203":{"code":"21","name":"C\u00f4te-d'Or"},"204":{"code":"22","name":"C\u00f4tes-d'Armor"},"205":{"code":"23","name":"Creuse"},"261":{"code":"79","name":"Deux-S\u00e8vres"},"206":{"code":"24","name":"Dordogne"},"207":{"code":"25","name":"Doubs"},"208":{"code":"26","name":"Dr\u00f4me"},"273":{"code":"91","name":"Essonne"},"209":{"code":"27","name":"Eure"},"210":{"code":"28","name":"Eure-et-Loir"},"211":{"code":"29","name":"Finist\u00e8re"},"212":{"code":"30","name":"Gard"},"214":{"code":"32","name":"Gers"},"215":{"code":"33","name":"Gironde"},"250":{"code":"68","name":"Haut-Rhin"},"202":{"code":"2B","name":"Haute-Corse"},"213":{"code":"31","name":"Haute-Garonne"},"225":{"code":"43","name":"Haute-Loire"},"234":{"code":"52","name":"Haute-Marne"},"252":{"code":"70","name":"Haute-Sa\u00f4ne"},"256":{"code":"74","name":"Haute-Savoie"},"269":{"code":"87","name":"Haute-Vienne"},"186":{"code":"5","name":"Hautes-Alpes"},"247":{"code":"65","name":"Hautes-Pyr\u00e9n\u00e9es"},"274":{"code":"92","name":"Hauts-de-Seine"},"216":{"code":"34","name":"H\u00e9rault"},"217":{"code":"35","name":"Ille-et-Vilaine"},"218":{"code":"36","name":"Indre"},"219":{"code":"37","name":"Indre-et-Loire"},"220":{"code":"38","name":"Is\u00e8re"},"221":{"code":"39","name":"Jura"},"222":{"code":"40","name":"Landes"},"223":{"code":"41","name":"Loir-et-Cher"},"224":{"code":"42","name":"Loire"},"226":{"code":"44","name":"Loire-Atlantique"},"227":{"code":"45","name":"Loiret"},"228":{"code":"46","name":"Lot"},"229":{"code":"47","name":"Lot-et-Garonne"},"230":{"code":"48","name":"Loz\u00e8re"},"231":{"code":"49","name":"Maine-et-Loire"},"232":{"code":"50","name":"Manche"},"233":{"code":"51","name":"Marne"},"235":{"code":"53","name":"Mayenne"},"236":{"code":"54","name":"Meurthe-et-Moselle"},"237":{"code":"55","name":"Meuse"},"238":{"code":"56","name":"Morbihan"},"239":{"code":"57","name":"Moselle"},"240":{"code":"58","name":"Ni\u00e8vre"},"241":{"code":"59","name":"Nord"},"242":{"code":"60","name":"Oise"},"243":{"code":"61","name":"Orne"},"257":{"code":"75","name":"Paris"},"244":{"code":"62","name":"Pas-de-Calais"},"245":{"code":"63","name":"Puy-de-D\u00f4me"},"246":{"code":"64","name":"Pyr\u00e9n\u00e9es-Atlantiques"},"248":{"code":"66","name":"Pyr\u00e9n\u00e9es-Orientales"},"251":{"code":"69","name":"Rh\u00f4ne"},"253":{"code":"71","name":"Sa\u00f4ne-et-Loire"},"254":{"code":"72","name":"Sarthe"},"255":{"code":"73","name":"Savoie"},"259":{"code":"77","name":"Seine-et-Marne"},"258":{"code":"76","name":"Seine-Maritime"},"275":{"code":"93","name":"Seine-Saint-Denis"},"262":{"code":"80","name":"Somme"},"263":{"code":"81","name":"Tarn"},"264":{"code":"82","name":"Tarn-et-Garonne"},"272":{"code":"90","name":"Territoire-de-Belfort"},"277":{"code":"95","name":"Val-d'Oise"}
2443,"276":{"code":"94","name":"Val-de-Marne"},"265":{"code":"83","name":"Var"},"266":{"code":"84","name":"Vaucluse"},"267":{"code":"85","name":"Vend\u00e9e"},"268":{"code":"86","name":"Vienne"},"270":{"code":"88","name":"Vosges"},"271":{"code":"89","name":"Yonne"},"260":{"code":"78","name":"Yvelines"}}},"GA":{"name":"Gabun"},"GB":{"name":"Vereinigtes K\u00f6nigreich"},"GD":{"name":"Grenada"},"GE":{"name":"Georgien"},"GF":{"name":"Franz\u00f6sisch-Guayana"},"GG":{"name":"Guernsey"},"GH":{"name":"Ghana"},"GI":{"name":"Gibraltar"},"GL":{"name":"Gr\u00f6nland"},"GM":{"name":"Gambia"},"GN":{"name":"Guinea"},"GP":{"name":"Guadeloupe"},"GQ":{"name":"\u00c4quatorialguinea"},"GR":{"name":"Griechenland","regions":{"943":{"code":"GR-69","name":"\u00c1gion \u00d3ros"},"930":{"code":"GR-A","name":"Anatolik\u00ed Makedon\u00eda kai Thr\u00e1ki"},"931":{"code":"GR-I","name":"Attik\u00ed"},"932":{"code":"GR-G","name":"Dytik\u00ed Ell\u00e1da"},"933":{"code":"GR-C","name":"Dytik\u00ed Makedon\u00eda"},"934":{"code":"GR-F","name":"Ion\u00eda N\u00edsia"},"935":{"code":"GR-D","name":"\u00cdpeiros"},"936":{"code":"GR-B","name":"Kentrik\u00ed Makedon\u00eda"},"937":{"code":"GR-M","name":"Kr\u00edti"},"938":{"code":"GR-L","name":"N\u00f3tio Aiga\u00edo"},"939":{"code":"GR-J","name":"Pelop\u00f3nnisos"},"940":{"code":"GR-H","name":"Stere\u00e1 Ell\u00e1da"},"941":{"code":"GR-E","name":"Thessal\u00eda"},"942":{"code":"GR-K","name":"V\u00f3reio Aiga\u00edo"}}},"GS":{"name":"S\u00fcdgeorgien und die S\u00fcdlichen Sandwichinseln"},"GT":{"name":"Guatemala"},"GU":{"name":"Guam"},"GW":{"name":"Guinea-Bissau"},"GY":{"name":"Guyana","regions":{"944":{"code":"GY-BA","name":"Barima-Waini"},"945":{"code":"GY-CU","name":"Cuyuni-Mazaruni"},"946":{"code":"GY-DE","name":"Demerara-Mahaica"},"947":{"code":"GY-EB","name":"East Berbice-Corentyne"},"948":{"code":"GY-ES","name":"Essequibo Islands-West Demerara"},"949":{"code":"GY-MA","name":"Mahaica-Berbice"},"950":{"code":"GY-PM","name":"Pomeroon-Supenaam"},"951":{"code":"GY-PT","name":"Potaro-Siparuni"},"952":{"code":"GY-UD","name":"Upper Demerara-Berbice"},"953":{"code":"GY-UT","name":"Upper Takutu-Upper Essequibo"}}},"HK":{"name":"Sonderverwaltungsregion Hongkong"},"HM":{"name":"Heard und McDonaldinseln"},"HN":{"name":"Honduras"},"HR":{"name":"Kroatien","regions":{"518":{"code":"HR-07","name":"Bjelovarsko-bilogorska \u017eupanija"},"523":{"code":"HR-12","name":"Brodsko-posavska \u017eupanija"},"530":{"code":"HR-19","name":"Dubrova\u010dko-neretvanska \u017eupanija"},"532":{"code":"HR-21","name":"Grad Zagreb"},"529":{"code":"HR-18","name":"Istarska \u017eupanija"},"515":{"code":"HR-04","name":"Karlova\u010dka \u017eupanija"},"517":{"code":"HR-06","name":"Koprivni\u010dko-kri\u017eeva\u010dka \u017eupanija"},"513":{"code":"HR-02","name":"Krapinsko-zagorska \u017eupanija"},"520":{"code":"HR-09","name":"Li\u010dko-senjska \u017eupanija"},"531":{"code":"HR-20","name":"Me\u0111imurska \u017eupanija"},"525":{"code":"HR-14","name":"Osje\u010dko-baranjska \u017eupanija"},"522":{"code":"HR-11","name":"Po\u017ee\u0161ko-slavonska \u017eupanija"},"519":{"code":"HR-08","name":"Primorsko-goranska \u017eupanija"},"526":{"code":"HR-15","name":"\u0160ibensko-kninska \u017eupanija"},"514":{"code":"HR-03","name":"Sisa\u010dko-moslava\u010dka \u017eupanija"},"528":{"code":"HR-17","name":"Splitsko-dalmatinska \u017eupanija"},"516":{"code":"HR-05","name":"Vara\u017edinska \u017eupanija"},"521":{"code":"HR-10","name":"Viroviti\u010dko-podravska \u017eupanija"},"527":{"code":"HR-16","name":"Vukovarsko-srijemska \u017eupanija"},"524":{"code":"HR-13","name":"Zadarska \u017eupanija"},"512":{"code":"HR-01","name":"Zagreba\u010dka \u017eupanija"}}},"HT":{"name":"Haiti"},"HU":{"name":"Ungarn"},"ID":{"name":"Indonesien"},"IE":{"name":"Irland"},"IL":{"name":"Israel"},"IM":{"name":"Isle of Man"},"IN":{"name":"Indien","regions":{"533":{"code":"AN","name":"Andaman and Nicobar Islands"},"534":{"code":"AP","name":"Andhra Pradesh"},"535":{"code":"AR","name":"Arunachal Pradesh"},"536":{"code":"AS","name":"Assam"},"537":{"code":"BR","name":"Bihar"},"538":{"code":"CH","name":"Chandigarh"},"539":{"code":"CT","name":"Chhattisgarh"},"540":{"code":"DN","name":"Dadra and Nagar Haveli"},"541":{"code":"DD","name":"Daman and Diu"},"542":{"code":"DL","name":"Delhi"},"543":{"code":"GA","name":"Goa"},"544":{"code":"GJ","name":"Gujarat"},"545":{"code":"HR","name":"Haryana"},"546":{"code":"HP","name":"Himachal Pradesh"},"547":{"code":"JK","name":"Jammu and Kashmir"},"548":{"code":"JH","name":"Jharkhand"},"549":{"code":"KA","name":"Karnataka"},"550":{"code":"KL","name":"Kerala"},"1156":{"code":"LA","name":"Ladakh"},"551":{"code":"LD","name":"Lakshadweep"},"552":{"code":"MP","name":"Madhya Pradesh"},"553":{"code":"MH","name":"Maharashtra"},"554":{"code":"MN","name":"Manipur"},"555":{"code":"ML","name":"Meghalaya"},"556":{"code":"MZ","name":"Mizoram"},"557":{"code":"NL","name":"Nagaland"}
2443,"558":{"code":"OR","name":"Odisha"},"559":{"code":"PY","name":"Puducherry"},"560":{"code":"PB","name":"Punjab"},"561":{"code":"RJ","name":"Rajasthan"},"562":{"code":"SK","name":"Sikkim"},"563":{"code":"TN","name":"Tamil Nadu"},"564":{"code":"TG","name":"Telangana"},"565":{"code":"TR","name":"Tripura"},"566":{"code":"UP","name":"Uttar Pradesh"},"567":{"code":"UT","name":"Uttarakhand"},"568":{"code":"WB","name":"West Bengal"}}},"IO":{"name":"Britisches Territorium im Indischen Ozean"},"IQ":{"name":"Irak"},"IR":{"name":"Iran"},"IS":{"name":"Island","regions":{"960":{"code":"IS-07","name":"Austurland"},"954":{"code":"IS-01","name":"H\u00f6fu\u00f0borgarsv\u00e6\u00f0i"},"959":{"code":"IS-06","name":"Nor\u00f0urland eystra"},"958":{"code":"IS-05","name":"Nor\u00f0urland vestra"},"961":{"code":"IS-08","name":"Su\u00f0urland"},"955":{"code":"IS-02","name":"Su\u00f0urnes"},"957":{"code":"IS-04","name":"Vestfir\u00f0ir"},"956":{"code":"IS-03","name":"Vesturland"}}},"IT":{"name":"Italien","regions":{"714":{"code":"AG","name":"Agrigento"},"715":{"code":"AL","name":"Alessandria"},"716":{"code":"AN","name":"Ancona"},"717":{"code":"AO","name":"Aosta"},"719":{"code":"AR","name":"Arezzo"},"720":{"code":"AP","name":"Ascoli-Piceno"},"721":{"code":"AT","name":"Asti"},"722":{"code":"AV","name":"Avellino"},"723":{"code":"BA","name":"Bari"},"724":{"code":"BT","name":"Barletta-Andria-Trani"},"725":{"code":"BL","name":"Belluno"},"726":{"code":"BN","name":"Benevento"},"727":{"code":"BG","name":"Bergamo"},"728":{"code":"BI","name":"Biella"},"729":{"code":"BO","name":"Bologna"},"730":{"code":"BZ","name":"Bolzano"},"731":{"code":"BS","name":"Brescia"},"732":{"code":"BR","name":"Brindisi"},"733":{"code":"CA","name":"Cagliari"},"734":{"code":"CL","name":"Caltanissetta"},"735":{"code":"CB","name":"Campobasso"},"736":{"code":"CI","name":"Carbonia Iglesias"},"737":{"code":"CE","name":"Caserta"},"738":{"code":"CT","name":"Catania"},"739":{"code":"CZ","name":"Catanzaro"},"740":{"code":"CH","name":"Chieti"},"741":{"code":"CO","name":"Como"},"742":{"code":"CS","name":"Cosenza"},"743":{"code":"CR","name":"Cremona"},"744":{"code":"KR","name":"Crotone"},"745":{"code":"CN","name":"Cuneo"},"746":{"code":"EN","name":"Enna"},"747":{"code":"FM","name":"Fermo"},"748":{"code":"FE","name":"Ferrara"},"749":{"code":"FI","name":"Firenze"},"750":{"code":"FG","name":"Foggia"},"751":{"code":"FC","name":"Forli-Cesena"},"752":{"code":"FR","name":"Frosinone"},"753":{"code":"GE","name":"Genova"},"754":{"code":"GO","name":"Gorizia"},"755":{"code":"GR","name":"Grosseto"},"756":{"code":"IM","name":"Imperia"},"757":{"code":"IS","name":"Isernia"},"718":{"code":"AQ","name":"L'Aquila"},"758":{"code":"SP","name":"La-Spezia"},"759":{"code":"LT","name":"Latina"},"760":{"code":"LE","name":"Lecce"},"761":{"code":"LC","name":"Lecco"},"762":{"code":"LI","name":"Livorno"},"763":{"code":"LO","name":"Lodi"},"764":{"code":"LU","name":"Lucca"},"765":{"code":"MC","name":"Macerata"},"766":{"code":"MN","name":"Mantova"},"767":{"code":"MS","name":"Massa-Carrara"},"768":{"code":"MT","name":"Matera"},"769":{"code":"VS","name":"Medio Campidano"},"770":{"code":"ME","name":"Messina"},"771":{"code":"MI","name":"Milano"},"772":{"code":"MO","name":"Modena"},"773":{"code":"MB","name":"Monza-Brianza"},"774":{"code":"NA","name":"Napoli"},"775":{"code":"NO","name":"Novara"},"776":{"code":"NU","name":"Nuoro"},"777":{"code":"OG","name":"Ogliastra"},"778":{"code":"OT","name":"Olbia Tempio"},"779":{"code":"OR","name":"Oristano"},"780":{"code":"PD","name":"Padova"},"781":{"code":"PA","name":"Palermo"},"782":{"code":"PR","name":"Parma"},"783":{"code":"PV","name":"Pavia"},"784":{"code":"PG","name":"Perugia"},"785":{"code":"PU","name":"Pesaro-Urbino"},"786":{"code":"PE","name":"Pescara"},"787":{"code":"PC","name":"Piacenza"},"788":{"code":"PI","name":"Pisa"},"789":{"code":"PT","name":"Pistoia"},"790":{"code":"PN","name":"Pordenone"},"791":{"code":"PZ","name":"Potenza"},"792":{"code":"PO","name":"Prato"},"793":{"code":"RG","name":"Ragusa"},"794":{"code":"RA","name":"Ravenna"},"795":{"code":"RC","name":"Reggio-Calabria"},"796":{"code":"RE","name":"Reggio-Emilia"},"797":{"code":"RI","name":"Rieti"},"798":{"code":"RN","name":"Rimini"},"799":{"code":"RM","name":"Roma"},"800":{"code":"RO","name":"Rovigo"},"801":{"code":"SA","name":"Salerno"},"802":{"code":"SS","name":"Sassari"},"803":{"code":"SV","name":"Savona"},"804":{"code":"SI","name":"Siena"},"805":{"code":"SR","name":"Siracusa"},"806":{"code":"SO","name":"Sondrio"},"807":{"code":"TA","name":"Taranto"},"808":{"code":"TE","name":"Teramo"},"809":{"code":"TR","name":"Terni"},"810":{"code":"TO","name":"Torino"},"811":{"code":"TP","name":"Trapani"},"812":{"code":"TN","name":"Trento"},"813":{"code":"TV","name":"Treviso"},"814":{"code":"TS","name":"Trieste"},"815":{"code":"UD","name":"Udine"},"816":{"code":"VA","name":"Varese"},"817":{"code":"VE","name":"Venezia"},"818":{"code":"VB","name":"Verbania"},"819":{"code":"VC","name":"Vercelli"},"820":{"code":"VR","name":"Verona"}
2443,"821":{"code":"VV","name":"Vibo-Valentia"},"822":{"code":"VI","name":"Vicenza"},"823":{"code":"VT","name":"Viterbo"}}},"JE":{"name":"Jersey"},"JM":{"name":"Jamaika"},"JO":{"name":"Jordanien"},"JP":{"name":"Japan"},"KE":{"name":"Kenia"},"KG":{"name":"Kirgisistan"},"KH":{"name":"Kambodscha"},"KI":{"name":"Kiribati"},"KM":{"name":"Komoren"},"KN":{"name":"St. Kitts und Nevis"},"KP":{"name":"Nordkorea"},"KR":{"name":"S\u00fcdkorea"},"KW":{"name":"Kuwait"},"KY":{"name":"Kaimaninseln"},"KZ":{"name":"Kasachstan"},"LA":{"name":"Laos"},"LB":{"name":"Libanon"},"LC":{"name":"St. Lucia"},"LI":{"name":"Liechtenstein"},"LK":{"name":"Sri Lanka"},"LR":{"name":"Liberia"},"LS":{"name":"Lesotho"},"LT":{"name":"Litauen","regions":{"475":{"code":"LT-AL","name":"Alytaus Apskritis"},"476":{"code":"LT-KU","name":"Kauno Apskritis"},"477":{"code":"LT-KL","name":"Klaip\u0117dos Apskritis"},"478":{"code":"LT-MR","name":"Marijampol\u0117s Apskritis"},"479":{"code":"LT-PN","name":"Panev\u0117\u017eio Apskritis"},"480":{"code":"LT-SA","name":"\u0160iauli\u0173 Apskritis"},"481":{"code":"LT-TA","name":"Taurag\u0117s Apskritis"},"482":{"code":"LT-TE","name":"Tel\u0161i\u0173 Apskritis"},"483":{"code":"LT-UT","name":"Utenos Apskritis"},"484":{"code":"LT-VL","name":"Vilniaus Apskritis"}}},"LU":{"name":"Luxemburg"},"LV":{"name":"Lettland","regions":{"471":{"code":"\u0100da\u017eu novads","name":"\u0100da\u017eu novads"},"366":{"code":"Aglonas novads","name":"Aglonas novads"},"367":{"code":"LV-AI","name":"Aizkraukles novads"},"368":{"code":"Aizputes novads","name":"Aizputes novads"},"369":{"code":"Akn\u012bstes novads","name":"Akn\u012bstes novads"},"370":{"code":"Alojas novads","name":"Alojas novads"},"371":{"code":"Alsungas novads","name":"Alsungas novads"},"372":{"code":"LV-AL","name":"Al\u016bksnes novads"},"373":{"code":"Amatas novads","name":"Amatas novads"},"374":{"code":"Apes novads","name":"Apes novads"},"375":{"code":"Auces novads","name":"Auces novads"},"376":{"code":"Bab\u012btes novads","name":"Bab\u012btes novads"},"377":{"code":"Baldones novads","name":"Baldones novads"},"378":{"code":"Baltinavas novads","name":"Baltinavas novads"},"379":{"code":"LV-BL","name":"Balvu novads"},"380":{"code":"LV-BU","name":"Bauskas novads"},"381":{"code":"Bever\u012bnas novads","name":"Bever\u012bnas novads"},"382":{"code":"Broc\u0113nu novads","name":"Broc\u0113nu novads"},"383":{"code":"Burtnieku novads","name":"Burtnieku novads"},"384":{"code":"Carnikavas novads","name":"Carnikavas novads"},"387":{"code":"LV-CE","name":"C\u0113su novads"},"385":{"code":"Cesvaines novads","name":"Cesvaines novads"},"386":{"code":"Ciblas novads","name":"Ciblas novads"},"388":{"code":"Dagdas novads","name":"Dagdas novads"},"355":{"code":"LV-DGV","name":"Daugavpils"},"389":{"code":"LV-DA","name":"Daugavpils novads"},"390":{"code":"LV-DO","name":"Dobeles novads"},"391":{"code":"Dundagas novads","name":"Dundagas novads"},"392":{"code":"Durbes novads","name":"Durbes novads"},"393":{"code":"Engures novads","name":"Engures novads"},"472":{"code":"\u0112rg\u013cu novads","name":"\u0112rg\u013cu novads"},"394":{"code":"Garkalnes novads","name":"Garkalnes novads"},"395":{"code":"Grobi\u0146as novads","name":"Grobi\u0146as novads"},"396":{"code":"LV-GU","name":"Gulbenes novads"},"397":{"code":"Iecavas novads","name":"Iecavas novads"},"398":{"code":"Ik\u0161\u0137iles novads","name":"Ik\u0161\u0137iles novads"},"399":{"code":"Il\u016bkstes novads","name":"Il\u016bkstes novads"},"400":{"code":"In\u010dukalna novads","name":"In\u010dukalna novads"},"401":{"code":"Jaunjelgavas novads","name":"Jaunjelgavas novads"},"402":{"code":"Jaunpiebalgas novads","name":"Jaunpiebalgas novads"},"403":{"code":"Jaunpils novads","name":"Jaunpils novads"},"357":{"code":"J\u0113kabpils","name":"J\u0113kabpils"},"405":{"code":"LV-JK","name":"J\u0113kabpils novads"},"356":{"code":"LV-JEL","name":"Jelgava"},"404":{"code":"LV-JL","name":"Jelgavas novads"},"358":{"code":"LV-JUR","name":"J\u016brmala"},"406":{"code":"Kandavas novads","name":"Kandavas novads"},"412":{"code":"K\u0101rsavas novads","name":"K\u0101rsavas novads"},"473":{"code":"\u0136eguma novads","name":"\u0136eguma novads"},"474":{"code":"\u0136ekavas novads","name":"\u0136ekavas novads"},"407":{"code":"Kokneses novads","name":"Kokneses novads"},"410":{"code":"LV-KR","name":"Kr\u0101slavas novads"},"408":{"code":"Krimuldas novads","name":"Krimuldas novads"},"409":{"code":"Krustpils novads","name":"Krustpils novads"},"411":{"code":"LV-KU","name":"Kuld\u012bgas novads"},"413":{"code":"Lielv\u0101rdes novads","name":"Lielv\u0101rdes novads"},"359":{"code":"LV-LPX","name":"Liep\u0101ja"},"360":{"code":"LV-LE","name":"Liep\u0101jas novads"},"417":{"code":"L\u012bgatnes novads","name":"L\u012bgatnes novads"},"414":{"code":"LV-LM","name":"Limba\u017eu novads"},"418":{"code":"L\u012bv\u0101nu novads","name":"L\u012bv\u0101nu novads"},"415":{"code":"Lub\u0101nas novads","name":"Lub\u0101nas novads"},"416":{"code":"LV-LU","name":"Ludzas novads"},"419":{"code":"LV-MA","name":"Madonas novads"},"421":{"code":"M\u0101lpils novads","name":"M\u0101lpils novads"},"422":{"code":"M\u0101rupes novads","name":"M\u0101rupes novads"},"420":{"code":"Mazsalacas novads","name":"Mazsalacas novads"},"423":{"code":"Nauk\u0161\u0113nu novads","name":"Nauk\u0161\u0113nu novads"},"424":{"code":"Neretas novads","name":"Neretas novads"},"425":{"code":"N\u012bcas novads","name":"N\u012bcas novads"},"426":{"code":"LV-OG","name":"Ogres novads"},"427":{"code":"Olaines novads","name":"Olaines novads"},"428":{"code":"Ozolnieku novads","name":"Ozolnieku novads"},"432":{"code":"P\u0101rgaujas novads","name":"P\u0101rgaujas novads"},"433":{"code":"P\u0101vilostas novads","name":"P\u0101vilostas novads"},"434":{"code":"P\u013cavi\u0146u novads","name":"P\u013cavi\u0146u novads"},"429":{"code":"LV-PR","name":"Prei\u013cu novads"},"430":{"code":"Priekules novads","name":"Priekules novads"},"431":{"code":"Prieku\u013cu novads","name":"Prieku\u013cu novads"},"435":{"code":"Raunas novads","name":"Raunas novads"},"361":{"code":"LV-REZ","name":"R\u0113zekne"},"442":{"code":"LV-RE","name":"R\u0113zeknes novads"},"436":{"code":"Riebi\u0146u novads","name":"Riebi\u0146u novads"},"362":{"code":"LV-RIX","name":"R\u012bga"},"363":{"code":"LV-RI","name":"R\u012bgas novads"},"437":{"code":"Rojas novads","name":"Rojas novads"},"438":{"code":"Ropa\u017eu novads","name":"Ropa\u017eu novads"},"439":{"code":"Rucavas novads","name":"Rucavas novads"},"440":{"code":"Rug\u0101ju novads","name":"Rug\u0101ju novads"},"443":{"code":"R\u016bjienas novads","name":"R\u016bjienas novads"},"441":{"code":"Rund\u0101les novads","name":"Rund\u0101les novads"},"444":{"code":"Salacgr\u012bvas novads","name":"Salacgr\u012bvas novads"},"445":{"code":"Salas novads","name":"Salas novads"},"446":{"code":"Salaspils novads","name":"Salaspils novads"},"447":{"code":"LV-SA","name":"Saldus novads"},"448":{"code":"Saulkrastu novads","name":"Saulkrastu novads"},"455":{"code":"S\u0113jas novads","name":"S\u0113jas novads"},"449":{"code":"Siguldas novads","name":"Siguldas novads"}
2443,"451":{"code":"Skr\u012bveru novads","name":"Skr\u012bveru novads"},"450":{"code":"Skrundas novads","name":"Skrundas novads"},"452":{"code":"Smiltenes novads","name":"Smiltenes novads"},"453":{"code":"Stopi\u0146u novads","name":"Stopi\u0146u novads"},"454":{"code":"Stren\u010du novads","name":"Stren\u010du novads"},"456":{"code":"LV-TA","name":"Talsu novads"},"458":{"code":"T\u0113rvetes novads","name":"T\u0113rvetes novads"},"457":{"code":"LV-TU","name":"Tukuma novads"},"459":{"code":"Vai\u0146odes novads","name":"Vai\u0146odes novads"},"460":{"code":"LV-VK","name":"Valkas novads"},"364":{"code":"Valmiera","name":"Valmiera"},"461":{"code":"LV-VM","name":"Valmieras novads"},"462":{"code":"Varak\u013c\u0101nu novads","name":"Varak\u013c\u0101nu novads"},"469":{"code":"V\u0101rkavas novads","name":"V\u0101rkavas novads"},"463":{"code":"Vecpiebalgas novads","name":"Vecpiebalgas novads"},"464":{"code":"Vecumnieku novads","name":"Vecumnieku novads"},"365":{"code":"LV-VEN","name":"Ventspils"},"465":{"code":"LV-VE","name":"Ventspils novads"},"466":{"code":"Vies\u012btes novads","name":"Vies\u012btes novads"},"467":{"code":"Vi\u013cakas novads","name":"Vi\u013cakas novads"},"468":{"code":"Vi\u013c\u0101nu novads","name":"Vi\u013c\u0101nu novads"},"470":{"code":"Zilupes novads","name":"Zilupes novads"}}},"LY":{"name":"Libyen"},"MA":{"name":"Marokko"},"MC":{"name":"Monaco"},"MD":{"name":"Republik Moldau"},"ME":{"name":"Montenegro"},"MF":{"name":"St. Martin"},"MG":{"name":"Madagaskar"},"MH":{"name":"Marshallinseln"},"MK":{"name":"Nordmazedonien"},"ML":{"name":"Mali"},"MM":{"name":"Myanmar"},"MN":{"name":"Mongolei"},"MO":{"name":"Sonderverwaltungsregion Macau"},"MP":{"name":"N\u00f6rdliche Marianen"},"MQ":{"name":"Martinique"},"MR":{"name":"Mauretanien"},"MS":{"name":"Montserrat"},"MT":{"name":"Malta"},"MU":{"name":"Mauritius"},"MV":{"name":"Malediven"},"MW":{"name":"Malawi"},"MX":{"name":"Mexiko","regions":{"577":{"code":"AGU","name":"Aguascalientes"},"578":{"code":"BCN","name":"Baja California"},"579":{"code":"BCS","name":"Baja California Sur"},"580":{"code":"CAM","name":"Campeche"},"581":{"code":"CHP","name":"Chiapas"},"582":{"code":"CHH","name":"Chihuahua"},"583":{"code":"CMX","name":"Ciudad de M\u00e9xico"},"584":{"code":"COA","name":"Coahuila"},"585":{"code":"COL","name":"Colima"},"586":{"code":"DUR","name":"Durango"},"587":{"code":"MEX","name":"Estado de M\u00e9xico"},"588":{"code":"GUA","name":"Guanajuato"},"589":{"code":"GRO","name":"Guerrero"},"590":{"code":"HID","name":"Hidalgo"},"591":{"code":"JAL","name":"Jalisco"},"592":{"code":"MIC","name":"Michoac\u00e1n"},"593":{"code":"MOR","name":"Morelos"},"594":{"code":"NAY","name":"Nayarit"},"595":{"code":"NLE","name":"Nuevo Le\u00f3n"},"596":{"code":"OAX","name":"Oaxaca"},"597":{"code":"PUE","name":"Puebla"},"598":{"code":"QUE","name":"Quer\u00e9taro"},"599":{"code":"ROO","name":"Quintana Roo"},"600":{"code":"SLP","name":"San Luis Potos\u00ed"},"601":{"code":"SIN","name":"Sinaloa"},"602":{"code":"SON","name":"Sonora"},"603":{"code":"TAB","name":"Tabasco"},"604":{"code":"TAM","name":"Tamaulipas"},"605":{"code":"TLA","name":"Tlaxcala"},"606":{"code":"VER","name":"Veracruz"},"607":{"code":"YUC","name":"Yucat\u00e1n"},"608":{"code":"ZAC","name":"Zacatecas"}}},"MY":{"name":"Malaysia"},"MZ":{"name":"Mosambik"},"NA":{"name":"Namibia"},"NC":{"name":"Neukaledonien"},"NE":{"name":"Niger"},"NF":{"name":"Norfolkinsel"},"NG":{"name":"Nigeria"},"NI":{"name":"Nicaragua"},"NL":{"name":"Niederlande"},"NO":{"name":"Norwegen"},"NP":{"name":"Nepal"},"NR":{"name":"Nauru"},"NU":{"name":"Niue"},"NZ":{"name":"Neuseeland"},"OM":{"name":"Oman"},"PA":{"name":"Panama"},"PE":{"name":"Peru","regions":{"981":{"code":"PE-AMA","name":"Amazonas"},"982":{"code":"PE-ANC","name":"Ancash"},"983":{"code":"PE-APU","name":"Apur\u00edmac"},"984":{"code":"PE-ARE","name":"Arequipa"},"985":{"code":"PE-AYA","name":"Ayacucho"},"986":{"code":"PE-CAJ","name":"Cajamarca"},"987":{"code":"PE-CUS","name":"Cusco"},"988":{"code":"PE-CAL","name":"El Callao"},"989":{"code":"PE-HUV","name":"Huancavelica"},"990":{"code":"PE-HUC","name":"Hu\u00e1nuco"},"991":{"code":"PE-ICA","name":"Ica"},"992":{"code":"PE-JUN","name":"Jun\u00edn"},"993":{"code":"PE-LAL","name":"La Libertad"},"994":{"code":"PE-LAM","name":"Lambayeque"},"995":{"code":"PE-LIM","name":"Lima"},"996":{"code":"PE-LOR","name":"Loreto"},"997":{"code":"PE-MDD","name":"Madre de Dios"},"998":{"code":"PE-MOQ","name":"Moquegua"}
2443,"980":{"code":"PE-LMA","name":"Municipalidad Metropolitana de Lima"},"999":{"code":"PE-PAS","name":"Pasco"},"1000":{"code":"PE-PIU","name":"Piura"},"1001":{"code":"PE-PUN","name":"Puno"},"1002":{"code":"PE-SAM","name":"San Mart\u00edn"},"1003":{"code":"PE-TAC","name":"Tacna"},"1004":{"code":"PE-TUM","name":"Tumbes"},"1005":{"code":"PE-UCA","name":"Ucayali"}}},"PF":{"name":"Franz\u00f6sisch-Polynesien"},"PG":{"name":"Papua-Neuguinea"},"PH":{"name":"Philippinen"},"PK":{"name":"Pakistan"},"PL":{"name":"Polen","regions":{"824":{"code":"PL-02","name":"dolno\u015bl\u0105skie"},"825":{"code":"PL-04","name":"kujawsko-pomorskie"},"826":{"code":"PL-06","name":"lubelskie"},"827":{"code":"PL-08","name":"lubuskie"},"830":{"code":"PL-14","name":"mazowieckie"},"829":{"code":"PL-12","name":"ma\u0142opolskie"},"831":{"code":"PL-16","name":"opolskie"},"832":{"code":"PL-18","name":"podkarpackie"},"833":{"code":"PL-20","name":"podlaskie"},"834":{"code":"PL-22","name":"pomorskie"},"835":{"code":"PL-24","name":"\u015bl\u0105skie"},"836":{"code":"PL-26","name":"\u015bwi\u0119tokrzyskie"},"837":{"code":"PL-28","name":"warmi\u0144sko-mazurskie"},"838":{"code":"PL-30","name":"wielkopolskie"},"839":{"code":"PL-32","name":"zachodniopomorskie"},"828":{"code":"PL-10","name":"\u0142\u00f3dzkie"}}},"PM":{"name":"St. Pierre und Miquelon"},"PN":{"name":"Pitcairninseln"},"PS":{"name":"Pal\u00e4stinensische Autonomiegebiete"},"PT":{"name":"Portugal","regions":{"1006":{"code":"PT-01","name":"Aveiro"},"1007":{"code":"PT-02","name":"Beja"},"1008":{"code":"PT-03","name":"Braga"},"1009":{"code":"PT-04","name":"Bragan\u00e7a"},"1010":{"code":"PT-05","name":"Castelo Branco"},"1011":{"code":"PT-06","name":"Coimbra"},"1012":{"code":"PT-07","name":"\u00c9vora"},"1013":{"code":"PT-08","name":"Faro"},"1014":{"code":"PT-09","name":"Guarda"},"1015":{"code":"PT-10","name":"Leiria"},"1016":{"code":"PT-11","name":"Lisboa"},"1017":{"code":"PT-12","name":"Portalegre"},"1018":{"code":"PT-13","name":"Porto"},"1025":{"code":"PT-30","name":"Regi\u00e3o Aut\u00f3noma da Madeira"},"1024":{"code":"PT-20","name":"Regi\u00e3o Aut\u00f3noma dos A\u00e7ores"},"1019":{"code":"PT-14","name":"Santar\u00e9m"},"1020":{"code":"PT-15","name":"Set\u00fabal"},"1021":{"code":"PT-16","name":"Viana do Castelo"},"1022":{"code":"PT-17","name":"Vila Real"},"1023":{"code":"PT-18","name":"Viseu"}}},"PW":{"name":"Palau"},"PY":{"name":"Paraguay","regions":{"963":{"code":"PY-16","name":"Alto Paraguay"},"964":{"code":"PY-10","name":"Alto Paran\u00e1"},"965":{"code":"PY-13","name":"Amambay"},"962":{"code":"PY-ASU","name":"Asunci\u00f3n"},"966":{"code":"PY-19","name":"Boquer\u00f3n"},"967":{"code":"PY-5","name":"Caaguaz\u00fa"},"968":{"code":"PY-6","name":"Caazap\u00e1"},"969":{"code":"PY-14","name":"Canindey\u00fa"},"970":{"code":"PY-11","name":"Central"},"971":{"code":"PY-1","name":"Concepci\u00f3n"},"972":{"code":"PY-3","name":"Cordillera"},"973":{"code":"PY-4","name":"Guair\u00e1"},"974":{"code":"PY-7","name":"Itap\u00faa"},"975":{"code":"PY-8","name":"Misiones"},"976":{"code":"PY-12","name":"\u00d1eembuc\u00fa"},"977":{"code":"PY-9","name":"Paraguar\u00ed"},"978":{"code":"PY-15","name":"Presidente Hayes"},"979":{"code":"PY-2","name":"San Pedro"}}},"QA":{"name":"Katar"},"RE":{"name":"R\u00e9union"},"RO":{"name":"Rum\u00e4nien","regions":{"278":{"code":"AB","name":"Alba"},"279":{"code":"AR","name":"Arad"},"280":{"code":"AG","name":"Arge\u015f"},"281":{"code":"BC","name":"Bac\u0103u"},"282":{"code":"BH","name":"Bihor"},"283":{"code":"BN","name":"Bistri\u0163a-N\u0103s\u0103ud"},"284":{"code":"BT","name":"Boto\u015fani"},"286":{"code":"BR","name":"Br\u0103ila"},"285":{"code":"BV","name":"Bra\u015fov"},"287":{"code":"B","name":"Bucure\u015fti"},"288":{"code":"BZ","name":"Buz\u0103u"},"290":{"code":"CL","name":"C\u0103l\u0103ra\u015fi"},"289":{"code":"CS","name":"Cara\u015f-Severin"},"291":{"code":"CJ","name":"Cluj"},"292":{"code":"CT","name":"Constan\u0163a"},"293":{"code":"CV","name":"Covasna"},"294":{"code":"DB","name":"D\u00e2mbovi\u0163a"},"295":{"code":"DJ","name":"Dolj"},"296":{"code":"GL","name":"Gala\u0163i"},"297":{"code":"GR","name":"Giurgiu"},"298":{"code":"GJ","name":"Gorj"},"299":{"code":"HR","name":"Harghita"},"300":{"code":"HD","name":"Hunedoara"},"301":{"code":"IL","name":"Ialomi\u0163a"},"302":{"code":"IS","name":"Ia\u015fi"},"303":{"code":"IF","name":"Ilfov"},"304":{"code":"MM","name":"Maramure\u015f"},"305":{"code":"MH","name":"Mehedin\u0163i"},"306":{"code":"MS","name":"Mure\u015f"},"307":{"code":"NT","name":"Neam\u0163"},"308":{"code":"OT","name":"Olt"},"309":{"code":"PH","name":"Prahova"},"311":{"code":"SJ","name":"S\u0103laj"},"310":{"code":"SM","name":"Satu-Mare"},"312":{"code":"SB","name":"Sibiu"},"313":{"code":"SV","name":"Suceava"},"314":{"code":"TR","name":"Teleorman"},"315":{"code":"TM","name":"Timi\u015f"},"316":{"code":"TL","name":"Tulcea"},"318":{"code":"VL","name":"V\u00e2lcea"},"317":{"code":"VS","name":"Vaslui"},"319":{"code":"VN","name":"Vrancea"}}},"RS":{"name":"Serbien"},"RU":{"name":"Russland"},"RW":{"name":"Ruanda"},"SA":{"name":"Saudi-Arabien"},"SB":{"name":"Salomonen"},"SC":{"name":"Seychellen"},"SD":{"name":"Sudan"},"SE":{"name":"Schweden","regions":{"1036":{"code":"SE-K","name":"Blekinge l\u00e4n"}
2443,"1037":{"code":"SE-W","name":"Dalarnas l\u00e4n"},"1039":{"code":"SE-X","name":"G\u00e4vleborgs l\u00e4n"},"1038":{"code":"SE-I","name":"Gotlands l\u00e4n"},"1040":{"code":"SE-N","name":"Hallands l\u00e4n"},"1041":{"code":"SE-Z","name":"J\u00e4mtlands l\u00e4n"},"1042":{"code":"SE-F","name":"J\u00f6nk\u00f6pings l\u00e4n"},"1043":{"code":"SE-H","name":"Kalmar l\u00e4n"},"1044":{"code":"SE-G","name":"Kronobergs l\u00e4n"},"1045":{"code":"SE-BD","name":"Norrbottens l\u00e4n"},"1055":{"code":"SE-T","name":"\u00d6rebro l\u00e4n"},"1056":{"code":"SE-E","name":"\u00d6sterg\u00f6tlands l\u00e4n"},"1046":{"code":"SE-M","name":"Sk\u00e5ne l\u00e4n"},"1048":{"code":"SE-D","name":"S\u00f6dermanlands l\u00e4n"},"1047":{"code":"SE-AB","name":"Stockholms l\u00e4n"},"1049":{"code":"SE-C","name":"Uppsala l\u00e4n"},"1050":{"code":"SE-S","name":"V\u00e4rmlands l\u00e4n"},"1051":{"code":"SE-AC","name":"V\u00e4sterbottens l\u00e4n"},"1052":{"code":"SE-Y","name":"V\u00e4sternorrlands l\u00e4n"},"1053":{"code":"SE-U","name":"V\u00e4stmanlands l\u00e4n"},"1054":{"code":"SE-O","name":"V\u00e4stra G\u00f6talands l\u00e4n"}}},"SG":{"name":"Singapur"},"SH":{"name":"St. Helena"},"SI":{"name":"Slowenien"},"SJ":{"name":"Spitzbergen und Jan Mayen"},"SK":{"name":"Slowakei"},"SL":{"name":"Sierra Leone"},"SM":{"name":"San Marino"},"SN":{"name":"Senegal"},"SO":{"name":"Somalia"},"SR":{"name":"Suriname","regions":{"1026":{"code":"SR-BR","name":"Brokopondo"},"1027":{"code":"SR-CM","name":"Commewijne"},"1028":{"code":"SR-CR","name":"Coronie"},"1029":{"code":"SR-MA","name":"Marowijne"},"1030":{"code":"SR-NI","name":"Nickerie"},"1031":{"code":"SR-PR","name":"Para"},"1032":{"code":"SR-PM","name":"Paramaribo"},"1033":{"code":"SR-SA","name":"Saramacca"},"1034":{"code":"SR-SI","name":"Sipaliwini"},"1035":{"code":"SR-WA","name":"Wanica"}}},"ST":{"name":"S\u00e3o Tom\u00e9 und Pr\u00edncipe"},"SV":{"name":"El Salvador"},"SX":{"name":"Sint Maarten"},"SY":{"name":"Syrien"},"SZ":{"name":"Eswatini"},"TC":{"name":"Turks- und Caicosinseln"},"TD":{"name":"Tschad"},"TF":{"name":"Franz\u00f6sische S\u00fcd- und Antarktisgebiete"},"TG":{"name":"Togo"},"TH":{"name":"Thailand"},"TJ":{"name":"Tadschikistan"},"TK":{"name":"Tokelau"},"TL":{"name":"Timor-Leste"},"TM":{"name":"Turkmenistan"},"TN":{"name":"Tunesien"},"TO":{"name":"Tonga"},"TR":{"name":"T\u00fcrkei"},"TT":{"name":"Trinidad und Tobago"},"TV":{"name":"Tuvalu"},"TW":{"name":"Taiwan"},"TZ":{"name":"Tansania"},"UA":{"name":"Ukraine","regions":{"1153":{"code":"UA-43","name":"Avtonomna Respublika Krym"},"1129":{"code":"UA-71","name":"Cherkaska oblast"},"1130":{"code":"UA-74","name":"Chernihivska oblast"},"1131":{"code":"UA-77","name":"Chernivetska oblast"},"1132":{"code":"UA-12","name":"Dnipropetrovska oblast"},"1133":{"code":"UA-14","name":"Donetska oblast"},"1134":{"code":"UA-26","name":"Ivano-Frankivska oblast"},"1135":{"code":"UA-63","name":"Kharkivska oblast"},"1136":{"code":"UA-65","name":"Khersonska oblast"},"1137":{"code":"UA-68","name":"Khmelnytska oblast"},"1138":{"code":"UA-35","name":"Kirovohradska oblast"},"1154":{"code":"UA-30","name":"Kyiv"},"1139":{"code":"UA-32","name":"Kyivska oblast"},"1140":{"code":"UA-09","name":"Luhanska oblast"},"1141":{"code":"UA-46","name":"Lvivska oblast"},"1142":{"code":"UA-48","name":"Mykolaivska oblast"},"1143":{"code":"UA-51","name":"Odeska oblast"},"1144":{"code":"UA-53","name":"Poltavska oblast"},"1145":{"code":"UA-56","name":"Rivnenska oblast"},"1155":{"code":"UA-40","name":"Sevastopol"},"1146":{"code":"UA-59","name":"Sumska oblast"},"1147":{"code":"UA-61","name":"Ternopilska oblast"},"1148":{"code":"UA-05","name":"Vinnytska oblast"},"1149":{"code":"UA-07","name":"Volynska oblast"},"1150":{"code":"UA-21","name":"Zakarpatska oblast"},"1151":{"code":"UA-23","name":"Zaporizka oblast"},"1152":{"code":"UA-18","name":"Zhytomyrska oblast"}}},"UG":{"name":"Uganda"},"UM":{"name":"Amerikanische \u00dcberseeinseln"},"US":{"name":"Vereinigte Staaten","regions":{"1":{"code":"AL","name":"Alabama"},"2":{"code":"AK","name":"Alaska"},"3":{"code":"AS","name":"American Samoa"},"4":{"code":"AZ","name":"Arizona"},"5":{"code":"AR","name":"Arkansas"},"6":{"code":"AE","name":"Armed Forces Africa"},"7":{"code":"AA","name":"Armed Forces Americas"},"8":{"code":"AE","name":"Armed Forces Canada"},"9":{"code":"AE","name":"Armed Forces Europe"},"10":{"code":"AE","name":"Armed Forces Middle East"},"11":{"code":"AP","name":"Armed Forces Pacific"},"12":{"code":"CA","name":"California"},"13":{"code":"CO","name":"Colorado"},"14":{"code":"CT","name":"Connecticut"},"15":{"code":"DE","name":"Delaware"},"16":{"code":"DC","name":"District of Columbia"},"17":{"code":"FM","name":"Federated States Of Micronesia"}
2443,"18":{"code":"FL","name":"Florida"},"19":{"code":"GA","name":"Georgia"},"20":{"code":"GU","name":"Guam"},"21":{"code":"HI","name":"Hawaii"},"22":{"code":"ID","name":"Idaho"},"23":{"code":"IL","name":"Illinois"},"24":{"code":"IN","name":"Indiana"},"25":{"code":"IA","name":"Iowa"},"26":{"code":"KS","name":"Kansas"},"27":{"code":"KY","name":"Kentucky"},"28":{"code":"LA","name":"Louisiana"},"29":{"code":"ME","name":"Maine"},"30":{"code":"MH","name":"Marshall Islands"},"31":{"code":"MD","name":"Maryland"},"32":{"code":"MA","name":"Massachusetts"},"33":{"code":"MI","name":"Michigan"},"34":{"code":"MN","name":"Minnesota"},"35":{"code":"MS","name":"Mississippi"},"36":{"code":"MO","name":"Missouri"},"37":{"code":"MT","name":"Montana"},"38":{"code":"NE","name":"Nebraska"},"39":{"code":"NV","name":"Nevada"},"40":{"code":"NH","name":"New Hampshire"},"41":{"code":"NJ","name":"New Jersey"},"42":{"code":"NM","name":"New Mexico"},"43":{"code":"NY","name":"New York"},"44":{"code":"NC","name":"North Carolina"},"45":{"code":"ND","name":"North Dakota"},"46":{"code":"MP","name":"Northern Mariana Islands"},"47":{"code":"OH","name":"Ohio"},"48":{"code":"OK","name":"Oklahoma"},"49":{"code":"OR","name":"Oregon"},"50":{"code":"PW","name":"Palau"},"51":{"code":"PA","name":"Pennsylvania"},"52":{"code":"PR","name":"Puerto Rico"},"53":{"code":"RI","name":"Rhode Island"},"54":{"code":"SC","name":"South Carolina"},"55":{"code":"SD","name":"South Dakota"},"56":{"code":"TN","name":"Tennessee"},"57":{"code":"TX","name":"Texas"},"58":{"code":"UT","name":"Utah"},"59":{"code":"VT","name":"Vermont"},"60":{"code":"VI","name":"Virgin Islands"},"61":{"code":"VA","name":"Virginia"},"62":{"code":"WA","name":"Washington"},"63":{"code":"WV","name":"West Virginia"},"64":{"code":"WI","name":"Wisconsin"},"65":{"code":"WY","name":"Wyoming"}}},"UY":{"name":"Uruguay","regions":{"1057":{"code":"UY-AR","name":"Artigas"},"1058":{"code":"UY-CA","name":"Canelones"},"1059":{"code":"UY-CL","name":"Cerro Largo"},"1060":{"code":"UY-CO","name":"Colonia"},"1061":{"code":"UY-DU","name":"Durazno"},"1062":{"code":"UY-FS","name":"Flores"},"1063":{"code":"UY-FD","name":"Florida"},"1064":{"code":"UY-LA","name":"Lavalleja"},"1065":{"code":"UY-MA","name":"Maldonado"},"1066":{"code":"UY-MO","name":"Montevideo"},"1067":{"code":"UY-PA","name":"Paysandu"},"1068":{"code":"UY-RN","name":"R\u00edo Negro"},"1069":{"code":"UY-RV","name":"Rivera"},"1070":{"code":"UY-RO","name":"Rocha"},"1071":{"code":"UY-SA","name":"Salto"},"1072":{"code":"UY-SJ","name":"San Jos\u00e9"},"1073":{"code":"UY-SO","name":"Soriano"},"1074":{"code":"UY-TA","name":"Tacuaremb\u00f3"},"1075":{"code":"UY-TT","name":"Treinta y Tres"}}},"UZ":{"name":"Usbekistan"},"VA":{"name":"Vatikanstadt"},"VC":{"name":"St. Vincent und die Grenadinen"},"VE":{"name":"Venezuela","regions":{"1078":{"code":"VE-Z","name":"Amazonas"},"1079":{"code":"VE-B","name":"Anzo\u00e1tegui"},"1080":{"code":"VE-C","name":"Apure"},"1081":{"code":"VE-D","name":"Aragua"},"1082":{"code":"VE-E","name":"Barinas"},"1083":{"code":"VE-F","name":"Bol\u00edvar"},"1084":{"code":"VE-G","name":"Carabobo"},"1085":{"code":"VE-H","name":"Cojedes"},"1086":{"code":"VE-Y","name":"Delta Amacuro"},"1076":{"code":"VE-W","name":"Dependencias Federales"},"1077":{"code":"VE-A","name":"Distrito Capital"},"1087":{"code":"VE-I","name":"Falc\u00f3n"},"1088":{"code":"VE-J","name":"Gu\u00e1rico"},"1089":{"code":"VE-K","name":"Lara"},"1090":{"code":"VE-L","name":"M\u00e9rida"},"1091":{"code":"VE-M","name":"Miranda"},"1092":{"code":"VE-N","name":"Monagas"},"1093":{"code":"VE-O","name":"Nueva Esparta"},"1094":{"code":"VE-P","name":"Portuguesa"},"1095":{"code":"VE-R","name":"Sucre"},"1096":{"code":"VE-S","name":"T\u00e1chira"},"1097":{"code":"VE-T","name":"Trujillo"},"1098":{"code":"VE-X","name":"Vargas"},"1099":{"code":"VE-U","name":"Yaracuy"},"1100":{"code":"VE-V","name":"Zulia"}}},"VG":{"name":"Britische Jungferninseln"},"VI":{"name":"Amerikanische Jungferninseln"},"VN":{"name":"Vietnam"},"VU":{"name":"Vanuatu"},"WF":{"name":"Wallis und Futuna"},"WS":{"name":"Samoa"},"XK":{"name":"Kosovo"},"YE":{"name":"Jemen"},"YT":{"name":"Mayotte"},"ZA":{"name":"S\u00fcdafrika"},"ZM":{"name":"Sambia"},"ZW":{"name":"Simbabwe"},"data_id":1791442989},"captcha":[],"instant-purchase":[],"loggedAsCustomer":[],"persistent":[],"review":[],"payments":[],"wishlist":{"items":[]},"ammessages":[],"dnovo-customer-data":[],"hyva_checkout":[],"hyva_commerce_messages":[],"partial_delivery":[],"multisafepay-payment-request":[],"site-data":[],"customer_usps":[],"gtm-checkout":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[],"paypal-buyer-country":[]}</script>
vendor: 1 bytes, line 2443
2443
2444<script> 2445 window.processSectionDataBeforeDispatch && (window.processSectionDataBeforeDispatch = new Proxy(window.processSectionDataBeforeDispatch, { 2446 apply(target, thisArg, [data]) { 2447 data.hyva_commerce_messages = data.hyva_commerce_messages || {}; 2448 return target.call(thisArg, data); 2449 } 2450 })); 2451</script>
2451 2452</div><div class="addtocart-popup-wrapper" data-bind='scope: "addtocart-popup"'> 2453 <div class="addtocart-popup" style="display: none" data-bind='visible: visible'> 2454 <!-- ko template: "Dnovo_AddtocartPopup/addtocart-popup-before" --><!-- /ko --> 2455 <!-- ko template: "Dnovo_AddtocartPopup/addtocart-popup" --><!-- /ko --> 2456 <!-- ko template: "Dnovo_AddtocartPopup/addtocart-popup-after" --><!-- /ko --> 2457 </div> 2458 <div class="addtocart-popup-backdrop" style="display: none" data-bind="click: function () { visible(!visible()) }, visible: visible"></div> 2459</div>
2460<script type="text/x-magento-init"> 2461 { 2462 "*": { 2463 "Magento_Ui/js/core/app": { 2464 "components": { 2465 "addtocart-popup": { 2466 "component": "Dnovo_AddtocartPopup/js/addtocart-popup" 2467 } 2468 } 2469 } 2470 } 2471 } 2472</script>
vendor: 1 bytes, line 2472
2472
2473<script nonce="dWdnc21hMXp1MzJobjh5eTlld3Q1Zjh5NmswdGFjdG8="> 2474 yireoGoogleTagManager2Pusher({"version":"3.10.7","page_type":"customer\/account\/login","page_path":"https:\/\/www.haibu.de\/customer\/account\/login\/","page_title":"Kundenanmeldung","virtual_page":"\/customer\/account\/login","breadcrumb":[],"user":{"has_transacted":false},"0":{"currency_code":"EUR"}}, 'push (initial page) [data-layer.phtml]'); 2475 yireoGoogleTagManager2Pusher({"currency_code":"EUR"}, 'push (page-based event) [data-layer.phtml]'); 2476 </script>
vendor: 1 bytes, line 2476
2476
2477<script nonce="dWdnc21hMXp1MzJobjh5eTlld3Q1Zjh5NmswdGFjdG8="> 2478 function yireoGoogleTagManager2FindParentElementWithName(element, parentTagName) { 2479 if (!element.parentElement) { 2480 return null; 2481 } 2482 2483 if (element.parentElement.tagName.toLowerCase() === parentTagName) { 2484 return element.parentElement; 2485 } 2486 2487 return yireoGoogleTagManager2FindParentElementWithName(element.parentElement, parentTagName); 2488 } 2489 2490 const products = document.querySelectorAll('.products\u0020a.product,\u0020.products\u0020a.product\u002Ditem\u002Dlink,\u0020.card\u0020a.product\u002Ditem\u002Dlink,\u0020.card\u0020a.product\u002Ditem\u002Dphoto,\u0020.card\u0020a.btn\u002Dprimary'); 2491 if (products && products.length > 0) { 2492 products.forEach(function(product) { 2493 product.addEventListener('click', function(event, s) { 2494 let parentElement = yireoGoogleTagManager2FindParentElementWithName(event.target, 'form'); 2495 if (!parentElement) { 2496 return; 2497 } 2498 2499 const inputElement = parentElement.querySelector('input[name="product"]'); 2500 const productId = inputElement.value; 2501 const productData = window['YIREO_GOOGLETAGMANAGER2_PRODUCT_DATA_ID_' + productId] || {}; 2502 productData.item_id = productId; 2503 2504 const eventData = { 2505 'event': 'select_item', 2506 'ecommerce': { 2507 'items': [productData] 2508 } 2509 } 2510 2511 yireoGoogleTagManager2Pusher(eventData, 'push (page event "select_item") [script-product-clicks.phtml]'); 2512 2513 if (window['YIREO_GOOGLETAGMANAGER2_DEBUG_CLICKS'] && confirm("Press to continue with redirect") === false) { 2514 event.preventDefault(); 2515 } 2516 }); 2517 }) 2518 } 2519</script>
vendor: 1 bytes, line 2519
2519
2520<script nonce="dWdnc21hMXp1MzJobjh5eTlld3Q1Zjh5NmswdGFjdG8="> 2521 window.addEventListener('private-content-loaded', function(event) { 2522 window.dataLayer = window.dataLayer || []; 2523 2524 var isEmpty = function (variable) { 2525 if (typeof variable === 'undefined') { 2526 return true; 2527 } 2528 2529 if (Array.isArray(variable) && variable.length === 0) { 2530 return true; 2531 } 2532 2533 return typeof variable === 'object' && Object.keys(variable).length === 0; 2534 } 2535 2536 var getSectionNames = function () { 2537 return ['cart', 'customer']; 2538 } 2539 2540 getSectionNames().forEach(function (sectionName) { 2541 if (!event.detail.data[sectionName].gtm) { 2542 return; 2543 } 2544 2545 const attributes = event.detail.data[sectionName].gtm; 2546 if (!Object.keys(attributes).length > 0) { 2547 return; 2548 } 2549 2550 yireoGoogleTagManager2Pusher(attributes, 'push (attributes) [script-additions.phtml]'); 2551 }); 2552 2553 let attributes = {}; 2554 getSectionNames().forEach(function (sectionName) { 2555 if (!event.detail.data[sectionName].gtm_events) { 2556 return; 2557 } 2558 2559 const gtmEvents = event.detail.data[sectionName].gtm_events; 2560 for (const [eventId, eventData] of Object.entries(gtmEvents)) { 2561 yireoGoogleTagManager2Logger('found event in section "' + sectionName + '"', eventData); 2562 2563 const metaData = eventData.meta; 2564 yireoGoogleTagManager2Pusher(eventData, 'push (customerData "' + sectionName + '" event "' + eventId + '")'); 2565 2566 if (!metaData || metaData.cacheable !== true) { 2567 yireoGoogleTagManager2Logger('removing event "' + eventId + '" from section "' + sectionName + '"') 2568 2569 let mageCacheStorage = event.detail.data; 2570 2571 if (mageCacheStorage !== null 2572 && typeof mageCacheStorage[sectionName] !== 'undefined' 2573 && typeof mageCacheStorage[sectionName].gtm_events !== 'undefined' 2574 && eventId in mageCacheStorage[sectionName].gtm_events) { 2575 delete mageCacheStorage[sectionName].gtm_events[eventId]; 2576 } 2577 2578 window.localStorage.setItem('mage-cache-storage', JSON.stringify(mageCacheStorage)); 2579 } 2580 } 2581 }); 2582 2583 if (false === isEmpty(attributes)) { 2584 yireoGoogleTagManager2Pusher(attributes, 'dataLayer (initial js) [script-additions.phtml]'); 2585 } 2586 }); 2587 2588 window.addEventListener('toggle-cart', (event) => { 2589 if (!event.detail || !event.detail.isOpen) { 2590 return; 2591 } 2592 2593 window.dispatchEvent(new CustomEvent('minicart_collapse')); 2594 }); 2595</script>
vendor: 1 bytes, line 2595
2595
2596<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"7e6ebfcf6442404392acc2e74b2b3720","r":1,"spa":2}' crossorigin="anonymous"></script>
2596 2597</body> 2598</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.